From d4b087c6cf50f1843200b1514d20dfc23c7b81cc Mon Sep 17 00:00:00 2001 From: Sergey Silkin Date: Fri, 23 Jul 2021 16:28:55 +0200 Subject: [PATCH] Use **** code for codec of unknown type This allows dumping kVideoCodecGeneric to IVF. Bug: none Change-Id: I71ae5f11dc226f68aa60e4423556feb1af96d11c Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226865 Reviewed-by: Ilya Nikolaevskiy Commit-Queue: Sergey Silkin Cr-Commit-Position: refs/heads/master@{#34543} --- modules/video_coding/utility/ivf_file_writer.cc | 9 +++++++-- modules/video_coding/utility/ivf_file_writer_unittest.cc | 5 +++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/modules/video_coding/utility/ivf_file_writer.cc b/modules/video_coding/utility/ivf_file_writer.cc index 496da894a1..77c90ee158 100644 --- a/modules/video_coding/utility/ivf_file_writer.cc +++ b/modules/video_coding/utility/ivf_file_writer.cc @@ -88,8 +88,13 @@ bool IvfFileWriter::WriteHeader() { ivf_header[11] = '4'; break; default: - RTC_LOG(LS_ERROR) << "Unknown CODEC type: " << codec_type_; - return false; + // For unknown codec type use **** code. You can specify actual payload + // format when playing the video with ffplay: ffplay -f H263 file.ivf + ivf_header[8] = '*'; + ivf_header[9] = '*'; + ivf_header[10] = '*'; + ivf_header[11] = '*'; + break; } ByteWriter::WriteLittleEndian(&ivf_header[12], width_); diff --git a/modules/video_coding/utility/ivf_file_writer_unittest.cc b/modules/video_coding/utility/ivf_file_writer_unittest.cc index 8e781a7b22..1a84d4441b 100644 --- a/modules/video_coding/utility/ivf_file_writer_unittest.cc +++ b/modules/video_coding/utility/ivf_file_writer_unittest.cc @@ -167,6 +167,11 @@ TEST_F(IvfFileWriterTest, WritesBasicH264FileMsTimestamp) { RunBasicFileStructureTest(kVideoCodecH264, fourcc, true); } +TEST_F(IvfFileWriterTest, WritesBasicUnknownCodecFileMsTimestamp) { + const uint8_t fourcc[4] = {'*', '*', '*', '*'}; + RunBasicFileStructureTest(kVideoCodecGeneric, fourcc, true); +} + TEST_F(IvfFileWriterTest, ClosesWhenReachesLimit) { const uint8_t fourcc[4] = {'V', 'P', '8', '0'}; const int kWidth = 320;