diff options
author | qinmin <qinmin@chromium.org> | 2015-01-28 12:57:18 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-01-28 20:58:09 +0000 |
commit | 6f185c3f517b95fcfbeff5c8361aba5389c4215e (patch) | |
tree | 42ea0aa021485aa1f6a2aa356976e6ccc8d37d67 /media | |
parent | 24c82bc3a6b006c8792be56faa35b7deff8c0582 (diff) | |
download | chromium_src-6f185c3f517b95fcfbeff5c8361aba5389c4215e.zip chromium_src-6f185c3f517b95fcfbeff5c8361aba5389c4215e.tar.gz chromium_src-6f185c3f517b95fcfbeff5c8361aba5389c4215e.tar.bz2 |
Passing key frame info flag renderer to browser process
For MediaSourcePlayer, we can use this flag to reduce the browser seek when codec is recreated.
Will implement the logic to reduce browser seek in a follow up CL.
BUG=304234
Review URL: https://codereview.chromium.org/872253008
Cr-Commit-Position: refs/heads/master@{#313579}
Diffstat (limited to 'media')
-rw-r--r-- | media/base/android/demuxer_stream_player_params.cc | 2 | ||||
-rw-r--r-- | media/base/android/demuxer_stream_player_params.h | 3 | ||||
-rw-r--r-- | media/base/android/media_decoder_job.cc | 8 | ||||
-rw-r--r-- | media/base/android/media_source_player_unittest.cc | 2 |
4 files changed, 8 insertions, 7 deletions
diff --git a/media/base/android/demuxer_stream_player_params.cc b/media/base/android/demuxer_stream_player_params.cc index ec589c0..5c2a11f 100644 --- a/media/base/android/demuxer_stream_player_params.cc +++ b/media/base/android/demuxer_stream_player_params.cc @@ -18,7 +18,7 @@ DemuxerConfigs::DemuxerConfigs() DemuxerConfigs::~DemuxerConfigs() {} -AccessUnit::AccessUnit() : end_of_stream(false) {} +AccessUnit::AccessUnit() : is_end_of_stream(false), is_key_frame(false) {} AccessUnit::~AccessUnit() {} diff --git a/media/base/android/demuxer_stream_player_params.h b/media/base/android/demuxer_stream_player_params.h index 8d10f08..cb8ae90e 100644 --- a/media/base/android/demuxer_stream_player_params.h +++ b/media/base/android/demuxer_stream_player_params.h @@ -41,13 +41,14 @@ struct MEDIA_EXPORT AccessUnit { ~AccessUnit(); DemuxerStream::Status status; - bool end_of_stream; + bool is_end_of_stream; // TODO(ycheo): Use the shared memory to transfer the block data. std::vector<uint8> data; base::TimeDelta timestamp; std::vector<char> key_id; std::vector<char> iv; std::vector<media::SubsampleEntry> subsamples; + bool is_key_frame; }; struct MEDIA_EXPORT DemuxerData { diff --git a/media/base/android/media_decoder_job.cc b/media/base/android/media_decoder_job.cc index 42ace24..41b74a0 100644 --- a/media/base/android/media_decoder_job.cc +++ b/media/base/android/media_decoder_job.cc @@ -45,7 +45,7 @@ MediaDecoderJob::MediaDecoderJob( drm_bridge_(NULL), drain_decoder_(false) { InitializeReceivedData(); - eos_unit_.end_of_stream = true; + eos_unit_.is_end_of_stream = true; } MediaDecoderJob::~MediaDecoderJob() { @@ -246,7 +246,7 @@ MediaCodecStatus MediaDecoderJob::QueueInputBuffer(const AccessUnit& unit) { // TODO(qinmin): skip frames if video is falling far behind. DCHECK_GE(input_buf_index, 0); - if (unit.end_of_stream || unit.data.empty()) { + if (unit.is_end_of_stream || unit.data.empty()) { media_codec_bridge_->QueueEOS(input_buf_index); return MEDIA_CODEC_INPUT_END_OF_STREAM; } @@ -386,7 +386,7 @@ void MediaDecoderJob::DecodeInternal( } if (skip_eos_enqueue_) { - if (unit.end_of_stream || unit.data.empty()) { + if (unit.is_end_of_stream || unit.data.empty()) { input_eos_encountered_ = true; output_eos_encountered_ = true; callback.Run(MEDIA_CODEC_OUTPUT_END_OF_STREAM, kNoTimestamp(), @@ -591,7 +591,7 @@ void MediaDecoderJob::RequestCurrentChunkIfEmpty() { current_demuxer_data_index_ = inactive_demuxer_data_index(); const AccessUnit last_access_unit = received_data_[current_demuxer_data_index_].access_units.back(); - if (!last_access_unit.end_of_stream && + if (!last_access_unit.is_end_of_stream && last_access_unit.status != DemuxerStream::kAborted) { RequestData(base::Closure()); } diff --git a/media/base/android/media_source_player_unittest.cc b/media/base/android/media_source_player_unittest.cc index 376e0b1..5b9a0e9 100644 --- a/media/base/android/media_source_player_unittest.cc +++ b/media/base/android/media_source_player_unittest.cc @@ -423,7 +423,7 @@ class MediaSourcePlayerTest : public testing::Test { data.type = is_audio ? DemuxerStream::AUDIO : DemuxerStream::VIDEO; data.access_units.resize(1); data.access_units[0].status = DemuxerStream::kOk; - data.access_units[0].end_of_stream = true; + data.access_units[0].is_end_of_stream = true; return data; } |