Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
gst-plugins-good
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Labels
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
George Kiagiadakis
gst-plugins-good
Commits
3c421e7e
Commit
3c421e7e
authored
Sep 20, 2013
by
Wim Taymans
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
rtpjitterbuffer: add option to reset retransmission timers
parent
6f4deab2
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
6 additions
and
6 deletions
+6
-6
gst/rtpmanager/gstrtpjitterbuffer.c
gst/rtpmanager/gstrtpjitterbuffer.c
+6
-6
No files found.
gst/rtpmanager/gstrtpjitterbuffer.c
View file @
3c421e7e
...
...
@@ -1520,7 +1520,7 @@ add_timer (GstRtpJitterBuffer * jitterbuffer, TimerType type,
static
void
reschedule_timer
(
GstRtpJitterBuffer
*
jitterbuffer
,
TimerData
*
timer
,
guint16
seqnum
,
GstClockTime
timeout
,
GstClockTime
delay
)
guint16
seqnum
,
GstClockTime
timeout
,
GstClockTime
delay
,
gboolean
reset
)
{
GstRtpJitterBufferPrivate
*
priv
=
jitterbuffer
->
priv
;
gboolean
seqchange
,
timechange
;
...
...
@@ -1540,7 +1540,7 @@ reschedule_timer (GstRtpJitterBuffer * jitterbuffer, TimerData * timer,
timer
->
timeout
=
timeout
+
delay
;
timer
->
seqnum
=
seqnum
;
if
(
seqchange
&&
timer
->
type
==
TIMER_TYPE_EXPECTED
)
{
if
(
reset
)
{
timer
->
rtx_base
=
timeout
;
timer
->
rtx_delay
=
delay
;
timer
->
rtx_retry
=
0
;
...
...
@@ -1569,7 +1569,7 @@ set_timer (GstRtpJitterBuffer * jitterbuffer, TimerType type,
if
(
timer
==
NULL
)
{
timer
=
add_timer
(
jitterbuffer
,
type
,
seqnum
,
0
,
timeout
,
0
,
-
1
);
}
else
{
reschedule_timer
(
jitterbuffer
,
timer
,
seqnum
,
timeout
,
0
);
reschedule_timer
(
jitterbuffer
,
timer
,
seqnum
,
timeout
,
0
,
FALSE
);
}
return
timer
;
}
...
...
@@ -1636,7 +1636,7 @@ update_timers (GstRtpJitterBuffer * jitterbuffer, guint16 seqnum,
/* max gap, we exceeded the max reorder distance and we don't expect the
* missing packet to be this reordered */
if
(
test
->
rtx_retry
==
0
&&
test
->
type
==
TIMER_TYPE_EXPECTED
)
reschedule_timer
(
jitterbuffer
,
test
,
test
->
seqnum
,
-
1
,
0
);
reschedule_timer
(
jitterbuffer
,
test
,
test
->
seqnum
,
-
1
,
0
,
FALSE
);
}
}
...
...
@@ -1650,7 +1650,7 @@ update_timers (GstRtpJitterBuffer * jitterbuffer, guint16 seqnum,
/* and update/install timer for next seqnum */
if
(
timer
)
reschedule_timer
(
jitterbuffer
,
timer
,
priv
->
next_in_seqnum
,
expected
,
delay
);
delay
,
TRUE
);
else
add_timer
(
jitterbuffer
,
TIMER_TYPE_EXPECTED
,
priv
->
next_in_seqnum
,
0
,
expected
,
delay
,
priv
->
packet_spacing
);
...
...
@@ -2342,7 +2342,7 @@ do_expected_timeout (GstRtpJitterBuffer * jitterbuffer, TimerData * timer,
timer
->
rtx_retry
=
0
;
}
reschedule_timer
(
jitterbuffer
,
timer
,
timer
->
seqnum
,
timer
->
rtx_base
+
timer
->
rtx_retry
,
timer
->
rtx_delay
);
timer
->
rtx_base
+
timer
->
rtx_retry
,
timer
->
rtx_delay
,
FALSE
);
return
FALSE
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment