107 Commits

Author SHA1 Message Date
Danil Chapovalov
49456a5b33 Add hack to RtcpTransceiver to mitigate bug in RtcpReceiver of remote endpoint.
Bug: webrtc:8805
Change-Id: I540ff1d2503ba43723e82800b0bebd322f1af351
Reviewed-on: https://webrtc-review.googlesource.com/44481
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21802}
2018-01-30 09:57:09 +00:00
Danil Chapovalov
04164cc5ac When processing report blocks do not store rtt when it is not calculated
Otherwise bandwidth observer might miss rtt calculated from previous report block

Bug: webrtc:8805
Change-Id: If3c4f4ee2e923d440ff352e8b770442f1a11fa34
Reviewed-on: https://webrtc-review.googlesource.com/44480
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21800}
2018-01-30 09:42:49 +00:00
Emircan Uysaler
d7ae3c34e5 Reland "Rename stereo video codec to multiplex"
This is a reland of bbdabe50db0cf09f6007dda12a6476dc4602b174.

Original change's description:
> Rename stereo video codec to multiplex
>
> This CL only does the rename from"stereo" to multiplex". With this we have a
> better name that doesn't clash with audio's usage of stereo.
>
> Bug: webrtc:7671
> Change-Id: Iebc3fc20839025f1bc8bcf0e16141bf9744ef652
> Reviewed-on: https://webrtc-review.googlesource.com/43242
> Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
> Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21769}

TBR=niklas.enbom@webrtc.org

Bug: webrtc:7671
Change-Id: I6f38dc46126f279f334d52b56339b40acdc30511
Reviewed-on: https://webrtc-review.googlesource.com/45820
Reviewed-by: Emircan Uysaler <emircan@webrtc.org>
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21794}
2018-01-29 20:37:59 +00:00
Taylor Brandstetter
1204448a68 Revert "Reland "Rename stereo video codec to multiplex""
This reverts commit 4954a77cf81e6793245f52d485834acd3e6eab1c.

Reason for revert: Breaks downstream build which was depending on the name "kVideoCodecStereo". Will need to do some sort of trickery to make this change without breaking the relevant code. Sorry. :(

Original change's description:
> Reland "Rename stereo video codec to multiplex"
> 
> This is a reland of bbdabe50db0cf09f6007dda12a6476dc4602b174.
> This was reverted because of breaking internal build. I contacted sheriff
> and looked at logs but cannot find anything related to this CL. This was landed
> with #3850 build which caused exception, but 3847-3855 seem to all have failed.
> I am relanding to see if it will work this time or it will give some related
> error message that can guide me.
> 
> Original change's description:
> > Rename stereo video codec to multiplex
> >
> > This CL only does the rename from"stereo" to multiplex". With this we have a
> > better name that doesn't clash with audio's usage of stereo.
> >
> > Bug: webrtc:7671
> > Change-Id: Iebc3fc20839025f1bc8bcf0e16141bf9744ef652
> > Reviewed-on: https://webrtc-review.googlesource.com/43242
> > Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
> > Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#21769}
> 
> TBR=niklas.enbom@webrtc.org
> 
> Bug: webrtc:7671
> Change-Id: I5934abad1ce28acf02842ea8ee2af7768a826eb8
> Reviewed-on: https://webrtc-review.googlesource.com/44520
> Reviewed-by: Emircan Uysaler <emircan@webrtc.org>
> Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21780}

TBR=sprang@webrtc.org,niklas.enbom@webrtc.org,qiangchen@chromium.org,emircan@webrtc.org

Change-Id: I0a71327c2ddfdd030b1e058cd6a41b1689836719
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7671
Reviewed-on: https://webrtc-review.googlesource.com/44621
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21783}
2018-01-27 00:45:20 +00:00
Emircan Uysaler
4954a77cf8 Reland "Rename stereo video codec to multiplex"
This is a reland of bbdabe50db0cf09f6007dda12a6476dc4602b174.
This was reverted because of breaking internal build. I contacted sheriff
and looked at logs but cannot find anything related to this CL. This was landed
with #3850 build which caused exception, but 3847-3855 seem to all have failed.
I am relanding to see if it will work this time or it will give some related
error message that can guide me.

