1 /*****************************************************************************
2 * rtp.h: rtp stream output module header
3 *****************************************************************************
4 * Copyright (C) 2003-2007 the VideoLAN team
5 * $Id: rtp.c 21407 2007-08-22 20:10:41Z courmisch $
7 * Authors: Laurent Aimar <fenrir@via.ecp.fr>
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
23 *****************************************************************************/
25 typedef struct rtsp_client_t rtsp_client_t;
27 int RtspSetup( sout_stream_t *p_stream, vlc_url_t * );
29 int RtspCallbackId( httpd_callback_sys_t *, httpd_client_t *,
30 httpd_message_t *, httpd_message_t * );
32 void RtspClientDel( sout_stream_t *, rtsp_client_t * );
34 char *SDPGenerate( const sout_stream_t *p_stream,
35 const char *psz_destination, vlc_bool_t b_rtsp );
37 typedef int (*pf_rtp_packetizer_t)( sout_stream_t *, sout_stream_id_t *,
40 struct sout_stream_id_t
42 sout_stream_t *p_stream;
44 uint8_t i_payload_type;
46 uint32_t i_timestamp_start;
53 char *psz_destination;
58 /* Packetizer specific fields */
59 pf_rtp_packetizer_t pf_packetize;
62 /* for sending the packets */
63 sout_access_out_t *p_access;
65 vlc_mutex_t lock_rtsp;
67 sout_access_out_t **rtsp_access;
70 sout_input_t *p_input;
72 /* RTSP url control */
73 httpd_url_t *p_rtsp_url;