danilchap
f8385aded0
rtcp::Pli moved into own file and got a Parse function
...
Created rtcp::Psfb abstract class between rtcp::Pli and rtcp::RtcpPacket to hold common data for Feedback Message.
BUG=webrtc:5260
Review URL: https://codereview.webrtc.org/1446513002
Cr-Commit-Position: refs/heads/master@{#10823}
2015-11-27 13:36:17 +00:00
danilchap
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
danilchap
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
danilchap
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
Henrik Kjellander
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
Peter Boström
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
tommi
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
pbos
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
sprang
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
pbos
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
Peter Boström
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
henrikg
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
sprang
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
Erik Språng
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
Erik Språng
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
sprang
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
sprang
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
sprang
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
sprang
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
sprang
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
Erik Språng
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
sprang
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
sprang
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
sprang
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
Erik Språng
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
Erik Språng
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
Erik Språng
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
Erik Språng
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
Peter Boström
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
Erik Språng
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
Erik Språng
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
Erik Språng
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
sprang@webrtc.org
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
pbos@webrtc.org
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
mflodman@webrtc.org
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
sprang@webrtc.org
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
pkasting@chromium.org
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
pbos@webrtc.org
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
asapersson@webrtc.org
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
pbos@webrtc.org
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
pkasting@chromium.org
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
pbos@webrtc.org
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
asapersson@webrtc.org
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
pbos@webrtc.org
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
pbos@webrtc.org
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
stefan@webrtc.org
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
pbos@webrtc.org
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
andresp@webrtc.org
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
stefan@webrtc.org
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
asapersson@webrtc.org
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