From: Seungha Yang Date: Tue, 12 Nov 2019 12:15:38 +0000 (+0900) Subject: examples: overlaycomposition: Add option for videosink element selection X-Git-Tag: 1.19.3~511^2~866 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4960f385cfc5bf313a4e2d57fe1703bd970a767b;p=platform%2Fupstream%2Fgstreamer.git examples: overlaycomposition: Add option for videosink element selection It would be useful for testing overlaycomposition with specific videosink element. --- diff --git a/tests/examples/overlaycomposition/overlaycomposition.c b/tests/examples/overlaycomposition/overlaycomposition.c index 0fd38b7..ce0929e 100644 --- a/tests/examples/overlaycomposition/overlaycomposition.c +++ b/tests/examples/overlaycomposition/overlaycomposition.c @@ -254,15 +254,34 @@ main (int argc, char **argv) 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");