This tool is used downstream, so we want to christen rtc_tools as
a kind of api dir for tools. Tools in other locations should be
considered off limits.
I chose rtc_tools because video_quality_toolchain is already there,
which is also used downstream.
Bug: None
Change-Id: I234d874c8a590ca7413357ecda26b16d9b399836
Reviewed-on: https://webrtc-review.googlesource.com/32340
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21236}
The problem was that the encoder was feeded with frames that had 0 as
a timestamp. This confused the encoder. H264 high profile support
clause was also wrong and is corrected.
Bug: webrtc:8601
Change-Id: Ic5a893b4b7573e694f865b63620843b2c9aa489f
Reviewed-on: https://webrtc-review.googlesource.com/32300
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21234}
1. Added WEBRTC_FUCHSIA define.
2. Added PlatformThreadId typedef for Fuchsia.
3. Updated ifdefs for _strnicmp()/strncasecmd(), so _strnicmp()
is used on all platforms
3. Updated ifdefs in clock.cc to avoid invalid assumption that
POSIX = LINUX || MAC .
Bug: chromium:750940
Change-Id: Id7aa98e017f467bcebb78a0b298ba91655502072
Reviewed-on: https://webrtc-review.googlesource.com/31641
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21233}
When calling CGDisplayStreamCreate(properties = nullptr) this
causes kCGDisplayStreamShowCursor to default to kCFBooleanTrue.
This CL set it to false always as it was assumed. Also if true
this causes some lags when moving the mouse pointer on the capture
side and in any case webrtc::MouseCursorMonitorMac already implements
a custom way to capture the mouse. Which appears to be more efficient
in this usecase.
Bug: webrtc:8625
Change-Id: Id0fae38fa47503d87d1890213706149762fa67fb
Reviewed-on: https://webrtc-review.googlesource.com/30902
Commit-Queue: Julien Isorce <julien.isorce@chromium.org>
Reviewed-by: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#21231}
Concealment is never used in WebRTC since we never feed decoders with
broken bitstream. If so, there is no need to evaluate concealment
quality.
But if we still want to evaluate it then the tests should be
redesigned: recovery frames should be generated with reasonable
interval and quality thresholds should be set to acceptable level.
Bug: webrtc:8524
Change-Id: Ie7197e0a5a88aafcb3b2698185edcb43b71fae3b
Reviewed-on: https://webrtc-review.googlesource.com/32303
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21230}
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}
Use std::fstream instead of rtc::File to write perf results.
On Android, when I use rtc::File, the results are not written for some reason.
Also rename the flag to '--chartjson_result_file'.
Bug: webrtc:8566
Change-Id: I32215e2233e18690c41050dfd35ac77e01d11f35
Reviewed-on: https://webrtc-review.googlesource.com/32001
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21225}
Example of an error:
** Presubmit ERRORS **
public_deps is not allowed in WebRTC BUILD.gn files because it doesn't map well to downstream build systems.
Used in: call/BUILD.gn (line 12).
Bug: webrtc:8603
Change-Id: I3b785b295ffb018cb9dfc2e14ae816d3e5e29a69
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/30262
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21224}
Control Flow Integrity [1] indirect call checking verifies that function
pointers only call valid functions with a matching type signature.
webrtc casts the function pointers for external_hmac causing a cfi-icall
failure when they are later called in libsrtp. Refactor the functions to
match the correct type signatures to avoid this failure.
[1] https://www.chromium.org/developers/testing/control-flow-integrity
Bug: chromium:776905
Change-Id: I419028be02e6c151c497e3ec64f10f35e07cdb0f
Reviewed-on: https://webrtc-review.googlesource.com/26721
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21220}
Avoids hitting a DCHECK in AudioRecordJni::OnCacheDirectBufferAddress()
when first init attempt has failed and we try again.
Bug: b/69434512
Change-Id: I4396ba22981d9258d6d72188bad66104255f19cf
Reviewed-on: https://webrtc-review.googlesource.com/31842
Reviewed-by: Alex Glaznev <glaznev@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21218}
This CL modifies the refactored render buffering scheme in AEC3
so that:
-A non-causal state can never occur which means that situations with
nonrecoverable echo should not occur.
-For a stable audio pipeline with a predefined API call jitter,
render overruns and underruns can never occur.
Bug: webrtc:8629,chromium:793305
Change-Id: I06ba1c368f92db95274090b08475dd02dbb85145
Reviewed-on: https://webrtc-review.googlesource.com/29861
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21215}
Based on discussion in the webrtc-core group. Note that NONE of our
existing code does this (yet), but I plan to convert it over time when
convenient.
Bug: None
Change-Id: Ie808181915ea24483e0fd8fbb06273351ebe661d
Reviewed-on: https://webrtc-review.googlesource.com/8140
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21214}
The experimental function that scales the histogram of inter-arrival times in NetEq suffered from an overflow bug. This caused unexpected increases in the calculated target level.
Bug: webrtc:8381
Change-Id: I2af4d22119fdc684b3cac838c9b317959af17a1f
Reviewed-on: https://webrtc-review.googlesource.com/30261
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21213}
This callback was used only by the PrintSamplesToFile feature of
video_quality_test, which looks like it has been broken for some time
(due to mixup of capture time and ntp time).
Bug: webrtc:8504
Change-Id: I7d2b55405caeffda582ae0d6fb0e7dfdfce4c5a9
Reviewed-on: https://webrtc-review.googlesource.com/31420
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@{#21211}
- Defines stereo codec case, similar to RTX, that adds stereo codec to the SDP
negotiation. The underlying codec's payload type is similarly defined by "apt".
- If this negotiation is successful, codec name is included in sdp line via
"acn".
- Adds codec setting initializers for these specific stereo cases.
- Introduces new Stereo*Factory classes as optional convenience wrappers that
inserts stereo codec to the existing set of supported codecs on demand.
This CL is the step 5 for adding alpha channel support over the wire in webrtc.
Design Doc: https://goo.gl/sFeSUT
Bug: webrtc:7671
Change-Id: Ie12c56c8fcf7934e216135d73af33adec5248f76
Reviewed-on: https://webrtc-review.googlesource.com/22901
Commit-Queue: Niklas Enbom <niklas.enbom@webrtc.org>
Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21210}
Using fully qualified paths to include libyuv headers allows WebRTC to
avoid to rely on the //third_party/libyuv:libyuv_config target to
set the -I compiler flag.
Today some WebRTC targets depend on //third_party/libyuv only to
include //third_party/libyuv:libyuv_config but with fully qualified
paths this should not be needed anymore.
A follow-up CL will remove //third_party/libyuv from some targets that
don't need it because they are not including libyuv headers.
Bug: webrtc:8605
Change-Id: Icec707ca761aaf2ea8088e7f7a05ddde0de2619a
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/28220
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21209}
The computation (x-127) << 8 is undefined for x < 127.
This CL replaces the shift with a multiplication: (x-127) * (1 << 8)
Bug: chromium:793201
Change-Id: I38b40bd88300208a0bfbbd8fe144b0a5b51a48ed
Reviewed-on: https://webrtc-review.googlesource.com/31800
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21205}
The generated JNI files are actually implementation files that can only
be included from one place. For generating JNI code for
PeerConnection.java, this means we need to collect all JNI
PeerConnection code into one place. This CL moves
peerconnectionobserver_jni.h to peerconnection.h, and merges
peerconnectionobserver_jni.cc and peerconnection_jni.cc. It also moves
converter functions JavaToNativeIceServers and
JavaToNativeRTCConfiguration to peerconnection.h since they are also
related to PeerConnection.java.
This CL does not contain anything else than a pure code move.
TBR=sakal@webrtc.org
Bug: webrtc:8278
Change-Id: I31c696c1aab495e09f95e5ba5d79f95df7c34a0e
Reviewed-on: https://webrtc-review.googlesource.com/31483
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21200}
Arguably we should add a few more targets, for instance a utility
target, but I tried to create as few targets as possible here based on
the current usage.
Bug: webrtc:6828
Change-Id: Icc9400d76f4016c8b0943aa734430955208a14f8
Reviewed-on: https://webrtc-review.googlesource.com/28301
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21199}
Add methods to TransportController so that it can create RTP level transports
(RtpTransport, SrtpTransport and DtlsSrtpTransport.).
The RTP level transports are ref-counted since they could be shared by multiple
BaseChannels and TransportController manages the life time of the transports.
Bug: webrtc:7013
Change-Id: Ifd31062426e513d95473e257c9c9ff84a8c537fd
Reviewed-on: https://webrtc-review.googlesource.com/5080
Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21196}
If disabled, this allows running "gn gen <folder>" on a system without
GTK and other development libraries installed.
BUG=webrtc:5716
Change-Id: I1aee3d74402485113612276f6de374fb6034251f
Reviewed-on: https://webrtc-review.googlesource.com/30460
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Joachim Bauch <jbauch@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21192}