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

Issue 805273007: Android: Propagate sample rate change to audio decoder job (Closed)

Created:
5 years, 11 months ago by kjoswiak
Modified:
5 years, 11 months ago
Reviewers:
qinmin, gunsch
CC:
chromium-reviews, posciak+watch_chromium.org, wjia+watch_chromium.org, avayvod+watch_chromium.org, mcasas+watch_chromium.org, feature-media-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Android: Propagate sample rate change to audio decoder job AudioDecoderJob maintains an object audio_timestamp_helper_ for use with AV sync. Previously, this object was configured with demuxer value for sample rate, whereas it should instead be synced with the decoder's reported sample rate. This CL enables AudioDecoderJob to track decoder output rate, and ensures change in output format is propagated to this object. BUG=internal b/18873488 Committed: https://crrev.com/aa9cc0db413c376590cf974b52b847a46dd14c77 Cr-Commit-Position: refs/heads/master@{#313416}

Patch Set 1 #

Total comments: 4

Patch Set 2 : Moved reconfigureAudioTrack into UpdateOutputFormat() codepath #

Total comments: 10

Patch Set 3 : Moved UpdateOutput() back to original location #

Total comments: 8

Patch Set 4 : Minor fixes #

Patch Set 5 : Moved reconfigure of audio track back up to java side, moved reconfiguring of timestamp to the Dequ… #

Total comments: 4

Patch Set 6 : Use setPlaybackRate instead of reconstructing track #

Total comments: 3

Patch Set 7 : Remove reconfigureAudioTrack #

Total comments: 8

Patch Set 8 : #

Total comments: 2

Patch Set 9 : Restore deleted comment #

Patch Set 10 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+89 lines, -47 lines) Patch
M media/base/android/audio_decoder_job.h View 1 2 3 4 5 6 7 8 2 chunks +11 lines, -1 line 0 comments Download
M media/base/android/audio_decoder_job.cc View 1 2 3 4 5 6 7 8 9 8 chunks +39 lines, -13 lines 0 comments Download
M media/base/android/java/src/org/chromium/media/MediaCodecBridge.java View 1 2 3 4 5 6 5 chunks +21 lines, -33 lines 0 comments Download
M media/base/android/media_codec_bridge.h View 1 2 3 4 1 chunk +4 lines, -0 lines 0 comments Download
M media/base/android/media_codec_bridge.cc View 1 2 3 4 1 chunk +6 lines, -0 lines 0 comments Download
M media/base/android/media_decoder_job.h View 1 2 3 4 5 6 7 1 chunk +5 lines, -0 lines 0 comments Download
M media/base/android/media_decoder_job.cc View 1 2 3 4 5 6 7 2 chunks +3 lines, -0 lines 0 comments Download

Messages

