Commit Graph

11847 Commits

Author SHA1 Message Date
55dd70842c Support RtpEncodingParameters::active in voice engine.
R=solenberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12615}
2016-05-03 20:50:24 +00:00
1746179c96 Reducing neteq sync buffer size.
BUG=608644

Review-Url: https://codereview.webrtc.org/1947453002
Cr-Commit-Position: refs/heads/master@{#12614}
2016-05-03 20:32:13 +00:00
4adbbcfe7a Move ADM Create() method to public interface.
ADMs were previously created by CreateAudioDeviceModule which was
removed in previous refactoring without a replacement added.

BUG=
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12613}
2016-05-03 19:51:31 +00:00
9bfa1063d1 Change the threshold for external VNR.
The change is based on visual evaluation results and improves the
denoising result on both desktop/laptop and Nexus.

Review-Url: https://codereview.webrtc.org/1935353002
Cr-Commit-Position: refs/heads/master@{#12612}
2016-05-03 18:21:34 +00:00
c4deee49a3 Use RC_TIMESTAMP_MODE for OpenH264.
Performs rate control based on timestamp deltas instead of announced
frame rate.

BUG=webrtc:5855
R=hbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12611}
2016-05-03 18:00:05 +00:00
c8fe991a3d Removing SpatialAudio test code
The code has not been dead for almost four years (since
https://webrtc-codereview.appspot.com/636006).

NOTRY=True

Review-Url: https://codereview.webrtc.org/1947483002
Cr-Commit-Position: refs/heads/master@{#12610}
2016-05-03 15:40:13 +00:00
87f8c0d072 Adding in objc vars for WebRTC GN config.
Appears to be needed after https://codereview.chromium.org/1941053002.

R=ivoc@webrtc.org
TBR=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12609}
2016-05-03 15:20:03 +00:00
b1fb72bebb NetEq: Move counting of generated CNG samples from DecisionLogic
The counting is moved to NetEqImpl, and the new counter is realized as a
Stopwatch object. The DecisionLogic class still has to maintain record
of when the CNG period is shortened, in order to reduce the delay. This
is recorded in a new noise_fast_forward_ member in DecisionLogic.

BUG=webrtc:5608

Review-Url: https://codereview.webrtc.org/1914303004
Cr-Commit-Position: refs/heads/master@{#12608}
2016-05-03 15:18:54 +00:00
b46083ed63 This CL introduces a new data logging functionality
to use for the APM. It allows simple and rapid
additions of exploratory data logpoints to use
during bug investigations and module performance
analysis.
The new data logging functionality is also in this CL
used to replace the existing data logging functionality
present in the AEC.

Additional information:
As there was an issue with that the build flag for
activating this feature was not present in all
compilation units that included the feature additional
changes were needed. A summary of the changes are
-The build files were modified to ensure that the
 logging build flag always is set to either 0 or 1
 for compilation units that include the feature.
-Build-time checks in the appropriate places were added
 to ensure that the above is fulfilled.
-The build object was added dynamically to the AEC state
 as a pointer to ensure that the size of that state is not
 dependent on whether the logging build flag is set or not.
-The constructor of the AEC class needed to be modified in
 order to construct the logging object. For this a destructor
 was also needed.
-An unused method without any declaration was removed in
 order to avoid any issues with the logging flag being set to
 0 or 1.

This CL will be immediately followed with an upcoming CL
that replaces the logging in echo_cancellation.cc with the
new functionality which will ensure that the  logging flag
is only used in one place within WebRTC, which in turn will
fully ensure that all compilation units that uses the feature
also have the flag properly set.

BUG=webrtc:5201, webrtc:5298

Review-Url: https://codereview.webrtc.org/1877713002
Cr-Commit-Position: refs/heads/master@{#12607}
2016-05-03 14:01:27 +00:00
696a802332 Re-enable Vp9FlexModeRefCount
Looks like this test was disable (https://codereview.webrtc.org/1556273002) but never re-enabled after the bug was fixed.

BUG=webrtc:5402

Review-Url: https://codereview.webrtc.org/1914893003
Cr-Commit-Position: refs/heads/master@{#12606}
2016-05-03 12:45:48 +00:00
35fdb2a914 Log WebRTC.Video.AVSyncOffsetInMs.
BUG=
R=asapersson@webrtc.org

Review-Url: https://codereview.webrtc.org/1941993002
Cr-Commit-Position: refs/heads/master@{#12605}
2016-05-03 10:32:16 +00:00
5178ee86ba NetEq: Use a BuiltinAudioDecoderFactory to create decoders
Later steps in the refactoring will have the factory injected from the
outside rather than owned by NetEq.

BUG=webrtc:5801

Review-Url: https://codereview.webrtc.org/1928293002
Cr-Commit-Position: refs/heads/master@{#12604}
2016-05-03 08:39:08 +00:00
ddf165393f Android EGL: Synchronize calls to eglCreateContext
Synchronize calls to EGL10/EGL14.eglCreateContext on EglBase.lock. The
reason is that a deadlock between the remote render thread in
eglSwapBuffers and MediaCodecVideoEncoder eglCreateContext was observed.

The function calls that are now synchronized on EglBase.lock are:
eglCreateContext, eglMakeCurrent, eglSwapBuffers, and
SurfaceTexture.updateTexImage.

BUG=webrtc:5702

Review-Url: https://codereview.webrtc.org/1937933002
Cr-Commit-Position: refs/heads/master@{#12603}
2016-05-03 08:24:44 +00:00
30f118effd This cl deletes the class webrtc::VideoRendererCallback.
Replaced by VideoSinkInterface instead.

Also delete stream_id property of IncomingVideoStream.

BUG=webrtc:5426

Review-Url: https://codereview.webrtc.org/1813173002
Cr-Commit-Position: refs/heads/master@{#12602}
2016-05-03 08:09:17 +00:00
fc88ffe9d8 Fix allocation size in CricketToJavaI420Frame, taking stride into account.
BUG=

Review-Url: https://codereview.webrtc.org/1941773002
Cr-Commit-Position: refs/heads/master@{#12601}
2016-05-03 07:32:16 +00:00
35151f35ec Add histogram stats for average send delay of sent packets for a sent video stream. The delay is measured from a packet is sent to the transport until leaving the socket.
- "WebRTC.Video.SendDelayInMs"

Change so that PacketOption packet id is always set in RtpSender (if having a TransportSequenceNumberAllocator).
Add SendDelayStats class for computing delays.
Add SendPacketObserver to RtpRtcp config and register SendDelayStats as observer.
Wire up OnSentPacket to SendDelayStats.

BUG=webrtc:5215

Review-Url: https://codereview.webrtc.org/1478253002
Cr-Commit-Position: refs/heads/master@{#12600}
2016-05-03 06:44:11 +00:00
5a2463796e Do not stop a session unless the candidate of a writable connection belongs to the
latest generation.

BUG=webrtc:5644
R=deadbeef@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12599}
2016-05-03 00:28:42 +00:00
5dd42fd849 Fixing a segfault that can occur when changing the track of an RtpSender.
The reference to the old track needs to be kept alive until SetAudioSend/
SetSource is called, because otherwise it could be deleted while the audio/
video engine is still trying to use the track.

BUG=webrtc:5796

Review-Url: https://codereview.webrtc.org/1894283002
Cr-Commit-Position: refs/heads/master@{#12598}
2016-05-02 23:20:08 +00:00
acf143128f Removing unused resources from building files.
A number of resources files have been removed in
https://codereview.webrtc.org/1928923002/

This CL remove the them from the building files.

BUG=

Review-Url: https://codereview.webrtc.org/1940933002
Cr-Commit-Position: refs/heads/master@{#12597}
2016-05-02 19:10:12 +00:00
376b192ea3 Remove VideoCodingModule::VCMPacketizationCallback
And move encoder name cb to VCMSendStatisticsCallback.

BUG=webrtc:5687

Review-Url: https://codereview.webrtc.org/1900193004
Cr-Commit-Position: refs/heads/master@{#12596}
2016-05-02 18:35:33 +00:00
16ac3280f5 Remove VCMRenderBufferSizeCallback.
Unused/dead code.

BUG=
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12595}
2016-05-02 16:28:15 +00:00
1bffc1d1a4 Rename rtc::Time64 --> rtc::TimeMillis.
In the discussion on https://codereview.webrtc.org/1888593004/, a more
decriptive name was suggested for Time64.

BUG=webrtc:5740

Review-Url: https://codereview.webrtc.org/1923213002
Cr-Commit-Position: refs/heads/master@{#12594}
2016-05-02 15:19:00 +00:00
bc75d97c32 Remove PayloadRouter dependency from ViEEncoder.
BUG=webrtc:5687

Review-Url: https://codereview.webrtc.org/1912653002
Cr-Commit-Position: refs/heads/master@{#12593}
2016-05-02 13:31:31 +00:00
5bd3397e53 Adding 120 ms frame length support in NetEq.
BUG=webrtc:1015

Review-Url: https://codereview.webrtc.org/1901633002
Cr-Commit-Position: refs/heads/master@{#12592}
2016-05-02 11:46:19 +00:00
e4246b61b6 Roll chromium_revision 8e44a16c27..0b4adfd25e (390884:390907)
Change log: 8e44a16c27..0b4adfd25e
Full diff: 8e44a16c27..0b4adfd25e

No dependencies changed.
No update to Clang.

TBR=

Review-Url: https://codereview.webrtc.org/1938913002
Cr-Commit-Position: refs/heads/master@{#12591}
2016-05-02 11:05:53 +00:00
7d4a6c3208 Adds timeout for audio record thread in Java layer
BUG=b/28448866
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12590}
2016-05-02 09:01:02 +00:00
53ff70f582 Reland "Avoiding overflow in cross correlation in NetEq."
The original CL is https://codereview.webrtc.org/1908623002/

An error was caused by that and this CL fix that problem and reland the CL.

BUG=

Review-Url: https://codereview.webrtc.org/1931933004
Cr-Commit-Position: refs/heads/master@{#12589}
2016-05-02 08:50:34 +00:00
a017b8ed2e Remove asapersson from webrtc/modules/utility/OWNERS.
BUG=

Review-Url: https://codereview.webrtc.org/1842893003
Cr-Commit-Position: refs/heads/master@{#12588}
2016-05-02 08:22:35 +00:00
d1d96b2508 VideoCapturerAndroid: Remove deprecated create function with egl context argument
R=glaznev@webrtc.org, perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12587}
2016-05-02 07:43:32 +00:00
1ba8d39a9c Remove webrtc/stream.h and unutilized inheritance.
Removes inheritance and a virtual call. Also removes a root header that
would have needed to be moved into a subdirectory otherwise to prevent
circular dependencies.

BUG=webrtc:4243
R=kjellander@webrtc.org, solenberg@webrtc.org
TBR=mflodman@webrtc.org

Review-Url: https://codereview.webrtc.org/1924793002
Cr-Commit-Position: refs/heads/master@{#12586}
2016-05-02 03:18:36 +00:00
60d7e7c77d Roll chromium_revision 927a9e3510..8e44a16c27 (390871:390884)
Change log: 927a9e3510..8e44a16c27
Full diff: 927a9e3510..8e44a16c27

No dependencies changed.
No update to Clang.

TBR=

Review-Url: https://codereview.webrtc.org/1941653002
Cr-Commit-Position: refs/heads/master@{#12585}
2016-05-02 03:05:02 +00:00
7b94c69213 Remove DropOldEvents from list of excluded tests. As of last week, the test no longer exists. (https://codereview.webrtc.org/1687703002/)
BUG=webrtc:5312

Review-Url: https://codereview.webrtc.org/1917723003
Cr-Commit-Position: refs/heads/master@{#12584}
2016-05-02 00:57:32 +00:00
c04305200e Reland of move VCMQmRobustness. (patchset #1 id:1 of https://codereview.webrtc.org/1935753002/ )
Reason for revert:
Not root cause for perf regression (regression still ongoing).

Original issue's description:
> Revert of Remove VCMQmRobustness. (patchset #1 id:1 of https://codereview.webrtc.org/1917083003/ )
>
> Reason for revert:
> Speculative revert for perf regression.
>
> Original issue's description:
> > Remove VCMQmRobustness.
> >
> > Class contained a lot of not-really-wired-up functionality that ended up
> > being complicated ways of saying return 1; or return false;. This
> > removes this dependency that complicates code readability significantly.
> >
> > BUG=webrtc:5066
> > R=marpan@google.com, marpan@webrtc.org
> > TBR=stefan@webrtc.org
> >
> > Committed: https://crrev.com/73894369791cb5eedc8788baf918ec07d11d351d
> > Cr-Commit-Position: refs/heads/master@{#12516}
>
> TBR=marpan@webrtc.org,stefan@webrtc.org,marpan@google.com
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:5066, chromium:607838
>
> Committed: https://crrev.com/602316c3cd8556cc78d44f3ea4cd5fc8e70d9417
> Cr-Commit-Position: refs/heads/master@{#12572}

TBR=marpan@webrtc.org,stefan@webrtc.org,marpan@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5066, chromium:607838

Review-Url: https://codereview.webrtc.org/1941643002
Cr-Commit-Position: refs/heads/master@{#12583}
2016-05-02 00:19:13 +00:00
0a1f14e591 Roll chromium_revision 9cd13b2cd1..927a9e3510 (390867:390871)
Change log: 9cd13b2cd1..927a9e3510
Full diff: 9cd13b2cd1..927a9e3510

No dependencies changed.
No update to Clang.

TBR=

Review-Url: https://codereview.webrtc.org/1937763002
Cr-Commit-Position: refs/heads/master@{#12582}
2016-05-01 22:52:12 +00:00
bfefb03ec1 Replace scoped_ptr with unique_ptr everywhere
But keep #including scoped_ptr.h in .h files, so as not to break
WebRTC users who expect those .h files to give them rtc::scoped_ptr.

BUG=webrtc:5520

Review-Url: https://codereview.webrtc.org/1937693002
Cr-Commit-Position: refs/heads/master@{#12581}
2016-05-01 21:53:55 +00:00
e319059de2 Roll chromium_revision c6dd4461f5..9cd13b2cd1 (390857:390867)
Change log: c6dd4461f5..9cd13b2cd1
Full diff: c6dd4461f5..9cd13b2cd1

No dependencies changed.
No update to Clang.

TBR=

Review-Url: https://codereview.webrtc.org/1934903002
Cr-Commit-Position: refs/heads/master@{#12580}
2016-05-01 03:07:14 +00:00
a1aad8f630 Roll chromium_revision 551bb334c0..c6dd4461f5 (390850:390857)
Change log: 551bb334c0..c6dd4461f5
Full diff: 551bb334c0..c6dd4461f5

No dependencies changed.
No update to Clang.

TBR=

Review-Url: https://codereview.webrtc.org/1934143002
Cr-Commit-Position: refs/heads/master@{#12579}
2016-04-30 20:14:51 +00:00
d130ecc997 Roll chromium_revision b7ebd042d1..551bb334c0 (390693:390850)
Change log: b7ebd042d1..551bb334c0
Full diff: b7ebd042d1..551bb334c0

Changed dependencies:
* src/third_party/libFuzzer/src: 84041ac212..badcec68b8
* src/third_party/libvpx/source/libvpx: 83f17eeede..b2ccb9c189
DEPS diff: b7ebd042d1..551bb334c0/DEPS

No update to Clang.

TBR=marpan@webrtc.org, stefan@webrtc.org,

Review-Url: https://codereview.webrtc.org/1938773002
Cr-Commit-Position: refs/heads/master@{#12578}
2016-04-30 11:05:06 +00:00
322c4a0b3a Replace scoped_ptr with unique_ptr in webrtc/libjingle/
But keep #including scoped_ptr.h in .h files, so as not to break
WebRTC users who expect those .h files to give them rtc::scoped_ptr.

BUG=webrtc:5520

Review-Url: https://codereview.webrtc.org/1935893002
Cr-Commit-Position: refs/heads/master@{#12577}
2016-04-30 09:40:26 +00:00
a97611a43f Stop QuicDataChannel and QuicDataTransport unit tests from segfaulting
Minor; needed because QuicTransportChannel now owns the ICE transport
channel as a result of the QuicTransport CL.

TBR=pthatcher@webrtc.org

BUG=

Review-Url: https://codereview.webrtc.org/1934723003
Cr-Commit-Position: refs/heads/master@{#12576}
2016-04-30 05:09:32 +00:00
e7748674ee Allow TransportController to create a QuicTransportChannel
A QuicTransport is implemented that subclasses Transport
and takes ownership of the QuicTransportChannel/P2PTransportChannel.

Split from CL https://codereview.webrtc.org/1844803002/.

BUG=

Review-Url: https://codereview.webrtc.org/1856943002
Cr-Commit-Position: refs/heads/master@{#12575}
2016-04-30 03:21:04 +00:00
9bc517f123 Add QuicDataChannel and QuicDataTransport classes
QuicDataChannel implements DataChannelInterface. It
replaces SCTP data channels by using a QuicTransportChannel
to create a ReliableQuicStream for each message.
QuicDataChannel only implements unordered, reliable delivery
for the initial implementation and does not send a hello message.

QuicDataTransport is a helper class that dispatches each incoming
ReliableQuicStream to a QuicDataChannel when the remote
peer receives a message by parsing the data channel id and message id
from the message header. It is also responsible for encoding the header
before QuicDataChannel sends the message.

Split from CL https://codereview.chromium.org/1844803002/.

BUG=

Review-Url: https://codereview.webrtc.org/1886623002
Cr-Commit-Position: refs/heads/master@{#12574}
2016-04-30 01:31:03 +00:00
70035cae4d Fix QuicSession to unbuffer data when the QuicTransportChannel reconnects
The QuicWriteBlockedList needs to register outgoing QUIC
streams so that when the QuicTransportChannel becomes
unwritable and QUIC streams have buffered data, they can
send data once the QuicTransportChannel becomes writable.

Otherwise the QUIC streams will remain write blocked
after the QuicTransportChannel is writable.

BUG=

Review-Url: https://codereview.webrtc.org/1888903002
Cr-Commit-Position: refs/heads/master@{#12573}
2016-04-30 01:14:47 +00:00
602316c3cd Revert of Remove VCMQmRobustness. (patchset #1 id:1 of https://codereview.webrtc.org/1917083003/ )
Reason for revert:
Speculative revert for perf regression.

Original issue's description:
> Remove VCMQmRobustness.
>
> Class contained a lot of not-really-wired-up functionality that ended up
> being complicated ways of saying return 1; or return false;. This
> removes this dependency that complicates code readability significantly.
>
> BUG=webrtc:5066
> R=marpan@google.com, marpan@webrtc.org
> TBR=stefan@webrtc.org
>
> Committed: https://crrev.com/73894369791cb5eedc8788baf918ec07d11d351d
> Cr-Commit-Position: refs/heads/master@{#12516}

TBR=marpan@webrtc.org,stefan@webrtc.org,marpan@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5066, chromium:607838

Review-Url: https://codereview.webrtc.org/1935753002
Cr-Commit-Position: refs/heads/master@{#12572}
2016-04-29 23:10:36 +00:00
8d37d2941e Update QuicTransportChannel to latest version of libquic (Chromium: f03d2c62)
These changes are necessary to incorporate the latest
changes to QUIC sessions and the QUIC crypto handshake.

BUG=

Review-Url: https://codereview.webrtc.org/1910633003
Cr-Commit-Position: refs/heads/master@{#12571}
2016-04-29 22:35:09 +00:00
f3569c8a8f Added the API to create an RTCRtpSender to the Objective C wrapper.
Objective C applications can now create new RTCRtpSenders and change their tracks, which gives them more fine grained control than MediaStreams.

BUG=

Review-Url: https://codereview.webrtc.org/1888633002
Cr-Commit-Position: refs/heads/master@{#12570}
2016-04-29 22:30:24 +00:00
b3bedca932 Roll chromium_revision d908daba0f..b7ebd042d1 (390420:390693)
Change log: d908daba0f..b7ebd042d1
Full diff: d908daba0f..b7ebd042d1

Changed dependencies:
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/a081423809..0a63b96535
* src/third_party/ffmpeg: 01464a5194..40ac6f0443
* src/third_party/libsrtp: 8aa6248aec..ea4ed36c8f
DEPS diff: d908daba0f..b7ebd042d1/DEPS

No update to Clang.

TBR=

Review-Url: https://codereview.webrtc.org/1934673002
Cr-Commit-Position: refs/heads/master@{#12569}
2016-04-29 19:24:17 +00:00
0bdebd4b21 Re-add a (dummy) webrtc/base/buffer.cc to hopefully unbreak the Chromium build
Remove this file once Chromium doesn't need it anymore.

TBR=tommi@webrtc.org

BUG=webrtc:5845

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

Cr-Commit-Position: refs/heads/master@{#12568}
2016-04-29 18:18:55 +00:00
4f90677527 Making NetEq bitexactness test independent on reference files.
NetEq bitexactness test depended on reference files which differs from platform to platform. This makes it very hard to update Neteq.

New method maintains the ability to save output into files. But it verifies the checksum only. With this, when bitexactness test fails, we can still check closely to the output file if need, but the test becomes much easier to modify.

BUG=

Review-Url: https://codereview.webrtc.org/1928923002
Cr-Commit-Position: refs/heads/master@{#12567}
2016-04-29 18:05:18 +00:00
05e61edd8f Remove usage of VoENetwork from VoEWrapper and FakeWebRtcVoiceEngine.
BUG=webrtc:4690

Review-Url: https://codereview.webrtc.org/1934513002
Cr-Commit-Position: refs/heads/master@{#12566}
2016-04-29 16:05:35 +00:00