summaryrefslogtreecommitdiffstats
path: root/audio/filter/af_lavrresample.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-06-22 15:02:03 +0200
committerwm4 <wm4@nowhere>2015-06-22 16:03:07 +0200
commit3d55340c6d22e68ee6b9eaac44fa80969fc1ba4b (patch)
tree2ebb2803c491746ae3bd9268ee18ccf9e53e5fd8 /audio/filter/af_lavrresample.c
parent17e8815e3769c4c6940828b00815df3fe663d9e0 (diff)
downloadmpv-3d55340c6d22e68ee6b9eaac44fa80969fc1ba4b.tar.bz2
mpv-3d55340c6d22e68ee6b9eaac44fa80969fc1ba4b.tar.xz
af: restore detaching of PCM filters when using spdif
Basically, af_fix_format_conversion() behaves stupid you insert a conversion filter that won't work, and adding back the conversion test function is the simplest fix to it.
Diffstat (limited to 'audio/filter/af_lavrresample.c')
-rw-r--r--audio/filter/af_lavrresample.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/audio/filter/af_lavrresample.c b/audio/filter/af_lavrresample.c
index 7c2d7315e2..89fe2c414c 100644
--- a/audio/filter/af_lavrresample.c
+++ b/audio/filter/af_lavrresample.c
@@ -178,6 +178,12 @@ static int check_output_conversion(int mp_format)
return af_to_avformat(mp_format);
}
+bool af_lavrresample_test_conversion(int src_format, int dst_format)
+{
+ return af_to_avformat(src_format) != AV_SAMPLE_FMT_NONE &&
+ check_output_conversion(dst_format) != AV_SAMPLE_FMT_NONE;
+}
+
// mp_chmap_get_reorder() performs:
// to->speaker[n] = from->speaker[src[n]]
// but libavresample does: