Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
6147 serge 1
/*
2
 * RTMP definitions
3
 * Copyright (c) 2009 Konstantin Shishkov
4
 *
5
 * This file is part of FFmpeg.
6
 *
7
 * FFmpeg is free software; you can redistribute it and/or
8
 * modify it under the terms of the GNU Lesser General Public
9
 * License as published by the Free Software Foundation; either
10
 * version 2.1 of the License, or (at your option) any later version.
11
 *
12
 * FFmpeg is distributed in the hope that it will be useful,
13
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15
 * Lesser General Public License for more details.
16
 *
17
 * You should have received a copy of the GNU Lesser General Public
18
 * License along with FFmpeg; if not, write to the Free Software
19
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
 */
21
 
22
#ifndef AVFORMAT_RTMP_H
23
#define AVFORMAT_RTMP_H
24
 
25
#include "avformat.h"
26
 
27
#define RTMP_DEFAULT_PORT 1935
28
#define RTMPS_DEFAULT_PORT 443
29
 
30
#define RTMP_HANDSHAKE_PACKET_SIZE 1536
31
 
32
/**
33
 * emulated Flash client version - 9.0.124.2 on Linux
34
 * @{
35
 */
36
#define RTMP_CLIENT_PLATFORM "LNX"
37
#define RTMP_CLIENT_VER1    9
38
#define RTMP_CLIENT_VER2    0
39
#define RTMP_CLIENT_VER3  124
40
#define RTMP_CLIENT_VER4    2
41
/** @} */ //version defines
42
 
43
/**
44
 * Calculate HMAC-SHA2 digest for RTMP handshake packets.
45
 *
46
 * @param src    input buffer
47
 * @param len    input buffer length (should be 1536)
48
 * @param gap    offset in buffer where 32 bytes should not be taken into account
49
 *               when calculating digest (since it will be used to store that digest)
50
 * @param key    digest key
51
 * @param keylen digest key length
52
 * @param dst    buffer where calculated digest will be stored (32 bytes)
53
 */
54
int ff_rtmp_calc_digest(const uint8_t *src, int len, int gap,
55
                        const uint8_t *key, int keylen, uint8_t *dst);
56
 
57
/**
58
 * Calculate digest position for RTMP handshake packets.
59
 *
60
 * @param buf input buffer (should be 1536 bytes)
61
 * @param off offset in buffer where to start calculating digest position
62
 * @param mod_val value used for computing modulo
63
 * @param add_val value added at the end (after computing modulo)
64
 */
65
int ff_rtmp_calc_digest_pos(const uint8_t *buf, int off, int mod_val,
66
                            int add_val);
67
 
68
#endif /* AVFORMAT_RTMP_H */