summaryrefslogtreecommitdiffstats
path: root/demux/demux_lavf.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-07-08 01:26:13 +0200
committerwm4 <wm4@nowhere>2013-07-08 01:36:02 +0200
commit05ae5afd6249af9770eb1e55104fbd4f510c2342 (patch)
treeed527373fe42a37f24d4eb43a7a7721d7145fd38 /demux/demux_lavf.c
parent50808bab8db030acd07433e58465d1e71bca2269 (diff)
downloadmpv-05ae5afd6249af9770eb1e55104fbd4f510c2342.tar.bz2
mpv-05ae5afd6249af9770eb1e55104fbd4f510c2342.tar.xz
demux: remove separate arrays for audio/video/sub streams, simplify
These separate arrays were used by the old demuxers and are not needed anymore. We can simplify track switching as well. One interesting thing is that stream/tv.c (which is a demuxer) won't respect --no-audio anymore. It will probably work as expected, but it will still open an audio device etc. - this is because track selection is now always done with the runtime track switching mechanism. Maybe the TV code could be updated to do proper runtime switching, but I can't test this stuff.
Diffstat (limited to 'demux/demux_lavf.c')
-rw-r--r--demux/demux_lavf.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/demux/demux_lavf.c b/demux/demux_lavf.c
index 466ab7537b..aad1edfcde 100644
--- a/demux/demux_lavf.c
+++ b/demux/demux_lavf.c
@@ -658,11 +658,11 @@ static int demux_lavf_fill_buffer(demuxer_t *demux, demux_stream_t *dsds)
AVStream *st = priv->avfc->streams[pkt->stream_index];
struct sh_stream *stream = priv->streams[pkt->stream_index];
- if (stream && stream->type == STREAM_SUB && demux->sub->id < 0 &&
+ if (stream && stream->type == STREAM_SUB && !demux->sub->gsh &&
stream->demuxer_id == priv->autoselect_sub)
{
priv->autoselect_sub = -1;
- demux->sub->id = stream->stream_index;
+ demux->sub->gsh = stream;
}
if (!demuxer_stream_is_selected(demux, stream)) {
@@ -809,7 +809,7 @@ static int demux_lavf_control(demuxer_t *demuxer, int cmd, void *arg)
}
case DEMUXER_CTRL_AUTOSELECT_SUBTITLE:
{
- demuxer->sub->id = -1;
+ demuxer->sub->gsh = NULL;
priv->autoselect_sub = *((int *)arg);
return DEMUXER_CTRL_OK;
}