48 Commits

Author SHA1 Message Date
danilchap
4b9cad86ce [rtcp] Sdes::Parse updated not to use RTCPUtility
BUG=webrtc:5260
R=åsapersson

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

Cr-Commit-Position: refs/heads/master@{#12169}
2016-03-30 20:34:38 +00:00
danilchap
367bbbf76d [rtcp] ReceiverReport::Parse updated not to use RTCPUtility
BUG=webrtc:5260
R=åsapersson

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

Cr-Commit-Position: refs/heads/master@{#12164}
2016-03-30 16:43:09 +00:00
danilchap
2f36c2399e [rtcp] SenderReport::Parse updated not to use RTCPUtility
BUG=webrtc:5260
R=åsapersson

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

Cr-Commit-Position: refs/heads/master@{#12140}
2016-03-29 15:02:33 +00:00
danilchap
f752f85f3d [rtcp] Pli::Parse updated not to use RTCPUtility
BUG=webrtc:5260
R=åsapersson

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

Cr-Commit-Position: refs/heads/master@{#12104}
2016-03-23 15:25:30 +00:00
Danil Chapovalov
7021b92525 introduced rtcp::CommonHeader class
this class replace and extend RTCPUtility::RtcpCommonHeader structure and RTCPUtility::RtcpParseCommonHeader function.
In addition to header fields, payload pointer is stored because rtcp header without payload is rarely useful.
Sample usage can be checked in 'RTCP Parser sketched' CL: https://codereview.webrtc.org/1555683002/

BUG=webrtc:5260
R=asapersson@webrtc.org, sprang@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11999}
2016-03-15 16:39:45 +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
9f35d55c58 Added accessor and Parse function.
Create function merged into one.

BUG=webrtc:5260

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

Cr-Commit-Position: refs/heads/master@{#11581}
2016-02-11 16:19:06 +00:00
danilchap
09fef9e6f7 [rtp_rtcp] Added Sender Report Request rtcp packet.
BUG=webrtc:5260
R=åsapersson

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

Cr-Commit-Position: refs/heads/master@{#11538}
2016-02-09 13:57:56 +00:00
danilchap
7336eeb690 [rtp_rtcp] rtcp::Tmmbn cleaned and got Parse function
Added accessor and Parse function
removed dependencies on structures from rtcp_utility.h (except RtcpCommonHeader)
removed limitation of 50 items per TMMBN.

BUG=webrtc:5260
R=åsapersson

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

Cr-Commit-Position: refs/heads/master@{#11524}
2016-02-08 11:35:20 +00:00
danilchap
f174e3a260 [rtp_rtcp] rtcp::Tmmbr cleaned and got Parse function
Added accessor and Parse function
removed dependencies on structures from rtcp_utility.h (except RtcpCommonHeader)

BUG=webrtc:5260
R=åsapersson

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

Cr-Commit-Position: refs/heads/master@{#11502}
2016-02-05 12:56:40 +00:00
danilchap
a92d6be411 rtcp::TmmbItem designed to replace RTCPUtility::RTCPPacketRTPFBTMMBRItem (for creating and parsing rtcp TMMBR/TMMBN packets)
std::vector<rtcp::TmmbItem> will replace TMMBRSet class for storage, processing and preparing TMBBR/TMMBN
(i.e. this TmmbItem replaces Timber structure introduced in https://codereview.webrtc.org/1474693002 )
Previous structures store bitrate in kbps. TmmbItem use bps removing need to regularly divide and multiply by 1000.

BUG=webrtc:5260
R=åsapersson

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

Cr-Commit-Position: refs/heads/master@{#11491}
2016-02-04 15:33:44 +00:00
danilchap
44efbece68 Converting picture_id to bitstring pushed from WithPictureId to Create function.
Added Parse and accessor functions.

BUG=webrtc:5260
R=åsapersson

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

Cr-Commit-Position: refs/heads/master@{#11439}
2016-02-01 09:36:44 +00:00
danilchap
de13882d94 rtcp::ExtenededReports packet class got Parse function
BUG=webrtc:5260
R=åsapersson

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

Cr-Commit-Position: refs/heads/master@{#11428}
2016-01-29 19:26:20 +00:00
Danil Chapovalov
d0c7bba4f4 [rtp_rtcp] Dlrr::SubBlock struct renamed to ReceiveTimeInfo
This structure is used outside Dlrr creating/parsing.
but RTCPReceiveTimeInfo structure doesn't follow naming style.

rtcp::ReceiveTimeInfo added to replace both Dlrr::SubBlock (when creating/parsing packets)
and RTCPReceiveTimeInfo (for other uses).

this CL is a split of https://codereview.webrtc.org/1557593002/

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

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

Cr-Commit-Position: refs/heads/master@{#11380}
2016-01-26 13:12:57 +00:00
Danil Chapovalov
32e590ec13 class doesn't rely on structures in RTCPUtility to store data.
supports several fci items in same packet.
got accessors to read data

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

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

Cr-Commit-Position: refs/heads/master@{#11354}
2016-01-22 10:05:10 +00:00
danilchap
d8dccd57ea uses standard types instead of RTCPUtility type to store data.
got member read accessors, got Parse function.

BUG=webrtc:5260
R=åsapersson

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

Cr-Commit-Position: refs/heads/master@{#11324}
2016-01-20 20:08:58 +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
kwiberg
0eb15ed7b8 Don't call the Pass methods of rtc::Buffer, rtc::scoped_ptr, and rtc::ScopedVector
We can now use std::move instead!

This CL leaves the Pass methods in place; a follow-up CL will add deprecation annotations to them.

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

Cr-Commit-Position: refs/heads/master@{#11064}
2015-12-17 11:04:24 +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
terelius
84e78f9102 Rewrote the PRNG using an xorshift* algorithm and moved the files from test/ to base/.
Created a simple unit test for the new random number generator. (It mostly tests
that the generated numbers are consistent with the intended distribution, e.g. uniform.
It is not a comprehensive test of the quality of the random numbers.)

Several assertions in OveruseDetectorTest seem to depend on the exact sequence of random numbers. I updated those numbers to work with the new PRNG.

Compute the standard deviation of the expected result in TestReorderFilter instead of passing an uncertainty parameter.

BUG=webrtc:5177

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

Cr-Commit-Position: refs/heads/master@{#10965}
2015-12-10 09:51:02 +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
Henrik Kjellander
ff761fba82 modules: more interface -> include renames
This changes the following module directories:
* webrtc/modules/audio_conference_mixer/interface
* webrtc/modules/interface
* webrtc/modules/media_file/interface
* webrtc/modules/rtp_rtcp/interface
* webrtc/modules/utility/interface

To avoid breaking downstream, I followed this recipe:
1. Copy the interface dir to a new sibling directory: include
2. Update the header guards in the include directory to match the style guide.
3. Update the header guards in the interface directory to match the ones in include. This is required to avoid getting redefinitions in the not-yet-updated downstream code.
4. Add a pragma warning in the header files in the interface dir. Example:
#pragma message("WARNING: webrtc/modules/interface is DEPRECATED; "
                "use webrtc/modules/include")
5. Search for all source references to webrtc/modules/interface and update them to webrtc/modules/include (*.c*,*.h,*.mm,*.S)
6. Update all GYP+GN files. This required manual inspection since many subdirectories of webrtc/modules referenced the interface dir using ../interface etc(*.gyp*,*.gn*)

BUG=5095
TESTED=Passing compile-trybots with --clobber flag:
git cl try --clobber --bot=win_compile_rel --bot=linux_compile_rel --bot=android_compile_rel --bot=mac_compile_rel --bot=ios_rel -m tryserver.webrtc

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

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

Cr-Commit-Position: refs/heads/master@{#10500}
2015-11-04 07:32:04 +00:00
sprang
49f9cdba02 Fix bug where rtcp::TransportFeedback may generate incorrect messages.
In particular, if 14 short deltas were inserted (2 * capacity of status
vector chunk with 2bit items) followed by a large delta, that status
item would be dropped.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10132}
2015-10-01 10:07:04 +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
henrikg
3c089d751e Add RTC_ prefix to contructormagic 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.

* DISALLOW_ASSIGN -> RTC_DISALLOW_ASSIGN
* DISALLOW_COPY_AND_ASSIGN -> RTC_DISALLOW_COPY_AND_ASSIGN
* DISALLOW_IMPLICIT_CONSTRUCTORS -> RTC_DISALLOW_IMPLICIT_CONSTRUCTORS

Related CL: https://codereview.webrtc.org/1335923002/

BUG=chromium:468375
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#9953}
2015-09-16 12:37:52 +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
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
sprang
c8a1cccd0a Fixed base time in TransportFeedback message writing.
Value was incorrectly truncated to 16 bits when serializing the message.
Fixed, with added regression tests.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#9858}
2015-09-04 11:38:17 +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