Commit Graph

267 Commits

Author SHA1 Message Date
d1587ad244 Android HW decoder: Don't check slice_height for texture output
The check: 'RTC_CHECK_GE(slice_height, height);' has been observed to
fail after a reconfig. It looks like |slice_height| is still using the
previous resolution. |slice_height| isn't used for texture output and
hopefully this issue is texture specific. This CL only extracts and
checks |slice_height| when it's actually used.

BUG=b/35932686

Review-Url: https://codereview.webrtc.org/2736603003
Cr-Commit-Position: refs/heads/master@{#17065}
2017-03-06 13:20:49 +00:00
0ebe0199ac Add unit tests for RTCMTLVideoView.
To properly test the functionality,  following changes  were needed
- Make RTCMTLVideoView compiliable for all cpu architectures not just arm64.
This is needed so that the test can run on any device and on simulator as well.
- Refactor RTCMTLVideoView to have  mockable class methods.
The unittest class, RTCMTLVideoViewTests was designed to provide easy transition
to XCTest when the time comes for that.
To transition to XCTest it would suffice to inherit from XCTestCase and remove
the gtest methods.

BUG=webrtc:7079

Review-Url: https://codereview.webrtc.org/2723903003
Cr-Commit-Position: refs/heads/master@{#17014}
2017-03-03 16:24:06 +00:00
154a7bb877 Add Metal video view in AppRTCMobile and Metal availability macro.
- The RTC_SUPPORTS_METAL macro allows consumers to gracefully handle compilation for different archs that are not supporting Metal.

BUG=webrtc:7079

Review-Url: https://codereview.webrtc.org/2722583002
Cr-Commit-Position: refs/heads/master@{#17004}
2017-03-03 14:11:10 +00:00
0c29de5579 Android HW decoder: Limit frame size based on cropping information
BUG=webrtc:7267

Review-Url: https://codereview.webrtc.org/2722803002
Cr-Commit-Position: refs/heads/master@{#16963}
2017-03-02 08:55:32 +00:00
340e3fd59f Split FlexFEC field trial in two.
- The "flexfec-03" codec is advertised in the SDP whenever the
  "WebRTC-FlexFEC-03-Advertised" field trial is enabled.
- Sending FlexFEC packets is enabled whenever the "flexfec-03" codec is
  negotiated, and the "WebRTC-FlexFEC-03" field trial is enabled.

After this CL, the number of calls to
WebRtcVideoChannel2::WebRtcVideoSendStream::SetCodec during renegotiation
will be reduced for cases when only one endpoint has the "WebRTC-FlexFEC-03"
field trial enabled.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2716733005
Cr-Commit-Position: refs/heads/master@{#16925}
2017-02-28 23:43:10 +00:00
907abd8414 Re-enable disabled test and upgrade avformatmappertests to OCMock 3 syntax.
BUG=webrtc:7137

Review-Url: https://codereview.webrtc.org/2724443003
Cr-Commit-Position: refs/heads/master@{#16917}
2017-02-28 17:14:45 +00:00
c1b57a15bf Test field trial group with startswith rather than equals.
BUG=webrtc:7266

Review-Url: https://codereview.webrtc.org/2717973005
Cr-Commit-Position: refs/heads/master@{#16915}
2017-02-28 16:50:47 +00:00
63bafd62f1 Revert of Add the OnAddTrack callback for Objective-C wrapper. (patchset #7 id:240001 of https://codereview.webrtc.org/2513063003/ )
Reason for revert:
This CL breaks iOS AppRTCMobile. We don't have any automatic tests running on the bots yet, so please try AppRTCMobile locally before relanding.

Stack trace:
* thread #15: tid = 0x20e933, 0x0000000100488440 AppRTCMobile`webrtc::AudioRtpReceiver::OnFirstPacketReceived(this=0x0000000170156c60, channel=0x000000010511a600) + 48 at rtpreceiver.cc:133, name = 'Thread 0x0x10421b2a0', stop reason = EXC_BAD_ACCESS (code=1, address=0x1a1aac71979)
  * frame #0: 0x0000000100488440 AppRTCMobile`webrtc::AudioRtpReceiver::OnFirstPacketReceived(this=0x0000000170156c60, channel=0x000000010511a600) + 48 at rtpreceiver.cc:133
    frame #1: 0x000000010048a3f8 AppRTCMobile`void sigslot::_opaque_connection::emitter<webrtc::AudioRtpReceiver, cricket::BaseChannel*>(self=0x000000017424b380, args=0x000000010511a600) + 184 at sigslot.h:391
    frame #2: 0x00000001005a30ec AppRTCMobile`void sigslot::_opaque_connection::emit<cricket::BaseChannel*>(this=0x000000017424b380, args=0x000000010511a600) const + 56 at sigslot.h:381
    frame #3: 0x00000001005a3094 AppRTCMobile`sigslot::signal_with_thread_policy<sigslot::single_threaded, cricket::BaseChannel*>::emit(this=0x000000010511a678, args=0x000000010511a600) + 504 at sigslot.h:615
    frame #4: 0x000000010057ef5c AppRTCMobile`sigslot::signal_with_thread_policy<sigslot::single_threaded, cricket::BaseChannel*>::operator(this=0x000000010511a678, args=0x000000010511a600)(cricket::BaseChannel*) + 32 at sigslot.h:621
    frame #5: 0x000000010057ef00 AppRTCMobile`cricket::BaseChannel::OnMessage(this=0x000000010511a600, pmsg=0x000000016e676db0) + 600 at channel.cc:1494
    frame #6: 0x0000000100584a58 AppRTCMobile`cricket::VoiceChannel::OnMessage(this=0x000000010511a600, pmsg=0x000000016e676db0) + 152 at channel.cc:1909
    frame #7: 0x000000010017c0dc AppRTCMobile`rtc::MessageQueue::Dispatch(this=0x000000010421b2a0, pmsg=0x000000016e676db0) + 336 at messagequeue.cc:538
    frame #8: 0x00000001001d8efc AppRTCMobile`rtc::Thread::ProcessMessages(this=0x000000010421b2a0, cmsLoop=-1) + 228 at thread.cc:496
    frame #9: 0x00000001001d8e08 AppRTCMobile`rtc::Thread::Run(this=0x000000010421b2a0) + 28 at thread.cc:327
    frame #10: 0x00000001001d8b0c AppRTCMobile`rtc::Thread::PreRun(pv=0x000000017000f030) + 300 at thread.cc:316
    frame #11: 0x00000001843f1850 libsystem_pthread.dylib`_pthread_body + 240
    frame #12: 0x00000001843f1760 libsystem_pthread.dylib`_pthread_start + 284
    frame #13: 0x00000001843eed94 libsystem_pthread.dylib`thread_start + 4

Original issue's description:
> Add the OnAddTrack callback for Objective-C wrapper.
>
> Created an Obj-C wrapper for the callback OnAddTrack in this CL since it has been added to native C++ API
> The callback function is called when a track is signaled by remote side and a new RtpReceiver is created.
> The application can tell when tracks are added to the streams by listening to this callback.
>
> BUG=webrtc:6112
>
> Review-Url: https://codereview.webrtc.org/2513063003
> Cr-Commit-Position: refs/heads/master@{#16835}
> Committed: 633f6fe004

TBR=tkchin@webrtc.org,deadbeef@webrtc.org,zhihuang@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:6112

Review-Url: https://codereview.webrtc.org/2720753002
Cr-Commit-Position: refs/heads/master@{#16871}
2017-02-27 15:04:25 +00:00
070d5e30a8 Reland of Add metal view, shaders and renderer. (patchset #1 id:1 of https://codereview.webrtc.org/2711003004/ )
Reason for revert:
Re-land

Original issue's description:
> Revert of Add metal view, shaders and renderer. (patchset #18 id:340001 of https://codereview.webrtc.org/2651743007/ )
>
> Reason for revert:
> Reverting due to breakage in the Google3 import
>
> Original issue's description:
> > Add metal view, shaders and renderer.
> >
> > This CL submits standalone Metal view, renderer and shader.
> >
> > BUG=webrtc:7079
> >
> > Review-Url: https://codereview.webrtc.org/2651743007
> > Cr-Commit-Position: refs/heads/master@{#16787}
> > Committed: fc8c97f950
>
> TBR=magjed@webrtc.org,kthelgason@webrtc.org,tkchin@webrtc.org,haysc@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7079
>
> Review-Url: https://codereview.webrtc.org/2711003004
> Cr-Commit-Position: refs/heads/master@{#16788}
> Committed: b681aabdfc

TBR=magjed@webrtc.org,kthelgason@webrtc.org,tkchin@webrtc.org,haysc@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7079

Review-Url: https://codereview.webrtc.org/2716703004
Cr-Commit-Position: refs/heads/master@{#16846}
2017-02-26 19:44:13 +00:00
633f6fe004 Add the OnAddTrack callback for Objective-C wrapper.
Created an Obj-C wrapper for the callback OnAddTrack in this CL since it has been added to native C++ API
The callback function is called when a track is signaled by remote side and a new RtpReceiver is created.
The application can tell when tracks are added to the streams by listening to this callback.

BUG=webrtc:6112

Review-Url: https://codereview.webrtc.org/2513063003
Cr-Commit-Position: refs/heads/master@{#16835}
2017-02-24 20:50:48 +00:00
0d1305ee88 Added support for changing the volume of RTCAudioSource as discussed in BUG=webrtc:6533
This is a short term solution to change the volume of a RTCAudioTrack (which contains an RTCAudioSource property) until applyConstraints for RTCMediaStreamTracks has been implemented.
This CL adds one new Objective-C method to AudioSourceInterface's wrapper: -(void)setVolume:(double)volume

BUG=webrtc:6533, webrtc:6805

This is my first CL for Chromium/WebRTC, so please let me know if I did something wrong.

Review-Url: https://codereview.webrtc.org/2534843002
Cr-Commit-Position: refs/heads/master@{#16809}
2017-02-23 21:57:00 +00:00
0e22a4cfd3 Android HW decoder: Support odd heights for non-texture output
When textures are not enabled and we are using byte buffer outputs, the
decoder is currently crashing for odd heights because of an RTC_CHECK.
This CL removes the check and handles the pointer offset to the chroma
planes for the odd height case instead.

This has been verified to work correctly on a Pixel device.

BUG=webrtc:6651

Review-Url: https://codereview.webrtc.org/2709923005
Cr-Commit-Position: refs/heads/master@{#16805}
2017-02-23 15:11:32 +00:00
02f994b4e9 Remove codec thread from MediaCodecVideoEncoder.
After this change, all calls to MediaCodecVideoEncoder must be made on
the same task queue. Removes OnCodecThread suffix from methods since it
is no longer meaningful.

BUG=webrtc:6290

Review-Url: https://codereview.webrtc.org/2669093004
Cr-Commit-Position: refs/heads/master@{#16792}
2017-02-23 10:25:20 +00:00
b681aabdfc Revert of Add metal view, shaders and renderer. (patchset #18 id:340001 of https://codereview.webrtc.org/2651743007/ )
Reason for revert:
Reverting due to breakage in the Google3 import

Original issue's description:
> Add metal view, shaders and renderer.
>
> This CL submits standalone Metal view, renderer and shader.
>
> BUG=webrtc:7079
>
> Review-Url: https://codereview.webrtc.org/2651743007
> Cr-Commit-Position: refs/heads/master@{#16787}
> Committed: fc8c97f950

TBR=magjed@webrtc.org,kthelgason@webrtc.org,tkchin@webrtc.org,haysc@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7079

Review-Url: https://codereview.webrtc.org/2711003004
Cr-Commit-Position: refs/heads/master@{#16788}
2017-02-23 09:15:07 +00:00
fc8c97f950 Add metal view, shaders and renderer.
This CL submits standalone Metal view, renderer and shader.

BUG=webrtc:7079

Review-Url: https://codereview.webrtc.org/2651743007
Cr-Commit-Position: refs/heads/master@{#16787}
2017-02-23 08:46:07 +00:00
4e4dfbd45d Move YuvConverter from Android API to src.
BUG=webrtc:7172

Review-Url: https://codereview.webrtc.org/2705173002
Cr-Commit-Position: refs/heads/master@{#16747}
2017-02-21 13:29:59 +00:00
c3c46246a9 Add RTCVideoFrame init function from CVPixelBufferRef
Adds a public init function in RTCVideoFrame that makes it possible to
create a frame from a CVPixelBufferRef.

BUG=webrtc:7177
NOTRY=True

Review-Url: https://codereview.webrtc.org/2700113003
Cr-Commit-Position: refs/heads/master@{#16746}
2017-02-21 13:28:48 +00:00
7ee512581c Clean up RTCVideoFrame
RTCVideoFrame is an ObjectiveC version of webrtc::VideoFrame, but it
currently contains some extra logic beyond that. We want RTCVideoFrame
to be as simple as possible, i.e. just a container with no extra state,
so we can use it as input to RTCVideoSource without complicating the
interface for consumers.

BUG=webrtc:7177
NOTRY=True

Review-Url: https://codereview.webrtc.org/2695203004
Cr-Commit-Position: refs/heads/master@{#16740}
2017-02-21 12:19:46 +00:00
8c01fe530e Move camera implementation details away from the public API.
Moves CameraCapturer, CameraSession, Camera1Session and Camera2Session
away from the public API.

BUG=webrtc:7172

Review-Url: https://codereview.webrtc.org/2699713004
Cr-Commit-Position: refs/heads/master@{#16723}
2017-02-20 15:04:03 +00:00
8e32cd247d Relanding: Add the url attribute to the IceCandidate (Java Wrapper)
The url of the ICE server is added to the IceCandiate class.
This can be used to tell which server this candidate was gathered from.

BUG=webrtc:7128

Review-Url: https://codereview.webrtc.org/2690593002
Cr-Commit-Position: refs/heads/master@{#16675}
2017-02-17 20:45:00 +00:00
103988d040 EglRenderer: Clear texture before drawing a new frame.
This is necessary in case the drawer doesn't cover all the pixels.

BUG=None

Review-Url: https://codereview.webrtc.org/2704663002
Cr-Commit-Position: refs/heads/master@{#16671}
2017-02-17 17:59:01 +00:00
9c997a3b9e Add QP for MediaCodec decoder.
BUG=webrtc:6541

Review-Url: https://codereview.webrtc.org/2653183004
Cr-Commit-Position: refs/heads/master@{#16662}
2017-02-17 11:26:10 +00:00
d7e771da7b Add the URL attribute to cricket::Candiate. (Objc wrapper)
The url of the ICE server is added to the IceCandiate class.
This can be used to tell which server this candidate was gathered from.

BUG=webrtc:7128

Review-Url: https://codereview.webrtc.org/2688943003
Cr-Commit-Position: refs/heads/master@{#16652}
2017-02-16 19:29:39 +00:00
12b3e03bde Roll chromium_revision 69e724195b..3dd2a5021d (450712:450867)
Includes a fix for https://codereview.chromium.org/2699473002 for
hiding non-JNI symbols for //webrtc/sdk/android:libjingle_peerconnection_so.

Change log: 69e724195b..3dd2a5021d
Full diff: 69e724195b..3dd2a5021d

Changed dependencies:
* src/base: 080b352c99..8b1a6dbaa6
* src/build: f90e950a28..c8fd116a14
* src/ios: 9de535e7f6..ef5e6a32d2
* src/testing: ab09b53e19..fc5180135b
* src/third_party: 8c47a50ee4..458ec12ef4
* src/third_party/catapult: fc25e6f948..574285df8d
* src/tools: edae3a4aa9..776d0b616f
DEPS diff: 69e724195b..3dd2a5021d/DEPS

No update to Clang.

BUG=None
NOTRY=True

Review-Url: https://codereview.webrtc.org/2702513002
Cr-Commit-Position: refs/heads/master@{#16637}
2017-02-16 09:06:04 +00:00
43be94725f Return "not implemented" error from BindSocketToNetwork properly.
Previously, was only checking the Android SDK version. But it also needs
to check for the presence of the connectivity manager service.

BUG=webrtc:7026

Review-Url: https://codereview.webrtc.org/2697943002
Cr-Commit-Position: refs/heads/master@{#16631}
2017-02-15 19:49:31 +00:00
f0a539b0c8 Revert of Add the url attribute to the IceCandidate (Java Wrapper) (patchset #4 id:120001 of https://codereview.webrtc.org/2690593002/ )
Reason for revert:
Breaks AppRTCMobile interoperability. The ICE candidate URL shouldn't be signaled between endpoints, it's only there for informational purposes.

Original issue's description:
> Add the url attribute to the IceCandidate (Java Wrapper)
>
> The url of the ICE server is added to the IceCandiate class.
> This can be used to tell which server this candidate was gathered from.
>
> BUG=webrtc:7128
>
> Review-Url: https://codereview.webrtc.org/2690593002
> Cr-Original-Commit-Position: refs/heads/master@{#16593}
> Committed: 8586c8ee88
> Review-Url: https://codereview.webrtc.org/2690593002
> Cr-Commit-Position: refs/heads/master@{#16615}
> Committed: 45efce01c7

TBR=magjed@webrtc.org,zhihuang@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7128

Review-Url: https://codereview.webrtc.org/2699533002
Cr-Commit-Position: refs/heads/master@{#16616}
2017-02-14 22:13:56 +00:00
45efce01c7 Add the url attribute to the IceCandidate (Java Wrapper)
The url of the ICE server is added to the IceCandiate class.
This can be used to tell which server this candidate was gathered from.

BUG=webrtc:7128

Review-Url: https://codereview.webrtc.org/2690593002
Cr-Original-Commit-Position: refs/heads/master@{#16593}
Committed: 8586c8ee88
Review-Url: https://codereview.webrtc.org/2690593002
Cr-Commit-Position: refs/heads/master@{#16615}
2017-02-14 20:23:34 +00:00
5465ef5699 Remove VideoRendererGui
This file is deprecated and use of it should be replaced with
SurfaceViewRenderer instead.

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

Review-Url: https://codereview.webrtc.org/2692843003 .
Cr-Commit-Position: refs/heads/master@{#16611}
2017-02-14 13:27:51 +00:00
1f16ee38c1 Compile ios helpers on mac as well.
BUG=webrtc:5582

Review-Url: https://codereview.webrtc.org/2586433002
Cr-Commit-Position: refs/heads/master@{#16604}
2017-02-14 11:07:57 +00:00
c874d1296a Fixing logic for using android_setsocknetwork() with bind().
If android_setsocknetwork() is available, and it fails, then bind()
should *not* be called, and an error should be returned.

If it succeeds, then bind should be called, but with an "any" address.

This is to prevent cases where sockets are sent with a source address
that doesn't match the network interface they're sent on. See bug below.

This CL also changes "NetworkBinderResults" to an enum class, and
renames it to "NetworkBinderResult".

BUG=webrtc:7026

Review-Url: https://codereview.webrtc.org/2646863005
Cr-Commit-Position: refs/heads/master@{#16597}
2017-02-13 23:41:59 +00:00
06b7e5ce1f Add H.264 high profile to the list of supported codecs before baseline profile.
To ensure compliance with older version high profile should appear in local SDP
before baseline profile.

BUG=b/34816463

Review-Url: https://codereview.webrtc.org/2696733002
Cr-Commit-Position: refs/heads/master@{#16596}
2017-02-13 23:13:24 +00:00
b856794be7 Revert of Add the url attribute to the IceCandidate (Java Wrapper) (patchset #3 id:60001 of https://codereview.webrtc.org/2690593002/ )
Reason for revert:
Breaks downstream application's build

Original issue's description:
> Add the url attribute to the IceCandidate (Java Wrapper)
>
> The url of the ICE server is added to the IceCandiate class.
> This can be used to tell which server this candidate was gathered from.
>
> BUG=webrtc:7128
>
> Review-Url: https://codereview.webrtc.org/2690593002
> Cr-Commit-Position: refs/heads/master@{#16593}
> Committed: 8586c8ee88

TBR=magjed@webrtc.org,zhihuang@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7128

Review-Url: https://codereview.webrtc.org/2692993002
Cr-Commit-Position: refs/heads/master@{#16595}
2017-02-13 22:31:38 +00:00
8586c8ee88 Add the url attribute to the IceCandidate (Java Wrapper)
The url of the ICE server is added to the IceCandiate class.
This can be used to tell which server this candidate was gathered from.

BUG=webrtc:7128

Review-Url: https://codereview.webrtc.org/2690593002
Cr-Commit-Position: refs/heads/master@{#16593}
2017-02-13 22:04:50 +00:00
9de49e317e Add clearImage method to SurfaceViewRenderer.
BUG=None

Review-Url: https://codereview.webrtc.org/2691533002
Cr-Commit-Position: refs/heads/master@{#16584}
2017-02-13 14:15:02 +00:00
806a1a0c28 Add ifdef protection for iOS-only headers
BUG=webrtc:6841

Review-Url: https://codereview.webrtc.org/2553683008
Cr-Commit-Position: refs/heads/master@{#16580}
2017-02-13 13:09:01 +00:00
112b2e99d8 Switching some interfaces to use std::unique_ptr<>.
This helps show where ownership is transfered between objects.

Specifically, this CL wraps cricket::VideoCapturer, MediaEngineInterface
and DataEngineInterface in unique_ptr.

BUG=None
TBR=magjed@webrtc.org

Review-Url: https://codereview.webrtc.org/2685093002
Cr-Commit-Position: refs/heads/master@{#16548}
2017-02-11 04:13:37 +00:00
abdc857967 Update list of supported Android codecs based on field trial dynamically.
Currently filed trial value which controls H.264 high profile support is
read once only when factory is created. If field trial value is changed for
the next WebRTC call supported codec list need to be updated as well.

BUG=b/34816463

Review-Url: https://codereview.webrtc.org/2685183004
Cr-Commit-Position: refs/heads/master@{#16543}
2017-02-10 22:40:57 +00:00
5d52bf7049 Roll chromium_revision baaeb3f30e..ba3e8dd8fa (449272:449304)
Disabled AVFormatMapperTest.SetFormatWhenFormatIsIncompatible due to failure
with OCMock upgraded to 3.1.5.

Change log: baaeb3f30e..ba3e8dd8fa
Full diff: baaeb3f30e..ba3e8dd8fa

Changed dependencies:
* src/build: ad4a5750d2..fa619b2a12
* src/ios: c60f051132..e1e28f1363
* src/testing: 0136cdb11f..eafb0c38ce
* src/third_party: 1f75580222..9979a014f0
* src/third_party/catapult: 5c71aaccc3..5a31d0e078
DEPS diff: baaeb3f30e..ba3e8dd8fa/DEPS

No update to Clang.

TBR=magjed@webrtc.org
BUG=webrtc:7137
NOTRY=True

Review-Url: https://codereview.webrtc.org/2687963002
Cr-Commit-Position: refs/heads/master@{#16520}
2017-02-09 19:19:31 +00:00
234accd8e1 Roll chromium_revision cf2dce6a6d..2019b9e075 (448969:449230)
Minor update in WebRtcJniBootTest.java was needed due to a new check in Chromium.

Change log: cf2dce6a6d..2019b9e075
Full diff: cf2dce6a6d..2019b9e075

Changed dependencies:
* src/base: 2a741233ff..8cd4b3e177
* src/build: c4b2c5ac66..e62b61f097
* src/ios: 53837a325a..9cd8c7efcc
* src/testing: 2d16559171..ce405e1792
* src/third_party: 6549709ce7..bb222623f9
* src/third_party/catapult: f20052d2ac..5c71aaccc3
* src/tools: 644b36a36a..a2cff40065
DEPS diff: cf2dce6a6d..2019b9e075/DEPS

No update to Clang.

TBR=sakal@webrtc.org
BUG=None
NOTRY=True

Review-Url: https://codereview.webrtc.org/2681293002
Cr-Commit-Position: refs/heads/master@{#16504}
2017-02-09 07:56:43 +00:00
4da058c0dd Create an Obj-C wrapper of the RtpReceiverObserverInterface.
Create the RTCRtpReceiverDelegate which is a wrapper over
webrtc::RtpReceiverObserverInterface.
The callback will be called whenever the first rtp packet is received.

Related CL: https://codereview.webrtc.org/2531333003/

BUG=webrtc:6742

Review-Url: https://codereview.webrtc.org/2641923003
Cr-Commit-Position: refs/heads/master@{#16501}
2017-02-08 18:41:20 +00:00
b99b5960e1 Add chromium-junit4 tag to instrumentation test AndroidManifests.
This tag is supposed to be temporary and removed when all Chromium tests
have been migrated to JUnit4.

BUG=webrtc:7123,chromium:640116
NOTRY=True

Review-Url: https://codereview.webrtc.org/2683583002
Cr-Commit-Position: refs/heads/master@{#16465}
2017-02-07 12:12:30 +00:00
1959b63b61 Remove Assert lint suppression.
BUG=webrtc:6597
NOTRY=True

Review-Url: https://codereview.webrtc.org/2668963002
Cr-Commit-Position: refs/heads/master@{#16460}
2017-02-07 09:41:47 +00:00
cb789bb510 Remove NewApi lint suppression.
BUG=webrtc:6597

Review-Url: https://codereview.webrtc.org/2662273004
Cr-Commit-Position: refs/heads/master@{#16448}
2017-02-06 13:34:26 +00:00
b114e9c159 Camera2Session: Add return statements after reportError where needed.
BUG=webrtc:7117

Review-Url: https://codereview.webrtc.org/2674243002
Cr-Commit-Position: refs/heads/master@{#16445}
2017-02-06 12:55:21 +00:00
e702b30fec Adding C++ versions of currently spec'd "RtpParameters" structs.
These structs will be used for ORTC objects (and their WebRTC
equivalents).

This CL also introduces some minor changes to the existing implemented
structs:

- max_bitrate_bps uses rtc::Optional instead of "-1 means unset"
- "mime_type" turned into "name"/"kind" (which can be used to form the
  MIME type string, if needed).
- clock_rate and channels changed to rtc::Optional, since they will
  need to be for RtpSender.send().
- Renamed "channels" to "num_channels" (the ORTC name, which I prefer).

BUG=webrtc:7013, webrtc:7112

Review-Url: https://codereview.webrtc.org/2651883010
Cr-Commit-Position: refs/heads/master@{#16437}
2017-02-04 20:09:01 +00:00
98c437458a Allow passing network config constraint as base64 encoded string to preserve values of serialized protos. The values are a serialized byte stream packed into a std::string. To be represented as a NSString they must be base64 encoded or bytes outside of the ASCII range will be encoded into multi byte UTF8 sequences by default.
BUG=0

Review-Url: https://codereview.webrtc.org/2650343006
Cr-Commit-Position: refs/heads/master@{#16435}
2017-02-03 21:03:39 +00:00
6741516e18 Implement new PeerConnection certificate policy API in ObjC API
BUG=webrtc:7088

Review-Url: https://codereview.webrtc.org/2664233002
Cr-Commit-Position: refs/heads/master@{#16424}
2017-02-02 21:04:27 +00:00
a5d94fff99 Objective-C API to set the ICE check rate through RTCConfiguration.
This is the Objective-C counterpart to
https://codereview.webrtc.org/2670053002/. Allows applications to
control the maximum ICE check rate to match bandwidth constraints.

BUG=webrtc:7082

Review-Url: https://codereview.webrtc.org/2674663002
Cr-Commit-Position: refs/heads/master@{#16423}
2017-02-02 21:02:30 +00:00
5107246d4b Allow applications to limit the ICE check rate through RTCConfiguration
If an application sets a non-null value in RTCConfiguration.iceCheckMinInterval, we do not sent STUN pings more often than that. This is useful for bandwidth constrained scenarios.

This CL also increases the maximum STUN ping timeout to 60 seconds up from its previous value of 5 (which meant that a ping response received 5 seconds later would not be counted), and allows the RTT estimate to go up to 60 seconds from its previous limit of 3. RTTs above 3 seconds are possible on mobile links. (webrtc:7109)

This CL was originally written by pthatcher@, I am just submitting it after a minor cleanup.

BUG=webrtc:7082, webrtc:7109

Review-Url: https://codereview.webrtc.org/2670053002
Cr-Commit-Position: refs/heads/master@{#16421}
2017-02-02 19:50:14 +00:00
f7826d668a Remove InlinedApi lint ignore.
Adds ignore for all lint errors in Chromium code. Changes minimum SDK for
instrumentation tests to 16 from 14. Adds TargetApi annotations.

BUG=webrtc:6597

Review-Url: https://codereview.webrtc.org/2670473004
Cr-Commit-Position: refs/heads/master@{#16412}
2017-02-02 08:53:33 +00:00