Commit Graph

5069 Commits

Author SHA1 Message Date
c21f0c04cc Remove WEBRTC_ANDROID from hardcoded gtest relative path usage.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10501}
2015-11-04 07:47:46 +00:00
ff761fba82 modules: more interface -> include renames
This changes the following module directories:
* webrtc/modules/audio_conference_mixer/interface
* webrtc/modules/interface
* webrtc/modules/media_file/interface
* webrtc/modules/rtp_rtcp/interface
* webrtc/modules/utility/interface

To avoid breaking downstream, I followed this recipe:
1. Copy the interface dir to a new sibling directory: include
2. Update the header guards in the include directory to match the style guide.
3. Update the header guards in the interface directory to match the ones in include. This is required to avoid getting redefinitions in the not-yet-updated downstream code.
4. Add a pragma warning in the header files in the interface dir. Example:
#pragma message("WARNING: webrtc/modules/interface is DEPRECATED; "
                "use webrtc/modules/include")
5. Search for all source references to webrtc/modules/interface and update them to webrtc/modules/include (*.c*,*.h,*.mm,*.S)
6. Update all GYP+GN files. This required manual inspection since many subdirectories of webrtc/modules referenced the interface dir using ../interface etc(*.gyp*,*.gn*)

BUG=5095
TESTED=Passing compile-trybots with --clobber flag:
git cl try --clobber --bot=win_compile_rel --bot=linux_compile_rel --bot=android_compile_rel --bot=mac_compile_rel --bot=ios_rel -m tryserver.webrtc

R=stefan@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10500}
2015-11-04 07:32:04 +00:00
4b938e5c69 Hide ACMCodecDB::database_ behind accessors
BUG=webrtc:5028

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

