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
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
545727ecce
Move early-return in TimeToSendPadding.
...
Prevents taking send_critsect_ for checking sending status when not
actually intending to send padding.
BUG=
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1218093002
Cr-Commit-Position: refs/heads/master@{#9526}
2015-07-01 13:31:14 +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
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
64c1e8cda5
Enable CVO by default through webrtc pipeline.
...
All RTP packets from sender side will carry the rotation info. (will file a bug to track this) On the receiving side, only packets with marker bit set will be examined.
Tests completed:
1. android standalone to android standalone
2. android standalone to chrome (with and without this change)
3. android on chrome
BUG=4145
R=glaznev@webrtc.org , mflodman@webrtc.org , perkj@webrtc.org , pthatcher@webrtc.org
Committed: https://crrev.com/1b1c15cad16de57053bb6aa8a916079e0534bdae
Cr-Commit-Position: refs/heads/master@{#8905}
Review URL: https://webrtc-codereview.appspot.com/47399004
Cr-Commit-Position: refs/heads/master@{#8917}
2015-04-01 22:33:15 +00:00
31331cfd2d
Revert "Enable CVO by default through webrtc pipeline."
...
This reverts commit 1b1c15cad16de57053bb6aa8a916079e0534bdae.
Due to failure on
http://build.chromium.org/p/client.webrtc/builders/Linux64%20Release%20%5Blarge%20tests%5D/builds/4092
and following builds (the test hangs and never finishes).
R=kjellander@webrtc.org
TBR=guoweis@chromium.org
TESTED=Local revert + execution of libjingle_peerconnection_java_unittest show that this is the culprit.
Review URL: https://webrtc-codereview.appspot.com/47909004
Cr-Commit-Position: refs/heads/master@{#8911}
2015-04-01 14:20:11 +00:00
1b1c15cad1
Enable CVO by default through webrtc pipeline.
...
All RTP packets from sender side will carry the rotation info. (will file a bug to track this) On the receiving side, only packets with marker bit set will be examined.
Tests completed:
1. android standalone to android standalone
2. android standalone to chrome (with and without this change)
3. android on chrome
BUG=4145
R=glaznev@webrtc.org , mflodman@webrtc.org , perkj@webrtc.org , pthatcher@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/47399004
Cr-Commit-Position: refs/heads/master@{#8905}
2015-04-01 02:42:50 +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
779c3d16b9
Use ByteReader/ByteWriter instead of rtputility and manual shift/add.
...
BUG=
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/41289004
Cr-Commit-Position: refs/heads/master@{#8761}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8761 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-17 16:44:54 +00:00
3093390479
Parsing of transport wide sequence number rtp extension header.
...
Plus some refactoring to correctly handle padding.
BUG=4311
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/45429004
Cr-Commit-Position: refs/heads/master@{#8757}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8757 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-17 14:33:46 +00:00
fdd1057949
Add CVO support to Vie layer.
...
1. standard plumbing CVO through vie layer.
2. added a rtp_cvo.h which has both conversion functions from rtp header byte to/from VideoRotation.
WebRTCVideoEngine will later pass the rotation info in SendFrame() through VieVideoFrameI420.
BUG=4145
R=mflodman@webrtc.org , tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/46429007
Cr-Commit-Position: refs/heads/master@{#8703}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8703 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-12 20:51:50 +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
14665ff7d4
Roll chromium_revision e144d30..6fdb142 (318658:318841) + remove OVERRIDE macro
...
Clang version changed 223108:230914
Details: e144d30..6fdb142 /tools/clang/scripts/update.sh
Removes the OVERRIDE macro defined in:
* webrtc/base/common.h
* webrtc/typedefs.h
The majority of the source changes were done by running this in src/:
perl -0pi -e "s/virtual\s([^({;]*(\([^({;]*\)[^({;]*))(OVERRIDE|override)/\1override/sg" `find {talk,webrtc} -name "*.h" -o -name "*.cc*" -o -name "*.mm*"`
which converted all:
virtual Foo() OVERRIDE
functions to:
Foo() override
Then I manually edited:
* talk/media/webrtc/fakewebrtccommon.h
* webrtc/test/fake_common.h
Remaining uses of OVERRIDE was fixed by search+replace.
Manual edits were done to fix virtual destructors that were
overriding inherited ones.
Finally a build error related to the pure virtual definitions of
Read, Write and Rewind in common_types.h required a bit of
refactoring in:
* webrtc/common_types.cc
* webrtc/common_types.h
* webrtc/system_wrappers/interface/file_wrapper.h
* webrtc/system_wrappers/source/file_impl.cc
This roll should make it possible for us to finally re-enable deadlock
detection for TSan on the buildbots.
BUG=4106
R=pbos@webrtc.org , tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/41069004
Cr-Commit-Position: refs/heads/master@{#8596}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8596 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 13:04:54 +00:00
49096de442
DCHECK send DataCountersUpdated for valid SSRCs.
...
Also updates RTPSender to not update RTX stats when RTX is disabled.
BUG=
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/42399004
Cr-Commit-Position: refs/heads/master@{#8489}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8489 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-24 22:38:22 +00:00
d324546ced
Misc. cleanup split out of https://webrtc-codereview.appspot.com/37699004/ :
...
* Move constants into the files/functions that use them
* Declare variables in the narrowest scope possible
* Use correct (expected, actual) order for gtest macros
* Remove unused functions
* Untabify
* 80-column limit
* Avoid C-style casts
* Prefer true typed constants to "enum hack" constants
* Print size_t using the right format macro
* Shorten and simplify code
* Other random cleanup bits and style fixes
BUG=none
TEST=none
R=henrik.lundin@webrtc.org , tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/36179004
Cr-Commit-Position: refs/heads/master@{#8467}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8467 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-23 21:29:45 +00:00
0200f70792
Set webrtc_rtp category to be disabled by default.
...
Should not affect webrtc standalone. For chromium, disabling helps
mitigate viewing performance problems.
BUG=chromium:441440
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/41909004
Cr-Commit-Position: refs/heads/master@{#8375}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8375 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-16 12:06:48 +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
4414939954
Add method for incrementing RtpPacketCounter. Removes duplicate code.
...
Correction to check if rtx is enabled on send-side (and not receive) when updating rtx send bitrate stat.
Remove unneeded guarded by annotations.
BUG=
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/41729004
Cr-Commit-Position: refs/heads/master@{#8239}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8239 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-04 08:35:21 +00:00
c957ffc6dc
Fixed potential crash if rtp packet history is completely full.
...
Also performance enhanecement in rtp_sender (don't lookup if kDontStore)
BUG=4171
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/39759004
Cr-Commit-Position: refs/heads/master@{#8226}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8226 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-02 13:08:14 +00:00
43c883954f
Allow rtp packet history to dynamically expand in size.
...
When using the paced sender, packets will be put into the rtp packet
history and then retreived from there again when it is time to send.
In some cases (low send bitrate and very large frames created) this
may overflow, causing packets to be overwritten in the packet history
before they have been sent.
Check this condition and expand history size if needed.
This is primarily triggered during screenshare, when
switching to a large picture with lots of high frequency
details in it.
BUG=4171
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/34879004
Cr-Commit-Position: refs/heads/master@{#8195}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8195 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-29 09:09:41 +00:00
273fbbb921
Update StreamDataCounter with FEC bytes.
...
Add histograms stats for send/receive FEC bitrate:
- "WebRTC.Video.FecBitrateReceivedInKbps"
- "WebRTC.Video.FecBitrateSentInKbps"
Correct media payload bytes in StreamDataCounter to not include FEC bytes.
Fix stats for rtcp packets sent/received per minute (regression from r7910).
BUG=crbug/419657
R=holmer@google.com , mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/34789004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8164 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-27 12:17:29 +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
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
11d8176cb3
Move updating nack bitrate inside UpdateNACKBitRate.
...
BUG=
R=pbos@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/32819004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7960 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-19 09:52:24 +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
d08d389ce8
Add field to counters for when first rtp/rtcp packet is sent/received.
...
Use this time for histogram statistics (send/receive bitrates, sent/received rtcp fir/nack packets/min).
BUG=crbug/419657
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/32219004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7910 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-16 12:03:11 +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
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
0bae1fab4a
Wire up bandwidth stats to the new API and webrtcvideoengine2.
...
Adds stats to verify bandwidth and pacer stats.
BUG=1788
R=mflodman@webrtc.org , pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/24969004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7634 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-05 14:05:29 +00:00
dcebf2daa7
Reworked paced sender queue
...
Packet queue in the paced sender is now based on a priority queue rather than having a separate fifo-queue per priority level. This allows more flexible sorting and cleaner usage.
Packets with earlier capture times are now prioritized higher. In situations with high packet loss, the queue might contain packets from several subsequent frames. Retransmit packets from the earlier frames first, since the later ones will probably be dependent on these.
Also, don't force sending of packets after a certain time of inactivity or when packets grow too old, since this was causing consistent overuse on poor connections. Instead, drop frames in vie encoder if pacer queue is too long.
BUG=
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/27869004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7617 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-04 16:27:16 +00:00
76960d5f74
For FIR packet, payload length is zero, so SendToNetwork function is failing.
...
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/23059004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7490 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-22 09:47:14 +00:00
c3c29113d1
Expose setPayloadType on the rtp_sender. Thus allowing other users of this module
...
to set the payload type to be used without having to call SendOutgoingData.
BUG=3694
R=asapersson@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/18289004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6988 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-27 09:39:43 +00:00
817a034cf2
Fix TimeToSendPadding return to be 0 if no padding bytes are sent.
...
BUG=3694
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/15149005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6900 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-14 08:24:47 +00:00
8b94e3da0f
Fix issue where padding is sent before media with undefined timestamps if not abs-send-time is enabled.
...
This broke bandwidth estimation for calls without abs-send-time is enabled, but where RTX was.
BUG=
R=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/16929004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6719 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-17 16:10:14 +00:00
63c60ed224
Remove old padding path in RTPSender.
...
Removing RTPSender::SendPaddingAccordingToBitrate() as well as a couple
of arguments from SendPadData().
BUG=
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/14989004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6703 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-16 09:37:29 +00:00
2f4b14e3f3
Make RTCP sender report send media bytes.
...
r6654 changed RtpSender::Bytes() to return the number of bytes sent
instead of number of media bytes. This is used by VideoEngine for stats.
This change broke RTCP which sends this same count as the number of
payload bytes sent (excluding headers and padding).
BUG=
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/14959004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6691 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-15 15:25:39 +00:00
168f23faa5
Move pacer to fully use webrtc::Clock instead of webrtc::TickTime.
...
This required rewriting the send-side delay stats api to be callback based, as otherwise the SuspendBelowMinBitrate test started flaking much more frequently since it had lock order inversion problems.
R=pbos@webrtc.org , tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/21869005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6664 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-11 13:44:02 +00:00
72491b9a90
Count total bytes sent in RTPSender::Bytes().
...
Previously only media bytes were included, this adds header bytes and
padding bytes to the calculation.
BUG=
R=stefan@webrtc.org , tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/19939004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6654 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-10 16:24:54 +00:00
8f1512140e
Refactor registerable callbacks for FrameCountObserver from rtp_rtcp module into vie_channel.
...
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/16839004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6649 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-10 09:39:23 +00:00
d11bec40b2
Refactor registerable callbacks for VideoBitrateObserver from rtp_rtcp module into vie_channel.
...
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/20879004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6626 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-08 14:32:58 +00:00