Commit Graph

9560 Commits

Author SHA1 Message Date
1741770742 Implement a high-QP threshold for Android H.264.
Android hardware H.264 seems to keep a steady high-QP flow instead of
dropping frames, so framedrops aren't sufficient to detect a bad state
where downscaling would be beneficial.

BUG=webrtc:4968
R=magjed@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10078}
2015-09-25 15:03:37 +00:00
a323fd66de Removes Nexus 6 from OpenSL ES blacklist.
BUG=b/1370703002
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10077}
2015-09-25 14:25:40 +00:00
88799d9c1f RTCEAGLVideoView: Fix GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT error.
Fix an issue where using setNeedsDisplay on a GLKView which has a frame
with size zero will make GLKView/iOS output the following error:

  Failed to bind EAGLDrawable: <CAEAGLLayer: 0x1742282e0> to
    GL_RENDERBUFFER 1 Failed to make complete framebuffer object 8cd6

(The error code 8cd6 corresponds to
GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT.)

GLKView will internally setup it's render buffer when the delegate is
about to draw into it. Previously when enableSetNeedsDisplay was set to
YES (default), then GLKView would still attempt to setup it's internal
buffer even if it's frame size is zero and that would cause
GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT.

By using enableSetNeedsDisplay = NO, RTCEAGLVideoView can guard against
calling -[GLKView display] if it's current frame size is empty.

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

Cr-Commit-Position: refs/heads/master@{#10076}
2015-09-25 13:57:54 +00:00
94c01051a8 Added peah@ to the watch lists
Review URL: https://codereview.webrtc.org/1372543002

Cr-Commit-Position: refs/heads/master@{#10075}
2015-09-25 13:16:38 +00:00
702f39726b GN: Do not use forward_dependent_configs_from variable.
It is deprecated and public_deps should be used instead, which will have
the
same effect.

BUG=None
R=brettw@chromium.org,kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10074}
2015-09-25 12:57:47 +00:00
5c389d3e09 Split webrtc/video into webrtc/{audio,call,video}.
Moves audio_receive_stream.{h,cc} into webrtc/audio, and common parts
into webrtc/call, splitting out audio/shared components with separate
OWNERS files.

BUG=webrtc:4690
R=solenberg@webrtc.org, tina.legrand@webrtc.org
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10073}
2015-09-25 11:58:39 +00:00
82e20554cb Modifies invalid DCHECK in AudioRecordJni::OnCacheDirectBufferAddress()
Ensures that we can restart audio recording on Android without hitting
a DCHECK. Also adds a symmetric design for the playout side.

BUG=webrtc:5000
TEST=modules_unittests --gtest_filter=AudioDevice*

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

Cr-Commit-Position: refs/heads/master@{#10072}
2015-09-25 11:26:19 +00:00
44d5d7ba42 Autoroll: Update checkout before reading chromium_revision.
Ensure the checkout is updated _before_ reading the current
revision from the DEPS file. This will avoid errors when a checkout
is not up to date, as updating happened after reading the revision
before this change.

BUG=webrtc:4688
R=phoglund@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10071}
2015-09-25 11:21:55 +00:00
495d2fdd65 Reland of "Android GlRectDrawer: Add test for RGB rendering"
Reland of https://codereview.webrtc.org/1367923002/.

The bug was that not all platforms support glReadPixels() with GL_RGB. This CL uses GL_RGBA instead.

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

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

