Chromium Code Reviews| Index: media/base/decoder_buffer.cc |
| diff --git a/media/base/decoder_buffer.cc b/media/base/decoder_buffer.cc |
| index 03f9bbbc566abc70abb878bc0dc00b34c82b7093..09e2011626e852f7a0290eb40daeeb8087f0841c 100644 |
| --- a/media/base/decoder_buffer.cc |
| +++ b/media/base/decoder_buffer.cc |
| @@ -10,12 +10,14 @@ |
| namespace media { |
| DecoderBuffer::DecoderBuffer(int size) |
| - : size_(size) { |
| + : size_(size), |
| + side_data_size_(0) { |
| Initialize(); |
| } |
| DecoderBuffer::DecoderBuffer(const uint8* data, int size) |
| - : size_(size) { |
| + : size_(size), |
| + side_data_size_(0) { |
| if (!data) { |
| CHECK_EQ(size_, 0); |
| return; |
| @@ -32,6 +34,7 @@ void DecoderBuffer::Initialize() { |
| data_.reset(reinterpret_cast<uint8*>( |
| base::AlignedAlloc(size_ + kPaddingSize, kAlignmentSize))); |
| memset(data_.get() + size_, 0, kPaddingSize); |
| + side_data_size_ = 0; |
| } |
| // static |
| @@ -42,6 +45,16 @@ scoped_refptr<DecoderBuffer> DecoderBuffer::CopyFrom(const uint8* data, |
| return make_scoped_refptr(new DecoderBuffer(data, data_size)); |
| } |
| +void DecoderBuffer::SetSideData(const uint8* side_data, int side_data_size) { |
| + DCHECK(side_data); |
| + DCHECK_GE(side_data_size_, 0); |
| + side_data_size_ = side_data_size; |
| + side_data_.reset(reinterpret_cast<uint8*>( |
| + base::AlignedAlloc(side_data_size_ + kPaddingSize, kAlignmentSize))); |
| + memset(side_data_.get() + side_data_size_, 0, kPaddingSize); |
| + memcpy(side_data_.get(), side_data, side_data_size_); |
| +} |
| + |
| // static |
| scoped_refptr<DecoderBuffer> DecoderBuffer::CreateEOSBuffer() { |
| return make_scoped_refptr(new DecoderBuffer(NULL, 0)); |
| @@ -82,6 +95,14 @@ int DecoderBuffer::GetDataSize() const { |
| return size_; |
| } |
| +const uint8* DecoderBuffer::GetSideData() const { |
| + return side_data_.get(); |
|
scherkus (not reviewing)
2013/02/22 23:18:01
add DCHECK(!IsEndOfStream());
vignesh
2013/02/25 21:51:42
Done.
|
| +} |
| + |
| +int DecoderBuffer::GetSideDataSize() const { |
| + return side_data_size_; |
|
scherkus (not reviewing)
2013/02/22 23:18:01
add DCHECK(!IsEndOfStream());
vignesh
2013/02/25 21:51:42
Done.
|
| +} |
| + |
| const DecryptConfig* DecoderBuffer::GetDecryptConfig() const { |
| DCHECK(!IsEndOfStream()); |
| return decrypt_config_.get(); |