38 Commits

Author SHA1 Message Date
danilchap
c1f40b7bae Remove RtcpPacket dependency on rtcp_utility
and thus IP_PACKET_SIZE constant:
Build() use BlockLength() instead of constant IP_PACKET_SIZE for packet
capacity, adding extra checks about packet generation in tests.
Build(callback) removed as unused.
definitions reordered to follow style.

BUG=webrtc:5260

Review-Url: https://codereview.webrtc.org/2270753002
Cr-Commit-Position: refs/heads/master@{#14647}
2016-10-17 08:44:49 +00:00
danilchap
7a4116aa54 [rtp_rtcp] Append functionality moved from base RtcpPacket class to CompoundPacket
BUG=webrtc:5260

Review URL: https://codereview.webrtc.org/1582323005

Cr-Commit-Position: refs/heads/master@{#11981}
2016-03-14 15:19:31 +00:00
danilchap
69e59e619a [rtp_rtcp] rtc::scoped_ptr<rtcp::RawPacket> replaced with rtc::Buffer
rtcp::RawPacket is rtc::Buffer, it had no extra functionality.
rtc::Buffer is a movable class - no point to wrap it into rtc::scoped_ptr
change is large, but straightforward:
  rtc::scoped_ptr<rtcp::RawPacket> replaced with rtc::Buffer
  ->Buffer() replaced with .data()
  ->Length() replaced with .size()

BUG=webrtc:5260

Review URL: https://codereview.webrtc.org/1696203002

Cr-Commit-Position: refs/heads/master@{#11649}
2016-02-17 11:11:50 +00:00
danilchap
34ed2b95a5 [rtp_rtcp] rtcp::SenderReport moved into own file and got Parse function
BUG=webrtc:5260
R=åsapersson

Review URL: https://codereview.webrtc.org/1544983002

Cr-Commit-Position: refs/heads/master@{#11288}
2016-01-18 10:43:38 +00:00
Danil Chapovalov
1567d0bd98 [rtp_rtcp] rtcp::Sdes moved into own file
Cleaning/Parsing will be done in the https://codereview.webrtc.org/1439553003/

BUG=webrtc:5260
R=asapersson@webrtc.org, åsapersson

Review URL: https://codereview.webrtc.org/1592763002 .

Cr-Commit-Position: refs/heads/master@{#11274}
2016-01-15 16:34:32 +00:00
Danil Chapovalov
2c13297bf5 [rtp_rtcp] rtcp::Rpsi moved into own file
Cleaning/Parsing will be done in the https://codereview.webrtc.org/1550293003/

BUG=webrtc:5260
R=asapersson@webrtc.org, åsapersson

Review URL: https://codereview.webrtc.org/1583233007 .

Cr-Commit-Position: refs/heads/master@{#11272}
2016-01-15 14:21:34 +00:00
Danil Chapovalov
256e5b23f8 Cleaning/Parsing will be done in the https://codereview.webrtc.org/1557593002/
BUG=webrtc:5260
R=asapersson@webrtc.org, åsapersson

Review URL: https://codereview.webrtc.org/1579213005 .

Cr-Commit-Position: refs/heads/master@{#11271}
2016-01-15 13:16:36 +00:00
Danil Chapovalov
5679da1291 [rtp_rtcp] rtcp::Fir moved into own file
Cleaning/Parsing will be done in the https://codereview.webrtc.org/1544403002

BUG=webrtc:5260
R=asapersson@webrtc.org, åsapersson

Review URL: https://codereview.webrtc.org/1581983003 .

Cr-Commit-Position: refs/heads/master@{#11269}
2016-01-15 12:19:59 +00:00
Danil Chapovalov
a5eba6c98b [rtp_rtcp] rtcp::Remb moved into own file
Cleaning/Parsing will be done in the https://codereview.webrtc.org/1552773002/

BUG=webrtc:5260
R=asapersson@webrtc.org, åsapersson

Review URL: https://codereview.webrtc.org/1590883002 .

Cr-Commit-Position: refs/heads/master@{#11268}
2016-01-15 11:40:27 +00:00
danilchap
2f7dea164d [rtp_rtcp] rtcp::Empty moved into own file and renamed to CompoundPacket on the way
Class renamed to indicated use of the rtcp::Empty class: it can only be used as container for other rtcp packets.
All tests that use Append function moved from rtcp_packet_unittest, even if they did not use Empty class.
This is because there is plan to make RtcpPacket class lighter by moving Append functionality to CompoundPacket class.

BUG=webrtc:5260
R=åsapersson

Review URL: https://codereview.webrtc.org/1582503002

Cr-Commit-Position: refs/heads/master@{#11234}
2016-01-13 10:03:09 +00:00
danilchap
92e677a1f8 [rtp_rtcp] rtcp::Sli packet moved into own file and got Parse function
BUG=webrtc:5260
R=åsapersson

Review URL: https://codereview.webrtc.org/1551893002

Cr-Commit-Position: refs/heads/master@{#11228}
2016-01-12 18:05:00 +00:00
danilchap
7e8145f05d [rtp_rtcp] rtcp::Tmmbr moved into own file
BUG=webrtc:5260
R=åsapersson

Review URL: https://codereview.webrtc.org/1575023002

Cr-Commit-Position: refs/heads/master@{#11206}
2016-01-11 19:49:24 +00:00
danilchap
ef3d805f6e [rtp_rtcp] rtcp::Tmmbn moved into own file
explicetly unchanged.

BUG=webrtc:5260
R=åsapersson

Review URL: https://codereview.webrtc.org/1578713002

Cr-Commit-Position: refs/heads/master@{#11201}
2016-01-11 11:31:17 +00:00
danilchap
a8890a57a5 rtcp::Nack packet moved into own file and got Parse function
Review URL: https://codereview.webrtc.org/1461623003

Cr-Commit-Position: refs/heads/master@{#11111}
2015-12-22 11:43:10 +00:00
danilchap
54999d411b rtcp::Dlrr block moved into own file and got Parse function
BUG=webrtc:5260

Review URL: https://codereview.webrtc.org/1453973005

Cr-Commit-Position: refs/heads/master@{#11044}
2015-12-16 09:56:22 +00:00
danilchap
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
danilchap
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
Danil Chapovalov
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
Danil Chapovalov
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
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
f8506cbdd8 rtcp::Ij renamed to rtcp::ExtendedJitterReport
to match name given in the RFC5450
  private member renamed to inter_arrival_jitters_ for the same reason.
rtcp::ExtendedJitterReport moved into own file
accessors and Parse function added
  to make class usable for parsing packet

Review URL: https://codereview.webrtc.org/1434213004

Cr-Commit-Position: refs/heads/master@{#10636}
2015-11-13 15:33:26 +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
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
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
73a93e8257 Add a ParseHeader method to RtcpPacket, for parsing common RTCP header.
Also refactor TransportFeedback to use this.

BUG=

Review URL: https://codereview.webrtc.org/1307663004

Cr-Commit-Position: refs/heads/master@{#9935}
2015-09-14 19:50:49 +00:00
Erik Språng
a3b8769860 Add packetization and coding/decoding of feedback message format.
BUG=webrtc:4312
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1175263002 .

Cr-Commit-Position: refs/heads/master@{#9651}
2015-07-29 08:47:04 +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
Erik Språng
c1b9d4e686 Add support for fragmentation in RtcpPacket.
If the buffer becomes full an OnPacketReady callback will be used to
send the packets created so far. On success the buffer can be reused.
The same callback will be called when the last packet has beed created.

Also made some changes to RawPacket. Buffer will now be heap-allocated
rather than (potentially) stack-allocated, but on the plus side it can
now be allocted with variable size and also avoids one memcpy.

BUG=

patch from issue 56429004 at patchset 160001 (http://crrev.com/56429004#ps160001)

R=asapersson@webrtc.org

Review URL: https://codereview.webrtc.org/1165113002

Cr-Commit-Position: refs/heads/master@{#9390}
2015-06-08 07:54:24 +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
fbarchard@google.com
c891fee7ab Make a int64 constant use ULL suffix so it wont get truncated.
BUG=3690
TESTED=try bots
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6878 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-12 22:39:06 +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
asapersson@webrtc.org
3b84b3a58c Add RTCP packet types to packet builder:
REMB, TMMBR, TMMBN and
extended reports: RRTR, DLRR, VoIP metric.

BUG=2450
R=mflodman@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6537 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-25 12:22:17 +00:00
asapersson@webrtc.org
4b12d40008 Add SDES, APP, IJ, SLI and PLI packet types to RTCP packet class.
BUG=2450
R=mflodman@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6449 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-16 14:09:28 +00:00
asapersson@webrtc.org
a826006132 Add NACK and RPSI packet types to RTCP packet builder.
Fixes bug found when parsing received RPSI packet.

BUG=2450
R=mflodman@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6194 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-20 09:53: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
asapersson@webrtc.org
0f2809a5ac Add RTCP packet class.
Adds packet types: sr, rr, bye, fir.

BUG=2450
R=mflodman@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5592 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-21 08:14:45 +00:00