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

Issue 1932093002: Reland: Use actual audio channel count in Spitzer audio decoder (Closed)

Created:
4 years, 7 months ago by Tima Vaisburd
Modified:
4 years, 7 months ago
CC:
chromium-reviews, feature-media-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@bug607024
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Reland: Use actual audio channel count in Spitzer audio decoder The actual channel count used by MediaCodec for audio may be less than requested in case of multichannel AAC. MediaCodecAudioDecoder obtains the actual channel count in response to OUTPUT_FORMAT_CHANGED and uses it for the calculation of the sample length. In this CL we keep creating output buffers according to the requested configuration. If the actual number of channels is less than the requsted this CL fills the missing channels with zero data. The reland contains the fix for improper use of the |size| and |offset| obtained from DequeueOutputBuffer. The size of the useful decoded data chunk is |size| and does not depend on |offset|. BUG=607024 > Committed: https://crrev.com/f6d2c9a3aa0a72ff766a132ef7f245ea26f66dfc > Cr-Commit-Position: refs/heads/master@{#391416} Committed: https://crrev.com/bbcbcba694946898e54f0c8709f4226477e487e0 Cr-Commit-Position: refs/heads/master@{#391618}

Patch Set 1 #

Total comments: 12

Patch Set 2 : Avoided second copy by exposing MediaCodecBridge::GetOutputBufferAddress() #

Total comments: 4

Patch Set 3 : Rebased, addressed comments #

Patch Set 4 : Removed stale method in NdkMediaCodecBridge #

Patch Set 5 : Rebase only #

Patch Set 6 : Fix the use of out.offset: decoded data size does not depend on it. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+155 lines, -78 lines) Patch
M media/base/android/media_codec_bridge.h View 1 1 chunk +14 lines, -5 lines 0 comments Download
M media/base/android/media_codec_bridge.cc View 1 1 chunk +15 lines, -0 lines 0 comments Download
M media/base/android/ndk_media_codec_bridge.h View 1 1 chunk +4 lines, -4 lines 0 comments Download
M media/base/android/ndk_media_codec_bridge.cc View 1 2 3 1 chunk +8 lines, -8 lines 0 comments Download
M media/base/android/sdk_media_codec_bridge.h View 1 2 chunks +4 lines, -12 lines 0 comments Download
M media/base/android/sdk_media_codec_bridge.cc View 1 4 chunks +11 lines, -25 lines 0 comments Download
M media/filters/android/media_codec_audio_decoder.h View 1 2 chunks +4 lines, -0 lines 0 comments Download
M media/filters/android/media_codec_audio_decoder.cc View 1 2 3 4 5 4 chunks +95 lines, -24 lines 0 comments Download

Messages

