Commit Graph

333 Commits

Author SHA1 Message Date
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
9478437fde rtc::Buffer improvements
1. Constructors, SetData(), and AppendData() now accept uint8_t*,
     int8_t*, and char*. Previously, they accepted void*, meaning that
     any kind of pointer was accepted. I think requiring an explicit
     cast in cases where the input array isn't already of a byte-sized
     type is a better compromise between convenience and safety.

  2. data() can now return a uint8_t* instead of a char*, which seems
     more appropriate for a byte array, and is harder to mix up with
     zero-terminated C strings. data<int8_t>() is also available so
     that callers that want that type instead won't have to cast, as
     is data<char>() (which remains the default until all existing
     callers have been fixed).

  3. Constructors, SetData(), and AppendData() now accept arrays
     natively, not just decayed to pointers. The advantage of this is
     that callers don't have to pass the size separately.

  4. There are new constructors that allow setting size and capacity
     without initializing the array. Previously, this had to be done
     separately after construction.

  5. Instead of TransferTo(), Buffer now supports swap(), and move
     construction and assignment, and has a Pass() method that works
     just like std::move(). (The Pass method is modeled after
     scoped_ptr::Pass().)

R=jmarusic@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9033}
2015-04-20 12:03:00 +00:00
61c2a6f241 Remove rtc::Buffer::length(), since no one uses it anymore
Chromium now uses size() instead, just like WebRTC.

This CL also fixes a new length() call that had crept in.

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9024}
2015-04-16 19:48:52 +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
190c3ca7a9 Register sample rate of Audio RED in RTPPayloadRegistry.
Sample rate of RED payload type was not registered. And therefore VoE can fail when it receives RED packets. This is a fix to this problem.

BUG=3619
R=henrik.lundin@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8859}
2015-03-25 15:11:34 +00:00
eebcab5ce9 rtc::Buffer: Rename length to size, for conformance with the STL
And add a constructor for creating an uninitialized Buffer of a
specified size.

(I intend to follow up with more Buffer changes, but since it's rather
widely used, the rename is quite noisy and works better as a separate
CL.)

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8841}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8841 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-24 09:20:19 +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
1b32bbe0a7 Removing private and unused method in RTPReceiver.
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8650}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8650 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-09 11:54:45 +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
00b8f6b364 Use base/scoped_ptr.h; system_wrappers/interface/scoped_ptr.h is going away
BUG=
R=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8517}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8517 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-26 14:43:50 +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
749c60217d Moved gypi to avoid presubmit warning about '..' when touching the files.
R=kjellander@webrtc.org,mflodman@webrtc.org
TBR=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8503}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8503 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-25 11:50:44 +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
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
a28a91d2f0 Fix data race for RTCPReceiver stats callback.
Annotates the callback which identifies the bug, then fixes it.

R=stefan@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#8390}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8390 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-17 14:45:44 +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
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
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
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
0e81fdf5d2 Avoid implicit type truncations by inserting explicit casts or modifying prototypes to avoid needless up- and then down-casting.
BUG=chromium:82439
TEST=none
R=henrik.lundin@webrtc.org, mflodman@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8229}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8229 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-02 23:54:40 +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
026b892e72 Using << on an int8_t or uint8_t will output a character rather than a number.
Places that do this need to cast to int to get the desired behavior.

BUG=none
TEST=none
R=henrik.lundin@webrtc.org, pthatcher@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8223}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8223 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-30 19:54:19 +00:00
4161715e3f Remove ChangeUniqueID.
This fixes a two year old TODO of deleting dead code :)
In cases where the _id or id_ member variable is being used for tracing,
I changed the member to at least be const.

It doesn't look like id's are that useful anymore so maybe the next step is to get rid of them.

BUG=
R=henrika@webrtc.org, perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8201}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8201 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-29 12:14:13 +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
37c0559c1e Notify jitter buffer about received FEC packets (to avoid sending NACK request for these packets).
Don't copy codec specific header for empty packets in the jitter buffer.

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

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

Cr-Commit-Position: refs/heads/master@{#8184}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8184 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-28 13:58:40 +00:00
2a6558c2a5 Make sure ByteReader<T>::Read* is properly constified.
Also, start using it in real code...

BUG=
R=holmer@google.com, pbos@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8181}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8181 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-28 12:38:16 +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
df7b65ba01 Change CreateOrGetReportBlockInformation to have one return path.
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8113 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-21 13:07:04 +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
0800db74b9 Add percentage of fec packets and recovered media packets to histogram stats:
- "WebRTC.Video.ReceivedFecPacketsInPercent"
- "WebRTC.Video.RecoveredMediaPacketsInPercentOfFec"

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8072 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-15 07:40:20 +00:00