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

Issue 1528473003: Feed the WebRTC APM with empty far-end frames for the number of frames skipped by OS. (Closed)

Created:
5 years ago by Henrik Grunell
Modified:
4 years, 10 months ago
CC:
chromium-reviews, mlamouri+watch-content_chromium.org, posciak+watch_chromium.org, jam, mcasas+watch_chromium.org, feature-media-reviews_chromium.org, darin-cc_chromium.org, mkwst+moarreviews-renderer_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Feed the WebRTC APM with empty far-end frames for the number of frames skipped by OS. *** This CL is replaced by https://codereview.chromium.org/1596523005/ *** BUG=560371

Patch Set 1 #

Total comments: 5

Patch Set 2 : Code review. Rebase. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+48 lines, -8 lines) Patch
M content/renderer/media/media_stream_audio_processor.h View 1 2 chunks +6 lines, -1 line 0 comments Download
M content/renderer/media/media_stream_audio_processor.cc View 1 4 chunks +24 lines, -3 lines 0 comments Download
M content/renderer/media/media_stream_audio_processor_unittest.cc View 1 chunk +1 line, -1 line 0 comments Download
M content/renderer/media/webrtc_audio_device_impl.h View 3 chunks +4 lines, -1 line 0 comments Download
M content/renderer/media/webrtc_audio_device_impl.cc View 1 2 chunks +3 lines, -1 line 0 comments Download
M content/renderer/media/webrtc_audio_renderer.h View 1 1 chunk +4 lines, -0 lines 0 comments Download
M content/renderer/media/webrtc_audio_renderer.cc View 3 chunks +4 lines, -0 lines 0 comments Download
M content/renderer/media/webrtc_audio_renderer_unittest.cc View 1 chunk +2 lines, -1 line 0 comments Download

Depends on Patchset:

Messages

