summaryrefslogtreecommitdiffstats
path: root/gst/flv/gstflvparse.c
diff options
context:
space:
mode:
authorSebastian Dröge <slomo@circular-chaos.org>2008-10-27 09:10:54 +0000
committerSebastian Dröge <slomo@circular-chaos.org>2008-10-27 09:10:54 +0000
commit4dc92cff1ec25b63c32c73879d66b778f0a26635 (patch)
treed65f2aa1740f48ccc6291d6ea668f0f93a4edebf /gst/flv/gstflvparse.c
parent77de3318151adba45080513f00b5b2e6d5eede00 (diff)
downloadgst-plugins-bad-4dc92cff1ec25b63c32c73879d66b778f0a26635.tar.gz
gst-plugins-bad-4dc92cff1ec25b63c32c73879d66b778f0a26635.tar.bz2
gst-plugins-bad-4dc92cff1ec25b63c32c73879d66b778f0a26635.zip
gst/flv/: Close the currently playing segment from the streaming thread instead of the thread where the seek event is...
Original commit message from CVS: * gst/flv/gstflvdemux.c: (gst_flv_demux_cleanup), (gst_flv_demux_handle_seek_pull), (gst_flv_demux_dispose): * gst/flv/gstflvdemux.h: * gst/flv/gstflvparse.c: (gst_flv_parse_tag_audio), (gst_flv_parse_tag_video): Close the currently playing segment from the streaming thread instead of the thread where the seek event is handled.
Diffstat (limited to 'gst/flv/gstflvparse.c')
-rw-r--r--gst/flv/gstflvparse.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gst/flv/gstflvparse.c b/gst/flv/gstflvparse.c
index 16c83ec3..b68edd68 100644
--- a/gst/flv/gstflvparse.c
+++ b/gst/flv/gstflvparse.c
@@ -699,6 +699,10 @@ gst_flv_parse_tag_audio (GstFLVDemux * demux, const guint8 * data,
/* Do we need a newsegment event ? */
if (G_UNLIKELY (demux->audio_need_segment)) {
+ if (demux->close_seg_event)
+ gst_pad_push_event (demux->audio_pad,
+ gst_event_ref (demux->close_seg_event));
+
if (!demux->new_seg_event) {
GST_DEBUG_OBJECT (demux, "pushing newsegment from %"
GST_TIME_FORMAT " to %" GST_TIME_FORMAT,
@@ -1007,6 +1011,10 @@ gst_flv_parse_tag_video (GstFLVDemux * demux, const guint8 * data,
/* Do we need a newsegment event ? */
if (G_UNLIKELY (demux->video_need_segment)) {
+ if (demux->close_seg_event)
+ gst_pad_push_event (demux->video_pad,
+ gst_event_ref (demux->close_seg_event));
+
if (!demux->new_seg_event) {
GST_DEBUG_OBJECT (demux, "pushing newsegment from %"
GST_TIME_FORMAT " to %" GST_TIME_FORMAT,