mikhal@webrtc.org
3c5a9242fe
Don't force cont' when enabling kWithErrors
...
BUG=
R=pbos@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2047004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4669 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-03 20:45:36 +00:00
mikhal@webrtc.org
2b810bf77b
Removing non decodable count from session info: This value isn't used, and therfore can be removed. This is a step towards the refactor of the session info to use maps.
...
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2143004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4667 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-03 19:09:49 +00:00
mikhal@webrtc.org
f31a47abdc
VCM:Accounting for bounds when inserting packets. We currently receive indicators to the first and last packets of the frame, but not have any sanity to verify that all packets are indeed within the bounds (when available). This cl attempts to fix that,
...
BUG=
R=marpan@google.com
Review URL: https://webrtc-codereview.appspot.com/2077004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4614 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-26 17:10:11 +00:00
mikhal@webrtc.org
b2c28c3699
Relanding 4597 - Don't force key frame when decoding with errors.
...
Makes sure that incomplete key frame or delta frames will be released from the JB when decoding with errors.
The decoder in turn will trigger a PLI until a complete key frame is received in order to start a session.
TBR=stefan@webrtc.org
BUG=
Review URL: https://webrtc-codereview.appspot.com/2097004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4607 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-23 21:54:50 +00:00
henrike@webrtc.org
ceea41d135
Revert 4597 "Don't force key frame when decoding with errors"
...
> Don't force key frame when decoding with errors
>
> BUG=2241
> R=stefan@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/2036004
TBR=mikhal@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2093004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4600 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-23 00:53:24 +00:00
mikhal@webrtc.org
44af55cc44
Don't force key frame when decoding with errors
...
BUG=2241
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2036004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4597 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-22 23:29:43 +00:00
mikhal@webrtc.org
dbf6a81cb5
Follow-up changes to kSelectiveErrors
...
Committing cl for agalusza (cl 1992004)
TEST = trybots
R=marpan@google.com
Review URL: https://webrtc-codereview.appspot.com/2085004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4587 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-21 20:40:47 +00:00
wu@webrtc.org
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
fischman@webrtc.org
dde7d4c6ed
Roll chromium_revision 214260:217707 and gflags 45:84
...
gflags roll is needed mostly to pick up fixes for warnings triggered by newer
compiler/settings pulled in by the chromium roll. Had to switch from the old
google-gflags project the current gflags project to pick up this fix (see
https://code.google.com/p/gflags/source/detail?r=74 for details).
Update android build.xml file to reflect tools moves in new SDK pulled in by the chromium_revision roll.
R=niklas.enbom@webrtc.org , wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2043004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4555 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-15 23:31:30 +00:00
wuchengli@chromium.org
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
pbos@webrtc.org
a3b7406219
Remove unused unreferenced code in webrtc/
...
The code removed here are .c, .cc and .h files that are not referenced
from anywhere else. E.g. if git-grep showed no occurrence of the file
it's removed. This process was repeated until no more unreferenced
files were present.
BUG=
R=andrew@webrtc.org , henrike@webrtc.org , phoglund@webrtc.org , stefan@webrtc.org , turaj@webrtc.org , wu@webrtc.org , xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1945004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4511 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-09 08:47:51 +00:00
mikhal@webrtc.org
64799da6c6
Allowing decoding with errors, when disabling nack.
...
BUG=1897
R=stefan@webrtc.org , wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1982004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4508 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-08 22:45:33 +00:00
agalusza@google.com
d177c10e2d
Added logic for kSelectiveErrors to VCMJitterBuffer and corresponding unit tests.
...
R=marpan@google.com , mikhal@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1943004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4503 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-08 01:12:33 +00:00
agalusza@google.com
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
pbos@webrtc.org
12dc1a38ca
Switch C++-style C headers with their C equivalents.
...
The C++ headers define the C functions within the std:: namespace, but
we mainly don't use the std:: namespace for C functions. Therefore we
should include the C headers.
BUG=1833
R=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1917004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4486 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-05 16:22:53 +00:00
henrike@webrtc.org
89c674053e
Adds all unittests to android NDK-APK framework.
...
BUG=N/A
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1872004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4474 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-02 16:53:47 +00:00
agalusza@google.com
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
pbos@webrtc.org
7f7162a003
Fix some chromium-style warnings in webrtc/modules/video_coding/
...
BUG=163
R=mikhal@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1901005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4429 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-30 15:18:31 +00:00
agalusza@google.com
d818dcb939
Sets up framework for decoding with errors: collects frame sizes (in number of packets) in JB and passes this information to VCMSessionInfo with rtt_ms as FrameData.
...
R=marpan@google.com , mikhal@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1841004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4424 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-29 21:48:11 +00:00
tnakamura@webrtc.org
d2102afa2a
Undo libvpx include changes in r4348 to fix build.
...
A longer term fix is needed, but this at least quickly unblocks the build.
R=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1816005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4367 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-17 18:48:24 +00:00
tnakamura@webrtc.org
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
pbos@webrtc.org
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
hclam@chromium.org
1a7b9b94be
Cleanup WebRTC tracing
...
The goal of this change is to:
1. Remove unused tracing events.
2. Organize tracing events to facilitate measurement of end to end latency.
The major change in this CL is to use ASYNC_STEP such that operation
flow can be traced for the same frame.
R=marpan@webrtc.org , pwestin@webrtc.org , turaj@webrtc.org , wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1761004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4308 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-08 21:31:18 +00:00
henrike@webrtc.org
a950300b0e
Disables unit tests that don't work on Android for Android.
...
BUG=N/A
R=andrew@webrtc.org , kjellander@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1747004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4306 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-08 18:53:54 +00:00
stefan@webrtc.org
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
pbos@webrtc.org
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
hclam@chromium.org
5616abadf5
Suppress excessive logging in video_coding
...
Only prints the warning message if a frame was dropped.
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1735004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4278 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-27 19:47:40 +00:00
stefan@webrtc.org
4cf1a8af69
Removes kStateFree and kStateDecoding, added a free_frames_ list which simplifies finding a free frame.
...
The idea is to have all frames not in use be stored in free_frames_, and whenever a packet from a new frame arrives we can just pop a frame from free_frames_. When a frame is grabbed for decoding it will be removed from all lists, and will be added to free_frames_ when it's returned to the jitter buffer.
We should be able to remove the state enum completely later, as their state is defined by the list they are in. But I'll keep it around for now to simplify the cl.
TEST=try bots and vie_auto_test --automated
R=mikhal@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1721004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4273 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-27 15:20:14 +00:00
solenberg@webrtc.org
a5fd2f1348
Do basic parsing of RTCP headers in PcapFileReader to enable log filtering.
...
BUG=
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1697004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4266 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-26 08:36:07 +00:00
mikhal@webrtc.org
9ca7360b97
VCM: removing max jitter estimate
...
BUG= 1921
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1690004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4249 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-20 20:13:07 +00:00
fbarchard@google.com
d7148c86c5
Use 3 threads for higher than 720p resolutions
...
BUG=1893
TEST=untested
R=ajm@google.com , andrew@webrtc.org , dingkai@google.com , marpan@google.com , marpan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1684004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4243 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-18 22:06:42 +00:00
hclam@chromium.org
30fb7b83d5
Add a log message to see video delay break down
...
Shows video delay in terms of:
1. Min playout delay
2. Jitter delay
3. Max decode time
4. Render delay
R=mikhal@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1674004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4242 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-18 21:37:09 +00:00
stefan@webrtc.org
50fb4afade
Revert r4145 "Revert 4127 "Switch frame list implementation to std::map.""
...
TBR=tnakamura@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1678004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4233 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-17 07:33:58 +00:00
stefan@webrtc.org
c8b29a2feb
Revert r4146 "Revert 4104 "Refactor jitter buffer to use separate lists for de...""
...
TBR=tnakamura@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1677004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4232 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-17 07:13:16 +00:00
kjellander@webrtc.org
63e988856e
Merge more tests into modules_{unit,integration}tests.
...
A new test target named 'modules_integrationtests' is created
and the following test targets were merged into it:
* audio_coding_module_test
* test_fec
* video_coding_integrationtests
* vp8_integrationtests
A couple of other targets were merged into modules_unittests:
* audio_coding_unittests
* audioproc_unittest
* common_unittests
* video_coding_unittests
* video_processing_unittests
* vp8_unittests
I wasn't able to merge audio_decoder_unittests and neteq_unittests due to
conflicts with different defines in these tests.
Some tests that have special requirements aren't merged into
modules_integrationtests yet. I took the opportunity to rename them
since the bot configs will need to be update anyway:
* audio_device_test_api -> audio_device_integrationtests
* video_capture_module_test -> video_capture_integrationtests
* video_render_module_test -> video_render_integrationtests
Exclude files were added for modules_integrationtests to make sure
the memcheck and tsan bots doesn't tests that are too slow
(audio_coding_module_test and vp8_integrationtests were previously
disabled on those bots).
Suppressions for AudioCodingModuleTest needed to be added to get
modules_integrationtests to pass memcheck (even if the test is
excluded from execution).
BUG=1843
TEST=local execution on Linux and trybots (passing except the merged tests of course)
R=andrew@webrtc.org , tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1656004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4228 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-14 20:09:44 +00:00
stefan@webrtc.org
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
fischman@webrtc.org
e001b57d84
Do not hold a lock when calling VCMReceiveCallback::FrameToRender.
...
DecodedImageCallback is allowed to be called on a thread different from decoding thread. To avoid the deadlock in VCMDecodedFrameCallback::Decoded, VCMDecodedFrameCallback::_critSect should not be held while calling VCMReceiveCallback::FrameToRender.
BUG=1832
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1570004
Patch from Wu-Cheng Li <wuchengli@chromium.org>.
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4162 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-04 03:29:37 +00:00
hclam@chromium.org
b1bba167f4
Prevent excessive logging in jitter buffer
...
Jitter buffer logs a message when it is going to recycle frames. This adds a
lot of noise even in normal operation. This change make sure only critical
cases are logged.
R=mikhal@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1580007
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4150 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-31 18:52:16 +00:00
tnakamura@webrtc.org
694cdc6e84
Revert 4104 "Refactor jitter buffer to use separate lists for de..."
...
Reason - leading suspect of video frame corruption tracked in http://b/9216252
Note that if this turns out to not be the cause, be sure to re-revert both this change and r4145.
> Refactor jitter buffer to use separate lists for decodable and incomplete frames.
>
> This changes the design of the jitter buffer to keeping track of decodable frames from the point when packets are inserted in the buffer, instead of searching for decodable frames when they are needed.
>
> To accomplish this the frame_list_, which previously contained all frames (incomplete or complete, continuous or not), is split into a list of decodable_frames_ (complete, continuous) and a list of incomplete_frames_ (either incomplete or non-continuous). These frame lists are updated every time a packet is inserted.
>
> This is another step in the direction of doing most of the work in the jitter buffer only once, when packets are inserted, instead of doing it every time we look for a frame or try to get a nack list.
>
> BUG=1798
> TEST=vie_auto_test, trybots
> R=mikhal@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/1522005
TBR=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1586007
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4146 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-31 16:09:48 +00:00
tnakamura@webrtc.org
4d9c07ad6d
Revert 4127 "Switch frame list implementation to std::map."
...
We want to revert r4104 for b/9216252, but because r4127 was built on top of r4104, we need to revert r4127 first. We'll un/re-revert this if we discover that r4104 is not to blame.
> Switch frame list implementation to std::map.
>
> This reduces the complexity of insert and find (by timestamp) from linear to logarithmic, which has a big impact on large frame lists.
>
> BUG=1726
> TEST=trybots, vie_auto_test --automated
> R=mikhal@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/1561005
TBR=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1590005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4145 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-31 16:06:01 +00:00
mikhal@webrtc.org
adc64a7216
VCM/Timing: Setting clear names to members & methods
...
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1524004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4140 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-30 16:20:18 +00:00
jiayl@webrtc.org
046bc448d5
Fixes the frameRate stats by grouping the frames by timestamp.
...
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1536004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4138 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-29 16:33:46 +00:00
stefan@webrtc.org
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
stefan@webrtc.org
ace7ad2302
Switch frame list implementation to std::map.
...
This reduces the complexity of insert and find (by timestamp) from linear to logarithmic, which has a big impact on large frame lists.
BUG=1726
TEST=trybots, vie_auto_test --automated
R=mikhal@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1561005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4127 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-29 07:41:48 +00:00
stefan@webrtc.org
7f3f8bc5a6
Refactor jitter buffer to use separate lists for decodable and incomplete frames.
...
This changes the design of the jitter buffer to keeping track of decodable frames from the point when packets are inserted in the buffer, instead of searching for decodable frames when they are needed.
To accomplish this the frame_list_, which previously contained all frames (incomplete or complete, continuous or not), is split into a list of decodable_frames_ (complete, continuous) and a list of incomplete_frames_ (either incomplete or non-continuous). These frame lists are updated every time a packet is inserted.
This is another step in the direction of doing most of the work in the jitter buffer only once, when packets are inserted, instead of doing it every time we look for a frame or try to get a nack list.
BUG=1798
TEST=vie_auto_test, trybots
R=mikhal@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1522005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4104 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-27 07:02:45 +00:00
stefan@webrtc.org
c74c3c2447
Adds integration test for RTX and fixes bugs found.
...
BUG=1811
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1529004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4096 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-23 13:48:22 +00:00
stefan@webrtc.org
a7dc37d568
Log the type of recycled frames.
...
Also correct the logging of incoming key frame packets.
BUG=1814
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1537004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4090 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-23 07:21:05 +00:00
hclam@chromium.org
8c49c1eab3
Log a message when a key frame packet is received
...
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1518004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4089 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-22 21:18:59 +00:00
mikhal@webrtc.org
2eaf98b38b
Refactor VCM/Timing.
...
No changes in functionality.
R=marpan@google.com
Review URL: https://webrtc-codereview.appspot.com/1514004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4081 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-21 17:58:43 +00:00
stefan@webrtc.org
3417eb49f6
Consolidate GetFrame and InsertPacket and move NACK list processing to after a packet has been successfully inserted.
...
TEST=trybots
BUG=1799
R=mikhal@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1509004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4080 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-21 15:25:53 +00:00