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

Issue 239423005: Wire up codec_delay() to MP3StreamParser and FFmpegAudioDecoder. (Closed)

Created:
6 years, 8 months ago by DaleCurtis
Modified:
6 years, 8 months ago
CC:
chromium-reviews, feature-media-reviews_chromium.org
Visibility:
Public.

Description

Wire up codec_delay() to MP3StreamParser and FFmpegAudioDecoder. Allows us to drop silent samples from the decoder after initialization and resets. codec_delay() is always in frames, so I've changed all call sites to use frames instead of a TimeDelta. Coincidentally also fixes an issue where not enough data was dropped from Vorbis buffers with negative timestamps. BUG=360961 TEST=new pipeline_integration_test Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=264763

Patch Set 1 #

Total comments: 3

Patch Set 2 : Switch codec_delay() to frames. #

Total comments: 10

Patch Set 3 : Comments. #

Patch Set 4 : Fix vorbis drop counts. #

Patch Set 5 : ResetTimestampState() on config change. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+96 lines, -77 lines) Patch
M media/base/audio_decoder_config.h View 1 2 3 chunks +7 lines, -7 lines 0 comments Download
M media/base/audio_decoder_config.cc View 1 5 chunks +6 lines, -5 lines 0 comments Download
M media/ffmpeg/ffmpeg_common.cc View 1 2 2 chunks +1 line, -7 lines 0 comments Download
M media/filters/decrypting_audio_decoder_unittest.cc View 1 2 chunks +2 lines, -2 lines 0 comments Download
M media/filters/decrypting_demuxer_stream.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M media/filters/ffmpeg_audio_decoder.cc View 1 2 3 4 4 chunks +21 lines, -23 lines 0 comments Download
M media/filters/opus_audio_decoder.h View 1 1 chunk +2 lines, -8 lines 0 comments Download
M media/filters/opus_audio_decoder.cc View 1 2 5 chunks +10 lines, -11 lines 0 comments Download
M media/filters/pipeline_integration_test.cc View 1 2 2 chunks +5 lines, -1 line 0 comments Download
M media/formats/mp4/mp4_stream_parser.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M media/formats/mpeg/adts_stream_parser.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M media/formats/mpeg/mp3_stream_parser.cc View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M media/formats/mpeg/mp3_stream_parser_unittest.cc View 1 2 2 chunks +2 lines, -0 lines 0 comments Download
M media/formats/mpeg/mpeg_audio_stream_parser_base.h View 1 2 2 chunks +6 lines, -1 line 0 comments Download
M media/formats/mpeg/mpeg_audio_stream_parser_base.cc View 1 2 2 chunks +14 lines, -5 lines 0 comments Download
M media/formats/webm/webm_audio_client.cc View 1 2 1 chunk +15 lines, -3 lines 0 comments Download

Messages

