50c5136cb2
RTCP Bye packet moved to own file
...
Bye class got support for Parsing
Reason field implemented
Review URL: https://codereview.webrtc.org/1430013003
Cr-Commit-Position: refs/heads/master@{#10741}
2015-11-22 17:03:16 +00:00
0219c9b4bf
rtcp::App moved into own file and got Parse function
...
Review URL: https://codereview.webrtc.org/1437353003
Cr-Commit-Position: refs/heads/master@{#10688}
2015-11-18 13:56:57 +00:00
df948f03b3
rtcp::ReportBlock refactored to contain parsing
...
Review URL: https://codereview.webrtc.org/1420283022
Cr-Commit-Position: refs/heads/master@{#10633}
2015-11-13 11:03:18 +00:00
98f53510b2
system_wrappers: rename interface -> include
...
BUG=webrtc:5095
R=tommi@webrtc.org
Review URL: https://codereview.webrtc.org/1413333002 .
Cr-Commit-Position: refs/heads/master@{#10438}
2015-10-28 17:17:50 +00:00
ebc0b4e993
Use webrtc/base/logging.h for rtp_rtcp.
...
BUG=webrtc:5118
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1422023002 .
Cr-Commit-Position: refs/heads/master@{#10437}
2015-10-28 15:39:43 +00:00
e4f96501fc
Remove system_wrappers/interface/trace_event.h
...
BUG=
Review URL: https://codereview.webrtc.org/1417773002
Cr-Commit-Position: refs/heads/master@{#10346}
2015-10-21 06:00:57 +00:00
da903eaabb
Unify newapi::RtcpMode and RTCPMethod.
...
BUG=webrtc:1695
R=solenberg@webrtc.org , stefan@webrtc.org
TBR=mflodman@webrtc.org
Review URL: https://codereview.webrtc.org/1373903003
Cr-Commit-Position: refs/heads/master@{#10143}
2015-10-02 09:37:18 +00:00
86fd9ed6f9
Set RtcpSender transport at construction.
...
BUG=
Review URL: https://codereview.webrtc.org/1365043002
Cr-Commit-Position: refs/heads/master@{#10106}
2015-09-29 11:45:51 +00:00
2d566686a2
Unify Transport and newapi::Transport interfaces.
...
BUG=webrtc:1695
R=stefan@webrtc.org
TBR=mflodman@webrtc.org
Review URL: https://codereview.webrtc.org/1369263002
Cr-Commit-Position: refs/heads/master@{#10096}
2015-09-28 16:59:36 +00:00
ac547a6538
Remove channel ids from various interfaces.
...
Starts by removing channel/engine id from ViEChannel which propagates
down to the RTP/RTCP module as well as the transport class.
IncomingVideoStream::RenderFrame() is untouched for now but receives a
fake id instead of the previous channel id. Added a TODO to remove it
later but the RenderFrame call is implemented in a lot of
platform-dependent files and should probably remove the "manager" aspect
of renderers, so preferring to do it separately
BUG=webrtc:1695
R=henrika@webrtc.org , mflodman@webrtc.org
Review URL: https://codereview.webrtc.org/1335353005 .
Cr-Commit-Position: refs/heads/master@{#9978}
2015-09-17 21:06:02 +00:00
91d6edef35
Add RTC_ prefix to (D)CHECKs and related macros.
...
We must remove dependency on Chromium, i.e. we can't use Chromium's base/logging.h. That means we need to define these macros in WebRTC also when doing Chromium builds. And this causes redefinition.
Alternative solutions:
* Check if we already have defined e.g. CHECK, and don't define them in that case. This makes us depend on include order in Chromium, which is not acceptable.
* Don't allow using the macros in WebRTC headers. Error prone since if someone adds it there by mistake it may compile fine, but later break if a header in added or order is changed in Chromium. That will be confusing and hard to enforce.
* Ensure that headers that are included by an embedder don't include our macros. This would require some heavy refactoring to be maintainable and enforcable.
* Changes in Chromium for this is obviously not an option.
BUG=chromium:468375
NOTRY=true
Review URL: https://codereview.webrtc.org/1335923002
Cr-Commit-Position: refs/heads/master@{#9964}
2015-09-17 07:24:51 +00:00
233bd87d45
Add RemoteEstimatorProxy for capturing receive times
...
For use when send-side bandwidth estimation is enabled.
Receive times need to be captured, buffered and then sent using
TransportFeedback RTCP messaged back to the send side.
BUG=webrtc:4173
Review URL: https://codereview.webrtc.org/1290813008
Cr-Commit-Position: refs/heads/master@{#9898}
2015-09-08 20:25:20 +00:00
521875a9a4
Use RtcpPacket to send APP in RtcpSender
...
BUG=webrtc:2450
R=asapersson@webrtc.org
Review URL: https://codereview.webrtc.org/1311453002 .
Cr-Commit-Position: refs/heads/master@{#9827}
2015-09-01 08:11:36 +00:00
ca28fdcf9f
Use RtcpPacket to send XR (RTRR, DLRR, VOIP) in RtcpSender
...
BUG=webrtc:2450
R=asapersson@webrtc.org
Review URL: https://codereview.webrtc.org/1304123003 .
Cr-Commit-Position: refs/heads/master@{#9820}
2015-08-31 12:01:08 +00:00
d83df50e95
Use RtcpPacket to send TMMBN in RtcpSender
...
BUG=webrtc:2450
Review URL: https://codereview.webrtc.org/1302403002
Cr-Commit-Position: refs/heads/master@{#9793}
2015-08-27 08:05:12 +00:00
d8ee4f9915
Use RtcpPacket to send BYE in RtcpSender
...
BUG=webrtc:2450
Review URL: https://codereview.webrtc.org/1306893003
Cr-Commit-Position: refs/heads/master@{#9763}
2015-08-24 10:25:27 +00:00
81a3e60c63
Use RtcpPacket to send TMMBR in RtcpSender
...
BUG=webrtc:2450
Review URL: https://codereview.webrtc.org/1296163004
Cr-Commit-Position: refs/heads/master@{#9755}
2015-08-21 12:30:17 +00:00
dd4edc5813
Reland of Use RtcpPacket to send REMB in RtcpSender (patchset #1 id:1 of https://codereview.webrtc.org/1300863002/ )
...
Reason for revert:
This wasn't the cause of the breakage. Re-reverting.
https://code.google.com/p/webrtc/issues/detail?id=4923
Original issue's description:
> Revert of Use RtcpPacket to send REMB in RtcpSender (patchset #1 id:1 of https://codereview.webrtc.org/1290573004/ )
>
> Reason for revert:
> A few bots started failing rtc_unittests after this was commited. Ex https://build.chromium.org/p/client.webrtc/builders/Linux64%20Debug/builds/5048
>
> Original issue's description:
> > Use RtcpPacket to send REMB in RtcpSender
> >
> > BUG=webrtc:2450
> > R=asapersson@webrtc.org
> >
> > Committed: 35ab4baa20
>
> TBR=asapersson@webrtc.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:2450
>
> Committed: https://crrev.com/141c5951f4beda868797c2746002a4b1b267ab2a
> Cr-Commit-Position: refs/heads/master@{#9723}
TBR=asapersson@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:2450
Review URL: https://codereview.webrtc.org/1309723002
Cr-Commit-Position: refs/heads/master@{#9754}
2015-08-21 11:21:56 +00:00
141c5951f4
Revert of Use RtcpPacket to send REMB in RtcpSender (patchset #1 id:1 of https://codereview.webrtc.org/1290573004/ )
...
Reason for revert:
A few bots started failing rtc_unittests after this was commited. Ex https://build.chromium.org/p/client.webrtc/builders/Linux64%20Debug/builds/5048
Original issue's description:
> Use RtcpPacket to send REMB in RtcpSender
>
> BUG=webrtc:2450
> R=asapersson@webrtc.org
>
> Committed: 35ab4baa20
TBR=asapersson@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:2450
Review URL: https://codereview.webrtc.org/1300863002
Cr-Commit-Position: refs/heads/master@{#9723}
2015-08-18 11:37:39 +00:00
35ab4baa20
Use RtcpPacket to send REMB in RtcpSender
...
BUG=webrtc:2450
R=asapersson@webrtc.org
Review URL: https://codereview.webrtc.org/1290573004 .
Cr-Commit-Position: refs/heads/master@{#9722}
2015-08-18 09:54:18 +00:00
cf7f54d6f4
Use RtcpPacket to send RPSI in RtcpSender
...
BUG=webrtc:2450
Review URL: https://codereview.webrtc.org/1291013002
Cr-Commit-Position: refs/heads/master@{#9704}
2015-08-13 11:37:48 +00:00
0365a27f56
Use RtcpPacket to send SLI in RtcpSender
...
BUG=webrtc:2450
Review URL: https://codereview.webrtc.org/1268383002
Cr-Commit-Position: refs/heads/master@{#9695}
2015-08-11 08:02:44 +00:00
62dae19098
Use RtcpPacket to send FIR in RtcpSender
...
BUG=webrtc:2450
Review URL: https://codereview.webrtc.org/1261323003
Cr-Commit-Position: refs/heads/master@{#9677}
2015-08-05 09:37:21 +00:00
72aa9a6c6e
Use RtcpPacket to send PLI in RtcpSender
...
BUG=webrtc:2450
R=asapersson@webrtc.org
Review URL: https://codereview.webrtc.org/1262153003 .
Cr-Commit-Position: refs/heads/master@{#9666}
2015-07-31 14:16:12 +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
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
bdc0b0d869
Use RtcpPacket classes for SenderReport/ReceiveReport in RTCPSender
...
BUG=2450
R=asapersson@webrtc.org
Review URL: https://codereview.webrtc.org/1170723002 .
Cr-Commit-Position: refs/heads/master@{#9483}
2015-06-22 13:21:40 +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
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
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
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
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
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
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
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
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
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
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
2dd3134e50
Add stats for duplicate sent and received NACK requests.
...
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/27799004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7559 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-29 12:42:30 +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
180e516bef
Thread annotate RTCPSender.
...
Also fixes data races in RTCPSender::SetCSRCStatus() and
RTCPSender::SetStartTimestamp().
BUG=
R=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/20919004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6666 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-11 15:36:26 +00:00
4ef438e2de
Remove the send-side cname getter APIs from voice and video engine.
...
These APIs aren't being used, and introduces deadlocks when using GetStats() in the new Call api. Having getters for cname at the send-side is pointless, as it's always the user who sets the cname.
R=henrika@webrtc.org , pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/16899004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6659 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-11 09:55:30 +00:00
62bafae661
Some refactoring inside rtp_rtcp/.
...
Renaming ModuleRTPUtility -> RtpUtility.
Renaming RTPHeaderParser -> RtpHeaderParser.
Making RtpHeaderParser accept size_t instead of int for packet length.
Making RtpUtility::RtpHeaderParser accept size_t for packet length.
BUG=
R=stefan@webrtc.org , tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/19899004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6623 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-08 12:10:51 +00:00
dc80bae2a6
Convert logs in rtp rtcp module from WEBRTC_TRACE into LOG.
...
Clean some logs and add asserts in the way.
BUG=3153
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/11129004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5861 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-08 11:06:12 +00:00
9d4762e8b6
Have changes to REMB trigger RTCP to be sent immediately.
...
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/10339004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5763 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-24 17:13:00 +00:00
8098e07478
Add RTCP packet type counter (for getting statistics such as sent/received NACK and FIR).
...
Add counter to RTCP sender and RTCP receiver.
Add video api GetRtcpPacketTypes().
BUG=2638
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/8179004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5575 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-19 11:59:02 +00:00
efaeda0c76
Add configuration and test for extended RTCP reference time reports to new video api.
...
R=mflodman@webrtc.org , pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/6989004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5401 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-20 08:34:49 +00:00