diff options
| author | Carl Hetherington <cth@carlh.net> | 2021-06-03 20:40:16 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2021-06-03 20:40:16 +0200 |
| commit | ab3be5fa1893bf1756627e1646b065c41e69336a (patch) | |
| tree | e9a768d04b974dfa1889d2a2a270f0283fea239c /test/ffmpeg_decoder_error_test.cc | |
| parent | 56062a84cca360881bfa3bd2b2254d451223d775 (diff) | |
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.
Diffstat (limited to 'test/ffmpeg_decoder_error_test.cc')
| -rw-r--r-- | test/ffmpeg_decoder_error_test.cc | 48 |
1 files changed, 48 insertions, 0 deletions
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 <cth@carlh.net> + + 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 <http://www.gnu.org/licenses/>. + +*/ + + +#include "lib/content.h" +#include "lib/content_factory.h" +#include "lib/dcpomatic_time.h" +#include "test.h" +#include <boost/test/unit_test.hpp> + + +/** @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); +} + + |
