13789 Commits

Author SHA1 Message Date
danilchap
0b4b72797e Use NtpTime in RtcpReceiver instead of pair of uints
BUG=webrtc:5565

Review-Url: https://codereview.webrtc.org/2389703007
Cr-Commit-Position: refs/heads/master@{#14557}
2016-10-06 16:24:51 +00:00
mflodman
15d8357bab Remove OnLocalSsrcChanged and rename EncoderStateFeedback.
The renaming is to reflect this class is only used for RTCP interaction
and not for other transports.

This Cl will be followed by multiple CLs moving all send-side RTP
functionality to a separate class, rtp module ownership away from
VideoSendStream and use TaskQueue instead of ProcessThread for RTP.

BUG=webrtc:6456

Review-Url: https://codereview.webrtc.org/2390463002
Cr-Commit-Position: refs/heads/master@{#14556}
2016-10-06 15:35:19 +00:00
minyue
41b9c801c2 Adding audio network adaptor to AudioEncoderOpus.
BUG=webrtc:6303

Review-Url: https://codereview.webrtc.org/2362703002
Cr-Commit-Position: refs/heads/master@{#14555}
2016-10-06 14:13:59 +00:00
peah
81b9291dfd The FFT functionality in aec_rdft* is based on legacy C
code which is not thread-safe in the sense that the
rdft_init method can only be run in a single-threaded.

Currently, inside WebRTC multiple instances of the audio-
processing module are set up which means that the init
method may be run concurrently.

In order to avoid having to protect the init method with
a lock to ensure single-threaded behavior that, this CL
places the FFT functionality inside a class so that there
is no global component of the FFT functionality.

Note that:
1) The nonstandard header for the ooura_fft.cc was copied
   from the aec_rdft.cc header, and augmented with a
   description of the changes introduced in this CL.
2) The clang warnings for the ooura_fft_sse2.cc,
   ooura_fft_neon.cc and ooura_fft_mips.cc were not
   addressed as this code was kept as it was before this CL
3) Clang-format was run on all files apart from
   ooura_fft_mips.cc (as that would change the format of
   the inline assempbly code).

Adding bypass of presubmit to avoid code style and header errors caused by the fact that files with legacy code are being renamed.

NOPRESUBMIT=true

BUG=chromium:638583