Total messages: 44 (6 generated)
gunsch
Overall structure looks good, but obviously interested to hear Min's thoughts. https://codereview.chromium.org/805273007/diff/1/media/base/android/audio_decoder_job.cc File media/base/android/audio_decoder_job.cc (right): ...
5 years, 11 months ago (2015-01-12 16:30:51 UTC) #2
kjoswiak
https://codereview.chromium.org/805273007/diff/1/media/base/android/audio_decoder_job.cc File media/base/android/audio_decoder_job.cc (right): https://codereview.chromium.org/805273007/diff/1/media/base/android/audio_decoder_job.cc#newcode168 media/base/android/audio_decoder_job.cc:168: ResetTimestampHelper(); On 2015/01/12 16:30:51, gunsch wrote: > Thought: it ...
5 years, 11 months ago (2015-01-12 19:44:48 UTC) #3
kjoswiak
Changed some things and moved the reconfigure into UpdateOutput, but not sure if I like ...
5 years, 11 months ago (2015-01-12 23:08:14 UTC) #4
qinmin
https://codereview.chromium.org/805273007/diff/20001/media/base/android/media_codec_bridge.cc File media/base/android/media_codec_bridge.cc (right): https://codereview.chromium.org/805273007/diff/20001/media/base/android/media_codec_bridge.cc#newcode294 media/base/android/media_codec_bridge.cc:294: Java_MediaCodecBridge_getOutputSamplingRate(env, j_media_codec_.obj()); 2 more spaces for indent https://codereview.chromium.org/805273007/diff/20001/media/base/android/media_decoder_job.cc File ...
5 years, 11 months ago (2015-01-12 23:57:15 UTC) #5
kjoswiak
https://codereview.chromium.org/805273007/diff/20001/media/base/android/media_codec_bridge.cc File media/base/android/media_codec_bridge.cc (right): https://codereview.chromium.org/805273007/diff/20001/media/base/android/media_codec_bridge.cc#newcode294 media/base/android/media_codec_bridge.cc:294: Java_MediaCodecBridge_getOutputSamplingRate(env, j_media_codec_.obj()); On 2015/01/12 23:57:15, qinmin wrote: > 2 ...
5 years, 11 months ago (2015-01-13 00:14:31 UTC) #6
kjoswiak
https://codereview.chromium.org/805273007/diff/20001/media/base/android/media_decoder_job.cc File media/base/android/media_decoder_job.cc (right): https://codereview.chromium.org/805273007/diff/20001/media/base/android/media_decoder_job.cc#newcode448 media/base/android/media_decoder_job.cc:448: else if (has_format_change) { On 2015/01/13 00:14:30, kjoswiak wrote: ...
5 years, 11 months ago (2015-01-13 00:39:43 UTC) #7
gunsch
https://codereview.chromium.org/805273007/diff/20001/media/base/android/media_decoder_job.cc File media/base/android/media_decoder_job.cc (right): https://codereview.chromium.org/805273007/diff/20001/media/base/android/media_decoder_job.cc#newcode448 media/base/android/media_decoder_job.cc:448: else if (has_format_change) { Kyle: check the first line ...
5 years, 11 months ago (2015-01-13 00:45:32 UTC) #8
qinmin
https://codereview.chromium.org/805273007/diff/20001/media/base/android/media_decoder_job.cc File media/base/android/media_decoder_job.cc (right): https://codereview.chromium.org/805273007/diff/20001/media/base/android/media_decoder_job.cc#newcode448 media/base/android/media_decoder_job.cc:448: else if (has_format_change) { On 2015/01/13 00:39:42, kjoswiak wrote: ...
5 years, 11 months ago (2015-01-13 00:46:51 UTC) #9
kjoswiak
https://codereview.chromium.org/805273007/diff/20001/media/base/android/media_decoder_job.cc File media/base/android/media_decoder_job.cc (right): https://codereview.chromium.org/805273007/diff/20001/media/base/android/media_decoder_job.cc#newcode448 media/base/android/media_decoder_job.cc:448: else if (has_format_change) { On 2015/01/13 00:46:51, qinmin wrote: ...
5 years, 11 months ago (2015-01-13 01:05:58 UTC) #10
qinmin
On 2015/01/13 01:05:58, kjoswiak wrote: > https://codereview.chromium.org/805273007/diff/20001/media/base/android/media_decoder_job.cc > File media/base/android/media_decoder_job.cc (right): > > https://codereview.chromium.org/805273007/diff/20001/media/base/android/media_decoder_job.cc#newcode448 > ...
5 years, 11 months ago (2015-01-13 01:14:18 UTC) #11
kjoswiak
https://codereview.chromium.org/805273007/diff/40001/media/base/android/audio_decoder_job.cc File media/base/android/audio_decoder_job.cc (right): https://codereview.chromium.org/805273007/diff/40001/media/base/android/audio_decoder_job.cc#newcode169 media/base/android/audio_decoder_job.cc:169: ResetTimestampHelper(); This function call is still not threadsafe with ...
5 years, 11 months ago (2015-01-16 23:14:56 UTC) #12
kjoswiak
https://codereview.chromium.org/805273007/diff/40001/media/base/android/audio_decoder_job.cc File media/base/android/audio_decoder_job.cc (right): https://codereview.chromium.org/805273007/diff/40001/media/base/android/audio_decoder_job.cc#newcode169 media/base/android/audio_decoder_job.cc:169: ResetTimestampHelper(); On 2015/01/16 23:14:56, kjoswiak wrote: > This function ...
5 years, 11 months ago (2015-01-17 01:13:20 UTC) #13
qinmin
https://codereview.chromium.org/805273007/diff/40001/media/base/android/audio_decoder_job.h File media/base/android/audio_decoder_job.h (right): https://codereview.chromium.org/805273007/diff/40001/media/base/android/audio_decoder_job.h#newcode68 media/base/android/audio_decoder_job.h:68: // Audio output format s/output format/output sample rate/ https://codereview.chromium.org/805273007/diff/40001/media/base/android/media_codec_bridge.h ...
5 years, 11 months ago (2015-01-21 02:04:13 UTC) #14
kjoswiak
Still chasing down one last issue. While single quality change is handled fine, I've found ...
5 years, 11 months ago (2015-01-21 03:21:18 UTC) #15
kjoswiak
Ok, things are mostly fixed. There's an issue where after a certain number of quality ...
5 years, 11 months ago (2015-01-21 20:25:08 UTC) #16
qinmin
On 2015/01/21 20:25:08, kjoswiak wrote: > Ok, things are mostly fixed. There's an issue where ...
5 years, 11 months ago (2015-01-21 21:43:48 UTC) #17
qinmin
https://codereview.chromium.org/805273007/diff/80001/media/base/android/audio_decoder_job.cc File media/base/android/audio_decoder_job.cc (right): https://codereview.chromium.org/805273007/diff/80001/media/base/android/audio_decoder_job.cc#newcode85 media/base/android/audio_decoder_job.cc:85: audio_timestamp_helper_->SetBaseTimestamp(base_timestamp_); what is the max timestamp here? the new ...
5 years, 11 months ago (2015-01-21 21:43:56 UTC) #18
kjoswiak
https://codereview.chromium.org/805273007/diff/80001/media/base/android/audio_decoder_job.cc File media/base/android/audio_decoder_job.cc (right): https://codereview.chromium.org/805273007/diff/80001/media/base/android/audio_decoder_job.cc#newcode85 media/base/android/audio_decoder_job.cc:85: audio_timestamp_helper_->SetBaseTimestamp(base_timestamp_); On 2015/01/21 21:43:56, qinmin wrote: > what is ...
5 years, 11 months ago (2015-01-21 22:53:11 UTC) #19
kjoswiak
https://codereview.chromium.org/805273007/diff/80001/media/base/android/audio_decoder_job.cc File media/base/android/audio_decoder_job.cc (right): https://codereview.chromium.org/805273007/diff/80001/media/base/android/audio_decoder_job.cc#newcode85 media/base/android/audio_decoder_job.cc:85: audio_timestamp_helper_->SetBaseTimestamp(base_timestamp_); On 2015/01/21 22:53:11, kjoswiak wrote: > On 2015/01/21 ...
5 years, 11 months ago (2015-01-21 23:00:47 UTC) #20
qinmin
https://codereview.chromium.org/805273007/diff/80001/media/base/android/audio_decoder_job.cc File media/base/android/audio_decoder_job.cc (right): https://codereview.chromium.org/805273007/diff/80001/media/base/android/audio_decoder_job.cc#newcode85 media/base/android/audio_decoder_job.cc:85: audio_timestamp_helper_->SetBaseTimestamp(base_timestamp_); On 2015/01/21 23:00:47, kjoswiak wrote: > On 2015/01/21 ...
5 years, 11 months ago (2015-01-22 00:07:45 UTC) #21
kjoswiak
On 2015/01/22 00:07:45, qinmin wrote: > https://codereview.chromium.org/805273007/diff/80001/media/base/android/audio_decoder_job.cc > File media/base/android/audio_decoder_job.cc (right): > > https://codereview.chromium.org/805273007/diff/80001/media/base/android/audio_decoder_job.cc#newcode85 > ...
5 years, 11 months ago (2015-01-22 02:10:10 UTC) #22
qinmin
On 2015/01/22 02:10:10, kjoswiak wrote: > On 2015/01/22 00:07:45, qinmin wrote: > > > https://codereview.chromium.org/805273007/diff/80001/media/base/android/audio_decoder_job.cc ...
5 years, 11 months ago (2015-01-22 02:39:15 UTC) #23
gunsch
On 2015/01/22 02:39:15, qinmin wrote: > On 2015/01/22 02:10:10, kjoswiak wrote: > > On 2015/01/22 ...
5 years, 11 months ago (2015-01-22 04:08:23 UTC) #24
kjoswiak
Working on a version that uses SetPlaybackRate w/o destroying old AudioTrack, but need to rework ...
5 years, 11 months ago (2015-01-22 23:36:12 UTC) #25
kjoswiak
Changed to use setPlaybackRate. Basically, just added a frame_count_ member to AudioDecoderJob since we can ...
5 years, 11 months ago (2015-01-23 21:58:36 UTC) #26
gunsch
https://codereview.chromium.org/805273007/diff/100001/media/base/android/java/src/org/chromium/media/MediaCodecBridge.java File media/base/android/java/src/org/chromium/media/MediaCodecBridge.java (right): https://codereview.chromium.org/805273007/diff/100001/media/base/android/java/src/org/chromium/media/MediaCodecBridge.java#newcode697 media/base/android/java/src/org/chromium/media/MediaCodecBridge.java:697: private boolean reconfigureAudioTrack(MediaFormat format) { Note: if you go ...
5 years, 11 months ago (2015-01-23 22:31:40 UTC) #27
kjoswiak
https://codereview.chromium.org/805273007/diff/100001/media/base/android/java/src/org/chromium/media/MediaCodecBridge.java File media/base/android/java/src/org/chromium/media/MediaCodecBridge.java (right): https://codereview.chromium.org/805273007/diff/100001/media/base/android/java/src/org/chromium/media/MediaCodecBridge.java#newcode697 media/base/android/java/src/org/chromium/media/MediaCodecBridge.java:697: private boolean reconfigureAudioTrack(MediaFormat format) { On 2015/01/23 22:31:40, gunsch ...
5 years, 11 months ago (2015-01-24 00:06:17 UTC) #28
kjoswiak
ping. Anything else I should double check?
5 years, 11 months ago (2015-01-27 21:58:34 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/805273007/120001
5 years, 11 months ago (2015-01-27 22:28:54 UTC) #33
commit-bot: I haz the power
No LGTM from a valid reviewer yet. Only full committers are accepted. Even if an ...
5 years, 11 months ago (2015-01-27 22:29:00 UTC) #35
qinmin
https://codereview.chromium.org/805273007/diff/120001/media/base/android/audio_decoder_job.cc File media/base/android/audio_decoder_job.cc (right): https://codereview.chromium.org/805273007/diff/120001/media/base/android/audio_decoder_job.cc#newcode82 media/base/android/audio_decoder_job.cc:82: audio_timestamp_helper_->SetBaseTimestamp(base_timestamp); if a seek is performed before audio_timestamp_helper_ is ...
5 years, 11 months ago (2015-01-27 22:37:02 UTC) #36
kjoswiak
https://codereview.chromium.org/805273007/diff/120001/media/base/android/audio_decoder_job.cc File media/base/android/audio_decoder_job.cc (right): https://codereview.chromium.org/805273007/diff/120001/media/base/android/audio_decoder_job.cc#newcode82 media/base/android/audio_decoder_job.cc:82: audio_timestamp_helper_->SetBaseTimestamp(base_timestamp); On 2015/01/27 22:37:01, qinmin wrote: > if a ...
5 years, 11 months ago (2015-01-27 23:18:25 UTC) #37
qinmin
lgtm % nit https://codereview.chromium.org/805273007/diff/140001/media/base/android/audio_decoder_job.cc File media/base/android/audio_decoder_job.cc (right): https://codereview.chromium.org/805273007/diff/140001/media/base/android/audio_decoder_job.cc#newcode167 media/base/android/audio_decoder_job.cc:167: if (!media_codec_bridge_) nit: from media_decoder_job.cc, this ...
5 years, 11 months ago (2015-01-27 23:31:41 UTC) #38
kjoswiak
https://codereview.chromium.org/805273007/diff/140001/media/base/android/audio_decoder_job.cc File media/base/android/audio_decoder_job.cc (right): https://codereview.chromium.org/805273007/diff/140001/media/base/android/audio_decoder_job.cc#newcode167 media/base/android/audio_decoder_job.cc:167: if (!media_codec_bridge_) On 2015/01/27 23:31:41, qinmin wrote: > nit: ...
5 years, 11 months ago (2015-01-27 23:43:15 UTC) #39
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/805273007/180001
5 years, 11 months ago (2015-01-27 23:44:40 UTC) #41
gunsch
lgtm
5 years, 11 months ago (2015-01-27 23:50:13 UTC) #42
commit-bot: I haz the power
Committed patchset #10 (id:180001)
5 years, 11 months ago (2015-01-28 00:42:24 UTC) #43
commit-bot: I haz the power
5 years, 11 months ago (2015-01-28 00:43:44 UTC) #44
Message was sent while issue was closed.
Patchset 10 (id:??) landed as
https://crrev.com/aa9cc0db413c376590cf974b52b847a46dd14c77
Cr-Commit-Position: refs/heads/master@{#313416}

Powered by Google App Engine
This is Rietveld 408576698