Original change's description:
> Rename stereo video codec to multiplex
>
> This CL only does the rename from"stereo" to multiplex". With this we have a
> better name that doesn't clash with audio's usage of stereo.
>
> Bug: webrtc:7671
> Change-Id: Iebc3fc20839025f1bc8bcf0e16141bf9744ef652
> Reviewed-on: https://webrtc-review.googlesource.com/43242
> Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
> Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21769}

TBR=niklas.enbom@webrtc.org

Bug: webrtc:7671
Change-Id: I5934abad1ce28acf02842ea8ee2af7768a826eb8
Reviewed-on: https://webrtc-review.googlesource.com/44520
Reviewed-by: Emircan Uysaler <emircan@webrtc.org>
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21780}
2018-01-26 21:11:54 +00:00
Ivo Creusen
6bc7bb659e Revert "Rename stereo video codec to multiplex"
This reverts commit bbdabe50db0cf09f6007dda12a6476dc4602b174.

Reason for revert: This breaks the internal build.

Original change's description:
> Rename stereo video codec to multiplex
> 
> This CL only does the rename from"stereo" to multiplex". With this we have a
> better name that doesn't clash with audio's usage of stereo.
> 
> Bug: webrtc:7671
> Change-Id: Iebc3fc20839025f1bc8bcf0e16141bf9744ef652
> Reviewed-on: https://webrtc-review.googlesource.com/43242
> Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
> Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21769}

TBR=sprang@webrtc.org,niklas.enbom@webrtc.org,qiangchen@chromium.org,emircan@webrtc.org

Change-Id: Icf019cb09e07de45821d31d7d8ea7707d01346ee
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7671
Reviewed-on: https://webrtc-review.googlesource.com/44360
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21774}
2018-01-26 12:44:54 +00:00
Emircan Uysaler
bbdabe50db Rename stereo video codec to multiplex
This CL only does the rename from"stereo" to multiplex". With this we have a
better name that doesn't clash with audio's usage of stereo.

Bug: webrtc:7671
Change-Id: Iebc3fc20839025f1bc8bcf0e16141bf9744ef652
Reviewed-on: https://webrtc-review.googlesource.com/43242
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21769}
2018-01-25 23:16:04 +00:00
Emircan Uysaler
9bb8f0553d Cleanup of unused RTP structs and packetizer for stereo codec
This CL is a followup to https://webrtc-review.googlesource.com/c/src/+/38481.
With the new approach we can just use the generic RTP packetizer to pass frames
over the wire as the specific info is contained within the bitstream. This makes
the new codec more modular and reduces its footprint.

Bug: webrtc:7671
Change-Id: Ib07f72a9d338e3cbfdbf39cba9891a959b5f7552
Reviewed-on: https://webrtc-review.googlesource.com/43220
Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21753}
2018-01-25 01:25:56 +00:00
Erik Språng
788ac70c1f Don't overwrite RTP packets in history within one second or 3x RTT.
This prevents us from prematurely overwriting the packets in the history
if the RTT is underestimated.

Bug: webrtc:8766
Change-Id: I042e8ce74cdce2a0451596f4217779fc856b51f4
Reviewed-on: https://webrtc-review.googlesource.com/42960
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21735}
2018-01-23 17:08:28 +00:00
Rasmus Brandt
393e266470 Use correct RTP header length in RED generation for ULPFEC packets.
Prior to this change, in certain circumstances the RTP header length
used when creating a RedPacket was incorrect. This was due to an
assumption that a new media packet would _always_ be added to the
UlpfecGenerator's internal media packet buffer. This is not correct,
and the fix is to keep track of whatever RTP header length that is
currently correct.

Bug: webrtc:8767
Change-Id: I6d61429a19d4693dde9330f0469d13c5dfbeac52
Reviewed-on: https://webrtc-review.googlesource.com/40600
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21720}
2018-01-22 15:12:08 +00:00
philipel
d8f6c167bb Avoid infinite recursion if a RED packet encapsulate a RED packet.
Bug: None
Change-Id: Ife982f28637c7a1b5a4f06fa0446841d76da8392
Reviewed-on: https://webrtc-review.googlesource.com/40880
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21718}
2018-01-22 14:51:34 +00:00
Erik Språng
8b10192307 Don't overwrite packets in rtp packet history too early
Bug: webrtc:8766
Change-Id: I24029138d366ba54dc5d95be5c06d08d6b1c9575
Reviewed-on: https://webrtc-review.googlesource.com/40506
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21687}
2018-01-18 22:41:18 +00:00
Danil Chapovalov
d1996b76d5 Support more ssrcs in ReceiveStatistics than retrieved per RtcpReportBlocks call
Bug: webrtc:8239
Change-Id: Ie2d630e98384e640e0e7dcbfbb1f69453d873044
Reviewed-on: https://webrtc-review.googlesource.com/39784
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21635}
2018-01-16 12:02:24 +00:00
Danil Chapovalov
603ce9835b Reenable the dcheck ssrc can't change after first sent packet
Bug: webrtc:6887
Change-Id: I6eb1ffc7dd98390f870b15132ba6038dd6c57b87
Reviewed-on: https://webrtc-review.googlesource.com/36301
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21453}
2017-12-27 11:35:59 +00:00
Danil Chapovalov
eb0edd832a Narrow interface PacketRouter use to send Remb and TransportFeedback
This allows to use RtcpTransceiver implementation instead of RtpRtcp.
No functional changes.

