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

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

Issue 17408005: Refactored DecoderBuffer to use unix_hacker_style naming. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@localrefactor
Patch Set: Created 7 years, 5 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
« no previous file with comments | « media/audio/win/audio_low_latency_output_win_unittest.cc ('k') | media/base/decoder_buffer.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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 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/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "media/base/android/media_codec_bridge.h" 9 #include "media/base/android/media_codec_bridge.h"
10 #include "media/base/android/media_player_manager.h" 10 #include "media/base/android/media_player_manager.h"
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 // Starts an audio decoder job. 102 // Starts an audio decoder job.
103 void StartAudioDecoderJob() { 103 void StartAudioDecoderJob() {
104 MediaPlayerHostMsg_DemuxerReady_Params params; 104 MediaPlayerHostMsg_DemuxerReady_Params params;
105 params.audio_codec = kCodecVorbis; 105 params.audio_codec = kCodecVorbis;
106 params.audio_channels = 2; 106 params.audio_channels = 2;
107 params.audio_sampling_rate = 44100; 107 params.audio_sampling_rate = 44100;
108 params.is_audio_encrypted = false; 108 params.is_audio_encrypted = false;
109 params.duration_ms = kDefaultDurationInMs; 109 params.duration_ms = kDefaultDurationInMs;
110 scoped_refptr<DecoderBuffer> buffer = ReadTestDataFile("vorbis-extradata"); 110 scoped_refptr<DecoderBuffer> buffer = ReadTestDataFile("vorbis-extradata");
111 params.audio_extra_data = std::vector<uint8>( 111 params.audio_extra_data = std::vector<uint8>(
112 buffer->GetData(), 112 buffer->data(),
113 buffer->GetData() + buffer->GetDataSize()); 113 buffer->data() + buffer->data_size());
114 Start(params); 114 Start(params);
115 } 115 }
116 116
117 void StartVideoDecoderJob() { 117 void StartVideoDecoderJob() {
118 MediaPlayerHostMsg_DemuxerReady_Params params; 118 MediaPlayerHostMsg_DemuxerReady_Params params;
119 params.video_codec = kCodecVP8; 119 params.video_codec = kCodecVP8;
120 params.video_size = gfx::Size(320, 240); 120 params.video_size = gfx::Size(320, 240);
121 params.is_video_encrypted = false; 121 params.is_video_encrypted = false;
122 params.duration_ms = kDefaultDurationInMs; 122 params.duration_ms = kDefaultDurationInMs;
123 Start(params); 123 Start(params);
124 } 124 }
125 125
126 // Starts decoding the data. 126 // Starts decoding the data.
127 void Start(const MediaPlayerHostMsg_DemuxerReady_Params& params) { 127 void Start(const MediaPlayerHostMsg_DemuxerReady_Params& params) {
128 player_->DemuxerReady(params); 128 player_->DemuxerReady(params);
129 player_->Start(); 129 player_->Start();
130 } 130 }
131 131
132 MediaPlayerHostMsg_ReadFromDemuxerAck_Params 132 MediaPlayerHostMsg_ReadFromDemuxerAck_Params
133 CreateReadFromDemuxerAckForAudio() { 133 CreateReadFromDemuxerAckForAudio() {
134 MediaPlayerHostMsg_ReadFromDemuxerAck_Params ack_params; 134 MediaPlayerHostMsg_ReadFromDemuxerAck_Params ack_params;
135 ack_params.type = DemuxerStream::AUDIO; 135 ack_params.type = DemuxerStream::AUDIO;
136 ack_params.access_units.resize(1); 136 ack_params.access_units.resize(1);
137 ack_params.access_units[0].status = DemuxerStream::kOk; 137 ack_params.access_units[0].status = DemuxerStream::kOk;
138 scoped_refptr<DecoderBuffer> buffer = ReadTestDataFile("vorbis-packet-0"); 138 scoped_refptr<DecoderBuffer> buffer = ReadTestDataFile("vorbis-packet-0");
139 ack_params.access_units[0].data = std::vector<uint8>( 139 ack_params.access_units[0].data = std::vector<uint8>(
140 buffer->GetData(), buffer->GetData() + buffer->GetDataSize()); 140 buffer->data(), buffer->data() + buffer->data_size());
141 // Vorbis needs 4 extra bytes padding on Android to decode properly. Check 141 // Vorbis needs 4 extra bytes padding on Android to decode properly. Check
142 // NuMediaExtractor.cpp in Android source code. 142 // NuMediaExtractor.cpp in Android source code.
143 uint8 padding[4] = { 0xff , 0xff , 0xff , 0xff }; 143 uint8 padding[4] = { 0xff , 0xff , 0xff , 0xff };
144 ack_params.access_units[0].data.insert( 144 ack_params.access_units[0].data.insert(
145 ack_params.access_units[0].data.end(), padding, padding + 4); 145 ack_params.access_units[0].data.end(), padding, padding + 4);
146 return ack_params; 146 return ack_params;
147 } 147 }
148 148
149 MediaPlayerHostMsg_ReadFromDemuxerAck_Params 149 MediaPlayerHostMsg_ReadFromDemuxerAck_Params
150 CreateReadFromDemuxerAckForVideo() { 150 CreateReadFromDemuxerAckForVideo() {
151 MediaPlayerHostMsg_ReadFromDemuxerAck_Params ack_params; 151 MediaPlayerHostMsg_ReadFromDemuxerAck_Params ack_params;
152 ack_params.type = DemuxerStream::VIDEO; 152 ack_params.type = DemuxerStream::VIDEO;
153 ack_params.access_units.resize(1); 153 ack_params.access_units.resize(1);
154 ack_params.access_units[0].status = DemuxerStream::kOk; 154 ack_params.access_units[0].status = DemuxerStream::kOk;
155 scoped_refptr<DecoderBuffer> buffer = 155 scoped_refptr<DecoderBuffer> buffer =
156 ReadTestDataFile("vp8-I-frame-320x240"); 156 ReadTestDataFile("vp8-I-frame-320x240");
157 ack_params.access_units[0].data = std::vector<uint8>( 157 ack_params.access_units[0].data = std::vector<uint8>(
158 buffer->GetData(), buffer->GetData() + buffer->GetDataSize()); 158 buffer->data(), buffer->data() + buffer->data_size());
159 return ack_params; 159 return ack_params;
160 } 160 }
161 161
162 base::TimeTicks StartTimeTicks() { 162 base::TimeTicks StartTimeTicks() {
163 return player_->start_time_ticks_; 163 return player_->start_time_ticks_;
164 } 164 }
165 165
166 protected: 166 protected:
167 scoped_ptr<MockMediaPlayerManager> manager_; 167 scoped_ptr<MockMediaPlayerManager> manager_;
168 scoped_ptr<MediaSourcePlayer> player_; 168 scoped_ptr<MediaSourcePlayer> player_;
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 354
355 // Test that when Start() is called, video decoder jobs will wait for audio 355 // Test that when Start() is called, video decoder jobs will wait for audio
356 // decoder job before start decoding the data. 356 // decoder job before start decoding the data.
357 MediaPlayerHostMsg_DemuxerReady_Params params; 357 MediaPlayerHostMsg_DemuxerReady_Params params;
358 params.audio_codec = kCodecVorbis; 358 params.audio_codec = kCodecVorbis;
359 params.audio_channels = 2; 359 params.audio_channels = 2;
360 params.audio_sampling_rate = 44100; 360 params.audio_sampling_rate = 44100;
361 params.is_audio_encrypted = false; 361 params.is_audio_encrypted = false;
362 scoped_refptr<DecoderBuffer> buffer = ReadTestDataFile("vorbis-extradata"); 362 scoped_refptr<DecoderBuffer> buffer = ReadTestDataFile("vorbis-extradata");
363 params.audio_extra_data = std::vector<uint8>( 363 params.audio_extra_data = std::vector<uint8>(
364 buffer->GetData(), 364 buffer->data(),
365 buffer->GetData() + buffer->GetDataSize()); 365 buffer->data() + buffer->data_size());
366 params.video_codec = kCodecVP8; 366 params.video_codec = kCodecVP8;
367 params.video_size = gfx::Size(320, 240); 367 params.video_size = gfx::Size(320, 240);
368 params.is_video_encrypted = false; 368 params.is_video_encrypted = false;
369 params.duration_ms = kDefaultDurationInMs; 369 params.duration_ms = kDefaultDurationInMs;
370 Start(params); 370 Start(params);
371 EXPECT_EQ(0, manager_->num_requests()); 371 EXPECT_EQ(0, manager_->num_requests());
372 372
373 scoped_refptr<gfx::SurfaceTextureBridge> surface_texture( 373 scoped_refptr<gfx::SurfaceTextureBridge> surface_texture(
374 new gfx::SurfaceTextureBridge(0)); 374 new gfx::SurfaceTextureBridge(0));
375 gfx::ScopedJavaSurface surface(surface_texture.get()); 375 gfx::ScopedJavaSurface surface(surface_texture.get());
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
414 base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(100)); 414 base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(100));
415 manager_->message_loop()->RunUntilIdle(); 415 manager_->message_loop()->RunUntilIdle();
416 416
417 // Send new data to the decoder. This should reset the start time ticks. 417 // Send new data to the decoder. This should reset the start time ticks.
418 player_->ReadFromDemuxerAck(CreateReadFromDemuxerAckForAudio()); 418 player_->ReadFromDemuxerAck(CreateReadFromDemuxerAckForAudio());
419 base::TimeTicks current = StartTimeTicks(); 419 base::TimeTicks current = StartTimeTicks();
420 EXPECT_LE(100.0, (current - previous).InMillisecondsF()); 420 EXPECT_LE(100.0, (current - previous).InMillisecondsF());
421 } 421 }
422 422
423 } // namespace media 423 } // namespace media
OLDNEW
« no previous file with comments | « media/audio/win/audio_low_latency_output_win_unittest.cc ('k') | media/base/decoder_buffer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698