Cr-Commit-Position: refs/heads/master@{#10498}
2015-11-03 20:38:31 +00:00
1fd4a4ab35 Let AudioCodingModule::SendCodec return Maybe<CodecInst>
And deal with the consequences thereof...

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

Cr-Commit-Position: refs/heads/master@{#10497}
2015-11-03 19:20:57 +00:00
5ab193fd8d Remove system_wrappers dep from field_trial_default and metrics_default.
field_trial_default and metrics_default don't use system_wrappers and
don't need to depend on it. The dependency on field_trial_default was
added in libjingle in crrev.com/356135 and that broke compilation of
libjingle for NaCl with GN because system_wrappers currently doesn't
compile for NaCl.

TBR=niklas.enbom@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10495}
2015-11-03 17:36:56 +00:00
de94d08d57 Hide ACMCodecDB::codec_settings_ behind an accessor
BUG=webrtc:5028

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

Cr-Commit-Position: refs/heads/master@{#10494}
2015-11-03 13:46:14 +00:00
373284da06 Make SendStatisticsProxy outlive ViEChannel.
Prevents data race on stats_proxy_ on VideoSendStream destruction.

BUG=
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10493}
2015-11-03 12:53:16 +00:00
1ba936a807 Revert of Fix for "Android audio playout doesn't support non-call media stream" (patchset #3 id:40001 of https://codereview.webrtc.org/1419693004/ )
Reason for revert:
Causes issues on some phones, e.g. Sony mobiles.
See b/25385046 for details.

Original issue's description:
> Fix for "Android audio playout doesn't support non-call media stream"
>
> BUG=webrtc:4767
> R=magjed@webrtc.org
>
> Committed: https://crrev.com/6408174cdc4040528dd87ff7e5c76be91cdbafbe
> Cr-Commit-Position: refs/heads/master@{#10435}

TBR=magjed@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4767

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

Cr-Commit-Position: refs/heads/master@{#10492}
2015-11-03 12:28:03 +00:00
0ccae13556 Changed FakeVoiceEngine into a MockVoiceEngine.
BUG=webrtc:4690
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10491}
2015-11-03 09:15:59 +00:00
5eb9d57883 Re-enable PCAP reading in neteq_rtpplay
Reading of PCAP (Wireshark) files was not possible due to a bug in the
parsing of files. This change fixes that by adding new validator methods
to RtpFileSource that can be used to determine the input file type.

R=ivoc@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10490}
2015-11-03 08:32:12 +00:00
f1104f6d66 Remove TODO referring to issue1981, which I just marked WontFix.
TBR=aluebs@webrtc.org
BUG=webrtc:1981

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

Cr-Commit-Position: refs/heads/master@{#10488}
2015-11-03 01:46:41 +00:00
20a3461908 Remove deprecated IsUnresolved() method from SocketAddress API.
This patch removes IsUnresolved() method and update the clients to use
IsUnresolvedIP() instead.

BUG=None
R=perkj@webrtc.org
TBR=glaznev@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10487}
2015-11-03 00:20:28 +00:00
678c903eb2 Delete AcmReceiver::SetInitialDelay
This method is no longer called. With that gone, a number of other
methods and member variables are obsoleted, and removed.

Methods deleted:
AcmReceiver::InsertStreamOfSyncPackets
AcmReceiver::GetNumSyncPacketToInsert()
AcmReceiver::GetSilence, never called

Member variables deleted:
missing_packets_sync_stream_
late_packets_sync_stream_
av_sync_
initial_delay_manager_

BUG=webrtc:3520

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

Cr-Commit-Position: refs/heads/master@{#10484}
2015-11-02 16:31:30 +00:00
ce4aef16ee Adding support for simulcast and spatial layers into VideoQualityTest
This is a re-land of https://codereview.webrtc.org/1353263005/
which was reverted because of perf-regressions. Changes since that CL:

* Change LayerFilteringTransport to send a padding packet instead of
  dropping it for data that should be filtered out. This prevents
  confusion due to changed sequence numbers.

* Changed timing of stats poller thread in VideoAnalyzer. Startup was
  racy wrt initializion of send_stream_.

* Minor formatting issues.

PERF NOTE: This change will affect some performance numbers slightly.
In particular, {encode_frame_rate, encode_time_ms,
encode_usage_percent, media_bitrate_bps} will change due to timing
of the measurements.

BUG=
R=pbos@webrtc.org
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10483}
2015-11-02 15:23:24 +00:00
1d5c9bd800 Remove unused method AcmReceiver:RedPayloadType
BUG=webrtc:3520

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

Cr-Commit-Position: refs/heads/master@{#10481}
2015-11-02 12:46:35 +00:00
792982b340 Suppress data races in AudioDeviceLinuxPulse::Init.
Triggers more often on tsanv2 in parallel, suppressing for now to get
the parallel bot into the main waterfall.

BUG=chromium:445880, webrtc:5152
R=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10480}
2015-11-02 12:42:48 +00:00
6f29a69f7f Suppress data races in sctp_close.
More visible in parallel execution of tsanv2, suppression needed for now
to launch parallel in main waterfall.

BUG=chromium:445880, webrtc:5151
R=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10478}
2015-11-02 12:18:32 +00:00
0b8d056af2 Rename InitCpuFlags suppression.
Stack symbolization on parallel tsan bot doesn't include libyuv namespace.

BUG=libyuv:508, chromium:445880
R=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10477}
2015-11-02 12:04:31 +00:00
9bc2667fa6 ACM/NetEq: Restructure how post-decode VAD is enabled
This change avoids calling neteq_->EnableVad() and DisableVad from the
AcmReceiver constructor. Instead, the new member
enable_post_decode_vad is added to NetEq's config struct. It is
disabled by defualt, but ACM sets it to enabled. This preserves the
behavior both of NetEq stand-alone (i.e., in tests) and of ACM.

BUG=webrtc:3520

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

