mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-11 09:55:36 +00:00
matroskademux: Pass seek rate to upstream seek events in push mode
Fixes bug #679435. Conflicts: gst/matroska/matroska-demux.c
This commit is contained in:
parent
51371d26ee
commit
9fdcad4aee
1 changed files with 5 additions and 5 deletions
|
@ -171,7 +171,7 @@ static GstCaps
|
|||
/* stream methods */
|
||||
static void gst_matroska_demux_reset (GstElement * element);
|
||||
static gboolean perform_seek_to_offset (GstMatroskaDemux * demux,
|
||||
guint64 offset);
|
||||
gdouble rate, guint64 offset);
|
||||
|
||||
/* gobject functions */
|
||||
static void gst_matroska_demux_set_property (GObject * object,
|
||||
|
@ -2007,7 +2007,7 @@ gst_matroska_demux_handle_seek_event (GstMatroskaDemux * demux,
|
|||
/* need to seek to cluster start to pick up cluster time */
|
||||
/* upstream takes care of flushing and all that
|
||||
* ... and segment event handling takes care of the rest */
|
||||
return perform_seek_to_offset (demux,
|
||||
return perform_seek_to_offset (demux, rate,
|
||||
entry->pos + demux->common.ebml_segment_start);
|
||||
}
|
||||
|
||||
|
@ -2188,7 +2188,7 @@ gst_matroska_demux_handle_seek_push (GstMatroskaDemux * demux, GstPad * pad,
|
|||
if (!building_index) {
|
||||
/* seek to the first subindex or legacy index */
|
||||
GST_INFO_OBJECT (demux, "Seeking to Cues at %" G_GUINT64_FORMAT, offset);
|
||||
return perform_seek_to_offset (demux, offset);
|
||||
return perform_seek_to_offset (demux, rate, offset);
|
||||
}
|
||||
|
||||
/* well, we are handling it already */
|
||||
|
@ -4612,7 +4612,7 @@ pause:
|
|||
* Create and push a flushing seek event upstream
|
||||
*/
|
||||
static gboolean
|
||||
perform_seek_to_offset (GstMatroskaDemux * demux, guint64 offset)
|
||||
perform_seek_to_offset (GstMatroskaDemux * demux, gdouble rate, guint64 offset)
|
||||
{
|
||||
GstEvent *event;
|
||||
gboolean res = 0;
|
||||
|
@ -4620,7 +4620,7 @@ perform_seek_to_offset (GstMatroskaDemux * demux, guint64 offset)
|
|||
GST_DEBUG_OBJECT (demux, "Seeking to %" G_GUINT64_FORMAT, offset);
|
||||
|
||||
event =
|
||||
gst_event_new_seek (1.0, GST_FORMAT_BYTES,
|
||||
gst_event_new_seek (rate, GST_FORMAT_BYTES,
|
||||
GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE, GST_SEEK_TYPE_SET, offset,
|
||||
GST_SEEK_TYPE_NONE, -1);
|
||||
|
||||
|
|
Loading…
Reference in a new issue