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

Side by Side Diff: media/ffmpeg/ffmpeg_unittest.cc

Issue 286953005: Roll FFmpeg for M37. (Closed) Base URL: https://chromium.googlesource.com/chromium/src
Patch Set: Roll DEPS for ChromiumOS fixes. Created 6 years, 7 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/ffmpeg/ffmpeg_common.h ('k') | media/filters/audio_file_reader.cc » ('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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 // ffmpeg_unittests verify that the parts of the FFmpeg API that Chromium uses 5 // ffmpeg_unittests verify that the parts of the FFmpeg API that Chromium uses
6 // function as advertised for each media format that Chromium supports. This 6 // function as advertised for each media format that Chromium supports. This
7 // mostly includes stuff like reporting proper timestamps, seeking to 7 // mostly includes stuff like reporting proper timestamps, seeking to
8 // keyframes, and supporting certain features like reordered_opaque. 8 // keyframes, and supporting certain features like reordered_opaque.
9 // 9 //
10 10
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 bool end_of_stream = false; 226 bool end_of_stream = false;
227 227
228 AVPacket packet; 228 AVPacket packet;
229 if (audio_packets_.empty()) { 229 if (audio_packets_.empty()) {
230 av_init_packet(&packet); 230 av_init_packet(&packet);
231 end_of_stream = true; 231 end_of_stream = true;
232 } else { 232 } else {
233 memcpy(&packet, audio_packets_.peek(), sizeof(packet)); 233 memcpy(&packet, audio_packets_.peek(), sizeof(packet));
234 } 234 }
235 235
236 avcodec_get_frame_defaults(audio_buffer_.get()); 236 av_frame_unref(audio_buffer_.get());
237 result = avcodec_decode_audio4(av_audio_context(), audio_buffer_.get(), 237 result = avcodec_decode_audio4(av_audio_context(), audio_buffer_.get(),
238 &got_audio, &packet); 238 &got_audio, &packet);
239 if (!audio_packets_.empty()) { 239 if (!audio_packets_.empty()) {
240 audio_packets_.pop(); 240 audio_packets_.pop();
241 } 241 }
242 242
243 EXPECT_GE(result, 0) << "Audio decode error."; 243 EXPECT_GE(result, 0) << "Audio decode error.";
244 if (result < 0 || (got_audio == 0 && end_of_stream)) { 244 if (result < 0 || (got_audio == 0 && end_of_stream)) {
245 return false; 245 return false;
246 } 246 }
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
280 bool end_of_stream = false; 280 bool end_of_stream = false;
281 281
282 AVPacket packet; 282 AVPacket packet;
283 if (video_packets_.empty()) { 283 if (video_packets_.empty()) {
284 av_init_packet(&packet); 284 av_init_packet(&packet);
285 end_of_stream = true; 285 end_of_stream = true;
286 } else { 286 } else {
287 memcpy(&packet, video_packets_.peek(), sizeof(packet)); 287 memcpy(&packet, video_packets_.peek(), sizeof(packet));
288 } 288 }
289 289
290 avcodec_get_frame_defaults(video_buffer_.get()); 290 av_frame_unref(video_buffer_.get());
291 av_video_context()->reordered_opaque = packet.pts; 291 av_video_context()->reordered_opaque = packet.pts;
292 result = avcodec_decode_video2(av_video_context(), video_buffer_.get(), 292 result = avcodec_decode_video2(av_video_context(), video_buffer_.get(),
293 &got_picture, &packet); 293 &got_picture, &packet);
294 if (!video_packets_.empty()) { 294 if (!video_packets_.empty()) {
295 video_packets_.pop(); 295 video_packets_.pop();
296 } 296 }
297 297
298 EXPECT_GE(result, 0) << "Video decode error."; 298 EXPECT_GE(result, 0) << "Video decode error.";
299 if (result < 0 || (got_picture == 0 && end_of_stream)) { 299 if (result < 0 || (got_picture == 0 && end_of_stream)) {
300 return false; 300 return false;
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after
580 EXPECT_TRUE(StepDecodeVideo()); 580 EXPECT_TRUE(StepDecodeVideo());
581 VLOG(1) << decoded_video_time(); 581 VLOG(1) << decoded_video_time();
582 582
583 SeekTo(0.4); 583 SeekTo(0.4);
584 ReadRemainingFile(); 584 ReadRemainingFile();
585 EXPECT_TRUE(StepDecodeVideo()); 585 EXPECT_TRUE(StepDecodeVideo());
586 VLOG(1) << decoded_video_time(); 586 VLOG(1) << decoded_video_time();
587 } 587 }
588 588
589 } // namespace media 589 } // namespace media
OLDNEW
« no previous file with comments | « media/ffmpeg/ffmpeg_common.h ('k') | media/filters/audio_file_reader.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698