summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2023-08-15 15:02:29 +0200
committerCarl Hetherington <cth@carlh.net>2023-08-15 15:02:54 +0200
commitf6c6232941671095b0a857a5a5c5392f52d6c3aa (patch)
treece75af7a5964e1c664bd9dbdc967cf7f6821bbfb
parent5953096c98d38cd596c4aa5d2ae533cc16697f12 (diff)
Remove now-unnecessary assertion.
Since e29ce33a36c2e20444d57196defc86d5072bce81 channels is the number of channels in the frame, and also the number in data, so we don't need to check this any more.
-rw-r--r--src/lib/ffmpeg_decoder.cc1
-rw-r--r--test/audio_analysis_test.cc14
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());
+}
+