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

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

Issue 23480036: Support creating secure decoder in MediaCodecBridge. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix test Created 7 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « media/base/android/media_codec_bridge.cc ('k') | media/base/android/media_drm_bridge.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 <string> 5 #include <string>
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "media/base/android/media_codec_bridge.h" 10 #include "media/base/android/media_codec_bridge.h"
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 input_pts += base::TimeDelta::FromMicroseconds(33000); 129 input_pts += base::TimeDelta::FromMicroseconds(33000);
130 timestamp = new_timestamp; 130 timestamp = new_timestamp;
131 } 131 }
132 } 132 }
133 133
134 TEST(MediaCodecBridgeTest, Initialize) { 134 TEST(MediaCodecBridgeTest, Initialize) {
135 if (!MediaCodecBridge::IsAvailable()) 135 if (!MediaCodecBridge::IsAvailable())
136 return; 136 return;
137 137
138 scoped_ptr<media::MediaCodecBridge> media_codec; 138 scoped_ptr<media::MediaCodecBridge> media_codec;
139 media_codec.reset(VideoCodecBridge::Create(kCodecH264)); 139 media_codec.reset(VideoCodecBridge::Create(kCodecH264, false));
140 } 140 }
141 141
142 TEST(MediaCodecBridgeTest, DoNormal) { 142 TEST(MediaCodecBridgeTest, DoNormal) {
143 if (!MediaCodecBridge::IsAvailable()) 143 if (!MediaCodecBridge::IsAvailable())
144 return; 144 return;
145 145
146 scoped_ptr<media::AudioCodecBridge> media_codec; 146 scoped_ptr<media::AudioCodecBridge> media_codec;
147 media_codec.reset(AudioCodecBridge::Create(kCodecMP3)); 147 media_codec.reset(AudioCodecBridge::Create(kCodecMP3));
148 148
149 media_codec->Start(kCodecMP3, 44100, 2, NULL, 0, false, NULL); 149 media_codec->Start(kCodecMP3, 44100, 2, NULL, 0, false, NULL);
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 EXPECT_FALSE(media_codec->Start( 228 EXPECT_FALSE(media_codec->Start(
229 kCodecVorbis, 44100, 2, very_large_header, 0x80000000, false, NULL)); 229 kCodecVorbis, 44100, 2, very_large_header, 0x80000000, false, NULL));
230 delete[] very_large_header; 230 delete[] very_large_header;
231 } 231 }
232 232
233 TEST(MediaCodecBridgeTest, PresentationTimestampsDoNotDecrease) { 233 TEST(MediaCodecBridgeTest, PresentationTimestampsDoNotDecrease) {
234 if (!MediaCodecBridge::IsAvailable()) 234 if (!MediaCodecBridge::IsAvailable())
235 return; 235 return;
236 236
237 scoped_ptr<VideoCodecBridge> media_codec; 237 scoped_ptr<VideoCodecBridge> media_codec;
238 media_codec.reset(VideoCodecBridge::Create(kCodecVP8)); 238 media_codec.reset(VideoCodecBridge::Create(kCodecVP8, false));
239 EXPECT_TRUE(media_codec->Start( 239 EXPECT_TRUE(media_codec->Start(
240 kCodecVP8, gfx::Size(320, 240), NULL, NULL)); 240 kCodecVP8, gfx::Size(320, 240), NULL, NULL));
241 scoped_refptr<DecoderBuffer> buffer = 241 scoped_refptr<DecoderBuffer> buffer =
242 ReadTestDataFile("vp8-I-frame-320x240"); 242 ReadTestDataFile("vp8-I-frame-320x240");
243 DecodeMediaFrame( 243 DecodeMediaFrame(
244 media_codec.get(), buffer->data(), buffer->data_size(), 244 media_codec.get(), buffer->data(), buffer->data_size(),
245 base::TimeDelta(), base::TimeDelta()); 245 base::TimeDelta(), base::TimeDelta());
246 246
247 // Simulate a seek to 10 seconds, and each chunk has 2 I-frames. 247 // Simulate a seek to 10 seconds, and each chunk has 2 I-frames.
248 std::vector<uint8> chunk(buffer->data(), 248 std::vector<uint8> chunk(buffer->data(),
249 buffer->data() + buffer->data_size()); 249 buffer->data() + buffer->data_size());
250 chunk.insert(chunk.end(), buffer->data(), 250 chunk.insert(chunk.end(), buffer->data(),
251 buffer->data() + buffer->data_size()); 251 buffer->data() + buffer->data_size());
252 media_codec->Reset(); 252 media_codec->Reset();
253 DecodeMediaFrame(media_codec.get(), &chunk[0], chunk.size(), 253 DecodeMediaFrame(media_codec.get(), &chunk[0], chunk.size(),
254 base::TimeDelta::FromMicroseconds(10000000), 254 base::TimeDelta::FromMicroseconds(10000000),
255 base::TimeDelta::FromMicroseconds(9900000)); 255 base::TimeDelta::FromMicroseconds(9900000));
256 256
257 // Simulate a seek to 5 seconds. 257 // Simulate a seek to 5 seconds.
258 media_codec->Reset(); 258 media_codec->Reset();
259 DecodeMediaFrame(media_codec.get(), &chunk[0], chunk.size(), 259 DecodeMediaFrame(media_codec.get(), &chunk[0], chunk.size(),
260 base::TimeDelta::FromMicroseconds(5000000), 260 base::TimeDelta::FromMicroseconds(5000000),
261 base::TimeDelta::FromMicroseconds(4900000)); 261 base::TimeDelta::FromMicroseconds(4900000));
262 } 262 }
263 263
264 TEST(MediaCodecBridgeTest, CreateUnsupportedCodec) { 264 TEST(MediaCodecBridgeTest, CreateUnsupportedCodec) {
265 EXPECT_EQ(NULL, AudioCodecBridge::Create(kUnknownAudioCodec)); 265 EXPECT_EQ(NULL, AudioCodecBridge::Create(kUnknownAudioCodec));
266 EXPECT_EQ(NULL, VideoCodecBridge::Create(kUnknownVideoCodec)); 266 EXPECT_EQ(NULL, VideoCodecBridge::Create(kUnknownVideoCodec, false));
267 } 267 }
268 268
269 } // namespace media 269 } // namespace media
OLDNEW
« no previous file with comments | « media/base/android/media_codec_bridge.cc ('k') | media/base/android/media_drm_bridge.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698