diff options
author | wm4 <wm4@nowhere> | 2015-11-07 15:07:23 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-11-07 15:07:50 +0100 |
commit | 617aff6cdab6484e39cd4074111569e2f5dec9d3 (patch) | |
tree | 95f9f04a3a2ac0293c21ea51574b9c996f419473 /audio/format.c | |
parent | b984ec52aaf569a9be4acfe6fdd056f309a3b40e (diff) | |
download | mpv-617aff6cdab6484e39cd4074111569e2f5dec9d3.tar.bz2 mpv-617aff6cdab6484e39cd4074111569e2f5dec9d3.tar.xz |
audio: fix af_fmt_change_bytes() with spdif formats
This could accidentally change some spdif formats to AAC (because AAC is
the first on the list and will match first). spdif formats are
inherently uninterchangeable, so treat them as their own class of
formats (like int vs. float).
Might fix some issues with ao_wasapi.c.
Diffstat (limited to 'audio/format.c')
-rw-r--r-- | audio/format.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/audio/format.c b/audio/format.c index 100a0f3225..06360b884b 100644 --- a/audio/format.c +++ b/audio/format.c @@ -51,7 +51,7 @@ int af_fmt_change_bytes(int format, int bytes) if (af_fmt_to_bytes(fmt) == bytes && af_fmt_is_float(fmt) == af_fmt_is_float(format) && af_fmt_is_planar(fmt) == af_fmt_is_planar(format) && - af_fmt_is_spdif(fmt) == af_fmt_is_spdif(format)) + (fmt == format || (!af_fmt_is_spdif(fmt) && !af_fmt_is_spdif(format)))) return fmt; } return 0; |