Chromium Code Reviews| Index: media/base/data_buffer.cc |
| diff --git a/media/base/data_buffer.cc b/media/base/data_buffer.cc |
| index b082a18a14bc6ad4f85aba1364c03bb8cbfc3a0c..7b0a48adf76af32e4df402db93ea16db41be9703 100644 |
| --- a/media/base/data_buffer.cc |
| +++ b/media/base/data_buffer.cc |
| @@ -20,31 +20,27 @@ DataBuffer::DataBuffer(scoped_array<uint8> buffer, int buffer_size) |
| DataBuffer::DataBuffer(int buffer_size) |
| : Buffer(base::TimeDelta(), base::TimeDelta()), |
| - data_(new uint8[buffer_size]), |
| buffer_size_(buffer_size), |
| data_size_(0) { |
| - CHECK(data_.get()) << "DataBuffer ctor failed to allocate memory"; |
| - // Prevent arbitrary pointers. |
| - if (buffer_size == 0) |
| - data_.reset(NULL); |
| + if (buffer_size > 0) { |
| + int padding_size = 0; |
| +#if !defined(OS_ANDROID) |
| + // FFmpeg assumes all input buffers are padded with this value. |
| + padding_size = FF_INPUT_BUFFER_PADDING_SIZE; |
| +#endif |
| + data_.reset(new uint8[buffer_size + padding_size]), |
| + memset(data_.get() + buffer_size, 0, padding_size); |
| + } |
| } |
| DataBuffer::~DataBuffer() {} |
| scoped_refptr<DataBuffer> DataBuffer::CopyFrom(const uint8* data, |
| int data_size) { |
| - int padding_size = 0; |
| -#if !defined(OS_ANDROID) |
| - // Why FF_INPUT_BUFFER_PADDING_SIZE? FFmpeg assumes all input buffers are |
| - // padded with this value. |
| - padding_size = FF_INPUT_BUFFER_PADDING_SIZE; |
| -#endif |
| - |
| scoped_refptr<DataBuffer> data_buffer( |
|
acolwell GONE FROM CHROMIUM
2012/05/01 22:08:50
nit: fits on one line now?
vrk (LEFT CHROMIUM)
2012/05/02 17:24:51
Done.
|
| - new DataBuffer(data_size + padding_size)); |
| + new DataBuffer(data_size)); |
| memcpy(data_buffer->data_.get(), data, data_size); |
|
Ami GONE FROM CHROMIUM
2012/05/01 22:34:16
If you put this in a protected DataBuffer ctor, th
vrk (LEFT CHROMIUM)
2012/05/02 17:24:51
Done.
|
| - memset(data_buffer->data_.get() + data_size, 0, padding_size); |
| data_buffer->SetDataSize(data_size); |
|
Ami GONE FROM CHROMIUM
2012/05/01 22:34:16
Shouldn't the ctor be in charge of this call?
(afa
vrk (LEFT CHROMIUM)
2012/05/02 17:24:51
Done.
|
| return data_buffer; |
| } |