14320 Commits

Author SHA1 Message Date
terelius
509eadd554 Fix chromium-style warnings.
Separate the null implementation from rtp_rtcp_defines.h, and follow chromium style guide for virtual functions.

BUG=webrtc:163

Review-Url: https://codereview.webrtc.org/2400993002
Cr-Commit-Position: refs/heads/master@{#14738}
2016-10-24 10:24:22 +00:00
terelius
c22bcf4f4b Fix some chromium style warnings in remote_bitrate_estimator.h
BUG=webrtc:163

Review-Url: https://codereview.webrtc.org/2387113008
Cr-Commit-Position: refs/heads/master@{#14737}
2016-10-24 09:57:11 +00:00
buildbot
d7ce668287 Roll chromium_revision f9e01d4887..1362287708 (426685:426760)
Change log: f9e01d4887..1362287708
Full diff: f9e01d4887..1362287708

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2439953003
Cr-Commit-Position: refs/heads/master@{#14736}
2016-10-24 09:16:53 +00:00
kjellander
a3cac0514a GN: move webrtc/video/ targets from webrtc/BUILD.gn into webrtc/video/BUILD.gn
Move the following targets into webrtc/video/BUILD.gn:
* screenshare_loopback
* video_quality_test
* video_loopback

Add new target 'run_tests' in webrtc/test/BUILD.gn, being used by two
of the above and make then depend on that instead.

BUG=webrtc:6440
NOTRY=True

Review-Url: https://codereview.webrtc.org/2438973002
Cr-Commit-Position: refs/heads/master@{#14735}
2016-10-24 09:09:40 +00:00
sakal
43536c3d6a Implement framesEncoded stat in video send ssrc stats.
Implemented as defined by this pull request: https://github.com/w3c/webrtc-stats/pull/70

BUG=webrtc:6541

Review-Url: https://codereview.webrtc.org/2421193003
Cr-Commit-Position: refs/heads/master@{#14734}
2016-10-24 09:09:39 +00:00
perkj
267527459b Remove cricket::VideoCodec with, height and framerate properties
Since WebRtcVideoSendStream have reconfigures the send codec to match the incoming captured frames widht and height they have not been used.
Framerate has just been set when parsing sdp to 60fps and not changed elsewhere.

This cl require some upstream projects to change first.

BUG=webrtc:5332

Review-Url: https://codereview.webrtc.org/2408153002
Cr-Commit-Position: refs/heads/master@{#14733}
2016-10-24 08:21:24 +00:00
nisse
d3c40089fa Delete always-zero ByteBufferWriter::start_.
Likely a left-over since cl https://codereview.webrtc.org/1821083002

BUG=None

Review-Url: https://codereview.webrtc.org/2440083002
Cr-Commit-Position: refs/heads/master@{#14732}
2016-10-24 08:06:23 +00:00
nisse
61c053e329 Reland of Delete webrtc::VideoFrame::CopyFrame. (patchset #1 id:1 of https://codereview.webrtc.org/2397943003/ )
Reason for revert:
Dependencies updated.

Original issue's description:
> Revert of Delete webrtc::VideoFrame::CopyFrame. (patchset #2 id:20001 of https://codereview.webrtc.org/2371363003/ )
>
> Reason for revert:
> This CL breaks internal dependencies.
>
> Original issue's description:
> > Delete webrtc::VideoFrame::CopyFrame.
> >
> > BUG=webrtc:5682
> >
> > Committed: https://crrev.com/0e7c7ce35d9449c5bb13328d1bfb04ad32e48ccc
> > Cr-Commit-Position: refs/heads/master@{#14550}
>
> TBR=magjed@webrtc.org,tommi@webrtc.org,nisse@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5682
>
> Committed: https://crrev.com/21a18ee267146c86e188d95edf6432f71dd53aeb
> Cr-Commit-Position: refs/heads/master@{#14553}

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

Review-Url: https://codereview.webrtc.org/2435963002
Cr-Commit-Position: refs/heads/master@{#14731}
2016-10-24 07:44:17 +00:00
sakal
ebf524007f Allow using Java classes that don't require JNI in Chromium.
BUG=webrtc:6584
NOTRY=True

Review-Url: https://codereview.webrtc.org/2439073002
Cr-Commit-Position: refs/heads/master@{#14730}
2016-10-24 07:28:05 +00:00
nisse
66712b024f Revert of Add method cricket::VideoCapturer::NeedsDenoising, use in VideoCapturerTrackSource. (patchset #5 id:80001 of https://codereview.webrtc.org/2334683002/ )
Reason for revert:
This was a workaround to help Chrome wire up the googNoiseReduction constraint. However, it was fixed in a different way in Chrome, and this hack is not actually needed.

Original issue's description:
> Add method cricket::VideoCapturer::NeedsDenoising, use in VideoCapturerTrackSource.
>
> BUG=chromium:645907
>
> Committed: https://crrev.com/0d14c6abba19295725519ce38105688ae0a62513
> Cr-Commit-Position: refs/heads/master@{#14219}

TBR=pbos@webrtc.org,hta@webrtc.org,perkj@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=chromium:645907

Review-Url: https://codereview.webrtc.org/2433293003
Cr-Commit-Position: refs/heads/master@{#14729}
2016-10-24 07:22:39 +00:00
nisse
151572ba05 Delete unused class AudioSourceWithMixStatus.
BUG=webrtc:6346

Review-Url: https://codereview.webrtc.org/2437863003
Cr-Commit-Position: refs/heads/master@{#14728}
2016-10-24 07:11:59 +00:00
brandtr
25445d3d4b Integrate FlexfecReceiveStream with Call.
Call demultiplexes received RTP packets and delivers these to the
appropriate {Video,Flexfec}ReceiveStreams. A single video stream
could conceivably be protected by multiple FlexFEC streams.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2388303009
Cr-Commit-Position: refs/heads/master@{#14727}
2016-10-24 06:37:24 +00:00
peah
764e364933 Several subcomponents inside APM copy render audio from
the render side to the capture side using the same
pattern. Currently this is done independently for the
submodules.

This CL moves the the AEC functionality for this into
APM.

BUG=webrtc:5298, webrtc:6540

Review-Url: https://codereview.webrtc.org/2427553003
Cr-Commit-Position: refs/heads/master@{#14726}
2016-10-22 12:04:35 +00:00
peah
897497361e Added the missing ReadQueuedRenderData() call to the AECM bitexactness test
BUG=webrtc:6573

Review-Url: https://codereview.webrtc.org/2437033002
Cr-Commit-Position: refs/heads/master@{#14725}
2016-10-22 11:00:44 +00:00
peah
12986c4534 Added the missing ReadQueuedRenderData() call to the gain controller bitexactness test
BUG=webrtc:6571

Review-Url: https://codereview.webrtc.org/2441603003
Cr-Commit-Position: refs/heads/master@{#14724}
2016-10-22 09:38:37 +00:00
peah
da38293e51 Added the missing ReadQueuedRenderData() call to the AEC bitexactness test
BUG=webrtc:6572

Review-Url: https://codereview.webrtc.org/2438733002
Cr-Commit-Position: refs/heads/master@{#14723}
2016-10-22 08:08:45 +00:00
Magnus Jedvert
894c400c61 Android VideoFileRenderer: Wait for posted frames in release()
We need to wait for posted frames to be rendered first in release()
instead of abruptly quitting, in order to simplify testing.

BUG=webrtc:6545
R=sakal@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14722}
2016-10-21 13:05:09 +00:00
ivoc
8c63a82bf5 Add a placeholder stat for logging the estimated residual echo likelihood.
The stat is currently always set to zero until the residual echo detector has landed.

BUG=webrtc:6525

Review-Url: https://codereview.webrtc.org/2431443003
Cr-Commit-Position: refs/heads/master@{#14721}
2016-10-21 11:10:08 +00:00
henrika
3355f6d6f5 Avoids invalid copy of audio buffer to task queue.
Now does level estimate on the audio threads to avoid complex
copying of audio data to task queue. The old implementation could
also crash due to unclear ownership of the audio buffer.

BUG=webrtc:6569
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14720}
2016-10-21 10:45:31 +00:00
nisse
c4d2dc4e02 Delete DataLog abstraction, which was almost unused.
Configuration with rtc_enable_data_logging = true was broken in cl
https://codereview.webrtc.org/2054373002/ (which deleted the
FileWrapper::WriteText method), and apparently noone noticed.

BUG=None

Review-Url: https://codereview.webrtc.org/2439473002
Cr-Commit-Position: refs/heads/master@{#14719}
2016-10-21 08:53:01 +00:00
nisse
dda1e60153 Reland of Delete unused file mediacommon.h. (patchset #1 id:1 of https://codereview.webrtc.org/2441493003/ )
Reason for revert:
#include of mediacommon.h now deleted in the offending downstream app.

Original issue's description:
> Revert of Delete unused file mediacommon.h. (patchset #1 id:1 of https://codereview.webrtc.org/2437703002/ )
>
> Reason for revert:
> Turned out this broke a downstream app. Reverting while investigating.
>
> Original issue's description:
> > Delete unused file mediacommon.h.
> >
> > BUG=None
> >
> > Committed: https://crrev.com/a34e796a1b59a1068c77a3e36d2a24fd37c08afc
> > Cr-Commit-Position: refs/heads/master@{#14689}
>
> TBR=magjed@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=None
>
> Committed: https://crrev.com/ca20e7cfed301982986a4da23c819b4e50b5a6e9
> Cr-Commit-Position: refs/heads/master@{#14697}

TBR=magjed@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/2426393006
Cr-Commit-Position: refs/heads/master@{#14718}
2016-10-21 06:57:18 +00:00
buildbot
bd163417d6 Roll chromium_revision 4c4977aa05..f9e01d4887 (426117:426685)
Change log: 4c4977aa05..f9e01d4887
Full diff: 4c4977aa05..f9e01d4887

Changed dependencies:
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/ac9a7f6384..fc4467e568
DEPS diff: 4c4977aa05..f9e01d4887/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2435223003
Cr-Commit-Position: refs/heads/master@{#14717}
2016-10-21 02:51:41 +00:00
zijiehe
84fbf9ee38 SUCCEEDED macro is misused
SUCCEEDED macro is designed for HRESULT instead of BOOL.
This change exposes my lack of knowledge of native Windows APIs. :(

BUG=https://bugs.chromium.org/p/chromium/issues/detail?id=647067

Review-Url: https://codereview.webrtc.org/2440563003
Cr-Commit-Position: refs/heads/master@{#14716}
2016-10-21 00:00:40 +00:00
zijiehe
bdb8df895a BringSelectedWindowToFront should bring the window to front instead of only focusing it
The API is misused, please refer to the bug for detail explanation.

BUG=https://bugs.chromium.org/p/webrtc/issues/detail?id=6565

Review-Url: https://codereview.webrtc.org/2426423005
Cr-Commit-Position: refs/heads/master@{#14715}
2016-10-20 23:44:22 +00:00
danilchap
97abf244ca Use variadic templates instead of pump for RefCountedObject
BUG=None

Review-Url: https://codereview.webrtc.org/2438013003
Cr-Commit-Position: refs/heads/master@{#14714}
2016-10-20 22:19:36 +00:00
aleloi
6c278491ad Move audio frame memory handling inside AudioMixer.
Simplify the AudioMixer::Source interface and update the mixer
implementation to the new interface.

Instead of asking a mixer source to provide a pointer to an AudioFrame
during each mixing iteration, a mixer should supply a pointer to its
own AudioFrame.

This simplifies lifetime issues as sources do not give away an
internal pointer.

Implementation: when an audio source is added, the mixer allocates a
new AudioFrame. The audio frame is kept together in the internal class
SourceStatus together with the audio source pointer until the source
is removed.

NOTRY=True
BUG=webrtc:6346

Review-Url: https://codereview.webrtc.org/2420913002
Cr-Commit-Position: refs/heads/master@{#14713}
2016-10-20 21:24:46 +00:00
aleloi
920d30bc74 Replaced thread checker with race checker in AudioMixer.
This change is due to an incorrect understanding of the threading
model in Chrome. The new AudioMixer has a thread checker to ensure
that mixing is always done from a single thread. Mixing is done on the
Audio Output Thread. When run in Chrome, it can change. Even if the thread
changes, there is never more than one audio thread, and mixing is done
sequentially.

The threading checks and variable access checks are replaced with
rtc::RaceChecker counterparts.

NOTRY=True
BUG=webrtc:6346

Review-Url: https://codereview.webrtc.org/2437913003
Cr-Commit-Position: refs/heads/master@{#14712}
2016-10-20 21:23:30 +00:00
Honghai Zhang
161a586b45 Fix some flaky tests by using longer timeout and/or fake clock.
Also use const variables for timeout values.

BUG=webrtc:6500
R=deadbeef@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14711}
2016-10-20 18:47:19 +00:00
jbroman
b9eaeba71f Return nullptr from RTCCertificate::FromPEM on failure.
BUG=webrtc:6488

Review-Url: https://codereview.webrtc.org/2424093002
Cr-Commit-Position: refs/heads/master@{#14710}
2016-10-20 17:27:27 +00:00
Sergey Ulanov
58000a0c3d Move shared_desktop_frame.cc to webrtc/modules/desktop_capture:primitives
Previously shared_desktop_frame.cc wasn't in primitives target, but it
is used in remoting client on android and the client should depend only
on primitives, but not desktop_capture overall.

BUG=653612
R=nicholss@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#14709}
2016-10-20 16:34:04 +00:00
danilchap
142f019d87 Append second nack list in same compound rtcp packet
instead of replace

BUG=webrtc:6483

Review-Url: https://codereview.webrtc.org/2426543002
Cr-Commit-Position: refs/heads/master@{#14708}
2016-10-20 15:22:45 +00:00
aleloi
aed581a4f3 Made AudioReceiveStream a mixer participant.
Methods to facilitate this are added to ChannelProxy and voe::Channel.

BUG=webrtc:6346

Review-Url: https://codereview.webrtc.org/2378143004
Cr-Commit-Position: refs/heads/master@{#14707}
2016-10-20 13:32:47 +00:00
sakal
5f70d3b559 Fix org.mockito.Matchers deprecation warnings in DirectRTCClientTest.
ArgumentMatchers is the new name of the class. Also, we don't need to
pass a class to the isNotNull matcher.

BUG=webrtc:6558
R=magjed@webrtc.org

Review-Url: https://codereview.webrtc.org/2440433002
Cr-Commit-Position: refs/heads/master@{#14706}
2016-10-20 12:49:12 +00:00
aleloi
201dfe90a7 Split audio mixer into interface and implementation.
The AudioMixer is now split in a mixer and audio source interface part, which has moved to webrtc/api, and a default implementation part, which lies in webrtc/modules.

This change makes it possible to create other mixer implementations and is a first step to facilitate passing down a mixer from outside of WebRTC.

It will also create less build dependencies when the new mixer has replaced the old one.

NOTRY=True
TBR=henrik.lundin@webrtc.org
BUG=webrtc:6346

Review-Url: https://codereview.webrtc.org/2411313003
Cr-Commit-Position: refs/heads/master@{#14705}
2016-10-20 12:06:44 +00:00
brandtr
76648da8dc Add FlexfecReceiveStream.
This class is logically parallel with the {Audio,Video}ReceiveStream
classes. Its purpose is to describe a receive stream of FlexFEC packets,
through the corresponding config.

Functionally, this class simply forwards the received RTP packets
to its FlexfecReceiver, which returns recovered packets to the
Call level, for appropriate demultiplexing based on SSRC.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2397843005
Cr-Commit-Position: refs/heads/master@{#14704}
2016-10-20 11:54:51 +00:00
Henrik Kjellander
057b8d91a6 Remove all traces of Dr Memory.
The Dr Memory toolchain is no longer supported by Chromium and
their bots have been removed. WebRTC will now rely on the LLVM
santizers for catching such errors.

BUG=webrtc:6553
NOTRY=True
R=ehmaldonado@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14703}
2016-10-20 11:17:25 +00:00
palmkvist
69034df0b0 Make GN build screenshare_loopback
BUG=None

Review-Url: https://codereview.webrtc.org/2338233004
Cr-Commit-Position: refs/heads/master@{#14702}
2016-10-20 11:03:32 +00:00
magjed
5a8724564c iOS: Optimize video scaling and cropping
This CL makes scaling and cropping lazy in AVFoundationVideoCapturer and
provides optimized paths for SW and HW encoding. For SW encoding, an
efficient NV12 -> I420 cropping and scaling is implemented in
CoreVideoFrameBuffer::NativeToI420. For HW encoding, an efficient NV12 ->
NV12 cropping and scaling is implemented in
CoreVideoFrameBuffer::CropAndScaleTo. The performance improvement over
the existing cropping and scaling is that it is now done in one step
instead of making an intermediary copy of the Y plane.

There might still be room for improvement in the HW path using some HW
support. That will be explored in a future CL.

BUG=b/30939444

Review-Url: https://codereview.webrtc.org/2394483005
Cr-Commit-Position: refs/heads/master@{#14701}
2016-10-20 10:34:32 +00:00
minyue
7a973447eb Moving WebRtcVoiceMediaChannel::SendSetCodec to AudioSendStream.
BUG=webrtc:5806, webrtc:4690

Review-Url: https://codereview.webrtc.org/2405183002
Cr-Commit-Position: refs/heads/master@{#14700}
2016-10-20 10:27:21 +00:00
magjed
1cb48232ac Android YuvConverter: Use OpenGL Framebuffer instead of EGL pixel buffer
This CL changes YuvConverter to use an OpenGL Framebuffer as rendering
target instead of an EGL pixel buffer surface. The purpose is to reduce
the number of EGL contexts and to be able to use YuvConverter from
EglRenderer without having to detach the EGL surface.

BUG=webrtc:6470

Review-Url: https://codereview.webrtc.org/2436653003
Cr-Commit-Position: refs/heads/master@{#14699}
2016-10-20 10:19:20 +00:00
magjed
9ab8a1884d Android: Extend functionality of EglRenderer
The purpose is to prepare for a TextureViewRenderer that will need the
new functionality.

The new functionality is:
 * Be able to create an EglRenderer using a SurfaceTexture.
 * Fps reduction logic.
 * Log statistics every 4 seconds regardless of framerate.
 * Include swap buffer time in statistics.
 * Use EglBase10 if texture frames are disabled.
 * Function for printing stack trace of render thread.
 * Public clearImage() function for clearing the EGLSurface.

BUG=webrtc:6470

Review-Url: https://codereview.webrtc.org/2428933002
Cr-Commit-Position: refs/heads/master@{#14698}
2016-10-20 10:18:15 +00:00
nisse
ca20e7cfed Revert of Delete unused file mediacommon.h. (patchset #1 id:1 of https://codereview.webrtc.org/2437703002/ )
Reason for revert:
Turned out this broke a downstream app. Reverting while investigating.

Original issue's description:
> Delete unused file mediacommon.h.
>
> BUG=None
>
> Committed: https://crrev.com/a34e796a1b59a1068c77a3e36d2a24fd37c08afc
> Cr-Commit-Position: refs/heads/master@{#14689}

TBR=magjed@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/2441493003
Cr-Commit-Position: refs/heads/master@{#14697}
2016-10-20 09:53:06 +00:00
sakal
c1f8ecb661 Remove check for numberOfCameras from AppRTC Mobile PeerConnectionClient.
Since the class no longer creates its own videoCapturer and it may not
even be a camera, the check doesn't make sense anymore. This also
removes some of the build warnings.

BUG=webrtc:6558

Review-Url: https://codereview.webrtc.org/2434533003
Cr-Commit-Position: refs/heads/master@{#14696}
2016-10-20 09:34:49 +00:00
sakal
be4aff76a6 Suppress deprecation warning in CallFragment.
The old signature of this method has been deprecated. However, the new
signature is only support API level 23+, so we can't really use it yet.

BUG=webrtc:6558

Review-Url: https://codereview.webrtc.org/2437593004
Cr-Commit-Position: refs/heads/master@{#14695}
2016-10-20 09:32:53 +00:00
sakal
aff9ff0259 Create .git-blame-ignore-revs and add Java format CL to it.
Header of the file is copied from Chromium.

Ignored CL: https://codereview.webrtc.org/2377003002/

BUG=None
NOTRY=True

Review-Url: https://codereview.webrtc.org/2433773007
Cr-Commit-Position: refs/heads/master@{#14694}
2016-10-20 09:20:39 +00:00
aleloi
e33c5d918a Added a level controller initialization value to MediaConstraints.
An audio track with a level controller with the correct initialization
value can be created by a combination of
PeerConnectionFactory::CreateAudioTrack(..., audio_source) and
either
audio_source = PeerConnectionFactory::CreateAudioSource(constraints) or
audio_source = PeerConnectionFactory::CreateAudioSource(audio_options).

NOTRY=True
BUG=webrtc:6386

Review-Url: https://codereview.webrtc.org/2408143003
Cr-Commit-Position: refs/heads/master@{#14693}
2016-10-20 08:53:30 +00:00
denicija
647915fb95 Add loopback option and improve UX of AppRTCMobile for Mac.
CL introduces changes in the layout of the mac demo app.
Bellow are the listed changes
* The label above the room field is removed and that text is shown in the text field's placeholder.
* Size of the window is decreased to accomodate smaller resolutions
* The local view is shown on top of remote view in 3/rd of it's size
* The log view is bellow the remote view and shows client status messages as well as some simple usage instructions.
* Loopback functionality is added
* Start call button added for improved usability

Note: This file was not following our internal ObjC style guidelines i.e
NSString *a - right
NSString* a - wrong
However I've decided to submit the changes and to follow the current style.
I'll submit a bug to update the style in separate CL

BUG=webrtc:6496

Review-Url: https://codereview.webrtc.org/2396333002
Cr-Commit-Position: refs/heads/master@{#14692}
2016-10-20 08:46:49 +00:00
kthelgason
725e2121ad Prevent stripping of C interfaces in framework
We need to redaclare certain interfaces in the GN build files for the
macOS and iOS framework targets to prevent those symbols being stripped
by the linker.

BUG=webrtc:6434

Review-Url: https://codereview.webrtc.org/2431603002
Cr-Commit-Position: refs/heads/master@{#14691}
2016-10-20 08:31:48 +00:00
danilchap
e037060161 Add to rtc::Optional equality/unequality comparisions with object
BUG=None

Review-Url: https://codereview.webrtc.org/2432393002
Cr-Commit-Position: refs/heads/master@{#14690}
2016-10-20 07:58:31 +00:00
nisse
a34e796a1b Delete unused file mediacommon.h.
BUG=None

Review-Url: https://codereview.webrtc.org/2437703002
Cr-Commit-Position: refs/heads/master@{#14689}
2016-10-20 07:45:02 +00:00