Bug: webrtc:8239
Change-Id: I3c5bd23ff2136eb844e85b567b70380fc2a65929
Reviewed-on: https://webrtc-review.googlesource.com/33005
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21298}
2017-12-15 15:58:17 +00:00
Danil Chapovalov
a32d710bb4 Propagate media receiver rtcp observers to RtcpTransceiver
Bug: webrtc:8239
Change-Id: I2e287744128ccbc80e011a0b995a68b4310e36ae
Reviewed-on: https://webrtc-review.googlesource.com/33007
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21285}
2017-12-14 17:39:13 +00:00
Danil Chapovalov
d5cae4d59c Add hacky way to send TransportFeedback in RtcpTransceiver
With an extra interface it will allow to add both RtpRtcp module
and RtcpTransceiver as feedback sender to PacketRouter

Though hacky, this is very similar to currently used implementation
in the RTCPSender::SendFeedbackPacket

Bug: webrtc:8239
Change-Id: I237b422ae1594dede78cb63daa4aa42b6774d6fe
Reviewed-on: https://webrtc-review.googlesource.com/32680
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21274}
2017-12-14 11:12:43 +00:00
Danil Chapovalov
1de4b62955 Change RtpRtcp::SetRemb signature to match RtcpTransceiver::SetRemb
in particular change bitrate type to int64_t to follow style guide.

With an extra interface it will allow to add both RtpRtcp module
and RtcpTransceiver as feedback sender to PacketRouter

Bug: webrtc:8239
Change-Id: I9ea265686d7cd2d709f0b42e8a983ebe1790a6ba
Reviewed-on: https://webrtc-review.googlesource.com/32302
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21250}
2017-12-13 14:40:01 +00:00
Danil Chapovalov
7ca9ae2e26 Add rtcp observers for media receiver to RtcpTransceiverImpl
Bug: webrtc:8239
Change-Id: I7b6735f2efb87e303d1b8076c965a751db4af250
Reviewed-on: https://webrtc-review.googlesource.com/31980
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21240}
2017-12-13 12:22:41 +00:00
Sergey Ulanov
6acefdb70a Fixes to build WebRTC for Fuchsia
1. Added WEBRTC_FUCHSIA define.
2. Added PlatformThreadId typedef for Fuchsia.
3. Updated ifdefs for _strnicmp()/strncasecmd(), so _strnicmp()
   is used on all platforms
3. Updated ifdefs in clock.cc to avoid invalid assumption that
   POSIX = LINUX || MAC .

Bug: chromium:750940
Change-Id: Id7aa98e017f467bcebb78a0b298ba91655502072
Reviewed-on: https://webrtc-review.googlesource.com/31641
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21233}
2017-12-12 23:37:28 +00:00
Rasmus Brandt
a00137c5d9 Avoid lifetime issues with FlexfecReceiver packet buffer.
BUG=webrtc:8481

Change-Id: I8f52613e12eb3b32c4e4f9a5072c3d196ac368d0
Reviewed-on: https://webrtc-review.googlesource.com/31960
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21222}
2017-12-12 10:12:47 +00:00
Harald Alvestrand
c7c4191325 Declare the RTCP packets_lost field as signed in the API.
The definition of this field in RFC 3550 says that under certain
conditions it may have a negative value. This change exposes that
property in the WebRTC API.

