Commit Graph

11056 Commits

Author SHA1 Message Date
9dc5928eb2 Ability to disable the effects of |rtc_use_h264| with DisableRtcUseH264.
Renamed the WEBRTC_THIRD_PARTY_H264 macro to WEBRTC_USE_H264 to match flag name.

The idea is to be able to turn off H264 from chromium with this function because...
1) The Chromium trybots will soon use this flag, we want to temporarily disable H264 from chromium even if flag is set in case something is broken. That way when we are ready to flip the switch the trybots will run our test code then and not after it is already enabled.
2) If feature is launched and we discover major problems we can easily disable H264 and merge with beta/stable.
3) Or, if feature is behind a *runtime* flag, this is how we would control if it is used or not.

The idea is to call DisableRtcUseH264 in chromium's PeerConnectionDependencyFactory.

BUG=chromium:500605, chromium:468365
NOTRY=True
NOPRESUBMIT=True

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

Cr-Commit-Position: refs/heads/master@{#11474}
2016-02-03 13:09:40 +00:00
86512b401e Rename iOS test specs to match buildbot names.
I really prefer not using spaces in any filenames but
if we were to rename all the bots all existing URLs to builds
would stop working (or we'd loose the build history), so I'd
like to see if this works first.
The bots that hits the errors are the new ones I'm experimenting
with in client.webrtc.fyi. Example failing build:
https://build.chromium.org/p/client.webrtc.fyi/builders/iOS64%20Simulator%20Debug

BUG=chromium:498746
NOTRY=True
TBR=phoglund@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11473}
2016-02-03 12:41:10 +00:00
10880011d9 Support multiple rtx codecs.
Adds negotiation of rtx codecs for red and vp9. To keep backwards
compatibility with older Chrome versions, this change includes two
hacks:
1. Red packets will be retransmitted over the rtx codec associated with
   vp8 if no rtx codec is associated with red. This is how Chrome does
   it today and ensures that we still can send red over rtx to older
   versions.

2. If rtx packets associated with the media codec (vp8/vp9 etc) are
   received and red has been negotiated, we will assume that the sender
   incorrectly has packetized red inside the rtx header associated with
   media. We will therefore restore it with the red payload type
   instead, which ensures that we can still receive rtx associated with
   red from old versions.

Offering multiple rtx codecs to older versions should not be a problem
since old versions themselves only try to negotiate rtx for vp8.

R=pbos@webrtc.org
TBR=mflodman@webrtc.org
BUG=webrtc:4024
TEST=Verified by running apprtc and emulating packet loss between Chrome with and without the patch.

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

Cr-Commit-Position: refs/heads/master@{#11472}
2016-02-03 12:30:10 +00:00
abe095b879 Roll chromium_revision c6076f2..609aa24 (372974:373145)
Change log: c6076f2..609aa24
Full diff: c6076f2..609aa24

Changed dependencies:
* src/third_party/ffmpeg: cab2b46..501a5c5
DEPS diff: c6076f2..609aa24/DEPS

Clang version changed 257955:259395
Details: c6076f2..609aa24/tools/clang/scripts/update.py

NOTRY=True
TBR=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11471}
2016-02-03 12:26:40 +00:00
d983c3c9e5 Add SEI to the list of packets counted as keyframe.
It's generated by some encoders between SPS/PPS and an IDR frame, so we should treat it like sps/pps.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#11470}
2016-02-03 11:43:50 +00:00
d1fb26d457 Add iOS tracing.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11469}
2016-02-03 09:51:22 +00:00
8e85a3f39a iOS buildbot configurations.
This will make it possible for WebRTC to use the same buildbot
scripts as Chrome's iOS bots.
Buildbot changes are done in https://codereview.chromium.org/1659163003/

BUG=chromium:498746
NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#11468}
2016-02-03 08:06:06 +00:00
7f777498a5 Disable flaky test WebRtcSessionTest.TestRtxRemovedByCreateAnswer on Win and Mac.
TBR=kjellander@webrtc.org
BUG=webrtc:4943
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#11467}
2016-02-03 05:54:08 +00:00
27a348555a Fixing a DCHECK failure on unknown connection type from OS.
Sometimes Android OS provides unknown connection type,
causing a DCHECK failure. This CL temporarily removes that checking.

BUG=
TBR=glaznev@webrtc.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#11466}
2016-02-03 02:20:31 +00:00
2ab815779c Remove implicit downcast in producer_fec_fuzzer.cc.
Speculative fix for DrFuzz.

