summaryrefslogtreecommitdiff
path: root/ext/kate
diff options
context:
space:
mode:
authorThiago Santos <ts.santos@sisa.samsung.com>2014-07-15 16:42:57 -0300
committerThiago Santos <ts.santos@sisa.samsung.com>2014-07-21 12:36:19 -0300
commite26e112e80c4d3462d98421a2c9fe144215234f2 (patch)
tree23ba6bf2d67d4b19c6b9a28096cba288fdd8d10a /ext/kate
parentb0e63bbb9bde4fe5c53db23ae7539c43f1e5f549 (diff)
downloadgstreamer-plugins-bad-e26e112e80c4d3462d98421a2c9fe144215234f2.tar.gz
katedec: handle segment event earlier
Delaying the segment event to when caps are decided can cause issues as the first thing katedec does on its chain function it doing a segment clip. It will lead to an assertion if the segment format is undefined https://bugzilla.gnome.org/show_bug.cgi?id=733226
Diffstat (limited to 'ext/kate')
-rw-r--r--ext/kate/gstkatedec.c1
-rw-r--r--ext/kate/gstkateutil.c4
2 files changed, 4 insertions, 1 deletions
diff --git a/ext/kate/gstkatedec.c b/ext/kate/gstkatedec.c
index e93d1820e..8748498e0 100644
--- a/ext/kate/gstkatedec.c
+++ b/ext/kate/gstkatedec.c
@@ -499,7 +499,6 @@ gst_kate_dec_sink_handle_event (GstPad * pad, GstObject * parent,
switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_SEGMENT:
- gst_kate_util_decoder_base_segment_event (&kd->decoder, event);
break;
case GST_EVENT_FLUSH_START:
diff --git a/ext/kate/gstkateutil.c b/ext/kate/gstkateutil.c
index e5b519b24..93777ab58 100644
--- a/ext/kate/gstkateutil.c
+++ b/ext/kate/gstkateutil.c
@@ -153,6 +153,10 @@ gst_kate_util_decoder_base_queue_event (GstKateDecoderBase * decoder,
case GST_EVENT_EOS:
can_be_queued = FALSE;
break;
+ case GST_EVENT_SEGMENT:
+ gst_kate_util_decoder_base_segment_event (decoder, event);
+ can_be_queued = TRUE;
+ break;
default:
can_be_queued = TRUE;
break;