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

Side by Side Diff: media/filters/ffmpeg_audio_decoder.cc

Issue 17315021: Refactored DataBuffer to use unix_hacker style methods. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Inlined getters and setters on DataBuffer 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
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 #include "media/filters/ffmpeg_audio_decoder.h" 5 #include "media/filters/ffmpeg_audio_decoder.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback_helpers.h" 8 #include "base/callback_helpers.h"
9 #include "base/location.h" 9 #include "base/location.h"
10 #include "base/message_loop/message_loop_proxy.h" 10 #include "base/message_loop/message_loop_proxy.h"
(...skipping 452 matching lines...) Expand 10 before | Expand all | Expand 10 after
463 frames_to_interleave *= codec_context_->channels; 463 frames_to_interleave *= codec_context_->channels;
464 } 464 }
465 465
466 converter_bus_->set_frames(total_frames); 466 converter_bus_->set_frames(total_frames);
467 for (int i = 0; i < converter_bus_->channels(); ++i) { 467 for (int i = 0; i < converter_bus_->channels(); ++i) {
468 converter_bus_->SetChannelData(i, reinterpret_cast<float*>( 468 converter_bus_->SetChannelData(i, reinterpret_cast<float*>(
469 av_frame_->extended_data[i])); 469 av_frame_->extended_data[i]));
470 } 470 }
471 471
472 output = new DataBuffer(decoded_audio_size); 472 output = new DataBuffer(decoded_audio_size);
473 output->SetDataSize(decoded_audio_size); 473 output->set_data_size(decoded_audio_size);
474 474
475 DCHECK_EQ(frames_to_interleave, converter_bus_->frames() - skip_frames); 475 DCHECK_EQ(frames_to_interleave, converter_bus_->frames() - skip_frames);
476 converter_bus_->ToInterleavedPartial( 476 converter_bus_->ToInterleavedPartial(
477 skip_frames, frames_to_interleave, bits_per_channel_ / 8, 477 skip_frames, frames_to_interleave, bits_per_channel_ / 8,
478 output->GetWritableData()); 478 output->writable_data());
479 } else { 479 } else {
480 output = DataBuffer::CopyFrom( 480 output = DataBuffer::CopyFrom(
481 av_frame_->extended_data[0] + start_sample * bytes_per_frame_, 481 av_frame_->extended_data[0] + start_sample * bytes_per_frame_,
482 decoded_audio_size); 482 decoded_audio_size);
483 } 483 }
484 output->SetTimestamp(output_timestamp_helper_->GetTimestamp()); 484 output->set_timestamp(output_timestamp_helper_->GetTimestamp());
485 output->SetDuration( 485 output->set_duration(
486 output_timestamp_helper_->GetDuration(decoded_audio_size)); 486 output_timestamp_helper_->GetDuration(decoded_audio_size));
487 output_timestamp_helper_->AddBytes(decoded_audio_size); 487 output_timestamp_helper_->AddBytes(decoded_audio_size);
488 } else if (IsEndOfStream(result, decoded_audio_size, input) && 488 } else if (IsEndOfStream(result, decoded_audio_size, input) &&
489 !skip_eos_append) { 489 !skip_eos_append) {
490 DCHECK_EQ(packet.size, 0); 490 DCHECK_EQ(packet.size, 0);
491 output = DataBuffer::CreateEOSBuffer(); 491 output = DataBuffer::CreateEOSBuffer();
492 } 492 }
493 493
494 if (output.get()) { 494 if (output.get()) {
495 QueuedAudioBuffer queue_entry = { kOk, output }; 495 QueuedAudioBuffer queue_entry = { kOk, output };
496 queued_audio_.push_back(queue_entry); 496 queued_audio_.push_back(queue_entry);
497 } 497 }
498 498
499 // Decoding finished successfully, update statistics. 499 // Decoding finished successfully, update statistics.
500 if (result > 0) { 500 if (result > 0) {
501 PipelineStatistics statistics; 501 PipelineStatistics statistics;
502 statistics.audio_bytes_decoded = result; 502 statistics.audio_bytes_decoded = result;
503 statistics_cb_.Run(statistics); 503 statistics_cb_.Run(statistics);
504 } 504 }
505 } while (packet.size > 0); 505 } while (packet.size > 0);
506 } 506 }
507 507
508 } // namespace media 508 } // namespace media
OLDNEW
« no previous file with comments | « media/filters/decrypting_audio_decoder_unittest.cc ('k') | media/filters/ffmpeg_audio_decoder_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698