annotate ffm.h @ 3561:bc473761b9e7 libavformat

Move one function that is only used for muxing below #ifdef CONFIG_MUXERS.
author diego
date Fri, 11 Jul 2008 07:41:11 +0000
parents 6facc89bece8
children bf39ed8d3d69
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
1 /*
3348
4d492fccf79b split ffm de/muxer
bcoudurier
parents: 3347
diff changeset
2 * FFM (ffserver live feed) common header
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
3 * Copyright (c) 2001 Fabrice Bellard.
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
4 *
1358
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1169
diff changeset
5 * This file is part of FFmpeg.
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1169
diff changeset
6 *
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1169
diff changeset
7 * FFmpeg is free software; you can redistribute it and/or
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
8 * modify it under the terms of the GNU Lesser General Public
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
9 * License as published by the Free Software Foundation; either
1358
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1169
diff changeset
10 * version 2.1 of the License, or (at your option) any later version.
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
11 *
1358
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1169
diff changeset
12 * FFmpeg is distributed in the hope that it will be useful,
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
15 * Lesser General Public License for more details.
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
16 *
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
17 * You should have received a copy of the GNU Lesser General Public
1358
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1169
diff changeset
18 * License along with FFmpeg; if not, write to the Free Software
896
edbe5c3717f9 Update licensing information: The FSF changed postal address.
diego
parents: 887
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
20 */
3348
4d492fccf79b split ffm de/muxer
bcoudurier
parents: 3347
diff changeset
21
4d492fccf79b split ffm de/muxer
bcoudurier
parents: 3347
diff changeset
22 #ifndef FFMPEG_FFM_H
4d492fccf79b split ffm de/muxer
bcoudurier
parents: 3347
diff changeset
23 #define FFMPEG_FFM_H
4d492fccf79b split ffm de/muxer
bcoudurier
parents: 3347
diff changeset
24
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
25 #include "avformat.h"
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
26
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
27 /* The FFM file is made of blocks of fixed size */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
28 #define FFM_HEADER_SIZE 14
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
29 #define PACKET_ID 0x666d
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
30
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
31 /* each packet contains frames (which can span several packets */
3442
a6f4d53b738d pass dts and pts through ffm, should fix streaming b frames
bcoudurier
parents: 3440
diff changeset
32 #define FRAME_HEADER_SIZE 16
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
33 #define FLAG_KEY_FRAME 0x01
3442
a6f4d53b738d pass dts and pts through ffm, should fix streaming b frames
bcoudurier
parents: 3440
diff changeset
34 #define FLAG_DTS 0x02
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
35
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
36 enum {
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
37 READ_HEADER,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
38 READ_DATA,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
39 };
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
40
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
41 typedef struct FFMContext {
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
42 /* only reading mode */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
43 offset_t write_index, file_size;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
44 int read_state;
3442
a6f4d53b738d pass dts and pts through ffm, should fix streaming b frames
bcoudurier
parents: 3440
diff changeset
45 uint8_t header[FRAME_HEADER_SIZE+4];
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
46
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
47 /* read and write */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
48 int first_packet; /* true if first packet, needed to set the discontinuity tag */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
49 int packet_size;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
50 int frame_offset;
3492
6facc89bece8 cosmetics, pts->dts
bcoudurier
parents: 3442
diff changeset
51 int64_t dts;
65
a58a8a53eb46 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 34
diff changeset
52 uint8_t *packet_ptr, *packet_end;
a58a8a53eb46 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 34
diff changeset
53 uint8_t packet[FFM_PACKET_SIZE];
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
54 } FFMContext;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
55
3348
4d492fccf79b split ffm de/muxer
bcoudurier
parents: 3347
diff changeset
56 #endif /* FFMPEG_FFM_H */