BUG=
TBR=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11465}
2016-02-02 21:31:11 +00:00
c3a0983d4b Roll chromium_revision a8e5140..c6076f2 (372922:372974) incl. update to Opus v.1.1.2
Includes updates to tests for Opus v.1.1.2, reveiwed in
https://codereview.webrtc.org/1629413002/

Change log: a8e5140..c6076f2
Full diff: a8e5140..c6076f2

Changed dependencies:
* src/third_party/catapult: 471db30..d4d48e6
* src/third_party/opus/src: cae6961..655cc54
DEPS diff: a8e5140..c6076f2/DEPS

No update to Clang.

BUG=chromium:580524
TBR=

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

Cr-Commit-Position: refs/heads/master@{#11464}
2016-02-02 21:18:42 +00:00
a7ad7c3ca0 Get the adapter type information from Android OS.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11463}
2016-02-02 20:54:28 +00:00
ae695e95a6 Refactor RtpSender and SSRCDatabase.
* SSRCDatabase doesn't need to be a global instance, so I've changed it to be a "regular" class (i.e. construct via ctor, not maybe via GetSSRCDatabase( + release via ReturnSSRCDatabase())).  If we ever have parallel tests running in the same process, they won't have the problem of using the same ssrc database.

* Made RtpSender a more const.  Also added some todos for myself and holmer to look into clarifying the threading model.

* Switched from CriticalSectionWrapper to rtc::CriticalSection

* Changed the random seeding to use TickTime::Now().Ticks() since TimeInMicroseconds() could return 0 when the process was starting.  This is what TimeInMicroseconds() does anyway but now we don't need to access a global clock object.

BUG=webrtc:3062

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

