annotate rtsp.h @ 584:4e3bab6555ae libavformat

When playing ftp://ftp.mplayerhq.hu/MPlayer/samples/V-codecs/QPEG/VWbig6.avi with my decoder (should appear soon) it hadn't changed palette even there are palette change chunks in that AVI. Here is small patch to make it work (zero number of colors to change in that chunk actually means to change ALL colors). patch by (Kostya <cannonball>at<bw-team>dot<com>)
author michael
date Fri, 12 Nov 2004 01:32:35 +0000
parents d58c8859ff8c
children 820863425158
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 *
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
5 * This library is free software; you can redistribute it and/or
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
6 * modify it under the terms of the GNU Lesser General Public
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
7 * License as published by the Free Software Foundation; either
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
8 * version 2 of the License, or (at your option) any later version.
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
9 *
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
10 * This library is distributed in the hope that it will be useful,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
13 * Lesser General Public License for more details.
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
14 *
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
15 * You should have received a copy of the GNU Lesser General Public
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
16 * License along with this library; if not, write to the Free Software
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
18 */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
19 #ifndef RTSP_H
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
20 #define RTSP_H
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
21
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
22 /* RTSP handling */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
23 enum RTSPStatusCode {
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
24 #define DEF(n, c, s) c = n,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
25 #include "rtspcodes.h"
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
26 #undef DEF
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
27 };
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
28
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
29 enum RTSPProtocol {
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
30 RTSP_PROTOCOL_RTP_UDP = 0,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
31 RTSP_PROTOCOL_RTP_TCP = 1,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
32 RTSP_PROTOCOL_RTP_UDP_MULTICAST = 2,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
33 };
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
34
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
35 #define RTSP_DEFAULT_PORT 554
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
36 #define RTSP_MAX_TRANSPORTS 8
179
43ac45200138 suppressed RTSP abort hack - added PLAY/PAUSE
bellard
parents: 65
diff changeset
37 #define RTSP_TCP_MAX_PACKET_SIZE 1472
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
38
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
39 typedef struct RTSPTransportField {
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
40 int interleaved_min, interleaved_max; /* interleave ids, if TCP transport */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
41 int port_min, port_max; /* RTP ports */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
42 int client_port_min, client_port_max; /* RTP ports */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
43 int server_port_min, server_port_max; /* RTP ports */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
44 int ttl; /* ttl value */
65
a58a8a53eb46 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 0
diff changeset
45 uint32_t destination; /* destination IP address */
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
46 enum RTSPProtocol protocol;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
47 } RTSPTransportField;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
48
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
49 typedef struct RTSPHeader {
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
50 int content_length;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
51 enum RTSPStatusCode status_code; /* response code from server */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
52 int nb_transports;
304
d58c8859ff8c initial seek support - more generic play/pause support
bellard
parents: 179
diff changeset
53 /* in AV_TIME_BASE unit, AV_NOPTS_VALUE if not used */
d58c8859ff8c initial seek support - more generic play/pause support
bellard
parents: 179
diff changeset
54 int64_t range_start, range_end;
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
55 RTSPTransportField transports[RTSP_MAX_TRANSPORTS];
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
56 int seq; /* sequence number */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
57 char session_id[512];
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
58 } RTSPHeader;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
59
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
60 /* the callback can be used to extend the connection setup/teardown step */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
61 enum RTSPCallbackAction {
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
62 RTSP_ACTION_SERVER_SETUP,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
63 RTSP_ACTION_SERVER_TEARDOWN,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
64 RTSP_ACTION_CLIENT_SETUP,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
65 RTSP_ACTION_CLIENT_TEARDOWN,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
66 };
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
67
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
68 typedef struct RTSPActionServerSetup {
65
a58a8a53eb46 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 0
diff changeset
69 uint32_t ipaddr;
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
70 char transport_option[512];
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
71 } RTSPActionServerSetup;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
72
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
73 typedef int FFRTSPCallback(enum RTSPCallbackAction action,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
74 const char *session_id,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
75 char *buf, int buf_size,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
76 void *arg);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
77
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
78 void rtsp_set_callback(FFRTSPCallback *rtsp_cb);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
79
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
80 int rtsp_init(void);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
81 void rtsp_parse_line(RTSPHeader *reply, const char *buf);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
82
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
83 extern int rtsp_default_protocols;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
84 extern int rtsp_rtp_port_min;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
85 extern int rtsp_rtp_port_max;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
86 extern FFRTSPCallback *ff_rtsp_callback;
179
43ac45200138 suppressed RTSP abort hack - added PLAY/PAUSE
bellard
parents: 65
diff changeset
87 extern AVInputFormat rtsp_demux;
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 */