Commit Graph

12828 Commits

Author SHA1 Message Date
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
7fbe2ee224 Make EGL10 class public.
To allow accessing its function for 3rd party apps.

BUG=b/30502777
R=jiayl@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#13595}
2016-08-01 20:31:42 +00:00
b578d6c56b congestion controller: Fix network route change handling
A reset of Bwe and rates on network route change triggers
switching of the RemoteBitrateEstimator from DelayBasedBwe
to RemoteBitrateEstimatorAbsSendTime. This is unexpected,
fix this.

BUG=
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13594}
2016-08-01 19:16:52 +00:00
dc35dcd4dc Convenience functions to set axis properties in visualization tool.
Also makes the properties protected, as previously requested by Stefan.

Review-Url: https://codereview.webrtc.org/2179223003
Cr-Commit-Position: refs/heads/master@{#13593}
2016-08-01 19:03:33 +00:00
8b70faf262 Send audio packets immediately instead of pacing them.
The intended behavior of the pacer is that it should send audio (i.e high priority) packets immediatelly even if the pacer is paused and even if the available media budget has been used. The existing code will not send audio if the pacing budget has been used. It will normally send audio when the pacer is paused, but if the media budget was already used up when the pacer was paused, it would neither send audio nor update the budget.

Updated the implementatation and the unit test. Added logging for when the pacer is paused, and when it receives a zero bitrate estimate.

BUG=webrtc:6155

Review-Url: https://codereview.webrtc.org/2193183003
Cr-Commit-Position: refs/heads/master@{#13592}
2016-08-01 16:47:38 +00:00
c980062242 Use a new method (android_setsocknetwork) to bind socket to network in Android M and later.
The old method (setNetworkForSocket) is not supported in Android-N.

BUG=
R=glaznev@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13591}
2016-08-01 16:27:43 +00:00
f734c135a4 Cleanup BWE SendTimeHistory class
Review-Url: https://codereview.webrtc.org/2011473002
Cr-Commit-Position: refs/heads/master@{#13590}
2016-08-01 16:23:24 +00:00
233c4ba4fd New ProbingCalculator class.
The ProbingCalculator class calculates and validates the results from
probing attempts.

BUG=webrtc:5859

Review-Url: https://codereview.webrtc.org/2121183002
Cr-Commit-Position: refs/heads/master@{#13589}
2016-08-01 15:49:13 +00:00
ddf3e4accd GN conversion of audio_decoder_unittests
BUG=webrtc 6036

Review-Url: https://codereview.webrtc.org/2180853006
Cr-Commit-Position: refs/heads/master@{#13588}
2016-08-01 14:49:50 +00:00
32cd2c4103 Fix issues with RestartingSendStreamPreservesRtpStatesWithRtx
double check rtp_sender in sending mode when altering sequence_number
adjust test to skip validating timestamp on rtx streams
fix test by waiting for all 3 media streams instead of 3 out 6 media and rtx streams.

BUG=webrtc:4332

Review-Url: https://codereview.webrtc.org/2177523002
Cr-Commit-Position: refs/heads/master@{#13587}
2016-08-01 13:58:41 +00:00
95e756035e [rtcp] Nack::Parse updated not to use RTCPUtility
BUG=webrtc:5260
R=åsapersson

Review-Url: https://codereview.webrtc.org/2028543002
Cr-Commit-Position: refs/heads/master@{#13586}
2016-08-01 13:51:20 +00:00
88c1d2bc0f Don't use LOG_END timestamp to compute RtcEventLog duration.
The LOG_END time is incorrect if the event log is stopped
by the file size limit instead of a duration limit or a
manual stop. This makes the call appear to be very long
(10^13 seconds) in the analysis tool. This CL is a workaround
for that problem.

BUG=webrtc:6138

Review-Url: https://codereview.webrtc.org/2176663002
Cr-Commit-Position: refs/heads/master@{#13585}
2016-08-01 12:20:39 +00:00
1a518fc4e3 Request ownership for visualization tool
Review-Url: https://codereview.webrtc.org/2195303002
Cr-Commit-Position: refs/heads/master@{#13584}
2016-08-01 11:38:18 +00:00
8a0b1287cd Fix CopyOnWriteBuffer::cdata to return const pointer
to prevent unexpected data modification.

Review-Url: https://codereview.webrtc.org/2189013002
Cr-Commit-Position: refs/heads/master@{#13583}
2016-07-30 20:42:35 +00:00
d8a9c5306b Implement CopyOnWriteBuffer move using scoped_refptr move
instead of using temporary swap solution.

BUG=webrtc:5556

Review-Url: https://codereview.webrtc.org/2191863002
Cr-Commit-Position: refs/heads/master@{#13582}
2016-07-30 19:39:32 +00:00
76a44d5daf Log current time if we stop logging before stop_time_.
This happens if we stop logging because we have reached the file size limit. The large timestamp causes problems in the analysis tool.

BUG=webrtc:6138

Review-Url: https://codereview.webrtc.org/2175713002
Cr-Commit-Position: refs/heads/master@{#13581}
2016-07-29 19:38:45 +00:00
7a11ae3c7c Print entire error object for capture session error handler
NOTRY=True
BUG=

Review-Url: https://codereview.webrtc.org/2189133002
Cr-Commit-Position: refs/heads/master@{#13580}
2016-07-29 19:03:58 +00:00
cd2553937e Increase audio buffer duration for iPhone 4s.
NOTRY=True
BUG=

Review-Url: https://codereview.webrtc.org/2193573002
Cr-Commit-Position: refs/heads/master@{#13579}
2016-07-29 17:53:45 +00:00
6a850c3b93 Register header extensions for rtx streams in the event log analyzer.
TBR=phoglund@webrtc.org

NOTRY=true

Review-Url: https://codereview.webrtc.org/2192173002
Cr-Commit-Position: refs/heads/master@{#13578}
2016-07-29 17:28:18 +00:00
70cfc14af6 Adds move assignment operator to scoped_refptr
Implementation borrowed from chromium.

BUG=webrtc:5556
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13577}
2016-07-29 17:15:10 +00:00
3d7346fd46 Adds delta-time logging for audio playout
BUG=NONE
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13576}
2016-07-29 14:21:41 +00:00
b77bd81a4a Temporarily remove problematic dcheck
It's being triggered in some upstream code, let's disable this while we
fix that.

BUG=
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13575}
2016-07-29 13:20:30 +00:00
13181035bc Reland: Add BWE plot to event log analyzer.
The plot is constructed by actually running the congestion controller with
the logged rtp headers and rtcp feedback messages to reproduce the same behavior
as in the real call.

R=phoglund@webrtc.org, terelius@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13574}
2016-07-29 12:49:04 +00:00
3d9c71ad73 Add an option to disable proximity sensor to AppRTC Demo Android.
BUG=webrtc:6152
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13573}
2016-07-29 12:11:22 +00:00
0e4bffbed0 Add an option to enable level control to Android AppRTC Demo.
BUG=webrtc:6152
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13572}
2016-07-29 12:08:26 +00:00
737336d37a Add NACK rate throttling for audio channels.
Not really used for audio today (already in place for video), but should
still function anyway.

BUG=
R=henrika@webrtc.org, minyue@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13571}
2016-07-29 10:59:49 +00:00
f3882571b0 Rewrote UpdateToMix in the audio mixer.
The new version is much shorter than the old one, and hopefully easier
to read. This is part of the effort to rewrite the old mixer.

NOTRY=True

Review-Url: https://codereview.webrtc.org/2132563002
Cr-Commit-Position: refs/heads/master@{#13570}
2016-07-29 09:12:46 +00:00
ea4c141ffa Revert of Rewrote UpdateToMix in the audio mixer. (patchset #5 id:120001 of https://codereview.webrtc.org/2132563002/ )
Reason for revert:
Multiple definitions of  webrtc::MockMixerParticipant::MockMixerParticipant() during linking of modules_unittests. Please investigate and resubmit.

Original issue's description:
> Rewrote UpdateToMix in the audio mixer.
>
> The new version is much shorter than the old one, and hopefully easier
> to read. This is part of the effort to rewrite the old mixer.
>
> Committed: https://crrev.com/2942e240f4a985752714dac18c141064c97696d4
> Cr-Commit-Position: refs/heads/master@{#13568}

TBR=ossu@webrtc.org,ivoc@webrtc.org,aleloi@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.webrtc.org/2195633002
Cr-Commit-Position: refs/heads/master@{#13569}
2016-07-29 08:36:23 +00:00
2942e240f4 Rewrote UpdateToMix in the audio mixer.
The new version is much shorter than the old one, and hopefully easier
to read. This is part of the effort to rewrite the old mixer.

Review-Url: https://codereview.webrtc.org/2132563002
Cr-Commit-Position: refs/heads/master@{#13568}
2016-07-29 08:23:54 +00:00
a74363c998 Remove ports that are not used by any channel after timeout
If a port is not used by any channel and if it has no connection for 30
seconds, it will be removed.
Note, as long as a port is used by a transport channel, it will be kept
even if it does not have any connection. This will be beneficial to
continual gathering because new connections can be created in the future
when network changes.

BUG=
R=pthatcher@webrtc.org, zhihuang@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13567}
2016-07-29 01:06:26 +00:00
c309e0e3ea Don't stop sending media on EWOULDBLOCK
This change makes WebRTC no longer stop sending video when we receive an
EWOULDBLOCK error from the operating system. This was previously
causing calls on a slow link (where the first hop is slow) to rapidly
oscillate between starting and stopping video.

We still do need to stop sending packets if there is no known good
connection we can use for that. We used to generate a synthetic
EWOULDBLOCK error in that case. This CL replaces it with a different
code (ENOTCONN); EWOULDBLOCK no longer stops the stream but ENOTCONN
does.

I've updated all the places where we seemed to be generating EWOULDBLOCK
for reasons other than some buffer been full; please give it a thorough
look in case I missed something.

R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13566}
2016-07-29 00:15:30 +00:00
ec4f068bcd Style cleanups in RtpSender.
- Renamed variables and some function to comply with style guide.
- Removed default argument values.
- Removed some dead code.
- Cleaned up comments formatting in rtp_rtcp.h

R=danilchap@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13565}
2016-07-28 22:19:18 +00:00
d762910592 Use 15fps for iPhone 4S
NOTRY=True
BUG=

Review-Url: https://codereview.webrtc.org/2188883002
Cr-Commit-Position: refs/heads/master@{#13564}
2016-07-28 21:53:01 +00:00
b5db1ec0e5 Delay destroying a port if new connections are created and destroyed.
If all connections on a port is destroyed, it will schedule an event
to check if it is dead after a timeout. Previously if a new connection
is created but destroyed before the event is fired, it will destroy the
port. With this change, we will not destoy it until it times out again
after the last created connection is destroyed.

BUG=
R=pthatcher@webrtc.org, zhihuang@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13563}
2016-07-28 20:23:13 +00:00
8eeecabd33 Merge SignalPortPruned and SignalPortsRemoved.
These two signals have the same purpose and is kind of redundant.
Rename to SignalPortsPruned.

BUG=
R=pthatcher@webrtc.org, zhihuang@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13562}
2016-07-28 20:20:29 +00:00
8bc773430f Memset svc_params in vp9 wrapper to avoid undefined behavior.
Due to a recent interface change for svc_params in vp9 svc, which
allows speed setting per layer, svc_params should be inited to 0
for safety.

Review-Url: https://codereview.webrtc.org/2179753003
Cr-Commit-Position: refs/heads/master@{#13561}
2016-07-28 20:07:52 +00:00
55b0b37554 Use a better method to generate a random ID in IvfFileWriterTest.
It was generating a random ID using the test case's "this" pointer
and the current time. However, the current time may be imprecise. And
the "this" pointer may have repeatable values.

BUG=webrtc:5898

Review-Url: https://codereview.webrtc.org/2190533004
Cr-Commit-Position: refs/heads/master@{#13560}
2016-07-28 17:51:14 +00:00
59c1ad58e6 Revert of Add BWE plot to event log analyzer. (patchset #6 id:100001 of https://codereview.webrtc.org/2188033004/ )
Reason for revert:
Breaks downstream targets.

Original issue's description:
> Add BWE plot to event log analyzer.
>
> The plot is constructed by actually running the congestion controller with
> the logged rtp headers and rtcp feedback messages to reproduce the same behavior
> as in the real call.
>
> R=phoglund@webrtc.org, terelius@webrtc.org
>
> Committed: https://crrev.com/2beea2a8c920000ef19eea20cce397507fc3d5e7
> Cr-Commit-Position: refs/heads/master@{#13558}

TBR=phoglund@webrtc.org,stefan@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.webrtc.org/2190013002
Cr-Commit-Position: refs/heads/master@{#13559}
2016-07-28 16:21:32 +00:00
2beea2a8c9 Add BWE plot to event log analyzer.
The plot is constructed by actually running the congestion controller with
the logged rtp headers and rtcp feedback messages to reproduce the same behavior
as in the real call.

R=phoglund@webrtc.org, terelius@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13558}
2016-07-28 15:42:31 +00:00
a23fc626a2 Fix bug where transport sequence numbers are allocated for packets without the header extension registered.
This is an issue if the sequence numbers are to be used to compute packet loss statistics since it introduces gaps which are not related to loss.

Also making sure that the header extensions are properly guarded by the send crit sect.

Review-Url: https://codereview.webrtc.org/2190913002
Cr-Commit-Position: refs/heads/master@{#13557}
2016-07-28 14:56:45 +00:00
5deaaaa0b4 Fix gitignore after setup_links change.
R=henrika@webrtc.org
BUG=522043

Review-Url: https://codereview.webrtc.org/2184323004
Cr-Commit-Position: refs/heads/master@{#13556}
2016-07-28 14:23:11 +00:00
c62ff86023 Adds periodic volume-level logging for Android.
The goal of this change is to log the volume level for the
current audio stream so we can keep track of what volume the
user selects during a call.

BUG=b/30376577
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13555}
2016-07-28 13:46:32 +00:00
a0db81f83a Removed the memory pool from the mixer.
Memory frames are now expected to be owned by the mixing participants.

Review-Url: https://codereview.webrtc.org/2127763002
Cr-Commit-Position: refs/heads/master@{#13554}
2016-07-28 13:36:32 +00:00
1a993d12bb aimd: Remove unused variable
BUG=

Review-Url: https://codereview.webrtc.org/2187843002
Cr-Commit-Position: refs/heads/master@{#13553}
2016-07-28 13:34:45 +00:00
8b2233f5a6 Removed Module inheritance and unused methods and members TimeScheduler, Process() and TimeToNextProcess() from mixer.
Review-Url: https://codereview.webrtc.org/2109333006
Cr-Commit-Position: refs/heads/master@{#13552}
2016-07-28 13:24:23 +00:00
178ae905c8 Fix an UI bug in AppRTC Demo where disable hardware AGC/NS summary was not getting updated.
In Android AppRTC Demo, there was a bug where toggling disable hardware
AGC/NS would not be reflected into the summary of those settings. This
change fixes this issue.

Review-Url: https://codereview.webrtc.org/2184223003
Cr-Commit-Position: refs/heads/master@{#13551}
2016-07-28 12:55:44 +00:00
09f45108c2 Removed callback in old AudioConferenceMixer.
OutputMixer and AudioConferenceMixer communicated via a callback. OutputMixer implemented an AudioMixerOutputReceiver interface, which defines the callback function NewMixedAudio. This has been removed and replaced by a simple function in the new mixer. The audio frame with mixed audio is now copied one time less. I have also removed one forward declaration.

Review-Url: https://codereview.webrtc.org/2111293003
Cr-Commit-Position: refs/heads/master@{#13550}
2016-07-28 10:52:23 +00:00
e6b60a4368 Migrated audio_codec_speed_tests target to GN.
Review-Url: https://codereview.webrtc.org/2177373004
Cr-Commit-Position: refs/heads/master@{#13549}
2016-07-28 09:34:39 +00:00
00730c724d Migrated GN target insert_packet_with_timing.
Review-Url: https://codereview.webrtc.org/2187003002
Cr-Commit-Position: refs/heads/master@{#13548}
2016-07-28 08:34:11 +00:00
333f206f8b Target delay_test migrated to GN.
Review-Url: https://codereview.webrtc.org/2188473003
Cr-Commit-Position: refs/heads/master@{#13547}
2016-07-28 08:21:38 +00:00