Bug: webrtc:8626
Change-Id: I4ee249da045dcee940db66ebd915268a97fc13db
Reviewed-on: https://webrtc-review.googlesource.com/31260
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21159}
2017-12-08 11:22:09 +00:00
Harald Alvestrand
70206d6608 Reland "Make RTCP cumulative_lost be a signed value"
Instead of modifying the API, we'll add a new function to return
the true value, and have a shim that returns what other code expects.

> This reverts commit 4c34f435db2b921b82b8be19ee5c1746f46cb188.
>
> Reason for revert: Broke internal projects. Type mismatch.
>
> Original change's description:
> > Make RTCP cumulative_lost be a signed value
> >
> > This is formally defined as a signed 24-bit value in RFC 3550 section 6.4.1.
> > See RFC 3550 Appendix A.3 for the reason why it may turn negative.
> >
> > Noticed on discuss-webrtc mailing list.
> >
> > BUG=webrtc:8626
> >
> > Change-Id: I7317f73e9490a876e8445bd3d6b66095ce53ca0a
> > Reviewed-on: https://webrtc-review.googlesource.com/30901
> > Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> > Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#21142}
>
> TBR=stefan@webrtc.org,hta@webrtc.org
>
> Change-Id: I544f7979d584cfb72a2d0d526f4fef84aebeecb3
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:8626
> Reviewed-on: https://webrtc-review.googlesource.com/31040
> Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
> Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21144}

Change-Id: I95c8c248f4f85c4d1aa2a47424d8c4d954d4ae7a
Bug: webrtc:8626
Reviewed-on: https://webrtc-review.googlesource.com/31220
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21154}
2017-12-08 08:47:09 +00:00
Zhi Huang
062a8ead3b Revert "Make RTCP cumulative_lost be a signed value"
This reverts commit 4c34f435db2b921b82b8be19ee5c1746f46cb188.

Reason for revert: Broke internal projects. Type mismatch.

Original change's description:
> Make RTCP cumulative_lost be a signed value
> 
> This is formally defined as a signed 24-bit value in RFC 3550 section 6.4.1.
> See RFC 3550 Appendix A.3 for the reason why it may turn negative.
> 
> Noticed on discuss-webrtc mailing list.
> 
> BUG=webrtc:8626
> 
> Change-Id: I7317f73e9490a876e8445bd3d6b66095ce53ca0a
> Reviewed-on: https://webrtc-review.googlesource.com/30901
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21142}

TBR=stefan@webrtc.org,hta@webrtc.org

Change-Id: I544f7979d584cfb72a2d0d526f4fef84aebeecb3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8626
Reviewed-on: https://webrtc-review.googlesource.com/31040
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21144}
2017-12-07 18:12:48 +00:00
Harald Alvestrand
4c34f435db Make RTCP cumulative_lost be a signed value
This is formally defined as a signed 24-bit value in RFC 3550 section 6.4.1.
See RFC 3550 Appendix A.3 for the reason why it may turn negative.

Noticed on discuss-webrtc mailing list.

BUG=webrtc:8626

Change-Id: I7317f73e9490a876e8445bd3d6b66095ce53ca0a
Reviewed-on: https://webrtc-review.googlesource.com/30901
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21142}
2017-12-07 17:00:57 +00:00
Rasmus Brandt
d73ba12a93 Do not send 48 empty FEC packets when there is a large media packet seq. num. gap.
BUG=webrtc:8617

Change-Id: I9c542f5cfd504511165df8f823dd936b4f01f45a
Reviewed-on: https://webrtc-review.googlesource.com/30263
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21137}
2017-12-07 11:22:30 +00:00
Danil Chapovalov
5c3cc41cef Change RtcpPacket::PacketReadyCallback to rtc::FunctionView
from interface


