From ab3be5fa1893bf1756627e1646b065c41e69336a Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Thu, 3 Jun 2021 20:40:16 +0200 Subject: Ignore errors from avcodec_receive_frame when flushing video (#2035). The test fails if we don't do this; it doesn't really seem 100% convincing but we are already doing this for audio. --- test/ffmpeg_decoder_error_test.cc | 48 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 test/ffmpeg_decoder_error_test.cc (limited to 'test/ffmpeg_decoder_error_test.cc') diff --git a/test/ffmpeg_decoder_error_test.cc b/test/ffmpeg_decoder_error_test.cc new file mode 100644 index 000000000..b3e9e4293 --- /dev/null +++ b/test/ffmpeg_decoder_error_test.cc @@ -0,0 +1,48 @@ +/* + Copyright (C) 2021 Carl Hetherington + + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + DCP-o-matic is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with DCP-o-matic. If not, see . + +*/ + + +#include "lib/content.h" +#include "lib/content_factory.h" +#include "lib/dcpomatic_time.h" +#include "test.h" +#include + + +/** @defgroup regression Tests to make sure that old bugs do not reappear */ + +/** @file test/ffmpeg_decoder_erro_test.cc + * @brief Check some bugs in the FFmpegDecoder + * @ingroup regression + */ + + +BOOST_AUTO_TEST_CASE (check_exception_during_flush) +{ + auto content = content_factory(TestPaths::private_data() / "3d_thx_broadway_2010_lossless.m2ts").front(); + auto film = new_test_film2 ("check_exception_during_flush", { content }); + + content->set_trim_start (dcpomatic::ContentTime(2310308)); + content->set_trim_end (dcpomatic::ContentTime(116020)); + + make_and_verify_dcp (film); +} + + -- cgit v1.2.3