From 4960f385cfc5bf313a4e2d57fe1703bd970a767b Mon Sep 17 00:00:00 2001 From: Seungha Yang Date: Tue, 12 Nov 2019 21:15:38 +0900 Subject: [PATCH] examples: overlaycomposition: Add option for videosink element selection It would be useful for testing overlaycomposition with specific videosink element. --- .../overlaycomposition/overlaycomposition.c | 25 +++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) 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"); -- 2.7.4