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
const
AVClass
*
class
;
46
/* only reading mode */
47
int64_t
write_index
,
file_size
;
48
int
read_state
;
49
uint8_t
header
[
FRAME_HEADER_SIZE
+4];
50
51
/* read and write */
52
int
first_packet
;
/* true if first packet, needed to set the discontinuity tag */
53
int
packet_size
;
54
int
frame_offset
;
55
int64_t
dts
;
56
uint8_t
*
packet_ptr
, *
packet_end
;
57
uint8_t
packet
[
FFM_PACKET_SIZE
];
58
int64_t
start_time
;
59
int
server_attached
;
60
}
FFMContext
;
61
62
#endif
/* AVFORMAT_FFM_H */
FFMContext::dts
int64_t dts
Definition:
ffm.h:55
avio.h
Buffered I/O operations.
FFMContext::frame_offset
int frame_offset
Definition:
ffm.h:54
FFMContext::file_size
int64_t file_size
Definition:
ffm.h:47
uint8_t
uint8_t
Definition:
audio_convert.c:194
FFMContext::packet_end
uint8_t * packet_end
Definition:
ffm.h:56
FFMContext::packet_ptr
uint8_t * packet_ptr
Definition:
ffm.h:56
FFMContext::first_packet
int first_packet
Definition:
ffm.h:52
FFMContext::server_attached
int server_attached
Definition:
ffm.h:59
FFMContext::start_time
int64_t start_time
Definition:
ffm.h:58
READ_HEADER
Definition:
ffm.h:40
FFMContext::header
uint8_t header[FRAME_HEADER_SIZE+4]
Definition:
ffm.h:49
READ_DATA
Definition:
ffm.h:41
FFMContext::packet_size
int packet_size
Definition:
ffm.h:53
FFMContext
Definition:
ffm.h:44
AVClass
Describe the class of an AVClass context structure.
Definition:
log.h:67
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:57
FFMContext::read_state
int read_state
Definition:
ffm.h:48
FFMContext::write_index
int64_t write_index
Definition:
ffm.h:47
FFM_PACKET_SIZE
#define FFM_PACKET_SIZE
Definition:
ffm.h:31
Generated on Fri Jan 12 2018 01:48:01 for FFmpeg by
1.8.6