| Index: media/base/android/video_decoder_job.cc
|
| diff --git a/media/base/android/video_decoder_job.cc b/media/base/android/video_decoder_job.cc
|
| index 3e4f684163dcb573f7f445d499e97f13c10783e3..d4e5f1e2987f19cdd7f39ad8329a89dac51316d4 100644
|
| --- a/media/base/android/video_decoder_job.cc
|
| +++ b/media/base/android/video_decoder_job.cc
|
| @@ -92,6 +92,26 @@ void VideoDecoderJob::UpdateDemuxerConfigs(const DemuxerConfigs& configs) {
|
| set_is_content_encrypted(configs.is_video_encrypted);
|
| }
|
|
|
| +bool VideoDecoderJob::IsCodecReconfigureNeeded(
|
| + const DemuxerConfigs& configs) const {
|
| + if (!media_codec_bridge_)
|
| + return true;
|
| +
|
| + if (!AreDemuxerConfigsChanged(configs))
|
| + return false;
|
| +
|
| + bool only_size_changed = false;
|
| + if (video_codec_ == configs.video_codec &&
|
| + is_content_encrypted() == configs.is_video_encrypted) {
|
| + only_size_changed = true;
|
| + }
|
| +
|
| + return !only_size_changed ||
|
| + !static_cast<VideoCodecBridge*>(media_codec_bridge_.get())->
|
| + IsAdaptivePlaybackSupported(configs.video_size.width(),
|
| + configs.video_size.height());
|
| +}
|
| +
|
| bool VideoDecoderJob::AreDemuxerConfigsChanged(
|
| const DemuxerConfigs& configs) const {
|
| return video_codec_ != configs.video_codec ||
|
|
|