diff options
author | vigneshv@chromium.org <vigneshv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-22 12:43:22 +0000 |
---|---|---|
committer | vigneshv@chromium.org <vigneshv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-22 12:43:22 +0000 |
commit | 05e78a90a52f8af3b66b4991f67684d008abc6de (patch) | |
tree | 56eae3a56c831d2bd41cb23eb20e349640983bc9 /media/base/decoder_buffer.cc | |
parent | e70d98d66f19052f5abf3324f7094a2206887ba2 (diff) | |
download | chromium_src-05e78a90a52f8af3b66b4991f67684d008abc6de.zip chromium_src-05e78a90a52f8af3b66b4991f67684d008abc6de.tar.gz chromium_src-05e78a90a52f8af3b66b4991f67684d008abc6de.tar.bz2 |
Adding VP8 Alpha support in Media Source
Adding support for playback of VP8 videos with Alpha Channel through the
Media Source API.
BUG=242357
TEST=VP8 Alpha Streams play properly via Media Source
Review URL: https://chromiumcodereview.appspot.com/15342004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@201496 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/base/decoder_buffer.cc')
-rw-r--r-- | media/base/decoder_buffer.cc | 20 |
1 files changed, 5 insertions, 15 deletions
diff --git a/media/base/decoder_buffer.cc b/media/base/decoder_buffer.cc index aec4521..d3acc26 100644 --- a/media/base/decoder_buffer.cc +++ b/media/base/decoder_buffer.cc @@ -15,30 +15,20 @@ DecoderBuffer::DecoderBuffer(int size) Initialize(); } -DecoderBuffer::DecoderBuffer(const uint8* data, int size) - : size_(size), - side_data_size_(0) { - if (!data) { - CHECK_EQ(size_, 0); - return; - } - - Initialize(); - memcpy(data_.get(), data, size_); -} - DecoderBuffer::DecoderBuffer(const uint8* data, int size, const uint8* side_data, int side_data_size) : size_(size), side_data_size_(side_data_size) { if (!data) { CHECK_EQ(size_, 0); + CHECK(!side_data); return; } Initialize(); memcpy(data_.get(), data, size_); - memcpy(side_data_.get(), side_data, side_data_size_); + if (side_data) + memcpy(side_data_.get(), side_data, side_data_size_); } DecoderBuffer::~DecoderBuffer() {} @@ -60,7 +50,7 @@ scoped_refptr<DecoderBuffer> DecoderBuffer::CopyFrom(const uint8* data, int data_size) { // If you hit this CHECK you likely have a bug in a demuxer. Go fix it. CHECK(data); - return make_scoped_refptr(new DecoderBuffer(data, data_size)); + return make_scoped_refptr(new DecoderBuffer(data, data_size, NULL, 0)); } // static @@ -77,7 +67,7 @@ scoped_refptr<DecoderBuffer> DecoderBuffer::CopyFrom(const uint8* data, // static scoped_refptr<DecoderBuffer> DecoderBuffer::CreateEOSBuffer() { - return make_scoped_refptr(new DecoderBuffer(NULL, 0)); + return make_scoped_refptr(new DecoderBuffer(NULL, 0, NULL, 0)); } base::TimeDelta DecoderBuffer::GetTimestamp() const { |