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 */
FFMContext::dts
int64_t dts
Definition:
ffm.h:54
avio.h
Buffered I/O operations.
FFMContext::frame_offset
int frame_offset
Definition:
ffm.h:53
READ_HEADER
Definition:
ffm.h:40
READ_DATA
Definition:
ffm.h:41
FFMContext::file_size
int64_t file_size
Definition:
ffm.h:46
uint8_t
uint8_t
Definition:
audio_convert.c:194
FFMContext::packet_end
uint8_t * packet_end
Definition:
ffm.h:55
FFMContext::packet_ptr
uint8_t * packet_ptr
Definition:
ffm.h:55
FFMContext::first_packet
int first_packet
Definition:
ffm.h:51
FFMContext::start_time
int64_t start_time
Definition:
ffm.h:57
FFMContext::header
uint8_t header[FRAME_HEADER_SIZE+4]
Definition:
ffm.h:48
FFMContext::packet_size
int packet_size
Definition:
ffm.h:52
FFMContext
Definition:
ffm.h:44
FRAME_HEADER_SIZE
#define FRAME_HEADER_SIZE
Definition:
ffm.h:35
avformat.h
Main libavformat public API header.
FFMContext::packet
uint8_t packet[FFM_PACKET_SIZE]
Definition:
ffm.h:56
FFMContext::read_state
int read_state
Definition:
ffm.h:47
FFMContext::write_index
int64_t write_index
Definition:
ffm.h:46
FFM_PACKET_SIZE
#define FFM_PACKET_SIZE
Definition:
ffm.h:31
Generated on Thu Sep 10 2015 11:39:05 for FFmpeg by
1.8.6