Total messages: 19 (0 generated)
DaleCurtis
6 years, 8 months ago (2014-04-15 21:41:04 UTC) #1
DaleCurtis
https://codereview.chromium.org/239423005/diff/1/media/formats/mpeg/mpeg_audio_stream_parser_base.cc File media/formats/mpeg/mpeg_audio_stream_parser_base.cc (right): https://codereview.chromium.org/239423005/diff/1/media/formats/mpeg/mpeg_audio_stream_parser_base.cc#newcode215 media/formats/mpeg/mpeg_audio_stream_parser_base.cc:215: timestamp_helper_->GetFrameDuration(codec_delay_in_frames_)); I'm wondering if we should just change codec_delay() ...
6 years, 8 months ago (2014-04-15 22:22:26 UTC) #2
acolwell GONE FROM CHROMIUM
https://codereview.chromium.org/239423005/diff/1/media/formats/mpeg/mpeg_audio_stream_parser_base.cc File media/formats/mpeg/mpeg_audio_stream_parser_base.cc (right): https://codereview.chromium.org/239423005/diff/1/media/formats/mpeg/mpeg_audio_stream_parser_base.cc#newcode215 media/formats/mpeg/mpeg_audio_stream_parser_base.cc:215: timestamp_helper_->GetFrameDuration(codec_delay_in_frames_)); On 2014/04/15 22:22:26, DaleCurtis wrote: > I'm wondering ...
6 years, 8 months ago (2014-04-16 15:47:35 UTC) #3
DaleCurtis
https://codereview.chromium.org/239423005/diff/1/media/formats/mpeg/mpeg_audio_stream_parser_base.cc File media/formats/mpeg/mpeg_audio_stream_parser_base.cc (right): https://codereview.chromium.org/239423005/diff/1/media/formats/mpeg/mpeg_audio_stream_parser_base.cc#newcode215 media/formats/mpeg/mpeg_audio_stream_parser_base.cc:215: timestamp_helper_->GetFrameDuration(codec_delay_in_frames_)); On 2014/04/16 15:47:35, acolwell wrote: > On 2014/04/15 ...
6 years, 8 months ago (2014-04-16 18:22:22 UTC) #4
DaleCurtis
PTAL. Changing codec_delay() to be in samples resulted in some simplifications to the OPUS decoder ...
6 years, 8 months ago (2014-04-16 20:44:02 UTC) #5
acolwell GONE FROM CHROMIUM
lgtm % nits https://codereview.chromium.org/239423005/diff/20001/media/base/audio_decoder_config.h File media/base/audio_decoder_config.h (right): https://codereview.chromium.org/239423005/diff/20001/media/base/audio_decoder_config.h#newcode122 media/base/audio_decoder_config.h:122: // |codec_delay_| is the number of ...
6 years, 8 months ago (2014-04-17 21:11:23 UTC) #6
DaleCurtis
Thanks for review! https://codereview.chromium.org/239423005/diff/20001/media/base/audio_decoder_config.h File media/base/audio_decoder_config.h (right): https://codereview.chromium.org/239423005/diff/20001/media/base/audio_decoder_config.h#newcode122 media/base/audio_decoder_config.h:122: // |codec_delay_| is the number of ...
6 years, 8 months ago (2014-04-17 21:42:48 UTC) #7
DaleCurtis
The CQ bit was checked by dalecurtis@chromium.org
6 years, 8 months ago (2014-04-17 21:43:22 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dalecurtis@chromium.org/239423005/40001
6 years, 8 months ago (2014-04-17 21:44:08 UTC) #9
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 8 months ago (2014-04-17 22:56:22 UTC) #10
commit-bot: I haz the power
Try jobs failed on following builders: tryserver.chromium on linux_chromium_rel
6 years, 8 months ago (2014-04-17 22:56:22 UTC) #11
DaleCurtis
Turns out a DCHECK() I added after reflowing the AudioTimestampHelper usage exposed a vorbis frame ...
6 years, 8 months ago (2014-04-17 23:42:39 UTC) #12
DaleCurtis
The CQ bit was checked by dalecurtis@chromium.org
6 years, 8 months ago (2014-04-17 23:52:51 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dalecurtis@chromium.org/239423005/60001
6 years, 8 months ago (2014-04-17 23:54:48 UTC) #14
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 8 months ago (2014-04-18 01:03:40 UTC) #15
commit-bot: I haz the power
Try jobs failed on following builders: tryserver.chromium on linux_chromium_rel
6 years, 8 months ago (2014-04-18 01:03:41 UTC) #16
DaleCurtis
The CQ bit was checked by dalecurtis@chromium.org
6 years, 8 months ago (2014-04-18 01:34:33 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dalecurtis@chromium.org/239423005/100001
6 years, 8 months ago (2014-04-18 01:35:13 UTC) #18
commit-bot: I haz the power
6 years, 8 months ago (2014-04-18 10:25:05 UTC) #19
Message was sent while issue was closed.
Change committed as 264763

Powered by Google App Engine
This is Rietveld 408576698