renamed kName to kUri and make it more const.
remove IsSupportedBy to reduce header dependency.
BUG=webrtc:1994
Review-Url: https://codereview.webrtc.org/2457783005
Cr-Commit-Position: refs/heads/master@{#14825}
Include CVO in key frame.
Include CVO in delta frame when rotation changes.
Include CVO when it is non zero to support current receiver implementation.
BUG=webrtc:6600
Review-Url: https://codereview.webrtc.org/2452583002
Cr-Commit-Position: refs/heads/master@{#14784}
Rename kFullSendSideEstimator -> kSendSideEstimator and add new class SendSideBweSender (controlled by kSendSideEstimator) that actually uses the send side BWE.
Move the mock to logging/rtc_event_log/mock.
Allow congestion_controller, remote_bitrate_estimator and audio to depend on loggging/rtc_event_log
BUG=webrtc:6526
NOPRESUBMIT=True
Review-Url: https://codereview.webrtc.org/2431093003
Cr-Commit-Position: refs/heads/master@{#14772}
Remove functions to enumerate all extensions,
Remove concept of the inactive extension.
Decision if extension should be included into rtp header is done by rtp_sender
GetTotalLengthInBytes now calculates all extension, included or not.
That is used only for calculating how much space to reserve for fec.
Since extension might suddenly be included in the next packet (which still might belong to same fec group), it is safer to calculate all registered extension.
BUG=webrtc:5565, webrtc:1994
Review-Url: https://codereview.webrtc.org/2431253003
Cr-Commit-Position: refs/heads/master@{#14763}
Separate the null implementation from rtp_rtcp_defines.h, and follow chromium style guide for virtual functions.
BUG=webrtc:163
Review-Url: https://codereview.webrtc.org/2400993002
Cr-Commit-Position: refs/heads/master@{#14738}
for consistency with other rtcp packet classes.
BUG=webrtc:5260
Review-Url: https://codereview.webrtc.org/2361853002
Cr-Commit-Position: refs/heads/master@{#14648}
and thus IP_PACKET_SIZE constant:
Build() use BlockLength() instead of constant IP_PACKET_SIZE for packet
capacity, adding extra checks about packet generation in tests.
Build(callback) removed as unused.
definitions reordered to follow style.
BUG=webrtc:5260
Review-Url: https://codereview.webrtc.org/2270753002
Cr-Commit-Position: refs/heads/master@{#14647}
This class is split in interface/implementation classes, since it
will be referenced from the Call level. Its purpose is to interface
the erasure code decoder with a new class FlexfecReceiveStream
(for received packets), as well as with the main RTP pipeline (for
recovered packets).
BUG=webrtc:5654
Review-Url: https://codereview.webrtc.org/2392663006
Cr-Commit-Position: refs/heads/master@{#14594}
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}
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}
This CL introduces changes that clearly demarcate
where we disable Unequal Protection in the FEC.
No functional changes are expected.
BUG=webrtc:5654
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/2314743002 .
Cr-Commit-Position: refs/heads/master@{#14496}
- Change some member functions to be private. These were only
called by other private member functions.
- Replace DeleteMediaPackets() with direct calls to
media_packets_.clear()
- Rename GetFecPacketsAsRed to GetUlpfecPacketsAsRed.
No functional changes are intended by this CL.
BUG=webrtc:5654
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/2305793003 .
Cr-Commit-Position: refs/heads/master@{#14491}
- Place all member function definitions between test fixture
declaration and unit tests.
- Rename GenerateFrame -> PacketizeFrame.
No functional changes are intended by this CL.
BUG=webrtc:5654
Review-Url: https://codereview.webrtc.org/2275303003
Cr-Commit-Position: refs/heads/master@{#14488}
Helper class for FlexFEC unit tests to come.
BUG=webrtc:5654
Review-Url: https://codereview.webrtc.org/2282473002
Cr-Commit-Position: refs/heads/master@{#14487}
The RtcEventLog headers need to be accessible from any place which needs
logging, and the implementation needs access to data structures that are
logged.
After a discussion in the code review, we all agreed to move the RtcEventLog implementation into its own top level directory - which I called "logging/" in expectation that other types of logging may have similar requirements. The directory contains two main build targets - "rtc_event_log_api", which is just rtc_event_log.h, that has no external dependencies and can be used from anywhere, and "rtc_event_log_impl" which contains the rest of the implementation and has many dependencies (more in the future).
The "api" target can be referenced from anywhere, while the "impl" target is only needed at the place of instantiation (currently Call, soon to be moved to PeerConnection by https://codereview.webrtc.org/2353033005/).
This change allows using RtcEventLog in the p2p/ directory, so that we
can log STUN pings and ICE state transitions.
BUG=webrtc:6393
R=kjellander@webrtc.org, kwiberg@webrtc.org, solenberg@webrtc.org, stefan@webrtc.org, terelius@webrtc.org
Review URL: https://codereview.webrtc.org/2380683005 .
Cr-Commit-Position: refs/heads/master@{#14485}
Main changes:
- Split out general functionality from UlpfecPacketGenerator
into a new class AugmentedPacketGenerator. This will allow
for the addition of a FlexfecPacketGenerator that inherits
from AugmentedPacketGenerator.
- Rename RawRtpPacket to AugmentedPacket. This name is more
reflective of its purpose, i.e., an FEC packet with an
additional WebRtcRTPHeader.
- Return std::unique_ptr's instead of raw pointers.
Minor changes:
- Update names, based on RawRtpPacket -> AugmentedPacket name
change, in FEC unit tests.
- Rename |generator_| to |packet_generator_|, in FEC unit tests.
- Change some int's to size_t's in the packet generator classes.
- Use std::unique_ptr in ProducerFec unittest.
No functionality or performance changes are expected
due to this CL.
BUG=webrtc:5654
Review-Url: https://codereview.webrtc.org/2271273004
Cr-Commit-Position: refs/heads/master@{#14477}
- Change some types to size_t.
- Update parameter ordering.
- Run 'git cl format'
- Moved 'using declarations' into unnamed namespaces.
- Removed "::webrtc::" prefix from some using declarations.
BUG=webrtc:5654
Review-Url: https://codereview.webrtc.org/2273353002
Cr-Commit-Position: refs/heads/master@{#14475}
Also, change order of definition in fec_test_helper.{h,cc}.
This CL should have no implications on functionality. It is in preparation
for a FlexfecPacketGenerator class, which will be used in the FlexFEC
unit tests.
R=danilchap@webrtc.org
BUG=webrtc:5654
Review-Url: https://codereview.webrtc.org/2276473002
Cr-Commit-Position: refs/heads/master@{#14471}
Add classes that can read and finalize FlexFEC headers.
BUG=webrtc:5654
Review-Url: https://codereview.webrtc.org/2269903002
Cr-Commit-Position: refs/heads/master@{#14469}
move all logic from that class into RTCPReceiver too,
Simplify and fix style on the way.
BUG=webrtc:5565
Review-Url: https://codereview.webrtc.org/2373053002
Cr-Commit-Position: refs/heads/master@{#14442}
structs are exactly the same but last one follow naming style.
BUG=webrtc:5565
Review-Url: https://codereview.webrtc.org/2368983002
Cr-Commit-Position: refs/heads/master@{#14415}
Reason for revert:
Fix backward compatibility support
Original issue's description:
> Revert of Unify rtcp packet setters (patchset #8 id:130001 of https://codereview.webrtc.org/2348623003/ )
>
> Reason for revert:
> Breaks compilation of internal downstream project.
>
> Original issue's description:
> > Unify rtcp packet setters
> > Renamed setters in rtcp classes
> > from WithField to SetField
> > from WithItem to AddItem or SetItems
> > from From to SetSenderSsrc
> > from To to SetMediaSsrc
> > Some redundant or unsued setters removed.
> > Pass-by-const& replaced with pass-by-value when appropriate.
> >
> > BUG=webrtc:5260
> >
> > Committed: https://crrev.com/20e77c7b8a9f19942ef3c3c4f1fa3888b2cd54ea
> > Cr-Commit-Position: refs/heads/master@{#14393}
>
> TBR=sprang@webrtc.org,stefan@webrtc.org,danilchap@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5260
>
> Committed: https://crrev.com/efc6e41866662e0922858fbce1d9ee3bdd0637ed
> Cr-Commit-Position: refs/heads/master@{#14400}
TBR=sprang@webrtc.org,stefan@webrtc.org,kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5260
Review-Url: https://codereview.webrtc.org/2370313002
Cr-Commit-Position: refs/heads/master@{#14402}
Reason for revert:
Breaks compilation of internal downstream project.
Original issue's description:
> Unify rtcp packet setters
> Renamed setters in rtcp classes
> from WithField to SetField
> from WithItem to AddItem or SetItems
> from From to SetSenderSsrc
> from To to SetMediaSsrc
> Some redundant or unsued setters removed.
> Pass-by-const& replaced with pass-by-value when appropriate.
>
> BUG=webrtc:5260
>
> Committed: https://crrev.com/20e77c7b8a9f19942ef3c3c4f1fa3888b2cd54ea
> Cr-Commit-Position: refs/heads/master@{#14393}
TBR=sprang@webrtc.org,stefan@webrtc.org,danilchap@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5260
Review-Url: https://codereview.webrtc.org/2372713005
Cr-Commit-Position: refs/heads/master@{#14400}
simplifying cname management.
Remove RTCPUtility::RTCPCnameInformation
since it was last use of the structure.
BUG=webrtc:5565
NOTRY=true
Review-Url: https://codereview.webrtc.org/2354333004
Cr-Commit-Position: refs/heads/master@{#14399}
Renamed setters in rtcp classes
from WithField to SetField
from WithItem to AddItem or SetItems
from From to SetSenderSsrc
from To to SetMediaSsrc
Some redundant or unsued setters removed.
Pass-by-const& replaced with pass-by-value when appropriate.
BUG=webrtc:5260
Review-Url: https://codereview.webrtc.org/2348623003
Cr-Commit-Position: refs/heads/master@{#14393}
Use it by pointer instead of by reference.
Renamed PacketInformation members to follow style,
Unused members removed.
BUG=webrtc:5565
Review-Url: https://codereview.webrtc.org/2366563002
Cr-Commit-Position: refs/heads/master@{#14375}
- Split out reading/writing of FEC headers to classes separate
from ForwardErrorCorrection. This makes ForwardErrorCorrection
oblivious to what FEC header scheme is used, and lets it focus on
encoding/decoding the FEC payloads.
- Add unit tests for FEC header readers/writers.
- Split ForwardErrorCorrection::XorPackets into XorHeaders and
XorPayloads and reuse these functions for both encoding and
decoding.
- Rename AttemptRecover -> AttemptRecovery in ForwardErrorCorrection.
BUG=webrtc:5654
R=danilchap@webrtc.org, stefan@webrtc.org
Review URL: https://codereview.webrtc.org/2260803002 .
Cr-Commit-Position: refs/heads/master@{#14316}
- Rename GenerateFec -> EncodeFec in ForwardErrorCorrection. This naming
is more consistent with DecodeFec.
- Add appropriate using directives, to reduce clutter in tests.
- Move ConstructMediaPackets to fec_test_helper.{h,cc}. This will help
future tests of ULPFEC/FlexFEC header formatters.
- Generalize tests in rtp_fec_unittest.cc to typed tests. This will help
testing ForwardErrorCorrection with both ULPFEC and FlexFEC.
This CL should not impact functionality or performance.
BUG=webrtc:5654
Review-Url: https://codereview.webrtc.org/2267393002
Cr-Commit-Position: refs/heads/master@{#14314}