| Index: media/ffmpeg/ffmpeg_common_unittest.cc
|
| diff --git a/media/ffmpeg/ffmpeg_common_unittest.cc b/media/ffmpeg/ffmpeg_common_unittest.cc
|
| index 07850551293e22b324637905ca6f3c7a1b6fa351..dafac5761d2a6afc075b1a02aaa3f35c6f3927f4 100644
|
| --- a/media/ffmpeg/ffmpeg_common_unittest.cc
|
| +++ b/media/ffmpeg/ffmpeg_common_unittest.cc
|
| @@ -125,6 +125,52 @@ TEST_F(FFmpegCommonTest, AVStreamToDecoderConfig) {
|
| ASSERT_TRUE(found_video);
|
| }
|
|
|
| +TEST_F(FFmpegCommonTest, AVStreamToAudioDecoderConfig_OpusAmbisonics_4ch) {
|
| + base::MemoryMappedFile file;
|
| + file.Initialize(
|
| + GetTestDataFilePath("bear-opus-end-trimming-4ch-channelmapping2.webm"));
|
| + InMemoryUrlProtocol protocol(file.data(), file.length(), false);
|
| + FFmpegGlue glue(&protocol);
|
| + ASSERT_TRUE(glue.OpenContext());
|
| +
|
| + AVFormatContext* format_context = glue.format_context();
|
| + EXPECT_EQ(static_cast<unsigned int>(1), format_context->nb_streams);
|
| + AVStream* stream = format_context->streams[0];
|
| +
|
| + AVCodecParameters* codec_parameters = stream->codecpar;
|
| + EXPECT_EQ(AVMEDIA_TYPE_AUDIO, codec_parameters->codec_type);
|
| +
|
| + AudioDecoderConfig audio_config;
|
| + ASSERT_TRUE(AVStreamToAudioDecoderConfig(stream, &audio_config));
|
| +
|
| + EXPECT_EQ(kCodecOpus, audio_config.codec());
|
| + EXPECT_EQ(CHANNEL_LAYOUT_QUAD, audio_config.channel_layout());
|
| + EXPECT_EQ(4, audio_config.channels());
|
| +}
|
| +
|
| +TEST_F(FFmpegCommonTest, AVStreamToAudioDecoderConfig_OpusAmbisonics_11ch) {
|
| + base::MemoryMappedFile file;
|
| + file.Initialize(
|
| + GetTestDataFilePath("bear-opus-end-trimming-11ch-channelmapping2.webm"));
|
| + InMemoryUrlProtocol protocol(file.data(), file.length(), false);
|
| + FFmpegGlue glue(&protocol);
|
| + ASSERT_TRUE(glue.OpenContext());
|
| +
|
| + AVFormatContext* format_context = glue.format_context();
|
| + EXPECT_EQ(static_cast<unsigned int>(1), format_context->nb_streams);
|
| + AVStream* stream = format_context->streams[0];
|
| +
|
| + AVCodecParameters* codec_parameters = stream->codecpar;
|
| + EXPECT_EQ(AVMEDIA_TYPE_AUDIO, codec_parameters->codec_type);
|
| +
|
| + AudioDecoderConfig audio_config;
|
| + ASSERT_TRUE(AVStreamToAudioDecoderConfig(stream, &audio_config));
|
| +
|
| + EXPECT_EQ(kCodecOpus, audio_config.codec());
|
| + EXPECT_EQ(CHANNEL_LAYOUT_DISCRETE, audio_config.channel_layout());
|
| + EXPECT_EQ(11, audio_config.channels());
|
| +}
|
| +
|
| TEST_F(FFmpegCommonTest, TimeBaseConversions) {
|
| const int64_t test_data[][5] = {
|
| {1, 2, 1, 500000, 1}, {1, 3, 1, 333333, 1}, {1, 3, 2, 666667, 2},
|
|
|