FFmpeg
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
libavformat
ffm.h
Go to the documentation of this file.
1
/*
2
* FFM (ffserver live feed) common header
3
* Copyright (c) 2001 Fabrice Bellard
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_FFM_H
23
#define AVFORMAT_FFM_H
24
25
#include <stdint.h>
26
#include "
avformat.h
"
27
#include "
avio.h
"
28
29
/* The FFM file is made of blocks of fixed size */
30
#define FFM_HEADER_SIZE 14
31
#define FFM_PACKET_SIZE 4096
32
#define PACKET_ID 0x666d
33
34
/* each packet contains frames (which can span several packets */
35
#define FRAME_HEADER_SIZE 16
36
#define FLAG_KEY_FRAME 0x01
37
#define FLAG_DTS 0x02
38
39
enum
{
40
READ_HEADER
,
41
READ_DATA
,
42
};
43
44
typedef
struct
FFMContext
{
45
/* only reading mode */
46
int64_t
write_index
,
file_size
;
47
int
read_state
;
48
uint8_t
header
[
FRAME_HEADER_SIZE
+4];
49
50
/* read and write */
51
int
first_packet
;
/* true if first packet, needed to set the discontinuity tag */
52
int
packet_size
;
53
int
frame_offset
;
54
int64_t
dts
;
55
uint8_t
*
packet_ptr
, *
packet_end
;
56
uint8_t
packet
[
FFM_PACKET_SIZE
];
57
int64_t
start_time
;
58
}
FFMContext
;
59
60
#endif
/* AVFORMAT_FFM_H */
Generated on Sun Mar 8 2015 02:35:09 for FFmpeg by
1.8.2