Total messages: 22 (3 generated)
Henrik Grunell
Before I update the unit tests, I'd like a first round of review, specifically usage ...
5 years ago (2015-12-14 18:44:07 UTC) #3
Henrik Grunell
On 2015/12/14 18:44:07, Henrik Grunell wrote: > Before I update the unit tests, I'd like ...
5 years ago (2015-12-14 18:47:13 UTC) #4
tommi (sloooow) - chröme
On 2015/12/14 18:47:13, Henrik Grunell wrote: > On 2015/12/14 18:44:07, Henrik Grunell wrote: > > ...
5 years ago (2015-12-14 19:17:28 UTC) #5
peah
https://codereview.chromium.org/1528473003/diff/1/content/renderer/media/media_stream_audio_processor.cc File content/renderer/media/media_stream_audio_processor.cc (right): https://codereview.chromium.org/1528473003/diff/1/content/renderer/media/media_stream_audio_processor.cc#newcode454 content/renderer/media/media_stream_audio_processor.cc:454: MediaStreamAudioBus empty_bus(audio_bus->channels(), skipped_frames); Does this call also set all ...
5 years ago (2015-12-16 10:26:57 UTC) #6
Henrik Grunell
https://codereview.chromium.org/1528473003/diff/1/content/renderer/media/media_stream_audio_processor.cc File content/renderer/media/media_stream_audio_processor.cc (right): https://codereview.chromium.org/1528473003/diff/1/content/renderer/media/media_stream_audio_processor.cc#newcode454 content/renderer/media/media_stream_audio_processor.cc:454: MediaStreamAudioBus empty_bus(audio_bus->channels(), skipped_frames); On 2015/12/16 10:26:57, peah wrote: > ...
5 years ago (2015-12-18 10:17:33 UTC) #7
Henrik Grunell
On 2015/12/18 10:17:33, Henrik Grunell wrote: > https://codereview.chromium.org/1528473003/diff/1/content/renderer/media/media_stream_audio_processor.cc > File content/renderer/media/media_stream_audio_processor.cc (right): > > https://codereview.chromium.org/1528473003/diff/1/content/renderer/media/media_stream_audio_processor.cc#newcode454 ...
5 years ago (2015-12-18 10:18:56 UTC) #8
tommi (sloooow) - chröme
On 2015/12/18 10:18:56, Henrik Grunell wrote: > On 2015/12/18 10:17:33, Henrik Grunell wrote: > > ...
5 years ago (2015-12-18 10:22:38 UTC) #9
Henrik Grunell
On 2015/12/18 10:22:38, tommi wrote: > On 2015/12/18 10:18:56, Henrik Grunell wrote: > > On ...
5 years ago (2015-12-18 10:38:52 UTC) #10
peah
On 2015/12/18 10:18:56, Henrik Grunell wrote: > On 2015/12/18 10:17:33, Henrik Grunell wrote: > > ...
5 years ago (2015-12-18 13:33:34 UTC) #11
peah
https://codereview.chromium.org/1528473003/diff/1/content/renderer/media/media_stream_audio_processor.cc File content/renderer/media/media_stream_audio_processor.cc (right): https://codereview.chromium.org/1528473003/diff/1/content/renderer/media/media_stream_audio_processor.cc#newcode457 content/renderer/media/media_stream_audio_processor.cc:457: empty_bus.bus()->frames(), On 2015/12/18 10:17:33, Henrik Grunell wrote: > On ...
5 years ago (2015-12-18 13:34:12 UTC) #12
tommi (sloooow) - chröme
On 2015/12/18 13:34:12, peah wrote: > https://codereview.chromium.org/1528473003/diff/1/content/renderer/media/media_stream_audio_processor.cc > File content/renderer/media/media_stream_audio_processor.cc (right): > > https://codereview.chromium.org/1528473003/diff/1/content/renderer/media/media_stream_audio_processor.cc#newcode457 > ...
5 years ago (2015-12-18 13:39:07 UTC) #13
peah
On 2015/12/18 10:22:38, tommi wrote: > On 2015/12/18 10:18:56, Henrik Grunell wrote: > > On ...
5 years ago (2015-12-18 13:39:42 UTC) #14
peah
On 2015/12/18 13:39:07, tommi wrote: > On 2015/12/18 13:34:12, peah wrote: > > > https://codereview.chromium.org/1528473003/diff/1/content/renderer/media/media_stream_audio_processor.cc ...
5 years ago (2015-12-18 13:42:41 UTC) #15
tommi (sloooow) - chröme
On 2015/12/18 13:39:42, peah wrote: > On 2015/12/18 10:22:38, tommi wrote: > > On 2015/12/18 ...
5 years ago (2015-12-18 13:45:01 UTC) #16
Henrik Grunell
On 2015/12/18 13:39:42, peah wrote: > On 2015/12/18 10:22:38, tommi wrote: > > On 2015/12/18 ...
5 years ago (2015-12-18 13:45:08 UTC) #17
Henrik Grunell
On 2015/12/18 13:45:01, tommi wrote: > On 2015/12/18 13:39:42, peah wrote: > > On 2015/12/18 ...
5 years ago (2015-12-18 13:50:54 UTC) #18
peah
On 2015/12/18 13:45:01, tommi wrote: > On 2015/12/18 13:39:42, peah wrote: > > On 2015/12/18 ...
5 years ago (2015-12-18 13:51:52 UTC) #19
Henrik Grunell
On 2015/12/18 13:34:12, peah wrote: > https://codereview.chromium.org/1528473003/diff/1/content/renderer/media/media_stream_audio_processor.cc > File content/renderer/media/media_stream_audio_processor.cc (right): > > https://codereview.chromium.org/1528473003/diff/1/content/renderer/media/media_stream_audio_processor.cc#newcode457 > ...
5 years ago (2015-12-18 13:53:51 UTC) #20
peah
5 years ago (2015-12-18 13:56:08 UTC) #21
On 2015/12/18 13:53:51, Henrik Grunell wrote:
> On 2015/12/18 13:34:12, peah wrote:
> >
>
https://codereview.chromium.org/1528473003/diff/1/content/renderer/media/medi...
> > File content/renderer/media/media_stream_audio_processor.cc (right):
> > 
> >
>
https://codereview.chromium.org/1528473003/diff/1/content/renderer/media/medi...
> > content/renderer/media/media_stream_audio_processor.cc:457:
> > empty_bus.bus()->frames(),
> > On 2015/12/18 10:17:33, Henrik Grunell wrote:
> > > On 2015/12/16 10:26:57, peah wrote:
> > > > Is there any restriction on the values of skipped_frames?
> > AnalyzeReverseStream
> > > > only allows multiples of 10 ms of samples to be received.
> > > 
> > > No, it can be any value. OK, I added storing the number of skipped frames
> and
> > > feeding empty 10 ms chunks when reaching that.
> > 
> > What does this mean? Does it mean that typically any number of samples can
be
> > skipped?
> > 
> > In that case, feeding the AEC zero frames will not work, and may actually
even
> > make things worse. 
> > 
> > If we are to compensate for the delay change, that compensation needs to be
> done
> > before the AEC starts seeing the delay change in the captured microphone
> signal
> > as when that happens, the AEC starts to readjust to the delay change.
> > 
> > Therefore, if the skipped samples are not sent to the AEC as a zero frame
> until
> > at least a full frame has been skipped, the extra zero frame passed to the
AEC
> > will likely arrive after the AEC has started to readjusting and will
therefore
> > cause even further readjustment to occur. Compared to that it may be better
> not
> > to do anything.
> 
> Yeah, we talked about this offline before. I was under the impression
informing
> about this later than would be fine but that was apparently under the
condition
> it was before the near-end data arrived.

True, and also that the skipped frames happen in chunks of 10 ms length.

Lets go for a new API method instead. That will simplify things for all the
code.

Powered by Google App Engine
This is Rietveld 408576698