1d8a506405
Add a PacketOptions struct to webrtc::Transport.
...
This allows us to pass packet meta data, such as transport sequence
number, to libjingle and further down to the socket implementation. A
similar struct already exist in libjingle, see rtc::PacketOptions in asyncpacketsocket.h.
BUG=4173
Review URL: https://codereview.webrtc.org/1376673004
Cr-Commit-Position: refs/heads/master@{#10144}
2015-10-02 10:39:40 +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
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
22ff75a163
Add unit tests for more packet types in rtcp_sender_unittest.
...
BUG=webrtc:2450
Review URL: https://codereview.webrtc.org/1291113004
Cr-Commit-Position: refs/heads/master@{#9751}
2015-08-21 07:02:53 +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
468e62a974
Remove MimdRateControl and factories for RemoteBitrateEstimor.
...
BUG=
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1208083002 .
Cr-Commit-Position: refs/heads/master@{#9541}
2015-07-06 08:51:01 +00:00
fe7a80c38c
Prevent sender RTCP signals for receive-only channels.
...
Since RTCP packets are delivered to both senders and receivers that
correspond the receivers currently log that NACKed packets are missing,
since they have no direct connection to the sending side or the RTP
packet history. Also preventing triggering on SR requests and PLI/FIR.
BUG=
R=asapersson@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/45249004
Cr-Commit-Position: refs/heads/master@{#9071}
2015-04-23 15:52:58 +00:00
14665ff7d4
Roll chromium_revision e144d30..6fdb142 (318658:318841) + remove OVERRIDE macro
...
Clang version changed 223108:230914
Details: e144d30..6fdb142
/tools/clang/scripts/update.sh
Removes the OVERRIDE macro defined in:
* webrtc/base/common.h
* webrtc/typedefs.h
The majority of the source changes were done by running this in src/:
perl -0pi -e "s/virtual\s([^({;]*(\([^({;]*\)[^({;]*))(OVERRIDE|override)/\1override/sg" `find {talk,webrtc} -name "*.h" -o -name "*.cc*" -o -name "*.mm*"`
which converted all:
virtual Foo() OVERRIDE
functions to:
Foo() override
Then I manually edited:
* talk/media/webrtc/fakewebrtccommon.h
* webrtc/test/fake_common.h
Remaining uses of OVERRIDE was fixed by search+replace.
Manual edits were done to fix virtual destructors that were
overriding inherited ones.
Finally a build error related to the pure virtual definitions of
Read, Write and Rewind in common_types.h required a bit of
refactoring in:
* webrtc/common_types.cc
* webrtc/common_types.h
* webrtc/system_wrappers/interface/file_wrapper.h
* webrtc/system_wrappers/source/file_impl.cc
This roll should make it possible for us to finally re-enable deadlock
detection for TSan on the buildbots.
BUG=4106
R=pbos@webrtc.org , tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/41069004
Cr-Commit-Position: refs/heads/master@{#8596}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8596 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 13:04:54 +00:00
00b8f6b364
Use base/scoped_ptr.h; system_wrappers/interface/scoped_ptr.h is going away
...
BUG=
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/36229004
Cr-Commit-Position: refs/heads/master@{#8517}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8517 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-26 14:43:50 +00:00
96abda0316
Removing FEC functionality from the default RTP module.
...
This CL removes the last default module methods used from ViEEncoder and
the default module itself will be removed in a separate CL.
BUG=769
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/35309004
Cr-Commit-Position: refs/heads/master@{#8505}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8505 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-25 13:50:51 +00:00
d324546ced
Misc. cleanup split out of https://webrtc-codereview.appspot.com/37699004/ :
...
* Move constants into the files/functions that use them
* Declare variables in the narrowest scope possible
* Use correct (expected, actual) order for gtest macros
* Remove unused functions
* Untabify
* 80-column limit
* Avoid C-style casts
* Prefer true typed constants to "enum hack" constants
* Print size_t using the right format macro
* Shorten and simplify code
* Other random cleanup bits and style fixes
BUG=none
TEST=none
R=henrik.lundin@webrtc.org , tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/36179004
Cr-Commit-Position: refs/heads/master@{#8467}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8467 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-23 21:29:45 +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
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
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
3cefbc99f4
Mark all virtual overrides in the hierarchy of Transport as virtual + OVERRIDE.
...
This also marks all virtual overrides of other classes in the same files.
This will make a subsequent change I intend to do safer, where I'll change the
argument types of the base Transport functions, by breaking the compile if I
miss any overrides.
This also highlighted a number of unused functions. I've removed some of these.
TBR=mflodman@webrtc.org , pkasting@chromium.org
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/28709004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7421 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-10 09:42:53 +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
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
af839b28b0
Add AIMD option to BWE API.
...
TEST=trybots
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/10319005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5755 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-24 09:42:08 +00:00
e9abd591d7
Making RemoteRateControl::min_configured_bit_rate_ configurable
...
The minimum bitrate can now be configured from WrappingBitrateEstimator.
BUG=2698
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/5699004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5279 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-13 08:42:42 +00:00
8469f7b328
Added support for sending and receiving RTCP XR packets:
...
- Receiver reference time report block
- DLRR report block (RFC3611).
BUG=1613
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2196010
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4898 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-02 13:15:34 +00:00
28a331eede
Add support for multiple report blocks.
...
Use a weighted average of fraction loss for bandwidth estimation.
TEST=trybots and vie_auto_test --automated
BUG=1811
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2198004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4762 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-17 07:49:56 +00:00
59f20bb735
Break out RTCPSender dependency on ModuleRtpRtcpImpl.
...
BUG=
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2191004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4706 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-09 16:02:19 +00:00
7bb8f02274
Adds support for combining RTX and FEC/RED.
...
This is accomplished by breaking out RTX and FEC/RED functionality from the RTP module and keeping track of the base payload type, that is the payload type received when not receiving RTX.
Enables retransmissions over RTX by default in the loopback test.
BUG=1811
TESTS=voe/vie_auto_test --automated and trybots.
R=mflodman@webrtc.org , pbos@webrtc.org , xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2154004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4692 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-06 13:40:11 +00:00
286fe0b04d
Revert 4585 "Revert "Revert 4582 "Reverts a second set of reverts caused by a bug in ..."""
...
...and fixes the RTCP bug.
BUG=2277
TBR=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2089004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4588 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-21 20:58:21 +00:00
a0218a84d1
Revert 4582 "Reverts a second set of reverts caused by a bug in ..."
...
> Reverts a second set of reverts caused by a bug in a dependency.
>
> Revert "Revert r4328"
>
> Revert "Revert r4322 "Support sending multiple report blocks and keeping track
> of statistics on"
>
> BUG=1811
> R=henrika@webrtc.org , pbos@webrtc.org , tina.legrand@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/2072004
TBR=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2087004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4585 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-21 19:44:13 +00:00
1a65d6c36b
Reverts a second set of reverts caused by a bug in a dependency.
...
Revert "Revert r4328"
Revert "Revert r4322 "Support sending multiple report blocks and keeping track
of statistics on"
BUG=1811
R=henrika@webrtc.org , pbos@webrtc.org , tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2072004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4582 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-21 16:22:21 +00:00
822fbd8b68
Update talk to 50918584.
...
Together with Stefan's http://review.webrtc.org/1960004/ .
R=mallinath@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2048004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4556 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-15 23:38:54 +00:00
aa4d96a134
Revert r4301
...
R=mikhal@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1809004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4357 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-16 19:25:04 +00:00
b7eda43810
Revert r4322 "Support sending multiple report blocks and keeping track of statistics on
...
several SSRCs"
R=pwestin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1774006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4344 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-15 21:08:27 +00:00
96edd56170
Sorted headers under rtp_rtcp/.
...
BUG=
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1781005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4325 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-10 15:40:42 +00:00
717d147ebb
Support sending multiple report blocks and keeping track of statistics on several SSRCs.
...
BUG=1811
TEST=vie_auto_test --automated, voe_auto_test --automated, trybots
R=andresp@webrtc.org , tommi@webrtc.org , xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1768004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4322 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-10 13:39:27 +00:00
66b2e5c05a
Breaking out receive-stats, rtp-payload-registry and rtp-receiver from the
...
rtp_rtcp implementation.
This refactoring significantly reduces the receive-side RTP parser and receiver
complexity, and makes it possible to implement RTX correctly by having two
instances of receive-statistics.
With this change the dead-or-alive and packet timeout APIs are removed.
TEST=trybots, vie_auto_test, voe_auto_test
BUG=1811
R=mflodman@webrtc.org , pbos@webrtc.org , xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1745004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4301 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-05 14:30:48 +00:00
a048d7cb0a
Include files from webrtc/.. paths in rtp_rtcp/
...
BUG=1662
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1557004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4135 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-29 14:27:38 +00:00
a5cb98cbbd
Breaking out RTP header parsing from the RTP module.
...
This is the first step in order to move bandwidth estimation closer to the network. The goal is to have RTP header parsing and bandwidth estimation before voice and video engine, and have a joint estimate for audio and video.
Moving bandwidth estimation before the RTP module is also required for RTX.
TEST=vie_auto_test, voe_auto_test, trybots.
BUG=1811
R=andresp@webrtc.org , henrika@webrtc.org , mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1545004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4129 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-29 12:12:51 +00:00
29b2219914
Adding a factory to remote bitrate estimator and allow it to be set via config.
...
Additionally:
- clean api to set remote bitrate estimator mode.
- clean api to set over use detector options.
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1448006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4027 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-14 12:10:58 +00:00
2f44673d66
WebRtc_Word32 => int32_t for rtp_rtcp/
...
BUG=314
Review URL: https://webrtc-codereview.appspot.com/1279007
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3777 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-08 11:08:41 +00:00
79b0289bfc
Adds event traces and counters for WebRTC receive side.
...
Review URL: https://webrtc-codereview.appspot.com/1279005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3766 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-04 19:43:34 +00:00
0cb48a0a18
Set SingleStream BWE in unittests.
...
TEST=trybots
Review URL: https://webrtc-codereview.appspot.com/1094004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3494 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-11 08:30:23 +00:00
becf9c897c
Fix mismatch between different NACK list lengths and packet buffers.
...
This is a second version of http://review.webrtc.org/1065006/ which passes the parameters via methods instead of via constructors.
BUG=1289
Review URL: https://webrtc-codereview.appspot.com/1065007
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3456 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-01 15:09:57 +00:00
b586507986
Break out RemoteBitrateEstimator from RtpRtcp module and make RemoteBitrateEstimator::Process trigger new REMB messages.
...
Also make sure RTT is computed independently of whether it's time to send RTCP messages or not.
BUG=1298
Review URL: https://webrtc-codereview.appspot.com/1060005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3455 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-01 14:33:42 +00:00
a678a3baee
Move video_coding to new Clock interface and remove fake clock implementations from RTP module tests.
...
TEST=video_coding_unittests, video_coding_integrationtests, rtp_rtcp_unittests, trybots
Review URL: https://webrtc-codereview.appspot.com/1044004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3393 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-21 07:42:11 +00:00
20ed36dada
Break out RtpClock to system_wrappers and make it more generic.
...
The goal with this new clock interface is to have something which is used all
over WebRTC to make it easier to switch clock implementation depending on where
the components are used. This is a first step in that direction.
Next steps will be to, step by step, move all modules, video engine and voice
engine over to the new interface, effectively deprecating the old clock
interfaces. Long-term my vision is that we should be able to deprecate the clock
of WebRTC and rely on the user providing the implementation.
TEST=vie_auto_test, rtp_rtcp_unittests, trybots
Review URL: https://webrtc-codereview.appspot.com/1041004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3381 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-17 14:01:20 +00:00
14b43beb7c
Move src/ -> webrtc/
...
TBR=niklas.enbom@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/915006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@2963 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-22 18:19:23 +00:00