annotate rtsp.h @ 2293:9aea08e128f9 libavformat

treat NONE as U8 to fix qtNONE/000_0032.MOV, this should not any have side effect since if bps is 16 in stsd, codec will be changed to s16be, just yell if this breaks any sample
author bcoudurier
date Mon, 30 Jul 2007 10:00:42 +0000
parents a6d6b2b19341
children 0318af3025dd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
1 /*
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
2 * RTSP definitions
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
3 * Copyright (c) 2002 Fabrice Bellard.
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
4 *
1358
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1167
diff changeset
5 * This file is part of FFmpeg.
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1167
diff changeset
6 *
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1167
diff changeset
7 * FFmpeg is free software; you can redistribute it and/or
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
8 * modify it under the terms of the GNU Lesser General Public
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
9 * License as published by the Free Software Foundation; either
1358
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1167
diff changeset
10 * version 2.1 of the License, or (at your option) any later version.
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
11 *
1358
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1167
diff changeset
12 * FFmpeg is distributed in the hope that it will be useful,
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
15 * Lesser General Public License for more details.
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
16 *
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
17 * You should have received a copy of the GNU Lesser General Public
1358
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1167
diff changeset
18 * License along with FFmpeg; if not, write to the Free Software
896
edbe5c3717f9 Update licensing information: The FSF changed postal address.
diego
parents: 885
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
20 */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
21 #ifndef RTSP_H
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
22 #define RTSP_H
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
23
2171
a6d6b2b19341 include all prerequisites in header files
mru
parents: 2048
diff changeset
24 #include <stdint.h>
a6d6b2b19341 include all prerequisites in header files
mru
parents: 2048
diff changeset
25 #include "avformat.h"
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
26 #include "rtspcodes.h"
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
27
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
28 enum RTSPProtocol {
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
29 RTSP_PROTOCOL_RTP_UDP = 0,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
30 RTSP_PROTOCOL_RTP_TCP = 1,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
31 RTSP_PROTOCOL_RTP_UDP_MULTICAST = 2,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
32 };
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
33
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
34 #define RTSP_DEFAULT_PORT 554
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
35 #define RTSP_MAX_TRANSPORTS 8
179
43ac45200138 suppressed RTSP abort hack - added PLAY/PAUSE
bellard
parents: 65
diff changeset
36 #define RTSP_TCP_MAX_PACKET_SIZE 1472
774
820863425158 RTP/RTSP and MPEG4-AAC audio
michael
parents: 304
diff changeset
37 #define RTSP_DEFAULT_NB_AUDIO_CHANNELS 2
820863425158 RTP/RTSP and MPEG4-AAC audio
michael
parents: 304
diff changeset
38 #define RTSP_DEFAULT_AUDIO_SAMPLERATE 44100
820863425158 RTP/RTSP and MPEG4-AAC audio
michael
parents: 304
diff changeset
39 #define RTSP_RTP_PORT_MIN 5000
820863425158 RTP/RTSP and MPEG4-AAC audio
michael
parents: 304
diff changeset
40 #define RTSP_RTP_PORT_MAX 10000
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
41
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
42 typedef struct RTSPTransportField {
1871
50ad5902d797 Doxygenize comments in rtsp.h
takis
parents: 1870
diff changeset
43 int interleaved_min, interleaved_max; /**< interleave ids, if TCP transport */
50ad5902d797 Doxygenize comments in rtsp.h
takis
parents: 1870
diff changeset
44 int port_min, port_max; /**< RTP ports */
50ad5902d797 Doxygenize comments in rtsp.h
takis
parents: 1870
diff changeset
45 int client_port_min, client_port_max; /**< RTP ports */
50ad5902d797 Doxygenize comments in rtsp.h
takis
parents: 1870
diff changeset
46 int server_port_min, server_port_max; /**< RTP ports */
50ad5902d797 Doxygenize comments in rtsp.h
takis
parents: 1870
diff changeset
47 int ttl; /**< ttl value */
50ad5902d797 Doxygenize comments in rtsp.h
takis
parents: 1870
diff changeset
48 uint32_t destination; /**< destination IP address */
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
49 enum RTSPProtocol protocol;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
50 } RTSPTransportField;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
51
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
52 typedef struct RTSPHeader {
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
53 int content_length;
1871
50ad5902d797 Doxygenize comments in rtsp.h
takis
parents: 1870
diff changeset
54 enum RTSPStatusCode status_code; /**< response code from server */
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
55 int nb_transports;
1871
50ad5902d797 Doxygenize comments in rtsp.h
takis
parents: 1870
diff changeset
56 /** in AV_TIME_BASE unit, AV_NOPTS_VALUE if not used */
885
da1d5db0ce5c COSMETICS: Remove all trailing whitespace.
diego
parents: 774
diff changeset
57 int64_t range_start, range_end;
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
58 RTSPTransportField transports[RTSP_MAX_TRANSPORTS];
1871
50ad5902d797 Doxygenize comments in rtsp.h
takis
parents: 1870
diff changeset
59 int seq; /**< sequence number */
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
60 char session_id[512];
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
61 } RTSPHeader;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
62
1871
50ad5902d797 Doxygenize comments in rtsp.h
takis
parents: 1870
diff changeset
63 /** the callback can be used to extend the connection setup/teardown step */
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
64 enum RTSPCallbackAction {
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
65 RTSP_ACTION_SERVER_SETUP,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
66 RTSP_ACTION_SERVER_TEARDOWN,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
67 RTSP_ACTION_CLIENT_SETUP,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
68 RTSP_ACTION_CLIENT_TEARDOWN,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
69 };
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
70
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
71 typedef struct RTSPActionServerSetup {
65
a58a8a53eb46 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 0
diff changeset
72 uint32_t ipaddr;
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
73 char transport_option[512];
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
74 } RTSPActionServerSetup;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
75
885
da1d5db0ce5c COSMETICS: Remove all trailing whitespace.
diego
parents: 774
diff changeset
76 typedef int FFRTSPCallback(enum RTSPCallbackAction action,
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
77 const char *session_id,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
78 char *buf, int buf_size,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
79 void *arg);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
80
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
81 int rtsp_init(void);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
82 void rtsp_parse_line(RTSPHeader *reply, const char *buf);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
83
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
84 extern int rtsp_default_protocols;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
85 extern int rtsp_rtp_port_min;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
86 extern int rtsp_rtp_port_max;
1167
d89d7ef290da give AVInput/OutputFormat structs consistent names
mru
parents: 896
diff changeset
87 extern AVInputFormat rtsp_demuxer;
179
43ac45200138 suppressed RTSP abort hack - added PLAY/PAUSE
bellard
parents: 65
diff changeset
88
43ac45200138 suppressed RTSP abort hack - added PLAY/PAUSE
bellard
parents: 65
diff changeset
89 int rtsp_pause(AVFormatContext *s);
43ac45200138 suppressed RTSP abort hack - added PLAY/PAUSE
bellard
parents: 65
diff changeset
90 int rtsp_resume(AVFormatContext *s);
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
91
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
92 #endif /* RTSP_H */