summaryrefslogtreecommitdiffstats
path: root/media/base/decoder_buffer.cc
diff options
context:
space:
mode:
authorvigneshv@chromium.org <vigneshv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-22 12:43:22 +0000
committervigneshv@chromium.org <vigneshv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-22 12:43:22 +0000
commit05e78a90a52f8af3b66b4991f67684d008abc6de (patch)
tree56eae3a56c831d2bd41cb23eb20e349640983bc9 /media/base/decoder_buffer.cc
parente70d98d66f19052f5abf3324f7094a2206887ba2 (diff)
downloadchromium_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.cc20
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 {