annotate rdt.h @ 3957:9f943bb755f9 libavformat

Rename RTSPProtocol to RTSPLowerTransport, so that its name properly tells us that it only describes the lower-level transport (TCP vs. UDP) and not the actual data layout (e.g. RDT vs. RTP). See discussion in "Realmedia patch" thread on ML.
author rbultje
date Tue, 30 Sep 2008 13:18:41 +0000
parents 91987686113d
children ed6f6aa977ec
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3876
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
1 /*
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
2 * Realmedia RTSP (RDT) definitions
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
3 * Copyright (c) 2007 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
4 *
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
5 * This file is part of FFmpeg.
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
6 *
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
7 * FFmpeg is free software; you can redistribute it and/or
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
8 * modify it under the terms of the GNU Lesser General Public
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
9 * License as published by the Free Software Foundation; either
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
10 * version 2.1 of the License, or (at your option) any later version.
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
11 *
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
12 * FFmpeg is distributed in the hope that it will be useful,
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
15 * Lesser General Public License for more details.
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
16 *
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
17 * You should have received a copy of the GNU Lesser General Public
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
18 * License along with FFmpeg; if not, write to the Free Software
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
20 */
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
21
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
22 #ifndef AVFORMAT_RDT_H
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
23 #define AVFORMAT_RDT_H
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
24
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
25 /**
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
26 * Calculate the response (RealChallenge2 in the RTSP header) to the
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
27 * challenge (RealChallenge1 in the RTSP header from the Real/Helix
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
28 * server), which is used as some sort of client validation.
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
29 *
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
30 * @param response pointer to response buffer, it should be at least 41 bytes
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
31 * (40 data + 1 zero) bytes long.
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
32 * @param chksum pointer to buffer containing a checksum of the response,
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
33 * it should be at least 9 (8 data + 1 zero) bytes long.
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
34 * @param challenge pointer to the RealChallenge1 value provided by the
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
35 * server.
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
36 */
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
37 void ff_rdt_calc_response_and_checksum(char response[41], char chksum[9],
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
38 const char *challenge);
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
39
3902
5f9bec099c69 Add dynamic payload handlers to rdt.c. These follow the same API as the ones
rbultje
parents: 3876
diff changeset
40 /**
5f9bec099c69 Add dynamic payload handlers to rdt.c. These follow the same API as the ones
rbultje
parents: 3876
diff changeset
41 * Register RDT-related dynamic payload handlers with our cache.
5f9bec099c69 Add dynamic payload handlers to rdt.c. These follow the same API as the ones
rbultje
parents: 3876
diff changeset
42 */
5f9bec099c69 Add dynamic payload handlers to rdt.c. These follow the same API as the ones
rbultje
parents: 3876
diff changeset
43 void av_register_rdt_dynamic_payload_handlers(void);
5f9bec099c69 Add dynamic payload handlers to rdt.c. These follow the same API as the ones
rbultje
parents: 3876
diff changeset
44
3903
aeb79f68ba7e Implement a RDT-specific SET_PARAMETER command that subscribes to the
rbultje
parents: 3902
diff changeset
45 /**
aeb79f68ba7e Implement a RDT-specific SET_PARAMETER command that subscribes to the
rbultje
parents: 3902
diff changeset
46 * Add subscription information to Subscribe parameter string.
aeb79f68ba7e Implement a RDT-specific SET_PARAMETER command that subscribes to the
rbultje
parents: 3902
diff changeset
47 *
aeb79f68ba7e Implement a RDT-specific SET_PARAMETER command that subscribes to the
rbultje
parents: 3902
diff changeset
48 * @param s RDT context
aeb79f68ba7e Implement a RDT-specific SET_PARAMETER command that subscribes to the
rbultje
parents: 3902
diff changeset
49 * @param cmd string to write the subscription information into.
aeb79f68ba7e Implement a RDT-specific SET_PARAMETER command that subscribes to the
rbultje
parents: 3902
diff changeset
50 * @param size size of cmd.
aeb79f68ba7e Implement a RDT-specific SET_PARAMETER command that subscribes to the
rbultje
parents: 3902
diff changeset
51 * @param stream_nr stream number.
aeb79f68ba7e Implement a RDT-specific SET_PARAMETER command that subscribes to the
rbultje
parents: 3902
diff changeset
52 * @param rule_nr rule number to conform to.
aeb79f68ba7e Implement a RDT-specific SET_PARAMETER command that subscribes to the
rbultje
parents: 3902
diff changeset
53 */
aeb79f68ba7e Implement a RDT-specific SET_PARAMETER command that subscribes to the
rbultje
parents: 3902
diff changeset
54 void ff_rdt_subscribe_rule(RTPDemuxContext *s, char *cmd, int size,
aeb79f68ba7e Implement a RDT-specific SET_PARAMETER command that subscribes to the
rbultje
parents: 3902
diff changeset
55 int stream_nr, int rule_nr);
aeb79f68ba7e Implement a RDT-specific SET_PARAMETER command that subscribes to the
rbultje
parents: 3902
diff changeset
56
3905
91987686113d Implement RDT-specific data parsing routines. After these changes, simple
rbultje
parents: 3903
diff changeset
57 /**
91987686113d Implement RDT-specific data parsing routines. After these changes, simple
rbultje
parents: 3903
diff changeset
58 * Parse RDT-style packet data (header + media data).
91987686113d Implement RDT-specific data parsing routines. After these changes, simple
rbultje
parents: 3903
diff changeset
59 * Usage similar to rtp_parse_packet().
91987686113d Implement RDT-specific data parsing routines. After these changes, simple
rbultje
parents: 3903
diff changeset
60 */
91987686113d Implement RDT-specific data parsing routines. After these changes, simple
rbultje
parents: 3903
diff changeset
61 int ff_rdt_parse_packet(RTPDemuxContext *s, AVPacket *pkt,
91987686113d Implement RDT-specific data parsing routines. After these changes, simple
rbultje
parents: 3903
diff changeset
62 const uint8_t *buf, int len);
91987686113d Implement RDT-specific data parsing routines. After these changes, simple
rbultje
parents: 3903
diff changeset
63
3876
1026953d4ffe Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
rbultje
parents:
diff changeset
64 #endif /* AVFORMAT_RDT_H */