Review-Url: https://codereview.webrtc.org/2348213002
Cr-Commit-Position: refs/heads/master@{#14554}
2016-10-06 13:46:27 +00:00
ivoc
21a18ee267 Revert of Delete webrtc::VideoFrame::CopyFrame. (patchset #2 id:20001 of https://codereview.webrtc.org/2371363003/ )
Reason for revert:
This CL breaks internal dependencies.

Original issue's description:
> Delete webrtc::VideoFrame::CopyFrame.
>
> BUG=webrtc:5682
>
> Committed: https://crrev.com/0e7c7ce35d9449c5bb13328d1bfb04ad32e48ccc
> Cr-Commit-Position: refs/heads/master@{#14550}

TBR=magjed@webrtc.org,tommi@webrtc.org,nisse@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2397943003
Cr-Commit-Position: refs/heads/master@{#14553}
2016-10-06 13:29:34 +00:00
sakal
327e9d0821 Make MediaCodecEncoder fallback to a software encoder on failure.
This should allow us to enable Intel HW VP8 encoder again.

BUG=webrtc:6232,b/30947951

Review-Url: https://codereview.webrtc.org/2263043003
Cr-Commit-Position: refs/heads/master@{#14552}
2016-10-06 12:55:19 +00:00
stefan
a669a3a0dc Revert "Revert of Use sps and pps to determine decodability of H.264 frames. (patchset #4 id:60001 of https://codereview.webrtc.org/2341713002/ )"
This reverts commit 3cdfcd88a14449a9b116cb6149e1348d3a1e4cb2.

NOPRESUBMIT=true
BUG=webrtc:6208

Review-Url: https://codereview.webrtc.org/2385143002
Cr-Commit-Position: refs/heads/master@{#14551}
2016-10-06 12:04:59 +00:00
nisse
0e7c7ce35d Delete webrtc::VideoFrame::CopyFrame.
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2371363003
Cr-Commit-Position: refs/heads/master@{#14550}
2016-10-06 12:00:13 +00:00
philipel
93e451b0f5 Skip non-continuous FrameInfos when finding the next frame to return from FrameBuffer::NextFrame.
Also added DCHECKS to make sure that FrameInfos are not incorrectly updated.

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

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

Cr-Commit-Position: refs/heads/master@{#14549}
2016-10-06 10:25:24 +00:00
sakal
55b9544290 Add camera start/stop time stats to VideoCapturerAndroid.
BUG=webrtc:6302

Review-Url: https://codereview.webrtc.org/2395433003
Cr-Commit-Position: refs/heads/master@{#14548}
2016-10-06 09:59:50 +00:00
denicija
4f15ca5d74 Replaces the SessionPresets with AVCaptureDeviceFormats.
It eliminates the need for hardcoded enumerations of the supported presets.
Hopefully it enables us to support slightly bigger set of resolutions and make the code slightly cleaner.

BUG=webrtc:6355

Review-Url: https://codereview.webrtc.org/2349223002
Cr-Commit-Position: refs/heads/master@{#14547}
2016-10-06 09:32:10 +00:00
magjed
68979ab7dd H264 codec: Check profile-level-id when matching
For the H264 video codec, comparing the codec name is not enough
for determining a match. The profile-level-id must also match.
This CL:
 - Specializes the VideoCodec::Matches function with extra logic for
   matching H264 codecs.
 - Adds unittests for matching H264 video codecs.
 - Removes the unnecessary CodecTest fixture class.

BUG=webrtc:6337,chromium:645599

Review-Url: https://codereview.webrtc.org/2347863003
Cr-Commit-Position: refs/heads/master@{#14546}
2016-10-06 09:15:56 +00:00
hbos
fc5e0504ea rtc_stats: Update code to remove chromium style warnings suppression.
The warning previously suppressed made it possible to define tings like
constructors in the header, and "complex" objects did not need to have
an explicit out-of-line copy constructor, destructor, etc.

To be able to not suppress this warning, the RTCStats macro was split
into a WEBRTC_RTCSTATS_DECL() and WEBRTC_RTCSTATS_IMPL() for .h and .cc
respectively. Some copy constructors are also defined.

BUG=chromium:627816

Review-Url: https://codereview.webrtc.org/2373503002
Cr-Commit-Position: refs/heads/master@{#14545}
2016-10-06 09:06:16 +00:00
henrik.lundin
bf7c620280 Fix lint errors in audio_coding_module_unittest.cc
BUG=None
NOTRY=True

Review-Url: https://codereview.webrtc.org/2389263003
Cr-Commit-Position: refs/heads/master@{#14544}
2016-10-06 08:53:39 +00:00
nisse
8e7577c468 Revert of Delete transformadapter.cc and transformadapter.h. (patchset #2 id:20001 of https://codereview.webrtc.org/2368243002/ )
Reason for revert:
This change broke a downstream application.

Original issue's description:
> Delete transformadapter.cc and transformadapter.h.
>
> BUG=webrtc:6424
>
> Committed: https://crrev.com/2c3c3e27321e4b616bd1222857b2882befc485e3
> Cr-Commit-Position: refs/heads/master@{#14541}

TBR=perkj@webrtc.org,pthatcher@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2400443003
Cr-Commit-Position: refs/heads/master@{#14543}
2016-10-06 08:37:42 +00:00
henrik.lundin
2504c0a91c Drop _oldapi from ACM test file names
Updating GN files, include paths, and include guards

BUG=None
NOTRY=True
NOPRESUBMIT=true

Review-Url: https://codereview.webrtc.org/2387113005
Cr-Commit-Position: refs/heads/master@{#14542}
2016-10-06 08:31:38 +00:00
nisse
2c3c3e2732 Delete transformadapter.cc and transformadapter.h.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2368243002
Cr-Commit-Position: refs/heads/master@{#14541}
2016-10-06 08:23:17 +00:00
sakal
f156bddbc6 Add onCameraDisconnected camera event.
BUG=webrtc:6334

Review-Url: https://codereview.webrtc.org/2381343002
Cr-Commit-Position: refs/heads/master@{#14540}
2016-10-06 07:59:18 +00:00
sakal
11d37ba862 Speculatively increase timeouts for DirectRTCClientTest to reduce flakiness.
BUG=webrtc:6475

Review-Url: https://codereview.webrtc.org/2393143002
Cr-Commit-Position: refs/heads/master@{#14539}
2016-10-06 07:34:47 +00:00
nisse
4e8baf46a7 Delete unused code, cpuinfo.{h,cc}.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2385053004
Cr-Commit-Position: refs/heads/master@{#14538}
2016-10-06 06:44:45 +00:00
deadbeef
daf88b1cbf Removing ERROR message for something that's expected to occur.
This error occurred if you created a data channel before there's a data
m= section. But this is expected to happen, since creating a data
channel is how you get a data m= section in the first place.

BUG=chromium:579430
NOTRY=true
TBR=pthatcher@webrtc.org

Review-Url: https://codereview.webrtc.org/2396013002
Cr-Commit-Position: refs/heads/master@{#14537}
2016-10-06 05:29:35 +00:00
jianjun.zhu
a84aa57799 Use std::abs instead of C-style abs.
BUG=webrtc:6486

Review-Url: https://codereview.webrtc.org/2396823002
Cr-Commit-Position: refs/heads/master@{#14536}
2016-10-06 02:19:30 +00:00
erikchen
2ca8d5c430 Remove deprecated FSRef-manipulation methods.
The replacement methods had already been added to applefilesystem.mm, they just
weren't being used on macOS.

BUG=webrtc:6028

Review-Url: https://codereview.webrtc.org/2395593002
Cr-Commit-Position: refs/heads/master@{#14535}
2016-10-05 23:04:39 +00:00
skvlad
efc5ae94f9 Fixed flaky SharedExclusiveLock tests.
These tests were checking the behavior of thread synchronization
primitives using nothing but carefully timed sleeps. This was very
unreliable and prone to flakes.

This CL replaces the sleeps with waiting on synchronization events.
There is still the need to wait for timeouts when testing for negative
outcomes, but it's greatly reduced. I've run these tests for thousands
of iterations on MSan without a single failure.

BUG=webrtc:5824
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14534}
2016-10-05 22:58:18 +00:00
skvlad
134af7a9af Disable flaky Android capture tests:
- org.appspot.apprtc.test.PeerConnectionClientTest#testCaptureFormatChange
- org.appspot.apprtc.test.PeerConnectionClientTest#testVideoSourceRestart

BUG=webrtc:6478
R=glaznev@webrtc.org, sakal@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14533}
2016-10-05 22:05:28 +00:00
tkchin
5fa51e2947 Add iOS static library GN build script.
NOTRY=True

BUG=webrtc:6372

Review-Url: https://codereview.webrtc.org/2391123002
Cr-Commit-Position: refs/heads/master@{#14532}
2016-10-05 20:16:07 +00:00
Honghai Zhang
d93f50cd57 Add UMA metrics for ICE regathering reasons.
BUG=webrtc:6462
R=deadbeef@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14531}
2016-10-05 18:47:39 +00:00
ossu
425a6ccac3 RTPReceiverAudio: Removed frequency from CNGPayloadType and cleaned up
CheckPayloadChanged.

Removed last_received_frequency_, cng_payload_type_,
g722_payload_type_ and last_received_g722_ from RTPReceiverAudio and
cleaned up most of the related, now dead code.

Since g722_payload_type_ was never set, neither was
last_received_g722_, which means the frequency change in
CNGPayloadType was never done. Setting the frequency to the standard
values also proved unnecessary, since they were already set before the
call. Even if frequency would have been changed by RTPReceiverAudio, I
was not able to find a place where that would actually have
mattered. The ACM and NetEq, for example, which eventually gets these
packages, don't care about that value.

Also, GetPayloadTypeFrequency was never called, so keeping track of
last_received_frequency_ proved unnecessary.

cng_payload_type_ was stored to be able to check in CNGPayloadType if
cng_payload_type_has_changed. This flag was also never read, so these
all disappear.

The main reason for starting this change was to root out any G722
specific code we have sprinkled around the code base (specifically
dealing with the fact that for G722 clock rate != sample rate). In
this case, once I started pulling at one end of the string, the whole
thing came unraveled.

BUG=webrtc:5805

Review-Url: https://codereview.webrtc.org/2383103002
Cr-Commit-Position: refs/heads/master@{#14530}
2016-10-05 15:44:30 +00:00
ossu
b2d1e0d1da Resurrected test_api_audio.cc
I'll be doing some changes to code it tests (rtp_receiver_audio,
specifically) and want to make sure there are tests in place before I
touch anything.

Fixed test_api_audio not properly checking payload data. Required a
fix to LoopBackTransport in test_api to as to act like the regular
audio and video parts of WebRTC and separate payload from header data.

Also added a test for CNG and cleaned up constants.

BUG=webrtc:5805

Review-Url: https://codereview.webrtc.org/2378403004
Cr-Commit-Position: refs/heads/master@{#14529}
2016-10-05 14:51:50 +00:00
brandtr
b1fff92644 Harmonize using-declarations in FEC header formatter fuzzers.
This CL fixes a minor eyesore.

BUG=webrtc:5654
R=stefan@webrtc.org
NOTRY=true

Review-Url: https://codereview.webrtc.org/2398593002
Cr-Commit-Position: refs/heads/master@{#14528}
2016-10-05 14:35:01 +00:00
danilchap
28b03eb449 Move RTCPHelp::RTCPReportBlockInformation into RTCPReceiver
removing RTCPHelp namespace and rtcp_receiver_help files,
cleaning style of the ReportBlockInformation usage.

BUG=webrtc:5565

Review-Url: https://codereview.webrtc.org/2390643002
Cr-Commit-Position: refs/heads/master@{#14527}
2016-10-05 13:59:51 +00:00
Magnus Jedvert
62b1c35d30 Android: Move layout measure code from SurfaceViewRenderer to RendererCommon
BUG=webrtc:6470
R=sakal@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14526}
2016-10-05 13:56:17 +00:00
phoglund
3360352c2b Make sure vp9 actually gets excluded in gn as well.
It was being excluded in this manner in gyp so it should be in gn as
well.

R=charujain@webrtc.org,kjellander@webrtc.org
BUG=webrtc:6412

Review-Url: https://codereview.webrtc.org/2392053003
Cr-Commit-Position: refs/heads/master@{#14525}
2016-10-05 13:52:30 +00:00
henrik.lundin
3dacb5370e Add audio_mixer to WATCHLISTS
BUG=None
TBR=aleloi@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2393843003
Cr-Commit-Position: refs/heads/master@{#14524}
2016-10-05 12:06:41 +00:00
henrik.lundin
58466f6d97 Relanding "Setting up an RTP input fuzzer for NetEq"
The original CL (https://codereview.webrtc.org/2315633002) was
reverted since the fuzzer depended on gflags and files in the
resources folder; neither of this is allowed for a fuzzer test in
Chromium. This new version streamlines the dependencies, and changes
the test to generate a sinusoid input audio signal instead of reading
from a file.

Original commit message:
This CL introduces a new fuzzer target neteq_rtp_fuzzer that
manipulates the RTP header fields before inserting the packets into
NetEq. A few helper classes are also introduced.

BUG=webrtc:5447
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win_chromium_rel_ng;master.tryserver.chromium.android:android_compile_dbg,linux_android_rel_ng;master.tryserver.chromium.linux:linux_chromium_rel_ng;master.tryserver.chromium.mac:mac_chromium_rel_ng,ios-device

Review-Url: https://codereview.webrtc.org/2384423002
Cr-Commit-Position: refs/heads/master@{#14523}
2016-10-05 09:27:48 +00:00
kthelgason
d020f3fea0 Support for parsing CABAC coded bitstreams
Remove check on entropy_coding_mode_flag in PPS parser.
Parse entropy_coding_mode_flag from PPS and store it in the parser struct. Parse out extra data in NALU slices in case of entropy_coding_mode to avoid reporting incorrect QP.

BUG=webrtc:6338

Review-Url: https://codereview.webrtc.org/2373393002
Cr-Commit-Position: refs/heads/master@{#14522}
2016-10-05 09:16:28 +00:00
ivoc
1f5a368978 Readded a check to see if STRICT_HTTP_ERROR is defined before using it's value.
NOTRY=true
BUG=webrtc:6424
TBR=perkj@webrtc.org,pthatcher@webrtc.org,nisse@webrtc.org

Review-Url: https://codereview.webrtc.org/2391133003
Cr-Commit-Position: refs/heads/master@{#14521}
2016-10-05 08:58:19 +00:00
skvlad
de3f844a20 Fixed flaky clock_unittest by using relative comparison.
ClockTest.NtpTime was checking that the two methods for getting the
system time are returning a value that is within a fixed error margin
(100 ms) of each other. Unfortunately, even such a wide margin was
sometimes exceeded on heavily loaded machines
(https://build.chromium.org/p/client.webrtc/builders/Mac%20Asan/builds/9235/steps/system_wrappers_unittests/logs/stdio).

This CL changes the test to sandwich clock->CurrentNtp() between
clock->CurrentNtpTimeInMilliseconds(). This way the test will pass no
matter how much time elapses between the two method calls, as long as
the clock is monotonic.

Repeated test runs showed that there may be 1 ms worth of rounding error
between the two methods of getting time, so we have to allow that.

BUG=None.

Review-Url: https://codereview.webrtc.org/2393063002
Cr-Commit-Position: refs/heads/master@{#14520}
2016-10-05 08:55:10 +00:00
nisse
81e007aee9 Delete profiler.h.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2374033002
Cr-Commit-Position: refs/heads/master@{#14519}
2016-10-05 08:45:59 +00:00
ivoc
3324cf751a Revert of Delete unused code httprequest, httpclient, and socketpool. (patchset #3 id:40001 of https://codereview.webrtc.org/2366333002/ )
Reason for revert:
This CL breaks some downstream dependencies (contact me for more info).

Original issue's description:
> Delete unused code httprequest, httpclient, and socketpool.
>
> BUG=webrtc:6424
>
> Committed: https://crrev.com/4a255be3790a040cae2f6182ed70b7dd38c6839e
> Cr-Commit-Position: refs/heads/master@{#14514}

TBR=perkj@webrtc.org,pthatcher@webrtc.org,nisse@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2397673002
Cr-Commit-Position: refs/heads/master@{#14518}
2016-10-05 08:23:21 +00:00
nisse
8a72369c2a Delete multipart.h.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2374013003
Cr-Commit-Position: refs/heads/master@{#14517}
2016-10-05 08:16:34 +00:00
nisse
3d7901d1bd Delete httpportallocator.h.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2392913002
Cr-Commit-Position: refs/heads/master@{#14516}
2016-10-05 07:46:49 +00:00
nisse
e643c59333 Delete left-over SignalRenderFrame signal.
Unused and unneeded since https://codereview.webrtc.org/1819103003.

BUG=webrtc:5426

Review-Url: https://codereview.webrtc.org/2385553003
Cr-Commit-Position: refs/heads/master@{#14515}
2016-10-05 07:14:02 +00:00
nisse
4a255be379 Delete unused code httprequest, httpclient, and socketpool.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2366333002
Cr-Commit-Position: refs/heads/master@{#14514}
2016-10-05 06:29:55 +00:00
brandtr
b5f2c3fbe9 Rename FecConfig to UlpfecConfig in config.h.
Also rename some related minor methods. No functional changes
are intended/expected.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2391963002
Cr-Commit-Position: refs/heads/master@{#14513}
2016-10-05 06:28:43 +00:00
nisse
f122a85287 Delete webrtc::VideoFrame::CreateEmptyFrame.
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2378003002
Cr-Commit-Position: refs/heads/master@{#14512}
2016-10-05 06:27:37 +00:00
nisse
91e1a1abef Delete winfirewall.h.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2365363003
Cr-Commit-Position: refs/heads/master@{#14511}
2016-10-05 06:26:31 +00:00
nisse
2de66fe1c9 Delete unused file versionparsing.h.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2373003002
Cr-Commit-Position: refs/heads/master@{#14510}
2016-10-05 06:25:05 +00:00
hbos
b20f38792e RTCStatsMember<bool> and RTCStatsMember<std::vector<bool>> added.
RTCStatsMemberInterface::Type's kBool and kSequenceBool.

This means that RTCStats-derived classes ("RTCStats-derived
dictionaries"[1]) can contain boolean and sequence of boolean members.

[1] https://w3c.github.io/webrtc-stats/

BUG=chromium:627816
NOTRY=True

Review-Url: https://codereview.webrtc.org/2387343002
Cr-Commit-Position: refs/heads/master@{#14509}
2016-10-04 21:37:15 +00:00
kwiberg
5377bc77cc Test RTC_DCHECK_IS_ON instead of checking DCHECK_ALWAYS_ON everywhere
The former is always defined (by webrtc/base/checks.h) to either 0 or
1, whereas the latter isn't necessarily defined.

This is a re-land of https://codereview.webrtc.org/2384693002, which
broke Chromium. We re-land without changing this CL at all, because
the thing that needed fixing was in Chromium:
https://codereview.chromium.org/2384263004.

NOTRY=true
TBR=ossu@webrtc.org
BUG=webrtc:6451

Review-Url: https://codereview.webrtc.org/2389943003
Cr-Commit-Position: refs/heads/master@{#14508}
2016-10-04 20:47:02 +00:00