diff options
author | wm4 <wm4@nowhere> | 2013-12-23 20:14:54 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2013-12-24 17:44:34 +0100 |
commit | b796f2bb7693676056d0de98a9a95258909d799b (patch) | |
tree | a7c23c5a39b7cb817c911b68854e6304bfe7ea19 /player/audio.c | |
parent | 96e6f3f4b6a7379fac6b61c741c57ccfc062f915 (diff) | |
download | mpv-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.c | 6 |
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"); } |