A gstreamermm init example.
#include <gstreamermm.h>
#include <glibmm/optioncontext.h>
class MainOptionGroup : public Glib::OptionGroup
{
public:
MainOptionGroup();
};
MainOptionGroup::MainOptionGroup()
: Glib::OptionGroup("main_group", "main group"),
{
Glib::OptionEntry entry1;
entry1.set_long_name("version");
entry1.set_short_name('v');
entry1.set_description("Show gstreamer version");
}
static void print_gstreamer_version()
{
guint major, minor, micro, nano;
switch (nano) {
case 1: nano_str = "(CSV)"; break;
case 2: nano_str = "(Prerelease)"; break;
}
std::cout <<
"This program is linked against GStreamer " << major << "." << minor << "." << micro << "."
}
int main (int argc, char *argv[])
{
Glib::OptionContext context("- gstreamermm init example");
MainOptionGroup main_group;
context.set_main_group(main_group);
context.add_group(gst_group);
try
{
context.parse(argc, argv);
}
catch (const Glib::Error& ex)
{
std::cerr <<
"Failed to initialize: " << ex.what() <<
std::endl;
return 1;
}
if (main_group.version)
{
print_gstreamer_version();
}
std::cout <<
"Run me with --help to see the Application options appended." <<
std::endl;
return 0;
}