Commit Graph

140 Commits

Author SHA1 Message Date
867fb5224e Add support for transport wide sequence numbers
Also refactor packet router to use a map rather than iterate over all
rtp modules for each packet sent.

BUG=webrtc:4311

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

Cr-Commit-Position: refs/heads/master@{#9670}
2015-08-03 11:38:48 +00:00
a38233a586 Removed extended jitter report from RtcpSender.
This was never used (value always 0, when sent)

BUG=2450
R=asapersson@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9631}
2015-07-24 07:58:29 +00:00
ba8c15b857 Merge methods for configuring NACK/FEC/hybrid.
BUG=webrtc:1695
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9580}
2015-07-14 16:36:37 +00:00
d6f1a38165 Remove ViEChannel simulcast lock.
Since the number of streams is now known on construction we can
initialize all RTP modules on construction. They are internally locked
so we don't nede a simulcast lock anymore.

BUG=1695
R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/52639004 .

Cr-Commit-Position: refs/heads/master@{#9577}
2015-07-14 14:08:14 +00:00
30409b4dca Add statistics gathering for packet loss.
Adds a class used to classify whether packet loss events are a single packet or multiple packets as well as how many packets have been lost. Also exposes a new function in the RtpRtcp interface to retrieve these statistics.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#9568}
2015-07-11 01:10:08 +00:00
d436298332 Remove ResetStatistics from RTP feedback.
BUG=
R=asapersson@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9548}
2015-07-07 15:32:56 +00:00
0ea42d319e Send Sdes using RtcpPacket
BUG=2450
R=asapersson@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9504}
2015-06-25 12:46:23 +00:00
9ba52f89ac Remove intermediate RTCP CNAME buffers.
Sets CNAME using a pointer to only perform a copy inside the RTCP
sender.

BUG=
R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/50169005

