diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2015-09-23 19:37:43 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2015-09-25 23:53:47 +0200 |
commit | c526153ec9341183eef05da6918e7e94bcd2db29 (patch) | |
tree | ea0befd97303d18e345960e53fda1aa786b497f9 /gst | |
parent | 42d7aec41224a240f6b9646c834edad123a1b186 (diff) | |
download | gstreamer-c526153ec9341183eef05da6918e7e94bcd2db29.tar.gz |
asfdemux: Only push EOS event if we're not doing a segment seek
https://bugzilla.gnome.org/show_bug.cgi?id=755469
Diffstat (limited to 'gst')
-rw-r--r-- | gst/asfdemux/gstasfdemux.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/gst/asfdemux/gstasfdemux.c b/gst/asfdemux/gstasfdemux.c index f1f45e5ab3..6c2544b6b1 100644 --- a/gst/asfdemux/gstasfdemux.c +++ b/gst/asfdemux/gstasfdemux.c @@ -1962,9 +1962,12 @@ eos: return; } } - /* normal playback, send EOS to all linked pads */ - GST_INFO_OBJECT (demux, "Sending EOS, at end of stream"); - gst_asf_demux_send_event_unlocked (demux, gst_event_new_eos ()); + + if (!(demux->segment.flags & GST_SEEK_FLAG_SEGMENT)) { + /* normal playback, send EOS to all linked pads */ + GST_INFO_OBJECT (demux, "Sending EOS, at end of stream"); + gst_asf_demux_send_event_unlocked (demux, gst_event_new_eos ()); + } /* ... and fall through to pause */ } pause: @@ -1980,7 +1983,9 @@ pause: GST_ELEMENT_ERROR (demux, STREAM, FAILED, (_("Internal data stream error.")), ("streaming stopped, reason %s", gst_flow_get_name (flow))); + gst_asf_demux_send_event_unlocked (demux, gst_event_new_eos ()); } + return; } @@ -1988,7 +1993,6 @@ pause: read_failed: { GST_DEBUG_OBJECT (demux, "Read failed, doh"); - gst_asf_demux_send_event_unlocked (demux, gst_event_new_eos ()); flow = GST_FLOW_EOS; goto pause; } |