Cr-Commit-Position: refs/heads/master@{#10476}
2015-11-02 11:26:03 +00:00
d56d68cd27 system_wrappers: Fix include header guards.
This should have been a part of https://codereview.webrtc.org/1413333002/

The header guard PRESUBMIT rule is being enabled in
https://codereview.webrtc.org/1419203005 so things like this won't
happen in the future.

BUG=5095
NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#10475}
2015-11-02 10:12:50 +00:00
608213e737 Add locks and thread annotations for ReceiverReferenceTimeReportEnabled.
Review URL: https://codereview.webrtc.org/1413543007

Cr-Commit-Position: refs/heads/master@{#10473}
2015-11-01 22:56:14 +00:00
74f0f3551e Delete a chain of methods in ViE, VoE and ACM
The end goal is to remove AcmReceiver::SetInitialDelay. This change is
in preparation for that goal. It turns out that
AcmReceiver::SetInitialDelay was only invoked through the following
call chain, where each method in the chain is never referenced from
anywhere else (except from tests in some cases):

ViEChannel::SetReceiverBufferingMode
-> ViESyncModule::SetTargetBufferingDelay
-> VoEVideoSync::SetInitialPlayoutDelay
-> Channel::SetInitialPlayoutDelay
-> AudioCodingModule::SetInitialPlayoutDelay
-> AcmReceiver::SetInitialDelay

The start of the chain, ViEChannel::SetReceiverBufferingMode was never
referenced.

This change deletes all the methods above except
AcmReceiver::SetInitialDelay itself, which will be handled in a
follow-up change.

BUG=webrtc:3520

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

Cr-Commit-Position: refs/heads/master@{#10471}
2015-11-01 19:43:38 +00:00
e502bbe138 Update webrtc/base/common.h after recent _DEBUG->!NDEBUG change.
R=tfarina@chromium.org
TBR=tfarina@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10470}
2015-10-31 21:41:44 +00:00
a41ab9326c Switch usage of _DEBUG macro to NDEBUG.
http://stackoverflow.com/a/29253284/5237416

BUG=None
R=tommi@webrtc.org
NOPRESUBMIT=true

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

Cr-Commit-Position: refs/heads/master@{#10468}
2015-10-30 23:08:54 +00:00
8e1809fcd7 Fix TransientSuppression in audioproc_float
Review URL: https://codereview.webrtc.org/1411423010

Cr-Commit-Position: refs/heads/master@{#10466}
2015-10-30 22:29:23 +00:00
0be3e040f6 Disable PhysicalSocketTest.TestUdpReadyToSendIPv4 on Android.
The test didn't previously run on Android bots, but was enabled by
mistake in https://codereview.webrtc.org/1426643003/

It used to be long to the rtc_unittests target, which also don't run
on Android unfortunately. For now, let's just disable this one test
on Android to get the bots go green.

BUG=4364
TBR=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10464}
2015-10-30 20:21:11 +00:00
8a4f547dad Hang on android when DNS resolution is not done
BUG=webrtc:5139
R=juberti@google.com
TBR=juberti@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10463}
2015-10-30 16:12:45 +00:00
102c6a61bc Replace rtc:🦗:Settable with rtc::Maybe
The former is very similar to the latter, but less general (mostly in
naming).

This CL, which is the first to use Maybe at scale, also removes the implicit conversion from T to Maybe<T>, since it was agreed that the increased verbosity increased legibility.

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

Cr-Commit-Position: refs/heads/master@{#10461}
2015-10-30 09:47:44 +00:00
bdafe31b86 Add aecdump support to audioproc_f.
Add a new interface to abstract away file operations. This CL temporarily
removes support for dumping the output of reverse streams. It will be easy to
restore in the new framework, although we may decide to only allow it with
the aecdump format.

We also now require the user to specify the output format, rather than
defaulting to the input format.

TEST=Bit-exact output to the previous audioproc_f version using an input wav
file, and to the legacy audioproc using an aecdump file.

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

Cr-Commit-Position: refs/heads/master@{#10460}
2015-10-30 06:43:00 +00:00
cb3f9bd9c0 Make the nonlinear beamformer steerable
Depends on this CL: https://codereview.webrtc.org/1395453004/

R=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10458}
2015-10-30 01:21:40 +00:00
7367463acc Utilize bitrate above codec max to protect video.
When estimating that we can send more than the codec max bitrate (under
the assumption that codec max bitrate is good enough for the quality),
we should use additional bitrate so that we can maintain good quality.

Global bitrate caps should still be enforced through bitrate caps (b=AS)
and not codec max bitrates.

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

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

Cr-Commit-Position: refs/heads/master@{#10457}
2015-10-29 22:45:04 +00:00
315dce7ac1 Enable VP9 internal resize by default.
R=stefan@webrtc.org
TBR=stefan@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10456}
2015-10-29 18:16:06 +00:00
4f5db11e45 Make VCMEncodedFrameCallback const.
Skips nullptr check.

BUG=
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10454}
2015-10-29 15:54:08 +00:00
69ccb33131 Remove redudant encoder rate calls.
Moves EncoderParameters update checks into GenericEncoder before calling
SetRates/SetChannelParameters as applicable.

Also removes CodecConfigParameters as a bonus.

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

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

Cr-Commit-Position: refs/heads/master@{#10452}
2015-10-29 15:30:29 +00:00
4f4f756f6f Create isolate files for nonparallel tests.
Adds missing Android things for webrtc_nonparallel_tests.

BUG=chromium:445880
R=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10451}
2015-10-29 14:29:15 +00:00
1295297153 Register header extensions in RtpRtcpObserver to avoid log spam.
BUG=webrtc:5118
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10450}
2015-10-29 14:13:35 +00:00
ee1879ca40 Make an enum class out of NetEqDecoder, and hide the neteq_decoders_ table
This operation was relatively simple, since no one was doing anything
fishy with this enum. A large number of lines had to be changed
because the enum values now live in their own namespace, but this is
arguably worth it since it is now much clearer what sort of constant
they are.

BUG=webrtc:5028

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

Cr-Commit-Position: refs/heads/master@{#10449}
2015-10-29 13:20:33 +00:00
48ed930975 ACM: Move NACK functionality inside NetEq
Negative acknowledgement (NACK) has up to now been implemented in
ACM. But, since NetEq is in charge of the actual packet buffer, it
makes more sense to have the NACK functionlaity in there.

This CL does the following:
- Move nack.{h,cc} and the unit tests from main/acm2 to neteq.
- Move the NACK related code in ACM into NetEq.
- NACK related functions in AcmReceiver are changed to simple
  forwarding APIs.
- Remove unused members in AcmReceiver.
- Remove unused API functions in NetEq.

BUG=webrtc:3520

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

Cr-Commit-Position: refs/heads/master@{#10448}
2015-10-29 12:36:32 +00:00
a35ae7f507 Fix chromium-style warnings in webrtc/sound/.
Tested on Linux with the following command lines:

$ ./webrtc/build/gyp_webrtc -Dclang_use_chrome_plugins=1
$ ninja -C out/Release rtc_sound

BUG=webrtc:163
R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10447}
2015-10-29 11:50:15 +00:00
95192fbb1e Create a 'webrtc_nonparallel_tests' target.
Used for tests that cannot be run in parallel due to using non-virtual
resources such as filesystems and sockets. Initially moves socket
unittests from rtc_unittest since
PhysicalSocketTest.TestUdpReadyToSendIPv4 is one of the worst flake
offenders.

Future prospect targets are GTEST_DEATH tests that are flaky on Mac in
parallel for instance.

BUG=chromium:445880
R=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10446}
2015-10-29 11:42:06 +00:00
6449990387 Update scalability structure data according to updates in the RTP payload profile.
https://tools.ietf.org/id/draft-ietf-payload-vp9-01.txt

BUG=chromium:500602
TBR=mflodman

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

Cr-Commit-Position: refs/heads/master@{#10445}
2015-10-29 10:35:16 +00:00
74640895fa audio_coding: rename interface -> include
BUG=webrtc:5095
R=henrik.lundin@webrtc.org
TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10444}
2015-10-29 10:31:11 +00:00
be81fa538d Rewrote perform_action_on_all_files to be parallell.
This speeds up decode for a 720p workload from 25s to 5s on my machine.
I did some benchmarking and it appears we spend the vast majority of
the time on zxing decoding, so now we will bring all processors on the
the machine to bear.

BUG=webrtc:4986

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

Cr-Commit-Position: refs/heads/master@{#10443}
2015-10-29 09:22:51 +00:00
32df5efc6d Update reference indices according to updates in the RTP payload profile.
https://tools.ietf.org/id/draft-ietf-payload-vp9-01.txt

BUG=chromium:500602

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

Cr-Commit-Position: refs/heads/master@{#10442}
2015-10-29 08:45:47 +00:00
98f53510b2 system_wrappers: rename interface -> include
BUG=webrtc:5095
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10438}
2015-10-28 17:17:50 +00:00
ebc0b4e993 Use webrtc/base/logging.h for rtp_rtcp.
BUG=webrtc:5118
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10437}
2015-10-28 15:39:43 +00:00
6408174cdc Fix for "Android audio playout doesn't support non-call media stream"
BUG=webrtc:4767
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10435}
2015-10-28 12:06:24 +00:00
fce4a945b8 RentACodec: New class that takes over part of ACMCodecDB's job
Following CLs will finish the takeover completely. After that,
RentACodec will also start creating and owning codecs, at which point
its name will start making sense.

BUG=webrtc:5028

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

Cr-Commit-Position: refs/heads/master@{#10432}
2015-10-27 18:40:29 +00:00
77d0d6e858 When all connections timed out on writing, delete them all.
BUG=5111

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

Cr-Commit-Position: refs/heads/master@{#10431}
2015-10-27 18:34:50 +00:00
f116bd0d7a Call OnSentPacket for all packets sent in the test framework.
Required a bit of refactoring to make it possible to pass a Call to DirectTransport on construction. This also lead to me having to remove the shared lock between PacketTransport and RtpRtcpObserver. Now RtpRtcpObserver has a SetTransports method instead of a SetReceivers method.

BUG=webrtc:4173

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

Cr-Commit-Position: refs/heads/master@{#10430}
2015-10-27 15:29:47 +00:00