mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 12:11:13 +00:00
avidemux: Use first indexed stream for seeking.
In the future, main_stream can be adjusted to contain the optimal stream as mentionned in the FIXME line 3440
This commit is contained in:
parent
2110cbe556
commit
af99a4a1de
2 changed files with 6 additions and 1 deletions
|
@ -263,6 +263,7 @@ gst_avi_demux_reset (GstAviDemux * avi)
|
|||
avi->num_v_streams = 0;
|
||||
avi->num_a_streams = 0;
|
||||
avi->num_t_streams = 0;
|
||||
avi->main_stream = -1;
|
||||
|
||||
avi->state = GST_AVI_DEMUX_START;
|
||||
avi->offset = 0;
|
||||
|
@ -1663,6 +1664,8 @@ gst_avi_demux_expose_streams (GstAviDemux * avi, gboolean force)
|
|||
GST_PAD_NAME (stream->pad), GST_PAD_CAPS (stream->pad));
|
||||
gst_element_add_pad ((GstElement *) avi, stream->pad);
|
||||
stream->exposed = TRUE;
|
||||
if (avi->main_stream == -1)
|
||||
avi->main_stream = i;
|
||||
} else {
|
||||
GST_WARNING_OBJECT (avi, "Stream #%d doesn't have any entry, removing it",
|
||||
i);
|
||||
|
@ -3441,7 +3444,7 @@ gst_avi_demux_do_seek (GstAviDemux * avi, GstSegment * segment)
|
|||
|
||||
/* FIXME, this code assumes the main stream with keyframes is stream 0,
|
||||
* which is mostly correct... */
|
||||
stream = &avi->stream[0];
|
||||
stream = &avi->stream[avi->main_stream];
|
||||
|
||||
/* get the entry index for the requested position */
|
||||
index = gst_avi_demux_index_for_time (avi, stream, seek_time);
|
||||
|
|
|
@ -164,6 +164,8 @@ typedef struct _GstAviDemux {
|
|||
guint num_a_streams;
|
||||
guint num_t_streams; /* subtitle text streams */
|
||||
|
||||
guint main_stream; /* used for seeking */
|
||||
|
||||
/* for streaming mode */
|
||||
gboolean streaming;
|
||||
gboolean have_eos;
|
||||
|
|
Loading…
Reference in a new issue