32 int version_major, version_minor;
33 int64_t start_num, start_den;
45 if (!strncmp(buf,
"fishead", 8)) {
50 version_minor =
AV_RL16(buf+10);
52 if (version_major != 3 && version_major != 4) {
54 version_major, version_minor);
66 if (start_den > 0 && start_num > 0) {
68 av_reduce(&start_time, &base_den, start_num, start_den, INT_MAX);
73 }
else if (!strncmp(buf,
"fisbone", 8)) {
78 start_granule =
AV_RL64(buf+36);
Copyright (C) 2005 Michael Ahlberg, Måns Rullgård.
#define AV_LOG_WARNING
Something somehow does not look correct.
#define OGG_NOGRANULE_VALUE
static int skeleton_header(AVFormatContext *s, int idx)
uint64_t_TMPL AV_WL64 unsigned int_TMPL AV_WL32 unsigned int_TMPL AV_WL24 unsigned int_TMPL AV_RL16
static int64_t start_time
Opaque data information usually continuous.
const struct ogg_codec ff_skeleton_codec
AVStream ** streams
A list of all streams in the file.
AVCodecContext * codec
Codec context associated with this stream.
int av_reduce(int *dst_num, int *dst_den, int64_t num, int64_t den, int64_t max)
Reduce a fraction.
struct ogg_stream * streams
static int ogg_find_stream(struct ogg *ogg, int serial)
enum AVMediaType codec_type
int64_t start_time
Decoding: pts of the first frame of the stream in presentation order, in stream time base...
void * priv_data
Format private data.
uint64_t_TMPL AV_WL64 unsigned int_TMPL AV_RL32