Bug: webrtc:5565
Change-Id: I2df5d7a0554b938888581f1c73dbdb8b85c387cc
Reviewed-on: https://webrtc-review.googlesource.com/8680
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21136}
2017-12-07 11:20:08 +00:00
Ilya Nikolaevskiy
33102745a0 Remove WebRTC-ClockEstimation experiment and make new clock estimation always enabled
Bug: webrtc:8468
Change-Id: Id9feb8e2c015f0a895a093d20caedae4a8b1337e
Reviewed-on: https://webrtc-review.googlesource.com/29161
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21075}
2017-12-05 09:49:32 +00:00
Danil Chapovalov
6348d5b37b Disable TimeUtilTest.TimeMicrosToNtpMatchRealTimeClockInitially on ios
Bug: webrtc:8610
Change-Id: Idb572ae2ac364fee0a53e217adafc55b62d6683a
Reviewed-on: https://webrtc-review.googlesource.com/29200
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21047}
2017-12-04 18:09:20 +00:00
Danil Chapovalov
319a675318 Calculate RTT using ExtendedReports in RtcpTransceiver
Bug: webrtc:8239
Change-Id: Iec3d21d6297c53388bbae88611e147fe91027c83
Reviewed-on: https://webrtc-review.googlesource.com/22800
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20953}
2017-11-30 14:34:40 +00:00
Emircan Uysaler
90612a681b Reland "Add stereo codec header and pass it through RTP"
This is a reland of 20f2133d5dbd1591b89425b24db3b1e09fbcf0b1
Original change's description:
> Add stereo codec header and pass it through RTP
>
> - Defines CodecSpecificInfoStereo that carries stereo specific header info from
> encoded image.
> - Defines RTPVideoHeaderStereo that carries the above info to packetizer,
> see module_common_types.h.
> - Adds an RTPPacketizer and RTPDepacketizer that supports passing specific stereo
> header.
> - Uses new data containers in StereoAdapter classes.
>
> This CL is the step 3 for adding alpha channel support over the wire in webrtc.
> See https://webrtc-review.googlesource.com/c/src/+/7800 for the experimental
> CL that gives an idea about how it will come together.
> Design Doc: https://goo.gl/sFeSUT
>
> Bug: webrtc:7671
> Change-Id: Ia932568fdd7065ba104afd2bc0ecf25a765748ab
> Reviewed-on: https://webrtc-review.googlesource.com/22900
> Reviewed-by: Emircan Uysaler <emircan@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
> Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20920}

TBR=danilchap@webrtc.org, sprang@webrtc.org, niklas.enbom@webrtc.org

Bug: webrtc:7671
Change-Id: If8f0c7e6e3a2a704f19161f0e8bf1880906e7fe0
Reviewed-on: https://webrtc-review.googlesource.com/27160
Reviewed-by: Emircan Uysaler <emircan@webrtc.org>
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20946}
2017-11-30 01:44:19 +00:00
Philip Eliasson
deb866360a Revert "Add stereo codec header and pass it through RTP"
This reverts commit 20f2133d5dbd1591b89425b24db3b1e09fbcf0b1.

Reason for revert: Breaks downstream project.

Original change's description:
> Add stereo codec header and pass it through RTP
> 
> - Defines CodecSpecificInfoStereo that carries stereo specific header info from
> encoded image.
> - Defines RTPVideoHeaderStereo that carries the above info to packetizer,
> see module_common_types.h.
> - Adds an RTPPacketizer and RTPDepacketizer that supports passing specific stereo
> header.
> - Uses new data containers in StereoAdapter classes.
> 
> This CL is the step 3 for adding alpha channel support over the wire in webrtc.
> See https://webrtc-review.googlesource.com/c/src/+/7800 for the experimental
> CL that gives an idea about how it will come together.
> Design Doc: https://goo.gl/sFeSUT
> 
> Bug: webrtc:7671
> Change-Id: Ia932568fdd7065ba104afd2bc0ecf25a765748ab
> Reviewed-on: https://webrtc-review.googlesource.com/22900
> Reviewed-by: Emircan Uysaler <emircan@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
> Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20920}

TBR=danilchap@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,niklas.enbom@webrtc.org,emircan@webrtc.org

Change-Id: I57f3172ca3c60a84537d577a574dc8018e12d634
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7671
Reviewed-on: https://webrtc-review.googlesource.com/26940
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20931}
2017-11-29 11:39:41 +00:00
Danil Chapovalov
8d19e03e95 Simpliy RtcpTransceiver::SendImmediateFeedback signature
and add implementation comment

Bug: webrtc:8239
Change-Id: Id24937018d386e386b8241aca8f5d686e7cc527a
Reviewed-on: https://webrtc-review.googlesource.com/26600
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20925}
2017-11-29 09:51:20 +00:00
Emircan Uysaler
20f2133d5d Add stereo codec header and pass it through RTP
- Defines CodecSpecificInfoStereo that carries stereo specific header info from
encoded image.
- Defines RTPVideoHeaderStereo that carries the above info to packetizer,
see module_common_types.h.
- Adds an RTPPacketizer and RTPDepacketizer that supports passing specific stereo
header.
- Uses new data containers in StereoAdapter classes.

