Browse Source

access: rtp: allow control of packet timing for rtp_dequeue

pull/162/head
Francois Cartegnie 3 years ago
committed by Steve Lhomme
parent
commit
e133197b64
  1. 2
      modules/access/rtp/input.c
  2. 2
      modules/access/rtp/rtp.h
  3. 4
      modules/access/rtp/session.c

2
modules/access/rtp/input.c

@ -155,7 +155,7 @@ void *rtp_dgram_thread (void *opaque)
}
dequeue:
if (!rtp_dequeue (sys->logger, sys->session, &deadline))
if (!rtp_dequeue (sys->logger, sys->session, vlc_tick_now(), &deadline))
deadline = VLC_TICK_INVALID;
vlc_restorecancel (canc);
}

2
modules/access/rtp/rtp.h

@ -369,7 +369,7 @@ rtp_session_t *rtp_session_create_custom (uint16_t max_dropout, uint16_t max_mis
uint8_t max_src, vlc_tick_t timeout);
void rtp_session_destroy (struct vlc_logger *, rtp_session_t *);
void rtp_queue (struct vlc_logger *, rtp_session_t *, block_t *);
bool rtp_dequeue (struct vlc_logger *, const rtp_session_t *, vlc_tick_t *);
bool rtp_dequeue (struct vlc_logger *, const rtp_session_t *, vlc_tick_t, vlc_tick_t *);
int rtp_add_type(rtp_session_t *ses, rtp_pt_t *pt);
int vlc_rtp_add_media_types(vlc_object_t *obj, rtp_session_t *ses,
const struct vlc_sdp_media *media,

4
modules/access/rtp/session.c

@ -372,14 +372,14 @@ drop:
*
* @param logger pointer to VLC logger
* @param session RTP session receiving the packet
* @param now monotonic clock reference for packets timing (ex: vlc_tick_now())
* @param deadlinep pointer to deadline to call rtp_dequeue() again
* @return true if the buffer is not empty, false otherwise.
* In the later case, *deadlinep is undefined.
*/
bool rtp_dequeue (struct vlc_logger *logger, const rtp_session_t *session,
vlc_tick_t *restrict deadlinep)
vlc_tick_t now, vlc_tick_t *restrict deadlinep)
{
vlc_tick_t now = vlc_tick_now ();
bool pending = false;
*deadlinep = VLC_TICK_MAX;

Loading…
Cancel
Save