summaryrefslogtreecommitdiffstats
path: root/player/audio.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-12-23 20:14:54 +0100
committerwm4 <wm4@nowhere>2013-12-24 17:44:34 +0100
commitb796f2bb7693676056d0de98a9a95258909d799b (patch)
treea7c23c5a39b7cb817c911b68854e6304bfe7ea19 /player/audio.c
parent96e6f3f4b6a7379fac6b61c741c57ccfc062f915 (diff)
downloadmpv-b796f2bb7693676056d0de98a9a95258909d799b.tar.bz2
mpv-b796f2bb7693676056d0de98a9a95258909d799b.tar.xz
player: redo demuxer stream selection
Use struct track to decide what stream to select. Add a "selected" field and use that in some places instead of checking mpctx->current_track.
Diffstat (limited to 'player/audio.c')
-rw-r--r--player/audio.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/player/audio.c b/player/audio.c
index 64160e0cd7..69fcb1d38e 100644
--- a/player/audio.c
+++ b/player/audio.c
@@ -104,7 +104,8 @@ int reinit_audio_filters(struct MPContext *mpctx)
void reinit_audio_chain(struct MPContext *mpctx)
{
struct MPOpts *opts = mpctx->opts;
- struct sh_stream *sh = init_demux_stream(mpctx, STREAM_AUDIO);
+ struct track *track = mpctx->current_track[STREAM_AUDIO];
+ struct sh_stream *sh = init_demux_stream(mpctx, track);
if (!sh) {
uninit_player(mpctx, INITIALIZED_AO);
goto no_audio;
@@ -186,9 +187,8 @@ void reinit_audio_chain(struct MPContext *mpctx)
init_error:
uninit_player(mpctx, INITIALIZED_ACODEC | INITIALIZED_AO);
- cleanup_demux_stream(mpctx, STREAM_AUDIO);
no_audio:
- mpctx->current_track[STREAM_AUDIO] = NULL;
+ mp_deselect_track(mpctx, track);
MP_INFO(mpctx, "Audio: no audio\n");
}