Commit Graph

4245 Commits

Author SHA1 Message Date
86fd9ed6f9 Set RtcpSender transport at construction.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10106}
2015-09-29 11:45:51 +00:00
fb9e76369d Remove last use of ACMAMRPackingFormat
It was no-op used in FileRecorder.

BUG=webrtc:3520

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

Cr-Commit-Position: refs/heads/master@{#10102}
2015-09-29 06:30:31 +00:00
d6024e3c34 Roll chromium_revision 310ea93..8cf53d6 (349094:351112)
Our perf test suite webrtc_perf_tests timed out, which caused most
of the delay landing this (https://crbug.comn/535973 and
https://codereview.chromium.org/1370133004).

Other problems with executing Android tests also needed to be
resolved in order to land this (http://crbug.com/534849).

Libvpx has moved from third_party/libvpx to third_party/libvpx_new
as of https://codereview.chromium.org/1323333002/

Android GN was blocking this roll due to a problem that ended up
being caused by a bug (http://crbug.com/534849).

Relevant changes:
* src/buildtools: f7310ee..8d89c1b
* src/third_party/boringssl/src: 1d128f3..4c60d35
* src/third_party/icu: 6b3ce81..423fc7e
* src/third_party/libjpeg_turbo: 631e2dd..e4e7503
* src/third_party/libvpx: ac1772e..70db223
* src/third_party/libyuv: fcacbfb..62c49dc
* src/tools/gyp: 5d01a8c..01528c7
* src/tools/swarming_client: 77f720b..6e5d2b2
Details: 310ea93..8cf53d6/DEPS

Clang version changed 245965:247874
Details: 310ea93..8cf53d6/tools/clang/scripts/update.sh

BUG=481034, 535973
TBR=marpan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10101}
2015-09-29 04:16:53 +00:00
2d566686a2 Unify Transport and newapi::Transport interfaces.
BUG=webrtc:1695
R=stefan@webrtc.org
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10096}
2015-09-28 16:59:36 +00:00
8387c5f449 Remove AMR format parameter from AudioCoder in utility
The parameter was never used.

BUG=webrtc:3520

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

Cr-Commit-Position: refs/heads/master@{#10095}
2015-09-28 16:24:56 +00:00
1968d3f357 Simplify VCMTimestampMap.
Fixes code formatting and uses size_t properly. Also makes use of
IsNewerTimestamp instead of a simple > check, which should fix an
edge-case bug.

BUG=
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10094}
2015-09-28 15:55:52 +00:00
4b808eee85 ACM: Remove unused and deprecated types
None of these were used.

BUG=webrtc:3520
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10090}
2015-09-28 13:52:56 +00:00
1bd0e03ce5 ACM: Removing runtime APIs related to playout mode
The playout mode in NetEq can still be set through the constructor
configuration.

BUG=webrtc:3520

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

Cr-Commit-Position: refs/heads/master@{#10089}
2015-09-28 13:12:21 +00:00
d417523194 Minor fix for debug logging on Android
BUG=NONE

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

Cr-Commit-Position: refs/heads/master@{#10088}
2015-09-28 11:50:18 +00:00
4fbd145dce Fix suspend below min bitrate in new API by making it possible to set min bitrate at the receive-side.
In addition to this the ramp-up tests are refactored to use a receive call instead of only a remote bitrate estimator, and to make use of BaseTest.

BUG=webrtc:4836

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

Cr-Commit-Position: refs/heads/master@{#10087}
2015-09-28 10:57:23 +00:00
82d6f2a3f7 ACM: Remove ACMVQMonCallback object
It was never used, and the underlying functionality was removed long
ago.

BUG=3520
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10083}
2015-09-28 08:25:33 +00:00
69984f0533 Fixes logging levels in WebRtcAudioXXX.java classes
BUG=NONE
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10082}
2015-09-28 07:24:16 +00:00
d6d27e7340 Update isolate.gypi to support Swarming + move .isolate files
This updates the isolate.gypi copies we have to maintain in our
code repo to Chromium's revision 310ea93.
The changes about generating .isolated.gen.json files are needed
to support running with Swarming (https://www.chromium.org/developers/testing/isolated-testing)

Since isolated testing is now using a new launch script
in tools: isolate_driver.py, that's added to our links
script.

In order to use isolate_driver.py, the .isolate files must be in the
same directory as the test_name_run target is defined, which meant
I had to move around some of the isolate files and targets below
webrtc/modules.

BUG=497757
R=maruel@chromium.org
TBR=henrik.lundin@webrtc.org, mflodman@webrtc.org, niklas.enbom@webrtc.org
TESTED=Clobbered trybots:
git cl try -c --bot=linux_compile_rel --bot=mac_compile_rel --bot=win_compile_rel --bot=android_compile_rel --bot=ios_rel -m tryserver.webrtc

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

Cr-Commit-Position: refs/heads/master@{#10081}
2015-09-25 20:19:21 +00:00
1741770742 Implement a high-QP threshold for Android H.264.
Android hardware H.264 seems to keep a steady high-QP flow instead of
dropping frames, so framedrops aren't sufficient to detect a bad state
where downscaling would be beneficial.

BUG=webrtc:4968
R=magjed@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10078}
2015-09-25 15:03:37 +00:00
a323fd66de Removes Nexus 6 from OpenSL ES blacklist.
BUG=b/1370703002
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10077}
2015-09-25 14:25:40 +00:00
702f39726b GN: Do not use forward_dependent_configs_from variable.
It is deprecated and public_deps should be used instead, which will have
the
same effect.

BUG=None
R=brettw@chromium.org,kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10074}
2015-09-25 12:57:47 +00:00
5c389d3e09 Split webrtc/video into webrtc/{audio,call,video}.
Moves audio_receive_stream.{h,cc} into webrtc/audio, and common parts
into webrtc/call, splitting out audio/shared components with separate
OWNERS files.

BUG=webrtc:4690
R=solenberg@webrtc.org, tina.legrand@webrtc.org
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10073}
2015-09-25 11:58:39 +00:00
82e20554cb Modifies invalid DCHECK in AudioRecordJni::OnCacheDirectBufferAddress()
Ensures that we can restart audio recording on Android without hitting
a DCHECK. Also adds a symmetric design for the playout side.

