GstBus *bus;
GstCaps *filter_caps;
OverlayState overlay_state = { 0, };
-
- gst_init (&argc, &argv);
+ GOptionContext *option_ctx;
+ GError *error = NULL;
+ const gchar *video_sink = "autovidesink";
+ gboolean ret;
+ GOptionEntry options[] = {
+ {"videosink", 0, 0, G_OPTION_ARG_STRING, &video_sink,
+ "Video sink element to use (default is autovideosink)", NULL},
+ {NULL}
+ };
+
+ option_ctx = g_option_context_new ("- test overlaycomposition");
+ g_option_context_add_main_entries (option_ctx, options, NULL);
+ g_option_context_add_group (option_ctx, gst_init_get_option_group ());
+ ret = g_option_context_parse (option_ctx, &argc, &argv, &error);
+ g_option_context_free (option_ctx);
+
+ if (!ret) {
+ g_printerr ("option parsing failed: %s\n", error->message);
+ g_clear_error (&error);
+ exit (1);
+ }
pipeline = gst_pipeline_new (NULL);
src = gst_element_factory_make ("videotestsrc", NULL);
capsfilter = gst_element_factory_make ("capsfilter", NULL);
overlay = gst_element_factory_make ("overlaycomposition", NULL);
conv = gst_element_factory_make ("videoconvert", NULL);
- sink = gst_element_factory_make ("autovideosink", NULL);
+ sink = gst_element_factory_make (video_sink, NULL);
if (!pipeline || !src || !capsfilter || !overlay || !conv || !sink) {
g_error ("Failed to create elements");