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
5b88317820
Add VP9 codec to VCM and vie_auto_test.
...
Include VP9 tests in videoprocessor_integrationtests.
Include end-to-end send/receiveVP9 test.
This is the same patch as https://code.google.com/p/webrtc/source/detail?r=7422 , which was reverted when rolled into chrome (due to bss size increase). Relanding this again as we now have the clear to get this in:
see https://code.google.com/p/webrtc/issues/detail?id=3932
R=kjellander@webrtc.org , mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/31829004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7588 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-01 06:10:48 +00:00
82462aade0
Adds support for sending first set of packets at increasingly higher bitrates to probe the link and faster ramp up to a high bitrate.
...
Also wires up a finch experiment to control this.
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/30639004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7505 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-23 11:57:05 +00:00
b1dac33cac
Revert cls (original cl + fixes) 7422-7424 "Add VP9 codec to VCM..."
...
BUG=3932
R=marpan@google.com
Review URL: https://webrtc-codereview.appspot.com/27779004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7470 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-17 18:54:46 +00:00
573c78e31c
Add VP9 codec to VCM and vie_auto_test.
...
Include VP9 tests in videoprocessor_integrationtests.
Include end-to-end send/receiveVP9 test.
Passes trybots.
R=kjellander@webrtc.org , mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/29449004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7422 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-10 16:44:47 +00:00
a84b0a6dab
Small refactor on ViE to remove redudant conditions and long ifdefs.
...
BUG=3694
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/22069004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6905 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-14 16:46:46 +00:00
b9f5453e29
Add boilerplate code for H.264.
...
R=mflodman@webrtc.org , niklas.enbom@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/17849005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6603 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-04 12:42:07 +00:00
34c5da6b5e
Cleaned up logging in video_coding.
...
Converted all calls to WEBRTC_TRACE to LOG(). Also removed a large number of less useful logs.
BUG=3153
R=mflodman@webrtc.org , pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/11169004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5887 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-11 14:08:35 +00:00
4070935f4f
Implement and test EncodedImageCallback in new ViE API.
...
R=mflodman@webrtc.org , pbos@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/4059004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5179 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-26 11:41:59 +00:00
ce8e0936d9
Rename AutoMute to SuspendBelowMinBitrate
...
Changes all instances throughout the WebRTC stack.
BUG=2436
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/3919004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5130 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-18 12:18:43 +00:00
1a3a6e5340
Removing the threshold from the auto-mute APIs
...
The threshold is now set equal to the minimum bitrate of the
encoder. The test is also changed to have the REMB values
depend on the minimum bitrate from the encoder.
BUG=2436
R=pbos@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2919004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5040 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-28 10:16:14 +00:00
37bb4974e7
Expose VideoCodingModule's decoder stats up the stack from VCMTiming to chrome://webrtc-internals.
...
R=juberti@google.com , mikhal@webrtc.org , stefan@webrtc.org , wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2429004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5027 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-23 23:59:45 +00:00
572699d3eb
Propagate AutoMuter interface out to VideoCodingModule
...
BUG=2436
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2311004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4878 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-30 12:16:08 +00:00
f1e807c0e5
Removing FrameForStorage
...
R=pwestin@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2142004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4688 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-05 22:34:41 +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
0d94c2f81c
Avoid acquiring VCM::_receiveCritSect during decode callback.
...
When VideoDecoder::Decode, Reset, or Release is called,
VideoCodingModuleImpl::_receiveCritSect may have been
acquired. Decode callback needs to acquire the same lock
in ViEChannel::FrameToRender. It is not a problem for
SW decode because decode callback is run on the same
WebRTC decoding thread and the lock is re-entrant. But
for HW decode, decode callback is run on a thread different
from WebRTC decoding thread. Decode callback gets the locks
in the opposite order. Deadlock can happen.
BUG=http://crbug.com/170345
TEST=Try apprtc.appspot.com/?debug=loopback on ARM Chromebook Daisy.
Run libjingle_peerconnection_unittest.
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1997005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4523 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-12 14:20:49 +00:00
c4e1ab515b
Added Decoding with errors API to video_coding.h and removed unused DecodeError enum.
...
R=marpan@google.com , mikhal@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1937004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4497 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-06 18:27:41 +00:00
a7e360e89b
Removed lines preventing simultaneous kHardNack and decoding with errors. Also made changes recommended by gcl lint (with the exception of changing non-const references to pointers).
...
Propagated orthogonal API for decoding with errors from VideoCodingModule to VCMJitterBuffer.
Modified VCMJitterBuffer to allow three error modes: kNoErrors, kSelectiveErrors, kWithErrors.
R=marpan@google.com , mikhal@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1846004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4463 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-01 03:15:08 +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
a4407329d4
Include files from webrtc/.. paths in video_coding/.
...
BUG=1662
R=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1783006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4348 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-16 12:32:05 +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
d900e8bea8
Proper spacing for end-of-namespace comments.
...
BUG=
R=mflodman@webrtc.org , tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1760006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4293 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-03 15:12:26 +00:00
c3cc375499
Add support for padding in pacer.
...
This improves pacer-based padding by making sure it limits padding according to:
- Never pad more than 800 kbps.
- Padding + media should not go above a given target bitrate.
Also adds appropriate unittests to make sure we reach the given targets.
BUG=1837
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1582005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4168 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-04 09:36:56 +00:00
ef14488d03
Trigger a PLI if the duration of non-decodable frames exceeds a threshold.
...
BUG=1663
R=mikhal@webrtc.org , ronghuawu@chromium.org
Review URL: https://webrtc-codereview.appspot.com/1359004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3975 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-07 19:16:33 +00:00
381da4be9c
VCM: Adding API for the size(duration) of the jitter buffer.
...
Refers to the duration in time of the frames which are ready to be sent to the decoder.
Review URL: https://webrtc-codereview.appspot.com/1319004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3903 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-25 21:45:29 +00:00
56b5f77a2b
Add support for multiple streams to RtpPlayer:
...
- Tests video_rtp_play.cc, video_rtp_play_mt.cc, decode_from_storage.cc rewritten
- rtp_player.cc/.h rewritten; added interfaces for externally setting up sinks
- Support for reading .rtp files pulled out into rtp_file_reader namespace
- Added support for reading .pcap (libpcap/wireshark/tcpdump) files, see pcap_file_reader
BUG=
TEST=trybots
Review URL: https://webrtc-codereview.appspot.com/1201009
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3856 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-16 10:31:56 +00:00
7b859cc1e9
Webrtc_Word32 => int32_t in video_coding/main/
...
BUG=
Review URL: https://webrtc-codereview.appspot.com/1279004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3753 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-02 15:54:38 +00:00
abc9d5b6aa
Change VCM interface to take target bitrate in bits per second.
...
This also solves issue 1469.
TESTS=trybots
BUG=1469
Review URL: https://webrtc-codereview.appspot.com/1215004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3681 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-18 17:00:51 +00:00
2baf5f5fa0
Refactor webrtc specific Event implementation to an EventFactory.
...
Review URL: https://webrtc-codereview.appspot.com/1187005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3664 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-13 08:46:25 +00:00
ef9f76a59d
Adding a receive side API for buffering mode.
...
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@3525 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-15 23:22:18 +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
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
bd941d3f4c
Fixes two bugs related to padding in the jitter buffer.
...
- Pad packets (empty) were often NACKed even though they were received.
- Padding only frames (empty) were didn't properly update the decoding state,
and would therefore be NACKed even though they were received.
This is a recommit of r3183. Extensive testing suggest that this may have been caused by virtual machine flakiness.
TBR=mflodman@webrtc.org
BUG=1150
Review URL: https://webrtc-codereview.appspot.com/971011
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3200 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-29 14:37:18 +00:00
7d5dacc985
Revert 3183 - Fixes two bugs related to padding in the jitter buffer.
...
- Pad packets (empty) were often NACKed even though they were received.
- Padding only frames (empty) were didn't properly update the decoding state,
and would therefore be NACKed even though they were received.
http://webrtc-cb-linux-master.cbf.corp.google.com:8010/builders/Win32Release/builds/1704/steps/video_coding_unittests/logs/stdio
TEST=trybots
BUG=1150
Review URL: https://webrtc-codereview.appspot.com/929031
TBR=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/971010
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3187 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-28 22:04:45 +00:00
e4fb44c29d
Fixes two bugs related to padding in the jitter buffer.
...
- Pad packets (empty) were often NACKed even though they were received.
- Padding only frames (empty) were didn't properly update the decoding state,
and would therefore be NACKed even though they were received.
TEST=trybots
BUG=1150
Review URL: https://webrtc-codereview.appspot.com/929031
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3183 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-28 19:36:20 +00:00
891d55eb35
Revert 3181 - Fixes two bugs related to padding in the jitter buffer.
...
- Pad packets (empty) were often NACKed even though they were received.
- Padding only frames (empty) didn't properly update the decoding state,
and would therefore be NACKed even though they were received.
Broke [Builder Win32Debug] (http://webrtc-cb-linux-master.cbf.corp.google.com:8010/builders/Win32Debug/builds/1728 )
TEST=trybots
BUG=1150
Review URL: https://webrtc-codereview.appspot.com/966026
TBR=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/939031
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3182 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-28 17:45:01 +00:00
d42e51ce7c
Fixes two bugs related to padding in the jitter buffer.
...
- Pad packets (empty) were often NACKed even though they were received.
- Padding only frames (empty) didn't properly update the decoding state,
and would therefore be NACKed even though they were received.
TEST=trybots
BUG=1150
Review URL: https://webrtc-codereview.appspot.com/966026
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3181 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-28 16:40:28 +00:00
9fedff7c17
Switching to I420VideoFrame
...
Review URL: https://webrtc-codereview.appspot.com/922004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@2983 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-24 18:33:04 +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