Commit Graph

1437 Commits

Author SHA1 Message Date
Alejandro Luebs
4bf12eafba Revert "Fix sending wrong candidates down to transportchannel."
This reverts commit f65de8483e.

It was breaking the build bots: http://build.chromium.org/p/client.webrtc/builders/Win%20DrMemory%20Light/builds/3062

TBR=decurtis

BUG=

Review URL: https://webrtc-codereview.appspot.com/54539004

Cr-Commit-Position: refs/heads/master@{#9267}
2015-05-22 22:32:51 +00:00
Donald Curtis
f65de8483e Fix sending wrong candidates down to transportchannel.
BUG=4665
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/54489004

Cr-Commit-Position: refs/heads/master@{#9266}
2015-05-22 21:55:26 +00:00
Peter Boström
3548dd2154 Set local SSRCs on receivers added before senders.
Addresses bug where a receiver would report SSRC 1 even though the
endpoint has sending streams.

BUG=4678
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/51099004

Cr-Commit-Position: refs/heads/master@{#9262}
2015-05-22 16:48:13 +00:00
Henrik Boström
915df4fc30 CaptureManager: Don't stop a capturer at UnregisterVideoCapturer if it did not start in the first place.
This fixes a bug where, if the VideoCapturer failed to start under certain circumstances, the capture manager would cause a callback saying that the capturer stopped even though it never started in the first place. A VERIFY check in VideoSource::SetState would then cause a crash since the state was set to kEnded when it was already in state kEnded (SetState only allows being called when the state changes).

I only noticed this bug while doing a mistake in a separate CL. Not sure how to reliably reproduce said bug on a working build, but I have previously had camera hardware issues where it couldn't start the camera which resulted in the SetState kEnded -> kEnded crash. Hopefully this will fix that.

R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/51039004

Cr-Commit-Position: refs/heads/master@{#9259}
2015-05-22 07:43:10 +00:00
Fredrik Solenberg
9a416bd14e Get rid of unnecessary Terminate() method and worker_thread_ from WebRtcVideoEngine2
BUG=
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/51879004

Cr-Commit-Position: refs/heads/master@{#9258}
2015-05-22 07:03:48 +00:00
jackychen
98d8cf58ee Hardware VP8 encoding: Use QP as metric for resize.
Add vp8 frame header parser to get QP from vp8 bitstream.

BUG= 4273
R=glaznev@webrtc.org, marpan@google.com, pbos@webrtc.org
TBR=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49259004

Cr-Commit-Position: refs/heads/master@{#9256}
2015-05-21 18:11:53 +00:00
Peter Thatcher
af55ccc054 Add RtcpMuxPolicy support to PeerConnection.
BUG=4611
R=juberti@google.com

Review URL: https://webrtc-codereview.appspot.com/46169004

Cr-Commit-Position: refs/heads/master@{#9251}
2015-05-21 14:48:19 +00:00
Tommi
76b62ff1ad Clean up now-unused code that was used for libpeerconnection.[so|dll].
BUG=chromium:463660
R=kjellander@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/56409004

Cr-Commit-Position: refs/heads/master@{#9240}
2015-05-20 20:36:42 +00:00
Fredrik Solenberg
fce324272d Remove linphonemediaengine.*
BUG=
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/54479004

Cr-Commit-Position: refs/heads/master@{#9239}
2015-05-20 18:40:22 +00:00
Peter Boström
c3f4dbc40b Remove rtp_rtcp/ dump functionality.
Removes RTP dumping from VideoEngine and VoiceEngine.

BUG=1695
R=henrika@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/47179004

Cr-Commit-Position: refs/heads/master@{#9234}
2015-05-20 12:10:56 +00:00
Joachim Bauch
831c5585c7 Allow setting maximum protocol version for SSL stream adapters.
This CL adds an API to SSL stream adapters to set the maximum allowed
protocol version and with that implements support for DTLS 1.2.
With DTLS 1.2 the default cipher changes in the unittests as follows.

BoringSSL
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA -> TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

NSS
TLS_RSA_WITH_AES_128_CBC_SHA -> TLS_RSA_WITH_AES_128_GCM_SHA256

BUG=chromium:428343
R=juberti@google.com

Review URL: https://webrtc-codereview.appspot.com/50989004

Cr-Commit-Position: refs/heads/master@{#9232}
2015-05-20 10:48:24 +00:00
Peter Boström
4d71edef45 Add HW fallback option to software encoding.
Permits falling back to software encoding for unsupported resolutions.

BUG=chromium:475116, chromium:487934
R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/46279004

Cr-Commit-Position: refs/heads/master@{#9227}
2015-05-19 21:09:17 +00:00
Guo-wei Shieh
17b889b899 Issue 4366: Adapted frames have wrong width and height and are cropped.
When a frame being stretched, the original rotation information is lost. This is to ensure it's carried over.

Also removed StretchToBuffer function as it's not called and dangerous.

BUG=4366
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/51869004

Cr-Commit-Position: refs/heads/master@{#9224}
2015-05-19 19:45:26 +00:00
Alex Glaznev
2f5be9ad63 Improve Android camera error handling.
- Set Camera.ErrorCallback callback when opening camera to
receive camera server error notifications.
- Allow user to provide interface for handling camera errors
happening on camera thread.
- Run camera observer on camera thread and monitor camera fps
and amount of callback buffers, print statistics and report error
if camera stops generating frames.
- Query camera formats starting from front camera instead of back
camera to detect camera failures as fast as possible.
- Change all DCHECK to CHECK in androidvideocapturer.cc to detect
camera error on release builds.
- Plus adding some extra logging.

R=hbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/52519004

Cr-Commit-Position: refs/heads/master@{#9221}
2015-05-19 17:56:22 +00:00
Fredrik Solenberg
ccb49e79fd Remove Soundclip handling from libjingle.
BUG=
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/51009004

Cr-Commit-Position: refs/heads/master@{#9216}
2015-05-19 09:37:39 +00:00
Weiyong Yao
b92be45c85 Support 720P in portait as maximum on iOS.
BUG=4643
TEST=Manual Test and trybots
R=tkchin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/53419004

Cr-Commit-Position: refs/heads/master@{#9214}
2015-05-19 02:53:07 +00:00
Noah Richards
2e7a098005 Ensure mediasession generated offers with RTX contain an RTX ssrc for each video ssrc.
BUG=
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49989004

Cr-Commit-Position: refs/heads/master@{#9210}
2015-05-18 21:02:40 +00:00
Peter Boström
7252a2ba80 Add HW fallback option to software decoding.
Permits falling back to software decoding for unsupported resolutions in
bitstreams.

BUG=4625, chromium:487934
R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/46269004

Cr-Commit-Position: refs/heads/master@{#9209}
2015-05-18 17:41:50 +00:00
henrika
b26198972c Adding support for OpenSL ES output in native WebRTC
BUG=4573,2982,2175,3590
TEST=modules_unittests --gtest_filter=AudioDevice*, AppRTCDemo and WebRTCDemo

Summary:

- Removes dependency of the 'enable_android_opensl' compiler flag.
  Instead, OpenSL ES is always supported, and will enabled for devices that
  supports low-latency output.
- WebRTC no longer supports OpenSL ES for the input/recording side.
- Removes old code and demos using OpenSL ES for audio input.
- Improves accuracy of total delay estimates (better AEC performance).
- Reduces roundtrip audio latency; especially when OpenSL can be used.

Performance verified on: Nexus 5, 6, 7 and 9. Samsung Galaxy S4 and S6.
Android One device.

R=magjed@webrtc.org, phoglund@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/51759004

Cr-Commit-Position: refs/heads/master@{#9208}
2015-05-18 14:49:04 +00:00
Donald Curtis
144d01850b fix indent on tokenize_first function signatures
R=juberti@google.com, pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/52499004

Cr-Commit-Position: refs/heads/master@{#9198}
2015-05-15 20:14:13 +00:00
Donald Curtis
0e07f92043 Split fmtp on semicolons not spaces as per RFC6871
BUG=4617
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/47169004

Cr-Commit-Position: refs/heads/master@{#9193}
2015-05-15 16:21:16 +00:00
Henrik Kjellander
4cd6940e49 Enable -Wformat-security warning and cleanup GYP.
Enable the -Wformat-security and -Wformat warnings for talk/.

Remove *.def and *.h.pump files from webrtc/base/base.gyp since they're not supported by some tools.

BUG=4242
R=henrika@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49969004

Cr-Commit-Position: refs/heads/master@{#9191}
2015-05-15 07:10:32 +00:00
Yuriy Shevchuk
39f2b0c870 Implemented video device info for iOS
R=pbos@webrtc.org, tkchin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/42189004

Patch from Yuriy Shevchuk <youwrk@gmail.com>.

Cr-Commit-Position: refs/heads/master@{#9190}
2015-05-14 21:16:01 +00:00
Minyue
2013aeced2 Propagating RTT from send-only channel to receive-only channel.
This is important for obtaining ntp time at receiver-only channel, which does not have RTT directly.

BUG=3978

TEST=chromium with hangout calls
R=henrika@webrtc.org, mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/29989004

Cr-Commit-Position: refs/heads/master@{#9186}
2015-05-13 12:14:36 +00:00
Peter Boström
300eeb68f5 Remove VideoEngine interfaces.
Removes ViE interfaces, _impl.cc files, managers (such as
ViEChannelManager and ViEInputManager) as well as ViESharedData.

Interfaces necessary to implement observers have been moved to a
corresponding header (such as vie_channel.h).

BUG=1695, 4491
R=mflodman@webrtc.org, solenberg@webrtc.org
TBR=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/55379004

Cr-Commit-Position: refs/heads/master@{#9179}
2015-05-12 14:51:08 +00:00
Peter Boström
67c9df7982 Base NACK on send codecs.
Addressing discrepancy where NACK used to be set from send codecs in
WebRtcVideoEngine(1), and before this change, from recv codecs in
WebRtcVideoEngine2. This should address that NACK might be sent even if
the remote side does not support it.

BUG=4626
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/53409004

Cr-Commit-Position: refs/heads/master@{#9171}
2015-05-11 12:34:53 +00:00
Peter Boström
126c03ea02 Base decision to send REMB on send codecs.
Fixes bug where Chromium would send REMB even though the remote party
doesn't announce support for it (because it was based on local codec
settings instead of remote ones).

BUG=4626
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/54389004

Cr-Commit-Position: refs/heads/master@{#9170}
2015-05-11 10:48:08 +00:00
Henrik Lundin
64dad838e6 Reland r9159 "Adding a new constraint to set NetEq buffer capacity ..."
The original change was reverted due to a breakage in the chrome build.
This change includes a fix for this.

TBR=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49329004

Cr-Commit-Position: refs/heads/master@{#9169}
2015-05-11 10:44:20 +00:00
Henrik Lundin
1f629232d5 Revert r9164 "Adding a new constraint to set NetEq buffer capacity ..."
This reverts commit fd32f35aff.

TBR=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/55369004

Cr-Commit-Position: refs/heads/master@{#9165}
2015-05-10 09:06:20 +00:00
Henrik Lundin
fd32f35aff Reland r9159 "Adding a new constraint to set NetEq buffer capacity ..."
This reverts commit cdb47a4533.

Contains a tentative fix to the chrome build breakage caused by the
original change.

TBR=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/47139004

Cr-Commit-Position: refs/heads/master@{#9164}
2015-05-10 09:03:00 +00:00
Lally Singh
4c277bb938 Add basic SCTP packet logging.
Attempts to get wireshark to decode the DTLS were problematic (wireshark only does it for certain versions of some DTLS implementations), so just do what firefox does and dump a txt2pcap-compatible log when requested.

R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49159004

Cr-Commit-Position: refs/heads/master@{#9162}
2015-05-08 18:39:04 +00:00
Henrik Lundin
cdb47a4533 Revert r9159 "Adding a new constraint to set NetEq buffer capacity ..."
This reverts commit 208a2294cd.
Breaks the Chrome build.

TBR=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/53399004

Cr-Commit-Position: refs/heads/master@{#9161}
2015-05-08 12:03:46 +00:00
Henrik Lundin
208a2294cd Adding a new constraint to set NetEq buffer capacity from peerconnection
This change makes it possible to set a custom value for the maximum
capacity of the packet buffer in NetEq (the audio jitter buffer). The
default value is 50 packets, but any value can be set with the new
functionality.

R=jmarusic@webrtc.org, mflodman@webrtc.org, pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/50869004

Cr-Commit-Position: refs/heads/master@{#9159}
2015-05-08 10:58:51 +00:00
Fredrik Solenberg
d3ddc1b69e Consistently use DCHECK, not ASSERT or assert in talk/media/webrtc/.
BUG=
R=pbos@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49929004

Cr-Commit-Position: refs/heads/master@{#9156}
2015-05-07 15:07:36 +00:00
Fredrik Solenberg
e444a3dcd3 WebRtcVoiceEngine: Get rid of unnecessary template base class.
BUG=
R=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/46219004

Cr-Commit-Position: refs/heads/master@{#9155}
2015-05-07 14:42:12 +00:00
Fredrik Solenberg
aaf8ff2e45 WebRtcVoiceEngine: virtual to override + git cl format.
BUG=
R=kwiberg@webrtc.org, pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/54369004

Cr-Commit-Position: refs/heads/master@{#9154}
2015-05-07 14:05:57 +00:00
Fredrik Solenberg
6179b89e53 Remove unused API on WebRtcVoiceEngine.
BUG=1695
R=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/46209004

Cr-Commit-Position: refs/heads/master@{#9153}
2015-05-07 14:01:30 +00:00
Fredrik Solenberg
4b60c73e74 Hook up libjingle WebRtcVoiceEngine to Call API for combined A/V BWE.
BUG=4574,3109
R=pbos@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49269004

Cr-Commit-Position: refs/heads/master@{#9150}
2015-05-07 12:07:46 +00:00
Peter Boström
81ea54eaac Remove WebRtcVideoEngine.
Leaves a stub file for talk/media/webrtc/webrtcvideoengine.cc until
build files in Chromium have been modified.

BUG=1695,4566
R=mflodman@webrtc.org, pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/48339004

Cr-Commit-Position: refs/heads/master@{#9148}
2015-05-07 09:41:10 +00:00
Bjorn Volcker
ccfc93913c Reinterpret AudioOption delay_agnostic_aec to override HW-AEC
This CL will change the behavior when enabling Delay Agnostic AEC through the media constraint (and AudioOption delay_agnostic_aec)

FROM
 Use DA-AEC instead of AECM if there is no HW-AEC
TO
 Use DA-AEC even if there is a HW-AEC

Before this change the user will not really know if the Delay Agnostic AEC is running or not, so it is more intuitive if the option overrides the built-in one if the user has asked for it.

BUG=4472
TESTED=locally with a modified AppRTCDemo app
R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49859004

Cr-Commit-Position: refs/heads/master@{#9147}
2015-05-07 05:43:23 +00:00
Zeke Chin
57cc74e32c iOS camera switching video capturer.
Introduces a new capture class derived from cricket::VideoCapturer that
provides the ability to switch cameras and updates AppRTCDemo to use it.
Some future work pending to clean up AppRTCDemo UI.

BUG=4070
R=magjed@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/48279005

Cr-Commit-Position: refs/heads/master@{#9137}
2015-05-05 14:52:45 +00:00
Karl Wiberg
c56ac1ec29 rtc::Buffer: Remove backwards compatibility band-aids
This CL makes two changes to rtc::Buffer that have had to wait for
Chromium's use of it to be modernized:

  1. Change default return type of rtc::Buffer::data() from char* to
     uint8_t*. uint8_t is a more natural type for bytes, and won't
     accidentally convert to a string. (Chromium previously expected
     the default return type to be char, which is why
     rtc::Buffer::data() initially got char as default return type in
     9478437f, but that's been fixed now.)

  2. Stop accepting void* inputs in constructors and methods. While
     this is convenient, it's also dangerous since any pointer type
     will implicitly convert to void*.

(This was previously committed (9e1a6d7c) but had to be reverted
(cbf09274) because Chromium on Android wasn't quite ready for it).

TBR=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/47109004

Cr-Commit-Position: refs/heads/master@{#9132}
2015-05-04 12:54:56 +00:00
Alex Glaznev
e433c0ef31 Restore back verbosity logging for camera captured frame.
Helps to debug camera freezes.

R=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/46179004

Cr-Commit-Position: refs/heads/master@{#9127}
2015-05-01 20:54:27 +00:00
Jiayang Liu
cac1b38135 Expose RTCConfiguration to java JNI and add an option to disable TCP
BUG=4585, 4589
R=glaznev@webrtc.org, juberti@google.com, pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49809004

Cr-Commit-Position: refs/heads/master@{#9125}
2015-04-30 19:35:32 +00:00
Peter Thatcher
4eddf18b1c Don't crash if SetRemoteDescription is called first with BundlePolicy=max-bundle.
BUG=
R=decurtis@webrtc.org, juberti@google.com

Review URL: https://webrtc-codereview.appspot.com/46149004

Cr-Commit-Position: refs/heads/master@{#9124}
2015-04-30 17:56:21 +00:00
Karl Wiberg
cbf0927473 Revert "rtc::Buffer: Remove backwards compatibility band-aids"
This reverts commit 9e1a6d7c23, because
Chromium for Android still isn't happy with it.

TBR=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49869004

Cr-Commit-Position: refs/heads/master@{#9122}
2015-04-30 14:01:01 +00:00
Karl Wiberg
9e1a6d7c23 rtc::Buffer: Remove backwards compatibility band-aids
This CL makes two changes to rtc::Buffer that have had to wait for
Chromium's use of it to be modernized:

  1. Change default return type of rtc::Buffer::data() from char* to
     uint8_t*. uint8_t is a more natural type for bytes, and won't
     accidentally convert to a string. (Chromium previously expected
     the default return type to be char, which is why
     rtc::Buffer::data() initially got char as default return type in
     9478437f, but that's been fixed now.)

  2. Stop accepting void* inputs in constructors and methods. While
     this is convenient, it's also dangerous since any pointer type
     will implicitly convert to void*.

R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/44269004

Cr-Commit-Position: refs/heads/master@{#9121}
2015-04-30 12:25:06 +00:00
Peter Boström
f16fcbec73 Remove ViECapture usage in VideoSendStream.
Instead a ViECapturer object is allocated and directly operated on. This
additionally exposes ViESharedData to Call to access the module
ProcessThread, moving towards Call ownership of shared resources.

BUG=1695
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/45339004

Cr-Commit-Position: refs/heads/master@{#9119}
2015-04-30 10:16:11 +00:00
Erik Språng
efbde3775b Don't use CPU adaptation for screen content in the new API.
BUG=4605
R=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/48309004

Cr-Commit-Position: refs/heads/master@{#9116}
2015-04-29 14:21:32 +00:00
Ivo Creusen
adf89b7e33 Added SetBitRate function to VoE API to allow changing the audio bitrate.
If the requested bitrate is not valid for the codec, the codec will decide on
an appropriate value.
Updated VoE command line tool to use new SetBitRate function.
Includes unittests for SetBitRate function.

BUG=
R=henrik.lundin@webrtc.org, henrika@webrtc.org, kwiberg@webrtc.org, pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/50789004

Cr-Commit-Position: refs/heads/master@{#9115}
2015-04-29 14:03:45 +00:00