| Index: media/ffmpeg/ffmpeg_common_unittest.cc
|
| diff --git a/media/ffmpeg/ffmpeg_common_unittest.cc b/media/ffmpeg/ffmpeg_common_unittest.cc
|
| index 098417ad9a07f70e4ede34cbb9ea542f56952013..393180db5ca84f178a34c8427171100cca882344 100644
|
| --- a/media/ffmpeg/ffmpeg_common_unittest.cc
|
| +++ b/media/ffmpeg/ffmpeg_common_unittest.cc
|
| @@ -42,40 +42,43 @@ void TestConfigConvertExtraData(
|
| EXPECT_TRUE(converter_fn.Run(stream, decoder_config));
|
|
|
| // Store orig to let FFmpeg free whatever it allocated.
|
| - AVCodecContext* codec_context = stream->codec;
|
| - uint8_t* orig_extradata = codec_context->extradata;
|
| - int orig_extradata_size = codec_context->extradata_size;
|
| + AVCodecParameters* codec_parameters = stream->codecpar;
|
| + uint8_t* orig_extradata = codec_parameters->extradata;
|
| + int orig_extradata_size = codec_parameters->extradata_size;
|
|
|
| - // Valid combination: extra_data = NULL && size = 0.
|
| - codec_context->extradata = NULL;
|
| - codec_context->extradata_size = 0;
|
| + // Valid combination: extra_data = nullptr && size = 0.
|
| + codec_parameters->extradata = nullptr;
|
| + codec_parameters->extradata_size = 0;
|
| EXPECT_TRUE(converter_fn.Run(stream, decoder_config));
|
| - EXPECT_EQ(static_cast<size_t>(codec_context->extradata_size),
|
| + EXPECT_EQ(static_cast<size_t>(codec_parameters->extradata_size),
|
| decoder_config->extra_data().size());
|
|
|
| - // Valid combination: extra_data = non-NULL && size > 0.
|
| - codec_context->extradata = &kExtraData[0];
|
| - codec_context->extradata_size = arraysize(kExtraData);
|
| + // Valid combination: extra_data = non-nullptr && size > 0.
|
| + codec_parameters->extradata = &kExtraData[0];
|
| + codec_parameters->extradata_size = arraysize(kExtraData);
|
| EXPECT_TRUE(converter_fn.Run(stream, decoder_config));
|
| - EXPECT_EQ(static_cast<size_t>(codec_context->extradata_size),
|
| + EXPECT_EQ(static_cast<size_t>(codec_parameters->extradata_size),
|
| decoder_config->extra_data().size());
|
| - EXPECT_EQ(0, memcmp(codec_context->extradata,
|
| - &decoder_config->extra_data()[0],
|
| - decoder_config->extra_data().size()));
|
| -
|
| - // Invalid combination: extra_data = NULL && size != 0.
|
| - codec_context->extradata = NULL;
|
| - codec_context->extradata_size = 10;
|
| - EXPECT_FALSE(converter_fn.Run(stream, decoder_config));
|
| + EXPECT_EQ(
|
| + 0, memcmp(codec_parameters->extradata, &decoder_config->extra_data()[0],
|
| + decoder_config->extra_data().size()));
|
| +
|
| + // Possible combination: extra_data = nullptr && size != 0, but the converter
|
| + // function considers this valid and having no extra_data, due to behavior of
|
| + // avcodec_parameters_to_context().
|
| + codec_parameters->extradata = nullptr;
|
| + codec_parameters->extradata_size = 10;
|
| + EXPECT_TRUE(converter_fn.Run(stream, decoder_config));
|
| + EXPECT_EQ(0UL, decoder_config->extra_data().size());
|
|
|
| - // Invalid combination: extra_data = non-NULL && size = 0.
|
| - codec_context->extradata = &kExtraData[0];
|
| - codec_context->extradata_size = 0;
|
| + // Invalid combination: extra_data = non-nullptr && size = 0.
|
| + codec_parameters->extradata = &kExtraData[0];
|
| + codec_parameters->extradata_size = 0;
|
| EXPECT_FALSE(converter_fn.Run(stream, decoder_config));
|
|
|
| // Restore orig values for sane cleanup.
|
| - codec_context->extradata = orig_extradata;
|
| - codec_context->extradata_size = orig_extradata_size;
|
| + codec_parameters->extradata = orig_extradata;
|
| + codec_parameters->extradata_size = orig_extradata_size;
|
| }
|
|
|
| TEST_F(FFmpegCommonTest, AVStreamToDecoderConfig) {
|
| @@ -95,8 +98,8 @@ TEST_F(FFmpegCommonTest, AVStreamToDecoderConfig) {
|
| i < format_context->nb_streams && (!found_audio || !found_video);
|
| ++i) {
|
| AVStream* stream = format_context->streams[i];
|
| - AVCodecContext* codec_context = stream->codec;
|
| - AVMediaType codec_type = codec_context->codec_type;
|
| + AVCodecParameters* codec_parameters = stream->codecpar;
|
| + AVMediaType codec_type = codec_parameters->codec_type;
|
|
|
| if (codec_type == AVMEDIA_TYPE_AUDIO) {
|
| if (found_audio)
|
| @@ -184,59 +187,6 @@ TEST_F(FFmpegCommonTest, VerifyFormatSizes) {
|
| }
|
| }
|
|
|
| -TEST_F(FFmpegCommonTest, UTCDateToTime_Valid) {
|
| - base::Time result;
|
| - EXPECT_TRUE(FFmpegUTCDateToTime("2012-11-10 12:34:56", &result));
|
| -
|
| - base::Time::Exploded exploded;
|
| - result.UTCExplode(&exploded);
|
| - EXPECT_TRUE(exploded.HasValidValues());
|
| - EXPECT_EQ(2012, exploded.year);
|
| - EXPECT_EQ(11, exploded.month);
|
| - EXPECT_EQ(6, exploded.day_of_week);
|
| - EXPECT_EQ(10, exploded.day_of_month);
|
| - EXPECT_EQ(12, exploded.hour);
|
| - EXPECT_EQ(34, exploded.minute);
|
| - EXPECT_EQ(56, exploded.second);
|
| - EXPECT_EQ(0, exploded.millisecond);
|
| -}
|
| -
|
| -TEST_F(FFmpegCommonTest, UTCDateToTime_Invalid) {
|
| - const char* invalid_date_strings[] = {
|
| - "",
|
| - "2012-11-10",
|
| - "12:34:56",
|
| - "-- ::",
|
| - "2012-11-10 12:34:",
|
| - "2012-11-10 12::56",
|
| - "2012-11-10 :34:56",
|
| - "2012-11- 12:34:56",
|
| - "2012--10 12:34:56",
|
| - "-11-10 12:34:56",
|
| - "2012-11 12:34:56",
|
| - "2012-11-10-12 12:34:56",
|
| - "2012-11-10 12:34",
|
| - "2012-11-10 12:34:56:78",
|
| - "ABCD-11-10 12:34:56",
|
| - "2012-EF-10 12:34:56",
|
| - "2012-11-GH 12:34:56",
|
| - "2012-11-10 IJ:34:56",
|
| - "2012-11-10 12:JL:56",
|
| - "2012-11-10 12:34:MN",
|
| - "2012-11-10 12:34:56.123",
|
| - "2012-11-1012:34:56",
|
| - "2012-11-10 12:34:56 UTC",
|
| - };
|
| -
|
| - for (size_t i = 0; i < arraysize(invalid_date_strings); ++i) {
|
| - const char* date_string = invalid_date_strings[i];
|
| - base::Time result;
|
| - EXPECT_FALSE(FFmpegUTCDateToTime(date_string, &result))
|
| - << "date_string '" << date_string << "'";
|
| - EXPECT_TRUE(result.is_null());
|
| - }
|
| -}
|
| -
|
| // Verifies there are no collisions of the codec name hashes used for UMA. Also
|
| // includes code for updating the histograms XML.
|
| TEST_F(FFmpegCommonTest, VerifyUmaCodecHashes) {
|
|
|