48 if (!(bytestream2_peek_byte(&p) & 1))
51 if (bytestream2_peek_byte(&p) == 1) {
54 if (bytestream2_peek_byte(&p) ==
'v'){
58 tag = bytestream2_get_le32(&p);
63 }
else if (bytestream2_peek_byte(&p) ==
't') {
74 cid = strtol(acid,
NULL, 16);
81 size = bytestream2_get_le32(&p);
83 time_unit = bytestream2_get_le64(&p);
84 spu = bytestream2_get_le64(&p);
85 if (!time_unit || !spu) {
117 }
else if (bytestream2_peek_byte(&p) == 3) {
153 }
else if(t == 0x05589f81){
178 lb = ((*p & 2) << 1) | ((*p >> 6) & 3);
179 if (os->
psize < lb + 1)
186 os->
pduration += (uint64_t)p[lb+1] << (lb*8);
192 .
magic =
"\001video",
196 .granule_is_start = 1,
201 .
magic =
"\001audio",
205 .granule_is_start = 1,
214 .granule_is_start = 1,
219 .
magic =
"\001Direct Show Samples embedded in Ogg",
223 .granule_is_start = 1,
#define AVERROR_INVALIDDATA
Invalid data found when processing input.
const struct ogg_codec ff_ogm_old_codec
Copyright (C) 2005 Michael Ahlberg, Måns Rullgård.
enum AVCodecID codec_id
Specific type of the encoded data (the codec used).
static av_always_inline void bytestream2_init(GetByteContext *g, const uint8_t *buf, int buf_size)
static int ogm_header(AVFormatContext *s, int idx)
Copyright (C) 2005 Michael Ahlberg, Måns Rullgård.
static int ogm_dshow_header(AVFormatContext *s, int idx)
const struct ogg_codec ff_ogm_text_codec
enum AVStreamParseType need_parsing
AVStream ** streams
A list of all streams in the file.
int64_t bit_rate
The average bitrate of the encoded data (in bits per second).
#define AV_PKT_FLAG_KEY
The packet contains a keyframe.
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
static av_always_inline void bytestream2_skip(GetByteContext *g, unsigned int size)
int ff_vorbis_stream_comment(AVFormatContext *as, AVStream *st, const uint8_t *buf, int size)
static av_always_inline unsigned int bytestream2_get_buffer(GetByteContext *g, uint8_t *dst, unsigned int size)
enum AVMediaType codec_type
General type of the encoded data.
static av_always_inline unsigned int bytestream2_get_bytes_left(GetByteContext *g)
const AVCodecTag ff_codec_wav_tags[]
int extradata_size
Size of the extradata content in bytes.
const AVCodecTag ff_codec_bmp_tags[]
internal header for RIFF based (de)muxers do NOT include this in end user applications ...
struct ogg_stream * streams
const struct ogg_codec ff_ogm_video_codec
static int ogm_packet(AVFormatContext *s, int idx)
int sample_rate
Audio only.
void * priv_data
Format private data.
uint8_t * extradata
Extra binary data needed for initializing the decoder, codec-dependent.
AVCodecParameters * codecpar
Codec parameters associated with this stream.
uint32_t codec_tag
Additional information about the codec (corresponds to the AVI FOURCC).
const struct ogg_codec ff_ogm_audio_codec