X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fjvdec.c;h=c42e302bdac3a5c367496f19512160288bc76fe3;hb=f9cf91d8224eb9081e50b6cee55423ccb0bf9e90;hp=8a81b119844899056a054cd7129fd230ac49547f;hpb=2912e87a6c9264d556734e2bf94a99c64cf9b102;p=ffmpeg diff --git a/libavformat/jvdec.c b/libavformat/jvdec.c index 8a81b119844..c42e302bdac 100644 --- a/libavformat/jvdec.c +++ b/libavformat/jvdec.c @@ -27,6 +27,7 @@ #include "libavutil/intreadwrite.h" #include "avformat.h" +#include "internal.h" #define JV_PREAMBLE_SIZE 5 @@ -57,8 +58,7 @@ static int read_probe(AVProbeData *pd) return 0; } -static int read_header(AVFormatContext *s, - AVFormatParameters *ap) +static int read_header(AVFormatContext *s) { JVDemuxContext *jv = s->priv_data; AVIOContext *pb = s->pb; @@ -69,28 +69,28 @@ static int read_header(AVFormatContext *s, avio_skip(pb, 80); - ast = av_new_stream(s, 0); - vst = av_new_stream(s, 1); + ast = avformat_new_stream(s, NULL); + vst = avformat_new_stream(s, NULL); if (!ast || !vst) return AVERROR(ENOMEM); - vst->codec->codec_type = CODEC_TYPE_VIDEO; + vst->codec->codec_type = AVMEDIA_TYPE_VIDEO; vst->codec->codec_id = CODEC_ID_JV; vst->codec->codec_tag = 0; /* no fourcc */ vst->codec->width = avio_rl16(pb); vst->codec->height = avio_rl16(pb); vst->nb_frames = ast->nb_index_entries = avio_rl16(pb); - av_set_pts_info(vst, 64, avio_rl16(pb), 1000); + avpriv_set_pts_info(vst, 64, avio_rl16(pb), 1000); avio_skip(pb, 4); - ast->codec->codec_type = CODEC_TYPE_AUDIO; + ast->codec->codec_type = AVMEDIA_TYPE_AUDIO; ast->codec->codec_id = CODEC_ID_PCM_U8; ast->codec->codec_tag = 0; /* no fourcc */ ast->codec->sample_rate = avio_rl16(pb); ast->codec->channels = 1; - av_set_pts_info(ast, 64, 1, ast->codec->sample_rate); + avpriv_set_pts_info(ast, 64, 1, ast->codec->sample_rate); avio_skip(pb, 10); @@ -151,7 +151,7 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt) return AVERROR(ENOMEM); pkt->stream_index = 0; pkt->pts = e->timestamp; - pkt->flags |= PKT_FLAG_KEY; + pkt->flags |= AV_PKT_FLAG_KEY; return 0; } case JV_VIDEO: @@ -170,7 +170,7 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt) pkt->stream_index = 1; pkt->pts = jv->pts; if (jvf->video_type != 1) - pkt->flags |= PKT_FLAG_KEY; + pkt->flags |= AV_PKT_FLAG_KEY; return 0; } case JV_PADDING: @@ -192,7 +192,7 @@ static int read_seek(AVFormatContext *s, int stream_index, int i; if (flags & (AVSEEK_FLAG_BYTE|AVSEEK_FLAG_FRAME)) - return AVERROR_NOTSUPP; + return AVERROR(ENOSYS); switch(stream_index) { case 0: @@ -207,10 +207,11 @@ static int read_seek(AVFormatContext *s, int stream_index, if (i < 0 || i >= ast->nb_index_entries) return 0; + if (avio_seek(s->pb, ast->index_entries[i].pos, SEEK_SET) < 0) + return -1; jv->state = JV_AUDIO; jv->pts = i; - avio_seek(s->pb, ast->index_entries[i].pos, SEEK_SET); return 0; }