757 Commits

Author SHA1 Message Date
brandtr
e950cadba5 Wire up FlexfecSender in RTP module and VideoSendStream.
FlexfecSender is owned and configured by VideoSendStream.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2501503003
Cr-Commit-Position: refs/heads/master@{#15082}
2016-11-15 13:25:44 +00:00
brandtr
9e795c6ad8 Update RTPSender::IsFecPacket for FlexFEC.
BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2496113003
Cr-Commit-Position: refs/heads/master@{#15067}
2016-11-14 13:37:24 +00:00
brandtr
9dfff29bc4 Make FlexFEC packets paceable through RTPSender.
Prior to this change, FlexFEC packets that were paced would be lost in
the RTPSender, since they were not stored in a packet history. This CL
introduces such a packet history, as well as the needed wireup for
higher layers to be aware that the particular RTPSender is able to
send FlexFEC packets with a particular SSRC.

Updated RTPSender unit test to reflect the fact that paced packets
are now actually sent.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2491293002
Cr-Commit-Position: refs/heads/master@{#15066}
2016-11-14 13:14:54 +00:00
brandtr
25b57ce08e Update header formatters to FlexFEC draft 03.
The only difference is that the F and R bits have changed place.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2495253002
Cr-Commit-Position: refs/heads/master@{#15064}
2016-11-14 12:28:59 +00:00
magjed
13ceeeadfc Revert of H.264 packetization mode 0 (try 2) (patchset #27 id:520001 of https://codereview.webrtc.org/2337453002/ )
Reason for revert:
Broke a lot of tests in chromium.webrtc browser_tests. See e.g. https://build.chromium.org/p/chromium.webrtc/builders/Mac%20Tester/builds/62228 and https://build.chromium.org/p/chromium.webrtc/builders/Win8%20Tester/builds/30102.
[ RUN      ] WebRtcVideoQualityBrowserTests/WebRtcVideoQualityBrowserTest.MANUAL_TestVideoQualityH264/1
...
#
# Fatal error in e:\b\c\b\win_builder\src\third_party\webrtc\modules\rtp_rtcp\source\rtp_format_h264.cc, line 170
# last system error: 0
# Check failed: packetization_mode_ == kH264PacketizationMode1 (0 vs. 2)
#

Original issue's description:
> Implement H.264 packetization mode 0.
>
> This approach extends the H.264 specific information with
> a packetization mode enum.
>
> Status: Parameter is in code. No way to set it yet.
>
> Rebase of CL  2009213002
>
> BUG=600254
>
> Committed: https://crrev.com/3bba101f36483b8030a693dfbc93af736d1dba68
> Cr-Commit-Position: refs/heads/master@{#15032}

TBR=hbos@webrtc.org,sprang@webrtc.org,mflodman@webrtc.org,hta@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=600254
NOPRESUBMIT=true

Review-Url: https://codereview.webrtc.org/2500743002
Cr-Commit-Position: refs/heads/master@{#15050}
2016-11-12 16:54:50 +00:00
brandtr
e6f98c7a37 Remove RED/RTX workaround from sender/receiver and VideoEngine2.
In older Chrome versions, the associated payload type in the RTX header
of retransmitted packets was always set to be the original media payload type,
regardless of the actual payload type of the packet. This meant that packets
encapsulated with RED headers had incorrect payload type information in the
RTX header. Due to an assumption in the receiver, this incorrect payload type
information would effectively be undone, leading to a working system.

Albeit working, this behaviour was undesired, and thus removed. In the interim,
several workarounds were introduced to not destroy interop between old and
new Chrome versions:
  (1) https://codereview.webrtc.org/1649493004
      - If no payload type mapping existed for RED over RTX, the payload type
        of the underlying media would be used.
      - If RED had been negotiated, received RTX packets would always be
        assumed to contain RED.
  (2) https://codereview.webrtc.org/1964473002
      - If RED was removed from the remote description answer, it would be
        disabled in the local receiver as well.
  (3) https://codereview.webrtc.org/2033763002
      - If RED was negotiated in the SDP, it would always be used, regardless
        if ULPFEC was negotiated and used, or not.

Since the Chrome versions that exhibited the original bug now are very old,
this CL removes the workarounds from (1) and (2). In particular, after this
change, we will have the following behaviour:
  - We assume that a payload type mapping for RED over RTX always is set.
    If this is not the case, the RTX packet is not sent.
  - The associated payload type of received RTX packets will always be obeyed.
  - The (non)-existence of RED in the remote description does not affect the
    local receiver.
The workaround in (3) still needs to exist, in order to interop with receivers
that did not have the workarounds in (1) and (2) removed. The change in (3)
can be removed in a couple of Chrome versions.

TESTED=Using AppRTC between patched Chrome (connected to ethernet) and standard Chrome M54 (connected to lossy internal Google WiFi), with and without FEC turned off using AppRTC flag. Also using "Munge SDP" sample on patched Chrome over loopback interface, with 100ms delay and 5% packet loss simulated using tc.
BUG=webrtc:6650

Review-Url: https://codereview.webrtc.org/2469093003
Cr-Commit-Position: refs/heads/master@{#15038}
2016-11-11 11:28:38 +00:00
danilchap
2a615fc760 Reduce taking locks in RTPSenderVideo::SendVideo
BUG=None

Review-Url: https://codereview.webrtc.org/2492843002
Cr-Commit-Position: refs/heads/master@{#15035}
2016-11-11 10:27:40 +00:00
hta
3bba101f36 Implement H.264 packetization mode 0.
This approach extends the H.264 specific information with
a packetization mode enum.

Status: Parameter is in code. No way to set it yet.

Rebase of CL  2009213002

BUG=600254

Review-Url: https://codereview.webrtc.org/2337453002
Cr-Commit-Position: refs/heads/master@{#15032}
2016-11-11 05:50:05 +00:00
kthelgason
917a4eeb60 Replace SequencedTaskChecker in RTPSenderVideo
This is not the right place for a SequencedTaskChecker, as we can
not make any guarantees about the thread this method runs on.
We were hitting this check on Android and iOS whenever the encoder
would be reconfigured. Access to these ivars should be guarded
by a lock.

As a bonus, an unused method declaration was removed.

BUG=webrtc:6686

Review-Url: https://codereview.webrtc.org/2495483002
Cr-Commit-Position: refs/heads/master@{#15019}
2016-11-10 14:22:23 +00:00
brandtr
dbdb3f1e63 Wire up FlexfecSender in RTPSender and add unit tests.
BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2484143002
Cr-Commit-Position: refs/heads/master@{#15017}
2016-11-10 13:04:54 +00:00
brandtr
131bc498e6 Wire up FlexfecSender in RTPSenderVideo.
This CL adds the ability for RTPSenderVideo to generate and send
FlexFEC packets.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2490523002
Cr-Commit-Position: refs/heads/master@{#15016}
2016-11-10 13:01:16 +00:00
danilchap
6ba58d67ce Reland of Simplify and extend RtpHeaderExtensionMap (patchset #1 id:1 of https://codereview.webrtc.org/2484863007/ )
Reason for revert:
dependent project adjusted

Original issue's description:
> Revert of Simplify and extend RtpHeaderExtensionMap (patchset #12 id:260001 of https://codereview.webrtc.org/2452293004/ )
>
> Reason for revert:
> breaks downstream project
>
> Original issue's description:
> > Simplify and extend RtpHeaderExtensionMap
> > Add register functions for various codepaths.
> > Add initialize-list constructor to create usable const RtpHeaderExtensionMap
> > Optimize implementation for GetId/GetType.
> >
> > BUG=webrtc:1994
> >
> > Committed: https://crrev.com/d1d26fbeb37a69471a34004c6ac2d3fafde5d404
> > Cr-Commit-Position: refs/heads/master@{#14986}
>
> TBR=sprang@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:1994
>
> Committed: https://crrev.com/bc38b4d450a80bf45efbe5b0a452e0374cdae1e6
> Cr-Commit-Position: refs/heads/master@{#14988}

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

Review-Url: https://codereview.webrtc.org/2492443002
Cr-Commit-Position: refs/heads/master@{#15000}
2016-11-09 13:46:45 +00:00
danilchap
bc38b4d450 Revert of Simplify and extend RtpHeaderExtensionMap (patchset #12 id:260001 of https://codereview.webrtc.org/2452293004/ )
Reason for revert:
breaks downstream project

Original issue's description:
> Simplify and extend RtpHeaderExtensionMap
> Add register functions for various codepaths.
> Add initialize-list constructor to create usable const RtpHeaderExtensionMap
> Optimize implementation for GetId/GetType.
>
> BUG=webrtc:1994
>
> Committed: https://crrev.com/d1d26fbeb37a69471a34004c6ac2d3fafde5d404
> Cr-Commit-Position: refs/heads/master@{#14986}

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

Review-Url: https://codereview.webrtc.org/2484863007
Cr-Commit-Position: refs/heads/master@{#14988}
2016-11-08 21:36:44 +00:00
danilchap
d1d26fbeb3 Simplify and extend RtpHeaderExtensionMap
Add register functions for various codepaths.
Add initialize-list constructor to create usable const RtpHeaderExtensionMap
Optimize implementation for GetId/GetType.

BUG=webrtc:1994

Review-Url: https://codereview.webrtc.org/2452293004
Cr-Commit-Position: refs/heads/master@{#14986}
2016-11-08 20:20:46 +00:00
michaelt
79e05888e8 Set actual transport overhead in rtp_rtcp
BUG=webrtc:6557

Review-Url: https://codereview.webrtc.org/2437503004
Cr-Commit-Position: refs/heads/master@{#14968}
2016-11-08 10:50:16 +00:00
brandtr
9ed35a4bd3 Fix forward declaration typo in UlpfecGenerator.
BUG=webrtc:5654
NOTRY=true

Review-Url: https://codereview.webrtc.org/2481343004
Cr-Commit-Position: refs/heads/master@{#14963}
2016-11-08 08:29:06 +00:00
raphael.kubo.da.costa
ec7b009752 Finish reformatting RTCPUtility::RTCPParserV2::Validate()
Half of the function's code was reformatted and reindented in
https://codereview.webrtc.org/1307663004, but the bottom half was still
adhering to an old coding style and using different indentation values.

Not only does this make the code look confusing, but it can cause build
issues on certain compilers: for example, GCC 6.2.0 with -Wall causes
the build to fail because -Wmisleading-indentation is enabled.

BUG=None
R=asapersson@webrtc.org,danilchap@webrtc.org

Review-Url: https://codereview.webrtc.org/2479193002
Cr-Commit-Position: refs/heads/master@{#14957}
2016-11-07 18:46:03 +00:00
brandtr
1743a19183 Simplify SetFecParameters signature.
- Change const ptr to const ref in parameter list.
  Using nullptr as argument was invalid, so no need to send
  pointer instead of reference.
- Change return type to void or bool, where appropriate

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2455963003
Cr-Commit-Position: refs/heads/master@{#14945}
2016-11-07 11:36:14 +00:00
brandtr
f1bb476050 Simplify {,Set}UlpfecConfig interface.
Prior to this change, we signalled that ULPFEC was disabled
through a bool, but that RED was disabled by setting its
payload type to -1. The latter is consistent with how we
disable RED/ULPFEC in the config, so this CL removes the
ULPFEC bool from the {,Set}UlpfecConfig chain of member
functions.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2460533002
Cr-Commit-Position: refs/heads/master@{#14944}
2016-11-07 11:05:09 +00:00
brandtr
d8048955fb Rename {,Set}GenericFECStatus to {,Set}UlpfecConfig.
At the same time, change to using int's instead of uint8_t's for the payload type.
This allows us to signal disabled FEC or RED using the sentinel value -1, which
is commonplace in other parts of the code.

These APIs will be deprecated when ULPFEC is deprecated.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2448463003
Cr-Commit-Position: refs/heads/master@{#14942}
2016-11-07 10:08:58 +00:00
brandtr
c295e00fa0 Add FlexfecSender.
This class will interface RTPSenderVideo with the underlying
erasure code. It is functionally similar to ProducerFec
(to be renamed UlpfecGenerator). In fact, the FlexfecSender is a
friend of ProducerFec, and reuses most of its implementation.
Besides the fact that FlexfecSender outputs FlexFEC packets,
the main difference with ProducerFec is that FlexfecSender
allocates RTP sequence numbers, whereas ProducerFec does not
do this for the RED-encapsulated ULPFEC packets.

This class is split as interface/implementation, since it will
be owned by VideoSendStream initially. Further along, it may be
owned by PacedSender.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2441613002
Cr-Commit-Position: refs/heads/master@{#14922}
2016-11-03 16:22:41 +00:00
brandtr
0a4c1616bf Make FlexfecReceiver a concrete class.
There is no need for it to be an interface.

In this CL, I also took the opportunity to make two small fixes:
- remove the 'flexfec_' prefix from some member variables
- remove unnecessary use of a stringstream object

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2471073003
Cr-Commit-Position: refs/heads/master@{#14919}
2016-11-03 15:18:33 +00:00
philipel
34852cf707 H264SpsPpsTracker class which keep tracks of SPS/PPS.
The H264SpsPpsTracker class:
 - Keeps track of all received SPS/PPS.
 - Decides whether a packet should be inserted into the PacketBuffer or not.
   - Don't insert if this packet only contains SPS and/or PPS.
   - Don't insert if this is the first packet of and IDR and we have not
     received the required SPS/PPS.
 - Insert start codes, and in the case of the first packet of an IDR prepend
   the bitstream with the given SPS/PPS for this IDR.

BUG=webrtc:5514

Review-Url: https://codereview.webrtc.org/2466993003
Cr-Commit-Position: refs/heads/master@{#14906}
2016-11-03 11:03:06 +00:00
danilchap
b1ed609901 Use rtcp::Bye instead of RTCPUtility parser for rtcp_sender_unittest
BUG=webrtc:5565

Review-Url: https://codereview.webrtc.org/2463343002
Cr-Commit-Position: refs/heads/master@{#14876}
2016-11-01 13:38:43 +00:00
sprang
b84ad63b0a Add RTCP packet class for signaling encoder target bitrate.
This is a proposal for a new RTCP message. Feel free to comment on the
message structure, selected type ids etc, as well as code for
serialization/deserialization. Once we agree on this, I'll continue
with wiring it up in the actual rtcp sender and receiver.

BUG=webrtc:6301

Review-Url: https://codereview.webrtc.org/2306873003
Cr-Commit-Position: refs/heads/master@{#14867}
2016-11-01 09:50:17 +00:00
danilchap
80ac24dd36 Allow max 1 block per type in RTCP Extended Reports
Design of individual block in ExtendedReports packet suggest there is
no point to have more than one block per type.
This CL reduce complexity of having several blocks of the same type in
same report.

BUG=webrtc:5260

Review-Url: https://codereview.webrtc.org/2378113002
Cr-Commit-Position: refs/heads/master@{#14855}
2016-10-31 15:40:55 +00:00
brandtr
869e7cd8e7 Rename ProducerFec to UlpfecGenerator.
BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2449783002
Cr-Commit-Position: refs/heads/master@{#14847}
2016-10-31 12:27:10 +00:00
brandtr
d55c3f68c8 Rename FecReceiver to UlpfecReceiver.
BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2451643002
Cr-Commit-Position: refs/heads/master@{#14846}
2016-10-31 11:51:38 +00:00
danilchap
42ca68ab72 Ensure one does not register same rtp header extension with different id
Added assert to RtpHeaderExtensionMap
Altered tests that did.

BUG=webrtc:1994

Review-Url: https://codereview.webrtc.org/2462663002
Cr-Commit-Position: refs/heads/master@{#14840}
2016-10-31 10:34:45 +00:00
danilchap
e2a0177255 Style cleanups in rtp header extension traits:
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}
2016-10-28 14:09:04 +00:00
danilchap
c1600c5695 Follow standard sending CVO rtp header extension
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}
2016-10-26 10:33:17 +00:00
danilchap
12ba1867a2 Move parsing from tests to Transport helper in RTPSenderTests
making tests cleaner

BUG=webrtc:5565

Review-Url: https://codereview.webrtc.org/2447103002
Cr-Commit-Position: refs/heads/master@{#14782}
2016-10-26 09:42:00 +00:00
terelius
2d81eb33f5 Fix BWE simulations so that it uses the delay based BWE.
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}
2016-10-25 14:04:44 +00:00
danilchap
cc34833809 Remove now unused code in RtpHeaderExtensionMap
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}
2016-10-25 10:12:34 +00:00
terelius
838cdb3db6 Revert of Fix chromium-style warnings. (patchset #1 id:1 of https://codereview.webrtc.org/2400993002/ )
Reason for revert:
Broke internal project

Original issue's description:
> Fix chromium-style warnings.
>
> Separate the null implementation from rtp_rtcp_defines.h, and follow chromium style guide for virtual functions.
>
> BUG=webrtc:163
>
> Committed: https://crrev.com/509eadd554de6bf938da08071c5d2c2541703134
> Cr-Commit-Position: refs/heads/master@{#14738}

TBR=danilchap@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:163

Review-Url: https://codereview.webrtc.org/2449523002
Cr-Commit-Position: refs/heads/master@{#14750}
2016-10-24 16:38:26 +00:00
terelius
509eadd554 Fix chromium-style warnings.
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}
2016-10-24 10:24:22 +00:00
danilchap
142f019d87 Append second nack list in same compound rtcp packet
instead of replace

BUG=webrtc:6483

Review-Url: https://codereview.webrtc.org/2426543002
Cr-Commit-Position: refs/heads/master@{#14708}
2016-10-20 15:22:45 +00:00
danilchap
b6f1fb5337 Delete RTPSender::BuildRtpHeader function
and all dependencies

BUG=webrtc:5565

Review-Url: https://codereview.webrtc.org/2399463009
Cr-Commit-Position: refs/heads/master@{#14682}
2016-10-19 13:11:44 +00:00
danilchap
2f255d8d67 Replace const -> constexpr for rtcp Packet Type
for consistency with other rtcp packet classes.

BUG=webrtc:5260

Review-Url: https://codereview.webrtc.org/2361853002
Cr-Commit-Position: refs/heads/master@{#14648}
2016-10-17 09:07:59 +00:00
danilchap
c1f40b7bae Remove RtcpPacket dependency on rtcp_utility
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}
2016-10-17 08:44:49 +00:00
stefan
12a39f4100 Don't crash on unexpected stap-a or fu-a.
BUG=chromium:655091

Review-Url: https://codereview.webrtc.org/2406363004
Cr-Commit-Position: refs/heads/master@{#14618}
2016-10-12 22:30:18 +00:00
brandtr
a8b38559a5 Add a FlexfecReceiver class.
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}
2016-10-10 23:45:04 +00:00
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
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
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
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
Rasmus Brandt
3821399075 Centralize deactivation of Unequal Protection.
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}
2016-10-04 12:28:05 +00:00
Rasmus Brandt
c07ebb30c5 Simplify public interface of ProducerFec.
- 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}
2016-10-04 08:57:47 +00:00
brandtr
a2ece731bf Reorder member functions in FecReceiver unit test file.
- 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}
2016-10-04 07:00:12 +00:00