| Index: media/base/decoder_buffer.cc
|
| diff --git a/media/base/decoder_buffer.cc b/media/base/decoder_buffer.cc
|
| index 673610b68749a1bda9c474aab36cb2ff4e2eeb16..7ef12ae8f7c3df68f2c2f3f031fc1f73118e8bb5 100644
|
| --- a/media/base/decoder_buffer.cc
|
| +++ b/media/base/decoder_buffer.cc
|
| @@ -12,14 +12,17 @@ namespace media {
|
|
|
| DecoderBuffer::DecoderBuffer(int size)
|
| : size_(size),
|
| - side_data_size_(0) {
|
| + side_data_size_(0),
|
| + is_keyframe_(false) {
|
| Initialize();
|
| }
|
|
|
| DecoderBuffer::DecoderBuffer(const uint8* data, int size,
|
| - const uint8* side_data, int side_data_size)
|
| + const uint8* side_data, int side_data_size,
|
| + bool is_keyframe)
|
| : size_(size),
|
| - side_data_size_(side_data_size) {
|
| + side_data_size_(side_data_size),
|
| + is_keyframe_(is_keyframe) {
|
| if (!data) {
|
| CHECK_EQ(size_, 0);
|
| CHECK(!side_data);
|
| @@ -49,27 +52,31 @@ void DecoderBuffer::Initialize() {
|
|
|
| // static
|
| scoped_refptr<DecoderBuffer> DecoderBuffer::CopyFrom(const uint8* data,
|
| - int data_size) {
|
| + int data_size,
|
| + bool is_keyframe) {
|
| // 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, NULL, 0));
|
| + return make_scoped_refptr(new DecoderBuffer(data, data_size, NULL, 0,
|
| + is_keyframe));
|
| }
|
|
|
| // static
|
| scoped_refptr<DecoderBuffer> DecoderBuffer::CopyFrom(const uint8* data,
|
| int data_size,
|
| const uint8* side_data,
|
| - int side_data_size) {
|
| + int side_data_size,
|
| + bool is_keyframe) {
|
| // If you hit this CHECK you likely have a bug in a demuxer. Go fix it.
|
| CHECK(data);
|
| CHECK(side_data);
|
| return make_scoped_refptr(new DecoderBuffer(data, data_size,
|
| - side_data, side_data_size));
|
| + side_data, side_data_size,
|
| + is_keyframe));
|
| }
|
|
|
| // static
|
| scoped_refptr<DecoderBuffer> DecoderBuffer::CreateEOSBuffer() {
|
| - return make_scoped_refptr(new DecoderBuffer(NULL, 0, NULL, 0));
|
| + return make_scoped_refptr(new DecoderBuffer(NULL, 0, NULL, 0, false));
|
| }
|
|
|
| std::string DecoderBuffer::AsHumanReadableString() {
|
| @@ -82,6 +89,7 @@ std::string DecoderBuffer::AsHumanReadableString() {
|
| << " duration: " << duration_.InMicroseconds()
|
| << " size: " << size_
|
| << " side_data_size: " << side_data_size_
|
| + << " is_keyframe: " << is_keyframe_
|
| << " encrypted: " << (decrypt_config_ != NULL)
|
| << " discard_padding (ms): (" << discard_padding_.first.InMilliseconds()
|
| << ", " << discard_padding_.second.InMilliseconds() << ")";
|
|
|