VP9 is put as second codec in supported codec list.
BUG=chromium:500602
Review URL: https://codereview.webrtc.org/1432673002
Cr-Commit-Position: refs/heads/master@{#10577}
This change VideoCapturerAndroid to attempt 3 times with a period of 300ms to open the camera if it fails.
This is so that if another application have it already opened, it would have more time to release it.
BUG=b/25190234
Review URL: https://codereview.webrtc.org/1422023007
Cr-Commit-Position: refs/heads/master@{#10559}
If SurfaceViewRenderer can't keep up with the stream of incoming frames it has to drop frames. Currently, new frames are dropped until the old pending frame is rendered. This CL drops the old pending frame instead.
Review URL: https://codereview.webrtc.org/1417063005
Cr-Commit-Position: refs/heads/master@{#10558}
Also distinguish between camera failures and failures due to that buffers has not been returned.
Adds unit tests for making sure CameraEventHandler.onError is triggered if frames are not returned.
BUG=b/25514149
Review URL: https://codereview.webrtc.org/1415013006
Cr-Commit-Position: refs/heads/master@{#10555}
JNI already has jstring<->UTF8 string conversion, so using that should
save ~1mb off android binaries (ICU is *large*), probably around
300-400k after compression.
BUG=
Review URL: https://codereview.webrtc.org/1430023005
Cr-Commit-Position: refs/heads/master@{#10545}
MediaCodec.stop() call may hang in some rear cases. To avoid
application hang this call need to be done on separate thread and
possible error reported back to application.
Application may elect to continue executing and use another codec
instance for encoding/decoding or stop the call and exit.
BUG=b/24339249
R=magjed@webrtc.org
Review URL: https://codereview.webrtc.org/1425143005 .
Cr-Commit-Position: refs/heads/master@{#10467}
The former is very similar to the latter, but less general (mostly in
naming).
This CL, which is the first to use Maybe at scale, also removes the implicit conversion from T to Maybe<T>, since it was agreed that the increased verbosity increased legibility.
Review URL: https://codereview.webrtc.org/1430433004
Cr-Commit-Position: refs/heads/master@{#10461}
This removes unnecessary RTP header extension overhead since only one of
these extensions is used at a time.
BUG=webrtc:4254
R=pbos@webrtc.org
Review URL: https://codereview.webrtc.org/1429753003 .
Cr-Commit-Position: refs/heads/master@{#10455}
Plus log first few decoder frames in and out events.
BUG=b/25287910
Review URL: https://codereview.webrtc.org/1423843005
Cr-Commit-Position: refs/heads/master@{#10439}
Reason for revert:
Caused compiler warning, breaking Chrome FYI bots.
Original issue's description:
> Adding the ability to change ICE servers through SetConfiguration.
>
> Added a SetIceServers method to PortAllocator. Also added a new
> PeerConnection Initialize method that takes a PortAllocator, in the
> hope that we can get rid of PortAllocatorFactoryInterface, since the
> only substantial thing a factory does is convert the webrtc:: ICE
> servers to cricket:: versions.
>
> Committed: https://crrev.com/d3b26d94399ff539db375a9b84010ee75479d4cf
> Cr-Commit-Position: refs/heads/master@{#10420}
TBR=pthatcher@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.webrtc.org/1424803004
Cr-Commit-Position: refs/heads/master@{#10421}
Added a SetIceServers method to PortAllocator. Also added a new
PeerConnection Initialize method that takes a PortAllocator, in the
hope that we can get rid of PortAllocatorFactoryInterface, since the
only substantial thing a factory does is convert the webrtc:: ICE
servers to cricket:: versions.
Review URL: https://codereview.webrtc.org/1391013007
Cr-Commit-Position: refs/heads/master@{#10420}
Reason for revert:
Causing a compiler warning, and causing WebRtcBrowserTest.CallAndModifyStream to fail.
Original issue's description:
> Adding the ability to create an RtpSender without a track.
>
> This CL also changes AddStream to immediately create a sender, rather
> than waiting until the track is seen in SDP. And the PeerConnection now
> builds the list of "send streams" from the list of senders, rather than
> the collection of local media streams.
>
> Committed: https://crrev.com/ac9d92ccbe2b29590c53f702e11dc625820480d5
> Cr-Commit-Position: refs/heads/master@{#10414}
TBR=pthatcher@webrtc.org,pthatcher@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.webrtc.org/1426443007
Cr-Commit-Position: refs/heads/master@{#10417}
This CL also changes AddStream to immediately create a sender, rather
than waiting until the track is seen in SDP. And the PeerConnection now
builds the list of "send streams" from the list of senders, rather than
the collection of local media streams.
Review URL: https://codereview.webrtc.org/1413713003
Cr-Commit-Position: refs/heads/master@{#10414}
The existing comment is wrong, and the test even ensures it: Bind will capture reference values by reference. That makes it hard to use with AsyncInvoker, because you can't safely Bind to a function that takes (const) reference params.
The new version of this code strips references in the bound object, so it captures by value, but can bind against functions that take const references, they'll just be references to the copy.
As the class comment implies, actual by-reference args should be passed as pointers or things that safely share (e.g. scoped_refptr) and not references directly. A new test case ensures the pointer reference works. The new code will also give a compiler error if you try to bind
to a non-const reference.
BUG=
Review URL: https://codereview.webrtc.org/1291543006
Cr-Commit-Position: refs/heads/master@{#10397}
I replaced quitSafely() with a CountDownLatch. The reason for not using ThreadUtils.invokeUninterruptibly() is that I want to stop accepting frames asap, and invokeUninterruptibly() would still accept frames during the waiting time.
BUG=webrtc:4742
Review URL: https://codereview.webrtc.org/1418223002
Cr-Commit-Position: refs/heads/master@{#10393}
The purpose with this change is to support older API levels by replacing EGL14 (API lvl 17) with EGL10 (API lvl 1). The main purpose is to lower API lvl requirement for SurfaceViewRenderer from API lvl 17 to API lvl 15. Also, camera texture capture will work on API lvl < 17 (and texture encode/decode in MediaCodec, but we don't use MediaCodec below API lvl 18?).
GLSurfaceView/VideoRendererGui is already using EGL10.
EGL 1.1 - 1.4 added new functionality, but won't affect performance. We don't need the functionality, so there should be no reason to not use EGL 1.0.
I have profiled AppRTCDemo with Qualcomm Trepn Profiler on a Nexus 5 and Nexus 6 and couldn't see any difference.
Specifically, this CL:
* Update EglBase to use EGL10 instead of EGL14.
* Update imports from EGL14 to EGL10 in a lot of files (plus changing import order in some cases).
* Update VideoCapturerAndroid to always support texture capture.
Review URL: https://codereview.webrtc.org/1396013004
Cr-Commit-Position: refs/heads/master@{#10378}
NDEBUG is a standard macro with the semantic "Not Debug" for C89, C99, C++98,
C++2003, C++2011, C++2014 standards. There are no _DEBUG macros in the
standards.
_DEBUG is a macro Visual Studio defines when you specify the /MTd or /MDd
option.
http://stackoverflow.com/a/29253284/5237416
This should help fix the TODO in third_party/libjingle/libjingle.gyp
BUG=None
R=sergeyu@chromium.org
Review URL: https://codereview.webrtc.org/1419733004
Cr-Commit-Position: refs/heads/master@{#10377}
By default, we'll now offer to receive if already receiving
(meaning that the last remote description contained a track).
Also, m-lines that are neither receiving nor sending are now correctly
marked "inactive".
Also moved some logic relating to default tracks out of webrtcsdp.cc,
such that now the direction seen by upper layers will always be
consistent with the consumed/produced SDP.
BUG=528089
Review URL: https://codereview.webrtc.org/1406803004
Cr-Commit-Position: refs/heads/master@{#10376}
The function to stop recording an AEC dump was missing from the PeerConnectionFactory interface (only a start function was provided). This CL adds the missing stop function.
BUG=webrtc:4741
Review URL: https://codereview.webrtc.org/1415733005
Cr-Commit-Position: refs/heads/master@{#10372}
Xvfb is needed for the screen capture tests in modules_unittests,
which also brings in xdisplaycheck used by testing/xvfb.py.
libjingle_media_unittest was missing a resource video in the .isolate
file.
BUG=chromium:497757
R=stip@chromium.org
Review URL: https://codereview.webrtc.org/1415603005 .
Cr-Commit-Position: refs/heads/master@{#10365}
Prevents RTCP receiver reports, including PLIs with an old
receiver-report SSRC, from being dropped from the remote sender's
BundleFilter due to no longer being in use.
BUG=chromium:523928, webrtc:4883
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1404363003 .
Cr-Commit-Position: refs/heads/master@{#10359}
Hopefully all external implementations are updated, I could build
Chromium locally with this patch. This Reset implementation causes (for
some mysterious reason) -WError=overloaded-virtual failures when trying
to build libjingle APKs.
R=guoweis@webrtc.org, magjed@webrtc.org, pthatcher@webrtc.org
BUG=webrtc:2365
Review URL: https://codereview.webrtc.org/1411253002 .
Cr-Commit-Position: refs/heads/master@{#10352}
Default implementation added that invokes the other RequestIdentity method, adding default parameters or dropping the parameters.
This CL is in preparation for removing the RequestIdentity that takes rtc::KeyType, necessary as to not break Chromium.
BUG=webrtc:4927, 528250
Review URL: https://codereview.webrtc.org/1414243003
Cr-Commit-Position: refs/heads/master@{#10351}