Commit Graph

10326 Commits

Author SHA1 Message Date
50235b77d0 Make FakeNetworkPipe not busy loop any more.
BUG=webrtc:7259, webrtc:7255

Review-Url: https://codereview.webrtc.org/2718343002
Cr-Commit-Position: refs/heads/master@{#16896}
2017-02-28 10:19:33 +00:00
ab210c8ad9 Added memory usage function to webrtc/base/.
BUG=webrtc:7095

Review-Url: https://codereview.webrtc.org/2706403010
Cr-Commit-Position: refs/heads/master@{#16895}
2017-02-28 10:18:27 +00:00
322a9e42f8 Handle TimeUntilNextProcess in StartupShutdownWithExternalADM
BUG=webrtc:7258

Review-Url: https://codereview.webrtc.org/2719113002
Cr-Commit-Position: refs/heads/master@{#16894}
2017-02-28 10:12:57 +00:00
d9cbd5138d Remove unused include from rtc_event_log_parser.cc
BUG=None

Review-Url: https://codereview.webrtc.org/2723533002
Cr-Commit-Position: refs/heads/master@{#16893}
2017-02-28 09:46:19 +00:00
f2183ffbf6 Create unit test for VideoReceiveStream.
- Create an unit test skeleton for VideoReceiveStream.
- Add an actual test case for creating a frame from H264 Sprop Parameter
  Sets and an Rtp H264 IDR Nalu.

BUG=webrtc:5948

Review-Url: https://codereview.webrtc.org/2721653002
Cr-Commit-Position: refs/heads/master@{#16892}
2017-02-28 09:33:09 +00:00
b1175bb101 Simplify webrtc::voe::MonitorModule and remove the .cc file.
The class basically implements a timer and can be replaced with a PostDelayedTask call down the line.

BUG=none

Review-Url: https://codereview.webrtc.org/2722613002
Cr-Commit-Position: refs/heads/master@{#16891}
2017-02-28 09:16:48 +00:00
985371bda9 Revert of Move fake_audio_device to its own target. (patchset #5 id:80001 of https://codereview.webrtc.org/2717983003/ )
Reason for revert:
Breaks build DEPS.

Original issue's description:
> Move fake_audio_device to its own target.
> The purpose is to make it usefull for test targets that does not need or can use test_common.
>
> For some reason this also triggered override issues in rtp module tests that are fixed in the same cl.
>
> BUG=none
>
> Review-Url: https://codereview.webrtc.org/2717983003
> Cr-Commit-Position: refs/heads/master@{#16889}
> Committed: 03d850ddf9

TBR=ehmaldonado@webrtc.org,danilchap@webrtc.org,kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=none

Review-Url: https://codereview.webrtc.org/2718083003
Cr-Commit-Position: refs/heads/master@{#16890}
2017-02-28 08:56:28 +00:00
03d850ddf9 Move fake_audio_device to its own target.
The purpose is to make it usefull for test targets that does not need or can use test_common.

For some reason this also triggered override issues in rtp module tests that are fixed in the same cl.

BUG=none

Review-Url: https://codereview.webrtc.org/2717983003
Cr-Commit-Position: refs/heads/master@{#16889}
2017-02-28 08:49:48 +00:00
21d110fe4e Enable include check for webrtc_h264 target
BUG=webrtc:7242,webrtc:6828

Review-Url: https://codereview.webrtc.org/2718143002
Cr-Commit-Position: refs/heads/master@{#16888}
2017-02-28 08:28:04 +00:00
f9495c3199 Avoid calling TimeUntilNextProcess() from Process() in BitrateControllerImpl
BUG=none

Review-Url: https://codereview.webrtc.org/2725433002
Cr-Commit-Position: refs/heads/master@{#16887}
2017-02-28 08:05:27 +00:00
1c6cc9a05f Enable GN check for webrtc/common_video
BUG=webrtc:6828
NOTRY=True

Review-Url: https://codereview.webrtc.org/2715113002
Cr-Commit-Position: refs/heads/master@{#16883}
2017-02-28 00:37:54 +00:00
2f1a555839 Enable GN check for webrtc/call
BUG=webrtc:6828
NOTRY=True

Review-Url: https://codereview.webrtc.org/2720503003
Cr-Commit-Position: refs/heads/master@{#16882}
2017-02-27 23:57:45 +00:00
dcb4b437fa Enable GN check in webrtc/stats
BUG=webrtc:6828
NOTRY=True

Review-Url: https://codereview.webrtc.org/2720533002
Cr-Commit-Position: refs/heads/master@{#16881}
2017-02-27 23:53:39 +00:00
8d60a946ae Replace NULL with nullptr or null in webrtc/api/.
BUG=webrtc:7147

Review-Url: https://codereview.webrtc.org/2715103002
Cr-Commit-Position: refs/heads/master@{#16880}
2017-02-27 22:47:33 +00:00
37f5ecfd8f Replace NULL with nullptr or null in webrtc/base/.
BUG=webrtc:7147

Review-Url: https://codereview.webrtc.org/2718663005
Cr-Commit-Position: refs/heads/master@{#16878}
2017-02-27 22:06:41 +00:00
f8475433be Disable flaky ViEEncoderTest.NrOfDroppedFramesLimited
BUG=webrtc:7232
NOTRY=true
TBR=mflodman@webrtc.org

Review-Url: https://codereview.webrtc.org/2720003002
Cr-Commit-Position: refs/heads/master@{#16876}
2017-02-27 17:21:14 +00:00
ebe7778ce9 Further tuning for AEC3 for initial echo suppression
and handling of echo path changes.

This CL add tuning for the AEC3 that
1) Improves the handling of the initial echo suppression
before the linear filter is reliable.
2) Improves the handling of echo path changes.

There are also minor bugfixes included.

BUG=webrtc:6018

Review-Url: https://codereview.webrtc.org/2717353002
Cr-Commit-Position: refs/heads/master@{#16873}
2017-02-27 15:29:21 +00:00
ede0759c04 Reland of Use TaskQueue in IncomingVideoStream (patchset #1 id:1 of https://codereview.webrtc.org/2714393003/ )
Use TaskQueue in IncomingVideoStream instead of the PlatformThread + event timer approach.

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

Reland of
686aa37382 (revert)
e2d1d64295 (original)

Review-Url: https://codereview.webrtc.org/2720773002
Cr-Commit-Position: refs/heads/master@{#16872}
2017-02-27 15:16:10 +00:00
63bafd62f1 Revert of Add the OnAddTrack callback for Objective-C wrapper. (patchset #7 id:240001 of https://codereview.webrtc.org/2513063003/ )
Reason for revert:
This CL breaks iOS AppRTCMobile. We don't have any automatic tests running on the bots yet, so please try AppRTCMobile locally before relanding.

Stack trace:
* thread #15: tid = 0x20e933, 0x0000000100488440 AppRTCMobile`webrtc::AudioRtpReceiver::OnFirstPacketReceived(this=0x0000000170156c60, channel=0x000000010511a600) + 48 at rtpreceiver.cc:133, name = 'Thread 0x0x10421b2a0', stop reason = EXC_BAD_ACCESS (code=1, address=0x1a1aac71979)
  * frame #0: 0x0000000100488440 AppRTCMobile`webrtc::AudioRtpReceiver::OnFirstPacketReceived(this=0x0000000170156c60, channel=0x000000010511a600) + 48 at rtpreceiver.cc:133
    frame #1: 0x000000010048a3f8 AppRTCMobile`void sigslot::_opaque_connection::emitter<webrtc::AudioRtpReceiver, cricket::BaseChannel*>(self=0x000000017424b380, args=0x000000010511a600) + 184 at sigslot.h:391
    frame #2: 0x00000001005a30ec AppRTCMobile`void sigslot::_opaque_connection::emit<cricket::BaseChannel*>(this=0x000000017424b380, args=0x000000010511a600) const + 56 at sigslot.h:381
    frame #3: 0x00000001005a3094 AppRTCMobile`sigslot::signal_with_thread_policy<sigslot::single_threaded, cricket::BaseChannel*>::emit(this=0x000000010511a678, args=0x000000010511a600) + 504 at sigslot.h:615
    frame #4: 0x000000010057ef5c AppRTCMobile`sigslot::signal_with_thread_policy<sigslot::single_threaded, cricket::BaseChannel*>::operator(this=0x000000010511a678, args=0x000000010511a600)(cricket::BaseChannel*) + 32 at sigslot.h:621
    frame #5: 0x000000010057ef00 AppRTCMobile`cricket::BaseChannel::OnMessage(this=0x000000010511a600, pmsg=0x000000016e676db0) + 600 at channel.cc:1494
    frame #6: 0x0000000100584a58 AppRTCMobile`cricket::VoiceChannel::OnMessage(this=0x000000010511a600, pmsg=0x000000016e676db0) + 152 at channel.cc:1909
    frame #7: 0x000000010017c0dc AppRTCMobile`rtc::MessageQueue::Dispatch(this=0x000000010421b2a0, pmsg=0x000000016e676db0) + 336 at messagequeue.cc:538
    frame #8: 0x00000001001d8efc AppRTCMobile`rtc::Thread::ProcessMessages(this=0x000000010421b2a0, cmsLoop=-1) + 228 at thread.cc:496
    frame #9: 0x00000001001d8e08 AppRTCMobile`rtc::Thread::Run(this=0x000000010421b2a0) + 28 at thread.cc:327
    frame #10: 0x00000001001d8b0c AppRTCMobile`rtc::Thread::PreRun(pv=0x000000017000f030) + 300 at thread.cc:316
    frame #11: 0x00000001843f1850 libsystem_pthread.dylib`_pthread_body + 240
    frame #12: 0x00000001843f1760 libsystem_pthread.dylib`_pthread_start + 284
    frame #13: 0x00000001843eed94 libsystem_pthread.dylib`thread_start + 4

Original issue's description:
> Add the OnAddTrack callback for Objective-C wrapper.
>
> Created an Obj-C wrapper for the callback OnAddTrack in this CL since it has been added to native C++ API
> The callback function is called when a track is signaled by remote side and a new RtpReceiver is created.
> The application can tell when tracks are added to the streams by listening to this callback.
>
> BUG=webrtc:6112
>
> Review-Url: https://codereview.webrtc.org/2513063003
> Cr-Commit-Position: refs/heads/master@{#16835}
> Committed: 633f6fe004

TBR=tkchin@webrtc.org,deadbeef@webrtc.org,zhihuang@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:6112

Review-Url: https://codereview.webrtc.org/2720753002
Cr-Commit-Position: refs/heads/master@{#16871}
2017-02-27 15:04:25 +00:00
a8ba195db5 Replace test::FrameGenerator::ChromaGenerator with new FrameGenerator::SquareGenerator The problem with the ChromaGenerator is that the VP8 encoder produce a too low bitrate for each frame. The squaregenerator make the VP8 encoder produce about 600kbit/s at VGA.
SquareGenerator is a FrameGenerator that draws 10 randomly sized and colored
squares. Between each new generated frame, the squares are moved slightly
towards the lower right corner.

BUG=webrtc:7192

Review-Url: https://codereview.webrtc.org/2705973002
Cr-Commit-Position: refs/heads/master@{#16870}
2017-02-27 14:52:10 +00:00
ea5f06f7e6 Remove extra call to TimeUntilNextProcess from within Process.
I noticed while profiling calls to TimeUntilNextProcess.
It's benign, but the implementation seems to be done to accomodate the
test rather than the other way around, so I'm making the test behave
more like a ProcessThread would.

BUG=None

Review-Url: https://codereview.webrtc.org/2715133002
Cr-Commit-Position: refs/heads/master@{#16867}
2017-02-27 13:41:24 +00:00
99ce6cdf23 iOS AppRTCMobile: Fix SocketRocket bug
Fixes a bug where a missing boolean-not causes AppRTCMobile to
always crash on an assert when built for Debug.

BUG=None
NOTRY=True
TBR=magjed@webrtc.org

Review-Url: https://codereview.webrtc.org/2721583002
Cr-Commit-Position: refs/heads/master@{#16865}
2017-02-27 13:20:18 +00:00
b3ebc1aa59 Simplifies FineAudioBuffer by using rtc::Buffer
BUG=NONE

Review-Url: https://codereview.webrtc.org/2715963002
Cr-Commit-Position: refs/heads/master@{#16864}
2017-02-27 13:14:17 +00:00
686aa37382 Revert of Use TaskQueue in IncomingVideoStream (patchset #10 id:320001 of https://codereview.webrtc.org/2716473002/ )
Reason for revert:
Reverting while fixing build issue in Chromium.

Original issue's description:
> Use TaskQueue in IncomingVideoStream instead of the PlatformThread + event timer approach.
>
> BUG=webrtc:7219, webrtc:7253
>
> Review-Url: https://codereview.webrtc.org/2716473002
> Cr-Commit-Position: refs/heads/master@{#16860}
> Committed: e2d1d64295

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

Review-Url: https://codereview.webrtc.org/2714393003
Cr-Commit-Position: refs/heads/master@{#16863}
2017-02-27 13:10:37 +00:00
055ecd1fdf Fix race in INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO
BUG=webrtc:7251

Review-Url: https://codereview.webrtc.org/2716343002
Cr-Commit-Position: refs/heads/master@{#16862}
2017-02-27 13:09:06 +00:00
e2d1d64295 Use TaskQueue in IncomingVideoStream instead of the PlatformThread + event timer approach.
BUG=webrtc:7219, webrtc:7253

Review-Url: https://codereview.webrtc.org/2716473002
Cr-Commit-Position: refs/heads/master@{#16860}
2017-02-27 12:40:43 +00:00
21253fc2c8 Fix race condition in VideoSendStreamTest.ChangingTransportOverhead
BUG=webrtc:7190

Review-Url: https://codereview.webrtc.org/2708573003
Cr-Commit-Position: refs/heads/master@{#16859}
2017-02-27 11:35:47 +00:00
32d0010d86 Add probe logging to RtcEventLog.
In this CL:
 - Add message BweProbeCluster and BweProbeResult to rtc_event_log.proto.
 - Add corresponding log functions to RtcEventLog.
 - Add optional field |probe_cluster_id| to RtpPacket message and added
   an overload function to log with this information.
 - Propagate the probe_cluster_id to where RTP packets are logged.

BUG=webrtc:6984

Review-Url: https://codereview.webrtc.org/2666533002
Cr-Commit-Position: refs/heads/master@{#16857}
2017-02-27 10:18:46 +00:00
f284b7ff5f Remove |running_| state from NackModule to avoid running a tight loop.
Also reducing locking in NackModule (and by extension RtpStreamReceiver)

BUG=webrtc:7246

Review-Url: https://codereview.webrtc.org/2720603002
Cr-Commit-Position: refs/heads/master@{#16856}
2017-02-27 09:59:36 +00:00
92eaec6104 RTCIceCandidatePairStats.nominated collected.
Connection::nominated() is updated to mean
(remote_nomination_ || acked_nomination_), which means both a
controlling and controlled agent can be said to be "nominated".
Previously this was (remote_nomination_ > 0) which only applies to the
controlling agent.

PortTest.TestNomination added to test nomination values and nomination
stat.

This value is surfaced through cricket::ConnectionInfo::nominated.
RTCStatsCollector uses this value in its collection of
RTCIceCandidatePairStats.

RTCStatsCollectorTest.CollectRTCIceCandidatePairStats updated to test
that ConnectionInfo::nominated is surfaced using mocks.
rtcstats_integrationtest.cc updated to expect nomination set without
using mocks.

Spec: https://w3c.github.io/webrtc-stats/#dom-rtcicecandidatepairstats-nominated

BUG=webrtc:7062, webrtc:7204

Review-Url: https://codereview.webrtc.org/2709293004
Cr-Commit-Position: refs/heads/master@{#16855}
2017-02-27 09:38:08 +00:00
a2376e7db6 Added post-adjustment of the suppression gains
This CL adds correction of the echo suppressor gain
It contains 2 changes:
-Bounds the upper value for the echo suppression gain
for bin 1 to avoid that the high-pass filter causes the
gain to be high for bin 1, which in turn may impact the
realization of any lower gains for the neighboring bins.
-Bounds the upper values for the echo suppression gains
for the higher bins to avoid any impact of the
external anti-aliasing filters.

BUG=webrtc:6018

Review-Url: https://codereview.webrtc.org/2718993002
Cr-Commit-Position: refs/heads/master@{#16854}
2017-02-27 09:15:24 +00:00
fa5fdce100 Reland of Set scaling limit at 320 * 180 for all implementations. (patchset #1 id:1 of https://codereview.webrtc.org/2711913007/ )
Reason for revert:
Reland after fixing broken perf tests.

Original issue's description:
> Revert of Set scaling limit at 320 * 180 for all implementations. (patchset #2 id:20001 of https://codereview.webrtc.org/2709153002/ )
>
> Reason for revert:
> Looks like webrtc_perf_test started failing on linux, mac and windows after this cl landed.
>
> Example failure:
>
> https://build.chromium.org/p/client.webrtc.perf/builders/Linux%20Trusty/builds/1386/steps/webrtc_perf_tests/logs/stdio
>
> [ RUN      ] CallPerfTest.ReceivesCpuOveruseAndUnderuse
> ../../webrtc/call/call_perf_tests.cc:522: Failure
> Value of: Wait()
>   Actual: false
> Expected: true
> Timed out before receiving an overuse callback.
> [  FAILED  ] CallPerfTest.ReceivesCpuOveruseAndUnderuse (120056 ms)
>
>
> Original issue's description:
> > Set scaling limit at 320 * 180 for all implementations.
> >
> > The MediaCodec decoder on android has trouble decoding video at
> > so low resolutions. We set the limit a bit higher for all implementations
> > pending a robust software fallback implementation for MediaCodec.
> >
> > BUG=webrtc:7206
> >
> > Review-Url: https://codereview.webrtc.org/2709153002
> > Cr-Commit-Position: refs/heads/master@{#16798}
> > Committed: 560ddb7321
>
> TBR=magjed@webrtc.org,sprang@webrtc.org,kthelgason@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:7206
>
> Review-Url: https://codereview.webrtc.org/2711913007
> Cr-Commit-Position: refs/heads/master@{#16839}
> Committed: 37510bf094

TBR=magjed@webrtc.org,sprang@webrtc.org,tommi@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7206

Review-Url: https://codereview.webrtc.org/2718013002
Cr-Commit-Position: refs/heads/master@{#16853}
2017-02-27 08:15:31 +00:00
b7d24f6d8d Disable flaky tests on iOS
Tests disabled:
CurrentSpeakerMonitorTest.SpeakerChange
TargetDelayTest.OutOfRangeInput
TargetDelayTest.NoTargetDelayBufferSizeChanges
TargetDelayTest.WithTargetDelayBufferNotChanging
TargetDelayTest.RequiredDelayAtCorrectRange
TargetDelayTest.TargetDelayBufferMinMax

BUG=webrtc:7057
TBR=aleloi@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2717993002
Cr-Commit-Position: refs/heads/master@{#16850}
2017-02-27 06:10:14 +00:00
7c85658556 Roll chromium_revision 33a7a547b9..0e44c5e141 (452838:453130)
Some code changes were needed due to webrtc:7236.
Disabling flaky test for iOS and ORTC (on memcheck).

Change log: 33a7a547b9..0e44c5e141
Full diff: 33a7a547b9..0e44c5e141

Changed dependencies:
* src/base: facaa65f73..07e8029830
* src/build: eefc9cc748..c7c2db69cd
* src/ios: f893f94115..75bb86f02a
* src/testing: b40837ba97..e31bd01824
* src/third_party: 55242080a2..285c08d0e2
* src/third_party/catapult: 794fff6c81..47b98570f6
* src/third_party/libyuv: b18fd21d3c..45b176d153
* src/tools: e4e78e0678..6b40c03f7b
DEPS diff: 33a7a547b9..0e44c5e141/DEPS

Clang version changed 289944:295793
Details: 33a7a547b9..0e44c5e141/tools/clang/scripts/update.py

TBR=henrik.lundin@webrtc.org
BUG=webrtc:7236, webrtc:7247, webrtc:7248
NOTRY=True

Review-Url: https://codereview.webrtc.org/2718953002
Cr-Commit-Position: refs/heads/master@{#16849}
2017-02-27 03:53:40 +00:00
f70a5830ab Roll chromium_revision 33a7a547b9..7e40b4199b (452838:452938)
Includes a roll of third_party/winsdk_samples to pull in a needed
fix for a compile error triggered by the new Clang version.

Change log: 33a7a547b9..7e40b4199b
Full diff: 33a7a547b9..7e40b4199b

Changed dependencies:
* src/base: facaa65f73..6e7d1cd14d
* src/build: eefc9cc748..66e79e3e44
* src/ios: f893f94115..199e1fdbca
* src/third_party: 55242080a2..57de89f663
* src/third_party/libyuv: b18fd21d3c..45b176d153
* src/tools: e4e78e0678..c036028c0a
DEPS diff: 33a7a547b9..7e40b4199b/DEPS

Clang version changed 289944:295793
Details: 33a7a547b9..7e40b4199b/tools/clang/scripts/update.py

TBR=tommi@webrtc.org
BUG=webrtc:7235
NOTRY=True

Review-Url: https://codereview.webrtc.org/2719703003
Cr-Commit-Position: refs/heads/master@{#16848}
2017-02-27 02:12:04 +00:00
070d5e30a8 Reland of Add metal view, shaders and renderer. (patchset #1 id:1 of https://codereview.webrtc.org/2711003004/ )
Reason for revert:
Re-land

Original issue's description:
> Revert of Add metal view, shaders and renderer. (patchset #18 id:340001 of https://codereview.webrtc.org/2651743007/ )
>
> Reason for revert:
> Reverting due to breakage in the Google3 import
>
> Original issue's description:
> > Add metal view, shaders and renderer.
> >
> > This CL submits standalone Metal view, renderer and shader.
> >
> > BUG=webrtc:7079
> >
> > Review-Url: https://codereview.webrtc.org/2651743007
> > Cr-Commit-Position: refs/heads/master@{#16787}
> > Committed: fc8c97f950
>
> TBR=magjed@webrtc.org,kthelgason@webrtc.org,tkchin@webrtc.org,haysc@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7079
>
> Review-Url: https://codereview.webrtc.org/2711003004
> Cr-Commit-Position: refs/heads/master@{#16788}
> Committed: b681aabdfc

TBR=magjed@webrtc.org,kthelgason@webrtc.org,tkchin@webrtc.org,haysc@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7079

Review-Url: https://codereview.webrtc.org/2716703004
Cr-Commit-Position: refs/heads/master@{#16846}
2017-02-26 19:44:13 +00:00
3dda246b69 Revert of Removing unused audio device tests (patchset #1 id:1 of https://codereview.webrtc.org/2716843002/ )
Reason for revert:
I unfortunately have to revert this since trybots are still trying to run these tests and now they fail because the tests aren't there :-/  Before relanding, can you work with engprod to make sure we don't run them?

Original issue's description:
> Removes a test suite that is no longer used or maintained.
>
> BUG=NONE
>
> Review-Url: https://codereview.webrtc.org/2716843002
> Cr-Commit-Position: refs/heads/master@{#16825}
> Committed: bb5136f940

TBR=solenberg@webrtc.org,nisse@webrtc.org,henrika@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=NONE

Review-Url: https://codereview.webrtc.org/2721433002
Cr-Commit-Position: refs/heads/master@{#16845}
2017-02-26 15:12:50 +00:00
922246a353 Replace NULL with nullptr or null in webrtc/audio/ and common_audio/.
BUG=webrtc:7147

Review-Url: https://codereview.webrtc.org/2719733002
Cr-Commit-Position: refs/heads/master@{#16843}
2017-02-26 12:18:12 +00:00
e814a0dee0 Adding "adapter" ORTC objects on top of ChannelManager/BaseChannel/etc.
This CL adds the following interfaces:
* RtpTransportController
* RtpTransport
* RtpSender
* RtpReceiver

They're implemented on top of the "BaseChannel" object, which is normally used
in a PeerConnection, and roughly corresponds to an SDP "m=" section. As a result
of this, there are several limitations:

* You can only have one of each type of sender and receiver (audio/video) on top
  of the same transport controller.
* The sender/receiver with the same media type must use the same RTP transport.
* You can't change the transport after creating the sender or receiver.
* Some of the parameters aren't supported.

Later, these "adapter" objects will be gradually replaced by real objects that don't
have these limitations, as "BaseChannel", "MediaChannel" and related code is
restructured. In this CL, we essentially have:

ORTC adapter objects -> BaseChannel -> Media engine
PeerConnection -> BaseChannel -> Media engine

And later we hope to have simply:

PeerConnection -> "Real" ORTC objects -> Media engine

See the linked bug for more context.

BUG=webrtc:7013
TBR=stefan@webrtc.org

Review-Url: https://codereview.webrtc.org/2675173003
Cr-Commit-Position: refs/heads/master@{#16842}
2017-02-26 02:15:09 +00:00
f15fb452ef Fix occasional race in VideoCapturerTrackSource seen by memcheck bot.
The issue was that VideoCapturerTrackSource was adding a reference
to itself, causing it to not be deleted even after no external objects
reference it. The objects underneath it (threads for instance) may
then be destroyed before the object dereferences them.

BUG=webrtc:6487

Review-Url: https://codereview.webrtc.org/2717023002
Cr-Commit-Position: refs/heads/master@{#16841}
2017-02-25 21:37:59 +00:00
ccaaffb44a Adding rtc::Unretained to allow avoiding rtc::Bind reference capture.
In some rare circumstances, capturing a reference may be undesired. For
example, when creating an asynchronous task owned by the object itself,
the object may not need or want this task to keep itself alive.

BUG=None

Review-Url: https://codereview.webrtc.org/2711113008
Cr-Commit-Position: refs/heads/master@{#16840}
2017-02-25 20:56:20 +00:00
37510bf094 Revert of Set scaling limit at 320 * 180 for all implementations. (patchset #2 id:20001 of https://codereview.webrtc.org/2709153002/ )
Reason for revert:
Looks like webrtc_perf_test started failing on linux, mac and windows after this cl landed.

Example failure:

https://build.chromium.org/p/client.webrtc.perf/builders/Linux%20Trusty/builds/1386/steps/webrtc_perf_tests/logs/stdio

[ RUN      ] CallPerfTest.ReceivesCpuOveruseAndUnderuse
../../webrtc/call/call_perf_tests.cc:522: Failure
Value of: Wait()
  Actual: false
Expected: true
Timed out before receiving an overuse callback.
[  FAILED  ] CallPerfTest.ReceivesCpuOveruseAndUnderuse (120056 ms)

Original issue's description:
> Set scaling limit at 320 * 180 for all implementations.
>
> The MediaCodec decoder on android has trouble decoding video at
> so low resolutions. We set the limit a bit higher for all implementations
> pending a robust software fallback implementation for MediaCodec.
>
> BUG=webrtc:7206
>
> Review-Url: https://codereview.webrtc.org/2709153002
> Cr-Commit-Position: refs/heads/master@{#16798}
> Committed: 560ddb7321

TBR=magjed@webrtc.org,sprang@webrtc.org,kthelgason@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7206

Review-Url: https://codereview.webrtc.org/2711913007
Cr-Commit-Position: refs/heads/master@{#16839}
2017-02-25 19:30:55 +00:00
08187d41ca Rewrite rtc::Bind using variadic templates.
I'd like to make a change to rtc::Bind in another CL, and that will
be easier if there are fewer lines of code to modify.

BUG=None

Review-Url: https://codereview.webrtc.org/2719683002
Cr-Commit-Position: refs/heads/master@{#16838}
2017-02-25 19:21:18 +00:00
4af9f962c3 Fix busy loop in FakeAudioDeviceModule.
The implementation now has a mechanism that effectively turns off callbacks if used.

BUG=webrtc:7237, 695438
TBR=solenberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2710023010
Cr-Commit-Position: refs/heads/master@{#16837}
2017-02-25 17:05:22 +00:00
633f6fe004 Add the OnAddTrack callback for Objective-C wrapper.
Created an Obj-C wrapper for the callback OnAddTrack in this CL since it has been added to native C++ API
The callback function is called when a track is signaled by remote side and a new RtpReceiver is created.
The application can tell when tracks are added to the streams by listening to this callback.

BUG=webrtc:6112

Review-Url: https://codereview.webrtc.org/2513063003
Cr-Commit-Position: refs/heads/master@{#16835}
2017-02-24 20:50:48 +00:00
c9bb7918f6 Add support for priorities to TaskQueue.
BUG=webrtc:7216

Review-Url: https://codereview.webrtc.org/2708353003
Cr-Commit-Position: refs/heads/master@{#16834}
2017-02-24 18:42:14 +00:00
3ba1a8cd1b Revert of Use sched_yield on all POSIX platforms in PlatformThread. (patchset #1 id:1 of https://codereview.webrtc.org/2716683002/ )
Reason for revert:
Reverting this change since it didn't affect the perf regressions we were seeing and actually seems to have caused more regressions as per comment in the bug.

Original issue's description:
> Use sched_yield on all POSIX platforms in PlatformThread.
> (not only MacOS)
>
> This is a test to see if perf regressions we're seeing may be related to the use of nanosleep().
>
> BUG=695438
> TBR=solenberg@webrtc.org
>
> Review-Url: https://codereview.webrtc.org/2716683002 .
> Cr-Commit-Position: refs/heads/master@{#16807}
> Committed: 384498abb5

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

Review-Url: https://codereview.webrtc.org/2712133003
Cr-Commit-Position: refs/heads/master@{#16833}
2017-02-24 17:12:32 +00:00
f18847fa6a Remove unused variables from MetricRecorder.
BUG=webrtc:7209

Review-Url: https://codereview.webrtc.org/2704343004
Cr-Commit-Position: refs/heads/master@{#16831}
2017-02-24 16:45:36 +00:00
343b71060a Reland of move some warning suppressions from SocketRocket. (patchset #2 id:60001 of https://codereview.webrtc.org/2718703002/ )
Reason for revert:
AppRTCMobile has been fixed.

Original issue's description:
> Revert of move some warning suppressions from SocketRocket. (patchset #2 id:70001 of https://codereview.webrtc.org/2718653002/ )
>
> Reason for revert:
> Breaks AppRTCMobile in release configuration
>
> Original issue's description:
> > Reland of move some warning suppressions from SocketRocket. (patchset #1 id:1 of https://codereview.webrtc.org/2714123002/ )
> >
> > Reason for revert:
> > Buildbot issues have been fixed.
> >
> > Original issue's description:
> > > Revert of Remove some warning suppressions from SocketRocket. (patchset #1 id:1 of https://codereview.webrtc.org/2704383004/ )
> > >
> > > Reason for revert:
> > > Breaks buildbot
> > >
> > > Original issue's description:
> > > > Remove some warning suppressions from SocketRocket.
> > > >
> > > > These warnings started appearing on a clang update. This CL patches the
> > > > vendored library and removes the supression. We assert on the return as
> > > > we're not equipped to deal with failures there anyway.
> > > >
> > > > BUG=webrtc:6396
> > > > NOTRY=true
> > > >
> > > > Review-Url: https://codereview.webrtc.org/2704383004
> > > > Cr-Commit-Position: refs/heads/master@{#16820}
> > > > Committed: 49990e88fb
> > >
> > > TBR=kjellander@webrtc.org,magjed@webrtc.org
> > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > NOPRESUBMIT=true
> > > NOTREECHECKS=true
> > > NOTRY=true
> > > BUG=webrtc:6396
> > >
> > > Review-Url: https://codereview.webrtc.org/2714123002
> > > Cr-Commit-Position: refs/heads/master@{#16822}
> > > Committed: e47de1a69c
> >
> > TBR=kjellander@webrtc.org,magjed@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:6396
> >
> > Review-Url: https://codereview.webrtc.org/2718653002
> > Cr-Commit-Position: refs/heads/master@{#16823}
> > Committed: 00df91ce50
>
> TBR=kjellander@webrtc.org,magjed@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6396
>
> Review-Url: https://codereview.webrtc.org/2718703002
> Cr-Commit-Position: refs/heads/master@{#16829}
> Committed: 0b34577625

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

Review-Url: https://codereview.webrtc.org/2715943003
Cr-Commit-Position: refs/heads/master@{#16830}
2017-02-24 16:09:18 +00:00
0b34577625 Revert of move some warning suppressions from SocketRocket. (patchset #2 id:70001 of https://codereview.webrtc.org/2718653002/ )
Reason for revert:
Breaks AppRTCMobile in release configuration

Original issue's description:
> Reland of move some warning suppressions from SocketRocket. (patchset #1 id:1 of https://codereview.webrtc.org/2714123002/ )
>
> Reason for revert:
> Buildbot issues have been fixed.
>
> Original issue's description:
> > Revert of Remove some warning suppressions from SocketRocket. (patchset #1 id:1 of https://codereview.webrtc.org/2704383004/ )
> >
> > Reason for revert:
> > Breaks buildbot
> >
> > Original issue's description:
> > > Remove some warning suppressions from SocketRocket.
> > >
> > > These warnings started appearing on a clang update. This CL patches the
> > > vendored library and removes the supression. We assert on the return as
> > > we're not equipped to deal with failures there anyway.
> > >
> > > BUG=webrtc:6396
> > > NOTRY=true
> > >
> > > Review-Url: https://codereview.webrtc.org/2704383004
> > > Cr-Commit-Position: refs/heads/master@{#16820}
> > > Committed: 49990e88fb
> >
> > TBR=kjellander@webrtc.org,magjed@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:6396
> >
> > Review-Url: https://codereview.webrtc.org/2714123002
> > Cr-Commit-Position: refs/heads/master@{#16822}
> > Committed: e47de1a69c
>
> TBR=kjellander@webrtc.org,magjed@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6396
>
> Review-Url: https://codereview.webrtc.org/2718653002
> Cr-Commit-Position: refs/heads/master@{#16823}
> Committed: 00df91ce50

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

Review-Url: https://codereview.webrtc.org/2718703002
Cr-Commit-Position: refs/heads/master@{#16829}
2017-02-24 16:06:17 +00:00