Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(38)

Side by Side Diff: media/base/android/sdk_media_codec_bridge_unittest.cc

Issue 2365103002: Send the h264 SPS and PPS configuration parameters to AVDA (Closed)
Patch Set: Fix array init syntax Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/base/android/sdk_media_codec_bridge.h" 5 #include "media/base/android/sdk_media_codec_bridge.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <memory> 10 #include <memory>
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 input_pts += base::TimeDelta::FromMicroseconds(33000); 146 input_pts += base::TimeDelta::FromMicroseconds(33000);
147 timestamp = new_timestamp; 147 timestamp = new_timestamp;
148 } 148 }
149 } 149 }
150 150
151 TEST(SdkMediaCodecBridgeTest, Initialize) { 151 TEST(SdkMediaCodecBridgeTest, Initialize) {
152 SKIP_TEST_IF_MEDIA_CODEC_BRIDGE_IS_NOT_AVAILABLE(); 152 SKIP_TEST_IF_MEDIA_CODEC_BRIDGE_IS_NOT_AVAILABLE();
153 153
154 std::unique_ptr<media::MediaCodecBridge> media_codec; 154 std::unique_ptr<media::MediaCodecBridge> media_codec;
155 media_codec.reset(VideoCodecBridge::CreateDecoder( 155 media_codec.reset(VideoCodecBridge::CreateDecoder(
156 kCodecH264, false, gfx::Size(640, 480), nullptr, nullptr)); 156 kCodecH264, false, gfx::Size(640, 480), nullptr, nullptr,
157 std::vector<uint8_t>(), std::vector<uint8_t>()));
157 } 158 }
158 159
159 TEST(SdkMediaCodecBridgeTest, DoNormal) { 160 TEST(SdkMediaCodecBridgeTest, DoNormal) {
160 SKIP_TEST_IF_MEDIA_CODEC_BRIDGE_IS_NOT_AVAILABLE(); 161 SKIP_TEST_IF_MEDIA_CODEC_BRIDGE_IS_NOT_AVAILABLE();
161 162
162 std::unique_ptr<media::AudioCodecBridge> media_codec; 163 std::unique_ptr<media::AudioCodecBridge> media_codec;
163 media_codec.reset(AudioCodecBridge::Create(kCodecMP3)); 164 media_codec.reset(AudioCodecBridge::Create(kCodecMP3));
164 165
165 ASSERT_TRUE(media_codec->ConfigureAndStart(kCodecMP3, 44100, 2, nullptr, 0, 0, 166 ASSERT_TRUE(media_codec->ConfigureAndStart(kCodecMP3, 44100, 2, nullptr, 0, 0,
166 0, false, nullptr)); 167 0, false, nullptr));
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 // Seek Preroll is < 0. 269 // Seek Preroll is < 0.
269 EXPECT_FALSE(media_codec->ConfigureAndStart( 270 EXPECT_FALSE(media_codec->ConfigureAndStart(
270 kCodecOpus, 48000, 2, dummy_extra_data, sizeof(dummy_extra_data), 0, -1, 271 kCodecOpus, 48000, 2, dummy_extra_data, sizeof(dummy_extra_data), 0, -1,
271 false, nullptr)); 272 false, nullptr));
272 } 273 }
273 274
274 TEST(SdkMediaCodecBridgeTest, PresentationTimestampsDoNotDecrease) { 275 TEST(SdkMediaCodecBridgeTest, PresentationTimestampsDoNotDecrease) {
275 SKIP_TEST_IF_VP8_DECODER_IS_NOT_SUPPORTED(); 276 SKIP_TEST_IF_VP8_DECODER_IS_NOT_SUPPORTED();
276 277
277 std::unique_ptr<VideoCodecBridge> media_codec(VideoCodecBridge::CreateDecoder( 278 std::unique_ptr<VideoCodecBridge> media_codec(VideoCodecBridge::CreateDecoder(
278 kCodecVP8, false, gfx::Size(320, 240), nullptr, nullptr)); 279 kCodecVP8, false, gfx::Size(320, 240), nullptr, nullptr,
280 std::vector<uint8_t>(), std::vector<uint8_t>()));
279 EXPECT_TRUE(media_codec.get()); 281 EXPECT_TRUE(media_codec.get());
280 scoped_refptr<DecoderBuffer> buffer = ReadTestDataFile("vp8-I-frame-320x240"); 282 scoped_refptr<DecoderBuffer> buffer = ReadTestDataFile("vp8-I-frame-320x240");
281 DecodeMediaFrame(media_codec.get(), buffer->data(), buffer->data_size(), 283 DecodeMediaFrame(media_codec.get(), buffer->data(), buffer->data_size(),
282 base::TimeDelta(), base::TimeDelta()); 284 base::TimeDelta(), base::TimeDelta());
283 285
284 // Simulate a seek to 10 seconds, and each chunk has 2 I-frames. 286 // Simulate a seek to 10 seconds, and each chunk has 2 I-frames.
285 std::vector<uint8_t> chunk(buffer->data(), 287 std::vector<uint8_t> chunk(buffer->data(),
286 buffer->data() + buffer->data_size()); 288 buffer->data() + buffer->data_size());
287 chunk.insert(chunk.end(), buffer->data(), 289 chunk.insert(chunk.end(), buffer->data(),
288 buffer->data() + buffer->data_size()); 290 buffer->data() + buffer->data_size());
289 media_codec->Flush(); 291 media_codec->Flush();
290 DecodeMediaFrame(media_codec.get(), &chunk[0], chunk.size(), 292 DecodeMediaFrame(media_codec.get(), &chunk[0], chunk.size(),
291 base::TimeDelta::FromMicroseconds(10000000), 293 base::TimeDelta::FromMicroseconds(10000000),
292 base::TimeDelta::FromMicroseconds(9900000)); 294 base::TimeDelta::FromMicroseconds(9900000));
293 295
294 // Simulate a seek to 5 seconds. 296 // Simulate a seek to 5 seconds.
295 media_codec->Flush(); 297 media_codec->Flush();
296 DecodeMediaFrame(media_codec.get(), &chunk[0], chunk.size(), 298 DecodeMediaFrame(media_codec.get(), &chunk[0], chunk.size(),
297 base::TimeDelta::FromMicroseconds(5000000), 299 base::TimeDelta::FromMicroseconds(5000000),
298 base::TimeDelta::FromMicroseconds(4900000)); 300 base::TimeDelta::FromMicroseconds(4900000));
299 } 301 }
300 302
301 TEST(SdkMediaCodecBridgeTest, CreateUnsupportedCodec) { 303 TEST(SdkMediaCodecBridgeTest, CreateUnsupportedCodec) {
302 EXPECT_EQ(nullptr, AudioCodecBridge::Create(kUnknownAudioCodec)); 304 EXPECT_EQ(nullptr, AudioCodecBridge::Create(kUnknownAudioCodec));
303 EXPECT_EQ(nullptr, VideoCodecBridge::CreateDecoder(kUnknownVideoCodec, false, 305 EXPECT_EQ(nullptr,
304 gfx::Size(320, 240), 306 VideoCodecBridge::CreateDecoder(
305 nullptr, nullptr)); 307 kUnknownVideoCodec, false, gfx::Size(320, 240), nullptr,
308 nullptr, std::vector<uint8_t>(), std::vector<uint8_t>()));
306 } 309 }
307 310
308 } // namespace media 311 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698