Commit Graph

9198 Commits

Author SHA1 Message Date
ada4c130ab Move AudioDecoderG722 next to AudioEncoderG722
All AudioDecoder subclasses have historically lived in NetEq, but they
fit better with the codec they wrap.

BUG=webrtc:4557

Review URL: https://codereview.webrtc.org/1346993002

Cr-Commit-Position: refs/heads/master@{#9966}
2015-09-17 10:12:38 +00:00
97395b64ca Remove dependency on Chromium's base/logging.h in diagnostic_logging.h.
Depends on https://codereview.webrtc.org/1335923002/

BUG=chromium:468375

Review URL: https://codereview.webrtc.org/1338763002

Cr-Commit-Position: refs/heads/master@{#9965}
2015-09-17 09:06:14 +00:00
91d6edef35 Add RTC_ prefix to (D)CHECKs and related macros.
We must remove dependency on Chromium, i.e. we can't use Chromium's base/logging.h. That means we need to define these macros in WebRTC also when doing Chromium builds. And this causes redefinition.

Alternative solutions:
* Check if we already have defined e.g. CHECK, and don't define them in that case. This makes us depend on include order in Chromium, which is not acceptable.
* Don't allow using the macros in WebRTC headers. Error prone since if someone adds it there by mistake it may compile fine, but later break if a header in added or order is changed in Chromium. That will be confusing and hard to enforce.
* Ensure that headers that are included by an embedder don't include our macros. This would require some heavy refactoring to be maintainable and enforcable.
* Changes in Chromium for this is obviously not an option.

BUG=chromium:468375
NOTRY=true

Review URL: https://codereview.webrtc.org/1335923002

Cr-Commit-Position: refs/heads/master@{#9964}
2015-09-17 07:24:51 +00:00
c0ac6cad00 Move AudioDecoderPcm16B next to AudioEncoderPcm16B
All AudioDecoder subclasses have historically lived in NetEq, but they
fit better with the codec they wrap.

BUG=webrtc:4557
R=henrik.lundin@webrtc.org

Review URL: https://codereview.webrtc.org/1348113002 .

Cr-Commit-Position: refs/heads/master@{#9963}
2015-09-17 05:47:55 +00:00
b697cea0b6 Roll chromium_revision 5482f56..310ea93 (347609:349094)
The WebKit dependency could be removed again after
https://codereview.chromium.org/1338193003/

Relevant changes:
* src/buildtools: 565d04e..f7310ee
* src/third_party/boringssl/src: ac8302a..1d128f3
* src/third_party/libvpx: 0304cef..ac1772e
* src/third_party/libyuv: 0bc626a..fcacbfb
* src/third_party/mockito/src: ed99a52..4d987dc
* src/tools/swarming_client: 2866a22..77f720b
Details: 5482f56..310ea93/DEPS

Clang version was not updated in this roll.

TBR=marpan@webrtc.org

Review URL: https://codereview.webrtc.org/1347153003 .

Cr-Commit-Position: refs/heads/master@{#9962}
2015-09-17 04:44:57 +00:00
fff9f176f5 Move AudioDecoderIlbc next to AudioEncoderIlbc
All AudioDecoder subclasses have historically lived in NetEq, but they
fit better with the codec they wrap.

BUG=webrtc:4557

Review URL: https://codereview.webrtc.org/1348053002

Cr-Commit-Position: refs/heads/master@{#9961}
2015-09-17 04:26:39 +00:00
1f9baab753 Remove the preprocessor symbol WEBRTC_CODEC_AVT (it was always defined)
BUG=webrtc:4557

Review URL: https://codereview.webrtc.org/1338283002

Cr-Commit-Position: refs/heads/master@{#9960}
2015-09-17 02:29:51 +00:00
7754285f7c Log to the webrtc log stream from webrtc/modules java code.
The purpose is to gather all webrtc logging in a single place and allow the app to redirect all webrtc logging to a single stream for offline debugging.

Moved Logging.java to webrtc/base to be shared by talk/ and modules/.

R=glaznev@webrtc.org, henrika@webrtc.org, magjed@webrtc.org, tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1335103004 .

Cr-Commit-Position: refs/heads/master@{#9959}
2015-09-16 23:20:48 +00:00
2520e7200e VP9: Enable static threshold for non-screen content.
Encoder control was currently on for screen-content mode,
use it also for normal video.

BUG=

TBR=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1351523005 .

Cr-Commit-Position: refs/heads/master@{#9958}
2015-09-16 21:05:12 +00:00
5975b3c5be Log to webrtc logging stream from java code.
Future log messages should all be sent to org.webrtc.Logging as well.

BUG=

Committed: https://crrev.com/66f0da2197974dcc1008f25df2bb4e1d463ad506
Cr-Commit-Position: refs/heads/master@{#9936}

R=glaznev@webrtc.org

Review URL: https://codereview.webrtc.org/1338033003 .

Cr-Commit-Position: refs/heads/master@{#9957}
2015-09-16 20:41:02 +00:00
eecbab7cd5 Roll chromium_revision a28d8d5..5482f56 (346100:347609)
Recent changes (https://codereview.chromium.org/1311013010) introduces a
dependency on WebKit (Blink) in Chromium, which forces us to start pulling
down that as well (+6GB). However Blink is about to be merged into the
Chromium repo soon anyway, so the size increase is inevitable.
Luckily, this can be removed in the next roll, if we roll past
http://crrev.com/348812

The ijar dependency was introduced in https://codereview.chromium.org/1323053003 (#347208)

Relevant changes:
* src/third_party/boringssl/src: 12fe1b2..ac8302a
* src/third_party/libvpx: a208eca..0304cef
* src/third_party/libyuv: 3c4f573..0bc626a
* src/tools/gyp: 6ee91ad..5d01a8c
Details: a28d8d5..5482f56/DEPS

Clang version was not updated in this roll.

R=torbjorng@webrtc.org
TBR=marpan@webrtc.org
BUG=webrtc:5005, chromium:530112

Review URL: https://codereview.webrtc.org/1305043008 .

Cr-Commit-Position: refs/heads/master@{#9956}
2015-09-16 17:19:14 +00:00
844a91081e Remove the preprocessor symbol WEBRTC_CODEC_PCM16 (it was always defined)
BUG=webrtc:4557

Review URL: https://codereview.webrtc.org/1336923002

Cr-Commit-Position: refs/heads/master@{#9955}
2015-09-16 16:42:26 +00:00
384194369b Consolidate constructormagic macros with Chromium version and remove Chromium override.
Part of work removing dependency on Chromium's base.

Only adds "= delete". From https://codereview.chromium.org/1151443003 :
"This will guarantee the error to be at compile time, and not rely on the call visibility (private)."

In consequence of that change, fixed an illegal copy and removed a bunch of unused variables.

Depends on https://codereview.webrtc.org/1345433002/

BUG=chromium:468375
(in particular comment #37)
NOTRY=true

Review URL: https://codereview.webrtc.org/1342543004

Cr-Commit-Position: refs/heads/master@{#9954}
2015-09-16 13:33:25 +00:00
3c089d751e Add RTC_ prefix to contructormagic macros.
We must remove dependency on Chromium, i.e. we can't use Chromium's base/logging.h. That means we need to define these macros in WebRTC also when doing Chromium builds. And this causes redefinition.

* DISALLOW_ASSIGN -> RTC_DISALLOW_ASSIGN
* DISALLOW_COPY_AND_ASSIGN -> RTC_DISALLOW_COPY_AND_ASSIGN
* DISALLOW_IMPLICIT_CONSTRUCTORS -> RTC_DISALLOW_IMPLICIT_CONSTRUCTORS

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

BUG=chromium:468375
NOTRY=true

Review URL: https://codereview.webrtc.org/1345433002

Cr-Commit-Position: refs/heads/master@{#9953}
2015-09-16 12:37:52 +00:00
afb6b5e3e0 Ensure all test targets are built on Android.
When GYP runs for OS=android it doesn't generate the
video_engine_core_unittests_apk_target target which is needed to
get the APK built.
The same problem applies to webrtc/test/webrtc_test_common.gyp,
but that unittest is not added on any bot anyway, so that's future work.

TESTED=Ran webrtc/build/gyp_webrtc for Linux and Android locally.
Before this patch, the video_engine_core_unittests was not built
as part of the 'All' target. With this patch, it is now built.

R=pbos@webrtc.org

Review URL: https://codereview.webrtc.org/1348093002 .

Cr-Commit-Position: refs/heads/master@{#9952}
2015-09-16 12:07:45 +00:00
8dba03d6d7 Temporarily define RTC_DISALLOW_ASSIGN in Chromium constructormagic override.
The override will be removed shortly in https://codereview.webrtc.org/1342543004/ This is to make the FYI bots happy meanwhile.

BUG=chromium:468375
TBR=tommi@webrtc.org
NOTRY=true

Review URL: https://codereview.webrtc.org/1345193002

Cr-Commit-Position: refs/heads/master@{#9951}
2015-09-16 11:45:31 +00:00
207370f0a2 Android MediaCodecVideoDecoder: Remove redundant useSurface arguments
This CL should not do any functional changes. It removes some redundant arguments and unnecessary error checking.

BUG=webrtc:4993
R=glaznev@webrtc.org

Review URL: https://codereview.webrtc.org/1338943003 .

Cr-Commit-Position: refs/heads/master@{#9950}
2015-09-16 10:32:32 +00:00
01ddf01d9c Revert of Bailing out if pc factory fails to get created. (patchset #1 id:1 of https://codereview.webrtc.org/1339923004/ )
Reason for revert:
Breaks goma (??!??!?)

Original issue's description:
> Bailing out if pc factory fails to get created.
>
> This prevents us from continuing if we fail initialization.
> The failure will happen closer to its source, rather than
> when we try to create the first peer connection.
>
> BUG=None
> R=glaznev@webrtc.org
>
> Committed: https://crrev.com/6eb75d9e67f02c256436eb96f3c77026486561a1
> Cr-Commit-Position: refs/heads/master@{#9948}

TBR=glaznev@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=None

Review URL: https://codereview.webrtc.org/1344363002

Cr-Commit-Position: refs/heads/master@{#9949}
2015-09-16 07:03:44 +00:00
6eb75d9e67 Bailing out if pc factory fails to get created.
This prevents us from continuing if we fail initialization.
The failure will happen closer to its source, rather than
when we try to create the first peer connection.

BUG=None
R=glaznev@webrtc.org

Review URL: https://codereview.webrtc.org/1339923004 .

Cr-Commit-Position: refs/heads/master@{#9948}
2015-09-16 06:41:42 +00:00
2338fec627 Partial revert of r9936.
Need to figure out the best way to initialize native logging system
while peer connection factory is not created yet.

R=jiayl@webrtc.org

Review URL: https://codereview.webrtc.org/1343163003 .

Cr-Commit-Position: refs/heads/master@{#9947}
2015-09-15 23:07:45 +00:00
32b5d23177 Add an option to avoid Java video track release when peer connection is closed.
Currently disposing Java peer connection object will result in auto
release of media streams and media tracks added to peer connection.
Add an option to allow application to own video track so it can be
kept after peer connection is destroyed.

R=jiayl@webrtc.org, wzh@webrtc.org

Review URL: https://codereview.webrtc.org/1333363002 .

Cr-Commit-Position: refs/heads/master@{#9946}
2015-09-15 18:09:42 +00:00
ebed24dbfb Do not print C++ line numbers for Java logging.
R=jiayl@webrtc.org

Review URL: https://codereview.webrtc.org/1342963002 .

Cr-Commit-Position: refs/heads/master@{#9945}
2015-09-15 18:05:32 +00:00
0b05879cd7 Move AudioDecoderOpus next to AudioEncoderOpus
All AudioDecoder subclasses have historically lived in NetEq, but they
fit better with the codec they wrap.

BUG=webrtc:4557
R=henrik.lundin@webrtc.org

Review URL: https://codereview.webrtc.org/1342933005 .

Cr-Commit-Position: refs/heads/master@{#9944}
2015-09-15 15:28:29 +00:00
ec0feb6ddf Add --skip-try flag to autoroll script.
This is useful when the patch needs additional modifications before
being sent to the tryjobs.

BUG=
R=phoglund@webrtc.org

Review URL: https://codereview.webrtc.org/1335353004 .

Cr-Commit-Position: refs/heads/master@{#9943}
2015-09-15 14:00:42 +00:00
8e4e8b0455 Simplify BitrateAllocator::AddBitrateObserver.
Remove start_bitrate_bps which is no longer used and return the current
allocated bitrate instead of having it as an out parameter, removing the
previous return value which is no longer used.

Permits removing bitrate controller usage from ViEEncoder.

BUG=webrtc:1695
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1343783006 .

Cr-Commit-Position: refs/heads/master@{#9942}
2015-09-15 13:08:12 +00:00
dcb8998821 Keep lock after updating encoder parameters.
Additionally adds some thread annotations.

BUG=
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1336023004 .

Cr-Commit-Position: refs/heads/master@{#9941}
2015-09-15 12:43:55 +00:00
a753177f93 Remove default ViEEncoder encoder instance.
BUG=webrtc:1695
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1341943003 .

Cr-Commit-Position: refs/heads/master@{#9940}
2015-09-15 11:12:32 +00:00
709ed67c38 Move instantiation of webrtc::Call into a MediaController class so that it can be used for both audio and video media channels.
I'm not super happy with the GetVoE() function added on MediaEngineInterface, but this will eventually be gone, once webrtc::Call owns the shared VoE state (or initially, maps ADM* to an implicitly created VoE).

BUG=webrtc:4690
R=pbos@webrtc.org, pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1269863005 .

Cr-Commit-Position: refs/heads/master@{#9939}
2015-09-15 10:26:45 +00:00
4ae28a1070 Android: Add SurfaceTextureHelper for creating and managing SurfaceTextures
Add new helper class to create and synchronize access to SurfaceTextures. The plan is replace the SurfaceTexture in MediaCodecVideoDecoder in a follow-up CL and remove the SurfaceTexture.updateTexImage() call in VideoRendererGui.

BUG=webrtc:4993
R=hbos@webrtc.org

Review URL: https://codereview.webrtc.org/1342713003 .

Cr-Commit-Position: refs/heads/master@{#9938}
2015-09-15 07:44:17 +00:00
7bff85c2bc Android: Enable C99 mode instead of C89 (default).
BUG=webrtc:4960
TESTED=Built locally using GYP and GN for Android.
R=andrew@webrtc.org, brettw@chromium.org

Review URL: https://codereview.webrtc.org/1321193003 .

Cr-Commit-Position: refs/heads/master@{#9937}
2015-09-15 06:16:11 +00:00
66f0da2197 Log to webrtc logging stream from java code.
Future log messages should all be sent to org.webrtc.Logging as well.

BUG=

Review URL: https://codereview.webrtc.org/1338033003

Cr-Commit-Position: refs/heads/master@{#9936}
2015-09-14 22:06:45 +00:00
73a93e8257 Add a ParseHeader method to RtcpPacket, for parsing common RTCP header.
Also refactor TransportFeedback to use this.

BUG=

Review URL: https://codereview.webrtc.org/1307663004

Cr-Commit-Position: refs/heads/master@{#9935}
2015-09-14 19:50:49 +00:00
1cb121dea4 Reset frame timestamp epoch for new capturers.
Incoming frames usually have an epoch of time since the capturer was
created or similar, not any fixed-time epoch. As such, setting a new
capturer resulted in delivering frames with older timestamps which
caused these frames to be dropped before encoding.

BUG=webrtc:4994
R=stefan@webrtc.org
TBR=pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1345473002

Cr-Commit-Position: refs/heads/master@{#9934}
2015-09-14 18:38:43 +00:00
6304626268 Add a rate tracker that tracks rate over a given interval split up into buckets that accumulate unit counts for their portion of said interval and use this instead of the standard rate tracker so that the values of retrieved frame rate stats are completely independent of the polling rate.
BUG=
R=asapersson@webrtc.org, noahric@chromium.org, pbos@webrtc.org, pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1279433006 .

Cr-Commit-Position: refs/heads/master@{#9933}
2015-09-14 17:38:20 +00:00
2b18084d40 Only allow static strings as ProcessThread names.
Review URL: https://codereview.webrtc.org/1336293002

Cr-Commit-Position: refs/heads/master@{#9932}
2015-09-14 14:53:46 +00:00
ea06a58f40 Android video capture: Remove duplicated code and fix spelling mistakes
This CL does not contain any functional changes, it is purely nit fixes.

R=hbos@webrtc.org

Review URL: https://codereview.webrtc.org/1340923002 .

Cr-Commit-Position: refs/heads/master@{#9931}
2015-09-14 14:10:53 +00:00
fc9dd1710d Added boundary check for array access as a short-term way of fixing the bug of out-of-bounds reads into the array
BUG=chromium:529527, chromium:529552

Review URL: https://codereview.webrtc.org/1338993003

Cr-Commit-Position: refs/heads/master@{#9930}
2015-09-14 13:54:03 +00:00
5e023eb337 Add TransportFeedback adapter, adapting remote feedback to bwe estiamtor
When using send-side bandwidth estimation, the inter-packet delay is
reported back to the sender using RTCP TransportFeedback messages.
Theis data needs to be translated into a format which the bandwidth
estimator (now instantiated on the send side) can use, including looking
up the local absolute send time from the send time history.

BUG=webrtc:4173

Review URL: https://codereview.webrtc.org/1329083005

Cr-Commit-Position: refs/heads/master@{#9929}
2015-09-14 13:42:49 +00:00
36d619b01e Log timestamps when old frames are delivered.
BUG=webrtc:4994
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1335993003

Cr-Commit-Position: refs/heads/master@{#9928}
2015-09-14 13:07:39 +00:00
847855b865 Add a name to the ProcessThread constructor.
Helps differentiate between different instances when debugging.

Review URL: https://codereview.webrtc.org/1337003003

Cr-Commit-Position: refs/heads/master@{#9927}
2015-09-11 16:52:22 +00:00
c32d2db69b Refactor RTPPacketHistory to use a packet struct.
Collects packet information within a struct instead of spreading it out
over different vectors. Adds a fixed-size buffer to the stored packet
instead of using vectors.

BUG=
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1340573002

Cr-Commit-Position: refs/heads/master@{#9926}
2015-09-11 15:33:42 +00:00
92068ee683 Android: Guard against switching camera on stopped camera
It is possible that cameraThreadHandler is null upon calling
switchCamera(). This CL adds a guard against that.

Review URL: https://codereview.webrtc.org/1325333003

Cr-Commit-Position: refs/heads/master@{#9925}
2015-09-11 13:30:37 +00:00
c68700f717 Add README.md to root directory
This markdown file will automatically be rendered at the lower part of
the page when users browse to
https://chromium.googlesource.com/external/webrtc

BUG=
R=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1327273002 .

Cr-Commit-Position: refs/heads/master@{#9924}
2015-09-11 09:04:09 +00:00
f08fb29aa5 Disable flaky test (WebRtcVideoChannel2Base.AddRemoveCapturer) on Dr. Memory.
BUG=webrtc:4963
R=kjellander@webrtc.org

Review URL: https://codereview.webrtc.org/1340433002 .

Cr-Commit-Position: refs/heads/master@{#9923}
2015-09-11 07:56:19 +00:00
c06a716d59 Android: Add new renderer SurfaceViewRenderer
BUG=webrtc:4742,webrtc:4910
R=glaznev@webrtc.org

Review URL: https://codereview.webrtc.org/1308223002 .

Cr-Commit-Position: refs/heads/master@{#9922}
2015-09-11 07:51:59 +00:00
df1a171def Remove unused event in video_capture_input.cc.
Review URL: https://codereview.webrtc.org/1331833003

Cr-Commit-Position: refs/heads/master@{#9921}
2015-09-11 05:50:47 +00:00
d12140a68e Revert change which removes GICE.
There are still dependencies on this functionality.

TBR=pthatcher@webrtc.org

BUG=526399

Review URL: https://codereview.webrtc.org/1336553003

Cr-Commit-Position: refs/heads/master@{#9920}
2015-09-10 20:32:21 +00:00
fab882b193 Remove obsolete typingmonitor.cc/.h files.
To be committed once https://codereview.webrtc.org/1327033002/ has propagated to Chromium, and Chromium's libjingle.gyp has been updated.

BUG=webrtc:4690

Review URL: https://codereview.webrtc.org/1308663005

Cr-Commit-Position: refs/heads/master@{#9919}
2015-09-10 15:38:21 +00:00
4ed3658b78 Avoids crashes in Java-based InitRecording().
This CL ensures that we return -1 in cases where InitRecording() fails. It ensures that we don't crash applications.

BUG=b/22849644
R=magjed@webrtc.org

Review URL: https://codereview.webrtc.org/1323243012 .

Cr-Commit-Position: refs/heads/master@{#9918}
2015-09-10 13:18:33 +00:00
39720f2669 ACM CodecOwner: Test that we reset speech encoder when enabling CNG or RED
If we don't, we'll end up crashing if they're enabled when the speech
encoder is in the middle of encoding a packet, since CNG and RED
assume that the speech encoder starts out with an empty buffer
(because they need to be in sync with it).

BUG=chromium:490368

Review URL: https://codereview.webrtc.org/1331853002

Cr-Commit-Position: refs/heads/master@{#9917}
2015-09-10 12:44:52 +00:00