Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(206)

Unified Diff: media/base/decoder_buffer.cc

Issue 712593003: Move key frame flag from StreamParserBuffer to DecoderBuffer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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() << ")";

Powered by Google App Engine
This is Rietveld 408576698