chromium/third_party/ffmpeg/libavformat/mp3dec.c

/*
 * MP3 demuxer
 * Copyright (c) 2003 Fabrice Bellard
 *
 * This file is part of FFmpeg.
 *
 * FFmpeg is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * FFmpeg is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with FFmpeg; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 */

#include "libavutil/opt.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/dict.h"
#include "libavutil/mathematics.h"
#include "avformat.h"
#include "internal.h"
#include "avio_internal.h"
#include "demux.h"
#include "id3v2.h"
#include "id3v1.h"
#include "replaygain.h"

#include "libavcodec/codec_id.h"
#include "libavcodec/mpegaudiodecheader.h"

#define XING_FLAG_FRAMES
#define XING_FLAG_SIZE
#define XING_FLAG_TOC
#define XING_FLAC_QSCALE

#define XING_TOC_COUNT


MP3DecContext;

enum CheckRet {};

static int check(AVIOContext *pb, int64_t pos, uint32_t *header);

/* mp3 read */

static int mp3_read_probe(const AVProbeData *p)
{}

static void read_xing_toc(AVFormatContext *s, int64_t filesize, int64_t duration)
{}

static void mp3_parse_info_tag(AVFormatContext *s, AVStream *st,
                               MPADecodeHeader *c, uint32_t spf)
{}

static void mp3_parse_vbri_tag(AVFormatContext *s, AVStream *st, int64_t base)
{}

/**
 * Try to find Xing/Info/VBRI tags and compute duration from info therein
 */
static int mp3_parse_vbr_tags(AVFormatContext *s, AVStream *st, int64_t base)
{}

static int mp3_read_header(AVFormatContext *s)
{}

#define MP3_PACKET_SIZE

static int mp3_read_packet(AVFormatContext *s, AVPacket *pkt)
{}

#define SEEK_WINDOW

static int check(AVIOContext *pb, int64_t pos, uint32_t *ret_header)
{}

static int64_t mp3_sync(AVFormatContext *s, int64_t target_pos, int flags)
{}

static int mp3_seek(AVFormatContext *s, int stream_index, int64_t timestamp,
                    int flags)
{}

static const AVOption options[] =;

static const AVClass demuxer_class =;

const FFInputFormat ff_mp3_demuxer =;