1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-26 09:02:38 +00:00
mpv/mpvcore
wm4 1151dac5f0 audio: use the decoder buffer's format, not sh_audio
When the decoder detects a format change, it overwrites the values
stored in sh_audio (this affects the members sample_format, samplerate,
channels). In the case when the old audio data still needs to be
played/filtered, the audio format as identified by sh_audio and the
format used for the decoder buffer can mismatch. In particular, they
will mismatch in the very unlikely but possible case the audio chain is
reinitialized while old data is draining during a format change.

Or in other words, sh_audio might contain the new format, while the
audio chain is still configured to use the old format.

Currently, the audio code (player/audio.c and init_audio_filters) access
sh_audio to get the current format. This is in theory incorrect for the
reasons mentioned above. Use the decoder buffer's format instead, which
should be correct at any point.
2013-11-18 14:21:00 +01:00
..
input input: remove unused key_down_event command 2013-11-06 00:08:38 +01:00
player audio: use the decoder buffer's format, not sh_audio 2013-11-18 14:21:00 +01:00
asxparser.c core: add a playlist demuxer 2013-08-26 10:09:45 +02:00
asxparser.h
av_common.c
av_common.h
av_log.c configure: uniform the defines to #define HAVE_xxx (0|1) 2013-11-03 21:59:54 +01:00
av_log.h mplayer: print ffmpeg library versions along with mpv version info 2013-10-14 20:14:17 +02:00
av_opts.c
av_opts.h
bstr.c bstr: make UTF-8 check stricter 2013-08-15 23:40:03 +02:00
bstr.h bstr: add UTF-8 validation and sanitation functions 2013-08-15 23:40:02 +02:00
charset_conv.c configure: uniform the defines to #define HAVE_xxx (0|1) 2013-11-03 21:59:54 +01:00
charset_conv.h sub: don't print detected charset if it's UTF-8 2013-08-15 23:40:04 +02:00
codecs.c
codecs.h
cpudetect.c
cpudetect.h
encode_lavc.c encode_lavc: add missing newline in error message 2013-11-16 21:46:17 +01:00
encode_lavc.h
encode.h Split mplayer.c 2013-10-30 01:53:53 +01:00
m_config.c Fix some more -Wshadow warnings 2013-11-01 17:35:38 +01:00
m_config.h Fix some more -Wshadow warnings 2013-11-01 17:35:38 +01:00
m_option.c m_option: handle audio/filter filters with old option parsing 2013-11-13 20:10:17 +01:00
m_option.h command: add generic "multiply" command 2013-10-31 23:30:14 +01:00
m_property.c command: when changing a property, allow showing an extra OSD message 2013-09-21 00:07:42 +02:00
m_property.h command: when changing a property, allow showing an extra OSD message 2013-09-21 00:07:42 +02:00
mp_common.c mp_common: add function which accepts a format string to format playback time 2013-09-15 02:51:17 +02:00
mp_common.h af: replace macros with too generic names 2013-10-26 15:05:59 +02:00
mp_memory_barrier.h
mp_msg.c mp_msg: remove gettext() support 2013-10-18 22:38:10 +02:00
mp_msg.h mp_msg: remove gettext() support 2013-10-18 22:38:10 +02:00
mp_ring.c mp_ring: remove unused function 2013-11-15 21:08:48 +01:00
mp_ring.h mp_ring: remove unused function 2013-11-15 21:08:48 +01:00
mp_talloc.h mp_talloc: simplify a bit 2013-10-19 21:43:08 +02:00
mpv_global.h
options.c sd_lavc, sd_spu: make dvdsub stretching conditional on --stretch-dvd-subs. 2013-11-07 12:56:07 +01:00
options.h sd_lavc, sd_spu: make dvdsub stretching conditional on --stretch-dvd-subs. 2013-11-07 12:56:07 +01:00
parser-cfg.c parser-cfg: allow putting options with leading "--" 2013-10-14 23:41:26 +02:00
parser-cfg.h
parser-mpcmd.c options: don't let watch_later etc. overwite command line options 2013-10-25 22:52:54 +02:00
parser-mpcmd.h
path.c configure: uniform the defines to #define HAVE_xxx (0|1) 2013-11-03 21:59:54 +01:00
path.h Split mplayer.c 2013-10-30 01:53:53 +01:00
playlist_parser.c playlist: rewrite PLS parser 2013-11-04 23:55:41 +01:00
playlist_parser.h core: add a playlist demuxer 2013-08-26 10:09:45 +02:00
playlist.c playlist: check for NULL on caller site 2013-10-12 18:57:02 +02:00
playlist.h mplayer: fix looping of very short files 2013-09-29 21:10:45 +02:00
resolve_quvi9.c libquvi9: work around insane interaction between libquvi and libkdecore 2013-10-12 18:56:03 +02:00
resolve_quvi.c quvi: coerce libquvi 0.4 support into allowing format switching 2013-09-10 16:38:34 +02:00
resolve.h quvi: coerce libquvi 0.4 support into allowing format switching 2013-09-10 16:38:34 +02:00
version.c