diff options
author | wm4 <wm4@nowhere> | 2012-09-02 20:13:12 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2012-09-18 21:07:29 +0200 |
commit | 1ba5a8f283e3894158f12f025035903e13d0f8ae (patch) | |
tree | 7ff315850990353487a332cfc9f2917f6d43ed14 /libaf/format.c | |
parent | 1f5635d02cf1ad89025e5409fc05b718cbb04935 (diff) | |
download | mpv-1ba5a8f283e3894158f12f025035903e13d0f8ae.tar.bz2 mpv-1ba5a8f283e3894158f12f025035903e13d0f8ae.tar.xz |
rawaudio: use mplayer audio format for format option
The rawaudio demuxer had a rather hard to use way to set the audio
format with the --rawaudio=format=value option. The user had to pass a
numeric value, which then was set as wFormatTag member in the
WAVEFORMATEX header.
Make it use the mplayer audio format (the same as --af=format=value).
Add a new internal pseudo audio codec tag, which is hopefully unused,
which makes ad_pcm use the value in wFormatTag as internal mplayer
audio format.
Playing non-PCM formats is disabled. (At least AC3 can be played
directly.)
Diffstat (limited to 'libaf/format.c')
-rw-r--r-- | libaf/format.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libaf/format.c b/libaf/format.c index ffdf435e71..88d66522a0 100644 --- a/libaf/format.c +++ b/libaf/format.c @@ -112,12 +112,17 @@ const char *af_fmt2str_short(int format) return "??"; } +static bool af_fmt_valid(int format) +{ + return (format & AF_FORMAT_MASK) == format; +} + int af_str2fmt_short(bstr str) { if (bstr_startswith0(str, "0x")) { bstr rest; int fmt = bstrtoll(str, &rest, 16); - if (rest.len == 0) + if (rest.len == 0 && af_fmt_valid(fmt)) return fmt; } |