Cr-Commit-Position: refs/heads/master@{#10070}
2015-09-25 08:55:42 +00:00
3fd7be4cb1 Revert of Don't link with audio codecs that we don't use (patchset #4 id:60001 of https://codereview.webrtc.org/1349393003/ )
Reason for revert:
Breaking Chromium FYI bots.

Original issue's description:
> Don't link with audio codecs that we don't use
>
> We used to link with all audio codecs unconditionally (except Opus);
> this patch makes gyp and gn only link to the ones that are used.
>
> (This unfortunately fails to have a measurable impact on Chromium
> binary size, at least on x86_64 Linux; it turns out that iLBC and iSAC
> fix were already being excluded from Chromium by some other means
> (likely just the linker omitting compilation units with no incoming
> references).)
>
> BUG=webrtc:4557
>
> Committed: https://crrev.com/f66a9251424351ea6d631c54dd1feb64cc13d809
> Cr-Commit-Position: refs/heads/master@{#10046}

TBR=henrik.lundin@webrtc.org,tina.legrand@webrtc.org,kjellander@webrtc.org,kwiberg@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4557

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

Cr-Commit-Position: refs/heads/master@{#10069}
2015-09-25 08:36:11 +00:00
a53e383d7d Revert of CodecOwner: Don't look at definitions for classes we don't link with (patchset #1 id:1 of https://codereview.webrtc.org/1364233002/ )
Reason for revert:
Breaking Chromium FYI bots.

Original issue's description:
> CodecOwner: Don't look at definitions for classes we don't link with
>
> It's good hygiene and just generally the right thing to do. And
> apparently at least sometimes required by Microsoft's compiler.
>
> Committed: https://crrev.com/f4d38ea57aa739b525066b095468cb4af1d2799b
> Cr-Commit-Position: refs/heads/master@{#10060}

TBR=henrik.lundin@webrtc.org,tommi@webrtc.org,kwiberg@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#10068}
2015-09-25 08:31:01 +00:00
67e0cf15d3 Android AppRTCDemo: Add slider for changing camera capture quality during call
This CL adds a slider that can change capture resolution and fps during a call. The camera will no be reconfigured, but the frames will be downscaled/dropped in software by cricket::VideoAdapter in the cricket::VideoCapturer. This is controlled with VideoCapturerAndroid.onOutputFormatRequest(). The slider is turned off by default and can be enabled with a checkbox under 'WebRTC Video Settings'.

R=glaznev@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10067}
2015-09-25 06:23:49 +00:00
574d5daa6d CodecOwner::SetEncoders: Return error code when given bad arguments
Instead of FATAL on a bad codec specification, log and return an error
code. This is a band-aid until callers are taught to only give it good
specifications.

BUG=webrtc:5033, chromium:526478

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

Cr-Commit-Position: refs/heads/master@{#10066}
2015-09-25 05:54:00 +00:00
6979b024d7 Adding stub files for RtpSender/RtpReceiver.
This will allow Chromium's build files to be updated, so that when the
real RtpSender CL is submitted, it doesn't break the FYI bots.

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

Cr-Commit-Position: refs/heads/master@{#10065}
2015-09-24 23:47:59 +00:00
4ba059d218 Remove custom handler since the logger already logs to console by default.
BUG=
R=glaznev@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10064}
2015-09-24 21:36:17 +00:00
8937437872 Do not prune if the current best connection is weak.
Otherwise, we may delete a useful connection because the current best connection may be failing.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10063}
2015-09-24 20:14:51 +00:00
ea70d77fd5 VideoCapturerAndroid: Add test for making calls on stopped camera
BUG=webrtc:4978
R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10062}
2015-09-24 19:41:08 +00:00
59e72ab49b Enable logging for Mac by default on debug builds.
Was previously using the wrong preprocessor define (DEBUG vs _DEBUG).

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

Cr-Commit-Position: refs/heads/master@{#10061}
2015-09-24 17:42:47 +00:00
f4d38ea57a CodecOwner: Don't look at definitions for classes we don't link with
It's good hygiene and just generally the right thing to do. And
apparently at least sometimes required by Microsoft's compiler.

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

Cr-Commit-Position: refs/heads/master@{#10060}
2015-09-24 17:21:02 +00:00
34fbfff068 Remove VideoMediaChannel::SetRender().
Was a no-op in current implementation.

BUG=
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10059}
2015-09-24 17:20:36 +00:00
5e9a1bc790 Revert of Android GlRectDrawer: Add test for RGB rendering (patchset #3 id:40001 of https://codereview.webrtc.org/1367923002/ )
Reason for revert:
The test fails on Nexus 9.

Original issue's description:
> Android GlRectDrawer: Add test for RGB rendering
>
> BUG=webrtc:4742
> R=hbos@webrtc.org
>
> Committed: https://crrev.com/6b20ad99e04f594a9a131bea5d80940698e6e8fd
> Cr-Commit-Position: refs/heads/master@{#10050}

TBR=hbos@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4742

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

Cr-Commit-Position: refs/heads/master@{#10058}
2015-09-24 16:16:20 +00:00
a58ea7806a 1. Add receiving state as part of the connection sorting criteria. So if a connection's receiving state changes, it will re-select a better connection if there is any.
This will paves the way for continuous nomination lite and multi-networking.
2. Combined checking and pinging to remove some redundant checking and to make it switch to more frequent ping mode earlier.

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

Cr-Commit-Position: refs/heads/master@{#10057}
2015-09-24 15:13:45 +00:00
8a88dd271e Stability improvement for audio recording on Android
BUG=NONE
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10056}
2015-09-24 14:45:14 +00:00
2bc68c731d Wire up QualityScaler for H.264 on Android.
BUG=webrtc:4968
R=magjed@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10055}
2015-09-24 14:22:37 +00:00
7076729c57 Enable SurfaceViewRenderer for AppRTCDemo
BUG=webrtc:4742,webrtc:4910,webrtc:4909
R=glaznev@webrtc.org, perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10054}
2015-09-24 14:02:15 +00:00
9236bb1e08 Minor fix for improving logging of supported platform effects
BUG=NONE
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10053}
2015-09-24 13:58:46 +00:00
6b8d355168 Reland "Wire up send-side bandwidth estimation."
Revert was patchset #8 id:140001 of https://codereview.webrtc.org/1338203003/

The culprit was RTC_DCHECK(poller_thread_->Start()); in rampup_test.cc

BUG=webrtc:4173
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10052}
2015-09-24 13:07:17 +00:00
8c266e6baf H264 bitstream parser.
Parsing the encoded bitstream is required for doing downscaling
decisions based on average encoded QP to improve perceived quality.

BUG=webrtc:4968
R=noahric@chromium.org, stefan@webrtc.org
TBR=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10051}
2015-09-24 13:07:04 +00:00
6b20ad99e0 Android GlRectDrawer: Add test for RGB rendering
BUG=webrtc:4742
R=hbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10050}
2015-09-24 13:05:33 +00:00
2efe58b189 VideoCapturerAndroidTest: Dispose PeerConnectionFactory with pending frames
Partial revert of change in testReturnBufferLateEndToEnd from https://codereview.webrtc.org/1350863002/. It is ok to dispose PeerConnectionFactory with pending frames after all.

BUG=webrtc:4909
R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10049}
2015-09-24 12:16:40 +00:00
ec249d4eae ACMCodecDB: Remove unused stuff, and move private stuff to anonymous namespace
BUG=webrtc:5028

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

Cr-Commit-Position: refs/heads/master@{#10048}
2015-09-24 11:32:11 +00:00
4a3ccad29e Remove SetAudioDelayOffset() and friends.
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10047}
2015-09-24 10:53:14 +00:00
f66a925142 Don't link with audio codecs that we don't use
We used to link with all audio codecs unconditionally (except Opus);
this patch makes gyp and gn only link to the ones that are used.

(This unfortunately fails to have a measurable impact on Chromium
binary size, at least on x86_64 Linux; it turns out that iLBC and iSAC
fix were already being excluded from Chromium by some other means
(likely just the linker omitting compilation units with no incoming
references).)

BUG=webrtc:4557

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

Cr-Commit-Position: refs/heads/master@{#10046}
2015-09-24 10:18:48 +00:00
61e933eac7 Remove ChannelManager::GetCapabilities()
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10045}
2015-09-24 08:45:41 +00:00
c675ddd830 video_capture: Better support for UYVY
A couple of places were missing handling of UYVY video formats.

BUG=webrtc:4816

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

Cr-Commit-Position: refs/heads/master@{#10044}
2015-09-24 08:11:45 +00:00
74d85e19ae Reduce locking in overuse frame detector now that (as of r9508) the observer_ and options_ can only be set at construction time. E.g. no lock is any longer held while doing the callback.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10043}
2015-09-24 07:53:38 +00:00
facbbecb51 Remove use of DeviceManager from ChannelManager.
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10042}
2015-09-24 07:41:59 +00:00
7603c76ab0 Revert of Adding PeerConnectionInterface::SetConfiguration method. (patchset #4 id:60001 of https://codereview.webrtc.org/1317353005/ )
Reason for revert:
Broke FYI bots because SetConfiguration is pure virtual and MockPeerConnectionImpl doesn't implement it. Need to reland with SetConfiguration not pure virtual.

Original issue's description:
> Adding PeerConnectionInterface::SetConfiguration method.
>
> Also updated the JNI and Objective-C bindings. Later, will have a CL to
> remove UpdateIce, which this method effectively replaces.
>
> BUG=webrtc:4945
>
> Committed: https://crrev.com/70702afbcb8418fe93747e7ed63bcbf5e56b90e9
> Cr-Commit-Position: refs/heads/master@{#10040}

TBR=guoweis@webrtc.org,pthatcher@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4945

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

Cr-Commit-Position: refs/heads/master@{#10041}
2015-09-24 00:37:20 +00:00
70702afbcb Adding PeerConnectionInterface::SetConfiguration method.
Also updated the JNI and Objective-C bindings. Later, will have a CL to
remove UpdateIce, which this method effectively replaces.

BUG=webrtc:4945

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

Cr-Commit-Position: refs/heads/master@{#10040}
2015-09-23 23:32:38 +00:00
53eee43e78 Address the comment from 1367553002.
Remove duplication introduced by
https://codereview.webrtc.org/1367553002

BUG=webrtc:5030
TBR=juberti@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10039}
2015-09-23 21:09:18 +00:00
2e4b620471 TcpPort doesn't connect when calling gmail with non-proxied UDP disabled.
The same check has been made into turnport.cc but missed this place.

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

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

Cr-Commit-Position: refs/heads/master@{#10038}
2015-09-23 20:57:17 +00:00
cdfe20bfc1 Fix the maximum native sample rate in AudioProcessing
BUG=webrtc:4983
R=andrew@webrtc.org, henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10037}
2015-09-23 19:49:21 +00:00
cbecd358e0 Reland of TransportController refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/1358413003/ )
Reason for revert:
This CL just landed: https://codereview.chromium.org/1323243006/

Which fixes the FYI bots for the original CL, and breaks them for this revert.

Original issue's description:
> Revert of TransportController refactoring. (patchset #6 id:100001 of https://codereview.webrtc.org/1350523003/ )
>
> Reason for revert:
> This CL causes problems with the WebRTC-in-Chromium FYI bots. Presumably it needs to be done in several steps, where removed files are emptied instead of removed in the first step.
>
> Original issue's description:
> > TransportController refactoring.
> >
> > Getting rid of TransportProxy, and in its place adding a
> > TransportController class which will facilitate access to and manage
> > the lifetimes of Transports. These Transports will now be accessed
> > solely from the worker thread, simplifying their implementation.
> >
> > This refactoring also pulls Transport-related code out of BaseSession.
> > Which means that BaseChannels will now rely on the TransportController
> > interface to create channels, rather than BaseSession.
> >
> > Committed: https://crrev.com/47ee2f3b9f33e8938948c482c921d4e13a3acd83
> > Cr-Commit-Position: refs/heads/master@{#10022}
>
> TBR=pthatcher@webrtc.org,deadbeef@webrtc.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/a81a42f584baa0d93a4b93da9632415e8922450c
> Cr-Commit-Position: refs/heads/master@{#10024}

TBR=pthatcher@webrtc.org,torbjorng@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#10036}
2015-09-23 18:50:31 +00:00
d0b5b091e4 Add myself as OWNER of webrtc/voice_engine and talk/media/webrtc.
BUG=webrtc:4690
R=mflodman@webrtc.org, tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10035}
2015-09-23 15:15:29 +00:00
7cf0445262 Remove ViEChannel::StartSend deadlock suppression.
No longer lock-order inverting since RTP/RTCP modules are instantiated
on construction and no longer guarded by a separate lock.

BUG=webrtc:2999
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10034}
2015-09-23 15:04:12 +00:00
b7af7b0a10 Add myself to watchlist for a few subtrees of the repo.
BUG=webrtc:4690
R=tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10033}
2015-09-23 14:54:23 +00:00
8bffba7107 Fix BWE bug where audio has timestamps in us.
The BWE expects arrival timestamps in ms, while the audio path delivered
them in us, causing the BWE to break down under the combined audio/video
BWE experiment. This was introduced in r9892 (68786d2040).

BUG=webrtc:4758
R=mflodman@webrtc.org, sprang@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10032}
2015-09-23 13:54:04 +00:00
6d92bf59f3 Returning correct duration estimate on Opus DTX packets.
Bug 4985 revealed two flaws
1. Opus duration estimate did not return correct length for DTX packets,

2. NetEq DoCodecInternalCng did not assign enough buffer.

P.S.
Generalizing problem 1, current NetEq decode function checks memory size by calling the duration estimate function. This is not ideal. A better way is to let codec's decode function to receive buffer size and return failure if it is not enough. This can be made in a separate CL.

BUG=webrtc:4985
R=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10031}
2015-09-23 13:20:56 +00:00
c14f5ff60f Improving support for Android Audio Effects in WebRTC.
Now also supports AGC and NS effects and adds the possibility
to override default settings.

R=magjed@webrtc.org, pbos@webrtc.org, sophiechang@chromium.org
TBR=perkj
BUG=NONE

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

Cr-Commit-Position: refs/heads/master@{#10030}
2015-09-23 12:09:40 +00:00
c9bbeb0354 Revert of Wire up send-side bandwidth estimation. (patchset #8 id:140001 of https://codereview.webrtc.org/1338203003/ )
Reason for revert:
Breaking some Android bots.
https://chromegw.corp.google.com/i/client.webrtc/builders/Android32%20Tests%20%28L%20Nexus5%29

Original issue's description:
> Wire up send-side bandwidth estimation.
>
> BUG=webrtc:4173
>
> Committed: https://crrev.com/ef165eefc79cf28bb67779afe303cc2365885547
> Cr-Commit-Position: refs/heads/master@{#10012}

TBR=stefan@webrtc.org, kjellander@webrtc.org
NOPRESUBMIT=false
NOTREECHECKS=false
NOTRY=false
BUG=webrtc:4173

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

Cr-Commit-Position: refs/heads/master@{#10029}
2015-09-23 11:52:01 +00:00