From a51ce46d907d960c0dfc011cbdfb47eb9606fee5 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Mon, 27 Feb 2012 13:05:33 +0100 Subject: [PATCH] flacenc: fix event handling Fix dodgy segment event handling Chain up to parent event handler --- ext/flac/gstflacenc.c | 38 +++----------------------------------- 1 file changed, 3 insertions(+), 35 deletions(-) diff --git a/ext/flac/gstflacenc.c b/ext/flac/gstflacenc.c index 41d149296f..c63f7a8b6c 100644 --- a/ext/flac/gstflacenc.c +++ b/ext/flac/gstflacenc.c @@ -1101,43 +1101,9 @@ gst_flac_enc_sink_event (GstAudioEncoder * enc, GstEvent * event) GST_DEBUG ("Received %s event on sinkpad", GST_EVENT_TYPE_NAME (event)); switch (GST_EVENT_TYPE (event)) { - case GST_EVENT_SEGMENT:{ - GstSegment seg; - gint64 start, stream_time; - - if (flacenc->offset == 0) { - gst_event_copy_segment (event, &seg); - start = seg.start; - stream_time = seg.time; - } else { - start = -1; - stream_time = -1; - } - - if (start > 0) { - if (flacenc->offset > 0) - GST_DEBUG ("Not handling mid-stream newsegment event"); - else - GST_DEBUG ("Not handling newsegment event with non-zero start"); - } else { - GstEvent *e; - - gst_segment_init (&seg, GST_FORMAT_BYTES); - e = gst_event_new_segment (&seg); - ret = gst_pad_push_event (GST_AUDIO_ENCODER_SRC_PAD (enc), e); - } - - if (stream_time > 0) { - GST_DEBUG ("Not handling non-zero stream time"); - } - - /* don't push it downstream, we'll generate our own via seek to 0 */ - gst_event_unref (event); - ret = TRUE; - break; - } case GST_EVENT_EOS: flacenc->eos = TRUE; + ret = GST_AUDIO_ENCODER_CLASS (parent_class)->event (enc, event); break; case GST_EVENT_TAG: if (flacenc->tags) { @@ -1147,8 +1113,10 @@ gst_flac_enc_sink_event (GstAudioEncoder * enc, GstEvent * event) } else { g_assert_not_reached (); } + ret = GST_AUDIO_ENCODER_CLASS (parent_class)->event (enc, event); break; default: + ret = GST_AUDIO_ENCODER_CLASS (parent_class)->event (enc, event); break; }