BUG=webrtc:5000
TEST=modules_unittests --gtest_filter=AudioDevice*

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

Cr-Commit-Position: refs/heads/master@{#10072}
2015-09-25 11:26:19 +00:00
3fd7be4cb1 Revert of Don't link with audio codecs that we don't use (patchset #4 id:60001 of https://codereview.webrtc.org/1349393003/ )
Reason for revert:
Breaking Chromium FYI bots.

Original issue's description:
> Don't link with audio codecs that we don't use
>
> We used to link with all audio codecs unconditionally (except Opus);
> this patch makes gyp and gn only link to the ones that are used.
>
> (This unfortunately fails to have a measurable impact on Chromium
> binary size, at least on x86_64 Linux; it turns out that iLBC and iSAC
> fix were already being excluded from Chromium by some other means
> (likely just the linker omitting compilation units with no incoming
> references).)
>
> BUG=webrtc:4557
>
> Committed: https://crrev.com/f66a9251424351ea6d631c54dd1feb64cc13d809
> Cr-Commit-Position: refs/heads/master@{#10046}

TBR=henrik.lundin@webrtc.org,tina.legrand@webrtc.org,kjellander@webrtc.org,kwiberg@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4557

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

Cr-Commit-Position: refs/heads/master@{#10069}
2015-09-25 08:36:11 +00:00
a53e383d7d Revert of CodecOwner: Don't look at definitions for classes we don't link with (patchset #1 id:1 of https://codereview.webrtc.org/1364233002/ )
Reason for revert:
Breaking Chromium FYI bots.

Original issue's description:
> CodecOwner: Don't look at definitions for classes we don't link with
>
> It's good hygiene and just generally the right thing to do. And
> apparently at least sometimes required by Microsoft's compiler.
>
> Committed: https://crrev.com/f4d38ea57aa739b525066b095468cb4af1d2799b
> Cr-Commit-Position: refs/heads/master@{#10060}

TBR=henrik.lundin@webrtc.org,tommi@webrtc.org,kwiberg@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#10068}
2015-09-25 08:31:01 +00:00
574d5daa6d CodecOwner::SetEncoders: Return error code when given bad arguments
Instead of FATAL on a bad codec specification, log and return an error
code. This is a band-aid until callers are taught to only give it good
specifications.

BUG=webrtc:5033, chromium:526478

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

Cr-Commit-Position: refs/heads/master@{#10066}
2015-09-25 05:54:00 +00:00
f4d38ea57a CodecOwner: Don't look at definitions for classes we don't link with
It's good hygiene and just generally the right thing to do. And
apparently at least sometimes required by Microsoft's compiler.

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

Cr-Commit-Position: refs/heads/master@{#10060}
2015-09-24 17:21:02 +00:00
8a88dd271e Stability improvement for audio recording on Android
BUG=NONE
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10056}
2015-09-24 14:45:14 +00:00
9236bb1e08 Minor fix for improving logging of supported platform effects
BUG=NONE
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10053}
2015-09-24 13:58:46 +00:00
6b8d355168 Reland "Wire up send-side bandwidth estimation."
Revert was patchset #8 id:140001 of https://codereview.webrtc.org/1338203003/

The culprit was RTC_DCHECK(poller_thread_->Start()); in rampup_test.cc

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

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

Cr-Commit-Position: refs/heads/master@{#10052}
2015-09-24 13:07:17 +00:00
8c266e6baf H264 bitstream parser.
Parsing the encoded bitstream is required for doing downscaling
decisions based on average encoded QP to improve perceived quality.

BUG=webrtc:4968
R=noahric@chromium.org, stefan@webrtc.org
TBR=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10051}
2015-09-24 13:07:04 +00:00
ec249d4eae ACMCodecDB: Remove unused stuff, and move private stuff to anonymous namespace
BUG=webrtc:5028

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

Cr-Commit-Position: refs/heads/master@{#10048}
2015-09-24 11:32:11 +00:00
f66a925142 Don't link with audio codecs that we don't use
We used to link with all audio codecs unconditionally (except Opus);
this patch makes gyp and gn only link to the ones that are used.

(This unfortunately fails to have a measurable impact on Chromium
binary size, at least on x86_64 Linux; it turns out that iLBC and iSAC
fix were already being excluded from Chromium by some other means
(likely just the linker omitting compilation units with no incoming
references).)

BUG=webrtc:4557

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

Cr-Commit-Position: refs/heads/master@{#10046}
2015-09-24 10:18:48 +00:00
c675ddd830 video_capture: Better support for UYVY
A couple of places were missing handling of UYVY video formats.

BUG=webrtc:4816

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

Cr-Commit-Position: refs/heads/master@{#10044}
2015-09-24 08:11:45 +00:00
cdfe20bfc1 Fix the maximum native sample rate in AudioProcessing
BUG=webrtc:4983
R=andrew@webrtc.org, henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10037}
2015-09-23 19:49:21 +00:00
6d92bf59f3 Returning correct duration estimate on Opus DTX packets.
Bug 4985 revealed two flaws
1. Opus duration estimate did not return correct length for DTX packets,

2. NetEq DoCodecInternalCng did not assign enough buffer.

P.S.
Generalizing problem 1, current NetEq decode function checks memory size by calling the duration estimate function. This is not ideal. A better way is to let codec's decode function to receive buffer size and return failure if it is not enough. This can be made in a separate CL.

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

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

Cr-Commit-Position: refs/heads/master@{#10031}
2015-09-23 13:20:56 +00:00
c14f5ff60f Improving support for Android Audio Effects in WebRTC.
Now also supports AGC and NS effects and adds the possibility
to override default settings.

R=magjed@webrtc.org, pbos@webrtc.org, sophiechang@chromium.org
TBR=perkj
BUG=NONE

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

Cr-Commit-Position: refs/heads/master@{#10030}
2015-09-23 12:09:40 +00:00
c9bbeb0354 Revert of Wire up send-side bandwidth estimation. (patchset #8 id:140001 of https://codereview.webrtc.org/1338203003/ )
Reason for revert:
Breaking some Android bots.
https://chromegw.corp.google.com/i/client.webrtc/builders/Android32%20Tests%20%28L%20Nexus5%29

Original issue's description:
> Wire up send-side bandwidth estimation.
>
> BUG=webrtc:4173
>
> Committed: https://crrev.com/ef165eefc79cf28bb67779afe303cc2365885547
> Cr-Commit-Position: refs/heads/master@{#10012}

TBR=stefan@webrtc.org, kjellander@webrtc.org
NOPRESUBMIT=false
NOTREECHECKS=false
NOTRY=false
BUG=webrtc:4173

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

Cr-Commit-Position: refs/heads/master@{#10029}
2015-09-23 11:52:01 +00:00
8967183bf7 Simple cleanups of AudioDecoder and AudioEncoder classes
* Make sure they're all final and don't allow copying or assignment.

  * Get rid of the single-channel PCM decoder classes.

  * Move some includes from .h to .cc files where possible.

BUG=webrtc:4557

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

Cr-Commit-Position: refs/heads/master@{#10021}
2015-09-22 21:06:34 +00:00
7404368998 Move AudioDecoderIsac* to its own files
Currently, it's sitting in AudioEncoderIsac*'s files, which is less
than obvious. This CL puts the encoder and decoder in separate files
together with the C implementation; CLs are afoot to make it so for
the other built-in codecs as well.

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

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

Cr-Commit-Position: refs/heads/master@{#10018}
2015-09-22 17:31:52 +00:00
6faf5bebba Move AudioDecoderPcm* next to AudioEncoderPcm*
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/1348613003

Cr-Commit-Position: refs/heads/master@{#10015}
2015-09-22 13:16:56 +00:00
ef165eefc7 Wire up send-side bandwidth estimation.
BUG=webrtc:4173

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

Cr-Commit-Position: refs/heads/master@{#10012}
2015-09-22 12:10:58 +00:00
ebbf8a805b Make sure rtp_rtcp module doesn't directly reference anything in the pacer module, and remove build dependencies on it.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10005}
2015-09-21 22:11:18 +00:00
35d1767cc3 Remove the video capture module on Android.
Video capture for android is now implemented in talk/app/webrtc/androidvideocapturer.h

BUG=webrtc:4475

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

Cr-Commit-Position: refs/heads/master@{#9995}
2015-09-21 08:46:37 +00:00
2803a40fe3 Fix ChromeOS build (C99 break)
BUG=5016
TBR=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9992}
2015-09-18 14:50:50 +00:00
e510d7f100 Remove ACM AudioCodingFeedback callback object and derived classes
The callback object was not used anymore. Also removing the deprecated
WEBRTC_DTMF_DETECTION macro from engine_configurations.h.

BUG=3520

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

Cr-Commit-Position: refs/heads/master@{#9988}
2015-09-18 10:56:15 +00:00
f4aa4c2283 Remove id from VideoProcessingModule.
Also converts CriticalSectionWrapper to rtc::CriticalSection as a bonus.

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

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

Cr-Commit-Position: refs/heads/master@{#9986}
2015-09-18 10:24:33 +00:00
586b19bdb6 Enable probing with repeated payload packets by default.
To make this possible padding only packets will have the same timestamp
as the previously sent media packet, as long as RTX is not enabled. This
has the side effect that if we send only padding for a long time without
sending media, a receive-side jitter buffer could potentially overflow.

In practice this shouldn't be an issue, partly because RTX is recommended and
used by default, but also because padding typically is terminated before being
received by a client. It is also not an issue for bandwidth estimation as long
as abs-send-time is used instead of toffset.

BUG=chromium:425925
R=mflodman@webrtc.org, sprang@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9984}
2015-09-18 09:14:42 +00:00
061b79af60 ACM: Remove functions related to DTMF
The functions were essentially no-op. Also removing forward declaration
of ACMDTMFDetection, which was not used.

BUG=3520

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

Cr-Commit-Position: refs/heads/master@{#9982}
2015-09-18 08:29:17 +00:00
11d583f414 Fix a bug in RtpFileSource related to RTCP packets in rtpdump files
According to http://www.cs.columbia.edu/irt/software/rtptools/#rtpdump,
RTCP packets are marked with plen==0. In this class, plen is mapped to
original_length, not length.

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

Cr-Commit-Position: refs/heads/master@{#9981}
2015-09-18 08:28:14 +00:00
ac547a6538 Remove channel ids from various interfaces.
Starts by removing channel/engine id from ViEChannel which propagates
down to the RTP/RTCP module as well as the transport class.

IncomingVideoStream::RenderFrame() is untouched for now but receives a
fake id instead of the previous channel id. Added a TODO to remove it
later but the RenderFrame call is implemented in a lot of
platform-dependent files and should probably remove the "manager" aspect
of renderers, so preferring to do it separately

BUG=webrtc:1695
R=henrika@webrtc.org, mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9978}
2015-09-17 21:06:02 +00:00
1d5198d5d2 Fix parameter in VP9 resize test.
TBR=stefan@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#9977}
2015-09-17 19:36:59 +00:00
f35072019b VP9: Add automaticeResize to codec setting.
Added unittest.
This setting allows for dynamic resizing at low bitrates.
Setting is off by default for now.

BUG=
R=mflodman@webrtc.org, stefan@webrtc.org
TBR=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9976}
2015-09-17 19:16:16 +00:00
ae856f2c9f Added support for logging the SSRC corresponding to AudioPlayout events.
To do this, the logging of this event was moved from the ACM to
VoiceEngine Channel. A new LogAudioPlayoutEvent function was added on
the RtcEventLog interface, and the LogDebugEvent function was removed
since it is no longer being used.

BUG=webrtc:4741
R=henrik.lundin@webrtc.org, henrikg@webrtc.org, kwiberg@webrtc.org, stefan@webrtc.org, terelius@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9972}
2015-09-17 14:34:15 +00:00
48c46dbad2 Reduces default sample rate from 44.1kHz to 16kHz to ensure
that we can open up audio in communication mode also on older
devices that only supports it in combination with 16kHz.

BUG=webrtc:4756
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9971}
2015-09-17 14:00:05 +00:00