Always set next correctly, even if a matching element is found (that is
[libav.git] / libavformat / rm.h
CommitLineData
7b2a2ce5
AJ
1/*
2 * "Real" compatible muxer and demuxer.
3 * Copyright (c) 2000, 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
5b21bdab
DB
22#ifndef FFMPEG_RM_H
23#define FFMPEG_RM_H
7b2a2ce5
AJ
24
25#include "avformat.h"
26
27
28typedef struct {
29 int nb_packets;
30 int packet_total_size;
31 int packet_max_size;
32 /* codec related output */
33 int bit_rate;
34 float frame_rate;
35 int nb_frames; /* current frame number */
36 int total_frames; /* total number of frames */
37 int num;
38 AVCodecContext *enc;
39} StreamInfo;
40
41typedef struct {
42 StreamInfo streams[2];
43 StreamInfo *audio_stream, *video_stream;
44 int data_pos; /* position of the data after the header */
45 int nb_packets;
46 int old_format;
47 int current_stream;
48 int remaining_len;
383b123e
KS
49 uint8_t *videobuf; ///< place to store merged video frame
50 int videobufsize; ///< current assembled frame size
51 int videobufpos; ///< position for the next slice in the video buffer
52 int curpic_num; ///< picture number of current frame
53 int cur_slice, slices;
d447fc31 54 int64_t pktpos; ///< first slice position in file
7b2a2ce5
AJ
55 /// Audio descrambling matrix parameters
56 uint8_t *audiobuf; ///< place to store reordered audio data
57 int64_t audiotimestamp; ///< Audio packet timestamp
58 int sub_packet_cnt; // Subpacket counter, used while reading
59 int sub_packet_size, sub_packet_h, coded_framesize; ///< Descrambling parameters from container
60 int audio_stream_num; ///< Stream number for audio packets
61 int audio_pkt_cnt; ///< Output packet counter
62 int audio_framesize; /// Audio frame size from container
63 int sub_packet_lengths[16]; /// Length of each aac subpacket
64} RMContext;
65
5b21bdab 66#endif /* FFMPEG_RM_H */