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}
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.orgTBR=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}
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}
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}
* 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}
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}
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}
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}
- 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}
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}
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}
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}
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}
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}
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}
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}