The JS API supports two operations which have never been implemented in
the iOS counterpart:
- generate a new certificate
- use this certificate when creating a new PeerConnection
Both functions are illustrated in the generateCertificate example code:
- https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/generateCertificate
Currently, on iOS, a new certificate is automatically generated for
every PeerConnection with no programmatic way to set a specific
certificate.
Work sponsored by |pipe|
Bug: webrtc:9498
Change-Id: Ic1936c3de8b8bd18aef67c784727b72f90e7157c
Reviewed-on: https://webrtc-review.googlesource.com/87303
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24276}
BGRA RTCCVPixelBuffers were cropped and scaled incorrectly. Libyuv’s
`ARGBScale` method is used in RTCCVPixelBuffer to scale and crop the
pixel buffer. To crop by `cropX` and `cropY` pixels, pointer
arithmetic is used to offset the src pointer of the original pixel
buffer bytes. There is a bug in how this offset is calculated.
The offset is done by `src += srcStride * _cropY + _cropX`. Libyuv
expects that the src pointer will point to the start of a new pixel.
However, if _cropX is a not a multiple of 4 (4 bytes for BGRA), the src
pointer will point to a byte in the middle of a pixel and thus libyuv
will incorrectly treat the data as the start of pixel (incorrectly
treating the first byte as red when it is actually green, etc...). To
fix this, the src pointer needs to be offset to always point to the
start of a new pixel.
Before this change:
Original Test Gradient image with a cropX of 2:
https://i.imgur.com/gSIgwGV.jpg
Scaled image (notice the colors are incorrect):
https://i.imgur.com/oPxbTEK.jpg
After this change:
Scaled image (notice the colors are correct):
https://i.imgur.com/dqBsmsH.jpg
A new unit test which tests scaling with cropX and cropY values has been
added. The test fails without this change and now passes with the
correct src pointer offsetting.
Bug: webrtc:9555
Change-Id: I87cbd7b91bc139d51fb4e11cc50ccb014cfa8051
Reviewed-on: https://webrtc-review.googlesource.com/89220
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24076}
In current state, if you want to do something with the capturer (eg. switch to next camera again) it fails with an exception that camera switch is already in progress.
Change-Id: I908eb590b54fdf3346441097b39f1f2a2eb56ce8
Bug: webrtc:9527
Change-Id: I908eb590b54fdf3346441097b39f1f2a2eb56ce8
Reviewed-on: https://webrtc-review.googlesource.com/88700
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23995}
* Move SimulcastEncoderAdapter out under modules/video_coding
* Move SimulcastRateAllocator back out to modules/video_coding/utility
* Move TemporalLayers and ScreenshareLayers to modules/video_coding/utility
* Move any VP8 specific code - such as temporal layer bitrate budgeting -
under codec type dependent conditionals.
* Plumb the simulcast index for H264 in the codec specific and RTP format data structures.
TBR=sprang@webrtc.org,stefan@webrtc.org,titovartem@webrtc.org
Bug: webrtc:5840
Change-Id: I2d3b130622dd7ceec5528f3ab6c46f109e6bafb8
Reviewed-on: https://webrtc-review.googlesource.com/84743
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23715}
This reverts commit 07efe436c9002e139845f62486e3ee4e29f0d85b.
Reason for revert: Breaks downstream project.
cricket::GetSimulcastConfig method signature has been updated.
I think you can get away with a default value for temporal_layers_supported (and then you can remove it after a few days when projects will be updated).
Original change's description:
> Implement H264 simulcast support and generalize SimulcastEncoderAdapter use for H264 & VP8.
>
> * Move SimulcastEncoderAdapter out under modules/video_coding
> * Move SimulcastRateAllocator back out to modules/video_coding/utility
> * Move TemporalLayers and ScreenshareLayers to modules/video_coding/utility
> * Move any VP8 specific code - such as temporal layer bitrate budgeting -
> under codec type dependent conditionals.
> * Plumb the simulcast index for H264 in the codec specific and RTP format data structures.
>
> Bug: webrtc:5840
> Change-Id: Ieced8a00e38f273c1a6cfd0f5431a87d07b8f44e
> Reviewed-on: https://webrtc-review.googlesource.com/64100
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23705}
TBR=sprang@webrtc.org,stefan@webrtc.org,mflodman@webrtc.org,hta@webrtc.org,sergio.garcia.murillo@gmail.com,titovartem@webrtc.org,agouaillard@gmail.com
Change-Id: Ic9d3b1eeaf195bb5ec2063954421f5e77866d663
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:5840
Reviewed-on: https://webrtc-review.googlesource.com/84760
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23710}
* Move SimulcastEncoderAdapter out under modules/video_coding
* Move SimulcastRateAllocator back out to modules/video_coding/utility
* Move TemporalLayers and ScreenshareLayers to modules/video_coding/utility
* Move any VP8 specific code - such as temporal layer bitrate budgeting -
under codec type dependent conditionals.
* Plumb the simulcast index for H264 in the codec specific and RTP format data structures.
Bug: webrtc:5840
Change-Id: Ieced8a00e38f273c1a6cfd0f5431a87d07b8f44e
Reviewed-on: https://webrtc-review.googlesource.com/64100
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23705}
The macOS demo add camera preview in didReceiveLocalVideoTrack callback, but this callback is never called.
Bug: webrtc:9276
Change-Id: I60b9cc69672f3654d4e36de0e8140e0bbb957540
Reviewed-on: https://webrtc-review.googlesource.com/77950
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23458}
std::mem_fun is deprecated in C++11, and removed in C++17. Using C++17
option for building libwebrtc causes build failure. This is found during
upgrading WebKit tree from C++14 to C++17.
This patch replaces std::for_each and std::mem_fun with range-based-for.
We also merge loops for streams_ into one.
Bug: webrtc:9277
Change-Id: I44a7e44ea21fc33ffa9a586ddfea570f97dfacb6
Reviewed-on: https://webrtc-review.googlesource.com/77280
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23285}
IFA_ADDRESS gives DESTINATION address in case of point-to-point
connection, which is not able to create ports for candidate gathering.
Use IFA_LOCAL to avoid this problem.
Bug: webrtc:9189
Change-Id: Ifcb1955b1b4011dc69c93d99b4e223b370dc16eb
Reviewed-on: https://webrtc-review.googlesource.com/69620
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23055}
Currently there are several checks against _lastDrawnFrame in RTCEAGLVideoView.mm but this variable is not assigned anywhere. Seems like it was missed in 13941912b1 during work on injecting custom shaders.
Bug: webrtc:9133
Change-Id: Ie979a63de343e7253e4b4e70e3b98ffb0880af04
Reviewed-on: https://webrtc-review.googlesource.com/68720
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22819}
The bug 8432 is caused by trying to connect through a
"link-local" interface (IP address 169.254.0.x/16),
which is listed among the iPhone network interfaces.
The bug is not happening if the link-local network interfaces
are skipped in the ICE candidate gethering process.
To control this behaviour an option - disable_link_local_networks -
is added inside the RTCConfiguration.
It is used to set the new BasicPortAllocatorSession flag -
PORTALLOCATOR_DISABLE_LINK_LOCAL_NETWORKS.
The port allocator flag is added if the configuration option is set.
IPIsLinkLocal IPAddress function and its friends (IPIsLoopback, IPIsPrivate)
are refactored to work on both IPv4 and IPv6.
Unit test IPIsLinkLocal.
Bonus: fix a bug in IPIsLinkLocalV6:
take into account just 10 network mask bits instead of 16.
Bug: webrtc:8432
Change-Id: Ibe8f677a36098057b7fcad5c798380727b23359b
Reviewed-on: https://webrtc-review.googlesource.com/36380
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21922}
Various files in webrtc codebase use scanf/sscanf function without
including stdio.h header file which is supposed to define it. This
somehow works when using glibc, but fails with uClibc.
Bug: webrtc:8641
Change-Id: Ie4ae17af32b32ed8cea567166b6b0e5193966995
Reviewed-on: https://webrtc-review.googlesource.com/32261
Commit-Queue: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21775}
On some devices `android.hardware.Camera.open` returns null
instead of raising exception. It causes `NPE` inside
`Camera1Session.create` when method `setPreviewTexture` is
invoked on local variable `camera`, which is `null`.
Bug: webrtc:8658
Change-Id: Ic65b4aef2c0b8b65735a9db02433b536bfe92ddd
Reviewed-on: https://webrtc-review.googlesource.com/33620
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21352}
In order to support WinUWP platform, all main(..) routines must be normalized to the formal int main(int argc, char* argv[]) form. A platform wrapper main is auto-created linking against the default main(...). This can only work if the linkage is exactly matching the proper formal definition and not a loosely defined main(...) alternative.
Bug: webrtc:8608
Change-Id: I606663aaea7df1792c7c5636279617b8926fa5cc
Reviewed-on: https://webrtc-review.googlesource.com/28721
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21229}
The new SurfaceEglRenderer helper class extends EglRenderer and
implements rendering on a SurfaceView.
Bug: webrtc:8242
Change-Id: Ic532fe487755d3b54c6bd03f239d714e1ecb10ad
Reviewed-on: https://webrtc-review.googlesource.com/2940
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20562}
Reason for revert:
We are not certain this is the behavior we want.
Original issue's description:
> Fix the video buffer size should take rtt into consideration
>
> BUG=webrtc:8010
>
> Review-Url: https://codereview.webrtc.org/2980413002
> Cr-Commit-Position: refs/heads/master@{#19285}
> Committed: f1e08d0b58TBR=sprang@webrtc.org,gustavogb@gmail.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:8010
Review-Url: https://codereview.webrtc.org/3002033002
Cr-Commit-Position: refs/heads/master@{#19442}
If a SurfaceViewRenderer is reinitialized, the onFirstFrameRendered
callback is not fired.
Ensure that we reset the flag when the SurfaceViewRenderer is
initialized.
BUG=webrtc:7985
Review-Url: https://codereview.webrtc.org/2981793002
Cr-Commit-Position: refs/heads/master@{#19016}
When building the WebRTC project for iOS, the build will fail on Xcode 9
because of a missing framework-header (AVFoundation). This pull-request
will add the missing "#import <AVFoundation/AVFoundation.h>" line to the
"RTCCameraVideoCapturer" class.
BUG=webrtc:7846
Review-Url: https://codereview.webrtc.org/2944753002
Cr-Commit-Position: refs/heads/master@{#18698}
in order to fix a build issue that comes up when using WebRTC.framework from swift code.
BUG=webrtc:7488
Review-Url: https://codereview.webrtc.org/2832803002
Cr-Commit-Position: refs/heads/master@{#17909}
This patch fixes the internal AudioCoder output buffer setting to be set
prior it will be used within callback from ACM
BUG=webrtc:7462
Review-Url: https://codereview.webrtc.org/2806933002
Cr-Commit-Position: refs/heads/master@{#17800}
This is a short term solution to change the volume of an AudioTrack until applyConstraints for MediaStreamTracks has been implemented.
This CL adds 1 new Java method & the relevant JNI file update:
AudioTrack.java:
public void setVolume(double volume);
BUG=webrtc:6533
Review-Url: https://codereview.webrtc.org/2710683009
Cr-Commit-Position: refs/heads/master@{#17682}
fixing white spaces
updated authors file
Changed OLA window to use Q14 as Q5 dosnt work with 48khz. 1 ms @ 48 khz is > 2^5
BUG=webrtc:1361
Review-Url: https://codereview.webrtc.org/2763273003
Cr-Commit-Position: refs/heads/master@{#17611}
This patch fixes compilation issues related to usage of std::unique_ptr
and NULL instead of nullptr. This issue pops up once you would try to
compile whole webrtc with using C++14 and gcc-4.9
BUG=webrtc:7461
Review-Url: https://codereview.webrtc.org/2806693004
Cr-Commit-Position: refs/heads/master@{#17600}
Add system version check functionality in UIDevice+RTCDevice category.
Check for iOS system version when handle capture session interruption.
BUG=webrtc:7201
Review-Url: https://codereview.webrtc.org/2733773003
Cr-Commit-Position: refs/heads/master@{#17079}
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}
The first unsignalled SSRC creates a default receive channel.
Any unsignalled SSRC changes after that replace the default SSRC.
Add unit tests for changing unsignalled SSRCs.
BUG=webrtc:5208
Review-Url: https://codereview.webrtc.org/2692993009
Cr-Commit-Position: refs/heads/master@{#16682}
Update libwertc AudioRtpSender::SetAudioSend with WEBRTC_WEBKIT_BUILD
This only introduces the WEBRTC_WEBKIT BUILD, inspired by WEBRTC_CHROMIUM_BUILD
macro. It is only defined by Webkit libwebrtc build system.
https://trac.webkit.org/changeset/210977
BUG=webrtc:7039
Review-Url: https://codereview.webrtc.org/2651273003
Cr-Commit-Position: refs/heads/master@{#16432}
In order to implicit cast an lvalue to an rvalue when returning
from a function, the return type and type of variable in the return
statement previously had to be exactly the same. When this was not
the case, std::move was required. For instance, when returning a
std::unique_ptr<Derived> variable in a function with a
std::unique_ptr<Base> return type, std::move is required.
DR 1579 changed this, and allows for implicitly converting
to the return type, if the return type has a constructor(T&&), where
T is the type of the local variable being returned. DR 1579 was
implemented in GCC 5, but not in GCC 4.9 and below. By explicitly
qualifying the local variable with std::move, we allow for compiling
with GCC 4.9 and incur no performance penalty. The code is still
absolutely correct to the word of C++11.
BUG=chromium:682965
See also:
* https://bugs.gentoo.org/show_bug.cgi?id=600288
* https://stackoverflow.com/questions/22018115/converting-stdunique-ptrderived-to-stdunique-ptrbase#comment33375875_22018521
* http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3833.html#1579
Review-Url: https://codereview.webrtc.org/2642053003
Cr-Commit-Position: refs/heads/master@{#16175}
This check will throw a PRESUBMIT error if the author or
organization is not present in the AUTHORS file.
E-mail wildcard entries were also added to the organizations
in the AUTHORS file.
BUG=webrtc:6852
NOTRY=True
Review-Url: https://codereview.webrtc.org/2564613002
Cr-Commit-Position: refs/heads/master@{#15591}
adaptReason in webrtcvideoengine2.h only defines NONE=0, CPU=1 and BANDWIDTH=2 so &0x4 can not happen anymore.
This was probably never implemented in videoengine2
BUG=webrtc:6870
Review-Url: https://codereview.webrtc.org/1887773002
Cr-Commit-Position: refs/heads/master@{#15546}