X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fiss.c;h=1fd9f552d82fc3577292091a40c124f82f255f54;hb=66adb7ce1bc1cc5e3f1c4b1cd9f20ac68086a486;hp=c47c8c8784b315aa53c012d080334e9ded480160;hpb=c6610a216ed2948885772154a2eed696e0cb4aca;p=ffmpeg diff --git a/libavformat/iss.c b/libavformat/iss.c index c47c8c8784b..1fd9f552d82 100644 --- a/libavformat/iss.c +++ b/libavformat/iss.c @@ -2,20 +2,20 @@ * ISS (.iss) file demuxer * Copyright (c) 2008 Jaikrishnan Menon * - * This file is part of FFmpeg. + * This file is part of Libav. * - * FFmpeg is free software; you can redistribute it and/or + * Libav 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, + * Libav 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 + * License along with Libav; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ @@ -23,11 +23,11 @@ * @file * Funcom ISS file demuxer * @author Jaikrishnan Menon - * for more information on the .iss file format, visit: - * http://wiki.multimedia.cx/index.php?title=FunCom_ISS + * @see http://wiki.multimedia.cx/index.php?title=FunCom_ISS */ #include "avformat.h" +#include "internal.h" #include "libavutil/avstring.h" #define ISS_SIG "IMA_ADPCM_Sound" @@ -39,12 +39,12 @@ typedef struct { int sample_start_pos; } IssDemuxContext; -static void get_token(ByteIOContext *s, char *buf, int maxlen) +static void get_token(AVIOContext *s, char *buf, int maxlen) { int i = 0; char c; - while ((c = get_byte(s))) { + while ((c = avio_r8(s))) { if(c == ' ') break; if (i < maxlen-1) @@ -52,7 +52,7 @@ static void get_token(ByteIOContext *s, char *buf, int maxlen) } if(!c) - get_byte(s); + avio_r8(s); buf[i] = 0; /* Ensure null terminated, but may be truncated */ } @@ -65,10 +65,10 @@ static int iss_probe(AVProbeData *p) return AVPROBE_SCORE_MAX; } -static av_cold int iss_read_header(AVFormatContext *s, AVFormatParameters *ap) +static av_cold int iss_read_header(AVFormatContext *s) { IssDemuxContext *iss = s->priv_data; - ByteIOContext *pb = s->pb; + AVIOContext *pb = s->pb; AVStream *st; char token[MAX_TOKEN_SIZE]; int stereo, rate_divisor; @@ -87,9 +87,9 @@ static av_cold int iss_read_header(AVFormatContext *s, AVFormatParameters *ap) get_token(pb, token, sizeof(token)); //Version ID get_token(pb, token, sizeof(token)); //Size - iss->sample_start_pos = url_ftell(pb); + iss->sample_start_pos = avio_tell(pb); - st = av_new_stream(s, 0); + st = avformat_new_stream(s, NULL); if (!st) return AVERROR(ENOMEM); st->codec->codec_type = AVMEDIA_TYPE_AUDIO; @@ -102,7 +102,7 @@ static av_cold int iss_read_header(AVFormatContext *s, AVFormatParameters *ap) st->codec->bit_rate = st->codec->channels * st->codec->sample_rate * st->codec->bits_per_coded_sample; st->codec->block_align = iss->packet_size; - av_set_pts_info(st, 32, 1, st->codec->sample_rate); + avpriv_set_pts_info(st, 32, 1, st->codec->sample_rate); return 0; } @@ -116,18 +116,17 @@ static int iss_read_packet(AVFormatContext *s, AVPacket *pkt) return AVERROR(EIO); pkt->stream_index = 0; - pkt->pts = url_ftell(s->pb) - iss->sample_start_pos; + pkt->pts = avio_tell(s->pb) - iss->sample_start_pos; if(s->streams[0]->codec->channels > 0) pkt->pts /= s->streams[0]->codec->channels*2; return 0; } AVInputFormat ff_iss_demuxer = { - "ISS", - NULL_IF_CONFIG_SMALL("Funcom ISS format"), - sizeof(IssDemuxContext), - iss_probe, - iss_read_header, - iss_read_packet, + .name = "iss", + .long_name = NULL_IF_CONFIG_SMALL("Funcom ISS"), + .priv_data_size = sizeof(IssDemuxContext), + .read_probe = iss_probe, + .read_header = iss_read_header, + .read_packet = iss_read_packet, }; -