Cr-Commit-Position: refs/heads/master@{#9346}
2015-06-01 12:12:40 +00:00
71861a0e20 Remove GetSendSideDelay from RtpRtcp.
These stats are reported using a callback either way, removing a getter
+ an old related deadlock suppression.

BUG=1695, 2999
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/50119004

Cr-Commit-Position: refs/heads/master@{#9314}
2015-05-28 12:45:45 +00:00
11beccd712 Remove external report blocks from RtcpSender and rtp_rtcp interface.
Feature does not seem to be used and complicates other refactoring of
the rtcp module.

BUG=
R=asapersson@webrtc.org, henrik.lundin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/54569004

Cr-Commit-Position: refs/heads/master@{#9304}
2015-05-28 09:10:34 +00:00
242e22b055 Refactor RTCP sender
The main purpose of this CL is to clean up RTCPSender::PrepareRTCP, but
it has quite a few ramifications. Notable changes:

* Removed the rtcpPacketTypeFlags bit vector and don't assume
  RTCPPacketType values have a single unique bit set. This will allow
  making this an enum class once rtcp_receiver has been overhauled.

* Flags are now stored in a map that is a member of the class. This
  meant we could remove some bool flags (eg send_remb_) which was
  previously masked into rtcpPacketTypeFlags and then masked out again
  when testing if a remb packet should be sent.

* Make all build methods, eg. BuildREMB(), have the same signature.
  An RtcpContext struct was introduced for this purpose. This allowed
  the use of a map from RTCPPacketType to method pointer. Instead of
  18 consecutive if-statements, there is now a single loop.
  The context class also allowed some simplifications in the build
  methods themselves.

* A few minor simplifications and cleanups.

The next step is to gradually replace the builder methods with the
builders from the new RtcpPacket classes.

BUG=2450
R=asapersson@webrtc.org, pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/48329004

Cr-Commit-Position: refs/heads/master@{#9166}
2015-05-11 08:17:46 +00:00
61be2a4016 Clean up RTCPSender.
Reformat to current code style, remove non-const references, use
scoped_ptr, remove empty comments and dead code, etc..

BUG=
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49019004

Cr-Commit-Position: refs/heads/master@{#9086}
2015-04-27 11:32:31 +00:00
fe7a80c38c Prevent sender RTCP signals for receive-only channels.
Since RTCP packets are delivered to both senders and receivers that
correspond the receivers currently log that NACKed packets are missing,
since they have no direct connection to the sending side or the RTP
packet history. Also preventing triggering on SR requests and PLI/FIR.

BUG=
R=asapersson@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/45249004

Cr-Commit-Position: refs/heads/master@{#9071}
2015-04-23 15:52:58 +00:00
e62202fedf Support handling multiple RTX but only generate SDP with RTX associated with VP8.
This implementation registers RTX-APT map inside RTP sender and receiver.
While it only generates SDP with RTX associated with VP8 to make it
compatible with previous Chrome versions.

Should add following changes after reaches stable,
* Use RTX-APT map for building and restoring RTP packets.
* Add RTX support for RED or VP9 in Video engine.
* Set RTX payload type for RED inside FecConfig in EndToEndTest.

BUG=4024
R=mflodman@webrtc.org, pbos@webrtc.org, pthatcher@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/36889004

Cr-Commit-Position: refs/heads/master@{#9040}
2015-04-21 12:25:42 +00:00
fcf54bdabb Reland "Avoid critsect for protection- and qm setting callbacks in
VideoSender."

The original Cl is uploaded as patch set 1, the fix in ps#2 and I'll rebase in ps#3.

BUG=4534
R=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/46769004

Cr-Commit-Position: refs/heads/master@{#9000}
2015-04-14 19:28:03 +00:00
6ae2572fa6 Add missing configuration of rtx payload type for rtp/rtcp module.
BUG=4528
R=pbos@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/51639004

Cr-Commit-Position: refs/heads/master@{#8989}
2015-04-13 15:48:16 +00:00
0828a0c094 Revert "Avoid critsect for protection- and qm setting callbacks in VideoSender."
This reverts commit 903c0f2e7649a2b98659286dc228447facd49bb7,
aka #8899.

TBR=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/46759004

Cr-Commit-Position: refs/heads/master@{#8901}
2015-03-31 13:29:31 +00:00
903c0f2e76 Avoid critsect for protection- and qm setting callbacks in VideoSender.
This CL avoids changing the mentioned callbacks during a call, to avoid
a potential deadlock when acquiring _sendCritSect and calling
_mediaOpt.SetTargetRates.

Moving the critsect revealed a race for the FEC parameters in RtpVideoSender, so the CL grew a bit to avoid this. I also cleaned up some code here at the same time, but tried to keep it at a minimum since this CL had already increased a lot in size.

BUG=769
R=pbos@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/42939004

Cr-Commit-Position: refs/heads/master@{#8899}
2015-03-31 13:07:26 +00:00
4536289353 Add CVO support to RTP sender side.
According to http://www.etsi.org/deliver/etsi_ts/126100_126199/126114/12.07.00_60/ts_126114v120700p.pdf,
CVO byte should only be added in the last packet of each key frame or when the rotation changes. Currently, we're adding this byte in each frame to start with.

BUG=4145
R=mflodman@webrtc.org, pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/42439004

Cr-Commit-Position: refs/heads/master@{#8606}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8606 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 22:55:43 +00:00
9dd0ebc379 Remove the default RTP module.
This CL removes the default module owned by ViEEncoder, functionality in
the module to register default modules and the final changes in
rtp_rtcp_impl using default/child modules.

BUG=769
R=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/42509004

Cr-Commit-Position: refs/heads/master@{#8514}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8514 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-26 12:58:24 +00:00
96abda0316 Removing FEC functionality from the default RTP module.
This CL removes the last default module methods used from ViEEncoder and
the default module itself will be removed in a separate CL.

BUG=769
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/35309004

Cr-Commit-Position: refs/heads/master@{#8505}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8505 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-25 13:50:51 +00:00
50e28166af Move SetTargetSendBitrates logic from default module to payload router.
This cl just moves the logic form the default module
SetTargetSendBitrates to PayloadRouter. There might be glitch / mismatch
in size between trate the vector and rtp modules. This was the same in
the default module and is quite hard to protect from before we have the
new video API.

I also removed some test form rtp_rtcp_impl_unittest that were affected
by this change. The test tests code that isn't implemented, hence the
DISABLED_, and this will never be implemented in the RTP module, rather
the payload router in the future.

BUG=769
R=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/42419004

Cr-Commit-Position: refs/heads/master@{#8453}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8453 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-23 07:45:45 +00:00
1d0fa5d352 Add RtcpPacketTypeCounter stats to new API.
R=mflodman@webrtc.org, stefan@webrtc.org
BUG=1667,1788

Review URL: https://webrtc-codereview.appspot.com/37489004

Cr-Commit-Position: refs/heads/master@{#8429}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8429 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-19 12:47:45 +00:00
47d657b68e Remove Set/Get sending status from the default RTP module.
This is now taken care of by the payload router and the calls to set_active.

BUG=769
R=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/42379004

Cr-Commit-Position: refs/heads/master@{#8427}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8427 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-19 10:30:19 +00:00
0abc6011b9 Remove SetCaptureDelay from the RTP module.
This is a small step in getting rid of the default module, but also to
eventually delete FrameProviderBase completely.

BUG=769
R=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/34229004

Cr-Commit-Position: refs/heads/master@{#8396}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8396 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-17 16:36:48 +00:00
290cb56dca Remove TimeToSendPacket and TimeToSendPadding from the default module.
Thie CL moves the default RTP module logic for TimeToSendPacket and
TimeToSendPadding to PayloadRouter class and asserts on usage of the
default module.

BUG=769
TEST=New unittest.
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/33319004

Cr-Commit-Position: refs/heads/master@{#8383}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8383 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-17 10:15:47 +00:00
2bd299a172 Remove call to RtpRtcp::RegisterSendPayload for the default RTP module.
The send payload type is only checked in RTPSender::CheckPayloadType,
which in turn is only called from SendOutgoingData and never from the
default module anylonger.

BUG=769
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/39949004

Cr-Commit-Position: refs/heads/master@{#8357}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8357 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-13 09:52:17 +00:00
7c4d20fd6c Remove potential deadlock in RTPSenderAudio.
Removes lock-order inversion formed by RTPSenderAudio->RTPSender calls
by doing a lot shorter locking which fetches a current state of
RTPSenderAudio variables before sending.

Thread annotates locked variables and removes one lock in
RTPSenderAudio, bonus fixes data races reported in voe_auto_test
--automated under TSan (DTMF data race).

Also includes some bonus cleanup of RTPSenderVideo which removes the
send critsect completely as all methods using it was always called
from RTPSender under its send_critsect.

R=henrik.lundin@webrtc.org, stefan@webrtc.org, tommi@webrtc.org
BUG=3001, chromium:454654

Review URL: https://webrtc-codereview.appspot.com/41869004

Cr-Commit-Position: refs/heads/master@{#8348}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8348 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-12 12:20:50 +00:00
a4ef2ce29d Remove getting max payload length from default module.
Moving functionality to get max payload length from default RTP module
to the payload router.

I'll make a follow up CL changing asserts to DCHECK in rtp_rtcp_impl.cc.

BUG=769
TEST=New unittest and existing sender mtu test
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/36119004

Cr-Commit-Position: refs/heads/master@{#8345}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8345 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-12 09:55:05 +00:00
a98e796615 Remove default RTP module functionality for setting CSRC.
ViECapturer is always calling DeliverFrame with an empty CSRC vector, so
this is basically a dead path already. I added a DCHECK in ViEEncoder to
verify this is true.

BUG=769
TEST=Manually verified in Chromium.
R=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/39059004

Cr-Commit-Position: refs/heads/master@{#8335}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8335 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-11 15:46:20 +00:00
02270cd718 Implementing a packet router class, used to route RTP packets to the
sending RTP module for the specified simulcast layer a frame belongs to.
This CL also removes the corresponding functionality from the RTP RTCP
module and fixes lint warnings in the files touched.

BUG=769
TEST=New unittest and manual tests
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/39629004

Cr-Commit-Position: refs/heads/master@{#8267}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8267 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-06 13:10:39 +00:00
cfd82dfc11 Split packets/bytes in StreamDataCounter into RtpPacketCounter struct.
Prepares for adding FEC bytes to the StreamDataCounter.

R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/37579004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8122 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-22 09:39:59 +00:00
9ffd8fe96b Indentation changes.
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/32149004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8107 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-21 08:22:50 +00:00
0b0c24177b Only return Rtx mode in RTXSendStatus().
There is no need to return 'ssrc' and 'payloadtype' inside this function
since they are never used.

BUG=
R=pbos@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/38569004

Patch from Changbin Shao <changbin.shao@intel.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8049 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-13 14:15:15 +00:00
16825b1a82 Use int64_t more consistently for times, in particular for RTT values.
Existing code was inconsistent about whether to use uint16_t, int, unsigned int,
or uint32_t, and sometimes silently truncated one to another, or truncated
int64_t.  Because most core time-handling functions use int64_t, being
consistent about using int64_t unless otherwise necessary minimizes the number
of explicit or implicit casts.

BUG=chromium:81439
TEST=none
R=henrik.lundin@webrtc.org, holmer@google.com, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/31349004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8045 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-12 21:51:21 +00:00
8f27fcce79 Revert 8028 "Support associated payload type when registering Rt..."
Reasons for revert:
1. glaznev discovered potentially related problems using the Android AppRTCDemo.
2. We're trying to do an M41 webrtc roll in Chromium, and this CL is risky.

> Support associated payload type when registering Rtx payload type.
> 
> Major changes include,
> - Add associated payload type for SetRtxSendPayloadType & SetRtxReceivePayloadType.
> - Receiver: Restore RTP packets by the new RTX-APT map.
> - Sender: Send RTP packets by checking RTX-APT map.
> - Add RTX payload type for RED in the default codec list.
> 
> BUG=4024
> R=pbos@webrtc.org, stefan@webrtc.org
> TBR=mflodman@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/26259004
> 
> Patch from Changbin Shao <changbin.shao@intel.com>.

TBR=pbos@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/33829004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8033 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-09 20:22:46 +00:00
2a169640a3 Support associated payload type when registering Rtx payload type.
Major changes include,
- Add associated payload type for SetRtxSendPayloadType & SetRtxReceivePayloadType.
- Receiver: Restore RTP packets by the new RTX-APT map.
- Sender: Send RTP packets by checking RTX-APT map.
- Add RTX payload type for RED in the default codec list.

BUG=4024
R=pbos@webrtc.org, stefan@webrtc.org
TBR=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/26259004

Patch from Changbin Shao <changbin.shao@intel.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8028 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-09 15:16:10 +00:00
d16e839c6d Rtp-Rtcp sender cleanup.
Some setter functions from Rtp and Rtcp Sender never return negative values. Remove return results from those functions.

Also removed const on non-pointer/reference types for related files.

BUG=
R=henrika@webrtc.org, pbos@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/34469004

Patch from Changbin Shao <changbin.shao@intel.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7962 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-19 13:49:55 +00:00
cb79141eab Store the received report blocks map (mapped per remote ssrc) in a map per source ssrc.
When using rtx, receiver reports with two report blocks are received. The report blocks have the same remote ssrc and therefore the first report block was overwritten by the second report block when stored in the ReportBlockInfoMap.

Removed unused function ResetRTT.

BUG=4114
R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/33659005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7952 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-18 14:30:32 +00:00
ce4e9a3562 Refactor some receive-side stats.
Removes polling of CName as well as receive codec statistics in favor of
internal callbacks keeping a statistics struct up to date.

R=mflodman@webrtc.org, stefan@webrtc.org
BUG=1667

Review URL: https://webrtc-codereview.appspot.com/28259005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7950 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-18 13:50:16 +00:00
0b1534c52e Use int64_t for milliseconds more often, primarily for TimeUntilNextProcess.
This fixes a variety of MSVC warnings about value truncations when implicitly
storing the 64-bit values we get back from e.g. TimeTicks in 32-bit objects, and
removes the need for a number of explicit casts.

This also moves a number of constants so they're declared right where they're used, which is easier to read and maintain, and makes some of them of integral type rather than using the "enum hack".

BUG=chromium:81439
TEST=none
R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/33649004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7905 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-15 22:09:40 +00:00
97d0489058 Add video send bitrates to histogram stats:
- total bitrate ("WebRTC.Video.BitrateSentInKbps")
- media bitrate ("WebRTC.Video.MediaBitrateSentInKbps")
- rtx bitrate ("WebRTC.Video.RtxBitrateSentInKbps")
- padding bitrate ("WebRTC.Video.PaddingBitrateSentInKbps")
- retransmitted bitrate ("WebRTC.Video.RetransmittedBitrateInKbps")

Add retransmitted bytes to StreamDataCounters.

Change in UpdateRtpStats to also update counters for retransmitted packet.

BUG=crbug/419657
R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/30199004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7838 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-09 09:47:53 +00:00
ba8138ba38 Change type of nack_last_time_sent_full_ from uint32_t to int64_t.
Could cause nack requests to be sent too frequently.

R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/27339004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7825 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-08 13:29:02 +00:00
9334ac2d78 Use vector of CSRCs for DeliverFrame & SetCSRCs.
BUG=
R=pbos@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/28029004

Patch from Changbin Shao <changbin.shao@intel.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7734 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-24 08:25:50 +00:00
4591fbd09f Use size_t more consistently for packet/payload lengths.
See design doc at https://docs.google.com/a/chromium.org/document/d/1I6nmE9D_BmCY-IoV6MDPY2V6WYpEI-dg2apWXTfZyUI/edit?usp=sharing for more information.

This CL was reviewed and approved in pieces in the following CLs:
https://webrtc-codereview.appspot.com/24209004/
https://webrtc-codereview.appspot.com/24229004/
https://webrtc-codereview.appspot.com/24259004/
https://webrtc-codereview.appspot.com/25109004/
https://webrtc-codereview.appspot.com/26099004/
https://webrtc-codereview.appspot.com/27069004/
https://webrtc-codereview.appspot.com/27969004/
https://webrtc-codereview.appspot.com/27989004/
https://webrtc-codereview.appspot.com/29009004/
https://webrtc-codereview.appspot.com/30929004/
https://webrtc-codereview.appspot.com/30939004/
https://webrtc-codereview.appspot.com/31999004/
Committing as TBR to the original reviewers.

BUG=chromium:81439
TEST=none
TBR=pthatcher,henrik.lundin,tina.legrand,stefan,tkchin,glaznev,kjellander,perkj,mflodman,henrika,asapersson,niklas.enbom

Review URL: https://webrtc-codereview.appspot.com/23129004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7726 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-20 22:28:14 +00:00
ece3890d3a Report total bitrate for all streams in GetStats.
This regression wasn't caught because I accidentally disabled multiple
streams for EndToEndTest.GetStats in a refactoring.

R=stefan@webrtc.org, xians@webrtc.org
BUG=1667

Review URL: https://webrtc-codereview.appspot.com/27179004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7701 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-14 11:52:04 +00:00
49ff40e32e Make SetREMBData accept vector of SSRCs.
BUG=
R=pbos@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/32049004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7697 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-13 14:42:37 +00:00
1972ff8a6e Mark all virtual overrides in the hierarchy of Module as virtual and OVERRIDE.
This will make a subsequent change I intend to do safer, where I'll change the
return type of one of the base Module functions, by breaking the compile if I
miss any overrides.

This also highlighted a number of unused functions (in many cases apparently
virtual "overrides" of no-longer-existent base functions).  I've removed some of
these.

This also highlighted several cases where "virtual" was used unnecessarily to
mark a function that was only defined in one class.  Removed "virtual" in those
cases.

BUG=none
TEST=none
R=andrew@webrtc.org, henrik.lundin@webrtc.org, mallinath@webrtc.org, mflodman@webrtc.org, stefan@webrtc.org, turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/24419004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7146 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-11 06:20:28 +00:00
a84b0a6dab Small refactor on ViE to remove redudant conditions and long ifdefs.
BUG=3694
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/22069004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6905 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-14 16:46:46 +00:00
f9460688a6 Make sure padding is sent on the first sending RTP module.
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/13989004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6774 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-24 16:41:25 +00:00