mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-31 11:32:38 +00:00
Push EOS, FLUSH_STOP and NEWSEGMENT immediately instead of dropping and leaking them.
Original commit message from CVS: * ext/mad/gstmad.c: (gst_mad_sink_event): * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_sink_event): Push EOS, FLUSH_STOP and NEWSEGMENT immediately instead of dropping and leaking them.
This commit is contained in:
parent
b6529e9d60
commit
71f6199a90
3 changed files with 15 additions and 8 deletions
|
@ -1,3 +1,11 @@
|
|||
2008-02-27 Sebastian Dröge <slomo@circular-chaos.org>
|
||||
|
||||
* ext/mad/gstmad.c: (gst_mad_sink_event):
|
||||
* gst/mpegaudioparse/gstmpegaudioparse.c:
|
||||
(gst_mp3parse_sink_event):
|
||||
Push EOS, FLUSH_STOP and NEWSEGMENT immediately instead
|
||||
of dropping and leaking them.
|
||||
|
||||
2008-02-27 Sebastian Dröge <slomo@circular-chaos.org>
|
||||
|
||||
* ext/mad/gstmad.c: (gst_mad_dispose), (gst_mad_sink_event),
|
||||
|
|
|
@ -993,9 +993,8 @@ gst_mad_sink_event (GstPad * pad, GstEvent * event)
|
|||
break;
|
||||
default:
|
||||
if (mad->restart) {
|
||||
/* Cache all events except EOS if we still have to send a NEWSEGMENT */
|
||||
if (GST_EVENT_TYPE (event) != GST_EVENT_EOS)
|
||||
mad->pending_events = g_list_append (mad->pending_events, event);
|
||||
/* Cache all other events if we still have to send a NEWSEGMENT */
|
||||
mad->pending_events = g_list_append (mad->pending_events, event);
|
||||
result = TRUE;
|
||||
} else {
|
||||
result = gst_pad_event_default (pad, event);
|
||||
|
|
|
@ -541,11 +541,11 @@ gst_mp3parse_sink_event (GstPad * pad, GstEvent * event)
|
|||
break;
|
||||
default:
|
||||
GST_PAD_STREAM_LOCK (pad);
|
||||
if (mp3parse->pending_segment) {
|
||||
/* Cache all events except EOS if we have a pending segment */
|
||||
if (GST_EVENT_TYPE (event) != GST_EVENT_EOS)
|
||||
mp3parse->pending_events =
|
||||
g_list_append (mp3parse->pending_events, event);
|
||||
/* Cache all events except EOS and the ones above if we have
|
||||
* a pending segment */
|
||||
if (mp3parse->pending_segment && GST_EVENT_TYPE (event) != GST_EVENT_EOS) {
|
||||
mp3parse->pending_events =
|
||||
g_list_append (mp3parse->pending_events, event);
|
||||
} else {
|
||||
res = gst_pad_push_event (mp3parse->srcpad, event);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue