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

Issue 2642823004: media: Fix MediaCodecAudioDecoder reinitialization (Closed)

Created:
3 years, 11 months ago by xhwang
Modified:
3 years, 11 months ago
CC:
chromium-reviews, feature-media-reviews_chromium.org, posciak+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

media: Fix MediaCodecAudioDecoder reinitialization According to media::AudioDecoder documentation, a decoder can be reinitialized with a different config after it's previously initialized. In this case, the decoder should drop all internal buffers and reset to a clean state. Currently this is not supported by MediaCodecAudioDecoder and running the newly added test would cause DCHECKs to fire. This CL fixes MediaCodecAudioDecoder to support reinitialization, where it will always call SetInitialConfiguration() and CreateMediaCodecLoop() to initialize the decoder with the new config. New unit tests are added to cover this case. As part of the process I also made some cleanup changes in the unit test file. BUG=679095 TEST=New test added. Review-Url: https://codereview.chromium.org/2642823004 Cr-Commit-Position: refs/heads/master@{#445280} Committed: https://chromium.googlesource.com/chromium/src/+/2c1f8ed028edcb44c954cb2a0625a8f278933481

Patch Set 1 : fix with new test and some test cleanup/refactoring #

Patch Set 2 : reorder only #

Patch Set 3 : Android macro fix #

Total comments: 9

Patch Set 4 : dcheck and more tests #

Patch Set 5 : media: Fix MediaCodecAudioDecoder reinitialization #

Patch Set 6 : rebase #

Patch Set 7 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+231 lines, -144 lines) Patch
M media/filters/android/media_codec_audio_decoder.cc View 1 2 3 4 2 chunks +17 lines, -3 lines 0 comments Download
M media/filters/audio_decoder_unittest.cc View 1 2 3 4 5 6 15 chunks +214 lines, -141 lines 0 comments Download

Messages

