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

Unified Diff: media/filters/decrypting_demuxer_stream.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/filters/decrypting_demuxer_stream.cc
diff --git a/media/filters/decrypting_demuxer_stream.cc b/media/filters/decrypting_demuxer_stream.cc
index c4e6b8478380de81a70ee42ac894d376a3cf770a..02d8d89ba82210c9d18aef79f6d4349b6261c530 100644
--- a/media/filters/decrypting_demuxer_stream.cc
+++ b/media/filters/decrypting_demuxer_stream.cc
@@ -241,7 +241,7 @@ void DecryptingDemuxerStream::DecryptBuffer(
if (buffer->decrypt_config()->iv().empty()) {
DVLOG(2) << "DoDecryptBuffer() - clear buffer.";
scoped_refptr<DecoderBuffer> decrypted = DecoderBuffer::CopyFrom(
- buffer->data(), buffer->data_size());
+ buffer->data(), buffer->data_size(), buffer->is_keyframe());
decrypted->set_timestamp(buffer->timestamp());
decrypted->set_duration(buffer->duration());
state_ = kIdle;
@@ -307,8 +307,15 @@ void DecryptingDemuxerStream::DeliverBuffer(
}
DCHECK_EQ(status, Decryptor::kSuccess);
+
+ // Copy the keyframe flag from the encrypted to decrypted buffer, assuming
+ // that the decryptor initialized the flag to false.
+ if (pending_buffer_to_decrypt_->is_keyframe())
+ decrypted_buffer->set_is_keyframe(true);
+
pending_buffer_to_decrypt_ = NULL;
state_ = kIdle;
+
base::ResetAndReturn(&read_cb_).Run(kOk, decrypted_buffer);
}

Powered by Google App Engine
This is Rietveld 408576698