X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fmsnwc_tcp.c;h=b6d30feb9d6d1c97f8bd6dc5d9693d716598314f;hb=6e9bbc6525989f7dc51acc76712c6ca674053b60;hp=2a11a572014f3e1d799f655237c6afac355942ee;hpb=e356fc57a2e9887370caec58d8aafeafd1f336dc;p=ffmpeg diff --git a/libavformat/msnwc_tcp.c b/libavformat/msnwc_tcp.c index 2a11a572014..b6d30feb9d6 100644 --- a/libavformat/msnwc_tcp.c +++ b/libavformat/msnwc_tcp.c @@ -1,25 +1,26 @@ /* - * Copyright (C) 2008 Ramiro Polla + * Copyright (C) 2008 Ramiro Polla * - * 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 */ #include "libavcodec/bytestream.h" #include "avformat.h" +#include "internal.h" #define HEADER_SIZE 24 @@ -69,28 +70,28 @@ static int msnwc_tcp_probe(AVProbeData *p) return -1; } -static int msnwc_tcp_read_header(AVFormatContext *ctx, AVFormatParameters *ap) +static int msnwc_tcp_read_header(AVFormatContext *ctx) { AVIOContext *pb = ctx->pb; AVCodecContext *codec; AVStream *st; - st = av_new_stream(ctx, 0); + st = avformat_new_stream(ctx, NULL); if(!st) return AVERROR(ENOMEM); codec = st->codec; codec->codec_type = AVMEDIA_TYPE_VIDEO; - codec->codec_id = CODEC_ID_MIMIC; + codec->codec_id = AV_CODEC_ID_MIMIC; codec->codec_tag = MKTAG('M', 'L', '2', '0'); - av_set_pts_info(st, 32, 1, 1000); + avpriv_set_pts_info(st, 32, 1, 1000); /* Some files start with "connected\r\n\r\n". * So skip until we find the first byte of struct size */ - while(avio_r8(pb) != HEADER_SIZE && !url_feof(pb)); + while(avio_r8(pb) != HEADER_SIZE && !pb->eof_reached); - if(url_feof(pb)) { + if(pb->eof_reached) { av_log(ctx, AV_LOG_ERROR, "Could not find valid start."); return -1; } @@ -104,19 +105,19 @@ static int msnwc_tcp_read_packet(AVFormatContext *ctx, AVPacket *pkt) uint16_t keyframe; uint32_t size, timestamp; - avio_seek(pb, 1, SEEK_CUR); /* one byte has been read ahead */ - avio_seek(pb, 2, SEEK_CUR); - avio_seek(pb, 2, SEEK_CUR); + avio_skip(pb, 1); /* one byte has been read ahead */ + avio_skip(pb, 2); + avio_skip(pb, 2); keyframe = avio_rl16(pb); size = avio_rl32(pb); - avio_seek(pb, 4, SEEK_CUR); - avio_seek(pb, 4, SEEK_CUR); + avio_skip(pb, 4); + avio_skip(pb, 4); timestamp = avio_rl32(pb); if(!size || av_get_packet(pb, pkt, size) != size) return -1; - avio_seek(pb, 1, SEEK_CUR); /* Read ahead one byte of struct size like read_header */ + avio_skip(pb, 1); /* Read ahead one byte of struct size like read_header */ pkt->pts = timestamp; pkt->dts = timestamp; @@ -131,10 +132,9 @@ static int msnwc_tcp_read_packet(AVFormatContext *ctx, AVPacket *pkt) } AVInputFormat ff_msnwc_tcp_demuxer = { - "msnwctcp", - NULL_IF_CONFIG_SMALL("MSN TCP Webcam stream"), - 0, - msnwc_tcp_probe, - msnwc_tcp_read_header, - msnwc_tcp_read_packet, + .name = "msnwctcp", + .long_name = NULL_IF_CONFIG_SMALL("MSN TCP Webcam stream"), + .read_probe = msnwc_tcp_probe, + .read_header = msnwc_tcp_read_header, + .read_packet = msnwc_tcp_read_packet, };