Total messages: 63 (43 generated)
xhwang
PTAL
3 years, 11 months ago (2017-01-19 17:06:59 UTC) #23
xhwang
Forgot to mention. PS1 will give you a nice diff. PS2 is the same as ...
3 years, 11 months ago (2017-01-19 17:30:55 UTC) #24
xhwang
timav: FYI
3 years, 11 months ago (2017-01-19 17:31:20 UTC) #26
DaleCurtis
lgtm https://codereview.chromium.org/2642823004/diff/120001/media/filters/audio_decoder_unittest.cc File media/filters/audio_decoder_unittest.cc (right): https://codereview.chromium.org/2642823004/diff/120001/media/filters/audio_decoder_unittest.cc#newcode151 media/filters/audio_decoder_unittest.cc:151: #if defined(OS_ANDROID) Could probably use mime_util_internal for this ...
3 years, 11 months ago (2017-01-19 18:09:29 UTC) #27
Tima Vaisburd
Could you, please, add more details in the CL description, what does this fix do? ...
3 years, 11 months ago (2017-01-19 21:43:57 UTC) #28
xhwang
Tima: Updated CL description. PTAL again! https://codereview.chromium.org/2642823004/diff/120001/media/filters/android/media_codec_audio_decoder.cc File media/filters/android/media_codec_audio_decoder.cc (right): https://codereview.chromium.org/2642823004/diff/120001/media/filters/android/media_codec_audio_decoder.cc#newcode60 media/filters/android/media_codec_audio_decoder.cc:60: DCHECK_NE(state_, STATE_WAITING_FOR_MEDIA_CRYPTO); On ...
3 years, 11 months ago (2017-01-19 22:36:06 UTC) #30
Tima Vaisburd
https://codereview.chromium.org/2642823004/diff/120001/media/filters/android/media_codec_audio_decoder.cc File media/filters/android/media_codec_audio_decoder.cc (right): https://codereview.chromium.org/2642823004/diff/120001/media/filters/android/media_codec_audio_decoder.cc#newcode60 media/filters/android/media_codec_audio_decoder.cc:60: DCHECK_NE(state_, STATE_WAITING_FOR_MEDIA_CRYPTO); On 2017/01/19 21:43:57, Tima Vaisburd wrote: > ...
3 years, 11 months ago (2017-01-19 23:22:38 UTC) #31
Tima Vaisburd
https://codereview.chromium.org/2642823004/diff/120001/media/filters/android/media_codec_audio_decoder.cc File media/filters/android/media_codec_audio_decoder.cc (right): https://codereview.chromium.org/2642823004/diff/120001/media/filters/android/media_codec_audio_decoder.cc#newcode60 media/filters/android/media_codec_audio_decoder.cc:60: DCHECK_NE(state_, STATE_WAITING_FOR_MEDIA_CRYPTO); On 2017/01/19 23:22:38, Tima Vaisburd wrote: > ...
3 years, 11 months ago (2017-01-19 23:25:41 UTC) #32
xhwang
https://codereview.chromium.org/2642823004/diff/120001/media/filters/android/media_codec_audio_decoder.cc File media/filters/android/media_codec_audio_decoder.cc (right): https://codereview.chromium.org/2642823004/diff/120001/media/filters/android/media_codec_audio_decoder.cc#newcode60 media/filters/android/media_codec_audio_decoder.cc:60: DCHECK_NE(state_, STATE_WAITING_FOR_MEDIA_CRYPTO); On 2017/01/19 23:22:38, Tima Vaisburd wrote: > ...
3 years, 11 months ago (2017-01-20 18:49:03 UTC) #34
Tima Vaisburd
https://codereview.chromium.org/2642823004/diff/120001/media/filters/android/media_codec_audio_decoder.cc File media/filters/android/media_codec_audio_decoder.cc (right): https://codereview.chromium.org/2642823004/diff/120001/media/filters/android/media_codec_audio_decoder.cc#newcode60 media/filters/android/media_codec_audio_decoder.cc:60: DCHECK_NE(state_, STATE_WAITING_FOR_MEDIA_CRYPTO); On 2017/01/20 18:49:03, xhwang_slow wrote: > Also, ...
3 years, 11 months ago (2017-01-20 20:02:28 UTC) #37
xhwang
https://codereview.chromium.org/2642823004/diff/120001/media/filters/android/media_codec_audio_decoder.cc File media/filters/android/media_codec_audio_decoder.cc (right): https://codereview.chromium.org/2642823004/diff/120001/media/filters/android/media_codec_audio_decoder.cc#newcode60 media/filters/android/media_codec_audio_decoder.cc:60: DCHECK_NE(state_, STATE_WAITING_FOR_MEDIA_CRYPTO); On 2017/01/20 20:02:27, Tima Vaisburd wrote: > ...
3 years, 11 months ago (2017-01-20 20:07:49 UTC) #38
Tima Vaisburd
On 2017/01/20 20:07:49, xhwang_slow wrote: > https://codereview.chromium.org/2642823004/diff/120001/media/filters/android/media_codec_audio_decoder.cc > File media/filters/android/media_codec_audio_decoder.cc (right): > > https://codereview.chromium.org/2642823004/diff/120001/media/filters/android/media_codec_audio_decoder.cc#newcode60 > ...
3 years, 11 months ago (2017-01-20 21:11:44 UTC) #43
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2642823004/160001
3 years, 11 months ago (2017-01-21 00:58:51 UTC) #46
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/346957)
3 years, 11 months ago (2017-01-21 01:06:03 UTC) #48
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2642823004/160001
3 years, 11 months ago (2017-01-21 04:47:25 UTC) #50
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/347073)
3 years, 11 months ago (2017-01-21 04:52:43 UTC) #52
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2642823004/180001
3 years, 11 months ago (2017-01-21 05:49:58 UTC) #55
commit-bot: I haz the power
Try jobs failed on following builders: ios-device on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds/139972) ios-device-xcode-clang on master.tryserver.chromium.mac (JOB_FAILED, ...
3 years, 11 months ago (2017-01-21 05:51:30 UTC) #57
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2642823004/200001
3 years, 11 months ago (2017-01-21 06:35:26 UTC) #60
commit-bot: I haz the power
3 years, 11 months ago (2017-01-21 07:58:32 UTC) #63
Message was sent while issue was closed.
Committed patchset #7 (id:200001) as
https://chromium.googlesource.com/chromium/src/+/2c1f8ed028edcb44c954cb2a0625...

Powered by Google App Engine
This is Rietveld 408576698