91941ae493
rtcp::VoipMetric block moved into own file and got Parse function
...
Review URL: https://codereview.webrtc.org/1452733002
Cr-Commit-Position: refs/heads/master@{#11030}
2015-12-15 15:06:44 +00:00
6db6cdc604
[rtp_rtcp] fixed lint errors in rtp_rtcp module that are not fixed in other CLs
...
BUG=webrtc:5277
R=mflodman
Review URL: https://codereview.webrtc.org/1513303003
Cr-Commit-Position: refs/heads/master@{#11025}
2015-12-15 10:54:50 +00:00
47a740bc5e
[rtp_rtcp] lint errors about rand() usage fixed.
...
rand() usage replaced with new Random class, which also makes it clearer what interval random number is in.
BUG=webrtc:5277
R=mflodman
Review URL: https://codereview.webrtc.org/1519503002
Cr-Commit-Position: refs/heads/master@{#11019}
2015-12-15 08:30:12 +00:00
b8b6fbb7a5
lint build/include errors fixed in rtp_rtcp module
...
BUG=webrtc:5277
R=mflodman
Review URL: https://codereview.webrtc.org/1505993003
Cr-Commit-Position: refs/heads/master@{#10971}
2015-12-10 13:05:35 +00:00
162abd3562
lint whitespace warning removed from most rtp_rtcp/source/ files
...
rtcp_utility, rtp_utility, tmmbr_help, rtcp_receiver, rtcp_receiver_help are explicetly excluded from the cleanup becaues there are short plans (or cls) to do a deeper cleaning there.
BUG=webrtc:5277
R=pbos@webrtc.org , mflodman@webrtc.org
Review URL: https://codereview.webrtc.org/1512493002
Cr-Commit-Position: refs/heads/master@{#10966}
2015-12-10 10:39:45 +00:00
fc47ed6c05
rtcp::Rrtr block moved into own file and got Parse function
...
BUG=webrtc:5260
R=asapersson@webrtc.org , åsapersson
Review URL: https://codereview.webrtc.org/1496883002 .
Cr-Commit-Position: refs/heads/master@{#10912}
2015-12-07 13:46:42 +00:00
97f7e13c23
rtcp::ReceiverReport moved into own file and got Parse function
...
BUG=webrtc:5260
R=asapersson@webrtc.org
Review URL: https://codereview.webrtc.org/1453083002 .
Cr-Commit-Position: refs/heads/master@{#10897}
2015-12-04 15:13:40 +00:00
f7c5776d42
Refactorings to send RTCP packets directly via the RtcpPacket callback, with some simplifications enabled by this. NACK now also sent via RtcpPacket.
...
BUG=webrtc:2450
R=asapersson@webrtc.org
Review URL: https://codereview.webrtc.org/1309833002 .
Cr-Commit-Position: refs/heads/master@{#10888}
2015-12-04 09:40:54 +00:00
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
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