diff options
author | Alessandro Decina <alessandro.d@gmail.com> | 2012-04-19 08:31:00 +0200 |
---|---|---|
committer | Alessandro Decina <alessandro.decina@collabora.co.uk> | 2012-05-23 10:51:34 +0200 |
commit | f023e3f2d7404f487bbbcb781ea5c224fb1e49a7 (patch) | |
tree | 78ef3e7a2cb13c61706c02534d02ae175ffbab97 /gst/matroska | |
parent | e337279453c8284f75ce0a856ca2a50ab219e873 (diff) |
matroskademux: don't discard the incoming seek segment on push based seeking
The incoming seek segment was being discarded leading to push based seeking
being potentially inaccurate.
Diffstat (limited to 'gst/matroska')
-rw-r--r-- | gst/matroska/matroska-demux.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gst/matroska/matroska-demux.c b/gst/matroska/matroska-demux.c index ef3ae9d65..4b645e909 100644 --- a/gst/matroska/matroska-demux.c +++ b/gst/matroska/matroska-demux.c @@ -2016,6 +2016,11 @@ gst_matroska_demux_handle_seek_event (GstMatroskaDemux * demux, GST_OBJECT_UNLOCK (demux); if (demux->streaming) { + GST_OBJECT_LOCK (demux); + /* now update the real segment info */ + GST_DEBUG_OBJECT (demux, "Committing new seek segment"); + memcpy (&demux->common.segment, &seeksegment, sizeof (GstSegment)); + GST_OBJECT_UNLOCK (demux); /* need to seek to cluster start to pick up cluster time */ /* upstream takes care of flushing and all that * ... and newsegment event handling takes care of the rest */ |