Commit Graph

11375 Commits

Author SHA1 Message Date
e029d99f19 Integer overflow bug in low_cut_filter.
A multiplication result doesn't fit in an int32_t type. This change
rewrites the code to avoid the overflowing multiplication.

Here y[0], y[1] are int16 numbers containing the (truncated) topmost
18 and (scaled Q2 to use the full int16) the least significant 13
bits of a 32-bit value. The change makes y[1] to be calculated 
directly instead of using y[0] as an intermediate value. 

TESTED=this change passes the bit exactness tests, and has also been 
running on the audio_processing fuzzer with a CHECK comparing the
old and new value.

Bug: chromium:747202
Change-Id: Iafc69eb7391d494afdadf65f5b7f399a57bbe9a8
Reviewed-on: https://chromium-review.googlesource.com/580907
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19120}
2017-07-24 11:03:46 +00:00
bf8202185c Disable some Opus tests pending an update
These tests will be reenabled and updated after Opus has been updated in
Chromium and rolled into WebRTC.

BUG=737323, webrtc:8024

Review-Url: https://codereview.webrtc.org/2963673002
Cr-Commit-Position: refs/heads/master@{#19118}
2017-07-24 09:17:38 +00:00
f3a48ab6dc Delete unused field from AndroidVideoTrackSource
BUG=None

Review-Url: https://codereview.webrtc.org/2974713002
Cr-Commit-Position: refs/heads/master@{#19117}
2017-07-24 08:06:39 +00:00
48e4d6d609 Add zijiehe@chromium.org as OWNERS in WebRTC DesktopCapturer related logic
Bug: chromium:747738
Change-Id: Iff83e89862ee190d0442cb3463c1dea0b87eb4b4
Reviewed-on: https://chromium-review.googlesource.com/582028
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19116}
2017-07-23 21:37:59 +00:00
cd66a771ed Create new constructors and fields to support a better mouse cursor monitor
Current implementation requires MouseCursorMonitor to understand the SourceId of
a DesktopCapturer implementation. But SourceId has different meanings across
various DesktopCapturer implementations. So this change decouples the
MouseCursorMonitor from DesktopCapturer, i.e. it does not need to know
DesktopCapturer anymore, instead it always returns the absolute position of the
mouse cursor. In DesktopAndCursorComposer, it can use the newly added
DesktopFrame::top_left() to decide the relative position of mouse cursor and the
DesktopFrame.

Bug: webrtc:7950
Change-Id: Idfbde5cb0f79ff0acf4ad1e9a0ac5126f1bb2e98
Reviewed-on: https://chromium-review.googlesource.com/575315
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19115}
2017-07-21 22:13:35 +00:00
817c8af52a Revert of Move "max IPv6 networks" logic to BasicPortAllocator, and fix sorting. (patchset #2 id:20001 of https://codereview.webrtc.org/2983213002/ )
Reason for revert:
Breaks IpcNetworkManagerTest.TestMergeNetworkList, because it has built-in assumptions about network ordering that it shouldn't have. Will reland after fixing that test.

Original issue's description:
> Move "max IPv6 networks" logic to BasicPortAllocator, and fix sorting.
>
> This CL moves the responsibility for restricting the number of IPv6
> interfaces used for ICE to BasicPortAllocator. This is the right place
> to do it in the first place; it's where all the rest of the filtering
> occurs. And NetworkManager shouldn't need to know about ICE limitations;
> only the ICE classes should.
>
> Part of the reason I'm doing this is that I want to add a
> "max_ipv6_networks" API to RTCConfiguration, so that applications can
> override the default easily (see linked bug). But that means that
> PeerConnection would need to be able to call "set_max_ipv6_networks" on
> the underlying object that does the filtering, and that method isn't
> available on the "NetworkManager" base class. So rather than adding
> another method to a place it doesn't belong, I'm moving it to the place
> it does belong.
>
> In the process, I noticed that "CompareNetworks" is inconsistent with
> "SortNetworks"; the former orders interfaces alphabetically, and the
> latter reverse-alphabetically. I believe this was unintentional, and
> results in undesirable behavior (like "eth1" being preferred over
> "eth0"), so I'm fixing it and adding a test.
>
> BUG=webrtc:7703
>
> Review-Url: https://codereview.webrtc.org/2983213002
> Cr-Commit-Position: refs/heads/master@{#19112}
> Committed: ad9561404c

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

Review-Url: https://codereview.webrtc.org/2984853002
Cr-Commit-Position: refs/heads/master@{#19114}
2017-07-21 19:59:46 +00:00
d14d9f7414 Use array declaration for extension URIs.
Allows using sizeof() on the class constants and reduces space usage by
a pointer.

Bug: None
Change-Id: Ie919b13094903d50bdadc92b23a5aa5b6cc100ec
Reviewed-on: https://chromium-review.googlesource.com/581878
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19113}
2017-07-21 19:36:14 +00:00
ad9561404c Move "max IPv6 networks" logic to BasicPortAllocator, and fix sorting.
This CL moves the responsibility for restricting the number of IPv6
interfaces used for ICE to BasicPortAllocator. This is the right place
to do it in the first place; it's where all the rest of the filtering
occurs. And NetworkManager shouldn't need to know about ICE limitations;
only the ICE classes should.

Part of the reason I'm doing this is that I want to add a
"max_ipv6_networks" API to RTCConfiguration, so that applications can
override the default easily (see linked bug). But that means that
PeerConnection would need to be able to call "set_max_ipv6_networks" on
the underlying object that does the filtering, and that method isn't
available on the "NetworkManager" base class. So rather than adding
another method to a place it doesn't belong, I'm moving it to the place
it does belong.

In the process, I noticed that "CompareNetworks" is inconsistent with
"SortNetworks"; the former orders interfaces alphabetically, and the
latter reverse-alphabetically. I believe this was unintentional, and
results in undesirable behavior (like "eth1" being preferred over
"eth0"), so I'm fixing it and adding a test.

BUG=webrtc:7703

Review-Url: https://codereview.webrtc.org/2983213002
Cr-Commit-Position: refs/heads/master@{#19112}
2017-07-21 18:03:53 +00:00
a3251dd83f Add parsing/serializing for MID RTP header extension.
This is the first in a series of CLs to add support for media
identification as part of unified plan SDP.

Bug: webrtc:4050
Change-Id: I0eb5639d240a9a1412c2b047a33d5112e4901f26
Reviewed-on: https://chromium-review.googlesource.com/576374
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19111}
2017-07-21 17:33:25 +00:00
3296256f0e Fixing lint issue
NOTRY=TRUE
BUG=NONE

Review-Url: https://codereview.webrtc.org/2988533002
Cr-Commit-Position: refs/heads/master@{#19110}
2017-07-21 14:28:41 +00:00
cfccdae57e Adds WebRtcAudioTrack.setAudioTrackUsageAttribute API
TBR=
BUG=b/62058118

Review-Url: https://codereview.webrtc.org/2979423002
Cr-Commit-Position: refs/heads/master@{#19109}
2017-07-21 13:16:02 +00:00
e29117edbb Modifies closing of AudioTrack resource on Android
TBR=

BUG=b/63161630

Review-Url: https://codereview.webrtc.org/2987583002
Cr-Commit-Position: refs/heads/master@{#19108}
2017-07-21 10:51:42 +00:00
8ac955be2c Set target API to 18 for MediaCodecUtils.
Target API 18 is needed for texture mode encoding.

BUG=None

Review-Url: https://codereview.webrtc.org/2982403002
Cr-Commit-Position: refs/heads/master@{#19107}
2017-07-21 10:30:02 +00:00
cb79d23c9b Add common TLS extensions
Bug: webrtc:8019
Change-Id: Ic60e892f0acbe394472319c4d943690828446610
Reviewed-on: https://chromium-review.googlesource.com/580261
Commit-Queue: Emad Omara <emadomara@webrtc.org>
Reviewed-by: Justin Uberti <juberti@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19106}
2017-07-21 00:10:31 +00:00
3c45186ef2 Move total audio energy and duration tracking to AudioLevel and protect with existing critial section.
BUG=webrtc:7982

Review-Url: https://codereview.webrtc.org/2984473002
Cr-Commit-Position: refs/heads/master@{#19105}
2017-07-20 16:57:42 +00:00
c4a5c14e8a Print general usage information for event_log_analyzer
Print general usage information for event_log_analyzer (in addition to listing the command line flags) when called with '--help'.

BUG=None

Review-Url: https://codereview.webrtc.org/2986573002
Cr-Commit-Position: refs/heads/master@{#19104}
2017-07-20 15:05:09 +00:00
12d30840d8 Correct the calculation of discard rate.
Bug: webrtc:7903
Change-Id: Ib5d6fd882a994dd542b616e5fe1c75710346dd31
Reviewed-on: https://chromium-review.googlesource.com/575057
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19101}
2017-07-20 09:15:46 +00:00
1777c5fec5 Move temporal-layer properties to FrameConfig.
Removes keying on pattern_idx inside TemporalLayers implementations for
several properties that are different between screencast temporal layers
and normal/default temporal layers.

This is a step towards sharing PopulateCodecSpecific between the layer
patterns and code deduplication to longer term be able to separate the
packetizer step from encoder settings, so that temporal patterns can be
used for asynchronous hardware encoders where there may be outstanding
frames.

BUG=chromium:702017, webrtc:7349
R=brandtr@webrtc.org

Review-Url: https://codereview.webrtc.org/2924993002
Cr-Commit-Position: refs/heads/master@{#19097}
2017-07-20 00:04:02 +00:00
398c3fd6c2 Introduce RtpTransportInternal and SrtpTransport.
SrtpTransport currently just delegates everything to RtpTransport.
Also makes BaseChannel::rtp_transport_ an RtpTransportInternal and constructs an SrtpTransport if srtp is required.

BUG=webrtc:7013

Review-Url: https://codereview.webrtc.org/2981013002
Cr-Commit-Position: refs/heads/master@{#19095}
2017-07-19 20:38:02 +00:00
f6a861ab6c Remove remains of webrtc/base
All downstream code have been updated to the new location.

In PRESUBMIT.py:
* Remove webrtc/rtc_base from CPP_BLACKLIST
* Add webrtc/rtc_base to LEGACY_API_DIRS

Fix some duplicated paths in
webrtc/modules/audio_processing/test/conversational_speech/BUILD.gn

BUG=webrtc:7634
TBR=kwiberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2976293002
Cr-Commit-Position: refs/heads/master@{#19094}
2017-07-19 17:40:47 +00:00
e76f55e3bf Disable flaky NoBandwidthDropAfterDtx test.
BUG=chromium:744695

Review-Url: https://codereview.webrtc.org/2978323002
Cr-Commit-Position: refs/heads/master@{#19092}
2017-07-19 14:52:47 +00:00
9c0e0fa687 Fix fromAndroidGraphicsMatrix to use column-major order for output.
BUG=webrtc:7760

Review-Url: https://codereview.webrtc.org/2976423002
Cr-Commit-Position: refs/heads/master@{#19089}
2017-07-19 08:24:55 +00:00
b4aa4eb06f Replace WEBRTC_TRACE logging in modules/audio_device/.. mac/ win/
Patch set 1:
Run a script to replace occurrences of WEBRTC_TRACE logging with the new style, on webrtc/modules/audio_device/linux/audio_device_alsa_linux.cc.

Patch set 2:
 - Manually fix log lines not handled by the script
 - Adjust local macros that use WEBRTC_TRACE
 - Adjust some lines to conform with code style
 - Update the included headers
 - Remove the now unused object ID variables

BUG=webrtc:5118

Review-Url: https://codereview.webrtc.org/2985443002
Cr-Commit-Position: refs/heads/master@{#19088}
2017-07-19 08:12:36 +00:00
c58f8c0962 Adds a histogram metric tracking for how long audio RTP packets are sent
through streams related to a call object.

The Call object does not know directly when packets pass through it, only which
AudioSendStreams are used. Each AudioSendStream has a pointer to the Transport
object through which its packets are send.

This CL:
By registering an internal wrapper class, TimedTransport, the AudioSendStream
can stay up-to-date on when packets have passed through its Transport. This
lifetime (as an interval) is then queried by the Call when the AudioSendStream
is destroyed. When Call is destroyed, all streams are guaranteed to have been
destroyed and hence Call is up-to-date on packet activity.

The class TimeInterval keeps the code in Call and AudioSendStream smaller, with
fewer get methods in their APIs and less code for updating values.

Also modifies the unit test for AudioSendStream: it previously enforced that
the stream registers (with its channel proxy) the same transport that it was
constructed with.

BUG=webrtc:7882

Review-Url: https://codereview.webrtc.org/2979833002
Cr-Commit-Position: refs/heads/master@{#19087}
2017-07-19 07:39:19 +00:00
0cf9a4a482 Add texture support to HardwareVideoEncoder.
HardwareVideoEncoderFactory can now take an EglBase.Context on creation.
When it does, it creates video encoders in texture mode.  It uses the
COLOR_FormatSurface colorFormat.  It passes the EglBase.Context to the
HardwareVideoEncoder.

The HardwareVideoEncoder sets up an input surface for its codec and handles
incoming frames by drawing them onto the input surface.

BUG=webrtc:7760
R=pthatcher@webrtc.org, sakal@webrtc.org

Review-Url: https://codereview.webrtc.org/2977153003 .
Cr-Commit-Position: refs/heads/master@{#19083}
2017-07-18 20:19:27 +00:00
8fb23618d8 Add texture support to HardwareVideoDecoder.
HardwareVideoDecoder is now a listener for SurfaceTextureHelper.  It takes a
SurfaceTextureHelper on construction.  If it is non-null, it operates in texture
mode instead of byte-buffer mode.

When in texture mode, the HardwareVideoDecoder renders output frames to a Surface,
listens for the texture frame to become available, wraps it in a VideoFrame, and
pushes it to the decoder callback.

As in MediaCodecVideoDecoder, it may queue up to three buffers while waiting for
the surface to become available for rendering.  If more buffers are queued, it will
drop the oldest.

This change also implements the VideoFrame.TextureBuffer and reorganizes code
for wrapping an existing ByteBuffer into an I420Buffer.  This makes it easier
to implement the texture buffer's ToI420() method.

BUG=webrtc:7760
R=pthatcher@webrtc.org, sakal@webrtc.org

Review-Url: https://codereview.webrtc.org/2977643002 .
Cr-Commit-Position: refs/heads/master@{#19081}
2017-07-18 18:33:44 +00:00
3e45cb577e Mapping screen id from DirectX capturer to GDI capturer
This change ensures DirectX capturer to return the same ScreenId as GDI capturer
for each monitor. So MouseCursoeMonitor can work correctly with the DirectX
capturer.

This is a temporary fix of webrtc:7950.

Bug: webrtc:7950
Change-Id: Icd3f40556701811c21c773a39260a74db43979f3
Reviewed-on: https://chromium-review.googlesource.com/571101
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19079}
2017-07-18 17:26:58 +00:00
80c829f253 Enable tracing on rtcstats_integrationtest.cc
BUG=chromium:653087

Review-Url: https://codereview.webrtc.org/2979203002
Cr-Commit-Position: refs/heads/master@{#19076}
2017-07-18 14:35:19 +00:00
b5c1607e92 UBSan fuzzer bug in LowCutFilter::BiqueadFilter::Process
The variable 'tmp_int32' in LowCutFilter::BiqueadFilter::Process can
be negative. This replaces a left shift with multiplication.

Bug: chromium:735593, chromium:743330
Change-Id: Idec7fbcc17495f7241eb4bea44920585740e3695
Reviewed-on: https://chromium-review.googlesource.com/575136
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19074}
2017-07-18 12:23:08 +00:00
fcf97c3b75 Fix fullscreen scaling in AppRTCMobile.
The surface view renderer size was set to match parent so it couldn't
adjust based on the frame size. The size is now set to wrap_content
which allows the renderer to adjust. The root element of the call
activity is changed to FrameLayout to allow the renderer to center.

requestLayout is added to SurfaceView setScalingType so onMeasure gets
called again.

BUG=webrtc:7901

Review-Url: https://codereview.webrtc.org/2978173002
Cr-Commit-Position: refs/heads/master@{#19073}
2017-07-18 12:01:08 +00:00
b0b721a68c Increase the size of the buffer for type.name.id.
BUG=chromium:653087

Review-Url: https://codereview.webrtc.org/2977363002
Cr-Commit-Position: refs/heads/master@{#19072}
2017-07-18 11:27:08 +00:00
43a85f0343 Patch set 1:
Run a script to replace occurrences of WEBRTC_TRACE logging with the new
style, on webrtc/modules/audio_device/linux/audio_device_alsa_linux.cc.

Patch set 2:
 - Manually fix log lines not handled by the script
 - Adjust some lines, to conform with code style
 - Update the included headers
 - Remove the now unused object ID variables
 -  - This explains why there's so many files edited

BUG=webrtc:5118
TBR=henrika@webrtc.org

Review-Url: https://codereview.webrtc.org/2978083002
Cr-Commit-Position: refs/heads/master@{#19071}
2017-07-18 11:12:29 +00:00
a26196bc65 Trace stats in RTCStatsCollector.
BUG=chromium:653087

Review-Url: https://codereview.webrtc.org/2975793002
Cr-Commit-Position: refs/heads/master@{#19069}
2017-07-18 10:30:29 +00:00
16005b7783 Remove potential left shift of negative value in WebRtcSpl_AnalysisQMF
WebRtcSpl_AnalysisQMF takes raw (user) audio input represented by
int16_t samples. The samples are converted to Q10 with the
WEBRTC_SPL_LSHIFT_W32 macro. The macro is implemeted as a left
shift. This CL replaces the shift with a multiplication, similar
to https://codereview.webrtc.org/2253943002

TBR=kwiberg@webrtc.org

Bug: chromium:735773
Change-Id: Ic4e63269390e82b86f304e5aa1b5e2dc22122bcb
Reviewed-on: https://chromium-review.googlesource.com/552124
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19068}
2017-07-18 10:02:28 +00:00
157cbbd3a7 Added implementation of three classes:
1) MaxBandwidthFilter
2) MinRttFilter
3) CongestionWindow

Added unit-tests for those classes.

BUG=webrtc:7713

Review-Url: https://codereview.webrtc.org/2966403002
Cr-Commit-Position: refs/heads/master@{#19067}
2017-07-18 09:50:22 +00:00
83dc6b6f53 Remove default implementation of PeerConnectionInterface::SetBitrate.
This was included to avoid breaking chromium, which now includes its own implementation (725cb26dab).

BUG=webrtc:7395

Review-Url: https://codereview.webrtc.org/2924243003
Cr-Commit-Position: refs/heads/master@{#19063}
2017-07-17 22:09:30 +00:00
d960a0c7d1 Android bindings for ice_regather_interval_range RTCConfiguration option
Bug: webrtc:7969
Change-Id: I3fbb723d35fa6cc4c7b92aa1e155b974e9fb0b55
Reviewed-on: https://chromium-review.googlesource.com/567698
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Alex Glaznev <glaznev@chromium.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19062}
2017-07-17 20:09:43 +00:00
44967e41c5 Expose IsCurrentSessionSupported() from ScreenCapturerWinDirectx
IsCurrentSessionSupported() is useful to decide whether Windows version should
be used to evaluate the capability of DirectX capturer on the system.

Bug: 741926
Change-Id: Iaaf6011a9e464d7cf5e7dda097007778c73953e0
Reviewed-on: https://chromium-review.googlesource.com/571378
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19060}
2017-07-17 18:58:03 +00:00
f032e4041c Revert "Prefer external video codecs over internal in SDP"
This reverts commit 06f3aae345854ba9dcc5ae3b603de1f86505acf9.

The reason for reverting is that it seems to break Chromium importer. See https://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Tests%20%28dbg%29%20%28K%20Nexus5%29/builds/17862

BUG=None

TBR=magjed@webrtc.org

Review-Url: https://codereview.webrtc.org/2982053002
Cr-Commit-Position: refs/heads/master@{#19058}
2017-07-17 15:45:17 +00:00
d98d38c060 Don't run NoBandwidthDropAfterDtx test on andriod because it's flaky.
BUG=None

Review-Url: https://codereview.webrtc.org/2977233002
Cr-Commit-Position: refs/heads/master@{#19057}
2017-07-17 15:19:27 +00:00
9d11764344 Reimplemeted "Test and fix for huge bwe drop after alr state"
BUG=webrtc:7746

Test and fix for huge bwe drop after alr state.

BUG=webrtc:7746

Review-Url: https://codereview.webrtc.org/2931873002
Cr-Commit-Position: refs/heads/master@{#18692}
Committed: 37aa8ba616

patch from issue 2931873002 at patchset 320001 (http://crrev.com/2931873002#ps320001)

Review-Url: https://codereview.webrtc.org/2970653004
Cr-Commit-Position: refs/heads/master@{#19055}
2017-07-17 08:41:41 +00:00
333264f089 nit: Avoid pointer-to-unique_ptr in RtcEventLogImpl
BUG=None

Review-Url: https://codereview.webrtc.org/2983573002
Cr-Commit-Position: refs/heads/master@{#19052}
2017-07-16 23:44:08 +00:00
058aa719ff Fix incorrect DCHECK in generic_decoder.cc.
When ownership is not external, the decoder pointer should be valid.

BUG=b/63658384
TBR=magjed@webrtc.org

Review-Url: https://codereview.webrtc.org/2975383002
Cr-Commit-Position: refs/heads/master@{#19041}
2017-07-15 18:33:35 +00:00
860f729816 Revert of Injectable Obj-C video codecs (patchset #2 id:370001 of https://codereview.webrtc.org/2979983002/ )
Reason for revert:
Still having problems with no video. Reverting.
Once no video is visible, no video is available from then on even if the callee app is in the foreground.

Original issue's description:
> Reland of Injectable Obj-C video codecs (patchset #1 id:1 of https://codereview.webrtc.org/2979973002/ )
>
> Reason for revert:
> Fix the broken build file
>
> Original issue's description:
> > Revert of Injectable Obj-C video codecs (patchset #3 id:400001 of https://codereview.webrtc.org/2981583002/ )
> >
> > Reason for revert:
> > Breaks bots. Build file incorrect.
> >
> > Original issue's description:
> > > Reland of Injectable Obj-C video codecs (patchset #1 id:1 of https://codereview.webrtc.org/2975963002/ )
> > >
> > > Reason for revert:
> > > New CL for fixing the issues
> > >
> > > Original issue's description:
> > > > Revert of Injectable Obj-C video codecs (patchset #8 id:140001 of https://codereview.webrtc.org/2966023002/ )
> > > >
> > > > Reason for revert:
> > > > Causes no video in certain scenarios. Please come up with a test plan or unit test to prevent such problems in the future.
> > > >
> > > > Original issue's description:
> > > > > Injectable Obj-C video codecs
> > > > >
> > > > > Initial CL for this effort, with a working RTCVideoEncoder/Decoder for H264
> > > > > (wrapping the VideoToolbox codec).
> > > > >
> > > > > Some notes / things left to do:
> > > > >   - There are some hard-coded references to codec types that are supported by
> > > > >     webrtc::VideoCodec, cricket::VideoCodec, webrtc::CodecSpecificInfo etc
> > > > >     since we need to convert to/from these types in ObjCVideoEncoder/Decoder.
> > > > >     These types would need to be more codec agnostic to avoid this.
> > > > >   - Most interfaces are borrowed from the design document for injectable
> > > > >     codecs in Android. Some data in the corresponding C++ classes is discarded
> > > > >     when converting to the Obj-C version, since it has fewer fields. I have not
> > > > >     verified whether all data that we do keep is needed, or whether we might be
> > > > >     losing anything useful in these conversions.
> > > > >   - Implement the VideoToolbox codec code directly in the RTCVideoEncoderH264
> > > > >     classes, instead of wrapping webrtc::H264VideoToolboxEncoder / decoder.
> > > > >     Eliminates converting between ObjC/C++ types outside the ObjCVideoEncoder/
> > > > >     Decoder wrapper classes.
> > > > >   - List the injected codec factory's supported codecs in the list of codecs in
> > > > >     AppRTCMobile.
> > > > >
> > > > > BUG=webrtc:7924
> > > > > R=magjed@webrtc.org
> > > > >
> > > > > Review-Url: https://codereview.webrtc.org/2966023002 .
> > > > > Cr-Commit-Position: refs/heads/master@{#18928}
> > > > > Committed: a0349c138d
> > > >
> > > > TBR=magjed@webrtc.org,andersc@webrtc.org
> > > > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > > > BUG=webrtc:7924
> > > > NOTRY=true
> > > >
> > > > Review-Url: https://codereview.webrtc.org/2975963002
> > > > Cr-Commit-Position: refs/heads/master@{#18979}
> > > > Committed: 1095ada7ad
> > >
> > > R=magjed@webrtc.org
> > > TBR=tkchin@webrtc.org
> > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > NOPRESUBMIT=true
> > > NOTREECHECKS=true
> > > NOTRY=true
> > > BUG=webrtc:7924
> > >
> > > Review-Url: https://codereview.webrtc.org/2981583002 .
> > > Cr-Commit-Position: refs/heads/master@{#19002}
> > > Committed: a5f1de1e65
> >
> > TBR=magjed@webrtc.org,tkchin@webrtc.org,jtteh@webrtc.org,andersc@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:7924
> >
> > Review-Url: https://codereview.webrtc.org/2979973002
> > Cr-Commit-Position: refs/heads/master@{#19004}
> > Committed: 81d40ee149
>
> TBR=magjed@webrtc.org,tkchin@webrtc.org,jtteh@webrtc.org,sprang@webrtc.org
> BUG=webrtc:7924
>
> Review-Url: https://codereview.webrtc.org/2979983002
> Cr-Commit-Position: refs/heads/master@{#19005}
> Committed: 732a3437da

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

Review-Url: https://codereview.webrtc.org/2980173002
Cr-Commit-Position: refs/heads/master@{#19036}
2017-07-15 02:49:58 +00:00
d295e407da Reinstate "iOS - Add iceRegatherIntervalRange."
This reverts commit 93adc3209b5ff10adaba54d5eab6b53bc2780685.

Reverted originally because it depended on a CL which was reverted.
That CL has been reinstated in:

https: //chromium-review.googlesource.com/#/c/572070/
Bug: webrtc:7969
Change-Id: I608bbeaaba02e84908433c8260cf236df0307a97
Reviewed-on: https://chromium-review.googlesource.com/572405
Reviewed-by: Zeke Chin <tkchin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19035}
2017-07-14 23:55:48 +00:00
038834f40c Reinstate "Add additional check when setting RTCConfiguration"
This reverts commit 26d5e2e2809558148dc1e977ec1bc8318a2047bc.

Reverted originally because it dependend on a CL which was reverted. That CL has been reinstated in: https://chromium-review.googlesource.com/#/c/572070/

Bug: webrtc:7969
Change-Id: I404c3a42ad447312d981646dca0aa4cf0ec3134e
Reviewed-on: https://chromium-review.googlesource.com/572403
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19034}
2017-07-14 23:40:53 +00:00
300bf8e14b Reinstate "API for periodically regathering ICE candidates"
Use rtc::SystemTimeNanos() instead of std::random_device() for PRNG seed
to avoid crashing when /dev/urandom is unavailable.

This reverts commit 3beb20720db349f651c2c04970c45b1b171c025c.

Bug: webrtc:7969
Change-Id: I5ed58a789939ee4caa99ac3abf9cab18e3e19c69
Reviewed-on: https://chromium-review.googlesource.com/572070
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19033}
2017-07-14 22:26:05 +00:00
f904d135ec Disabling test on iOS64 debug bot
BUG=webrtc:7915
NOTRY=true

Review-Url: https://codereview.webrtc.org/2979003003
Cr-Commit-Position: refs/heads/master@{#19032}
2017-07-14 22:19:03 +00:00
e7251599a3 Reland of Make the default ctor of rtc::Thread, protected
This is a partial re-land. The change doesn't make the default Thread ctor protected anymore but it does mark it as deprecated and updates all use of it in WebRTC.

Original issue's description:

Make the default ctor of rtc::Thread, protected.
The goal is to force use of Thread::Create or Thread::CreateWithSocketServer.

The default constructor constructs a 'default' socket server, which is usually a 'physical' socket server, but not always. Not every instance of Thread actually needs to have network support, so it's better to have this be explicit instead of unknowingly instantiate one.

BUG=none

Review-Url: https://codereview.webrtc.org/2977953002
Cr-Commit-Position: refs/heads/master@{#19031}
2017-07-14 21:44:46 +00:00
634977b611 SignalPacketReceived should pass packet as a pointer instead of a non-const reference.
See https://google.github.io/styleguide/cppguide.html#Reference_Arguments.
The Bind to ProcessPacket in OnPacketReceived is safe because Bind captures arguments by value.

BUG=webrtc:7013

Review-Url: https://codereview.webrtc.org/2980923002
Cr-Commit-Position: refs/heads/master@{#19028}
2017-07-14 19:30:04 +00:00