X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fsol.c;h=aa566647bb15a2e86d8d065ccea8d001d4392701;hb=36b38500b618cdff8c3b9aadaf2439b093ceb723;hp=8c2ea4340e7bcbd25f95065bbac3150e85554741;hpb=8fa36ae09dddb1b639b4df5d505c0dbcf4e916e4;p=ffmpeg diff --git a/libavformat/sol.c b/libavformat/sol.c index 8c2ea4340e7..aa566647bb1 100644 --- a/libavformat/sol.c +++ b/libavformat/sol.c @@ -1,6 +1,6 @@ /* * Sierra SOL demuxer - * Copyright Konstantin Shishkov. + * Copyright Konstantin Shishkov * * This file is part of FFmpeg. * @@ -23,20 +23,17 @@ * Based on documents from Game Audio Player and own research */ +#include "libavutil/bswap.h" #include "avformat.h" -#include "allformats.h" -#include "riff.h" -#include "bswap.h" +#include "raw.h" /* if we don't know the size in advance */ -#define AU_UNKOWN_SIZE ((uint32_t)(~0)) +#define AU_UNKNOWN_SIZE ((uint32_t)(~0)) static int sol_probe(AVProbeData *p) { /* check file header */ uint16_t magic; - if (p->buf_size <= 14) - return 0; magic=le2me_16(*((uint16_t*)p->buf)); if ((magic == 0x0B8D || magic == 0x0C0D || magic == 0x0C8D) && p->buf[2] == 'S' && p->buf[3] == 'O' && @@ -50,7 +47,7 @@ static int sol_probe(AVProbeData *p) #define SOL_16BIT 4 #define SOL_STEREO 16 -static int sol_codec_id(int magic, int type) +static enum CodecID sol_codec_id(int magic, int type) { if (magic == 0x0B8D) { @@ -90,8 +87,9 @@ static int sol_read_header(AVFormatContext *s, { int size; unsigned int magic,tag; - ByteIOContext *pb = &s->pb; - unsigned int id, codec, channels, rate, type; + ByteIOContext *pb = s->pb; + unsigned int id, channels, rate, type; + enum CodecID codec; AVStream *st; /* check ".snd" header */ @@ -132,9 +130,9 @@ static int sol_read_packet(AVFormatContext *s, { int ret; - if (url_feof(&s->pb)) + if (url_feof(s->pb)) return AVERROR(EIO); - ret= av_get_packet(&s->pb, pkt, MAX_SIZE); + ret= av_get_packet(s->pb, pkt, MAX_SIZE); pkt->stream_index = 0; /* note: we need to modify the packet size here to handle the last @@ -143,18 +141,13 @@ static int sol_read_packet(AVFormatContext *s, return 0; } -static int sol_read_close(AVFormatContext *s) -{ - return 0; -} - AVInputFormat sol_demuxer = { "sol", - "Sierra SOL Format", + NULL_IF_CONFIG_SMALL("Sierra SOL format"), 0, sol_probe, sol_read_header, sol_read_packet, - sol_read_close, + NULL, pcm_read_seek, };