Cr-Commit-Position: refs/heads/master@{#11462}
2016-02-02 16:34:16 +00:00
040b79ff7e Add helper macros for calling a histogram with different names.
To be used when a metric is used in different modes such as real-time vs screenshare (will be done in https://codereview.webrtc.org/1564923008/).

BUG=webrtc:5283

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

Cr-Commit-Position: refs/heads/master@{#11461}
2016-02-02 15:13:16 +00:00
ed3277bf14 Deprecate VideoDecoder::Reset() and remove calls.
Removes calls to decoder reset and instead drops delta frames and
requests keyframes until one arrives.

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

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

Cr-Commit-Position: refs/heads/master@{#11460}
2016-02-02 14:40:13 +00:00
ce23bee697 Remove SendStreamFormat and ViewRequests.
SendStreamFormat is broken in current implementation and
ApplyViewRequest is no longer in use.

BUG=
R=pthatcher@webrtc.org, sophiechang@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#11459}
2016-02-02 13:16:03 +00:00
d467a91669 Roll chromium_revision f41a54b..a8e5140 (372876:372922)
Change log: f41a54b..a8e5140
Full diff: f41a54b..a8e5140

Changed dependencies:
* src/third_party/ffmpeg: c7b5761..cab2b46
DEPS diff: f41a54b..a8e5140/DEPS

No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#11458}
2016-02-02 12:10:01 +00:00
c61635c2db PRESUBMIT: Exclude supplement.gypi from _CheckNoSourcesAboveGyp check.
The webrtc/supplement.gypi contains a source listing of the
suppressions for TSan and LSan, which are located in source files.
It makes the presubmit fail when it's updated, which is confusing.

NOTRY=True
TESTED=Edited webrtc/supplement.gypi and ran "git cl presubmit" without an error.

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

Cr-Commit-Position: refs/heads/master@{#11457}
2016-02-02 10:30:58 +00:00
c5a39c2591 H264: Thread-safe InitializeFFmpeg. Flag to control if InitializeFFmpeg should be called.
New flag: rtc_initialize_ffmpeg, default value = !build_with_chromium.

In WebRTC standalone we initialize FFmpeg by default, in Chromium we don't by default.
Chromium is an external project that also use FFmpeg. If both projects do FFmpeg initialization code things will break. The flag makes it possible for other external projects than chromium to decide whether or not WebRTC should initialize FFmpeg.

BUG=chromium:500605, chromium:468365, webrtc:5427

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

Cr-Commit-Position: refs/heads/master@{#11456}
2016-02-02 10:30:57 +00:00
799379e8c2 Let a minimum time interval pass (one bucket size) after initialization before reporting rates (to avoid rates being based on too short time intervals).
BUG=chromium:570038

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

Cr-Commit-Position: refs/heads/master@{#11455}
2016-02-02 09:47:05 +00:00
6fd26b6ec8 Roll chromium_revision f6e3d46..f41a54b (372710:372876)
Change log: f6e3d46..f41a54b
Full diff: f6e3d46..f41a54b

Changed dependencies:
* src/third_party/ffmpeg: 2f698ed..c7b5761
DEPS diff: f6e3d46..f41a54b/DEPS

No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#11454}
2016-02-02 04:11:11 +00:00
c463e20069 Reset TURN port NONCE when a new socket is created.
For example, when the TURN port has an ALLOCATE_MISMATCH error.

BUG=webrtc:5432

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

Cr-Commit-Position: refs/heads/master@{#11453}
2016-02-01 23:19:24 +00:00
94291480b6 Extra logging for HW codec.
- Add extra logging for Android HW codec corner cases
when frames are dropped or resolution is changed.
- Use presentation timestamps for decoded frame logging.
- Enable key frame sending on long frame gap for
H.264 codec.

BUG=b/26504665

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

Cr-Commit-Position: refs/heads/master@{#11452}
2016-02-01 21:17:28 +00:00
3668cf034c Roll chromium_revision 65f9b34..f6e3d46 (372637:372710)
Change log: 65f9b34..f6e3d46
Full diff: 65f9b34..f6e3d46

No dependencies changed.
No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#11451}
2016-02-01 20:23:29 +00:00
a6c39d9902 Remove unimplemented VideoChannel code.
Also removing a lot of dead testcases that were copied over and made
sense in the old implementation, now they just take space.

BUG=
R=pthatcher@google.com, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11450}
2016-02-01 18:30:43 +00:00
6f7557e9e2 Disable useless BWE tests.
TBR=kjellander@webrtc.org
BUG=webrtc:5468

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

Cr-Commit-Position: refs/heads/master@{#11449}
2016-02-01 18:24:23 +00:00
e37a2d1802 Reland "Removing webrtc::AudioFrame::energy_."
Some WebRTC client had a problem with the change "Removing webrtc::AudioFrame::energy_". Now it is solved.

This reverts commit 2bdcfadc8abd418a30dd5cdf54ba45a429d3d9bf.

BUG=webrtc:3315

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

Cr-Commit-Position: refs/heads/master@{#11448}
2016-02-01 18:02:45 +00:00
d8de1154c9 Remove mutable from rtc::CriticalSections.
A couple of mutables were added after last removal of mutables, so
removing those. rtc::CriticalSection is const-lockable.

BUG=
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11447}
2016-02-01 17:00:59 +00:00
34877eeec9 Revert of Added validation between RTP and RTCP timestamps (patchset #7 id:120001 of https://codereview.webrtc.org/1633843003/ )
Reason for revert:
May be the reason for mac_asan timeout

Original issue's description:
> Changed test to validate rtp timstamps not just in RTP packets but also in RTCP Sender Reports.
> Altered it to accept negative value since it is normal for RTCP packet coming before RTP packet to have slightly later time.
>
> BUG=webrtc:5433
>
> Committed: https://crrev.com/f4b9c775122b463db7eb2c4101603759a0d00caf
> Cr-Commit-Position: refs/heads/master@{#11417}

TBR=pbos@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5433

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

Cr-Commit-Position: refs/heads/master@{#11446}
2016-02-01 16:25:08 +00:00
74451a5ea9 Prevent zero division in VCMJitterEstimator.
BUG=webrtc:5124
R=sprang@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11445}
2016-02-01 15:31:17 +00:00
b46c333139 Roll chromium_revision 126e210..65f9b34 (372588:372637)
Change log: 126e210..65f9b34
Full diff: 126e210..65f9b34

No dependencies changed.
No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#11444}
2016-02-01 12:54:09 +00:00
bba9dec4d5 Use separate rtp module lists for send and receive in PacketRouter.
This makes it possible to handle send and receive streams with the same SSRC, which is currently the case in some peer connection tests.

Also moves sending transport feedback to the pacer thread.

BUG=webrtc:5263

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

Cr-Commit-Position: refs/heads/master@{#11443}
2016-02-01 12:40:04 +00:00
1f611fa58b Fixed minor issue: added missing semicolons to metric_recorder.cc
Review URL: https://codereview.webrtc.org/1649353002

Cr-Commit-Position: refs/heads/master@{#11442}
2016-02-01 11:09:19 +00:00
d06d4d8dee Add linux_ubsan_vptr to default trybots.
BUG=webrtc:5124
NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#11441}
2016-02-01 10:54:54 +00:00
e1f2f1fbb8 Unwrap timestamps in VideoAnalyzer
We have seen an instance of flakiness of the perf tests where it looked
like timestamp wraparound could be an issue. Better safe...

BUG=

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

Cr-Commit-Position: refs/heads/master@{#11440}
2016-02-01 10:05:00 +00:00
44efbece68 Converting picture_id to bitstring pushed from WithPictureId to Create function.
Added Parse and accessor functions.

BUG=webrtc:5260
R=åsapersson

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

Cr-Commit-Position: refs/heads/master@{#11439}
2016-02-01 09:36:44 +00:00
6b231e0719 Roll chromium_revision d785e7c..126e210 (372580:372588)
Change log: d785e7c..126e210
Full diff: d785e7c..126e210

No dependencies changed.
No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#11438}
2016-02-01 04:36:02 +00:00
25f17d762a Roll chromium_revision 2084e1d..d785e7c (372575:372580)
Change log: 2084e1d..d785e7c
Full diff: 2084e1d..d785e7c

No dependencies changed.
No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#11437}
2016-01-31 21:08:05 +00:00
ac53c883a5 Roll chromium_revision 750447f..2084e1d (372566:372575)
Change log: 750447f..2084e1d
Full diff: 750447f..2084e1d

No dependencies changed.
No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#11436}
2016-01-31 12:12:53 +00:00
430e40084d Roll chromium_revision f5d1a9c..750447f (372546:372566)
Change log: f5d1a9c..750447f
Full diff: f5d1a9c..750447f

No dependencies changed.
No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#11435}
2016-01-31 04:36:13 +00:00
3f70562bbb Fix WebRtc ninja x86 build using Visual Studio 2015 (set GYP_MSVS_VERSION=2015).
Visual Studio 2015 balks at the implicit truncation of values. Easily fixed with an explicit cast.

Fixed redefinition of CLOCKS_PER_SEC when using Visual Studio 2015 and the Windows 10 SDK. CLOCKS_PER_SEC is also defined in "<WIN10 SDK DIR>\include\10.0.10240.0\ucrt\time.h" and also has the value of 1000

Hiding snprintf definition if building with Visual Studio 2015

Fixed C4573 compiler complaint in audio_processing_impl_locking_unittest.cc.

BUG=webrtc:5183

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

Cr-Commit-Position: refs/heads/master@{#11434}
2016-01-30 22:40:52 +00:00
c97c886e3a Roll chromium_revision f07b6b8..f5d1a9c (372524:372546)
Change log: f07b6b8..f5d1a9c
Full diff: f07b6b8..f5d1a9c

No dependencies changed.
No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#11433}
2016-01-30 12:06:33 +00:00
f0269a6a15 Roll chromium_revision e9e4e90..f07b6b8 (372389:372524)
Change log: e9e4e90..f07b6b8
Full diff: e9e4e90..f07b6b8

Changed dependencies:
* src/buildtools: be55b9a..389b714
DEPS diff: e9e4e90..f07b6b8/DEPS

No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#11432}
2016-01-30 04:19:16 +00:00
eee86a6aa3 Add option to disable particular HW video codec from app.
Plus minor clean up / adding comments.

BUG=b/26695339
R=jiayl@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11431}
2016-01-29 22:17:16 +00:00
9dfed79f3f Stop processing any incoming packets when turn port is disconnected.
If it still handle packets, when a ping arrives, it will pass the packet to p2ptransportchannel, eventually causing an ASSERT error there (when p2ptransportchannel tries to create a connection from the ping request from unknown address).

BUG=

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

Cr-Commit-Position: refs/heads/master@{#11430}
2016-01-29 21:22:36 +00:00
083b8e91a9 Roll chromium_revision 3784ca9..e9e4e90 (372326:372389)
Change log: 3784ca9..e9e4e90
Full diff: 3784ca9..e9e4e90

No dependencies changed.
No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#11429}
2016-01-29 20:35:15 +00:00
de13882d94 rtcp::ExtenededReports packet class got Parse function
BUG=webrtc:5260
R=åsapersson

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

Cr-Commit-Position: refs/heads/master@{#11428}
2016-01-29 19:26:20 +00:00
ff63ed2888 Format changes achieved by running
clang-format -i -style=Chromium

BUG=

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

Cr-Commit-Position: refs/heads/master@{#11427}
2016-01-29 15:46:18 +00:00
f5b804bb9c Fix implicit bool casts in producer_fec_fuzzer.cc.
Fixes DrFuzz breakage on Windows.

BUG=webrtc:5473
TBR=zhaoqin@google.com

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

Cr-Commit-Position: refs/heads/master@{#11426}
2016-01-29 15:26:52 +00:00
3a8cac8410 Roll chromium_revision 105cb5f..3784ca9 (372268:372326)
Change log: 105cb5f..3784ca9
Full diff: 105cb5f..3784ca9

No dependencies changed.
No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#11425}
2016-01-29 12:06:52 +00:00