This CL is the step 3 for adding alpha channel support over the wire in webrtc.
See https://webrtc-review.googlesource.com/c/src/+/7800 for the experimental
CL that gives an idea about how it will come together.
Design Doc: https://goo.gl/sFeSUT

Bug: webrtc:7671
Change-Id: Ia932568fdd7065ba104afd2bc0ecf25a765748ab
Reviewed-on: https://webrtc-review.googlesource.com/22900
Reviewed-by: Emircan Uysaler <emircan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20920}
2017-11-28 18:43:43 +00:00
Rasmus Brandt
3fb614bc93 Remove unused UlpfecGenerator::BuildRedPacket.
BUG=none

Change-Id: I998e23beee9c46dc696631195790e8821d1cc967
Reviewed-on: https://webrtc-review.googlesource.com/24821
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20917}
2017-11-28 16:18:28 +00:00
Danil Chapovalov
979d6f96a8 in RtcpTransceiver tests use dedicate RtcpParserTransport
class to pass packet to RtcpPacketParser

This helpers make tests setup cleaner and
makes explicit expectation on number of packets passed to the transport.

Bug: webrtc:8239
Change-Id: I2d5975be59327cee440e87dbd0701b93514c9726
Reviewed-on: https://webrtc-review.googlesource.com/22460
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20911}
2017-11-28 13:52:08 +00:00
Danil Chapovalov
327c43c29b Add sending Nack to RtcpTransceiver
Bug: webrtc:8239
Change-Id: Idf27bb05958d9eceaf601078019f05444232581f
Reviewed-on: https://webrtc-review.googlesource.com/26260
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20907}
2017-11-28 11:57:58 +00:00
Danil Chapovalov
2492984441 Add TimeMicrosToNtp to calculate current NtpTime without Clock
Bug: webrtc:6733, webrtc:8239
Change-Id: I8ac4464cd7a7ec2b2dbad44430f1141a80ba39c1
Reviewed-on: https://webrtc-review.googlesource.com/25541
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20904}
2017-11-28 10:11:58 +00:00
erikvarga@webrtc.org
01f2ec35a6 Add a new function to BitrateAllocation: HasBitrate.
This can be used to determine whether the bitrate of a given spatial and temporal layer has been set in the allocation, even if the value it's set to is zero.
GetBitrate still returns 0 if the queried layer does not have the bitrate set.

Bug: webrtc:8479
Change-Id: I1d982e211da9b052fcccdbf588b67da1a4550c60
Reviewed-on: https://webrtc-review.googlesource.com/17440
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Erik Varga <erikvarga@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20852}
2017-11-23 15:00:08 +00:00
Oskar Sundbom
3419cf909e Optional: Use nullopt and implicit construction in /modules/rtp_rtcp
Changes places where we explicitly construct an Optional to instead use
nullopt or the requisite value type only.

This CL was uploaded by git cl split.

R=danilchap@webrtc.org

Bug: None
Change-Id: Ib4694d183f04d675f2ea66d39661fdffb2a984f1
Reviewed-on: https://webrtc-review.googlesource.com/23604
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20846}
2017-11-23 11:36:08 +00:00
Danil Chapovalov
2ddf98d894 Add RequestKeyFrame with Fir to RtcpTransceiver
Bug: webrtc:8239
Change-Id: If094d434a7be20cdff5c80447322d68a4a7a4580
Reviewed-on: https://webrtc-review.googlesource.com/22961
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20833}
2017-11-22 14:00:57 +00:00
Karl Wiberg
65c392265f Move some more numeric utility code from rtc_base/ to rtc_base/numerics/
Specifically, I'm moving

  histogram_percentile_counter.h
  mathutils.h
  mod_ops.h
  moving_max_counter.h

They shouldn't be part of the API, and moving them to an appropriate
subdirectory of rtc_base/ is a good way to keep track of that.

BUG=webrtc:8445

Change-Id: I78a999984a27ef935be2d7c3136475d5f209adda
Reviewed-on: https://webrtc-review.googlesource.com/20870
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20832}
2017-11-22 12:39:39 +00:00
Karl Wiberg
e40468ba3d Move some numeric utility code from rtc_base/ to rtc_base/numerics/
Specifically, I'm moving

  safe_compare.h
  safe_conversions.h
  safe_minmax.h

They shouldn't be part of the API, and moving them to an appropriate
subdirectory of rtc_base/ is a good way to keep track of that.