Total messages: 53 (22 generated)
Tima Vaisburd
Dale, in this CL I tried to accommodate the unexpected number of channels within decoder, ...
4 years, 7 months ago (2016-04-28 23:05:55 UTC) #2
DaleCurtis
https://codereview.chromium.org/1932093002/diff/1/media/filters/android/media_codec_audio_decoder.cc File media/filters/android/media_codec_audio_decoder.cc (right): https://codereview.chromium.org/1932093002/diff/1/media/filters/android/media_codec_audio_decoder.cc#newcode612 media/filters/android/media_codec_audio_decoder.cc:612: sample_format, config_.channel_layout(), config_channel_count, It's okay to specify the real ...
4 years, 7 months ago (2016-04-29 18:00:05 UTC) #3
Tima Vaisburd
https://codereview.chromium.org/1932093002/diff/1/media/filters/android/media_codec_audio_decoder.cc File media/filters/android/media_codec_audio_decoder.cc (right): https://codereview.chromium.org/1932093002/diff/1/media/filters/android/media_codec_audio_decoder.cc#newcode612 media/filters/android/media_codec_audio_decoder.cc:612: sample_format, config_.channel_layout(), config_channel_count, On 2016/04/29 18:00:05, DaleCurtis wrote: > ...
4 years, 7 months ago (2016-04-29 18:52:26 UTC) #4
DaleCurtis
https://codereview.chromium.org/1932093002/diff/1/media/filters/android/media_codec_audio_decoder.cc File media/filters/android/media_codec_audio_decoder.cc (right): https://codereview.chromium.org/1932093002/diff/1/media/filters/android/media_codec_audio_decoder.cc#newcode612 media/filters/android/media_codec_audio_decoder.cc:612: sample_format, config_.channel_layout(), config_channel_count, On 2016/04/29 at 18:52:25, Tima Vaisburd ...
4 years, 7 months ago (2016-04-29 18:58:56 UTC) #6
Tima Vaisburd
https://codereview.chromium.org/1932093002/diff/1/media/filters/android/media_codec_audio_decoder.cc File media/filters/android/media_codec_audio_decoder.cc (right): https://codereview.chromium.org/1932093002/diff/1/media/filters/android/media_codec_audio_decoder.cc#newcode612 media/filters/android/media_codec_audio_decoder.cc:612: sample_format, config_.channel_layout(), config_channel_count, On 2016/04/29 18:58:55, DaleCurtis wrote: > ...
4 years, 7 months ago (2016-04-29 19:19:05 UTC) #7
DaleCurtis
https://codereview.chromium.org/1932093002/diff/1/media/filters/android/media_codec_audio_decoder.cc File media/filters/android/media_codec_audio_decoder.cc (right): https://codereview.chromium.org/1932093002/diff/1/media/filters/android/media_codec_audio_decoder.cc#newcode612 media/filters/android/media_codec_audio_decoder.cc:612: sample_format, config_.channel_layout(), config_channel_count, On 2016/04/29 at 19:19:05, Tima Vaisburd ...
4 years, 7 months ago (2016-04-29 19:22:28 UTC) #8
Tima Vaisburd
On 2016/04/29 19:22:28, DaleCurtis wrote: > > Please notice that this MediaCodec AAC behavior (i.e. ...
4 years, 7 months ago (2016-04-29 19:38:52 UTC) #9
DaleCurtis
On 2016/04/29 at 19:38:52, timav wrote: > On 2016/04/29 19:22:28, DaleCurtis wrote: > > > ...
4 years, 7 months ago (2016-04-29 19:48:01 UTC) #10
DaleCurtis
After discussion this seems like a better solution. https://codereview.chromium.org/1932093002/diff/1/media/filters/android/media_codec_audio_decoder.cc File media/filters/android/media_codec_audio_decoder.cc (right): https://codereview.chromium.org/1932093002/diff/1/media/filters/android/media_codec_audio_decoder.cc#newcode634 media/filters/android/media_codec_audio_decoder.cc:634: MediaCodecStatus ...
4 years, 7 months ago (2016-05-02 21:01:01 UTC) #11
chcunningham
Chatted with Dale - good with the plan for do it this way (for sake ...
4 years, 7 months ago (2016-05-02 22:31:23 UTC) #12
Tima Vaisburd
qinmin@: Min, please review as well since I modified MediaCodecBridge and made GetOutputBufferAddress public. https://codereview.chromium.org/1932093002/diff/1/media/filters/android/media_codec_audio_decoder.cc ...
4 years, 7 months ago (2016-05-02 23:55:35 UTC) #13
DaleCurtis
lgtm https://codereview.chromium.org/1932093002/diff/20001/media/filters/android/media_codec_audio_decoder.cc File media/filters/android/media_codec_audio_decoder.cc (right): https://codereview.chromium.org/1932093002/diff/20001/media/filters/android/media_codec_audio_decoder.cc#newcode68 media/filters/android/media_codec_audio_decoder.cc:68: // The planes are populated in the other ...
4 years, 7 months ago (2016-05-03 00:11:51 UTC) #14
chcunningham
lgtm
4 years, 7 months ago (2016-05-03 00:33:59 UTC) #15
qinmin
lgtm % comment https://codereview.chromium.org/1932093002/diff/20001/media/filters/android/media_codec_audio_decoder.cc File media/filters/android/media_codec_audio_decoder.cc (right): https://codereview.chromium.org/1932093002/diff/20001/media/filters/android/media_codec_audio_decoder.cc#newcode82 media/filters/android/media_codec_audio_decoder.cc:82: int16_t* src_sample = (int16_t*)src_frame + ch; ...
4 years, 7 months ago (2016-05-03 17:16:13 UTC) #16
Tima Vaisburd
https://codereview.chromium.org/1932093002/diff/1/media/filters/android/media_codec_audio_decoder.cc File media/filters/android/media_codec_audio_decoder.cc (right): https://codereview.chromium.org/1932093002/diff/1/media/filters/android/media_codec_audio_decoder.cc#newcode644 media/filters/android/media_codec_audio_decoder.cc:644: for (int ch = 0; ch < channel_count_; ++ch) ...
4 years, 7 months ago (2016-05-03 20:49:29 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1932093002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1932093002/40001
4 years, 7 months ago (2016-05-03 20:49:56 UTC) #20
commit-bot: I haz the power
Try jobs failed on following builders: android_arm64_dbg_recipe on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_arm64_dbg_recipe/builds/60396)
4 years, 7 months ago (2016-05-03 21:22:43 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1932093002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1932093002/60001
4 years, 7 months ago (2016-05-03 22:02:40 UTC) #25
commit-bot: I haz the power
Try jobs failed on following builders: ios_dbg_simulator_gn on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios_dbg_simulator_gn/builds/29109) ios_dbg_simulator_ninja on tryserver.chromium.mac (JOB_FAILED, ...
4 years, 7 months ago (2016-05-03 22:24:27 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1932093002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1932093002/60001
4 years, 7 months ago (2016-05-03 22:27:25 UTC) #29
commit-bot: I haz the power
Try jobs failed on following builders: ios_dbg_simulator_gn on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios_dbg_simulator_gn/builds/29134) ios_dbg_simulator_ninja on tryserver.chromium.mac (JOB_FAILED, ...
4 years, 7 months ago (2016-05-03 22:31:02 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1932093002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1932093002/60001
4 years, 7 months ago (2016-05-03 23:56:38 UTC) #33
commit-bot: I haz the power
Failed to apply the patch.
4 years, 7 months ago (2016-05-04 00:52:05 UTC) #35
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1932093002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1932093002/80001
4 years, 7 months ago (2016-05-04 01:06:01 UTC) #39
commit-bot: I haz the power
Committed patchset #5 (id:80001)
4 years, 7 months ago (2016-05-04 02:15:57 UTC) #40
commit-bot: I haz the power
Patchset 5 (id:??) landed as https://crrev.com/f6d2c9a3aa0a72ff766a132ef7f245ea26f66dfc Cr-Commit-Position: refs/heads/master@{#391416}
4 years, 7 months ago (2016-05-04 02:17:10 UTC) #42
mlamouri (slow - plz ping)
A revert of this CL (patchset #5 id:80001) has been created in https://codereview.chromium.org/1945273002/ by mlamouri@chromium.org. ...
4 years, 7 months ago (2016-05-04 12:47:31 UTC) #43
mlamouri (slow - plz ping)
My bad, the bots are not internal: https://build.chromium.org/p/chromium.android/builders/Lollipop%20Phone%20Tester https://build.chromium.org/p/chromium.android/builders/Lollipop%20Tablet%20Tester
4 years, 7 months ago (2016-05-04 12:58:54 UTC) #45
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1932093002/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1932093002/100001
4 years, 7 months ago (2016-05-04 18:59:23 UTC) #49
commit-bot: I haz the power
Committed patchset #6 (id:100001)
4 years, 7 months ago (2016-05-04 20:10:10 UTC) #51
commit-bot: I haz the power
4 years, 7 months ago (2016-05-04 20:12:01 UTC) #53
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/bbcbcba694946898e54f0c8709f4226477e487e0
Cr-Commit-Position: refs/heads/master@{#391618}

Powered by Google App Engine
This is Rietveld 408576698