summaryrefslogtreecommitdiff
path: root/video_engine/vie_rtp_rtcp_impl.cc
AgeCommit message (Collapse)Author
2014-07-11Cast payload types to int for logging.pbos@webrtc.org
uint8_t gets interpreted as char and printed as such, instead of being printed in decimal, casting them to int allows us to read what payload types are actually used without converting them from ASCII first. BUG=chromium:390874 R=stefan@webrtc.org Review URL: https://webrtc-codereview.appspot.com/13919004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@6662 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-11Remove the send-side cname getter APIs from voice and video engine.stefan@webrtc.org
These APIs aren't being used, and introduces deadlocks when using GetStats() in the new Call api. Having getters for cname at the send-side is pointless, as it's always the user who sets the cname. R=henrika@webrtc.org, pbos@webrtc.org Review URL: https://webrtc-codereview.appspot.com/16899004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@6659 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-07Preserve RTP states for restarted VideoSendStreams.pbos@webrtc.org
A restarted VideoSendStream would previously be completely reset, causing gaps in sequence numbers and potentially RTP timestamps as well. This broke SRTP which requires fairly sequential sequence numbers. Presumably, were this sent without SRTP, we'd still have problems on the receiving end as the corresponding receiver is unaware of this reset. Also adding annotation to RTPSender and addressing some unlocked access to ssrc_, ssrc_rtx_ and rtx_. BUG= R=mflodman@webrtc.org, stefan@webrtc.org Review URL: https://webrtc-codereview.appspot.com/20819004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@6612 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-11Add APIs to enable padding with redundant payloads.stefan@webrtc.org
Also makes a small change to the tests to remove flakiness. We can't do BWE only based on rtp timestamps if we preemptively resend packets instead of sending padding packets. BUG=1812,2992 R=mflodman@webrtc.org, pbos@webrtc.org Review URL: https://webrtc-codereview.appspot.com/15719004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@6400 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-14Remove WEBRTC_TRACE uses in video_engine/pbos@webrtc.org
Complements fixes by mflodman@. BUG=3153 R=mflodman@webrtc.org Review URL: https://webrtc-codereview.appspot.com/11159004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@6136 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-02Change GetEstimatedSend/RecvBandwidth to return the total bandwidth of a ↵stefan@webrtc.org
channel group instead of splitting it up among channels. This fixes an issue where the user doesn't know which channels are "active" and therefore can't properly sum the estimates for all channels. R=pbos@webrtc.org Review URL: https://webrtc-codereview.appspot.com/12469004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@6041 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-26Add API to allow deducting bitrate from incoming estimates before the ↵solenberg@webrtc.org
capacity is distributed among outgoing video streams. For example, this can be used to reserve space for audio streams. BUG= R=stefan@webrtc.org Review URL: https://webrtc-codereview.appspot.com/10499004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5791 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-24Implement ViE forwarding to RBE of packets for BWE coming in through the ↵solenberg@webrtc.org
ViENetwork::ReceivedBWEPacket API. BUG= R=mflodman@webrtc.org Review URL: https://webrtc-codereview.appspot.com/10429004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5765 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-13Implement minimum transmit bitrate.pbos@webrtc.org
Utilizing minimum transmission bitrate prevents low remote bitrate estimates (bitrate estimation dips) when encoding non-complex content such as screenshare of a static image even though there's nothing wrong with the link. Requires pacing to be enabled for now, pending issue 3036. BUG=3014 R=mflodman@webrtc.org, stefan@webrtc.org Review URL: https://webrtc-codereview.appspot.com/9719004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5694 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-27Adds APIs for reporting pacer queuing delay.jiayl@webrtc.org
BUG=2775 R=stefan@webrtc.org Review URL: https://webrtc-codereview.appspot.com/8959005 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5621 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-19Add RTCP packet type counter (for getting statistics such as sent/received ↵asapersson@webrtc.org
NACK and FIR). Add counter to RTCP sender and RTCP receiver. Add video api GetRtcpPacketTypes(). BUG=2638 R=mflodman@webrtc.org, stefan@webrtc.org Review URL: https://webrtc-codereview.appspot.com/8179004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5575 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-10Add stats of incoming frame delays for debugging bandwidth estimation.jiayl@webrtc.org
BUG=crbug/338380 R=stefan@webrtc.org Review URL: https://webrtc-codereview.appspot.com/8119004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5519 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-23Add callbacks for receive channel RTP statisticssprang@webrtc.org
This allows a listener to receive new statistics (byte/packet counts, etc) as it is generated - avoiding the need to poll. This also makes handling stats from multiple RTP streams more tractable. The change is primarily targeted at the new video engine API. TEST=Unit test in ReceiveStatisticsTest. Integration tests to follow as call tests when fully wired up. BUG=2235 R=mflodman@webrtc.org, pbos@webrtc.org Review URL: https://webrtc-codereview.appspot.com/6259004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5416 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-19Add callbacks for receive channel RTCP statistics.sprang@webrtc.org
This allows a listener to receive new statistics as it is generated - avoiding the need to poll. This also makes handling stats from multiple RTP streams more tractable. The change is primarily targeted at the new video engine API. TEST=Unit test in ReceiveStatisticsTest. Integration tests to follow as call tests when fully wired up. BUG=2235 R=henrika@webrtc.org, pbos@webrtc.org, stefan@webrtc.org Review URL: https://webrtc-codereview.appspot.com/5089004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5323 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-16Revert r5294 to re-roll r5293.pbos@webrtc.org
To fix races in test each stream now owns its own encoder/decoder. R=mflodman@webrtc.org BUG= Review URL: https://webrtc-codereview.appspot.com/5919004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5297 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-15Revert 5293 "Auto instantiate RBE depending on whether AST or TO..."turaj@webrtc.org
> Auto instantiate RBE depending on whether AST or TOF is available in incoming packet stream. > > BUG= > R=mflodman@webrtc.org, stefan@webrtc.org > > Review URL: https://webrtc-codereview.appspot.com/5409004 TBR=solenberg@webrtc.org Review URL: https://webrtc-codereview.appspot.com/5889004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5294 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-13Auto instantiate RBE depending on whether AST or TOF is available in ↵solenberg@webrtc.org
incoming packet stream. BUG= R=mflodman@webrtc.org, stefan@webrtc.org Review URL: https://webrtc-codereview.appspot.com/5409004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5293 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-13Callback for send bitrate estimates - new rollsprang@webrtc.org
Issue https://webrtc-codereview.appspot.com/4459004/ was commited as r5259, after which flakiness was detected and a rollback was performed at r5261. Patch Set 1 of this issue is the code submitted in r5259. Subsequent patch sets fixes a race condition which caused the seen problems. The root cause was a dead lock between a thread sending rtp packets and and a timed module processing thread: webrtc::RTPSender::BitrateUpdated() // Get RTPSender stats lock webrtc::Bitrate::Process() // Get Bitrate lock webrtc::RTPSender::ProcessBitrate() webrtc::ModuleRtpRtcpImpl::Process() ... webrtc::Bitrate::Update() // Get Bitrate lock webrtc::RTPSender::UpdateRtpStats() // Get RTPSender stats lock webrtc::RTPSender::SendToNetwork() ... This is fixed in Bitrate::Process() by releasing the lock before calling the callback. BUG=2235 R=mflodman@webrtc.org Review URL: https://webrtc-codereview.appspot.com/5619004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5281 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-11Revert 5259 "Callback for send bitrate estimates"sprang@webrtc.org
CL is causing flakiness in RampUpTest.WithoutPacing. > Callback for send bitrate estimates > > BUG=2235 > R=mflodman@webrtc.org, pbos@webrtc.org, stefan@webrtc.org > > Review URL: https://webrtc-codereview.appspot.com/4459004 R=mflodman@webrtc.org, pbos@webrtc.org TBR=mflodman Review URL: https://webrtc-codereview.appspot.com/5579005 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5261 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-11Callback for send bitrate estimatessprang@webrtc.org
BUG=2235 R=mflodman@webrtc.org, pbos@webrtc.org, stefan@webrtc.org Review URL: https://webrtc-codereview.appspot.com/4459004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5259 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-06Fraction lost statistics not being reportedsprang@webrtc.org
A bug is causing fraction lost to always be set to zero when calling ViERTP_RTCP::Get(Send|Receive)ChannelRtcpStatistics. Fix this and update tests to catch it. BUG= R=holmer@google.com, stefan@webrtc.org Review URL: https://webrtc-codereview.appspot.com/5219004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5235 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-05Add callbacks for send channel rtp statisticssprang@webrtc.org
BUG=2235 R=mflodman@webrtc.org, pbos@webrtc.org, stefan@webrtc.org Review URL: https://webrtc-codereview.appspot.com/4449004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5227 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-05Add callbacks for send channel rtcp statisticssprang@webrtc.org
BUG=2235 R=mflodman@webrtc.org, pbos@webrtc.org, stefan@webrtc.org Review URL: https://webrtc-codereview.appspot.com/4429004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5220 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-04Add send frame rate statistics callbacksprang@webrtc.org
BUG=2235 R=mflodman@webrtc.org, pbos@webrtc.org, stefan@webrtc.org Review URL: https://webrtc-codereview.appspot.com/4479005 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5213 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-21Added API for enabling/disabling RTCP Receiver Reference Time extension.asapersson@webrtc.org
R=mflodman@webrtc.org Review URL: https://webrtc-codereview.appspot.com/3419005 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5147 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-20Interface changes to old api, for use by new api transition.sprang@webrtc.org
BUG=2589 R=mflodman@webrtc.org, pbos@webrtc.org, stefan@webrtc.org Review URL: https://webrtc-codereview.appspot.com/3209004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5142 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-15Update talk to 50918584.wu@webrtc.org
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/webrtc@4556 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-16Revert r4301tnakamura@webrtc.org
R=mikhal@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1809004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@4357 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-05Breaking out receive-stats, rtp-payload-registry and rtp-receiver from thestefan@webrtc.org
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/webrtc@4301 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-27- Created RemoteBitrateEstimator wrapper for use internally in (ViE) ↵solenberg@webrtc.org
ChannelGroup. - Changed implementation of SetReceiveAbsoluteSendTimeStatus API so the RBE instance is changed when at least one channel in a group has the extension enabled. BUG= R=mflodman@webrtc.org, stefan@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1553005 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@4113 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-23Adds integration test for RTX and fixes bugs found.stefan@webrtc.org
BUG=1811 R=mflodman@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1529004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@4096 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-20Add functions to ViE API to enable/disable the absolute send time header ↵solenberg@webrtc.org
extension. BUG= R=mflodman@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1487004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@4065 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-17Include files from webrtc/.. paths in video_engine/pbos@webrtc.org
BUG=1662 R=mflodman@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1492004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@4056 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-16Remove SetOverUseDetectorOptions and cleaned ViESharedData.mflodman@webrtc.org
R=pbos@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1486004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@4042 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-14Adding a factory to remote bitrate estimator and allow it to be set via config.andresp@webrtc.org
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/webrtc@4027 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-09Fix compile errors in ViE with latest clang.andrew@webrtc.org
Rolling to the latest Chromium picks up a new clang, which catches a fresh error: error: 'reinterpret_cast' to class 'webrtc::VideoEngineImpl *' from its base at non-zero offset 'webrtc::VideoEngine *' behaves differently from 'static_cast' [-Werror,-Wreinterpret-base-class] VideoEngineImpl* vie_impl = reinterpret_cast<VideoEngineImpl*>(video_engine); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../webrtc/video_engine/vie_codec_impl.cc:36:31: note: use 'static_cast' to adjust the pointer correctly while downcasting VideoEngineImpl* vie_impl = reinterpret_cast<VideoEngineImpl*>(video_engine); ^~~~~~~~~~~~~~~~ static_cast This was triggered by André's change here: https://code.google.com/p/webrtc/source/detail?r=3986 which made VideoEngineImpl a derived class of VideoEngine (good). Picked up one other error as well: error: implicit conversion from 'long' to 'int' changes value from 9223372036854775807 to -1 [-Werror,-Wconstant-conversion] AutoTestSleep(std::numeric_limits<long>::max()); ~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This fixes the errors and is required before stable can be rolled in Chromium. TBR=mflodman,andresp Review URL: https://webrtc-codereview.appspot.com/1450004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@3989 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-23Revert "Add a default RTT to CallStats and use different values for ↵stefan@webrtc.org
buffered/real-time mode." This reverts commit aae26db1da5803482b094357c546b8454ab1c26d. BUG=1613 TBR=mflodman@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1327008 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@3890 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-23Add a default RTT to CallStats and use different values for ↵stefan@webrtc.org
buffered/real-time mode. BUG=1613 Review URL: https://webrtc-codereview.appspot.com/1326007 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@3888 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-12Adding a payload type for RTX.mflodman@webrtc.org
BUG=736 TEST=Modified RTP unittests. Review URL: https://webrtc-codereview.appspot.com/1278004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@3843 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-09WebRtc_Word32 -> int32_t in video_engine/pbos@webrtc.org
BUG=314 Review URL: https://webrtc-codereview.appspot.com/1302005 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@3801 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-15Adding a receive side API for buffering mode.mikhal@webrtc.org
At the same time, renaming the send side API. Review URL: https://webrtc-codereview.appspot.com/1104004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@3525 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-10Updates to send side streaming mode:mikhal@webrtc.org
1. Disabling frame-droppers from the vie encoder and not the channel. 2. Accounting for qpMax in the VP8 wrapper. Review URL: https://webrtc-codereview.appspot.com/1101007 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@3492 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-06Don't report an error for GetEstimatedReceiveBandwidth if there is no validmflodman@webrtc.org
estimate. BUG=1377 Review URL: https://webrtc-codereview.appspot.com/1095005 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@3479 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-01Adding a send side API for streamingmikhal@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1070009 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@3457 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-25Revert the revert in r2988 since that wasn't the issue.mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/931005 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@2992 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-24Reverse Merged r2884 & r2888 from trunk.vikasmarwaha@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/929005 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@2988 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-22Move src/ -> webrtc/andrew@webrtc.org
TBR=niklas.enbom@webrtc.org Review URL: https://webrtc-codereview.appspot.com/915006 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@2963 4adac7df-926f-26a2-2b94-8c16560cd09d