Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-2-2
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-2-2
Commits
2a605427
Commit
2a605427
authored
Sep 09, 2009
by
Marian Ďurkovič
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
RTP: compute deadline for reordering from the current time
parent
ef3f7c2f
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
5 additions
and
4 deletions
+5
-4
modules/access/rtp/session.c
modules/access/rtp/session.c
+5
-4
No files found.
modules/access/rtp/session.c
View file @
2a605427
...
...
@@ -146,7 +146,7 @@ struct rtp_source_t
uint16_t
last_seq
;
/* sequence of the next dequeued packet */
block_t
*
blocks
;
/* re-ordered blocks queue */
mtime_t
last_dq
;
/* last dequeued (decoded) packet local timestamp
*/
mtime_t
ref_ts
;
/* reference timestamp for reordering
*/
void
*
opaque
[
0
];
/* Per-source private payload data */
};
...
...
@@ -315,7 +315,6 @@ rtp_queue (demux_t *demux, rtp_session_t *session, block_t *block)
}
}
src
->
last_rx
=
now
;
block
->
i_pts
=
now
;
src
->
last_ts
=
rtp_timestamp
(
block
);
/* Check sequence number */
...
...
@@ -412,7 +411,7 @@ rtp_decode (demux_t *demux, const rtp_session_t *session, rtp_source_t *src)
/* FIXME: handle timestamp wrap properly */
/* TODO: inter-medias/sessions sync (using RTCP-SR) */
const
uint32_t
timestamp
=
rtp_timestamp
(
block
);
src
->
last_dq
=
block
->
i_pts
;
src
->
ref_ts
=
0
;
block
->
i_pts
=
CLOCK_FREQ
*
timestamp
/
pt
->
frequency
;
/* CSRC count */
...
...
@@ -492,8 +491,10 @@ bool rtp_dequeue (demux_t *demux, const rtp_session_t *session,
* match for random gaussian jitter). Additionnaly, we implicitly
* wait for misordering times the packetization time.
*/
mtime_t
deadline
=
src
->
last_dq
;
mtime_t
deadline
=
src
->
ref_ts
;
const
rtp_pt_t
*
pt
=
rtp_find_ptype
(
session
,
src
,
block
,
NULL
);
if
(
!
deadline
)
deadline
=
src
->
ref_ts
=
now
;
if
(
pt
)
deadline
+=
CLOCK_FREQ
*
3
*
src
->
jitter
/
pt
->
frequency
;
...
...
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