diff options
author | wm4 <wm4@nowhere> | 2015-01-20 14:33:08 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-01-20 14:33:08 +0100 |
commit | be02ebfcbae4f6f8f9f06f07363e1f651397894d (patch) | |
tree | 36b26a2588c0d67da9c6363b114cde954a4fa361 /player | |
parent | 1e6b4d31aa1b57bc03e1d0d2c022fb6d1028f9fa (diff) | |
download | mpv-be02ebfcbae4f6f8f9f06f07363e1f651397894d.tar.bz2 mpv-be02ebfcbae4f6f8f9f06f07363e1f651397894d.tar.xz |
audio: don't force any parameters if spdif is used
The existing code only ignored --audio-channels, but not --audio-rate or
--audio-format if spdif passthrough is used. Setting these makes no
sense.
Diffstat (limited to 'player')
-rw-r--r-- | player/audio.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/player/audio.c b/player/audio.c index b75902c73d..c49f2ea523 100644 --- a/player/audio.c +++ b/player/audio.c @@ -227,15 +227,13 @@ void reinit_audio_chain(struct MPContext *mpctx) struct af_stream *afs = mpctx->d_audio->afilter; + afs->output = (struct mp_audio){0}; if (mpctx->ao) { ao_get_format(mpctx->ao, &afs->output); - } else { - afs->output = (struct mp_audio){0}; + } else if (!AF_FORMAT_IS_SPECIAL(in_format.format)) { afs->output.rate = opts->force_srate; mp_audio_set_format(&afs->output, opts->audio_output_format); - // automatic downmix - if (!AF_FORMAT_IS_SPECIAL(in_format.format)) - mp_audio_set_channels(&afs->output, &opts->audio_output_channels); + mp_audio_set_channels(&afs->output, &opts->audio_output_channels); } // filter input format: same as codec's output format: |