The error you offer, error: expected initializer before ‘namespace’ suggests that there is a structure or variable declaration that isn’t terminated. Something like:
struct foo {
...
}
namespace video {
...
Here, the ‘struct foo’ declaration isn’t terminated with a semicolon. This should read:
struct foo {
...
};
namespace video {
...
Getting the preprocessor involved (using #include) makes this type of thing a bit harder to track down. It may be that you include a header (just before making the namespace video declaration) that doesn’t terminate a structure definition, for example.
Go and check that all of your structs and classes have a semicolon after the closing curly brace in your headers and source files. Similarly any variable declarations, e.g.
int value // <-- oops, forgot the ';'
namespace video {
...