From b006ba7afeae74a5512731de3f855a32f9769732 Mon Sep 17 00:00:00 2001 From: Zaheer Abbas Merali Date: Sat, 9 Feb 2008 10:41:36 +0000 Subject: [PATCH] gst/playback/gstplaybasebin.c: Set is_dynamic as True if there are elements with both request and sometimes src pad t... Original commit message from CVS: * gst/playback/gstplaybasebin.c: Set is_dynamic as True if there are elements with both request and sometimes src pad templates instead of breaking out when it finds the first pad template that is a src. --- ChangeLog | 7 +++++++ gst/playback/gstplaybasebin.c | 8 ++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index ace703fd56..fb2a9f0fd3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-02-09 Zaheer Abbas Merali + + * gst/playback/gstplaybasebin.c: + Set is_dynamic as True if there are elements with both request + and sometimes src pad templates instead of breaking out when it + finds the first pad template that is a src. + 2008-02-08 Wim Taymans * tests/examples/seek/seek.c: (stop_cb), (clear_streams), diff --git a/gst/playback/gstplaybasebin.c b/gst/playback/gstplaybasebin.c index 4620feb5fd..8098bca737 100644 --- a/gst/playback/gstplaybasebin.c +++ b/gst/playback/gstplaybasebin.c @@ -1907,9 +1907,13 @@ analyse_source (GstPlayBaseBin * play_base_bin, gboolean * is_raw, templ = (GstPadTemplate *) walk->data; if (GST_PAD_TEMPLATE_DIRECTION (templ) == GST_PAD_SRC) { - if (GST_PAD_TEMPLATE_PRESENCE (templ) == GST_PAD_SOMETIMES) + if (GST_PAD_TEMPLATE_PRESENCE (templ) == GST_PAD_SOMETIMES) { *is_dynamic = TRUE; - break; + break; /* only break out if we found a sometimes src pad + continue walking through if say a request src pad is found + elements such as mpegtsparse and dvbbasebin have request + and sometimes src pads */ + } } walk = g_list_next (walk); }