X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fstream_out%2Frtp.h;h=01e7288ece697dcef4a0641609109fe489ed65b8;hb=dadb0622e6244456f7b5576ab2f9aa0c6582c683;hp=253aed607d6aec0828601b57d5465b5b0df27af7;hpb=14fae49cbf998fee62323fde27ba6833f8da8289;p=vlc diff --git a/modules/stream_out/rtp.h b/modules/stream_out/rtp.h index 253aed607d..01e7288ece 100644 --- a/modules/stream_out/rtp.h +++ b/modules/stream_out/rtp.h @@ -2,7 +2,7 @@ * rtp.h: rtp stream output module header ***************************************************************************** * Copyright (C) 2003-2007 the VideoLAN team - * $Id: rtp.c 21407 2007-08-22 20:10:41Z courmisch $ + * $Id$ * * Authors: Laurent Aimar * Rémi Denis-Courmont @@ -29,42 +29,47 @@ rtsp_stream_t *RtspSetup( sout_stream_t *p_stream, const vlc_url_t *url ); void RtspUnsetup( rtsp_stream_t *rtsp ); rtsp_stream_id_t *RtspAddId( rtsp_stream_t *rtsp, sout_stream_id_t *sid, - unsigned i, uint32_t ssrc, + uint32_t ssrc, const char *dst, int ttl, unsigned loport, unsigned hiport ); void RtspDelId( rtsp_stream_t *rtsp, rtsp_stream_id_t * ); -char *SDPGenerate( const sout_stream_t *p_stream, const char *rtsp_url ); +char *RtspAppendTrackPath( rtsp_stream_id_t *id, const char *base ); -int rtp_add_sink( sout_stream_id_t *id, int fd, vlc_bool_t rtcp_mux ); +char *SDPGenerate( sout_stream_t *p_stream, const char *rtsp_url ); + +uint32_t rtp_compute_ts( const sout_stream_id_t *id, int64_t i_pts ); +int rtp_add_sink( sout_stream_id_t *id, int fd, bool rtcp_mux, uint16_t *seq ); void rtp_del_sink( sout_stream_id_t *id, int fd ); -uint16_t rtp_get_seq( const sout_stream_id_t *id ); -unsigned rtp_get_num( const sout_stream_id_t *id ); +uint16_t rtp_get_seq( sout_stream_id_t *id ); +int64_t rtp_get_ts( const sout_stream_t *p_stream ); /* RTP packetization */ void rtp_packetize_common (sout_stream_id_t *id, block_t *out, int b_marker, int64_t i_pts); void rtp_packetize_send (sout_stream_id_t *id, block_t *out); size_t rtp_mtu (const sout_stream_id_t *id); -size_t rtp_plen (const sout_stream_id_t * id, unsigned ptime); -int rtp_packetize_l16 (sout_stream_t *, sout_stream_id_t *, block_t *); -int rtp_packetize_l8 (sout_stream_t *, sout_stream_id_t *, block_t *); -int rtp_packetize_mpa (sout_stream_t *, sout_stream_id_t *, block_t *); -int rtp_packetize_mpv (sout_stream_t *, sout_stream_id_t *, block_t *); -int rtp_packetize_ac3 (sout_stream_t *, sout_stream_id_t *, block_t *); -int rtp_packetize_split(sout_stream_t *, sout_stream_id_t *, block_t *); -int rtp_packetize_mp4a (sout_stream_t *, sout_stream_id_t *, block_t *); -int rtp_packetize_mp4a_latm (sout_stream_t *, sout_stream_id_t *, block_t *); -int rtp_packetize_h263 (sout_stream_t *, sout_stream_id_t *, block_t *); -int rtp_packetize_h264 (sout_stream_t *, sout_stream_id_t *, block_t *); -int rtp_packetize_amr (sout_stream_t *, sout_stream_id_t *, block_t *); -int rtp_packetize_spx (sout_stream_t *, sout_stream_id_t *, block_t *); -int rtp_packetize_t140 (sout_stream_t *, sout_stream_id_t *, block_t *); +int rtp_packetize_mpa (sout_stream_id_t *, block_t *); +int rtp_packetize_mpv (sout_stream_id_t *, block_t *); +int rtp_packetize_ac3 (sout_stream_id_t *, block_t *); +int rtp_packetize_split(sout_stream_id_t *, block_t *); +int rtp_packetize_swab (sout_stream_id_t *, block_t *); +int rtp_packetize_mp4a (sout_stream_id_t *, block_t *); +int rtp_packetize_mp4a_latm (sout_stream_id_t *, block_t *); +int rtp_packetize_h263 (sout_stream_id_t *, block_t *); +int rtp_packetize_h264 (sout_stream_id_t *, block_t *); +int rtp_packetize_amr (sout_stream_id_t *, block_t *); +int rtp_packetize_spx (sout_stream_id_t *, block_t *); +int rtp_packetize_t140 (sout_stream_id_t *, block_t *); +int rtp_packetize_g726_16 (sout_stream_id_t *, block_t *); +int rtp_packetize_g726_24 (sout_stream_id_t *, block_t *); +int rtp_packetize_g726_32 (sout_stream_id_t *, block_t *); +int rtp_packetize_g726_40 (sout_stream_id_t *, block_t *); /* RTCP */ typedef struct rtcp_sender_t rtcp_sender_t; rtcp_sender_t *OpenRTCP (vlc_object_t *obj, int rtp_fd, int proto, - vlc_bool_t mux); + bool mux); void CloseRTCP (rtcp_sender_t *rtcp); void SendRTCP (rtcp_sender_t *restrict rtcp, const block_t *rtp);