BUG=webrtc:8445

Change-Id: I458531aeb30bcf4291c4bec3bf22a2fffbf054ff
Reviewed-on: https://webrtc-review.googlesource.com/20860
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20829}
2017-11-22 11:21:47 +00:00
Danil Chapovalov
a7e418cd5f Add RequestKeyFrame with Pli to RtcpTransceiver
Add support for reduced size mode.

Bug: webrtc:8239
Change-Id: I1d646f0d7848af6632c9204ce5b96ae24cfc0ad3
Reviewed-on: https://webrtc-review.googlesource.com/23681
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20812}
2017-11-21 11:19:07 +00:00
Danil Chapovalov
c0fd5f97a8 Add Thread-safe wrapper for RtcpTransceiver
Bug: webrtc:8239
Change-Id: I4cc2f7f2b27c764e1aae734f933902102b345614
Reviewed-on: https://webrtc-review.googlesource.com/21680
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20714}
2017-11-16 15:12:03 +00:00
Ilya Nikolaevskiy
8b64fd8a85 Reland of "Use moving median filters in RemoteNtpTimeEstimator, RtpToNtpEstimator""
Use moving median filters in RemoteNtpTimeEstimator, RtpToNtpEstimator

If Webrtc-ClockEstimation experiment is enabled, median filtering is
applied to results of RtpToNtpEstimator and RemoteNtpEstimator to smooth
out random errors introduced by incorrect RTCP SR reports and networking delays.

Bug: webrtc:8468
Change-Id: I592c4083fefc0dbdebe7b3ff30b92e95ba337595

NOTRY=TRUE
NOPRESUBMIT=TRUE

Change-Id: I592c4083fefc0dbdebe7b3ff30b92e95ba337595
Reviewed-on: https://webrtc-review.googlesource.com/23263
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20708}
2017-11-16 12:10:04 +00:00
Mirko Bonadei
f6703c4dcb Revert "Use moving median filters in RemoteNtpTimeEstimator, RtpToNtpEstimator"
This reverts commit 550b666e20a13f9c22effce878a8e0078a0f7bad.

Reason for revert: breaks downstream projects.

Original change's description:
> Use moving median filters in RemoteNtpTimeEstimator, RtpToNtpEstimator
> 
> If Webrtc-ClockEstimation experiment is enabled, median filtering is
> applied to results of RtpToNtpEstimator and RemoteNtpEstimator to smooth
> out random errors introduced by incorrect RTCP SR reports and networking
> delays.
> 
> Bug: webrtc:8468
> Change-Id: Iec6d094d2809d1efeb0b9483059167d9a03880da
> Reviewed-on: https://webrtc-review.googlesource.com/22682
> Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Reviewed-by: Åsa Persson <asapersson@webrtc.org>
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20682}

TBR=ilnik@webrtc.org,asapersson@webrtc.org,perkj@webrtc.org

Change-Id: I17345d912bbaf635612c9b399d5f9166de818190
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8468
Reviewed-on: https://webrtc-review.googlesource.com/23320
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20689}
2017-11-15 16:14:42 +00:00
Ilya Nikolaevskiy
550b666e20 Use moving median filters in RemoteNtpTimeEstimator, RtpToNtpEstimator
If Webrtc-ClockEstimation experiment is enabled, median filtering is
applied to results of RtpToNtpEstimator and RemoteNtpEstimator to smooth
out random errors introduced by incorrect RTCP SR reports and networking
delays.

Bug: webrtc:8468
Change-Id: Iec6d094d2809d1efeb0b9483059167d9a03880da
Reviewed-on: https://webrtc-review.googlesource.com/22682
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20682}
2017-11-15 11:24:30 +00:00
Danil Chapovalov
d328229d38 Add sending REMB support to RtcpTransceiver
Bug: webrtc:8239
Change-Id: If22de91a69b5752baf616520a247f2fdedacc220
Reviewed-on: https://webrtc-review.googlesource.com/22080
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20657}
2017-11-13 14:50:11 +00:00
Danil Chapovalov
d2f37d85bd Add Incoming packet handler to RtcpTransceiver
Bug: webrtc:8239
Change-Id: Iebe1b6a2649f01e4f6e3780ac96cb05611d8671c
Reviewed-on: https://webrtc-review.googlesource.com/17560
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20624}
2017-11-09 19:55:43 +00:00