summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Penquerc'h <vincent.penquerch@collabora.co.uk>2015-02-23 13:07:41 (GMT)
committerVincent Penquerc'h <vincent.penquerch@collabora.co.uk>2015-03-11 12:04:23 (GMT)
commit5f3fc5db058b3014d966944892cf0cef4656e859 (patch)
treeb63b421a15c31617315c7e8a79b70d703ee839b5
parentacaf534714e380886ffc2f17b874513dd6ddafdc (diff)
downloadgst-plugins-base-5f3fc5db058b3014d966944892cf0cef4656e859.tar.gz
gst-plugins-base-5f3fc5db058b3014d966944892cf0cef4656e859.tar.xz
oggdemux: set correct seqnum on segment events after a seek in push mode
There is already a seqnum field for this, which was used to overwrite the seqnum that was set by the push specific code.
-rw-r--r--ext/ogg/gstoggdemux.c7
-rw-r--r--ext/ogg/gstoggdemux.h1
2 files changed, 3 insertions, 5 deletions
diff --git a/ext/ogg/gstoggdemux.c b/ext/ogg/gstoggdemux.c
index c34f90f..e1b9132 100644
--- a/ext/ogg/gstoggdemux.c
+++ b/ext/ogg/gstoggdemux.c
@@ -1080,7 +1080,6 @@ gst_ogg_pad_submit_packet (GstOggPad * pad, ogg_packet * packet)
segment.time = ogg->push_seek_time_original_target;
segment.base = ogg->segment.base;
event = gst_event_new_segment (&segment);
- gst_event_set_seqnum (event, ogg->push_seek_seqnum);
ogg->push_state = PUSH_PLAYING;
} else {
segment.rate = ogg->segment.rate;
@@ -1790,7 +1789,7 @@ gst_ogg_pad_handle_push_mode_state (GstOggPad * pad, ogg_page * page)
gst_event_new_seek (ogg->push_seek_rate, GST_FORMAT_BYTES,
ogg->push_seek_flags, GST_SEEK_TYPE_SET, best,
GST_SEEK_TYPE_NONE, -1);
- gst_event_set_seqnum (sevent, ogg->push_seek_seqnum);
+ gst_event_set_seqnum (sevent, ogg->seqnum);
GST_PUSH_UNLOCK (ogg);
res = gst_pad_push_event (ogg->sinkpad, sevent);
@@ -2282,7 +2281,7 @@ gst_ogg_demux_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
ogg->push_byte_offset = segment.start;
ogg->push_last_seek_offset = segment.start;
- if (gst_event_get_seqnum (event) == ogg->push_seek_seqnum) {
+ if (gst_event_get_seqnum (event) == ogg->seqnum) {
GstSeekType stop_type = GST_SEEK_TYPE_NONE;
if (ogg->push_seek_time_original_stop != -1)
stop_type = GST_SEEK_TYPE_SET;
@@ -3731,7 +3730,7 @@ gst_ogg_demux_perform_seek_push (GstOggDemux * ogg, GstEvent * event)
ogg->push_offset1 = ogg->push_byte_length - 1;
ogg->push_time0 = ogg->push_start_time;
ogg->push_time1 = ogg->push_time_length;
- ogg->push_seek_seqnum = gst_event_get_seqnum (event);
+ ogg->seqnum = gst_event_get_seqnum (event);
ogg->push_seek_time_target = start;
ogg->push_prev_seek_time = GST_CLOCK_TIME_NONE;
ogg->push_seek_time_original_target = start;
diff --git a/ext/ogg/gstoggdemux.h b/ext/ogg/gstoggdemux.h
index a26f30e..bb7948a 100644
--- a/ext/ogg/gstoggdemux.h
+++ b/ext/ogg/gstoggdemux.h
@@ -191,7 +191,6 @@ struct _GstOggDemux
gboolean seek_secant;
gboolean seek_undershot;
GstClockTime push_prev_seek_time;
- guint32 push_seek_seqnum;
gint push_bisection_steps[2];
gint stats_bisection_steps[2];