- 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}
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}
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: 03d850ddf9TBR=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}
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}
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}
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}
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: 633f6fe004TBR=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}
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}
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}
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}
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: e2d1d64295TBR=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}
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}
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}
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}
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}
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: 37510bf094TBR=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}
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: bb5136f940TBR=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}
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}
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}
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}
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: 560ddb7321TBR=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}
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}
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}
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: 384498abb5TBR=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}