216 Commits

Author SHA1 Message Date
peah
88ac853e14 The current scheme for setting parameters and specifying the
behavior of the audio processing module is quite complex and hard to
implement in a threadsafe and efficient manner. Therefore a new
scheme for setting the parameters in the audio processing module is
introduced in this CL.

The idea is to roll this scheme out gradually and as a first functionality
in the audio processing module where this is applied the level controller
was chosen. This CL includes the replacement of the Config-based
level controller scheme with the new scheme.

TBR=henrik.lundin@webrtc.org, solenberg@webrtc.org,
BUG=webrtc:5298

Review-Url: https://codereview.webrtc.org/2338493002
Cr-Commit-Position: refs/heads/master@{#14190}
2016-09-12 23:47:32 +00:00
kjellander
10f606d8de Revert of Introduced new scheme for controlling the functionality inside the audio processing module (patchset #12 id:260001 of https://codereview.webrtc.org/2292863002/ )
Reason for revert:
Interface change in the mock breaks downstream code.

Original issue's description:
> The current scheme for setting parameters and specifying the behavior
> of the audio processing module is quite complex and hard to implement
> in a threadsafe and efficient manner. Therefore a new scheme for setting
> the parameters in the audio processing module is introduced in this CL.
>
> The idea is to roll this scheme out gradually and as a first functionality
> in the audio processing module where this is applied the level controller
> was chosen. This CL includes the replacement of the Config-based
> level controller scheme with the new scheme.
>
> BUG=webrtc:5298
>
> Committed: https://crrev.com/c8bbe3fe9aad9e9a1189a42dcaa8f5d6c261ecc8
> Cr-Commit-Position: refs/heads/master@{#14171}

TBR=solenberg@webrtc.org,henrik.lundin@webrtc.org,peah@webrtc.org
BUG=webrtc:5298
NOTRY=True

Review-Url: https://codereview.webrtc.org/2334583002
Cr-Commit-Position: refs/heads/master@{#14177}
2016-09-12 06:04:37 +00:00
asapersson
1d02d3e5e6 Remove RTC_LOGGED_* macro.
BUG=

Review-Url: https://codereview.webrtc.org/2326843003
Cr-Commit-Position: refs/heads/master@{#14174}
2016-09-10 05:40:34 +00:00
peah
c8bbe3fe9a The current scheme for setting parameters and specifying the behavior
of the audio processing module is quite complex and hard to implement
in a threadsafe and efficient manner. Therefore a new scheme for setting
the parameters in the audio processing module is introduced in this CL.

The idea is to roll this scheme out gradually and as a first functionality
in the audio processing module where this is applied the level controller
was chosen. This CL includes the replacement of the Config-based
level controller scheme with the new scheme.

BUG=webrtc:5298

Review-Url: https://codereview.webrtc.org/2292863002
Cr-Commit-Position: refs/heads/master@{#14171}
2016-09-09 21:17:07 +00:00
Taylor Brandstetter
14b9d79bd6 If encoding is inactive, don't start sending when stream is reconfigured.
RecreateWebRtcStream was checking the "sending_" flag, but wasn't
checking rtp_parameters_.encodings[0].active. As a result, if an
application calls "RtpSender.setParameters(inactive_params)" then later
the stream is recreated due to some change in SDP parameters, the stream
would incorrectly start sending.

R=pthatcher@webrtc.org, skvlad@webrtc.org

Review URL: https://codereview.webrtc.org/2246313002 .

Cr-Commit-Position: refs/heads/master@{#14116}
2016-09-08 00:16:59 +00:00
solenberg
88499ecaca Moving/renaming webrtc/common.h.
This file defines webrtc::Config which was mostly used by modules/audio_processing. The files webrtc/common.h, webrtc/common.cc and webrtc/test/common_unittests.cc are moved to modules/audio_processing and the few remaining uses of webrtc::Config are replaced with simpler code.

- For NetEq and pacing configuration, a VoEBase::ChannelConfig is passed to VoEBase::CreateChannel().
- Removes the need for VoiceEngine::Create(const Config& config). No need to store the webrtc::Config in VoE shared state.

BUG=webrtc:5879

Review-Url: https://codereview.webrtc.org/2307533004
Cr-Commit-Position: refs/heads/master@{#14109}
2016-09-07 14:34:45 +00:00
nisse
306d52b0fd Reland of Delete cricket::VideoFrame::GetTimeStamp. (patchset #1 id:1 of https://codereview.webrtc.org/2315703002/ )
Reason for revert:
Chrome has now been updated (cl https://codereview.chromium.org/2317673002/).

Original issue's description:
> Revert of Delete cricket::VideoFrame::GetTimeStamp. (patchset #2 id:150001 of https://codereview.webrtc.org/2310043002/ )
>
> Reason for revert:
> Broke Chrome fyi bots. See, e.g.,
>
> https://build.chromium.org/p/chromium.webrtc.fyi/builders/Win%20Builder/builds/6730/steps/compile/logs/stdio
>
> Use of GetTimeStamp must be eliminated in Chrome before relanding.
>
> Original issue's description:
> > Reland of Delete cricket::VideoFrame::GetTimeStamp. (patchset #1 id:1 of https://codereview.webrtc.org/2306953002/ )
> >
> > Reason for revert:
> > Will reland after downstream projects are updated.
> >
> > Original issue's description:
> > > Revert of Delete cricket::VideoFrame::GetTimeStamp. (patchset #1 id:1 of https://codereview.webrtc.org/2305623002/ )
> > >
> > > Reason for revert:
> > > Broke downstream project.
> > >
> > > Original issue's description:
> > > > Delete cricket::VideoFrame::GetTimeStamp.
> > > >
> > > > TBR=tkchin@webrtc.org  # Trivial change to VideoRendererAdapter
> > > > BUG=webrtc:5682
> > > >
> > > > Committed: https://crrev.com/fd6c99e43137d01fa6c120f7160f7c2999d1d8a3
> > > > Cr-Commit-Position: refs/heads/master@{#14037}
> > >
> > > TBR=perkj@webrtc.org
> > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > NOPRESUBMIT=true
> > > NOTREECHECKS=true
> > > NOTRY=true
> > > BUG=webrtc:5682
> > >
> > > Committed: https://crrev.com/bca69e87de5df290f728833a4b3d8af3ae5d88e6
> > > Cr-Commit-Position: refs/heads/master@{#14038}
> >
> > TBR=perkj@webrtc.org
> > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > BUG=webrtc:5682
> >
> > Committed: https://crrev.com/fa1ba19c5c7c57c8d16fae1a5da51877770fd53e
> > Cr-Commit-Position: refs/heads/master@{#14089}
>
> TBR=perkj@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5682
>
> Committed: https://crrev.com/92b2e0852fcbe7765926755ccee884db965b6231
> Cr-Commit-Position: refs/heads/master@{#14090}

TBR=perkj@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2316493003
Cr-Commit-Position: refs/heads/master@{#14093}
2016-09-06 14:52:47 +00:00
nisse
92b2e0852f Revert of Delete cricket::VideoFrame::GetTimeStamp. (patchset #2 id:150001 of https://codereview.webrtc.org/2310043002/ )
Reason for revert:
Broke Chrome fyi bots. See, e.g.,

https://build.chromium.org/p/chromium.webrtc.fyi/builders/Win%20Builder/builds/6730/steps/compile/logs/stdio

Use of GetTimeStamp must be eliminated in Chrome before relanding.

Original issue's description:
> Reland of Delete cricket::VideoFrame::GetTimeStamp. (patchset #1 id:1 of https://codereview.webrtc.org/2306953002/ )
>
> Reason for revert:
> Will reland after downstream projects are updated.
>
> Original issue's description:
> > Revert of Delete cricket::VideoFrame::GetTimeStamp. (patchset #1 id:1 of https://codereview.webrtc.org/2305623002/ )
> >
> > Reason for revert:
> > Broke downstream project.
> >
> > Original issue's description:
> > > Delete cricket::VideoFrame::GetTimeStamp.
> > >
> > > TBR=tkchin@webrtc.org  # Trivial change to VideoRendererAdapter
> > > BUG=webrtc:5682
> > >
> > > Committed: https://crrev.com/fd6c99e43137d01fa6c120f7160f7c2999d1d8a3
> > > Cr-Commit-Position: refs/heads/master@{#14037}
> >
> > TBR=perkj@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:5682
> >
> > Committed: https://crrev.com/bca69e87de5df290f728833a4b3d8af3ae5d88e6
> > Cr-Commit-Position: refs/heads/master@{#14038}
>
> TBR=perkj@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:5682
>
> Committed: https://crrev.com/fa1ba19c5c7c57c8d16fae1a5da51877770fd53e
> Cr-Commit-Position: refs/heads/master@{#14089}

TBR=perkj@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2315703002
Cr-Commit-Position: refs/heads/master@{#14090}
2016-09-06 12:13:48 +00:00
nisse
fa1ba19c5c Reland of Delete cricket::VideoFrame::GetTimeStamp. (patchset #1 id:1 of https://codereview.webrtc.org/2306953002/ )
Reason for revert:
Will reland after downstream projects are updated.

Original issue's description:
> Revert of Delete cricket::VideoFrame::GetTimeStamp. (patchset #1 id:1 of https://codereview.webrtc.org/2305623002/ )
>
> Reason for revert:
> Broke downstream project.
>
> Original issue's description:
> > Delete cricket::VideoFrame::GetTimeStamp.
> >
> > TBR=tkchin@webrtc.org  # Trivial change to VideoRendererAdapter
> > BUG=webrtc:5682
> >
> > Committed: https://crrev.com/fd6c99e43137d01fa6c120f7160f7c2999d1d8a3
> > Cr-Commit-Position: refs/heads/master@{#14037}
>
> TBR=perkj@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5682
>
> Committed: https://crrev.com/bca69e87de5df290f728833a4b3d8af3ae5d88e6
> Cr-Commit-Position: refs/heads/master@{#14038}

TBR=perkj@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2310043002
Cr-Commit-Position: refs/heads/master@{#14089}
2016-09-06 11:46:25 +00:00
nisse
74c10b5a7a Introduce webrtc::VideoFrame::timestamp_us, and corresponding constructor.
Replaces render_time_ms_, but old accessors are kept for
compatibility.

Also short-circuit timestamp translation in
WebRtcVideoChannel2::WebRtcVideoSendStream::OnFrame.

BUG=webrtc:5682, webrtc:5740

Review-Url: https://codereview.webrtc.org/2282713002
Cr-Commit-Position: refs/heads/master@{#14062}
2016-09-05 07:51:25 +00:00
nisse
c6b9da44c3 Delete cricket::VideoFrame::GetCopyWithRotationApplied.
There are no known uses. Use in Chrome was eliminated in cl
https://codereview.chromium.org/2293253003/

BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2300953002
Cr-Commit-Position: refs/heads/master@{#14049}
2016-09-02 15:26:02 +00:00
Stefan Holmer
06a5e1aa39 Enable send-side BWE by default.
BUG=webrtc:4173
R=mflodman@webrtc.org

Review URL: https://codereview.webrtc.org/2300003002 .

Cr-Commit-Position: refs/heads/master@{#14041}
2016-09-02 10:37:02 +00:00
nisse
bca69e87de Revert of Delete cricket::VideoFrame::GetTimeStamp. (patchset #1 id:1 of https://codereview.webrtc.org/2305623002/ )
Reason for revert:
Broke downstream project.

Original issue's description:
> Delete cricket::VideoFrame::GetTimeStamp.
>
> TBR=tkchin@webrtc.org  # Trivial change to VideoRendererAdapter
> BUG=webrtc:5682
>
> Committed: https://crrev.com/fd6c99e43137d01fa6c120f7160f7c2999d1d8a3
> Cr-Commit-Position: refs/heads/master@{#14037}

TBR=perkj@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2306953002
Cr-Commit-Position: refs/heads/master@{#14038}
2016-09-02 09:07:11 +00:00
nisse
fd6c99e431 Delete cricket::VideoFrame::GetTimeStamp.
TBR=tkchin@webrtc.org  # Trivial change to VideoRendererAdapter
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2305623002
Cr-Commit-Position: refs/heads/master@{#14037}
2016-09-02 08:34:01 +00:00
perkj
26091b1118 This reverts commit 8eb37a39e79fe1098d3503dcb8c8c2d196203fed. Chrome now have its own implementation of TaskQueues that is based on Chrome threads.
cl was originally reviewed here:
https://codereview.webrtc.org/2060403002/

- Add task queue to Call with the intent of replacing the use of one of the process threads.

- Split VideoSendStream in two. VideoSendStreamInternal is created and used on the new task queue.

- BitrateAllocator is now created on libjingle's worker thread but always used on the new task queue instead of both encoder threads and the process thread.

- VideoEncoderConfig and VideoSendStream::Config support move semantics.

- The encoder thread is moved from VideoSendStream to ViEEncoder. Frames are forwarded directly to ViEEncoder which is responsible for timestamping ? and encoding the frames.

TBR=mflodman@webrtc.org
BUG=webrtc:5687

Review-Url: https://codereview.webrtc.org/2250123002
Cr-Commit-Position: refs/heads/master@{#14014}
2016-09-01 08:17:43 +00:00
nisse
9f8e37b6f8 Delete cricket::VideoFrame::ConvertToRgbBuffer.
Users are updated to call libyuv functions directly. Also delete
related unit tests.

BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2287233002
Cr-Commit-Position: refs/heads/master@{#14013}
2016-09-01 08:06:29 +00:00
kjellander
a69d973267 Move webrtc/audio_*.h to webrtc/api/call
BUG=webrtc:5878
NOTRY=True

Review-Url: https://codereview.webrtc.org/2059703002
Cr-Commit-Position: refs/heads/master@{#13996}
2016-08-31 14:33:14 +00:00
solenberg
f7a5335ca5 Remove fakewebrtccommon.h.
BUG=webrtc:4690

Review-Url: https://codereview.webrtc.org/1583773006
Cr-Commit-Position: refs/heads/master@{#13993}
2016-08-31 12:18:28 +00:00
nisse
d50747269e New static I420Buffer::Rotate method, to replace GetCopyWithRotationApplied.
GetCopyWithRotationApplied is not yet deleted; downstream projects
must be updated first.

BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2285693002
Cr-Commit-Position: refs/heads/master@{#13973}
2016-08-30 15:45:48 +00:00
asapersson
26dd92b2ff Remove last_width_/last_height_ from WebRtcVideoReceiveStream. Used in GetStats. Get dimensions from VideoReceiveStream::Stats instead.
BUG=webrtc:6274

Review-Url: https://codereview.webrtc.org/2280903002
Cr-Commit-Position: refs/heads/master@{#13967}
2016-08-30 07:45:50 +00:00
nisse
de04f8e10e Reland of Delete method cricket::VideoFrame::Copy. (patchset #1 id:1 of https://codereview.webrtc.org/2275313003/ )
Reason for revert:
Fixed downstream issue.

Original issue's description:
> Revert of Delete method cricket::VideoFrame::Copy. (patchset #3 id:210001 of https://codereview.webrtc.org/2275243002/ )
>
> Reason for revert:
> Again, brakes a downstream build by removing VideoFrame::Copy method.
>
> Original issue's description:
> > Reland of Delete method cricket::VideoFrame::Copy. (patchset #1 id:1 of https://codereview.webrtc.org/2087923004/ )
> >
> > Reason for revert:
> > Downstream issue now fixed.
> >
> > Original issue's description:
> > > Revert of Delete method cricket::VideoFrame::Copy. (patchset #7 id:120001 of https://codereview.webrtc.org/2080253002/ )
> > >
> > > Reason for revert:
> > > It broke a downstream build by removing VideoFrame::Copy method.
> > >
> > > Original issue's description:
> > > > Delete method cricket::VideoFrame::Copy.
> > > >
> > > > Should be unused in Chrome since cl
> > > > https://codereview.chromium.org/2068703002/
> > > >
> > > > TBR=tkchin@webrtc.org,magjed@webrtc.org
> > > > BUG=webrtc:5682
> > > >
> > > > Committed: https://crrev.com/9c00f646f0b3cd33506a1944c7bc6724af041237
> > > > Committed: https://crrev.com/7e4e00d189a5dfac2b463a5100ee65ee2f11ed79
> > > > Cr-Original-Commit-Position: refs/heads/master@{#13236}
> > > > Cr-Commit-Position: refs/heads/master@{#13244}
> > >
> > > TBR=pbos@webrtc.org,tkchin@webrtc.org,magjed@webrtc.org,sergeyu@chromium.org,nisse@webrtc.org
> > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > NOPRESUBMIT=true
> > > NOTREECHECKS=true
> > > NOTRY=true
> > > BUG=webrtc:5682
> > >
> > > Committed: https://crrev.com/123f33cd009606d22cca8b0f4756812406d4580f
> > > Cr-Commit-Position: refs/heads/master@{#13246}
> >
> > TBR=pbos@webrtc.org,tkchin@webrtc.org,magjed@webrtc.org,sergeyu@chromium.org,honghaiz@webrtc.org
> > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > BUG=webrtc:5682
> >
> > Committed: https://crrev.com/f715f983f1b33208ab2d2434f8b36ad5271f680f
> > Cr-Commit-Position: refs/heads/master@{#13924}
>
> TBR=pbos@webrtc.org,tkchin@webrtc.org,magjed@webrtc.org,sergeyu@chromium.org,honghaiz@webrtc.org,nisse@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5682
>
> Committed: https://crrev.com/91b03b0ff8c480e4245835c7a4a93733aac534a6
> Cr-Commit-Position: refs/heads/master@{#13925}

TBR=pbos@webrtc.org,tkchin@webrtc.org,magjed@webrtc.org,sergeyu@chromium.org,honghaiz@webrtc.org,philipel@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2287223002
Cr-Commit-Position: refs/heads/master@{#13949}
2016-08-29 09:07:01 +00:00
peah
1bcfce5ff2 Deactivated the intelligibility enhancement functionality by default
NOTRY=true
BUG=

Review-Url: https://codereview.webrtc.org/2272423003
Cr-Commit-Position: refs/heads/master@{#13937}
2016-08-26 14:16:13 +00:00
peah
7d67e45104 Revert of Added functionality for specifying the initial signal level to use for the gain estimation in the l… (patchset #8 id:160001 of https://codereview.webrtc.org/2254973003/ )
Reason for revert:
This caused build breakage due to upstream dependencies.

These dependencies need to be resolved before landing the CL.

Original issue's description:
> This CL adds functionality in the level controller to
> receive a signal level to use initially, instead of the
> default initial signal level.
>
> BUG=
>
> Committed: https://crrev.com/57fec1d828113241186e78710ec5e851cc1a0e81
> Cr-Commit-Position: refs/heads/master@{#13931}

TBR=henrik.lundin@webrtc.org,aleloi@webrtc.org,solenberg@webrtc.org,henrika@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

Review-Url: https://codereview.webrtc.org/2283793002
Cr-Commit-Position: refs/heads/master@{#13936}
2016-08-26 13:20:25 +00:00
peah
57fec1d828 This CL adds functionality in the level controller to
receive a signal level to use initially, instead of the
default initial signal level.

BUG=

Review-Url: https://codereview.webrtc.org/2254973003
Cr-Commit-Position: refs/heads/master@{#13931}
2016-08-26 11:58:21 +00:00
johan
073ece45b6 Skip unit test if GYP_DEFINES="rtc_use_h264=1" is not set.
Unit test would fail in default configuration (e.g. rtc_use_h264=0), cause it tests instantiating H264 specifics.

BUG=webrtc:6194, webrtc:6198

Review-Url: https://codereview.webrtc.org/2228733004
Cr-Commit-Position: refs/heads/master@{#13929}
2016-08-26 09:59:56 +00:00
philipel
91b03b0ff8 Revert of Delete method cricket::VideoFrame::Copy. (patchset #3 id:210001 of https://codereview.webrtc.org/2275243002/ )
Reason for revert:
Again, brakes a downstream build by removing VideoFrame::Copy method.

Original issue's description:
> Reland of Delete method cricket::VideoFrame::Copy. (patchset #1 id:1 of https://codereview.webrtc.org/2087923004/ )
>
> Reason for revert:
> Downstream issue now fixed.
>
> Original issue's description:
> > Revert of Delete method cricket::VideoFrame::Copy. (patchset #7 id:120001 of https://codereview.webrtc.org/2080253002/ )
> >
> > Reason for revert:
> > It broke a downstream build by removing VideoFrame::Copy method.
> >
> > Original issue's description:
> > > Delete method cricket::VideoFrame::Copy.
> > >
> > > Should be unused in Chrome since cl
> > > https://codereview.chromium.org/2068703002/
> > >
> > > TBR=tkchin@webrtc.org,magjed@webrtc.org
> > > BUG=webrtc:5682
> > >
> > > Committed: https://crrev.com/9c00f646f0b3cd33506a1944c7bc6724af041237
> > > Committed: https://crrev.com/7e4e00d189a5dfac2b463a5100ee65ee2f11ed79
> > > Cr-Original-Commit-Position: refs/heads/master@{#13236}
> > > Cr-Commit-Position: refs/heads/master@{#13244}
> >
> > TBR=pbos@webrtc.org,tkchin@webrtc.org,magjed@webrtc.org,sergeyu@chromium.org,nisse@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:5682
> >
> > Committed: https://crrev.com/123f33cd009606d22cca8b0f4756812406d4580f
> > Cr-Commit-Position: refs/heads/master@{#13246}
>
> TBR=pbos@webrtc.org,tkchin@webrtc.org,magjed@webrtc.org,sergeyu@chromium.org,honghaiz@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:5682
>
> Committed: https://crrev.com/f715f983f1b33208ab2d2434f8b36ad5271f680f
> Cr-Commit-Position: refs/heads/master@{#13924}

TBR=pbos@webrtc.org,tkchin@webrtc.org,magjed@webrtc.org,sergeyu@chromium.org,honghaiz@webrtc.org,nisse@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2275313003
Cr-Commit-Position: refs/heads/master@{#13925}
2016-08-25 14:08:19 +00:00
nisse
f715f983f1 Reland of Delete method cricket::VideoFrame::Copy. (patchset #1 id:1 of https://codereview.webrtc.org/2087923004/ )
Reason for revert:
Downstream issue now fixed.

Original issue's description:
> Revert of Delete method cricket::VideoFrame::Copy. (patchset #7 id:120001 of https://codereview.webrtc.org/2080253002/ )
>
> Reason for revert:
> It broke a downstream build by removing VideoFrame::Copy method.
>
> Original issue's description:
> > Delete method cricket::VideoFrame::Copy.
> >
> > Should be unused in Chrome since cl
> > https://codereview.chromium.org/2068703002/
> >
> > TBR=tkchin@webrtc.org,magjed@webrtc.org
> > BUG=webrtc:5682
> >
> > Committed: https://crrev.com/9c00f646f0b3cd33506a1944c7bc6724af041237
> > Committed: https://crrev.com/7e4e00d189a5dfac2b463a5100ee65ee2f11ed79
> > Cr-Original-Commit-Position: refs/heads/master@{#13236}
> > Cr-Commit-Position: refs/heads/master@{#13244}
>
> TBR=pbos@webrtc.org,tkchin@webrtc.org,magjed@webrtc.org,sergeyu@chromium.org,nisse@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5682
>
> Committed: https://crrev.com/123f33cd009606d22cca8b0f4756812406d4580f
> Cr-Commit-Position: refs/heads/master@{#13246}

TBR=pbos@webrtc.org,tkchin@webrtc.org,magjed@webrtc.org,sergeyu@chromium.org,honghaiz@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2275243002
Cr-Commit-Position: refs/heads/master@{#13924}
2016-08-25 13:30:22 +00:00
nisse
792469709d Refactor WebRtcVideoCapturer.
Pass incoming frames directly to VideoCapturer::OnFrame (after
conversion to cricket::VideoFrame), without using SignalFrameCaptured
or WebRtcCapturedFrame.

BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2258933003
Cr-Commit-Position: refs/heads/master@{#13861}
2016-08-23 12:50:20 +00:00
nisse
84c03bafcf Add rtc_media as a direct dependency of rtc_media_unittests.
Without this, the rtc_media_unittests target was only an indirect
dependency, and compiled without HAVE_WEBRTC_VIDEO. And some testcases,
in particular, all tests defined by webrtcvideocapturer_unittest.cc,
are excluded from rtc_media_unittests.

BUG=

Review-Url: https://codereview.webrtc.org/2250433008
Cr-Commit-Position: refs/heads/master@{#13859}
2016-08-23 07:19:06 +00:00
asapersson
0d1ad326a3 Add histogram for percentage of incoming frames that are limited in resolution due to cpu:
- "WebRTC.Video.CpuLimitedResolutionInPercent"

BUG=webrtc:6235

Review-Url: https://codereview.webrtc.org/2254893009
Cr-Commit-Position: refs/heads/master@{#13858}
2016-08-23 06:56:53 +00:00
peah
72a5645fdf Removed the deactivation of the level controller when there is a built-in AGC available
BUG=

Review-Url: https://codereview.webrtc.org/2240763002
Cr-Commit-Position: refs/heads/master@{#13853}
2016-08-22 19:09:02 +00:00
nisse
4381700fcc WebRtcVideoFrame constructor without transport_frame_id.
Needed as a substitute when eliminating the Copy method.

BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2262683002
Cr-Commit-Position: refs/heads/master@{#13843}
2016-08-22 10:55:01 +00:00
peah
4905f06878 Disable the software noise suppressor on iOS devices as that
functionality is always present in the hardware.

BUG=webrtc:6231

Review-Url: https://codereview.webrtc.org/2260173002
Cr-Commit-Position: refs/heads/master@{#13839}
2016-08-22 08:58:56 +00:00
ossu
d4e9f62ea7 Updated AudioDecoderFactory to list AudioCodecSpecs instead of SdpAudioFormats.
BUG=webrtc:5805

Review-Url: https://codereview.webrtc.org/2123923004
Cr-Commit-Position: refs/heads/master@{#13810}
2016-08-18 09:02:15 +00:00
ossu
c54071d8ab WebRtcVoiceEngine: Use AudioDecoderFactory to generate recv codecs.
Reland of https://codereview.webrtc.org/2072753002/ which broke
chromium due to how their build was setup. This issue should now be
resolved.

Changed WebRtcVoiceEngine to present receive codecs from the formats
provided by its decoder factory. Added supported formats to
BuiltinAudioDecoderFactory. Added helper functions for creating some
simple decoder factories for mocking.

Created a PayloadTypeMapper for assigning payload types to formats. I
think we'll eventually want to use this further up, or possibly in
both the audio and video sides. It would be best if the engines didn't
have to talk payload types at all, but it might be more difficult to
get around when payload types depend on each-other, like the RTX
codecs for video.

BUG=webrtc:5805
TBR=ivoc@webrtc.org

Review-Url: https://codereview.webrtc.org/2250683002
Cr-Commit-Position: refs/heads/master@{#13793}
2016-08-17 09:45:47 +00:00
perkj
8eb37a39e7 Revert of Add task queue to Call. (patchset #42 id:840001 of https://codereview.webrtc.org/2060403002/ )
Reason for revert:
Failed on Win 10 Chrome FYI.

https://build.chromium.org/p/chromium.webrtc.fyi/builders/Win10%20Tester/builds/3847/steps/content_browsertests/logs/stdio

#
# Fatal error in e:\b\c\b\win_builder\src\third_party\webrtc\base\task_queue_win.cc, line 138
# last system error: 87
# Check failed: ((DWORD)0xFFFFFFFF) != result (4294967295 vs. 4294967295)
#

WebRtcBrowserTest

#

Original issue's description:
> - Add task queue to Call with the intent of replacing the use of one of the process threads.
>
> - Split VideoSendStream in two. VideoSendStreamInternal is created and used on the new task queue.
>
> - BitrateAllocator is now created on libjingle's worker thread but always used on the new task queue instead of both encoder threads and the process thread.
>
> - VideoEncoderConfig and VideoSendStream::Config support move semantics.
>
> - The encoder thread is moved from VideoSendStream to ViEEncoder. Frames are forwarded directly to ViEEncoder which is responsible for timestamping ? and encoding the frames.
>
> BUG=webrtc:5687
>
> Committed: https://crrev.com/cc168360f41322332860cb075edeb1cde21aa473
> Cr-Commit-Position: refs/heads/master@{#13767}

TBR=tommi@webrtc.org,mflodman@webrtc.org,stefan@webrtc.org,sprang@webrtc.org,pbos@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5687

Review-Url: https://codereview.webrtc.org/2248713003
Cr-Commit-Position: refs/heads/master@{#13774}
2016-08-16 09:40:59 +00:00
perkj
cc168360f4 - Add task queue to Call with the intent of replacing the use of one of the process threads.
- Split VideoSendStream in two. VideoSendStreamInternal is created and used on the new task queue.

- BitrateAllocator is now created on libjingle's worker thread but always used on the new task queue instead of both encoder threads and the process thread.

- VideoEncoderConfig and VideoSendStream::Config support move semantics.

- The encoder thread is moved from VideoSendStream to ViEEncoder. Frames are forwarded directly to ViEEncoder which is responsible for timestamping ? and encoding the frames.

BUG=webrtc:5687

Review-Url: https://codereview.webrtc.org/2060403002
Cr-Commit-Position: refs/heads/master@{#13767}
2016-08-16 07:38:51 +00:00
maxmorin
1aee0b5bd9 Remove old methods in AudioTransport, make it pass a gn build
when building with default warnings.

This is in preparation for making a gn target for audio_device_tests.

BUG=webrtc:6170, webrtc:163
NOTRY=True

Review-Url: https://codereview.webrtc.org/2219653004
Cr-Commit-Position: refs/heads/master@{#13759}
2016-08-15 18:46:28 +00:00
asapersson
2e5cfcd6c2 Add periodic logging of video stats.
Add ToString method to: Call::Stats, VideoSendStream::Stats, VideoReceiveStream::Stats and log stats periodically (every 10 seconds).

BUG=

Review-Url: https://codereview.webrtc.org/2133073002
Cr-Commit-Position: refs/heads/master@{#13727}
2016-08-11 15:41:26 +00:00
johan
3859c89b2e Add decoder-specific settings with proper lifetime.
Utilize these settings for h264 sprop-parameter-sets.

BUG=webrtc:5948

Review-Url: https://codereview.webrtc.org/2185953002
Cr-Commit-Position: refs/heads/master@{#13656}
2016-08-05 16:19:33 +00:00
aleloi
84ef615a5d Removed calls to VoE::SetPlayout() from WebRTCVoiceEngine.
This is part of rewriting the ConferenceMixer and OutputMixer.

Calls are instead routed through AudioReceiveStream::Start/Stop.

NOTRY=True

Review-Url: https://codereview.webrtc.org/2206223002
Cr-Commit-Position: refs/heads/master@{#13636}
2016-08-04 12:28:28 +00:00
Sergey Ulanov
19ee1e6eb1 Add cricket::VideoFrame::transport_frame_id() and set it to RTP timestamp.
Passing transport_frame_id() to VideoSink will allow to identify incoming video
frames, which will make it possible to correlate video frames on the
sender and on the receiver.

BUG=chromium:621691
R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://codereview.webrtc.org/2088953002 .

Cr-Commit-Position: refs/heads/master@{#13596}
2016-08-01 20:36:04 +00:00
mflodman
86cc6ffc7c Variable audio bitrate.
This is a first CL wiring up AudioSendStream to BitrateAllocator. This
is still experimental and there is a test added for the audio only case,
combined audio video variable bitrate test cases will be added as a
follow up.

BUG=5079

Review-Url: https://codereview.webrtc.org/2165743003
Cr-Commit-Position: refs/heads/master@{#13527}
2016-07-26 11:44:12 +00:00
ossu
6f06cca96f Create empty PayloadTypeMapper files and add them to builds.
This is related to https://codereview.webrtc.org/2072753002/ and its
eventual revert. That change required changes in chromium's build
files to not break it. Those build changes cannot be made before
these new files are available.

TBR=tommi@webrtc.org

Review-Url: https://codereview.webrtc.org/2145973003
Cr-Commit-Position: refs/heads/master@{#13466}
2016-07-13 17:06:31 +00:00
ossu
f93be584f7 Revert of WebRtcVoiceEngine: Use AudioDecoderFactory to generate recv codecs. (patchset #10 id:200001 of https://codereview.webrtc.org/2072753002/ )
Reason for revert:
For some reason, payload_type_mapper.cc is not being picked up in Chrome builds, leading to undefined references. Reverting while investigating.

Original issue's description:
> WebRtcVoiceEngine: Use AudioDecoderFactory to generate recv codecs.
>
> Changed WebRtcVoiceEngine to present receive codecs from the formats
> provided by its decoder factory. Added supported formats to
> BuiltinAudioDecoderFactory. Added helper functions for creating some
> simple decoder factories for mocking.
>
> Created a PayloadTypeMapper for assigning payload types to formats. I
> think we'll eventually want to use this further up, or possibly in
> both the audio and video sides. It would be best if the engines didn't
> have to talk payload types at all, but it might be more difficult to
> get around when payload types depend on each-other, like the RTX
> codecs for video.
>
> This CL also includes some changes to rtc::Optional. I've put them in
> a separate CL that should (or should not) land first, making these
> changes void.
> See: https://codereview.webrtc.org/2072713002/
>
> BUG=webrtc:5805
>
> Committed: https://crrev.com/95eb1ba0db79d8fd134ae61b0a24648598684e8a
> Cr-Commit-Position: refs/heads/master@{#13459}

TBR=ivoc@webrtc.org,tina.legrand@webrtc.org,tommi@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5805

Review-Url: https://codereview.webrtc.org/2151453002
Cr-Commit-Position: refs/heads/master@{#13460}
2016-07-13 13:31:37 +00:00
ossu
95eb1ba0db WebRtcVoiceEngine: Use AudioDecoderFactory to generate recv codecs.
Changed WebRtcVoiceEngine to present receive codecs from the formats
provided by its decoder factory. Added supported formats to
BuiltinAudioDecoderFactory. Added helper functions for creating some
simple decoder factories for mocking.

Created a PayloadTypeMapper for assigning payload types to formats. I
think we'll eventually want to use this further up, or possibly in
both the audio and video sides. It would be best if the engines didn't
have to talk payload types at all, but it might be more difficult to
get around when payload types depend on each-other, like the RTX
codecs for video.

This CL also includes some changes to rtc::Optional. I've put them in
a separate CL that should (or should not) land first, making these
changes void.
See: https://codereview.webrtc.org/2072713002/

BUG=webrtc:5805

Review-Url: https://codereview.webrtc.org/2072753002
Cr-Commit-Position: refs/heads/master@{#13459}
2016-07-13 13:05:32 +00:00
ivoc
14d5dbe5b3 Reland of "Move RtcEventLog object from inside VoiceEngine to Call.", "Fix to make the start/stop functions for the Rtc Eventlog non-virtual." and "Fix for RtcEventLog ObjC interface"
The breaking tests in Chromium have been temporarily disabled, they will be fixed and reenabled soon.

Original CLs: https://codereview.webrtc.org/1748403002/, https://codereview.webrtc.org/2107253002/ and https://codereview.webrtc.org/2106103003/.

TBR=solenberg@webrtc.org,tommi@webrtc.org,stefan@webrtc.org,terelius@webrtc.org,tkchin@webrtc.org
BUG=webrtc:4741, webrtc:5603, chromium:609749

Review-Url: https://codereview.webrtc.org/2110113003
Cr-Commit-Position: refs/heads/master@{#13379}
2016-07-04 14:07:03 +00:00
ivoc
9e03c3b372 Revert of Move RtcEventLog object from inside VoiceEngine to Call. (patchset #16 id:420001 of https://codereview.webrtc.org/1748403002/ )
Reason for revert:
Reverting all CLs related to moving the eventlog, as they break Chromium tests.

Original issue's description:
> Move RtcEventLog object from inside VoiceEngine to Call.
>
> In addition to moving the logging object itself, this also moves the interface from PeerConnectionFactory to PeerConnection, which makes more sense for this functionality. An API parameter to set an upper limit to the size of the logfile is introduced.
> The old interface on PeerConnectionFactory is not removed in this CL, because it is called from Chrome, it will be removed after Chrome is updated to use the PeerConnection interface.
>
> BUG=webrtc:4741,webrtc:5603,chromium:609749
> R=solenberg@webrtc.org, stefan@webrtc.org, terelius@webrtc.org, tommi@webrtc.org
>
> Committed: https://crrev.com/1895526c6130e3d0e9b154f95079b8eda7567016
> Cr-Commit-Position: refs/heads/master@{#13321}

TBR=solenberg@webrtc.org,tommi@webrtc.org,stefan@webrtc.org,terelius@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4741,webrtc:5603,chromium:609749

Review-Url: https://codereview.webrtc.org/2111813002
Cr-Commit-Position: refs/heads/master@{#13340}
2016-06-30 07:59:49 +00:00
peah
a3333bfafb This CL adds activation logic of the new APM level control
functionality and exposes the functionality using the
MediaConstraints.

The exposing of the feature through the  MediaConstraints
was done similarly to what was done for the intelligibility
enhancer in the CL
https://codereview.webrtc.org/1952123003

This CL is dependent on the CL https://codereview.webrtc.org/2090583002/ which contains
the level control functionality.

NOTRY=true
BUG=webrtc:5920

Review-Url: https://codereview.webrtc.org/2095563002
Cr-Commit-Position: refs/heads/master@{#13336}
2016-06-30 07:02:41 +00:00
Taylor Brandstetter
6c3e788dcf Add RTX codecs for codecs only supported by external encoder.
Previously we were only adding these RTX codecs if the codec was
internally supported.

R=pbos@webrtc.org, pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/2088233004 .

Cr-Commit-Position: refs/heads/master@{#13328}
2016-06-29 18:14:29 +00:00