9970 Commits

Author SHA1 Message Date
perkj
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
perkj
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
magjed
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
tommi
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
kjellander
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
kjellander
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
kjellander
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
deadbeef
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
deadbeef
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
danilchap
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
peah
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
tommi
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
magjed
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
perkj
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
tommi
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
kthelgason
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
henrika
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
tommi
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
tommi
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
tommi
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
sprang
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
philipel
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
tommi
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
hbos
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
peah
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
kthelgason
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
kjellander
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
kjellander
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
kjellander
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
denicija
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
tommi
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
deadbeef
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
deadbeef
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
deadbeef
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
deadbeef
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
tommi
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
deadbeef
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
tommi
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
zhihuang
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
tommi
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
tommi
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
terelius
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
kthelgason
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
kthelgason
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
philipel
1498defa78 Disable RTCStatsIntegrationTest on TSAN bots.
BUG=webrtc:7231
TBR=tommi@webrtc.org

Review-Url: https://codereview.webrtc.org/2707263010
Cr-Commit-Position: refs/heads/master@{#16828}
2017-02-24 15:41:04 +00:00
alessiob
306d1bfec0 Parallel iterator bash script. The Python files are empty ones, just a placeholder for the code they will host.
Sample audio files for the APM quality assessment toolbox

BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2711923002
Cr-Commit-Position: refs/heads/master@{#16827}
2017-02-24 13:32:21 +00:00
henrika
bb5136f940 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}
2017-02-24 11:36:20 +00:00
kthelgason
00df91ce50 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}
2017-02-24 10:08:18 +00:00
kthelgason
e47de1a69c 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}
2017-02-24 09:56:01 +00:00
kthelgason
49990e88fb 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}
2017-02-24 09:30:00 +00:00