diff options
| -rw-r--r-- | src/lib/ffmpeg_decoder.cc | 1 | ||||
| -rw-r--r-- | test/audio_analysis_test.cc | 14 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/lib/ffmpeg_decoder.cc b/src/lib/ffmpeg_decoder.cc index 9f505ea43..477dcda19 100644 --- a/src/lib/ffmpeg_decoder.cc +++ b/src/lib/ffmpeg_decoder.cc @@ -360,7 +360,6 @@ deinterleave_audio(shared_ptr<FFmpegAudioStream> stream, AVFrame* frame) case AV_SAMPLE_FMT_FLTP: { auto p = reinterpret_cast<float**> (frame->data); - DCPOMATIC_ASSERT(channels <= stream->channels()); for (int i = 0; i < channels; ++i) { memcpy (data[i], p[i], frames * sizeof(float)); } diff --git a/test/audio_analysis_test.cc b/test/audio_analysis_test.cc index 5a9c75324..002ea0e7a 100644 --- a/test/audio_analysis_test.cc +++ b/test/audio_analysis_test.cc @@ -233,3 +233,17 @@ BOOST_AUTO_TEST_CASE(analyse_audio_with_long_silent_end) JobManager::instance()->analyse_audio(film, playlist, false, c, [](Job::Result) {}); BOOST_CHECK(!wait_for_jobs()); } + + +BOOST_AUTO_TEST_CASE(analyse_audio_with_strange_channel_count) +{ + auto content = content_factory(TestPaths::private_data() / "mali.mkv")[0]; + auto film = new_test_film2("analyse_audio_with_strange_channel_count", { content }); + + auto playlist = make_shared<Playlist>(); + playlist->add(film, content); + boost::signals2::connection c; + JobManager::instance()->analyse_audio(film, playlist, false, c, [](Job::Result) {}); + BOOST_CHECK(!wait_for_jobs()); +} + |
