stefan@webrtc.org
a3a230f2cb
Fixes potential race in the jitter buffer.
...
BUG=879
Review URL: https://webrtc-codereview.appspot.com/845007
git-svn-id: http://webrtc.googlecode.com/svn/trunk@2831 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-09-27 10:00:38 +00:00
andrew@webrtc.org
5dffebc4d1
Remove disabling of warning 4351 from non-interface files.
...
This is handled in Chromium's build/common.gypi.
BUG=none
TEST=trybots
Review URL: https://webrtc-codereview.appspot.com/724008
git-svn-id: http://webrtc.googlecode.com/svn/trunk@2617 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-08-16 04:24:05 +00:00
pwestin@webrtc.org
ae19720982
Fixed assert strings where string literals are used as booleans.
...
Review URL: https://webrtc-codereview.appspot.com/473002
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1986 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-04 14:43:54 +00:00
stefan@webrtc.org
af5ffd5bb9
Fixes for coverity warnings.
...
BUG=
TEST=
Review URL: https://webrtc-codereview.appspot.com/461001
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1933 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-03-23 16:01:15 +00:00
mflodman@webrtc.org
d2940f71e4
VCM::JB critsect fix.
...
Review URL: https://webrtc-codereview.appspot.com/390004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1639 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-02-08 12:42:56 +00:00
stefan@webrtc.org
2979461595
Refactored the jitter buffer to use std::list.
...
BUG=
TEST=
Review URL: https://webrtc-codereview.appspot.com/352016
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1635 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-02-08 08:58:55 +00:00
stefan@webrtc.org
8e50693736
Fixes for code analysis warnings.
...
BUG=
TEST=
Review URL: https://webrtc-codereview.appspot.com/355004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1467 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-19 12:30:21 +00:00
stefan@webrtc.org
ad4af57abd
Fixes a jitter buffer NACK bug.
...
If no frame has been decoded the jitter buffer might generate huge
erroneous NACK lists.
Adds a couple of new jitter buffer unittests (some ported from
jitter_buffer_test.cc).
Adds a test to the VCM robustness tests.
BUG=226
TEST=VCMRobustnessTest, TestJitterBufferFull, TestNackListFull, TestNackBeforeDecode, TestNormalOperation
Review URL: http://webrtc-codereview.appspot.com/352002
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1412 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-12 15:16:49 +00:00
stefan@webrtc.org
cd8cea50a6
Fix decode error in NACK/FEC mode after network glitch.
...
Caused when recyclingframes until the next key frame to
regain frame buffers when the jitter buffer is full.
BUG=http://code.google.com/p/webrtc/issues/detail?id=225
TEST=
Review URL: http://webrtc-codereview.appspot.com/350005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1390 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-11 14:17:44 +00:00
mikhal@webrtc.org
cd64886a2f
video_coding: Updating NACK functions naming
...
Review URL: http://webrtc-codereview.appspot.com/329018
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1322 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-03 23:59:42 +00:00
mikhal@webrtc.org
77c425b976
video_coding: Checking/updating seq num for an old packet regardless of size.
...
Review URL: http://webrtc-codereview.appspot.com/330028
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1318 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-03 20:35:25 +00:00
mikhal@webrtc.org
bed34a341a
video_coding: Updating seq number for old zero size packets. Updating function name to reflect zero size packets and not empty packets.
...
Review URL: http://webrtc-codereview.appspot.com/333009
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1307 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-29 17:37:39 +00:00
stefan@webrtc.org
39670f6aa6
Only reset the last decoded sequence number after flushing until key frame.
...
We can't reset the complete last decoded state when we recycle until a
key frame because that will allow any delta frame to be decoded afterwards,
and since the decoder isn't reset we will get decode errors.
BUG=
TEST=
Review URL: http://webrtc-codereview.appspot.com/330003
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1295 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-23 09:08:51 +00:00
henrik.lundin@webrtc.org
7d8c72e2db
Re-implement dependency injection of TickTime into VCM and tests
...
This change basicly re-enables the change of r1220, which was
reverted in r1235 due to Clang issues.
The difference from r1220 is that the TickTimeInterface was
renamed to TickTimeClass, and no longer inherits from TickTime.
Review URL: http://webrtc-codereview.appspot.com/335006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1267 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-21 15:24:01 +00:00
stefan@webrtc.org
898f881e32
Make sure the next frame to be decoded is cleaned up if it's empty.
...
BUG=
TEST=
Review URL: http://webrtc-codereview.appspot.com/332001
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1261 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-21 09:13:14 +00:00
mikhal@webrtc.org
61045a4a03
video_coding/jitter_buffer: Account for layer info when searching for the next frame
...
Review URL: http://webrtc-codereview.appspot.com/328003
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1256 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-20 23:24:19 +00:00
henrik.lundin@webrtc.org
303158588b
Revert "Inject TickTimeInterface into VCM and tests"
...
This CL reverts r1220.
Review URL: http://webrtc-codereview.appspot.com/336002
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1235 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-19 17:55:45 +00:00
henrik.lundin@webrtc.org
a70f945086
Inject TickTimeInterface into VCM and tests
...
The purpose of this change is to introduce dependency injection
of the timer into the video coding module.
Review URL: http://webrtc-codereview.appspot.com/332003
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1220 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-16 14:40:05 +00:00
stefan@webrtc.org
780a07a843
Fix infinite loop bug introduced in r1174.
...
Merges CleanUpSizeZeroFrames with CleanUpOldFrames, and changes the
behavior to go through all frames looking for empty frames.
TBR=mikhals
BUG=
TEST=
Review URL: http://webrtc-codereview.appspot.com/318013
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1186 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-14 15:55:19 +00:00
mikhal@webrtc.org
832cacacff
video-coding: Adding a decoded state to the JB logic (JB refactor).
...
This new class stores the last decoded info, including temporal info.
Review URL: http://webrtc-codereview.appspot.com/300005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1174 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-13 21:15:05 +00:00
stefan@webrtc.org
7889a9b49a
Remove use of CriticalSectionScoped(CriticalSectionWrapper& critsect) in VCM.
...
BUG=
TEST=
Review URL: http://webrtc-codereview.appspot.com/318005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1159 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-12 08:18:24 +00:00
mikhal@webrtc.org
b9db43e1b6
video_coding/jitter buffer: Reduce delay on a complete frame: No need for the next frame when current frame is already complete.
...
Review URL: http://webrtc-codereview.appspot.com/289007
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1069 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-30 18:38:01 +00:00
stefan@webrtc.org
932ab18d32
Default to always NACKing residual losses when having both FEC and NACK.
...
BUG=
TEST=
Review URL: http://webrtc-codereview.appspot.com/296002
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1047 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-29 11:33:31 +00:00
mikhal@webrtc.org
f13388f134
video_coding: Requesting a key frame after a JB flush
...
Review URL: http://webrtc-codereview.appspot.com/280006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@994 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-22 22:57:51 +00:00
mikhal@webrtc.org
6b9a7f8704
video_coding: Allowing for a decodable state independent of selective nacking
...
Review URL: http://webrtc-codereview.appspot.com/263001
git-svn-id: http://webrtc.googlecode.com/svn/trunk@993 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-22 22:48:20 +00:00
mflodman@webrtc.org
637a59e68e
jitter buffer update: waiting for key frame when Nack is enabled and continuity cannot be determined.
...
Review URL: http://webrtc-codereview.appspot.com/266010
Patch from mikhals <mikhal@webrtc.org>.
git-svn-id: http://webrtc.googlecode.com/svn/trunk@924 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-10 12:50:48 +00:00
mikhal@webrtc.org
e203de7ba2
jitter_buffer updates:
...
1. Determining continuity based on pictureId and not seq. numbers when available.
2. Hybrid bug fix: Don't set to decodable when the nack list is empty.
Review URL: http://webrtc-codereview.appspot.com/255001
git-svn-id: http://webrtc.googlecode.com/svn/trunk@878 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-03 00:42:52 +00:00
henrik.lundin@webrtc.org
baf6db5ead
Making dual decoder work again in VCM
...
Changing the assignment operator in VCMJitterBuffer to a named
function (CopyFrom) instead, since it is not a straight
assignment. Also fixing two bugs in the jitter copy function.
Bug fix in VCMEncodedFrame: The copy constructor did not
copy _length.
In VCM codec database, make sure that the callback object is
preserved when copying back from secondary to primary decoder.
In VP8 wrapper, adding code to copy the _decodedImage to the
Copy() method.
Bugfix in video_coding_test rtp_player:
The retransmissions where made in reverse order. Now new items are
appended to the end of the LostPackets list, which makes the order
correct when retransmitting.
Handling the case when cloning an unused decoder state:
When the decoder has not successfully decoded a frame yet,
it cannot be cloned. A NULL pointer will be returned all
the way out to VideoCodingModuleImpl::Decode(). When this
happens, the VCM will call Reset() for the dual receiver,
in order to reset the state to kPassive.
Review URL: http://webrtc-codereview.appspot.com/239010
git-svn-id: http://webrtc.googlecode.com/svn/trunk@873 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-02 18:58:39 +00:00
stefan@webrtc.org
f960211f8b
Fixes two jitter buffer bugs related to NACK.
...
Avoid decoding delta frames after a Flush() and after requesting
a key frame due to full NACK list.
BUG=
TEST=
Review URL: http://webrtc-codereview.appspot.com/247011
git-svn-id: http://webrtc.googlecode.com/svn/trunk@837 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-28 16:00:49 +00:00
mikhal@webrtc.org
5200a05500
video_coding/jitter_buffer Updating condition on which we return a frame.
...
Review URL: http://webrtc-codereview.appspot.com/240011
git-svn-id: http://webrtc.googlecode.com/svn/trunk@825 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-27 16:54:54 +00:00
stefan@webrtc.org
d855c1a4e8
Reverts r807 and fixes the real issue in the VCM.
...
This fixes an issue in the VCM where we don't wait for a packet to arrive
if the jitter buffer is empty. This also fixes an issue where an old
packet can trigger a packet event signal for a future frame.
BUG=
TEST=
Review URL: http://webrtc-codereview.appspot.com/248001
git-svn-id: http://webrtc.googlecode.com/svn/trunk@814 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-25 11:52:48 +00:00
stefan@webrtc.org
ead87b5051
Fix potential issue where frame buffers might be freed while being decoded.
...
BUG=
TEST=
Review URL: http://webrtc-codereview.appspot.com/243004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@791 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-21 06:46:37 +00:00
stefan@webrtc.org
ffd28f95c5
Request key frames to battle error propagation.
...
The VP8 decoder wrapper will request key frames 30 frames after seeing
a packet loss, if it hasn't received a state refresh (only possible
through key frames in this version).
For this to be possible the jitter buffer has been made aware of
picture ids to be able to detect frame losses. Legacy JB code to
handle streams without marker bits was also removed since it
conflicts with streams with FEC.
BUG=
TEST=
Review URL: http://webrtc-codereview.appspot.com/239002
git-svn-id: http://webrtc.googlecode.com/svn/trunk@774 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-19 15:55:39 +00:00
stefan@webrtc.org
4c059d87b3
Add metric for number of packets discarded by JB due to not being decodable
...
Also fixes a couple of bugs related to sequence number wrap found while
testing.
BUG=
TEST=
Review URL: http://webrtc-codereview.appspot.com/218001
git-svn-id: http://webrtc.googlecode.com/svn/trunk@732 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-13 07:35:37 +00:00
stefan@webrtc.org
791eec7424
Add API to get the number of packets discarded by the video jitter buffer due to being too late.
...
BUG=
TEST=
Review URL: http://webrtc-codereview.appspot.com/200001
git-svn-id: http://webrtc.googlecode.com/svn/trunk@723 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-11 07:53:43 +00:00
stefan@webrtc.org
93d216c23f
Fixed bug in jitter buffer which caused the missingFrames bit to never be set.
...
Also updated the VP8 wrapper to return fully concealed frames (for rendering).
BUG=
TEST=
Review URL: http://webrtc-codereview.appspot.com/190003
git-svn-id: http://webrtc.googlecode.com/svn/trunk@687 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-04 06:48:11 +00:00
mikhal@webrtc.org
e185e9f68a
video_coding: updates to jitter buffer logic: Make sure that every frame is inserted only once to the list.
...
Review URL: http://webrtc-codereview.appspot.com/165001
git-svn-id: http://webrtc.googlecode.com/svn/trunk@648 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-09-23 22:02:40 +00:00
stefan@webrtc.org
49cbc512ae
Fix unused variable warning in video_coding.
...
Issue 57: [Patch] Fix unused variable warnings in the video_coding module
Review URL: http://webrtc-codereview.appspot.com/126004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@435 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-08-24 08:51:08 +00:00
mikhal@webrtc.org
ebeb5a656b
video_coding - JB: Ensuring that every frame is inserted only once to the list
...
Review URL: http://webrtc-codereview.appspot.com/114006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@391 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-08-17 18:43:21 +00:00
mikhal@google.com
18a186eab2
Updates to VCM rx side: A. 2 bug fixes:
...
1. Updated code to set _lastdecodedSeqNum after clean up of old frames (2/3 instances were updated, 1 was ok).
2. Updated _lastDecodedSeqNum based on empty packets that arrive after the frame which they belong to was already decoded (as was with existing code with regard to filler packets).
B. Code clean up.
Review URL: http://webrtc-codereview.appspot.com/78001
git-svn-id: http://webrtc.googlecode.com/svn/trunk@237 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-07-20 20:58:09 +00:00
niklase@google.com
470e71d364
git-svn-id: http://webrtc.googlecode.com/svn/trunk@156 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-07-07 08:21:25 +00:00