Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit a2704c9712)
tags/n0.8
| @@ -1365,7 +1365,7 @@ static void print_report(AVFormatContext **output_files, | |||||
| total_size = url_fsize(oc->pb); | total_size = url_fsize(oc->pb); | ||||
| if(total_size<0) // FIXME improve url_fsize() so it works with non seekable output too | if(total_size<0) // FIXME improve url_fsize() so it works with non seekable output too | ||||
| total_size= url_ftell(oc->pb); | |||||
| total_size= avio_tell(oc->pb); | |||||
| buf[0] = '\0'; | buf[0] = '\0'; | ||||
| ti1 = 1e10; | ti1 = 1e10; | ||||
| @@ -2571,7 +2571,7 @@ static int transcode(AVFormatContext **output_files, | |||||
| } | } | ||||
| /* finish if limit size exhausted */ | /* finish if limit size exhausted */ | ||||
| if (limit_filesize != 0 && limit_filesize <= url_ftell(output_files[0]->pb)) | |||||
| if (limit_filesize != 0 && limit_filesize <= avio_tell(output_files[0]->pb)) | |||||
| break; | break; | ||||
| /* read a frame from it and output it in the fifo */ | /* read a frame from it and output it in the fifo */ | ||||
| @@ -2809,7 +2809,7 @@ static void event_loop(void) | |||||
| }else if(cur_stream->audio_stream >= 0 && cur_stream->audio_pkt.pos>=0){ | }else if(cur_stream->audio_stream >= 0 && cur_stream->audio_pkt.pos>=0){ | ||||
| pos= cur_stream->audio_pkt.pos; | pos= cur_stream->audio_pkt.pos; | ||||
| }else | }else | ||||
| pos = url_ftell(cur_stream->ic->pb); | |||||
| pos = avio_tell(cur_stream->ic->pb); | |||||
| if (cur_stream->ic->bit_rate) | if (cur_stream->ic->bit_rate) | ||||
| incr *= cur_stream->ic->bit_rate / 8.0; | incr *= cur_stream->ic->bit_rate / 8.0; | ||||
| else | else | ||||
| @@ -283,7 +283,7 @@ static int fourxm_read_packet(AVFormatContext *s, | |||||
| return AVERROR(EIO); | return AVERROR(EIO); | ||||
| pkt->stream_index = fourxm->video_stream_index; | pkt->stream_index = fourxm->video_stream_index; | ||||
| pkt->pts = fourxm->video_pts; | pkt->pts = fourxm->video_pts; | ||||
| pkt->pos = url_ftell(s->pb); | |||||
| pkt->pos = avio_tell(s->pb); | |||||
| memcpy(pkt->data, header, 8); | memcpy(pkt->data, header, 8); | ||||
| ret = avio_read(s->pb, &pkt->data[8], size); | ret = avio_read(s->pb, &pkt->data[8], size); | ||||
| @@ -232,10 +232,10 @@ static int aiff_read_header(AVFormatContext *s, | |||||
| get_meta(s, "comment" , size); | get_meta(s, "comment" , size); | ||||
| break; | break; | ||||
| case MKTAG('S', 'S', 'N', 'D'): /* Sampled sound chunk */ | case MKTAG('S', 'S', 'N', 'D'): /* Sampled sound chunk */ | ||||
| aiff->data_end = url_ftell(pb) + size; | |||||
| aiff->data_end = avio_tell(pb) + size; | |||||
| offset = avio_rb32(pb); /* Offset of sound data */ | offset = avio_rb32(pb); /* Offset of sound data */ | ||||
| avio_rb32(pb); /* BlockSize... don't care */ | avio_rb32(pb); /* BlockSize... don't care */ | ||||
| offset += url_ftell(pb); /* Compute absolute data offset */ | |||||
| offset += avio_tell(pb); /* Compute absolute data offset */ | |||||
| if (st->codec->block_align) /* Assume COMM already parsed */ | if (st->codec->block_align) /* Assume COMM already parsed */ | ||||
| goto got_sound; | goto got_sound; | ||||
| if (url_is_streamed(pb)) { | if (url_is_streamed(pb)) { | ||||
| @@ -292,7 +292,7 @@ static int aiff_read_packet(AVFormatContext *s, | |||||
| int res, size; | int res, size; | ||||
| /* calculate size of remaining data */ | /* calculate size of remaining data */ | ||||
| max_size = aiff->data_end - url_ftell(s->pb); | |||||
| max_size = aiff->data_end - avio_tell(s->pb); | |||||
| if (max_size <= 0) | if (max_size <= 0) | ||||
| return AVERROR_EOF; | return AVERROR_EOF; | ||||
| @@ -45,7 +45,7 @@ static int aiff_write_header(AVFormatContext *s) | |||||
| /* FORM AIFF header */ | /* FORM AIFF header */ | ||||
| ffio_wfourcc(pb, "FORM"); | ffio_wfourcc(pb, "FORM"); | ||||
| aiff->form = url_ftell(pb); | |||||
| aiff->form = avio_tell(pb); | |||||
| avio_wb32(pb, 0); /* file length */ | avio_wb32(pb, 0); /* file length */ | ||||
| ffio_wfourcc(pb, aifc ? "AIFC" : "AIFF"); | ffio_wfourcc(pb, aifc ? "AIFC" : "AIFF"); | ||||
| @@ -66,7 +66,7 @@ static int aiff_write_header(AVFormatContext *s) | |||||
| avio_wb32(pb, aifc ? 24 : 18); /* size */ | avio_wb32(pb, aifc ? 24 : 18); /* size */ | ||||
| avio_wb16(pb, enc->channels); /* Number of channels */ | avio_wb16(pb, enc->channels); /* Number of channels */ | ||||
| aiff->frames = url_ftell(pb); | |||||
| aiff->frames = avio_tell(pb); | |||||
| avio_wb32(pb, 0); /* Number of frames */ | avio_wb32(pb, 0); /* Number of frames */ | ||||
| if (!enc->bits_per_coded_sample) | if (!enc->bits_per_coded_sample) | ||||
| @@ -90,7 +90,7 @@ static int aiff_write_header(AVFormatContext *s) | |||||
| /* Sound data chunk */ | /* Sound data chunk */ | ||||
| ffio_wfourcc(pb, "SSND"); | ffio_wfourcc(pb, "SSND"); | ||||
| aiff->ssnd = url_ftell(pb); /* Sound chunk size */ | |||||
| aiff->ssnd = avio_tell(pb); /* Sound chunk size */ | |||||
| avio_wb32(pb, 0); /* Sound samples data size */ | avio_wb32(pb, 0); /* Sound samples data size */ | ||||
| avio_wb32(pb, 0); /* Data offset */ | avio_wb32(pb, 0); /* Data offset */ | ||||
| avio_wb32(pb, 0); /* Block-size (block align) */ | avio_wb32(pb, 0); /* Block-size (block align) */ | ||||
| @@ -118,7 +118,7 @@ static int aiff_write_trailer(AVFormatContext *s) | |||||
| /* Chunks sizes must be even */ | /* Chunks sizes must be even */ | ||||
| int64_t file_size, end_size; | int64_t file_size, end_size; | ||||
| end_size = file_size = url_ftell(pb); | |||||
| end_size = file_size = avio_tell(pb); | |||||
| if (file_size & 1) { | if (file_size & 1) { | ||||
| avio_w8(pb, 0); | avio_w8(pb, 0); | ||||
| end_size++; | end_size++; | ||||
| @@ -154,7 +154,7 @@ static int amr_read_packet(AVFormatContext *s, | |||||
| } | } | ||||
| pkt->stream_index = 0; | pkt->stream_index = 0; | ||||
| pkt->pos= url_ftell(s->pb); | |||||
| pkt->pos= avio_tell(s->pb); | |||||
| pkt->data[0]=toc; | pkt->data[0]=toc; | ||||
| pkt->duration= enc->codec_id == CODEC_ID_AMR_NB ? 160 : 320; | pkt->duration= enc->codec_id == CODEC_ID_AMR_NB ? 160 : 320; | ||||
| read = avio_read(s->pb, pkt->data+1, size-1); | read = avio_read(s->pb, pkt->data+1, size-1); | ||||
| @@ -208,7 +208,7 @@ repeat: | |||||
| } | } | ||||
| /* fetch record size */ | /* fetch record size */ | ||||
| tmp = url_ftell(pb); | |||||
| tmp = avio_tell(pb); | |||||
| avio_seek(pb, anm->page_table_offset + MAX_PAGES*6 + (anm->page<<16) + | avio_seek(pb, anm->page_table_offset + MAX_PAGES*6 + (anm->page<<16) + | ||||
| 8 + anm->record * 2, SEEK_SET); | 8 + anm->record * 2, SEEK_SET); | ||||
| record_size = avio_rl16(pb); | record_size = avio_rl16(pb); | ||||
| @@ -160,7 +160,7 @@ static int get_value(AVIOContext *pb, int type){ | |||||
| static void get_tag(AVFormatContext *s, const char *key, int type, int len) | static void get_tag(AVFormatContext *s, const char *key, int type, int len) | ||||
| { | { | ||||
| char *value; | char *value; | ||||
| int64_t off = url_ftell(s->pb); | |||||
| int64_t off = avio_tell(s->pb); | |||||
| if ((unsigned)len >= (UINT_MAX - 1)/2) | if ((unsigned)len >= (UINT_MAX - 1)/2) | ||||
| return; | return; | ||||
| @@ -225,7 +225,7 @@ static int asf_read_stream_properties(AVFormatContext *s, int64_t size) | |||||
| return AVERROR(EINVAL); | return AVERROR(EINVAL); | ||||
| } | } | ||||
| pos1 = url_ftell(pb); | |||||
| pos1 = avio_tell(pb); | |||||
| st = av_new_stream(s, 0); | st = av_new_stream(s, 0); | ||||
| if (!st) | if (!st) | ||||
| @@ -300,7 +300,7 @@ static int asf_read_stream_properties(AVFormatContext *s, int64_t size) | |||||
| st->need_parsing = AVSTREAM_PARSE_FULL; | st->need_parsing = AVSTREAM_PARSE_FULL; | ||||
| } | } | ||||
| /* We have to init the frame size at some point .... */ | /* We have to init the frame size at some point .... */ | ||||
| pos2 = url_ftell(pb); | |||||
| pos2 = avio_tell(pb); | |||||
| if (size >= (pos2 + 8 - pos1 + 24)) { | if (size >= (pos2 + 8 - pos1 + 24)) { | ||||
| asf_st->ds_span = avio_r8(pb); | asf_st->ds_span = avio_r8(pb); | ||||
| asf_st->ds_packet_size = avio_rl16(pb); | asf_st->ds_packet_size = avio_rl16(pb); | ||||
| @@ -337,7 +337,7 @@ static int asf_read_stream_properties(AVFormatContext *s, int64_t size) | |||||
| break; | break; | ||||
| } | } | ||||
| } else if (type == AVMEDIA_TYPE_VIDEO && | } else if (type == AVMEDIA_TYPE_VIDEO && | ||||
| size - (url_ftell(pb) - pos1 + 24) >= 51) { | |||||
| size - (avio_tell(pb) - pos1 + 24) >= 51) { | |||||
| avio_rl32(pb); | avio_rl32(pb); | ||||
| avio_rl32(pb); | avio_rl32(pb); | ||||
| avio_r8(pb); | avio_r8(pb); | ||||
| @@ -386,7 +386,7 @@ static int asf_read_stream_properties(AVFormatContext *s, int64_t size) | |||||
| if(st->codec->codec_id == CODEC_ID_H264) | if(st->codec->codec_id == CODEC_ID_H264) | ||||
| st->need_parsing = AVSTREAM_PARSE_FULL_ONCE; | st->need_parsing = AVSTREAM_PARSE_FULL_ONCE; | ||||
| } | } | ||||
| pos2 = url_ftell(pb); | |||||
| pos2 = avio_tell(pb); | |||||
| avio_seek(pb, size - (pos2 - pos1 + 24), SEEK_CUR); | avio_seek(pb, size - (pos2 - pos1 + 24), SEEK_CUR); | ||||
| return 0; | return 0; | ||||
| @@ -594,14 +594,14 @@ static int asf_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| avio_r8(pb); | avio_r8(pb); | ||||
| memset(&asf->asfid2avid, -1, sizeof(asf->asfid2avid)); | memset(&asf->asfid2avid, -1, sizeof(asf->asfid2avid)); | ||||
| for(;;) { | for(;;) { | ||||
| uint64_t gpos= url_ftell(pb); | |||||
| uint64_t gpos= avio_tell(pb); | |||||
| ff_get_guid(pb, &g); | ff_get_guid(pb, &g); | ||||
| gsize = avio_rl64(pb); | gsize = avio_rl64(pb); | ||||
| av_dlog(s, "%08"PRIx64": ", gpos); | av_dlog(s, "%08"PRIx64": ", gpos); | ||||
| print_guid(&g); | print_guid(&g); | ||||
| av_dlog(s, " size=0x%"PRIx64"\n", gsize); | av_dlog(s, " size=0x%"PRIx64"\n", gsize); | ||||
| if (!ff_guidcmp(&g, &ff_asf_data_header)) { | if (!ff_guidcmp(&g, &ff_asf_data_header)) { | ||||
| asf->data_object_offset = url_ftell(pb); | |||||
| asf->data_object_offset = avio_tell(pb); | |||||
| // if not streaming, gsize is not unlimited (how?), and there is enough space in the file.. | // if not streaming, gsize is not unlimited (how?), and there is enough space in the file.. | ||||
| if (!(asf->hdr.flags & 0x01) && gsize >= 100) { | if (!(asf->hdr.flags & 0x01) && gsize >= 100) { | ||||
| asf->data_object_size = gsize - 24; | asf->data_object_size = gsize - 24; | ||||
| @@ -651,8 +651,8 @@ static int asf_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| if(url_ftell(pb) != gpos + gsize) | |||||
| av_log(s, AV_LOG_DEBUG, "gpos mismatch our pos=%"PRIu64", end=%"PRIu64"\n", url_ftell(pb)-gpos, gsize); | |||||
| if(avio_tell(pb) != gpos + gsize) | |||||
| av_log(s, AV_LOG_DEBUG, "gpos mismatch our pos=%"PRIu64", end=%"PRIu64"\n", avio_tell(pb)-gpos, gsize); | |||||
| avio_seek(pb, gpos + gsize, SEEK_SET); | avio_seek(pb, gpos + gsize, SEEK_SET); | ||||
| } | } | ||||
| ff_get_guid(pb, &g); | ff_get_guid(pb, &g); | ||||
| @@ -661,7 +661,7 @@ static int asf_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| avio_r8(pb); | avio_r8(pb); | ||||
| if (url_feof(pb)) | if (url_feof(pb)) | ||||
| return -1; | return -1; | ||||
| asf->data_offset = url_ftell(pb); | |||||
| asf->data_offset = avio_tell(pb); | |||||
| asf->packet_size_left = 0; | asf->packet_size_left = 0; | ||||
| @@ -725,7 +725,7 @@ static int ff_asf_get_packet(AVFormatContext *s, AVIOContext *pb) | |||||
| // if we do not know packet size, allow skipping up to 32 kB | // if we do not know packet size, allow skipping up to 32 kB | ||||
| off= 32768; | off= 32768; | ||||
| if (s->packet_size > 0) | if (s->packet_size > 0) | ||||
| off= (url_ftell(pb) - s->data_offset) % s->packet_size + 3; | |||||
| off= (avio_tell(pb) - s->data_offset) % s->packet_size + 3; | |||||
| c=d=e=-1; | c=d=e=-1; | ||||
| while(off-- > 0){ | while(off-- > 0){ | ||||
| @@ -745,7 +745,7 @@ static int ff_asf_get_packet(AVFormatContext *s, AVIOContext *pb) | |||||
| if (url_ferror(pb) == AVERROR(EAGAIN)) | if (url_ferror(pb) == AVERROR(EAGAIN)) | ||||
| return AVERROR(EAGAIN); | return AVERROR(EAGAIN); | ||||
| if (!url_feof(pb)) | if (!url_feof(pb)) | ||||
| av_log(s, AV_LOG_ERROR, "ff asf bad header %x at:%"PRId64"\n", c, url_ftell(pb)); | |||||
| av_log(s, AV_LOG_ERROR, "ff asf bad header %x at:%"PRId64"\n", c, avio_tell(pb)); | |||||
| } | } | ||||
| if ((c & 0x8f) == 0x82) { | if ((c & 0x8f) == 0x82) { | ||||
| if (d || e) { | if (d || e) { | ||||
| @@ -769,11 +769,11 @@ static int ff_asf_get_packet(AVFormatContext *s, AVIOContext *pb) | |||||
| //the following checks prevent overflows and infinite loops | //the following checks prevent overflows and infinite loops | ||||
| if(!packet_length || packet_length >= (1U<<29)){ | if(!packet_length || packet_length >= (1U<<29)){ | ||||
| av_log(s, AV_LOG_ERROR, "invalid packet_length %d at:%"PRId64"\n", packet_length, url_ftell(pb)); | |||||
| av_log(s, AV_LOG_ERROR, "invalid packet_length %d at:%"PRId64"\n", packet_length, avio_tell(pb)); | |||||
| return -1; | return -1; | ||||
| } | } | ||||
| if(padsize >= packet_length){ | if(padsize >= packet_length){ | ||||
| av_log(s, AV_LOG_ERROR, "invalid padsize %d at:%"PRId64"\n", padsize, url_ftell(pb)); | |||||
| av_log(s, AV_LOG_ERROR, "invalid padsize %d at:%"PRId64"\n", padsize, avio_tell(pb)); | |||||
| return -1; | return -1; | ||||
| } | } | ||||
| @@ -891,12 +891,12 @@ static int ff_asf_parse_packet(AVFormatContext *s, AVIOContext *pb, AVPacket *pk | |||||
| || asf->packet_segments < 1) { | || asf->packet_segments < 1) { | ||||
| //asf->packet_size_left <= asf->packet_padsize) { | //asf->packet_size_left <= asf->packet_padsize) { | ||||
| int ret = asf->packet_size_left + asf->packet_padsize; | int ret = asf->packet_size_left + asf->packet_padsize; | ||||
| //printf("PacketLeftSize:%d Pad:%d Pos:%"PRId64"\n", asf->packet_size_left, asf->packet_padsize, url_ftell(pb)); | |||||
| //printf("PacketLeftSize:%d Pad:%d Pos:%"PRId64"\n", asf->packet_size_left, asf->packet_padsize, avio_tell(pb)); | |||||
| assert(ret>=0); | assert(ret>=0); | ||||
| /* fail safe */ | /* fail safe */ | ||||
| avio_seek(pb, ret, SEEK_CUR); | avio_seek(pb, ret, SEEK_CUR); | ||||
| asf->packet_pos= url_ftell(pb); | |||||
| asf->packet_pos= avio_tell(pb); | |||||
| if (asf->data_object_size != (uint64_t)-1 && | if (asf->data_object_size != (uint64_t)-1 && | ||||
| (asf->packet_pos - asf->data_object_offset >= asf->data_object_size)) | (asf->packet_pos - asf->data_object_offset >= asf->data_object_size)) | ||||
| return AVERROR_EOF; /* Do not exceed the size of the data object */ | return AVERROR_EOF; /* Do not exceed the size of the data object */ | ||||
| @@ -1184,7 +1184,7 @@ static void asf_build_simple_index(AVFormatContext *s, int stream_index) | |||||
| { | { | ||||
| ff_asf_guid g; | ff_asf_guid g; | ||||
| ASFContext *asf = s->priv_data; | ASFContext *asf = s->priv_data; | ||||
| int64_t current_pos= url_ftell(s->pb); | |||||
| int64_t current_pos= avio_tell(s->pb); | |||||
| int i; | int i; | ||||
| avio_seek(s->pb, asf->data_object_offset + asf->data_object_size, SEEK_SET); | avio_seek(s->pb, asf->data_object_offset + asf->data_object_size, SEEK_SET); | ||||
| @@ -1267,7 +1267,7 @@ static int asf_read_seek(AVFormatContext *s, int stream_index, int64_t pts, int | |||||
| // avio_seek(s->pb, pos, SEEK_SET); | // avio_seek(s->pb, pos, SEEK_SET); | ||||
| // key_pos = pos; | // key_pos = pos; | ||||
| // for(i=0;i<16;i++){ | // for(i=0;i<16;i++){ | ||||
| // pos = url_ftell(s->pb); | |||||
| // pos = avio_tell(s->pb); | |||||
| // if (av_read_frame(s, &pkt) < 0){ | // if (av_read_frame(s, &pkt) < 0){ | ||||
| // av_log(s, AV_LOG_INFO, "seek failed\n"); | // av_log(s, AV_LOG_INFO, "seek failed\n"); | ||||
| // return -1; | // return -1; | ||||
| @@ -248,7 +248,7 @@ static int64_t put_header(AVIOContext *pb, const ff_asf_guid *g) | |||||
| { | { | ||||
| int64_t pos; | int64_t pos; | ||||
| pos = url_ftell(pb); | |||||
| pos = avio_tell(pb); | |||||
| put_guid(pb, g); | put_guid(pb, g); | ||||
| avio_wl64(pb, 24); | avio_wl64(pb, 24); | ||||
| return pos; | return pos; | ||||
| @@ -259,7 +259,7 @@ static void end_header(AVIOContext *pb, int64_t pos) | |||||
| { | { | ||||
| int64_t pos1; | int64_t pos1; | ||||
| pos1 = url_ftell(pb); | |||||
| pos1 = avio_tell(pb); | |||||
| avio_seek(pb, pos + 16, SEEK_SET); | avio_seek(pb, pos + 16, SEEK_SET); | ||||
| avio_wl64(pb, pos1 - pos); | avio_wl64(pb, pos1 - pos); | ||||
| avio_seek(pb, pos1, SEEK_SET); | avio_seek(pb, pos1, SEEK_SET); | ||||
| @@ -337,7 +337,7 @@ static int asf_write_header1(AVFormatContext *s, int64_t file_size, int64_t data | |||||
| avio_w8(pb, 2); /* ??? */ | avio_w8(pb, 2); /* ??? */ | ||||
| /* file header */ | /* file header */ | ||||
| header_offset = url_ftell(pb); | |||||
| header_offset = avio_tell(pb); | |||||
| hpos = put_header(pb, &ff_asf_file_header); | hpos = put_header(pb, &ff_asf_file_header); | ||||
| put_guid(pb, &ff_asf_my_guid); | put_guid(pb, &ff_asf_my_guid); | ||||
| avio_wl64(pb, file_size); | avio_wl64(pb, file_size); | ||||
| @@ -425,7 +425,7 @@ static int asf_write_header1(AVFormatContext *s, int64_t file_size, int64_t data | |||||
| put_guid(pb, &ff_asf_video_conceal_none); | put_guid(pb, &ff_asf_video_conceal_none); | ||||
| } | } | ||||
| avio_wl64(pb, 0); /* ??? */ | avio_wl64(pb, 0); /* ??? */ | ||||
| es_pos = url_ftell(pb); | |||||
| es_pos = avio_tell(pb); | |||||
| avio_wl32(pb, extra_size); /* wav header len */ | avio_wl32(pb, extra_size); /* wav header len */ | ||||
| avio_wl32(pb, extra_size2); /* additional data len */ | avio_wl32(pb, extra_size2); /* additional data len */ | ||||
| avio_wl16(pb, n + 1); /* stream number */ | avio_wl16(pb, n + 1); /* stream number */ | ||||
| @@ -442,7 +442,7 @@ static int asf_write_header1(AVFormatContext *s, int64_t file_size, int64_t data | |||||
| if (wavsize < 0) | if (wavsize < 0) | ||||
| return -1; | return -1; | ||||
| if (wavsize != extra_size) { | if (wavsize != extra_size) { | ||||
| cur_pos = url_ftell(pb); | |||||
| cur_pos = avio_tell(pb); | |||||
| avio_seek(pb, es_pos, SEEK_SET); | avio_seek(pb, es_pos, SEEK_SET); | ||||
| avio_wl32(pb, wavsize); /* wav header len */ | avio_wl32(pb, wavsize); /* wav header len */ | ||||
| avio_seek(pb, cur_pos, SEEK_SET); | avio_seek(pb, cur_pos, SEEK_SET); | ||||
| @@ -525,7 +525,7 @@ static int asf_write_header1(AVFormatContext *s, int64_t file_size, int64_t data | |||||
| /* patch the header size fields */ | /* patch the header size fields */ | ||||
| cur_pos = url_ftell(pb); | |||||
| cur_pos = avio_tell(pb); | |||||
| header_size = cur_pos - header_offset; | header_size = cur_pos - header_offset; | ||||
| if (asf->is_streamed) { | if (asf->is_streamed) { | ||||
| header_size += 8 + 30 + 50; | header_size += 8 + 30 + 50; | ||||
| @@ -605,7 +605,7 @@ static int put_payload_parsing_info( | |||||
| ASFContext *asf = s->priv_data; | ASFContext *asf = s->priv_data; | ||||
| AVIOContext *pb = s->pb; | AVIOContext *pb = s->pb; | ||||
| int ppi_size, i; | int ppi_size, i; | ||||
| int64_t start= url_ftell(pb); | |||||
| int64_t start= avio_tell(pb); | |||||
| int iLengthTypeFlags = ASF_PPI_LENGTH_TYPE_FLAGS; | int iLengthTypeFlags = ASF_PPI_LENGTH_TYPE_FLAGS; | ||||
| @@ -642,7 +642,7 @@ static int put_payload_parsing_info( | |||||
| if (asf->multi_payloads_present) | if (asf->multi_payloads_present) | ||||
| avio_w8(pb, nb_payloads | ASF_PAYLOAD_FLAGS); | avio_w8(pb, nb_payloads | ASF_PAYLOAD_FLAGS); | ||||
| ppi_size = url_ftell(pb) - start; | |||||
| ppi_size = avio_tell(pb) - start; | |||||
| return ppi_size; | return ppi_size; | ||||
| } | } | ||||
| @@ -860,7 +860,7 @@ static int asf_write_trailer(AVFormatContext *s) | |||||
| flush_packet(s); | flush_packet(s); | ||||
| /* write index */ | /* write index */ | ||||
| data_size = url_ftell(s->pb); | |||||
| data_size = avio_tell(s->pb); | |||||
| if ((!asf->is_streamed) && (asf->nb_index_count != 0)) { | if ((!asf->is_streamed) && (asf->nb_index_count != 0)) { | ||||
| asf_write_index(s, asf->index_ptr, asf->maximum_packet, asf->nb_index_count); | asf_write_index(s, asf->index_ptr, asf->maximum_packet, asf->nb_index_count); | ||||
| } | } | ||||
| @@ -870,7 +870,7 @@ static int asf_write_trailer(AVFormatContext *s) | |||||
| put_chunk(s, 0x4524, 0, 0); /* end of stream */ | put_chunk(s, 0x4524, 0, 0); /* end of stream */ | ||||
| } else { | } else { | ||||
| /* rewrite an updated header */ | /* rewrite an updated header */ | ||||
| file_size = url_ftell(s->pb); | |||||
| file_size = avio_tell(s->pb); | |||||
| avio_seek(s->pb, 0, SEEK_SET); | avio_seek(s->pb, 0, SEEK_SET); | ||||
| asf_write_header1(s, file_size, data_size - asf->data_offset); | asf_write_header1(s, file_size, data_size - asf->data_offset); | ||||
| } | } | ||||
| @@ -94,7 +94,7 @@ static int au_write_trailer(AVFormatContext *s) | |||||
| if (!url_is_streamed(s->pb)) { | if (!url_is_streamed(s->pb)) { | ||||
| /* update file size */ | /* update file size */ | ||||
| file_size = url_ftell(pb); | |||||
| file_size = avio_tell(pb); | |||||
| avio_seek(pb, 8, SEEK_SET); | avio_seek(pb, 8, SEEK_SET); | ||||
| avio_wb32(pb, (uint32_t)(file_size - 24)); | avio_wb32(pb, (uint32_t)(file_size - 24)); | ||||
| avio_seek(pb, file_size, SEEK_SET); | avio_seek(pb, file_size, SEEK_SET); | ||||
| @@ -109,7 +109,7 @@ static int get_riff(AVFormatContext *s, AVIOContext *pb) | |||||
| /* check RIFF header */ | /* check RIFF header */ | ||||
| avio_read(pb, header, 4); | avio_read(pb, header, 4); | ||||
| avi->riff_end = avio_rl32(pb); /* RIFF chunk size */ | avi->riff_end = avio_rl32(pb); /* RIFF chunk size */ | ||||
| avi->riff_end += url_ftell(pb); /* RIFF chunk end */ | |||||
| avi->riff_end += avio_tell(pb); /* RIFF chunk end */ | |||||
| avio_read(pb, header+4, 4); | avio_read(pb, header+4, 4); | ||||
| for(i=0; avi_headers[i][0]; i++) | for(i=0; avi_headers[i][0]; i++) | ||||
| @@ -198,7 +198,7 @@ static int read_braindead_odml_indx(AVFormatContext *s, int frame_num){ | |||||
| if(url_feof(pb)) | if(url_feof(pb)) | ||||
| return -1; | return -1; | ||||
| pos = url_ftell(pb); | |||||
| pos = avio_tell(pb); | |||||
| if(avi->odml_depth > MAX_ODML_DEPTH){ | if(avi->odml_depth > MAX_ODML_DEPTH){ | ||||
| av_log(s, AV_LOG_ERROR, "Too deeply nested ODML indexes\n"); | av_log(s, AV_LOG_ERROR, "Too deeply nested ODML indexes\n"); | ||||
| @@ -267,7 +267,7 @@ static int avi_read_tag(AVFormatContext *s, AVStream *st, uint32_t tag, uint32_t | |||||
| static void avi_read_info(AVFormatContext *s, uint64_t end) | static void avi_read_info(AVFormatContext *s, uint64_t end) | ||||
| { | { | ||||
| while (url_ftell(s->pb) < end) { | |||||
| while (avio_tell(s->pb) < end) { | |||||
| uint32_t tag = avio_rl32(s->pb); | uint32_t tag = avio_rl32(s->pb); | ||||
| uint32_t size = avio_rl32(s->pb); | uint32_t size = avio_rl32(s->pb); | ||||
| avi_read_tag(s, NULL, tag, size); | avi_read_tag(s, NULL, tag, size); | ||||
| @@ -298,13 +298,13 @@ static void avi_metadata_creation_time(AVMetadata **metadata, char *date) | |||||
| static void avi_read_nikon(AVFormatContext *s, uint64_t end) | static void avi_read_nikon(AVFormatContext *s, uint64_t end) | ||||
| { | { | ||||
| while (url_ftell(s->pb) < end) { | |||||
| while (avio_tell(s->pb) < end) { | |||||
| uint32_t tag = avio_rl32(s->pb); | uint32_t tag = avio_rl32(s->pb); | ||||
| uint32_t size = avio_rl32(s->pb); | uint32_t size = avio_rl32(s->pb); | ||||
| switch (tag) { | switch (tag) { | ||||
| case MKTAG('n', 'c', 't', 'g'): { /* Nikon Tags */ | case MKTAG('n', 'c', 't', 'g'): { /* Nikon Tags */ | ||||
| uint64_t tag_end = url_ftell(s->pb) + size; | |||||
| while (url_ftell(s->pb) < tag_end) { | |||||
| uint64_t tag_end = avio_tell(s->pb) + size; | |||||
| while (avio_tell(s->pb) < tag_end) { | |||||
| uint16_t tag = avio_rl16(s->pb); | uint16_t tag = avio_rl16(s->pb); | ||||
| uint16_t size = avio_rl16(s->pb); | uint16_t size = avio_rl16(s->pb); | ||||
| const char *name = NULL; | const char *name = NULL; | ||||
| @@ -369,14 +369,14 @@ static int avi_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| switch(tag) { | switch(tag) { | ||||
| case MKTAG('L', 'I', 'S', 'T'): | case MKTAG('L', 'I', 'S', 'T'): | ||||
| list_end = url_ftell(pb) + size; | |||||
| list_end = avio_tell(pb) + size; | |||||
| /* Ignored, except at start of video packets. */ | /* Ignored, except at start of video packets. */ | ||||
| tag1 = avio_rl32(pb); | tag1 = avio_rl32(pb); | ||||
| print_tag("list", tag1, 0); | print_tag("list", tag1, 0); | ||||
| if (tag1 == MKTAG('m', 'o', 'v', 'i')) { | if (tag1 == MKTAG('m', 'o', 'v', 'i')) { | ||||
| avi->movi_list = url_ftell(pb) - 4; | |||||
| avi->movi_list = avio_tell(pb) - 4; | |||||
| if(size) avi->movi_end = avi->movi_list + size + (size & 1); | if(size) avi->movi_end = avi->movi_list + size + (size & 1); | ||||
| else avi->movi_end = url_fsize(pb); | else avi->movi_end = url_fsize(pb); | ||||
| av_dlog(NULL, "movi end=%"PRIx64"\n", avi->movi_end); | av_dlog(NULL, "movi end=%"PRIx64"\n", avi->movi_end); | ||||
| @@ -549,7 +549,7 @@ static int avi_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| if (stream_index >= (unsigned)s->nb_streams || avi->dv_demux) { | if (stream_index >= (unsigned)s->nb_streams || avi->dv_demux) { | ||||
| avio_seek(pb, size, SEEK_CUR); | avio_seek(pb, size, SEEK_CUR); | ||||
| } else { | } else { | ||||
| uint64_t cur_pos = url_ftell(pb); | |||||
| uint64_t cur_pos = avio_tell(pb); | |||||
| if (cur_pos < list_end) | if (cur_pos < list_end) | ||||
| size = FFMIN(size, list_end - cur_pos); | size = FFMIN(size, list_end - cur_pos); | ||||
| st = s->streams[stream_index]; | st = s->streams[stream_index]; | ||||
| @@ -664,7 +664,7 @@ static int avi_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| } | } | ||||
| break; | break; | ||||
| case MKTAG('i', 'n', 'd', 'x'): | case MKTAG('i', 'n', 'd', 'x'): | ||||
| i= url_ftell(pb); | |||||
| i= avio_tell(pb); | |||||
| if(!url_is_streamed(pb) && !(s->flags & AVFMT_FLAG_IGNIDX)){ | if(!url_is_streamed(pb) && !(s->flags & AVFMT_FLAG_IGNIDX)){ | ||||
| read_braindead_odml_indx(s, 0); | read_braindead_odml_indx(s, 0); | ||||
| } | } | ||||
| @@ -704,7 +704,7 @@ static int avi_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| if(size > 1000000){ | if(size > 1000000){ | ||||
| av_log(s, AV_LOG_ERROR, "Something went wrong during header parsing, " | av_log(s, AV_LOG_ERROR, "Something went wrong during header parsing, " | ||||
| "I will ignore it and try to continue anyway.\n"); | "I will ignore it and try to continue anyway.\n"); | ||||
| avi->movi_list = url_ftell(pb) - 4; | |||||
| avi->movi_list = avio_tell(pb) - 4; | |||||
| avi->movi_end = url_fsize(pb); | avi->movi_end = url_fsize(pb); | ||||
| goto end_of_header; | goto end_of_header; | ||||
| } | } | ||||
| @@ -923,7 +923,7 @@ resync: | |||||
| if(size > ast->remaining) | if(size > ast->remaining) | ||||
| size= ast->remaining; | size= ast->remaining; | ||||
| avi->last_pkt_pos= url_ftell(pb); | |||||
| avi->last_pkt_pos= avio_tell(pb); | |||||
| err= av_get_packet(pb, pkt, size); | err= av_get_packet(pb, pkt, size); | ||||
| if(err<0) | if(err<0) | ||||
| return err; | return err; | ||||
| @@ -989,7 +989,7 @@ resync: | |||||
| } | } | ||||
| memset(d, -1, sizeof(int)*8); | memset(d, -1, sizeof(int)*8); | ||||
| for(i=sync=url_ftell(pb); !url_feof(pb); i++) { | |||||
| for(i=sync=avio_tell(pb); !url_feof(pb); i++) { | |||||
| int j; | int j; | ||||
| for(j=0; j<7; j++) | for(j=0; j<7; j++) | ||||
| @@ -1092,7 +1092,7 @@ resync: | |||||
| ast->remaining= size; | ast->remaining= size; | ||||
| if(size || !ast->sample_size){ | if(size || !ast->sample_size){ | ||||
| uint64_t pos= url_ftell(pb) - 8; | |||||
| uint64_t pos= avio_tell(pb) - 8; | |||||
| if(!st->index_entries || !st->nb_index_entries || st->index_entries[st->nb_index_entries - 1].pos < pos){ | if(!st->index_entries || !st->nb_index_entries || st->index_entries[st->nb_index_entries - 1].pos < pos){ | ||||
| av_add_index_entry(st, pos, ast->frame_offset, size, 0, AVINDEX_KEYFRAME); | av_add_index_entry(st, pos, ast->frame_offset, size, 0, AVINDEX_KEYFRAME); | ||||
| } | } | ||||
| @@ -1162,7 +1162,7 @@ static int guess_ni_flag(AVFormatContext *s){ | |||||
| int i; | int i; | ||||
| int64_t last_start=0; | int64_t last_start=0; | ||||
| int64_t first_end= INT64_MAX; | int64_t first_end= INT64_MAX; | ||||
| int64_t oldpos= url_ftell(s->pb); | |||||
| int64_t oldpos= avio_tell(s->pb); | |||||
| for(i=0; i<s->nb_streams; i++){ | for(i=0; i<s->nb_streams; i++){ | ||||
| AVStream *st = s->streams[i]; | AVStream *st = s->streams[i]; | ||||
| @@ -1194,7 +1194,7 @@ static int avi_load_index(AVFormatContext *s) | |||||
| AVIContext *avi = s->priv_data; | AVIContext *avi = s->priv_data; | ||||
| AVIOContext *pb = s->pb; | AVIOContext *pb = s->pb; | ||||
| uint32_t tag, size; | uint32_t tag, size; | ||||
| int64_t pos= url_ftell(pb); | |||||
| int64_t pos= avio_tell(pb); | |||||
| int ret = -1; | int ret = -1; | ||||
| if (avio_seek(pb, avi->movi_end, SEEK_SET) < 0) | if (avio_seek(pb, avi->movi_end, SEEK_SET) < 0) | ||||
| @@ -124,7 +124,7 @@ static int avi_write_counters(AVFormatContext* s, int riff_id) | |||||
| int64_t file_size; | int64_t file_size; | ||||
| AVCodecContext* stream; | AVCodecContext* stream; | ||||
| file_size = url_ftell(pb); | |||||
| file_size = avio_tell(pb); | |||||
| for(n = 0; n < s->nb_streams; n++) { | for(n = 0; n < s->nb_streams; n++) { | ||||
| AVIStream *avist= s->streams[n]->priv_data; | AVIStream *avist= s->streams[n]->priv_data; | ||||
| @@ -201,7 +201,7 @@ static int avi_write_header(AVFormatContext *s) | |||||
| avio_wl32(pb, AVIF_TRUSTCKTYPE | AVIF_ISINTERLEAVED); /* flags */ | avio_wl32(pb, AVIF_TRUSTCKTYPE | AVIF_ISINTERLEAVED); /* flags */ | ||||
| else | else | ||||
| avio_wl32(pb, AVIF_TRUSTCKTYPE | AVIF_HASINDEX | AVIF_ISINTERLEAVED); /* flags */ | avio_wl32(pb, AVIF_TRUSTCKTYPE | AVIF_HASINDEX | AVIF_ISINTERLEAVED); /* flags */ | ||||
| avi->frames_hdr_all = url_ftell(pb); /* remember this offset to fill later */ | |||||
| avi->frames_hdr_all = avio_tell(pb); /* remember this offset to fill later */ | |||||
| avio_wl32(pb, nb_frames); /* nb frames, filled later */ | avio_wl32(pb, nb_frames); /* nb frames, filled later */ | ||||
| avio_wl32(pb, 0); /* initial frame */ | avio_wl32(pb, 0); /* initial frame */ | ||||
| avio_wl32(pb, s->nb_streams); /* nb streams */ | avio_wl32(pb, s->nb_streams); /* nb streams */ | ||||
| @@ -258,7 +258,7 @@ static int avi_write_header(AVFormatContext *s) | |||||
| av_set_pts_info(s->streams[i], 64, au_scale, au_byterate); | av_set_pts_info(s->streams[i], 64, au_scale, au_byterate); | ||||
| avio_wl32(pb, 0); /* start */ | avio_wl32(pb, 0); /* start */ | ||||
| avist->frames_hdr_strm = url_ftell(pb); /* remember this offset to fill later */ | |||||
| avist->frames_hdr_strm = avio_tell(pb); /* remember this offset to fill later */ | |||||
| if (url_is_streamed(pb)) | if (url_is_streamed(pb)) | ||||
| avio_wl32(pb, AVI_MAX_RIFF_SIZE); /* FIXME: this may be broken, but who cares */ | avio_wl32(pb, AVI_MAX_RIFF_SIZE); /* FIXME: this may be broken, but who cares */ | ||||
| else | else | ||||
| @@ -419,7 +419,7 @@ static int avi_write_ix(AVFormatContext *s) | |||||
| ix_tag[3] = '0' + i; | ix_tag[3] = '0' + i; | ||||
| /* Writing AVI OpenDML leaf index chunk */ | /* Writing AVI OpenDML leaf index chunk */ | ||||
| ix = url_ftell(pb); | |||||
| ix = avio_tell(pb); | |||||
| ffio_wfourcc(pb, ix_tag); /* ix?? */ | ffio_wfourcc(pb, ix_tag); /* ix?? */ | ||||
| avio_wl32(pb, avist->indexes.entry * 8 + 24); | avio_wl32(pb, avist->indexes.entry * 8 + 24); | ||||
| /* chunk size */ | /* chunk size */ | ||||
| @@ -439,7 +439,7 @@ static int avi_write_ix(AVFormatContext *s) | |||||
| (ie->flags & 0x10 ? 0 : 0x80000000)); | (ie->flags & 0x10 ? 0 : 0x80000000)); | ||||
| } | } | ||||
| put_flush_packet(pb); | put_flush_packet(pb); | ||||
| pos = url_ftell(pb); | |||||
| pos = avio_tell(pb); | |||||
| /* Updating one entry in the AVI OpenDML master index */ | /* Updating one entry in the AVI OpenDML master index */ | ||||
| avio_seek(pb, avist->indexes.indx_start - 8, SEEK_SET); | avio_seek(pb, avist->indexes.indx_start - 8, SEEK_SET); | ||||
| @@ -533,7 +533,7 @@ static int avi_write_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| // Make sure to put an OpenDML chunk when the file size exceeds the limits | // Make sure to put an OpenDML chunk when the file size exceeds the limits | ||||
| if (!url_is_streamed(pb) && | if (!url_is_streamed(pb) && | ||||
| (url_ftell(pb) - avi->riff_start > AVI_MAX_RIFF_SIZE)) { | |||||
| (avio_tell(pb) - avi->riff_start > AVI_MAX_RIFF_SIZE)) { | |||||
| avi_write_ix(s); | avi_write_ix(s); | ||||
| ff_end_tag(pb, avi->movi_list); | ff_end_tag(pb, avi->movi_list); | ||||
| @@ -567,7 +567,7 @@ static int avi_write_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| } | } | ||||
| idx->cluster[cl][id].flags = flags; | idx->cluster[cl][id].flags = flags; | ||||
| idx->cluster[cl][id].pos = url_ftell(pb) - avi->movi_list; | |||||
| idx->cluster[cl][id].pos = avio_tell(pb) - avi->movi_list; | |||||
| idx->cluster[cl][id].len = size; | idx->cluster[cl][id].len = size; | ||||
| idx->entry++; | idx->entry++; | ||||
| } | } | ||||
| @@ -600,7 +600,7 @@ static int avi_write_trailer(AVFormatContext *s) | |||||
| ff_end_tag(pb, avi->movi_list); | ff_end_tag(pb, avi->movi_list); | ||||
| ff_end_tag(pb, avi->riff_start); | ff_end_tag(pb, avi->riff_start); | ||||
| file_size = url_ftell(pb); | |||||
| file_size = avio_tell(pb); | |||||
| avio_seek(pb, avi->odml_list - 8, SEEK_SET); | avio_seek(pb, avi->odml_list - 8, SEEK_SET); | ||||
| ffio_wfourcc(pb, "LIST"); /* Making this AVI OpenDML one */ | ffio_wfourcc(pb, "LIST"); /* Making this AVI OpenDML one */ | ||||
| avio_seek(pb, 16, SEEK_CUR); | avio_seek(pb, 16, SEEK_CUR); | ||||
| @@ -422,6 +422,7 @@ attribute_deprecated int url_fopen( AVIOContext **s, const char *url, int flags) | |||||
| attribute_deprecated int url_fclose(AVIOContext *s); | attribute_deprecated int url_fclose(AVIOContext *s); | ||||
| attribute_deprecated int64_t url_fseek(AVIOContext *s, int64_t offset, int whence); | attribute_deprecated int64_t url_fseek(AVIOContext *s, int64_t offset, int whence); | ||||
| attribute_deprecated int url_fskip(AVIOContext *s, int64_t offset); | attribute_deprecated int url_fskip(AVIOContext *s, int64_t offset); | ||||
| attribute_deprecated int64_t url_ftell(AVIOContext *s); | |||||
| /** | /** | ||||
| * @} | * @} | ||||
| */ | */ | ||||
| @@ -473,7 +474,7 @@ int64_t avio_seek(AVIOContext *s, int64_t offset, int whence); | |||||
| * ftell() equivalent for AVIOContext. | * ftell() equivalent for AVIOContext. | ||||
| * @return position or AVERROR. | * @return position or AVERROR. | ||||
| */ | */ | ||||
| int64_t url_ftell(AVIOContext *s); | |||||
| #define avio_tell(s) avio_seek((s), 0, SEEK_CUR) | |||||
| /** | /** | ||||
| * Get the filesize. | * Get the filesize. | ||||
| @@ -239,12 +239,12 @@ int url_fskip(AVIOContext *s, int64_t offset) | |||||
| int64_t ret = avio_seek(s, offset, SEEK_CUR); | int64_t ret = avio_seek(s, offset, SEEK_CUR); | ||||
| return ret < 0 ? ret : 0; | return ret < 0 ? ret : 0; | ||||
| } | } | ||||
| #endif | |||||
| int64_t url_ftell(AVIOContext *s) | int64_t url_ftell(AVIOContext *s) | ||||
| { | { | ||||
| return avio_seek(s, 0, SEEK_CUR); | return avio_seek(s, 0, SEEK_CUR); | ||||
| } | } | ||||
| #endif | |||||
| int64_t url_fsize(AVIOContext *s) | int64_t url_fsize(AVIOContext *s) | ||||
| { | { | ||||
| @@ -123,9 +123,9 @@ static int avs_read_audio_packet(AVFormatContext * s, AVPacket * pkt) | |||||
| AvsFormat *avs = s->priv_data; | AvsFormat *avs = s->priv_data; | ||||
| int ret, size; | int ret, size; | ||||
| size = url_ftell(s->pb); | |||||
| size = avio_tell(s->pb); | |||||
| ret = voc_get_packet(s, pkt, avs->st_audio, avs->remaining_audio_size); | ret = voc_get_packet(s, pkt, avs->st_audio, avs->remaining_audio_size); | ||||
| size = url_ftell(s->pb) - size; | |||||
| size = avio_tell(s->pb) - size; | |||||
| avs->remaining_audio_size -= size; | avs->remaining_audio_size -= size; | ||||
| if (ret == AVERROR(EIO)) | if (ret == AVERROR(EIO)) | ||||
| @@ -112,7 +112,7 @@ static int read_frame(BVID_DemuxContext *vid, AVIOContext *pb, AVPacket *pkt, | |||||
| return AVERROR(ENOMEM); | return AVERROR(ENOMEM); | ||||
| // save the file position for the packet, include block type | // save the file position for the packet, include block type | ||||
| position = url_ftell(pb) - 1; | |||||
| position = avio_tell(pb) - 1; | |||||
| vidbuf_start[vidbuf_nbytes++] = block_type; | vidbuf_start[vidbuf_nbytes++] = block_type; | ||||
| @@ -106,9 +106,9 @@ static int read_kuki_chunk(AVFormatContext *s, int64_t size) | |||||
| int strt, skip; | int strt, skip; | ||||
| MOVAtom atom; | MOVAtom atom; | ||||
| strt = url_ftell(pb); | |||||
| strt = avio_tell(pb); | |||||
| ff_mov_read_esds(s, pb, atom); | ff_mov_read_esds(s, pb, atom); | ||||
| skip = size - (url_ftell(pb) - strt); | |||||
| skip = size - (avio_tell(pb) - strt); | |||||
| if (skip < 0 || !st->codec->extradata || | if (skip < 0 || !st->codec->extradata || | ||||
| st->codec->codec_id != CODEC_ID_AAC) { | st->codec->codec_id != CODEC_ID_AAC) { | ||||
| av_log(s, AV_LOG_ERROR, "invalid AAC magic cookie\n"); | av_log(s, AV_LOG_ERROR, "invalid AAC magic cookie\n"); | ||||
| @@ -150,7 +150,7 @@ static int read_pakt_chunk(AVFormatContext *s, int64_t size) | |||||
| int64_t pos = 0, ccount; | int64_t pos = 0, ccount; | ||||
| int num_packets, i; | int num_packets, i; | ||||
| ccount = url_ftell(pb); | |||||
| ccount = avio_tell(pb); | |||||
| num_packets = avio_rb64(pb); | num_packets = avio_rb64(pb); | ||||
| if (num_packets < 0 || INT32_MAX / sizeof(AVIndexEntry) < num_packets) | if (num_packets < 0 || INT32_MAX / sizeof(AVIndexEntry) < num_packets) | ||||
| @@ -167,7 +167,7 @@ static int read_pakt_chunk(AVFormatContext *s, int64_t size) | |||||
| st->duration += caf->frames_per_packet ? caf->frames_per_packet : ff_mp4_read_descr_len(pb); | st->duration += caf->frames_per_packet ? caf->frames_per_packet : ff_mp4_read_descr_len(pb); | ||||
| } | } | ||||
| if (url_ftell(pb) - ccount != size) { | |||||
| if (avio_tell(pb) - ccount != size) { | |||||
| av_log(s, AV_LOG_ERROR, "error reading packet table\n"); | av_log(s, AV_LOG_ERROR, "error reading packet table\n"); | ||||
| return -1; | return -1; | ||||
| } | } | ||||
| @@ -234,7 +234,7 @@ static int read_header(AVFormatContext *s, | |||||
| switch (tag) { | switch (tag) { | ||||
| case MKBETAG('d','a','t','a'): | case MKBETAG('d','a','t','a'): | ||||
| avio_seek(pb, 4, SEEK_CUR); /* edit count */ | avio_seek(pb, 4, SEEK_CUR); /* edit count */ | ||||
| caf->data_start = url_ftell(pb); | |||||
| caf->data_start = avio_tell(pb); | |||||
| caf->data_size = size < 0 ? -1 : size - 4; | caf->data_size = size < 0 ? -1 : size - 4; | ||||
| if (caf->data_size > 0 && !url_is_streamed(pb)) | if (caf->data_size > 0 && !url_is_streamed(pb)) | ||||
| avio_seek(pb, caf->data_size, SEEK_CUR); | avio_seek(pb, caf->data_size, SEEK_CUR); | ||||
| @@ -312,7 +312,7 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| /* don't read past end of data chunk */ | /* don't read past end of data chunk */ | ||||
| if (caf->data_size > 0) { | if (caf->data_size > 0) { | ||||
| left = (caf->data_start + caf->data_size) - url_ftell(pb); | |||||
| left = (caf->data_start + caf->data_size) - avio_tell(pb); | |||||
| if (left <= 0) | if (left <= 0) | ||||
| return AVERROR(EIO); | return AVERROR(EIO); | ||||
| } | } | ||||
| @@ -417,8 +417,8 @@ static int dv_read_header(AVFormatContext *s, | |||||
| return -1; | return -1; | ||||
| } | } | ||||
| if (state == 0x003f0700 || state == 0xff3f0700) | if (state == 0x003f0700 || state == 0xff3f0700) | ||||
| marker_pos = url_ftell(s->pb); | |||||
| if (state == 0xff3f0701 && url_ftell(s->pb) - marker_pos == 80) { | |||||
| marker_pos = avio_tell(s->pb); | |||||
| if (state == 0xff3f0701 && avio_tell(s->pb) - marker_pos == 80) { | |||||
| avio_seek(s->pb, -163, SEEK_CUR); | avio_seek(s->pb, -163, SEEK_CUR); | ||||
| state = avio_rb32(s->pb); | state = avio_rb32(s->pb); | ||||
| break; | break; | ||||
| @@ -95,7 +95,7 @@ static int dxa_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| uint32_t size, fsize; | uint32_t size, fsize; | ||||
| c->has_sound = 1; | c->has_sound = 1; | ||||
| size = avio_rb32(pb); | size = avio_rb32(pb); | ||||
| c->vidpos = url_ftell(pb) + size; | |||||
| c->vidpos = avio_tell(pb) + size; | |||||
| avio_seek(pb, 16, SEEK_CUR); | avio_seek(pb, 16, SEEK_CUR); | ||||
| fsize = avio_rl32(pb); | fsize = avio_rl32(pb); | ||||
| @@ -104,7 +104,7 @@ static int dxa_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| return -1; | return -1; | ||||
| ff_get_wav_header(pb, ast->codec, fsize); | ff_get_wav_header(pb, ast->codec, fsize); | ||||
| // find 'data' chunk | // find 'data' chunk | ||||
| while(url_ftell(pb) < c->vidpos && !url_feof(pb)){ | |||||
| while(avio_tell(pb) < c->vidpos && !url_feof(pb)){ | |||||
| tag = avio_rl32(pb); | tag = avio_rl32(pb); | ||||
| fsize = avio_rl32(pb); | fsize = avio_rl32(pb); | ||||
| if(tag == MKTAG('d', 'a', 't', 'a')) break; | if(tag == MKTAG('d', 'a', 't', 'a')) break; | ||||
| @@ -114,7 +114,7 @@ static int dxa_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| if(ast->codec->block_align) | if(ast->codec->block_align) | ||||
| c->bpc = ((c->bpc + ast->codec->block_align - 1) / ast->codec->block_align) * ast->codec->block_align; | c->bpc = ((c->bpc + ast->codec->block_align - 1) / ast->codec->block_align) * ast->codec->block_align; | ||||
| c->bytes_left = fsize; | c->bytes_left = fsize; | ||||
| c->wavpos = url_ftell(pb); | |||||
| c->wavpos = avio_tell(pb); | |||||
| avio_seek(pb, c->vidpos, SEEK_SET); | avio_seek(pb, c->vidpos, SEEK_SET); | ||||
| } | } | ||||
| @@ -133,7 +133,7 @@ static int dxa_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| st->codec->height >>= 1; | st->codec->height >>= 1; | ||||
| } | } | ||||
| c->readvid = !c->has_sound; | c->readvid = !c->has_sound; | ||||
| c->vidpos = url_ftell(pb); | |||||
| c->vidpos = avio_tell(pb); | |||||
| s->start_time = 0; | s->start_time = 0; | ||||
| s->duration = (int64_t)c->frames * AV_TIME_BASE * num / den; | s->duration = (int64_t)c->frames * AV_TIME_BASE * num / den; | ||||
| av_log(s, AV_LOG_DEBUG, "%d frame(s)\n",c->frames); | av_log(s, AV_LOG_DEBUG, "%d frame(s)\n",c->frames); | ||||
| @@ -158,7 +158,7 @@ static int dxa_read_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| if(ret != size) | if(ret != size) | ||||
| return AVERROR(EIO); | return AVERROR(EIO); | ||||
| c->bytes_left -= size; | c->bytes_left -= size; | ||||
| c->wavpos = url_ftell(s->pb); | |||||
| c->wavpos = avio_tell(s->pb); | |||||
| return 0; | return 0; | ||||
| } | } | ||||
| avio_seek(s->pb, c->vidpos, SEEK_SET); | avio_seek(s->pb, c->vidpos, SEEK_SET); | ||||
| @@ -172,7 +172,7 @@ static int dxa_read_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| if(pal_size) memcpy(pkt->data, pal, pal_size); | if(pal_size) memcpy(pkt->data, pal, pal_size); | ||||
| memcpy(pkt->data + pal_size, buf, 4); | memcpy(pkt->data + pal_size, buf, 4); | ||||
| c->frames--; | c->frames--; | ||||
| c->vidpos = url_ftell(s->pb); | |||||
| c->vidpos = avio_tell(s->pb); | |||||
| c->readvid = 0; | c->readvid = 0; | ||||
| return 0; | return 0; | ||||
| case MKTAG('C', 'M', 'A', 'P'): | case MKTAG('C', 'M', 'A', 'P'): | ||||
| @@ -198,7 +198,7 @@ static int dxa_read_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| if(pal_size) memcpy(pkt->data, pal, pal_size); | if(pal_size) memcpy(pkt->data, pal, pal_size); | ||||
| pkt->stream_index = 0; | pkt->stream_index = 0; | ||||
| c->frames--; | c->frames--; | ||||
| c->vidpos = url_ftell(s->pb); | |||||
| c->vidpos = avio_tell(s->pb); | |||||
| c->readvid = 0; | c->readvid = 0; | ||||
| return 0; | return 0; | ||||
| default: | default: | ||||
| @@ -293,7 +293,7 @@ static int process_ea_header(AVFormatContext *s) { | |||||
| int i; | int i; | ||||
| for (i=0; i<5 && (!ea->audio_codec || !ea->video_codec); i++) { | for (i=0; i<5 && (!ea->audio_codec || !ea->video_codec); i++) { | ||||
| unsigned int startpos = url_ftell(pb); | |||||
| unsigned int startpos = avio_tell(pb); | |||||
| int err = 0; | int err = 0; | ||||
| blockid = avio_rl32(pb); | blockid = avio_rl32(pb); | ||||
| @@ -65,7 +65,7 @@ static int ffm_is_avail_data(AVFormatContext *s, int size) | |||||
| len = ffm->packet_end - ffm->packet_ptr; | len = ffm->packet_end - ffm->packet_ptr; | ||||
| if (size <= len) | if (size <= len) | ||||
| return 1; | return 1; | ||||
| pos = url_ftell(s->pb); | |||||
| pos = avio_tell(s->pb); | |||||
| if (!ffm->write_index) { | if (!ffm->write_index) { | ||||
| if (pos == ffm->file_size) | if (pos == ffm->file_size) | ||||
| return AVERROR_EOF; | return AVERROR_EOF; | ||||
| @@ -117,7 +117,7 @@ static int ffm_read_data(AVFormatContext *s, | |||||
| if (len > size) | if (len > size) | ||||
| len = size; | len = size; | ||||
| if (len == 0) { | if (len == 0) { | ||||
| if (url_ftell(pb) == ffm->file_size) | |||||
| if (avio_tell(pb) == ffm->file_size) | |||||
| avio_seek(pb, ffm->packet_size, SEEK_SET); | avio_seek(pb, ffm->packet_size, SEEK_SET); | ||||
| retry_read: | retry_read: | ||||
| id = avio_rb16(pb); /* PACKET_ID */ | id = avio_rb16(pb); /* PACKET_ID */ | ||||
| @@ -136,7 +136,7 @@ static int ffm_read_data(AVFormatContext *s, | |||||
| if (ffm->first_packet || (frame_offset & 0x8000)) { | if (ffm->first_packet || (frame_offset & 0x8000)) { | ||||
| if (!frame_offset) { | if (!frame_offset) { | ||||
| /* This packet has no frame headers in it */ | /* This packet has no frame headers in it */ | ||||
| if (url_ftell(pb) >= ffm->packet_size * 3) { | |||||
| if (avio_tell(pb) >= ffm->packet_size * 3) { | |||||
| avio_seek(pb, -ffm->packet_size * 2, SEEK_CUR); | avio_seek(pb, -ffm->packet_size * 2, SEEK_CUR); | ||||
| goto retry_read; | goto retry_read; | ||||
| } | } | ||||
| @@ -203,7 +203,7 @@ static void adjust_write_index(AVFormatContext *s) | |||||
| //int64_t orig_write_index = ffm->write_index; | //int64_t orig_write_index = ffm->write_index; | ||||
| int64_t pos_min, pos_max; | int64_t pos_min, pos_max; | ||||
| int64_t pts_start; | int64_t pts_start; | ||||
| int64_t ptr = url_ftell(pb); | |||||
| int64_t ptr = avio_tell(pb); | |||||
| pos_min = 0; | pos_min = 0; | ||||
| @@ -381,7 +381,7 @@ static int ffm_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| } | } | ||||
| /* get until end of block reached */ | /* get until end of block reached */ | ||||
| while ((url_ftell(pb) % ffm->packet_size) != 0) | |||||
| while ((avio_tell(pb) % ffm->packet_size) != 0) | |||||
| avio_r8(pb); | avio_r8(pb); | ||||
| /* init packet demux */ | /* init packet demux */ | ||||
| @@ -410,7 +410,7 @@ static int ffm_read_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| return ret; | return ret; | ||||
| av_dlog(s, "pos=%08"PRIx64" spos=%"PRIx64", write_index=%"PRIx64" size=%"PRIx64"\n", | av_dlog(s, "pos=%08"PRIx64" spos=%"PRIx64", write_index=%"PRIx64" size=%"PRIx64"\n", | ||||
| url_ftell(s->pb), s->pb->pos, ffm->write_index, ffm->file_size); | |||||
| avio_tell(s->pb), s->pb->pos, ffm->write_index, ffm->file_size); | |||||
| if (ffm_read_data(s, ffm->header, FRAME_HEADER_SIZE, 1) != | if (ffm_read_data(s, ffm->header, FRAME_HEADER_SIZE, 1) != | ||||
| FRAME_HEADER_SIZE) | FRAME_HEADER_SIZE) | ||||
| return -1; | return -1; | ||||
| @@ -437,7 +437,7 @@ static int ffm_read_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| ffm->read_state = READ_HEADER; | ffm->read_state = READ_HEADER; | ||||
| return -1; | return -1; | ||||
| } | } | ||||
| pkt->pos = url_ftell(s->pb); | |||||
| pkt->pos = avio_tell(s->pb); | |||||
| if (ffm->header[1] & FLAG_KEY_FRAME) | if (ffm->header[1] & FLAG_KEY_FRAME) | ||||
| pkt->flags |= AV_PKT_FLAG_KEY; | pkt->flags |= AV_PKT_FLAG_KEY; | ||||
| @@ -32,7 +32,7 @@ static void flush_packet(AVFormatContext *s) | |||||
| fill_size = ffm->packet_end - ffm->packet_ptr; | fill_size = ffm->packet_end - ffm->packet_ptr; | ||||
| memset(ffm->packet_ptr, 0, fill_size); | memset(ffm->packet_ptr, 0, fill_size); | ||||
| if (url_ftell(pb) % ffm->packet_size) | |||||
| if (avio_tell(pb) % ffm->packet_size) | |||||
| av_abort(); | av_abort(); | ||||
| /* put header */ | /* put header */ | ||||
| @@ -184,7 +184,7 @@ static int ffm_write_header(AVFormatContext *s) | |||||
| } | } | ||||
| /* flush until end of block reached */ | /* flush until end of block reached */ | ||||
| while ((url_ftell(pb) % ffm->packet_size) != 0) | |||||
| while ((avio_tell(pb) % ffm->packet_size) != 0) | |||||
| avio_w8(pb, 0); | avio_w8(pb, 0); | ||||
| put_flush_packet(pb); | put_flush_packet(pb); | ||||
| @@ -82,7 +82,7 @@ static int read_packet(AVFormatContext *s, | |||||
| if (url_feof(s->pb)) | if (url_feof(s->pb)) | ||||
| return AVERROR(EIO); | return AVERROR(EIO); | ||||
| pkt->dts = url_ftell(s->pb) / (st->codec->width * (st->codec->height + film->leading) * 4); | |||||
| pkt->dts = avio_tell(s->pb) / (st->codec->width * (st->codec->height + film->leading) * 4); | |||||
| pkt->size = av_get_packet(s->pb, pkt, st->codec->width * st->codec->height * 4); | pkt->size = av_get_packet(s->pb, pkt, st->codec->width * st->codec->height * 4); | ||||
| avio_seek(s->pb, st->codec->width * film->leading * 4, SEEK_CUR); | avio_seek(s->pb, st->codec->width * film->leading * 4, SEEK_CUR); | ||||
| if (pkt->size < 0) | if (pkt->size < 0) | ||||
| @@ -100,7 +100,7 @@ static int flac_write_trailer(struct AVFormatContext *s) | |||||
| if (!url_is_streamed(pb)) { | if (!url_is_streamed(pb)) { | ||||
| /* rewrite the STREAMINFO header block data */ | /* rewrite the STREAMINFO header block data */ | ||||
| file_size = url_ftell(pb); | |||||
| file_size = avio_tell(pb); | |||||
| avio_seek(pb, 8, SEEK_SET); | avio_seek(pb, 8, SEEK_SET); | ||||
| avio_write(pb, streaminfo, FLAC_STREAMINFO_SIZE); | avio_write(pb, streaminfo, FLAC_STREAMINFO_SIZE); | ||||
| avio_seek(pb, file_size, SEEK_SET); | avio_seek(pb, file_size, SEEK_SET); | ||||
| @@ -223,7 +223,7 @@ static int flic_read_packet(AVFormatContext *s, | |||||
| } | } | ||||
| pkt->stream_index = flic->video_stream_index; | pkt->stream_index = flic->video_stream_index; | ||||
| pkt->pts = flic->frame_number++; | pkt->pts = flic->frame_number++; | ||||
| pkt->pos = url_ftell(pb); | |||||
| pkt->pos = avio_tell(pb); | |||||
| memcpy(pkt->data, preamble, FLIC_PREAMBLE_SIZE); | memcpy(pkt->data, preamble, FLIC_PREAMBLE_SIZE); | ||||
| ret = avio_read(pb, pkt->data + FLIC_PREAMBLE_SIZE, | ret = avio_read(pb, pkt->data + FLIC_PREAMBLE_SIZE, | ||||
| size - FLIC_PREAMBLE_SIZE); | size - FLIC_PREAMBLE_SIZE); | ||||
| @@ -242,7 +242,7 @@ static int flic_read_packet(AVFormatContext *s, | |||||
| avio_seek(pb, 10, SEEK_CUR); | avio_seek(pb, 10, SEEK_CUR); | ||||
| pkt->stream_index = flic->audio_stream_index; | pkt->stream_index = flic->audio_stream_index; | ||||
| pkt->pos = url_ftell(pb); | |||||
| pkt->pos = avio_tell(pb); | |||||
| ret = avio_read(pb, pkt->data, size); | ret = avio_read(pb, pkt->data, size); | ||||
| if (ret != size) { | if (ret != size) { | ||||
| @@ -148,7 +148,7 @@ static int amf_parse_object(AVFormatContext *s, AVStream *astream, AVStream *vst | |||||
| case AMF_DATA_TYPE_OBJECT: { | case AMF_DATA_TYPE_OBJECT: { | ||||
| unsigned int keylen; | unsigned int keylen; | ||||
| while(url_ftell(ioc) < max_pos - 2 && (keylen = avio_rb16(ioc))) { | |||||
| while(avio_tell(ioc) < max_pos - 2 && (keylen = avio_rb16(ioc))) { | |||||
| avio_seek(ioc, keylen, SEEK_CUR); //skip key string | avio_seek(ioc, keylen, SEEK_CUR); //skip key string | ||||
| if(amf_parse_object(s, NULL, NULL, NULL, max_pos, depth + 1) < 0) | if(amf_parse_object(s, NULL, NULL, NULL, max_pos, depth + 1) < 0) | ||||
| return -1; //if we couldn't skip, bomb out. | return -1; //if we couldn't skip, bomb out. | ||||
| @@ -163,7 +163,7 @@ static int amf_parse_object(AVFormatContext *s, AVStream *astream, AVStream *vst | |||||
| break; //these take up no additional space | break; //these take up no additional space | ||||
| case AMF_DATA_TYPE_MIXEDARRAY: | case AMF_DATA_TYPE_MIXEDARRAY: | ||||
| avio_seek(ioc, 4, SEEK_CUR); //skip 32-bit max array index | avio_seek(ioc, 4, SEEK_CUR); //skip 32-bit max array index | ||||
| while(url_ftell(ioc) < max_pos - 2 && amf_get_string(ioc, str_val, sizeof(str_val)) > 0) { | |||||
| while(avio_tell(ioc) < max_pos - 2 && amf_get_string(ioc, str_val, sizeof(str_val)) > 0) { | |||||
| //this is the only case in which we would want a nested parse to not skip over the object | //this is the only case in which we would want a nested parse to not skip over the object | ||||
| if(amf_parse_object(s, astream, vstream, str_val, max_pos, depth + 1) < 0) | if(amf_parse_object(s, astream, vstream, str_val, max_pos, depth + 1) < 0) | ||||
| return -1; | return -1; | ||||
| @@ -175,7 +175,7 @@ static int amf_parse_object(AVFormatContext *s, AVStream *astream, AVStream *vst | |||||
| unsigned int arraylen, i; | unsigned int arraylen, i; | ||||
| arraylen = avio_rb32(ioc); | arraylen = avio_rb32(ioc); | ||||
| for(i = 0; i < arraylen && url_ftell(ioc) < max_pos - 1; i++) { | |||||
| for(i = 0; i < arraylen && avio_tell(ioc) < max_pos - 1; i++) { | |||||
| if(amf_parse_object(s, NULL, NULL, NULL, max_pos, depth + 1) < 0) | if(amf_parse_object(s, NULL, NULL, NULL, max_pos, depth + 1) < 0) | ||||
| return -1; //if we couldn't skip, bomb out. | return -1; //if we couldn't skip, bomb out. | ||||
| } | } | ||||
| @@ -305,7 +305,7 @@ static int flv_read_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| AVStream *st = NULL; | AVStream *st = NULL; | ||||
| for(;;avio_seek(s->pb, 4, SEEK_CUR)){ /* pkt size is repeated at end. skip it */ | for(;;avio_seek(s->pb, 4, SEEK_CUR)){ /* pkt size is repeated at end. skip it */ | ||||
| pos = url_ftell(s->pb); | |||||
| pos = avio_tell(s->pb); | |||||
| type = avio_r8(s->pb); | type = avio_r8(s->pb); | ||||
| size = avio_rb24(s->pb); | size = avio_rb24(s->pb); | ||||
| dts = avio_rb24(s->pb); | dts = avio_rb24(s->pb); | ||||
| @@ -319,7 +319,7 @@ static int flv_read_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| if(size == 0) | if(size == 0) | ||||
| continue; | continue; | ||||
| next= size + url_ftell(s->pb); | |||||
| next= size + avio_tell(s->pb); | |||||
| if (type == FLV_TAG_TYPE_AUDIO) { | if (type == FLV_TAG_TYPE_AUDIO) { | ||||
| is_audio=1; | is_audio=1; | ||||
| @@ -372,7 +372,7 @@ static int flv_read_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| // if not streamed and no duration from metadata then seek to end to find the duration from the timestamps | // if not streamed and no duration from metadata then seek to end to find the duration from the timestamps | ||||
| if(!url_is_streamed(s->pb) && (!s->duration || s->duration==AV_NOPTS_VALUE)){ | if(!url_is_streamed(s->pb) && (!s->duration || s->duration==AV_NOPTS_VALUE)){ | ||||
| int size; | int size; | ||||
| const int64_t pos= url_ftell(s->pb); | |||||
| const int64_t pos= avio_tell(s->pb); | |||||
| const int64_t fsize= url_fsize(s->pb); | const int64_t fsize= url_fsize(s->pb); | ||||
| avio_seek(s->pb, fsize-4, SEEK_SET); | avio_seek(s->pb, fsize-4, SEEK_SET); | ||||
| size= avio_rb32(s->pb); | size= avio_rb32(s->pb); | ||||
| @@ -221,7 +221,7 @@ static int flv_write_header(AVFormatContext *s) | |||||
| /* write meta_tag */ | /* write meta_tag */ | ||||
| avio_w8(pb, 18); // tag type META | avio_w8(pb, 18); // tag type META | ||||
| metadata_size_pos= url_ftell(pb); | |||||
| metadata_size_pos= avio_tell(pb); | |||||
| avio_wb24(pb, 0); // size of data part (sum of all parts below) | avio_wb24(pb, 0); // size of data part (sum of all parts below) | ||||
| avio_wb24(pb, 0); // time stamp | avio_wb24(pb, 0); // time stamp | ||||
| avio_wb32(pb, 0); // reserved | avio_wb32(pb, 0); // reserved | ||||
| @@ -237,7 +237,7 @@ static int flv_write_header(AVFormatContext *s) | |||||
| avio_wb32(pb, 5*!!video_enc + 5*!!audio_enc + 2); // +2 for duration and file size | avio_wb32(pb, 5*!!video_enc + 5*!!audio_enc + 2); // +2 for duration and file size | ||||
| put_amf_string(pb, "duration"); | put_amf_string(pb, "duration"); | ||||
| flv->duration_offset= url_ftell(pb); | |||||
| flv->duration_offset= avio_tell(pb); | |||||
| put_amf_double(pb, s->duration / AV_TIME_BASE); // fill in the guessed duration, it'll be corrected later if incorrect | put_amf_double(pb, s->duration / AV_TIME_BASE); // fill in the guessed duration, it'll be corrected later if incorrect | ||||
| if(video_enc){ | if(video_enc){ | ||||
| @@ -281,14 +281,14 @@ static int flv_write_header(AVFormatContext *s) | |||||
| } | } | ||||
| put_amf_string(pb, "filesize"); | put_amf_string(pb, "filesize"); | ||||
| flv->filesize_offset= url_ftell(pb); | |||||
| flv->filesize_offset= avio_tell(pb); | |||||
| put_amf_double(pb, 0); // delayed write | put_amf_double(pb, 0); // delayed write | ||||
| put_amf_string(pb, ""); | put_amf_string(pb, ""); | ||||
| avio_w8(pb, AMF_END_OF_OBJECT); | avio_w8(pb, AMF_END_OF_OBJECT); | ||||
| /* write total size of tag */ | /* write total size of tag */ | ||||
| data_size= url_ftell(pb) - metadata_size_pos - 10; | |||||
| data_size= avio_tell(pb) - metadata_size_pos - 10; | |||||
| avio_seek(pb, metadata_size_pos, SEEK_SET); | avio_seek(pb, metadata_size_pos, SEEK_SET); | ||||
| avio_wb24(pb, data_size); | avio_wb24(pb, data_size); | ||||
| avio_seek(pb, data_size + 10 - 3, SEEK_CUR); | avio_seek(pb, data_size + 10 - 3, SEEK_CUR); | ||||
| @@ -304,7 +304,7 @@ static int flv_write_header(AVFormatContext *s) | |||||
| avio_wb24(pb, 0); // ts | avio_wb24(pb, 0); // ts | ||||
| avio_w8(pb, 0); // ts ext | avio_w8(pb, 0); // ts ext | ||||
| avio_wb24(pb, 0); // streamid | avio_wb24(pb, 0); // streamid | ||||
| pos = url_ftell(pb); | |||||
| pos = avio_tell(pb); | |||||
| if (enc->codec_id == CODEC_ID_AAC) { | if (enc->codec_id == CODEC_ID_AAC) { | ||||
| avio_w8(pb, get_audio_flags(enc)); | avio_w8(pb, get_audio_flags(enc)); | ||||
| avio_w8(pb, 0); // AAC sequence header | avio_w8(pb, 0); // AAC sequence header | ||||
| @@ -315,7 +315,7 @@ static int flv_write_header(AVFormatContext *s) | |||||
| avio_wb24(pb, 0); // composition time | avio_wb24(pb, 0); // composition time | ||||
| ff_isom_write_avcc(pb, enc->extradata, enc->extradata_size); | ff_isom_write_avcc(pb, enc->extradata, enc->extradata_size); | ||||
| } | } | ||||
| data_size = url_ftell(pb) - pos; | |||||
| data_size = avio_tell(pb) - pos; | |||||
| avio_seek(pb, -data_size - 10, SEEK_CUR); | avio_seek(pb, -data_size - 10, SEEK_CUR); | ||||
| avio_wb24(pb, data_size); | avio_wb24(pb, data_size); | ||||
| avio_seek(pb, data_size + 10 - 3, SEEK_CUR); | avio_seek(pb, data_size + 10 - 3, SEEK_CUR); | ||||
| @@ -343,7 +343,7 @@ static int flv_write_trailer(AVFormatContext *s) | |||||
| } | } | ||||
| } | } | ||||
| file_size = url_ftell(pb); | |||||
| file_size = avio_tell(pb); | |||||
| /* update informations */ | /* update informations */ | ||||
| avio_seek(pb, flv->duration_offset, SEEK_SET); | avio_seek(pb, flv->duration_offset, SEEK_SET); | ||||
| @@ -396,7 +396,7 @@ start: | |||||
| READ_ONE(); | READ_ONE(); | ||||
| if (tmp != 1) | if (tmp != 1) | ||||
| goto start; | goto start; | ||||
| last_pos = url_ftell(pb); | |||||
| last_pos = avio_tell(pb); | |||||
| if (avio_seek(pb, -5, SEEK_CUR) < 0) | if (avio_seek(pb, -5, SEEK_CUR) < 0) | ||||
| goto out; | goto out; | ||||
| if (!parse_packet_header(pb, &type, &len) || type != PKT_MEDIA) { | if (!parse_packet_header(pb, &type, &len) || type != PKT_MEDIA) { | ||||
| @@ -407,7 +407,7 @@ start: | |||||
| avio_r8(pb); | avio_r8(pb); | ||||
| cur_track = avio_r8(pb); | cur_track = avio_r8(pb); | ||||
| cur_timestamp = avio_rb32(pb); | cur_timestamp = avio_rb32(pb); | ||||
| last_found_pos = url_ftell(pb) - 16 - 6; | |||||
| last_found_pos = avio_tell(pb) - 16 - 6; | |||||
| if ((track >= 0 && track != cur_track) || (timestamp >= 0 && timestamp > cur_timestamp)) { | if ((track >= 0 && track != cur_track) || (timestamp >= 0 && timestamp > cur_timestamp)) { | ||||
| if (avio_seek(pb, last_pos, SEEK_SET) >= 0) | if (avio_seek(pb, last_pos, SEEK_SET) >= 0) | ||||
| goto start; | goto start; | ||||
| @@ -511,7 +511,7 @@ static int64_t gxf_read_timestamp(AVFormatContext *s, int stream_index, | |||||
| if (avio_seek(pb, *pos, SEEK_SET) < 0) | if (avio_seek(pb, *pos, SEEK_SET) < 0) | ||||
| return AV_NOPTS_VALUE; | return AV_NOPTS_VALUE; | ||||
| res = gxf_resync_media(s, pos_limit - *pos, -1, -1); | res = gxf_resync_media(s, pos_limit - *pos, -1, -1); | ||||
| *pos = url_ftell(pb); | |||||
| *pos = avio_tell(pb); | |||||
| return res; | return res; | ||||
| } | } | ||||
| @@ -125,12 +125,12 @@ static int64_t updatePacketSize(AVIOContext *pb, int64_t pos) | |||||
| int64_t curpos; | int64_t curpos; | ||||
| int size; | int size; | ||||
| size = url_ftell(pb) - pos; | |||||
| size = avio_tell(pb) - pos; | |||||
| if (size % 4) { | if (size % 4) { | ||||
| gxf_write_padding(pb, 4 - size % 4); | gxf_write_padding(pb, 4 - size % 4); | ||||
| size = url_ftell(pb) - pos; | |||||
| size = avio_tell(pb) - pos; | |||||
| } | } | ||||
| curpos = url_ftell(pb); | |||||
| curpos = avio_tell(pb); | |||||
| avio_seek(pb, pos + 6, SEEK_SET); | avio_seek(pb, pos + 6, SEEK_SET); | ||||
| avio_wb32(pb, size); | avio_wb32(pb, size); | ||||
| avio_seek(pb, curpos, SEEK_SET); | avio_seek(pb, curpos, SEEK_SET); | ||||
| @@ -141,7 +141,7 @@ static int64_t updateSize(AVIOContext *pb, int64_t pos) | |||||
| { | { | ||||
| int64_t curpos; | int64_t curpos; | ||||
| curpos = url_ftell(pb); | |||||
| curpos = avio_tell(pb); | |||||
| avio_seek(pb, pos, SEEK_SET); | avio_seek(pb, pos, SEEK_SET); | ||||
| avio_wb16(pb, curpos - pos - 2); | avio_wb16(pb, curpos - pos - 2); | ||||
| avio_seek(pb, curpos, SEEK_SET); | avio_seek(pb, curpos, SEEK_SET); | ||||
| @@ -218,7 +218,7 @@ static int gxf_write_track_description(AVFormatContext *s, GXFStreamContext *sc, | |||||
| avio_w8(pb, sc->media_type + 0x80); | avio_w8(pb, sc->media_type + 0x80); | ||||
| avio_w8(pb, index + 0xC0); | avio_w8(pb, index + 0xC0); | ||||
| pos = url_ftell(pb); | |||||
| pos = avio_tell(pb); | |||||
| avio_wb16(pb, 0); /* size */ | avio_wb16(pb, 0); /* size */ | ||||
| /* media file name */ | /* media file name */ | ||||
| @@ -272,7 +272,7 @@ static int gxf_write_material_data_section(AVFormatContext *s) | |||||
| int len; | int len; | ||||
| const char *filename = strrchr(s->filename, '/'); | const char *filename = strrchr(s->filename, '/'); | ||||
| pos = url_ftell(pb); | |||||
| pos = avio_tell(pb); | |||||
| avio_wb16(pb, 0); /* size */ | avio_wb16(pb, 0); /* size */ | ||||
| /* name */ | /* name */ | ||||
| @@ -322,7 +322,7 @@ static int gxf_write_track_description_section(AVFormatContext *s) | |||||
| int64_t pos; | int64_t pos; | ||||
| int i; | int i; | ||||
| pos = url_ftell(pb); | |||||
| pos = avio_tell(pb); | |||||
| avio_wb16(pb, 0); /* size */ | avio_wb16(pb, 0); /* size */ | ||||
| for (i = 0; i < s->nb_streams; ++i) | for (i = 0; i < s->nb_streams; ++i) | ||||
| gxf_write_track_description(s, s->streams[i]->priv_data, i); | gxf_write_track_description(s, s->streams[i]->priv_data, i); | ||||
| @@ -336,7 +336,7 @@ static int gxf_write_map_packet(AVFormatContext *s, int rewrite) | |||||
| { | { | ||||
| GXFContext *gxf = s->priv_data; | GXFContext *gxf = s->priv_data; | ||||
| AVIOContext *pb = s->pb; | AVIOContext *pb = s->pb; | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| if (!rewrite) { | if (!rewrite) { | ||||
| if (!(gxf->map_offsets_nb % 30)) { | if (!(gxf->map_offsets_nb % 30)) { | ||||
| @@ -366,7 +366,7 @@ static int gxf_write_flt_packet(AVFormatContext *s) | |||||
| { | { | ||||
| GXFContext *gxf = s->priv_data; | GXFContext *gxf = s->priv_data; | ||||
| AVIOContext *pb = s->pb; | AVIOContext *pb = s->pb; | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| int fields_per_flt = (gxf->nb_fields+1) / 1000 + 1; | int fields_per_flt = (gxf->nb_fields+1) / 1000 + 1; | ||||
| int flt_entries = gxf->nb_fields / fields_per_flt; | int flt_entries = gxf->nb_fields / fields_per_flt; | ||||
| int i = 0; | int i = 0; | ||||
| @@ -442,7 +442,7 @@ static int gxf_write_umf_track_description(AVFormatContext *s) | |||||
| { | { | ||||
| AVIOContext *pb = s->pb; | AVIOContext *pb = s->pb; | ||||
| GXFContext *gxf = s->priv_data; | GXFContext *gxf = s->priv_data; | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| int i; | int i; | ||||
| gxf->umf_track_offset = pos - gxf->umf_start_offset; | gxf->umf_track_offset = pos - gxf->umf_start_offset; | ||||
| @@ -455,7 +455,7 @@ static int gxf_write_umf_track_description(AVFormatContext *s) | |||||
| avio_wl16(pb, gxf->timecode_track.media_info); | avio_wl16(pb, gxf->timecode_track.media_info); | ||||
| avio_wl16(pb, 1); | avio_wl16(pb, 1); | ||||
| return url_ftell(pb) - pos; | |||||
| return avio_tell(pb) - pos; | |||||
| } | } | ||||
| static int gxf_write_umf_media_mpeg(AVIOContext *pb, AVStream *st) | static int gxf_write_umf_media_mpeg(AVIOContext *pb, AVStream *st) | ||||
| @@ -533,7 +533,7 @@ static int gxf_write_umf_media_description(AVFormatContext *s) | |||||
| int64_t pos; | int64_t pos; | ||||
| int i, j; | int i, j; | ||||
| pos = url_ftell(pb); | |||||
| pos = avio_tell(pb); | |||||
| gxf->umf_media_offset = pos - gxf->umf_start_offset; | gxf->umf_media_offset = pos - gxf->umf_start_offset; | ||||
| for (i = 0; i <= s->nb_streams; ++i) { | for (i = 0; i <= s->nb_streams; ++i) { | ||||
| GXFStreamContext *sc; | GXFStreamContext *sc; | ||||
| @@ -544,7 +544,7 @@ static int gxf_write_umf_media_description(AVFormatContext *s) | |||||
| else | else | ||||
| sc = s->streams[i]->priv_data; | sc = s->streams[i]->priv_data; | ||||
| startpos = url_ftell(pb); | |||||
| startpos = avio_tell(pb); | |||||
| avio_wl16(pb, 0); /* length */ | avio_wl16(pb, 0); /* length */ | ||||
| avio_wl16(pb, sc->media_info); | avio_wl16(pb, sc->media_info); | ||||
| avio_wl16(pb, 0); /* reserved */ | avio_wl16(pb, 0); /* reserved */ | ||||
| @@ -580,19 +580,19 @@ static int gxf_write_umf_media_description(AVFormatContext *s) | |||||
| } | } | ||||
| } | } | ||||
| curpos = url_ftell(pb); | |||||
| curpos = avio_tell(pb); | |||||
| avio_seek(pb, startpos, SEEK_SET); | avio_seek(pb, startpos, SEEK_SET); | ||||
| avio_wl16(pb, curpos - startpos); | avio_wl16(pb, curpos - startpos); | ||||
| avio_seek(pb, curpos, SEEK_SET); | avio_seek(pb, curpos, SEEK_SET); | ||||
| } | } | ||||
| return url_ftell(pb) - pos; | |||||
| return avio_tell(pb) - pos; | |||||
| } | } | ||||
| static int gxf_write_umf_packet(AVFormatContext *s) | static int gxf_write_umf_packet(AVFormatContext *s) | ||||
| { | { | ||||
| GXFContext *gxf = s->priv_data; | GXFContext *gxf = s->priv_data; | ||||
| AVIOContext *pb = s->pb; | AVIOContext *pb = s->pb; | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| gxf_write_packet_header(pb, PKT_UMF); | gxf_write_packet_header(pb, PKT_UMF); | ||||
| @@ -600,12 +600,12 @@ static int gxf_write_umf_packet(AVFormatContext *s) | |||||
| avio_w8(pb, 3); /* first and last (only) packet */ | avio_w8(pb, 3); /* first and last (only) packet */ | ||||
| avio_wb32(pb, gxf->umf_length); /* data length */ | avio_wb32(pb, gxf->umf_length); /* data length */ | ||||
| gxf->umf_start_offset = url_ftell(pb); | |||||
| gxf->umf_start_offset = avio_tell(pb); | |||||
| gxf_write_umf_payload(s); | gxf_write_umf_payload(s); | ||||
| gxf_write_umf_material_description(s); | gxf_write_umf_material_description(s); | ||||
| gxf->umf_track_size = gxf_write_umf_track_description(s); | gxf->umf_track_size = gxf_write_umf_track_description(s); | ||||
| gxf->umf_media_size = gxf_write_umf_media_description(s); | gxf->umf_media_size = gxf_write_umf_media_description(s); | ||||
| gxf->umf_length = url_ftell(pb) - gxf->umf_start_offset; | |||||
| gxf->umf_length = avio_tell(pb) - gxf->umf_start_offset; | |||||
| return updatePacketSize(pb, pos); | return updatePacketSize(pb, pos); | ||||
| } | } | ||||
| @@ -759,7 +759,7 @@ static int gxf_write_header(AVFormatContext *s) | |||||
| static int gxf_write_eos_packet(AVIOContext *pb) | static int gxf_write_eos_packet(AVIOContext *pb) | ||||
| { | { | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| gxf_write_packet_header(pb, PKT_EOS); | gxf_write_packet_header(pb, PKT_EOS); | ||||
| return updatePacketSize(pb, pos); | return updatePacketSize(pb, pos); | ||||
| @@ -775,7 +775,7 @@ static int gxf_write_trailer(AVFormatContext *s) | |||||
| ff_audio_interleave_close(s); | ff_audio_interleave_close(s); | ||||
| gxf_write_eos_packet(pb); | gxf_write_eos_packet(pb); | ||||
| end = url_ftell(pb); | |||||
| end = avio_tell(pb); | |||||
| avio_seek(pb, 0, SEEK_SET); | avio_seek(pb, 0, SEEK_SET); | ||||
| /* overwrite map, flt and umf packets with new values */ | /* overwrite map, flt and umf packets with new values */ | ||||
| gxf_write_map_packet(s, 1); | gxf_write_map_packet(s, 1); | ||||
| @@ -861,9 +861,9 @@ static int gxf_write_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| GXFContext *gxf = s->priv_data; | GXFContext *gxf = s->priv_data; | ||||
| AVIOContext *pb = s->pb; | AVIOContext *pb = s->pb; | ||||
| AVStream *st = s->streams[pkt->stream_index]; | AVStream *st = s->streams[pkt->stream_index]; | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| int padding = 0; | int padding = 0; | ||||
| int packet_start_offset = url_ftell(pb) / 1024; | |||||
| int packet_start_offset = avio_tell(pb) / 1024; | |||||
| gxf_write_packet_header(pb, PKT_MEDIA); | gxf_write_packet_header(pb, PKT_MEDIA); | ||||
| if (st->codec->codec_id == CODEC_ID_MPEG2VIDEO && pkt->size % 4) /* MPEG-2 frames must be padded */ | if (st->codec->codec_id == CODEC_ID_MPEG2VIDEO && pkt->size % 4) /* MPEG-2 frames must be padded */ | ||||
| @@ -196,7 +196,7 @@ static void ff_id3v2_parse(AVFormatContext *s, int len, uint8_t version, uint8_t | |||||
| if (len < 0) | if (len < 0) | ||||
| break; | break; | ||||
| next = url_ftell(s->pb) + tlen; | |||||
| next = avio_tell(s->pb) + tlen; | |||||
| if (tflags & ID3v2_FLAG_DATALEN) { | if (tflags & ID3v2_FLAG_DATALEN) { | ||||
| avio_rb32(s->pb); | avio_rb32(s->pb); | ||||
| @@ -258,7 +258,7 @@ void ff_id3v2_read(AVFormatContext *s, const char *magic) | |||||
| do { | do { | ||||
| /* save the current offset in case there's nothing to read/skip */ | /* save the current offset in case there's nothing to read/skip */ | ||||
| off = url_ftell(s->pb); | |||||
| off = avio_tell(s->pb); | |||||
| ret = avio_read(s->pb, buf, ID3v2_HEADER_SIZE); | ret = avio_read(s->pb, buf, ID3v2_HEADER_SIZE); | ||||
| if (ret != ID3v2_HEADER_SIZE) | if (ret != ID3v2_HEADER_SIZE) | ||||
| break; | break; | ||||
| @@ -141,7 +141,7 @@ static int roq_read_packet(AVFormatContext *s, | |||||
| case RoQ_QUAD_CODEBOOK: | case RoQ_QUAD_CODEBOOK: | ||||
| /* packet needs to contain both this codebook and next VQ chunk */ | /* packet needs to contain both this codebook and next VQ chunk */ | ||||
| codebook_offset = url_ftell(pb) - RoQ_CHUNK_PREAMBLE_SIZE; | |||||
| codebook_offset = avio_tell(pb) - RoQ_CHUNK_PREAMBLE_SIZE; | |||||
| codebook_size = chunk_size; | codebook_size = chunk_size; | ||||
| avio_seek(pb, codebook_size, SEEK_CUR); | avio_seek(pb, codebook_size, SEEK_CUR); | ||||
| if (avio_read(pb, preamble, RoQ_CHUNK_PREAMBLE_SIZE) != | if (avio_read(pb, preamble, RoQ_CHUNK_PREAMBLE_SIZE) != | ||||
| @@ -197,7 +197,7 @@ static int roq_read_packet(AVFormatContext *s, | |||||
| roq->audio_frame_count += (chunk_size / roq->audio_channels); | roq->audio_frame_count += (chunk_size / roq->audio_channels); | ||||
| } | } | ||||
| pkt->pos= url_ftell(pb); | |||||
| pkt->pos= avio_tell(pb); | |||||
| ret = avio_read(pb, pkt->data + RoQ_CHUNK_PREAMBLE_SIZE, | ret = avio_read(pb, pkt->data + RoQ_CHUNK_PREAMBLE_SIZE, | ||||
| chunk_size); | chunk_size); | ||||
| if (ret != chunk_size) | if (ret != chunk_size) | ||||
| @@ -144,7 +144,7 @@ static int iff_read_header(AVFormatContext *s, | |||||
| const char *metadata_tag = NULL; | const char *metadata_tag = NULL; | ||||
| chunk_id = avio_rl32(pb); | chunk_id = avio_rl32(pb); | ||||
| data_size = avio_rb32(pb); | data_size = avio_rb32(pb); | ||||
| orig_pos = url_ftell(pb); | |||||
| orig_pos = avio_tell(pb); | |||||
| switch(chunk_id) { | switch(chunk_id) { | ||||
| case ID_VHDR: | case ID_VHDR: | ||||
| @@ -161,7 +161,7 @@ static int iff_read_header(AVFormatContext *s, | |||||
| break; | break; | ||||
| case ID_BODY: | case ID_BODY: | ||||
| iff->body_pos = url_ftell(pb); | |||||
| iff->body_pos = avio_tell(pb); | |||||
| iff->body_size = data_size; | iff->body_size = data_size; | ||||
| break; | break; | ||||
| @@ -223,7 +223,7 @@ static int iff_read_header(AVFormatContext *s, | |||||
| return res; | return res; | ||||
| } | } | ||||
| } | } | ||||
| avio_seek(pb, data_size - (url_ftell(pb) - orig_pos) + (data_size & 1), SEEK_CUR); | |||||
| avio_seek(pb, data_size - (avio_tell(pb) - orig_pos) + (data_size & 1), SEEK_CUR); | |||||
| } | } | ||||
| avio_seek(pb, iff->body_pos, SEEK_SET); | avio_seek(pb, iff->body_pos, SEEK_SET); | ||||
| @@ -47,7 +47,7 @@ static int ingenient_read_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| if (av_new_packet(pkt, size) < 0) | if (av_new_packet(pkt, size) < 0) | ||||
| return AVERROR(ENOMEM); | return AVERROR(ENOMEM); | ||||
| pkt->pos = url_ftell(s->pb); | |||||
| pkt->pos = avio_tell(s->pb); | |||||
| pkt->stream_index = 0; | pkt->stream_index = 0; | ||||
| ret = avio_read(s->pb, pkt->data, size); | ret = avio_read(s->pb, pkt->data, size); | ||||
| if (ret < 0) { | if (ret < 0) { | ||||
| @@ -405,7 +405,7 @@ static int process_ipmovie_chunk(IPMVEContext *s, AVIOContext *pb, | |||||
| debug_ipmovie("audio frame\n"); | debug_ipmovie("audio frame\n"); | ||||
| /* log position and move on for now */ | /* log position and move on for now */ | ||||
| s->audio_chunk_offset = url_ftell(pb); | |||||
| s->audio_chunk_offset = avio_tell(pb); | |||||
| s->audio_chunk_size = opcode_size; | s->audio_chunk_size = opcode_size; | ||||
| avio_seek(pb, opcode_size, SEEK_CUR); | avio_seek(pb, opcode_size, SEEK_CUR); | ||||
| break; | break; | ||||
| @@ -471,7 +471,7 @@ static int process_ipmovie_chunk(IPMVEContext *s, AVIOContext *pb, | |||||
| debug_ipmovie("set decoding map\n"); | debug_ipmovie("set decoding map\n"); | ||||
| /* log position and move on for now */ | /* log position and move on for now */ | ||||
| s->decode_map_chunk_offset = url_ftell(pb); | |||||
| s->decode_map_chunk_offset = avio_tell(pb); | |||||
| s->decode_map_chunk_size = opcode_size; | s->decode_map_chunk_size = opcode_size; | ||||
| avio_seek(pb, opcode_size, SEEK_CUR); | avio_seek(pb, opcode_size, SEEK_CUR); | ||||
| break; | break; | ||||
| @@ -480,7 +480,7 @@ static int process_ipmovie_chunk(IPMVEContext *s, AVIOContext *pb, | |||||
| debug_ipmovie("set video data\n"); | debug_ipmovie("set video data\n"); | ||||
| /* log position and move on for now */ | /* log position and move on for now */ | ||||
| s->video_chunk_offset = url_ftell(pb); | |||||
| s->video_chunk_offset = avio_tell(pb); | |||||
| s->video_chunk_size = opcode_size; | s->video_chunk_size = opcode_size; | ||||
| avio_seek(pb, opcode_size, SEEK_CUR); | avio_seek(pb, opcode_size, SEEK_CUR); | ||||
| break; | break; | ||||
| @@ -494,7 +494,7 @@ static int process_ipmovie_chunk(IPMVEContext *s, AVIOContext *pb, | |||||
| } | } | ||||
| /* make a note of where the stream is sitting */ | /* make a note of where the stream is sitting */ | ||||
| s->next_chunk_offset = url_ftell(pb); | |||||
| s->next_chunk_offset = avio_tell(pb); | |||||
| /* dispatch the first of any pending packets */ | /* dispatch the first of any pending packets */ | ||||
| if ((chunk_type == CHUNK_VIDEO) || (chunk_type == CHUNK_AUDIO_ONLY)) | if ((chunk_type == CHUNK_VIDEO) || (chunk_type == CHUNK_AUDIO_ONLY)) | ||||
| @@ -541,7 +541,7 @@ static int ipmovie_read_header(AVFormatContext *s, | |||||
| ipmovie->decode_map_chunk_offset = 0; | ipmovie->decode_map_chunk_offset = 0; | ||||
| /* on the first read, this will position the stream at the first chunk */ | /* on the first read, this will position the stream at the first chunk */ | ||||
| ipmovie->next_chunk_offset = url_ftell(pb) + 4; | |||||
| ipmovie->next_chunk_offset = avio_tell(pb) + 4; | |||||
| /* process the first chunk which should be CHUNK_INIT_VIDEO */ | /* process the first chunk which should be CHUNK_INIT_VIDEO */ | ||||
| if (process_ipmovie_chunk(ipmovie, pb, &pkt) != CHUNK_INIT_VIDEO) | if (process_ipmovie_chunk(ipmovie, pb, &pkt) != CHUNK_INIT_VIDEO) | ||||
| @@ -87,7 +87,7 @@ 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)); //Version ID | ||||
| get_token(pb, token, sizeof(token)); //Size | 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 = av_new_stream(s, 0); | ||||
| if (!st) | if (!st) | ||||
| @@ -116,7 +116,7 @@ static int iss_read_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| return AVERROR(EIO); | return AVERROR(EIO); | ||||
| pkt->stream_index = 0; | 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) | if(s->streams[0]->codec->channels > 0) | ||||
| pkt->pts /= s->streams[0]->codec->channels*2; | pkt->pts /= s->streams[0]->codec->channels*2; | ||||
| return 0; | return 0; | ||||
| @@ -272,7 +272,7 @@ static int nut_read_packet(AVFormatContext * avf, AVPacket * pkt) { | |||||
| if (pd.flags & NUT_FLAG_KEY) pkt->flags |= AV_PKT_FLAG_KEY; | if (pd.flags & NUT_FLAG_KEY) pkt->flags |= AV_PKT_FLAG_KEY; | ||||
| pkt->pts = pd.pts; | pkt->pts = pd.pts; | ||||
| pkt->stream_index = pd.stream; | pkt->stream_index = pd.stream; | ||||
| pkt->pos = url_ftell(avf->pb); | |||||
| pkt->pos = avio_tell(avf->pb); | |||||
| ret = nut_read_frame(priv->nut, &pd.len, pkt->data); | ret = nut_read_frame(priv->nut, &pd.len, pkt->data); | ||||
| @@ -517,7 +517,7 @@ static const char *matroska_doctypes[] = { "matroska", "webm" }; | |||||
| static int ebml_level_end(MatroskaDemuxContext *matroska) | static int ebml_level_end(MatroskaDemuxContext *matroska) | ||||
| { | { | ||||
| AVIOContext *pb = matroska->ctx->pb; | AVIOContext *pb = matroska->ctx->pb; | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| if (matroska->num_levels > 0) { | if (matroska->num_levels > 0) { | ||||
| MatroskaLevel *level = &matroska->levels[matroska->num_levels - 1]; | MatroskaLevel *level = &matroska->levels[matroska->num_levels - 1]; | ||||
| @@ -549,7 +549,7 @@ static int ebml_read_num(MatroskaDemuxContext *matroska, AVIOContext *pb, | |||||
| if (!(total = avio_r8(pb))) { | if (!(total = avio_r8(pb))) { | ||||
| /* we might encounter EOS here */ | /* we might encounter EOS here */ | ||||
| if (!url_feof(pb)) { | if (!url_feof(pb)) { | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| av_log(matroska->ctx, AV_LOG_ERROR, | av_log(matroska->ctx, AV_LOG_ERROR, | ||||
| "Read error at pos. %"PRIu64" (0x%"PRIx64")\n", | "Read error at pos. %"PRIu64" (0x%"PRIx64")\n", | ||||
| pos, pos); | pos, pos); | ||||
| @@ -560,7 +560,7 @@ static int ebml_read_num(MatroskaDemuxContext *matroska, AVIOContext *pb, | |||||
| /* get the length of the EBML number */ | /* get the length of the EBML number */ | ||||
| read = 8 - ff_log2_tab[total]; | read = 8 - ff_log2_tab[total]; | ||||
| if (read > max_size) { | if (read > max_size) { | ||||
| int64_t pos = url_ftell(pb) - 1; | |||||
| int64_t pos = avio_tell(pb) - 1; | |||||
| av_log(matroska->ctx, AV_LOG_ERROR, | av_log(matroska->ctx, AV_LOG_ERROR, | ||||
| "Invalid EBML number size tag 0x%02x at pos %"PRIu64" (0x%"PRIx64")\n", | "Invalid EBML number size tag 0x%02x at pos %"PRIu64" (0x%"PRIx64")\n", | ||||
| (uint8_t) total, pos, pos); | (uint8_t) total, pos, pos); | ||||
| @@ -659,7 +659,7 @@ static int ebml_read_binary(AVIOContext *pb, int length, EbmlBin *bin) | |||||
| return AVERROR(ENOMEM); | return AVERROR(ENOMEM); | ||||
| bin->size = length; | bin->size = length; | ||||
| bin->pos = url_ftell(pb); | |||||
| bin->pos = avio_tell(pb); | |||||
| if (avio_read(pb, bin->data, length) != length) { | if (avio_read(pb, bin->data, length) != length) { | ||||
| av_freep(&bin->data); | av_freep(&bin->data); | ||||
| return AVERROR(EIO); | return AVERROR(EIO); | ||||
| @@ -685,7 +685,7 @@ static int ebml_read_master(MatroskaDemuxContext *matroska, uint64_t length) | |||||
| } | } | ||||
| level = &matroska->levels[matroska->num_levels++]; | level = &matroska->levels[matroska->num_levels++]; | ||||
| level->start = url_ftell(pb); | |||||
| level->start = avio_tell(pb); | |||||
| level->length = length; | level->length = length; | ||||
| return 0; | return 0; | ||||
| @@ -827,7 +827,7 @@ static int ebml_parse_elem(MatroskaDemuxContext *matroska, | |||||
| case EBML_NEST: if ((res=ebml_read_master(matroska, length)) < 0) | case EBML_NEST: if ((res=ebml_read_master(matroska, length)) < 0) | ||||
| return res; | return res; | ||||
| if (id == MATROSKA_ID_SEGMENT) | if (id == MATROSKA_ID_SEGMENT) | ||||
| matroska->segment_start = url_ftell(matroska->ctx->pb); | |||||
| matroska->segment_start = avio_tell(matroska->ctx->pb); | |||||
| return ebml_parse_nest(matroska, syntax->def.n, data); | return ebml_parse_nest(matroska, syntax->def.n, data); | ||||
| case EBML_PASS: return ebml_parse_id(matroska, syntax->def.n, id, data); | case EBML_PASS: return ebml_parse_id(matroska, syntax->def.n, id, data); | ||||
| case EBML_STOP: return 1; | case EBML_STOP: return 1; | ||||
| @@ -1111,7 +1111,7 @@ static void matroska_execute_seekhead(MatroskaDemuxContext *matroska) | |||||
| EbmlList *seekhead_list = &matroska->seekhead; | EbmlList *seekhead_list = &matroska->seekhead; | ||||
| MatroskaSeekhead *seekhead = seekhead_list->elem; | MatroskaSeekhead *seekhead = seekhead_list->elem; | ||||
| uint32_t level_up = matroska->level_up; | uint32_t level_up = matroska->level_up; | ||||
| int64_t before_pos = url_ftell(matroska->ctx->pb); | |||||
| int64_t before_pos = avio_tell(matroska->ctx->pb); | |||||
| uint32_t saved_id = matroska->current_id; | uint32_t saved_id = matroska->current_id; | ||||
| MatroskaLevel level; | MatroskaLevel level; | ||||
| int i; | int i; | ||||
| @@ -1842,7 +1842,7 @@ static int matroska_parse_cluster(MatroskaDemuxContext *matroska) | |||||
| EbmlList *blocks_list; | EbmlList *blocks_list; | ||||
| MatroskaBlock *blocks; | MatroskaBlock *blocks; | ||||
| int i, res; | int i, res; | ||||
| int64_t pos = url_ftell(matroska->ctx->pb); | |||||
| int64_t pos = avio_tell(matroska->ctx->pb); | |||||
| matroska->prev_pkt = NULL; | matroska->prev_pkt = NULL; | ||||
| if (matroska->current_id) | if (matroska->current_id) | ||||
| pos -= 4; /* sizeof the ID which was already read */ | pos -= 4; /* sizeof the ID which was already read */ | ||||
| @@ -203,7 +203,7 @@ static void put_ebml_string(AVIOContext *pb, unsigned int elementid, const char | |||||
| */ | */ | ||||
| static void put_ebml_void(AVIOContext *pb, uint64_t size) | static void put_ebml_void(AVIOContext *pb, uint64_t size) | ||||
| { | { | ||||
| int64_t currentpos = url_ftell(pb); | |||||
| int64_t currentpos = avio_tell(pb); | |||||
| assert(size >= 2); | assert(size >= 2); | ||||
| @@ -215,7 +215,7 @@ static void put_ebml_void(AVIOContext *pb, uint64_t size) | |||||
| put_ebml_num(pb, size-1, 0); | put_ebml_num(pb, size-1, 0); | ||||
| else | else | ||||
| put_ebml_num(pb, size-9, 8); | put_ebml_num(pb, size-9, 8); | ||||
| while(url_ftell(pb) < currentpos + size) | |||||
| while(avio_tell(pb) < currentpos + size) | |||||
| avio_w8(pb, 0); | avio_w8(pb, 0); | ||||
| } | } | ||||
| @@ -224,12 +224,12 @@ static ebml_master start_ebml_master(AVIOContext *pb, unsigned int elementid, ui | |||||
| int bytes = expectedsize ? ebml_num_size(expectedsize) : 8; | int bytes = expectedsize ? ebml_num_size(expectedsize) : 8; | ||||
| put_ebml_id(pb, elementid); | put_ebml_id(pb, elementid); | ||||
| put_ebml_size_unknown(pb, bytes); | put_ebml_size_unknown(pb, bytes); | ||||
| return (ebml_master){ url_ftell(pb), bytes }; | |||||
| return (ebml_master){ avio_tell(pb), bytes }; | |||||
| } | } | ||||
| static void end_ebml_master(AVIOContext *pb, ebml_master master) | static void end_ebml_master(AVIOContext *pb, ebml_master master) | ||||
| { | { | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| if (avio_seek(pb, master.pos - master.sizebytes, SEEK_SET) < 0) | if (avio_seek(pb, master.pos - master.sizebytes, SEEK_SET) < 0) | ||||
| return; | return; | ||||
| @@ -265,7 +265,7 @@ static mkv_seekhead * mkv_start_seekhead(AVIOContext *pb, int64_t segment_offset | |||||
| new_seekhead->segment_offset = segment_offset; | new_seekhead->segment_offset = segment_offset; | ||||
| if (numelements > 0) { | if (numelements > 0) { | ||||
| new_seekhead->filepos = url_ftell(pb); | |||||
| new_seekhead->filepos = avio_tell(pb); | |||||
| // 21 bytes max for a seek entry, 10 bytes max for the SeekHead ID | // 21 bytes max for a seek entry, 10 bytes max for the SeekHead ID | ||||
| // and size, and 3 bytes to guarantee that an EBML void element | // and size, and 3 bytes to guarantee that an EBML void element | ||||
| // will fit afterwards | // will fit afterwards | ||||
| @@ -310,7 +310,7 @@ static int64_t mkv_write_seekhead(AVIOContext *pb, mkv_seekhead *seekhead) | |||||
| int64_t currentpos; | int64_t currentpos; | ||||
| int i; | int i; | ||||
| currentpos = url_ftell(pb); | |||||
| currentpos = avio_tell(pb); | |||||
| if (seekhead->reserved_size > 0) | if (seekhead->reserved_size > 0) | ||||
| if (avio_seek(pb, seekhead->filepos, SEEK_SET) < 0) | if (avio_seek(pb, seekhead->filepos, SEEK_SET) < 0) | ||||
| @@ -332,7 +332,7 @@ static int64_t mkv_write_seekhead(AVIOContext *pb, mkv_seekhead *seekhead) | |||||
| end_ebml_master(pb, metaseek); | end_ebml_master(pb, metaseek); | ||||
| if (seekhead->reserved_size > 0) { | if (seekhead->reserved_size > 0) { | ||||
| uint64_t remaining = seekhead->filepos + seekhead->reserved_size - url_ftell(pb); | |||||
| uint64_t remaining = seekhead->filepos + seekhead->reserved_size - avio_tell(pb); | |||||
| put_ebml_void(pb, remaining); | put_ebml_void(pb, remaining); | ||||
| avio_seek(pb, currentpos, SEEK_SET); | avio_seek(pb, currentpos, SEEK_SET); | ||||
| @@ -379,7 +379,7 @@ static int64_t mkv_write_cues(AVIOContext *pb, mkv_cues *cues, int num_tracks) | |||||
| int64_t currentpos; | int64_t currentpos; | ||||
| int i, j; | int i, j; | ||||
| currentpos = url_ftell(pb); | |||||
| currentpos = avio_tell(pb); | |||||
| cues_element = start_ebml_master(pb, MATROSKA_ID_CUES, 0); | cues_element = start_ebml_master(pb, MATROSKA_ID_CUES, 0); | ||||
| for (i = 0; i < cues->num_entries; i++) { | for (i = 0; i < cues->num_entries; i++) { | ||||
| @@ -526,7 +526,7 @@ static int mkv_write_tracks(AVFormatContext *s) | |||||
| ebml_master tracks; | ebml_master tracks; | ||||
| int i, j, ret; | int i, j, ret; | ||||
| ret = mkv_add_seekhead_entry(mkv->main_seekhead, MATROSKA_ID_TRACKS, url_ftell(pb)); | |||||
| ret = mkv_add_seekhead_entry(mkv->main_seekhead, MATROSKA_ID_TRACKS, avio_tell(pb)); | |||||
| if (ret < 0) return ret; | if (ret < 0) return ret; | ||||
| tracks = start_ebml_master(pb, MATROSKA_ID_TRACKS, 0); | tracks = start_ebml_master(pb, MATROSKA_ID_TRACKS, 0); | ||||
| @@ -658,7 +658,7 @@ static int mkv_write_chapters(AVFormatContext *s) | |||||
| if (!s->nb_chapters) | if (!s->nb_chapters) | ||||
| return 0; | return 0; | ||||
| ret = mkv_add_seekhead_entry(mkv->main_seekhead, MATROSKA_ID_CHAPTERS, url_ftell(pb)); | |||||
| ret = mkv_add_seekhead_entry(mkv->main_seekhead, MATROSKA_ID_CHAPTERS, avio_tell(pb)); | |||||
| if (ret < 0) return ret; | if (ret < 0) return ret; | ||||
| chapters = start_ebml_master(pb, MATROSKA_ID_CHAPTERS , 0); | chapters = start_ebml_master(pb, MATROSKA_ID_CHAPTERS , 0); | ||||
| @@ -730,7 +730,7 @@ static int mkv_write_tag(AVFormatContext *s, AVMetadata *m, unsigned int element | |||||
| int ret; | int ret; | ||||
| if (!tags->pos) { | if (!tags->pos) { | ||||
| ret = mkv_add_seekhead_entry(mkv->main_seekhead, MATROSKA_ID_TAGS, url_ftell(s->pb)); | |||||
| ret = mkv_add_seekhead_entry(mkv->main_seekhead, MATROSKA_ID_TAGS, avio_tell(s->pb)); | |||||
| if (ret < 0) return ret; | if (ret < 0) return ret; | ||||
| *tags = start_ebml_master(s->pb, MATROSKA_ID_TAGS, 0); | *tags = start_ebml_master(s->pb, MATROSKA_ID_TAGS, 0); | ||||
| @@ -813,7 +813,7 @@ static int mkv_write_header(AVFormatContext *s) | |||||
| end_ebml_master(pb, ebml_header); | end_ebml_master(pb, ebml_header); | ||||
| mkv->segment = start_ebml_master(pb, MATROSKA_ID_SEGMENT, 0); | mkv->segment = start_ebml_master(pb, MATROSKA_ID_SEGMENT, 0); | ||||
| mkv->segment_offset = url_ftell(pb); | |||||
| mkv->segment_offset = avio_tell(pb); | |||||
| // we write 2 seek heads - one at the end of the file to point to each | // we write 2 seek heads - one at the end of the file to point to each | ||||
| // cluster, and one at the beginning to point to all other level one | // cluster, and one at the beginning to point to all other level one | ||||
| @@ -824,7 +824,7 @@ static int mkv_write_header(AVFormatContext *s) | |||||
| if (!mkv->main_seekhead) | if (!mkv->main_seekhead) | ||||
| return AVERROR(ENOMEM); | return AVERROR(ENOMEM); | ||||
| ret = mkv_add_seekhead_entry(mkv->main_seekhead, MATROSKA_ID_INFO, url_ftell(pb)); | |||||
| ret = mkv_add_seekhead_entry(mkv->main_seekhead, MATROSKA_ID_INFO, avio_tell(pb)); | |||||
| if (ret < 0) return ret; | if (ret < 0) return ret; | ||||
| segment_info = start_ebml_master(pb, MATROSKA_ID_INFO, 0); | segment_info = start_ebml_master(pb, MATROSKA_ID_INFO, 0); | ||||
| @@ -847,7 +847,7 @@ static int mkv_write_header(AVFormatContext *s) | |||||
| // reserve space for the duration | // reserve space for the duration | ||||
| mkv->duration = 0; | mkv->duration = 0; | ||||
| mkv->duration_offset = url_ftell(pb); | |||||
| mkv->duration_offset = avio_tell(pb); | |||||
| put_ebml_void(pb, 11); // assumes double-precision float to be written | put_ebml_void(pb, 11); // assumes double-precision float to be written | ||||
| end_ebml_master(pb, segment_info); | end_ebml_master(pb, segment_info); | ||||
| @@ -928,7 +928,7 @@ static int mkv_write_ass_blocks(AVFormatContext *s, AVIOContext *pb, AVPacket *p | |||||
| av_log(s, AV_LOG_DEBUG, "Writing block at offset %" PRIu64 ", size %d, " | av_log(s, AV_LOG_DEBUG, "Writing block at offset %" PRIu64 ", size %d, " | ||||
| "pts %" PRId64 ", duration %d\n", | "pts %" PRId64 ", duration %d\n", | ||||
| url_ftell(pb), size, pkt->pts, duration); | |||||
| avio_tell(pb), size, pkt->pts, duration); | |||||
| blockgroup = start_ebml_master(pb, MATROSKA_ID_BLOCKGROUP, mkv_blockgroup_size(size)); | blockgroup = start_ebml_master(pb, MATROSKA_ID_BLOCKGROUP, mkv_blockgroup_size(size)); | ||||
| put_ebml_id(pb, MATROSKA_ID_BLOCK); | put_ebml_id(pb, MATROSKA_ID_BLOCK); | ||||
| put_ebml_num(pb, size+4, 0); | put_ebml_num(pb, size+4, 0); | ||||
| @@ -957,7 +957,7 @@ static void mkv_write_block(AVFormatContext *s, AVIOContext *pb, | |||||
| av_log(s, AV_LOG_DEBUG, "Writing block at offset %" PRIu64 ", size %d, " | av_log(s, AV_LOG_DEBUG, "Writing block at offset %" PRIu64 ", size %d, " | ||||
| "pts %" PRId64 ", dts %" PRId64 ", duration %d, flags %d\n", | "pts %" PRId64 ", dts %" PRId64 ", duration %d, flags %d\n", | ||||
| url_ftell(pb), pkt->size, pkt->pts, pkt->dts, pkt->duration, flags); | |||||
| avio_tell(pb), pkt->size, pkt->pts, pkt->dts, pkt->duration, flags); | |||||
| if (codec->codec_id == CODEC_ID_H264 && codec->extradata_size > 0 && | if (codec->codec_id == CODEC_ID_H264 && codec->extradata_size > 0 && | ||||
| (AV_RB24(codec->extradata) == 1 || AV_RB32(codec->extradata) == 1)) | (AV_RB24(codec->extradata) == 1 || AV_RB32(codec->extradata) == 1)) | ||||
| ff_avc_parse_nal_units_buf(pkt->data, &data, &size); | ff_avc_parse_nal_units_buf(pkt->data, &data, &size); | ||||
| @@ -1045,7 +1045,7 @@ static int mkv_write_packet_internal(AVFormatContext *s, AVPacket *pkt) | |||||
| } | } | ||||
| if (!mkv->cluster_pos) { | if (!mkv->cluster_pos) { | ||||
| mkv->cluster_pos = url_ftell(s->pb); | |||||
| mkv->cluster_pos = avio_tell(s->pb); | |||||
| mkv->cluster = start_ebml_master(pb, MATROSKA_ID_CLUSTER, 0); | mkv->cluster = start_ebml_master(pb, MATROSKA_ID_CLUSTER, 0); | ||||
| put_ebml_uint(pb, MATROSKA_ID_CLUSTERTIMECODE, FFMAX(0, ts)); | put_ebml_uint(pb, MATROSKA_ID_CLUSTERTIMECODE, FFMAX(0, ts)); | ||||
| mkv->cluster_pts = FFMAX(0, ts); | mkv->cluster_pts = FFMAX(0, ts); | ||||
| @@ -1094,7 +1094,7 @@ static int mkv_write_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| AVCodecContext *codec = s->streams[pkt->stream_index]->codec; | AVCodecContext *codec = s->streams[pkt->stream_index]->codec; | ||||
| int ret, keyframe = !!(pkt->flags & AV_PKT_FLAG_KEY); | int ret, keyframe = !!(pkt->flags & AV_PKT_FLAG_KEY); | ||||
| int64_t ts = mkv->tracks[pkt->stream_index].write_dts ? pkt->dts : pkt->pts; | int64_t ts = mkv->tracks[pkt->stream_index].write_dts ? pkt->dts : pkt->pts; | ||||
| int cluster_size = url_ftell(pb) - (url_is_streamed(s->pb) ? 0 : mkv->cluster_pos); | |||||
| int cluster_size = avio_tell(pb) - (url_is_streamed(s->pb) ? 0 : mkv->cluster_pos); | |||||
| // start a new cluster every 5 MB or 5 sec, or 32k / 1 sec for streaming or | // start a new cluster every 5 MB or 5 sec, or 32k / 1 sec for streaming or | ||||
| // after 4k and on a keyframe | // after 4k and on a keyframe | ||||
| @@ -1103,7 +1103,7 @@ static int mkv_write_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| || cluster_size > 5*1024*1024 || ts > mkv->cluster_pts + 5000 | || cluster_size > 5*1024*1024 || ts > mkv->cluster_pts + 5000 | ||||
| || (codec->codec_type == AVMEDIA_TYPE_VIDEO && keyframe && cluster_size > 4*1024))) { | || (codec->codec_type == AVMEDIA_TYPE_VIDEO && keyframe && cluster_size > 4*1024))) { | ||||
| av_log(s, AV_LOG_DEBUG, "Starting new cluster at offset %" PRIu64 | av_log(s, AV_LOG_DEBUG, "Starting new cluster at offset %" PRIu64 | ||||
| " bytes, pts %" PRIu64 "\n", url_ftell(pb), ts); | |||||
| " bytes, pts %" PRIu64 "\n", avio_tell(pb), ts); | |||||
| end_ebml_master(pb, mkv->cluster); | end_ebml_master(pb, mkv->cluster); | ||||
| mkv->cluster_pos = 0; | mkv->cluster_pos = 0; | ||||
| if (mkv->dyn_bc) | if (mkv->dyn_bc) | ||||
| @@ -1162,7 +1162,7 @@ static int mkv_write_trailer(AVFormatContext *s) | |||||
| // update the duration | // update the duration | ||||
| av_log(s, AV_LOG_DEBUG, "end duration = %" PRIu64 "\n", mkv->duration); | av_log(s, AV_LOG_DEBUG, "end duration = %" PRIu64 "\n", mkv->duration); | ||||
| currentpos = url_ftell(pb); | |||||
| currentpos = avio_tell(pb); | |||||
| avio_seek(pb, mkv->duration_offset, SEEK_SET); | avio_seek(pb, mkv->duration_offset, SEEK_SET); | ||||
| put_ebml_float(pb, MATROSKA_ID_DURATION, mkv->duration); | put_ebml_float(pb, MATROSKA_ID_DURATION, mkv->duration); | ||||
| @@ -52,7 +52,7 @@ static void end_tag_be(AVIOContext *pb, int64_t start) | |||||
| { | { | ||||
| int64_t pos; | int64_t pos; | ||||
| pos = url_ftell(pb); | |||||
| pos = avio_tell(pb); | |||||
| avio_seek(pb, start - 4, SEEK_SET); | avio_seek(pb, start - 4, SEEK_SET); | ||||
| avio_wb32(pb, (uint32_t)(pos - start)); | avio_wb32(pb, (uint32_t)(pos - start)); | ||||
| avio_seek(pb, pos, SEEK_SET); | avio_seek(pb, pos, SEEK_SET); | ||||
| @@ -84,7 +84,7 @@ static int mmf_write_header(AVFormatContext *s) | |||||
| avio_write(pb, "ATR\x00", 4); | avio_write(pb, "ATR\x00", 4); | ||||
| avio_wb32(pb, 0); | avio_wb32(pb, 0); | ||||
| mmf->atrpos = url_ftell(pb); | |||||
| mmf->atrpos = avio_tell(pb); | |||||
| avio_w8(pb, 0); /* format type */ | avio_w8(pb, 0); /* format type */ | ||||
| avio_w8(pb, 0); /* sequence type */ | avio_w8(pb, 0); /* sequence type */ | ||||
| avio_w8(pb, (0 << 7) | (1 << 4) | rate); /* (channel << 7) | (format << 4) | rate */ | avio_w8(pb, (0 << 7) | (1 << 4) | rate); /* (channel << 7) | (format << 4) | rate */ | ||||
| @@ -94,7 +94,7 @@ static int mmf_write_header(AVFormatContext *s) | |||||
| ffio_wfourcc(pb, "Atsq"); | ffio_wfourcc(pb, "Atsq"); | ||||
| avio_wb32(pb, 16); | avio_wb32(pb, 16); | ||||
| mmf->atsqpos = url_ftell(pb); | |||||
| mmf->atsqpos = avio_tell(pb); | |||||
| /* Will be filled on close */ | /* Will be filled on close */ | ||||
| avio_write(pb, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", 16); | avio_write(pb, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", 16); | ||||
| @@ -139,7 +139,7 @@ static int mmf_write_trailer(AVFormatContext *s) | |||||
| end_tag_be(pb, mmf->atrpos); | end_tag_be(pb, mmf->atrpos); | ||||
| end_tag_be(pb, 8); | end_tag_be(pb, 8); | ||||
| pos = url_ftell(pb); | |||||
| pos = avio_tell(pb); | |||||
| size = pos - mmf->awapos; | size = pos - mmf->awapos; | ||||
| /* Fill Atsq chunk */ | /* Fill Atsq chunk */ | ||||
| @@ -298,7 +298,7 @@ static int mov_read_default(MOVContext *c, AVIOContext *pb, MOVAtom atom) | |||||
| if (!parse) { /* skip leaf atoms data */ | if (!parse) { /* skip leaf atoms data */ | ||||
| avio_seek(pb, a.size, SEEK_CUR); | avio_seek(pb, a.size, SEEK_CUR); | ||||
| } else { | } else { | ||||
| int64_t start_pos = url_ftell(pb); | |||||
| int64_t start_pos = avio_tell(pb); | |||||
| int64_t left; | int64_t left; | ||||
| int err = parse(c, pb, a); | int err = parse(c, pb, a); | ||||
| if (err < 0) | if (err < 0) | ||||
| @@ -306,7 +306,7 @@ static int mov_read_default(MOVContext *c, AVIOContext *pb, MOVAtom atom) | |||||
| if (c->found_moov && c->found_mdat && | if (c->found_moov && c->found_mdat && | ||||
| (url_is_streamed(pb) || start_pos + a.size == url_fsize(pb))) | (url_is_streamed(pb) || start_pos + a.size == url_fsize(pb))) | ||||
| return 0; | return 0; | ||||
| left = a.size - url_ftell(pb) + start_pos; | |||||
| left = a.size - avio_tell(pb) + start_pos; | |||||
| if (left > 0) /* skip garbage at atom end */ | if (left > 0) /* skip garbage at atom end */ | ||||
| avio_seek(pb, left, SEEK_CUR); | avio_seek(pb, left, SEEK_CUR); | ||||
| } | } | ||||
| @@ -343,7 +343,7 @@ static int mov_read_dref(MOVContext *c, AVIOContext *pb, MOVAtom atom) | |||||
| for (i = 0; i < sc->drefs_count; i++) { | for (i = 0; i < sc->drefs_count; i++) { | ||||
| MOVDref *dref = &sc->drefs[i]; | MOVDref *dref = &sc->drefs[i]; | ||||
| uint32_t size = avio_rb32(pb); | uint32_t size = avio_rb32(pb); | ||||
| int64_t next = url_ftell(pb) + size - 4; | |||||
| int64_t next = avio_tell(pb) + size - 4; | |||||
| if (size < 12) | if (size < 12) | ||||
| return -1; | return -1; | ||||
| @@ -383,7 +383,7 @@ static int mov_read_dref(MOVContext *c, AVIOContext *pb, MOVAtom atom) | |||||
| avio_seek(pb, 16, SEEK_CUR); | avio_seek(pb, 16, SEEK_CUR); | ||||
| for (type = 0; type != -1 && url_ftell(pb) < next; ) { | |||||
| for (type = 0; type != -1 && avio_tell(pb) < next; ) { | |||||
| type = avio_rb16(pb); | type = avio_rb16(pb); | ||||
| len = avio_rb16(pb); | len = avio_rb16(pb); | ||||
| av_log(c->fc, AV_LOG_DEBUG, "type %d, len %d\n", type, len); | av_log(c->fc, AV_LOG_DEBUG, "type %d, len %d\n", type, len); | ||||
| @@ -583,7 +583,7 @@ static int mov_read_moov(MOVContext *c, AVIOContext *pb, MOVAtom atom) | |||||
| static int mov_read_moof(MOVContext *c, AVIOContext *pb, MOVAtom atom) | static int mov_read_moof(MOVContext *c, AVIOContext *pb, MOVAtom atom) | ||||
| { | { | ||||
| c->fragment.moof_offset = url_ftell(pb) - 8; | |||||
| c->fragment.moof_offset = avio_tell(pb) - 8; | |||||
| av_dlog(c->fc, "moof offset %llx\n", c->fragment.moof_offset); | av_dlog(c->fc, "moof offset %llx\n", c->fragment.moof_offset); | ||||
| return mov_read_default(c, pb, atom); | return mov_read_default(c, pb, atom); | ||||
| } | } | ||||
| @@ -925,7 +925,7 @@ int ff_mov_read_stsd_entries(MOVContext *c, AVIOContext *pb, int entries) | |||||
| enum CodecID id; | enum CodecID id; | ||||
| int dref_id = 1; | int dref_id = 1; | ||||
| MOVAtom a = { AV_RL32("stsd") }; | MOVAtom a = { AV_RL32("stsd") }; | ||||
| int64_t start_pos = url_ftell(pb); | |||||
| int64_t start_pos = avio_tell(pb); | |||||
| int size = avio_rb32(pb); /* size */ | int size = avio_rb32(pb); /* size */ | ||||
| uint32_t format = avio_rl32(pb); /* data format */ | uint32_t format = avio_rl32(pb); /* data format */ | ||||
| @@ -945,7 +945,7 @@ int ff_mov_read_stsd_entries(MOVContext *c, AVIOContext *pb, int entries) | |||||
| * in the MOV demuxer, patch welcome. */ | * in the MOV demuxer, patch welcome. */ | ||||
| multiple_stsd: | multiple_stsd: | ||||
| av_log(c->fc, AV_LOG_WARNING, "multiple fourcc not supported\n"); | av_log(c->fc, AV_LOG_WARNING, "multiple fourcc not supported\n"); | ||||
| avio_seek(pb, size - (url_ftell(pb) - start_pos), SEEK_CUR); | |||||
| avio_seek(pb, size - (avio_tell(pb) - start_pos), SEEK_CUR); | |||||
| continue; | continue; | ||||
| } | } | ||||
| /* we cannot demux concatenated h264 streams because of different extradata */ | /* we cannot demux concatenated h264 streams because of different extradata */ | ||||
| @@ -1166,7 +1166,7 @@ int ff_mov_read_stsd_entries(MOVContext *c, AVIOContext *pb, int entries) | |||||
| } else if(st->codec->codec_type==AVMEDIA_TYPE_SUBTITLE){ | } else if(st->codec->codec_type==AVMEDIA_TYPE_SUBTITLE){ | ||||
| // ttxt stsd contains display flags, justification, background | // ttxt stsd contains display flags, justification, background | ||||
| // color, fonts, and default styles, so fake an atom to read it | // color, fonts, and default styles, so fake an atom to read it | ||||
| MOVAtom fake_atom = { .size = size - (url_ftell(pb) - start_pos) }; | |||||
| MOVAtom fake_atom = { .size = size - (avio_tell(pb) - start_pos) }; | |||||
| if (format != AV_RL32("mp4s")) // mp4s contains a regular esds atom | if (format != AV_RL32("mp4s")) // mp4s contains a regular esds atom | ||||
| mov_read_glbl(c, pb, fake_atom); | mov_read_glbl(c, pb, fake_atom); | ||||
| st->codec->codec_id= id; | st->codec->codec_id= id; | ||||
| @@ -1174,10 +1174,10 @@ int ff_mov_read_stsd_entries(MOVContext *c, AVIOContext *pb, int entries) | |||||
| st->codec->height = sc->height; | st->codec->height = sc->height; | ||||
| } else { | } else { | ||||
| /* other codec type, just skip (rtp, mp4s, tmcd ...) */ | /* other codec type, just skip (rtp, mp4s, tmcd ...) */ | ||||
| avio_seek(pb, size - (url_ftell(pb) - start_pos), SEEK_CUR); | |||||
| avio_seek(pb, size - (avio_tell(pb) - start_pos), SEEK_CUR); | |||||
| } | } | ||||
| /* this will read extra atoms at the end (wave, alac, damr, avcC, SMI ...) */ | /* this will read extra atoms at the end (wave, alac, damr, avcC, SMI ...) */ | ||||
| a.size = size - (url_ftell(pb) - start_pos); | |||||
| a.size = size - (avio_tell(pb) - start_pos); | |||||
| if (a.size > 8) { | if (a.size > 8) { | ||||
| if (mov_read_default(c, pb, a) < 0) | if (mov_read_default(c, pb, a) < 0) | ||||
| return -1; | return -1; | ||||
| @@ -2299,7 +2299,7 @@ static void mov_read_chapters(AVFormatContext *s) | |||||
| st->discard = AVDISCARD_ALL; | st->discard = AVDISCARD_ALL; | ||||
| sc = st->priv_data; | sc = st->priv_data; | ||||
| cur_pos = url_ftell(sc->pb); | |||||
| cur_pos = avio_tell(sc->pb); | |||||
| for (i = 0; i < st->nb_index_entries; i++) { | for (i = 0; i < st->nb_index_entries; i++) { | ||||
| AVIndexEntry *sample = &st->index_entries[i]; | AVIndexEntry *sample = &st->index_entries[i]; | ||||
| @@ -2364,7 +2364,7 @@ static int mov_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| av_log(s, AV_LOG_ERROR, "moov atom not found\n"); | av_log(s, AV_LOG_ERROR, "moov atom not found\n"); | ||||
| return -1; | return -1; | ||||
| } | } | ||||
| av_dlog(mov->fc, "on_parse_exit_offset=%lld\n", url_ftell(pb)); | |||||
| av_dlog(mov->fc, "on_parse_exit_offset=%lld\n", avio_tell(pb)); | |||||
| if (!url_is_streamed(pb) && mov->chapter_track > 0) | if (!url_is_streamed(pb) && mov->chapter_track > 0) | ||||
| mov_read_chapters(s); | mov_read_chapters(s); | ||||
| @@ -2413,7 +2413,7 @@ static int mov_read_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| mov_read_default(mov, s->pb, (MOVAtom){ AV_RL32("root"), INT64_MAX }) < 0 || | mov_read_default(mov, s->pb, (MOVAtom){ AV_RL32("root"), INT64_MAX }) < 0 || | ||||
| url_feof(s->pb)) | url_feof(s->pb)) | ||||
| return AVERROR_EOF; | return AVERROR_EOF; | ||||
| av_dlog(s, "read fragments, offset 0x%llx\n", url_ftell(s->pb)); | |||||
| av_dlog(s, "read fragments, offset 0x%llx\n", avio_tell(s->pb)); | |||||
| goto retry; | goto retry; | ||||
| } | } | ||||
| sc = st->priv_data; | sc = st->priv_data; | ||||
| @@ -39,7 +39,7 @@ | |||||
| //FIXME support 64 bit variant with wide placeholders | //FIXME support 64 bit variant with wide placeholders | ||||
| static int64_t updateSize(AVIOContext *pb, int64_t pos) | static int64_t updateSize(AVIOContext *pb, int64_t pos) | ||||
| { | { | ||||
| int64_t curpos = url_ftell(pb); | |||||
| int64_t curpos = avio_tell(pb); | |||||
| avio_seek(pb, pos, SEEK_SET); | avio_seek(pb, pos, SEEK_SET); | ||||
| avio_wb32(pb, curpos - pos); /* rewrite size */ | avio_wb32(pb, curpos - pos); /* rewrite size */ | ||||
| avio_seek(pb, curpos, SEEK_SET); | avio_seek(pb, curpos, SEEK_SET); | ||||
| @@ -52,7 +52,7 @@ static int mov_write_stco_tag(AVIOContext *pb, MOVTrack *track) | |||||
| { | { | ||||
| int i; | int i; | ||||
| int mode64 = 0; // use 32 bit size variant if possible | int mode64 = 0; // use 32 bit size variant if possible | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| avio_wb32(pb, 0); /* size */ | avio_wb32(pb, 0); /* size */ | ||||
| if (pos > UINT32_MAX) { | if (pos > UINT32_MAX) { | ||||
| mode64 = 1; | mode64 = 1; | ||||
| @@ -76,7 +76,7 @@ static int mov_write_stsz_tag(AVIOContext *pb, MOVTrack *track) | |||||
| int equalChunks = 1; | int equalChunks = 1; | ||||
| int i, j, entries = 0, tst = -1, oldtst = -1; | int i, j, entries = 0, tst = -1, oldtst = -1; | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| avio_wb32(pb, 0); /* size */ | avio_wb32(pb, 0); /* size */ | ||||
| ffio_wfourcc(pb, "stsz"); | ffio_wfourcc(pb, "stsz"); | ||||
| avio_wb32(pb, 0); /* version & flags */ | avio_wb32(pb, 0); /* version & flags */ | ||||
| @@ -114,11 +114,11 @@ static int mov_write_stsc_tag(AVIOContext *pb, MOVTrack *track) | |||||
| int index = 0, oldval = -1, i; | int index = 0, oldval = -1, i; | ||||
| int64_t entryPos, curpos; | int64_t entryPos, curpos; | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| avio_wb32(pb, 0); /* size */ | avio_wb32(pb, 0); /* size */ | ||||
| ffio_wfourcc(pb, "stsc"); | ffio_wfourcc(pb, "stsc"); | ||||
| avio_wb32(pb, 0); // version & flags | avio_wb32(pb, 0); // version & flags | ||||
| entryPos = url_ftell(pb); | |||||
| entryPos = avio_tell(pb); | |||||
| avio_wb32(pb, track->entry); // entry count | avio_wb32(pb, track->entry); // entry count | ||||
| for (i=0; i<track->entry; i++) { | for (i=0; i<track->entry; i++) { | ||||
| if(oldval != track->cluster[i].samplesInChunk) | if(oldval != track->cluster[i].samplesInChunk) | ||||
| @@ -130,7 +130,7 @@ static int mov_write_stsc_tag(AVIOContext *pb, MOVTrack *track) | |||||
| index++; | index++; | ||||
| } | } | ||||
| } | } | ||||
| curpos = url_ftell(pb); | |||||
| curpos = avio_tell(pb); | |||||
| avio_seek(pb, entryPos, SEEK_SET); | avio_seek(pb, entryPos, SEEK_SET); | ||||
| avio_wb32(pb, index); // rewrite size | avio_wb32(pb, index); // rewrite size | ||||
| avio_seek(pb, curpos, SEEK_SET); | avio_seek(pb, curpos, SEEK_SET); | ||||
| @@ -143,11 +143,11 @@ static int mov_write_stss_tag(AVIOContext *pb, MOVTrack *track, uint32_t flag) | |||||
| { | { | ||||
| int64_t curpos, entryPos; | int64_t curpos, entryPos; | ||||
| int i, index = 0; | int i, index = 0; | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| avio_wb32(pb, 0); // size | avio_wb32(pb, 0); // size | ||||
| ffio_wfourcc(pb, flag == MOV_SYNC_SAMPLE ? "stss" : "stps"); | ffio_wfourcc(pb, flag == MOV_SYNC_SAMPLE ? "stss" : "stps"); | ||||
| avio_wb32(pb, 0); // version & flags | avio_wb32(pb, 0); // version & flags | ||||
| entryPos = url_ftell(pb); | |||||
| entryPos = avio_tell(pb); | |||||
| avio_wb32(pb, track->entry); // entry count | avio_wb32(pb, track->entry); // entry count | ||||
| for (i=0; i<track->entry; i++) { | for (i=0; i<track->entry; i++) { | ||||
| if (track->cluster[i].flags & flag) { | if (track->cluster[i].flags & flag) { | ||||
| @@ -155,7 +155,7 @@ static int mov_write_stss_tag(AVIOContext *pb, MOVTrack *track, uint32_t flag) | |||||
| index++; | index++; | ||||
| } | } | ||||
| } | } | ||||
| curpos = url_ftell(pb); | |||||
| curpos = avio_tell(pb); | |||||
| avio_seek(pb, entryPos, SEEK_SET); | avio_seek(pb, entryPos, SEEK_SET); | ||||
| avio_wb32(pb, index); // rewrite size | avio_wb32(pb, index); // rewrite size | ||||
| avio_seek(pb, curpos, SEEK_SET); | avio_seek(pb, curpos, SEEK_SET); | ||||
| @@ -256,7 +256,7 @@ static void putDescr(AVIOContext *pb, int tag, unsigned int size) | |||||
| static int mov_write_esds_tag(AVIOContext *pb, MOVTrack *track) // Basic | static int mov_write_esds_tag(AVIOContext *pb, MOVTrack *track) // Basic | ||||
| { | { | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| int decoderSpecificInfoLen = track->vosLen ? descrLength(track->vosLen):0; | int decoderSpecificInfoLen = track->vosLen ? descrLength(track->vosLen):0; | ||||
| avio_wb32(pb, 0); // size | avio_wb32(pb, 0); // size | ||||
| @@ -318,7 +318,7 @@ static int mov_pcm_le_gt16(enum CodecID codec_id) | |||||
| static int mov_write_ms_tag(AVIOContext *pb, MOVTrack *track) | static int mov_write_ms_tag(AVIOContext *pb, MOVTrack *track) | ||||
| { | { | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| avio_wb32(pb, 0); | avio_wb32(pb, 0); | ||||
| avio_wl32(pb, track->tag); // store it byteswapped | avio_wl32(pb, track->tag); // store it byteswapped | ||||
| track->enc->codec_tag = av_bswap16(track->tag >> 16); | track->enc->codec_tag = av_bswap16(track->tag >> 16); | ||||
| @@ -328,7 +328,7 @@ static int mov_write_ms_tag(AVIOContext *pb, MOVTrack *track) | |||||
| static int mov_write_wave_tag(AVIOContext *pb, MOVTrack *track) | static int mov_write_wave_tag(AVIOContext *pb, MOVTrack *track) | ||||
| { | { | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| avio_wb32(pb, 0); /* size */ | avio_wb32(pb, 0); /* size */ | ||||
| ffio_wfourcc(pb, "wave"); | ffio_wfourcc(pb, "wave"); | ||||
| @@ -401,7 +401,7 @@ static int mov_get_lpcm_flags(enum CodecID codec_id) | |||||
| static int mov_write_audio_tag(AVIOContext *pb, MOVTrack *track) | static int mov_write_audio_tag(AVIOContext *pb, MOVTrack *track) | ||||
| { | { | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| int version = 0; | int version = 0; | ||||
| uint32_t tag = track->tag; | uint32_t tag = track->tag; | ||||
| @@ -519,7 +519,7 @@ static int mov_write_svq3_tag(AVIOContext *pb) | |||||
| static int mov_write_avcc_tag(AVIOContext *pb, MOVTrack *track) | static int mov_write_avcc_tag(AVIOContext *pb, MOVTrack *track) | ||||
| { | { | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| avio_wb32(pb, 0); | avio_wb32(pb, 0); | ||||
| ffio_wfourcc(pb, "avcC"); | ffio_wfourcc(pb, "avcC"); | ||||
| @@ -765,7 +765,7 @@ static int mov_write_uuid_tag_ipod(AVIOContext *pb) | |||||
| static int mov_write_subtitle_tag(AVIOContext *pb, MOVTrack *track) | static int mov_write_subtitle_tag(AVIOContext *pb, MOVTrack *track) | ||||
| { | { | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| avio_wb32(pb, 0); /* size */ | avio_wb32(pb, 0); /* size */ | ||||
| avio_wl32(pb, track->tag); // store it byteswapped | avio_wl32(pb, track->tag); // store it byteswapped | ||||
| avio_wb32(pb, 0); /* Reserved */ | avio_wb32(pb, 0); /* Reserved */ | ||||
| @@ -793,7 +793,7 @@ static int mov_write_pasp_tag(AVIOContext *pb, MOVTrack *track) | |||||
| static int mov_write_video_tag(AVIOContext *pb, MOVTrack *track) | static int mov_write_video_tag(AVIOContext *pb, MOVTrack *track) | ||||
| { | { | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| char compressor_name[32]; | char compressor_name[32]; | ||||
| avio_wb32(pb, 0); /* size */ | avio_wb32(pb, 0); /* size */ | ||||
| @@ -862,7 +862,7 @@ static int mov_write_video_tag(AVIOContext *pb, MOVTrack *track) | |||||
| static int mov_write_rtp_tag(AVIOContext *pb, MOVTrack *track) | static int mov_write_rtp_tag(AVIOContext *pb, MOVTrack *track) | ||||
| { | { | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| avio_wb32(pb, 0); /* size */ | avio_wb32(pb, 0); /* size */ | ||||
| ffio_wfourcc(pb, "rtp "); | ffio_wfourcc(pb, "rtp "); | ||||
| avio_wb32(pb, 0); /* Reserved */ | avio_wb32(pb, 0); /* Reserved */ | ||||
| @@ -882,7 +882,7 @@ static int mov_write_rtp_tag(AVIOContext *pb, MOVTrack *track) | |||||
| static int mov_write_stsd_tag(AVIOContext *pb, MOVTrack *track) | static int mov_write_stsd_tag(AVIOContext *pb, MOVTrack *track) | ||||
| { | { | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| avio_wb32(pb, 0); /* size */ | avio_wb32(pb, 0); /* size */ | ||||
| ffio_wfourcc(pb, "stsd"); | ffio_wfourcc(pb, "stsd"); | ||||
| avio_wb32(pb, 0); /* version & flags */ | avio_wb32(pb, 0); /* version & flags */ | ||||
| @@ -989,7 +989,7 @@ static int mov_write_dref_tag(AVIOContext *pb) | |||||
| static int mov_write_stbl_tag(AVIOContext *pb, MOVTrack *track) | static int mov_write_stbl_tag(AVIOContext *pb, MOVTrack *track) | ||||
| { | { | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| avio_wb32(pb, 0); /* size */ | avio_wb32(pb, 0); /* size */ | ||||
| ffio_wfourcc(pb, "stbl"); | ffio_wfourcc(pb, "stbl"); | ||||
| mov_write_stsd_tag(pb, track); | mov_write_stsd_tag(pb, track); | ||||
| @@ -1011,7 +1011,7 @@ static int mov_write_stbl_tag(AVIOContext *pb, MOVTrack *track) | |||||
| static int mov_write_dinf_tag(AVIOContext *pb) | static int mov_write_dinf_tag(AVIOContext *pb) | ||||
| { | { | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| avio_wb32(pb, 0); /* size */ | avio_wb32(pb, 0); /* size */ | ||||
| ffio_wfourcc(pb, "dinf"); | ffio_wfourcc(pb, "dinf"); | ||||
| mov_write_dref_tag(pb); | mov_write_dref_tag(pb); | ||||
| @@ -1064,7 +1064,7 @@ static int mov_write_vmhd_tag(AVIOContext *pb) | |||||
| static int mov_write_hdlr_tag(AVIOContext *pb, MOVTrack *track) | static int mov_write_hdlr_tag(AVIOContext *pb, MOVTrack *track) | ||||
| { | { | ||||
| const char *hdlr, *descr = NULL, *hdlr_type = NULL; | const char *hdlr, *descr = NULL, *hdlr_type = NULL; | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| if (!track) { /* no media --> data handler */ | if (!track) { /* no media --> data handler */ | ||||
| hdlr = "dhlr"; | hdlr = "dhlr"; | ||||
| @@ -1121,7 +1121,7 @@ static int mov_write_hmhd_tag(AVIOContext *pb) | |||||
| static int mov_write_minf_tag(AVIOContext *pb, MOVTrack *track) | static int mov_write_minf_tag(AVIOContext *pb, MOVTrack *track) | ||||
| { | { | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| avio_wb32(pb, 0); /* size */ | avio_wb32(pb, 0); /* size */ | ||||
| ffio_wfourcc(pb, "minf"); | ffio_wfourcc(pb, "minf"); | ||||
| if(track->enc->codec_type == AVMEDIA_TYPE_VIDEO) | if(track->enc->codec_type == AVMEDIA_TYPE_VIDEO) | ||||
| @@ -1173,7 +1173,7 @@ static int mov_write_mdhd_tag(AVIOContext *pb, MOVTrack *track) | |||||
| static int mov_write_mdia_tag(AVIOContext *pb, MOVTrack *track) | static int mov_write_mdia_tag(AVIOContext *pb, MOVTrack *track) | ||||
| { | { | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| avio_wb32(pb, 0); /* size */ | avio_wb32(pb, 0); /* size */ | ||||
| ffio_wfourcc(pb, "mdia"); | ffio_wfourcc(pb, "mdia"); | ||||
| mov_write_mdhd_tag(pb, track); | mov_write_mdhd_tag(pb, track); | ||||
| @@ -1250,7 +1250,7 @@ static int mov_write_tapt_tag(AVIOContext *pb, MOVTrack *track) | |||||
| int32_t width = av_rescale(track->enc->sample_aspect_ratio.num, track->enc->width, | int32_t width = av_rescale(track->enc->sample_aspect_ratio.num, track->enc->width, | ||||
| track->enc->sample_aspect_ratio.den); | track->enc->sample_aspect_ratio.den); | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| avio_wb32(pb, 0); /* size */ | avio_wb32(pb, 0); /* size */ | ||||
| ffio_wfourcc(pb, "tapt"); | ffio_wfourcc(pb, "tapt"); | ||||
| @@ -1339,7 +1339,7 @@ static int mov_write_udta_sdp(AVIOContext *pb, AVCodecContext *ctx, int index) | |||||
| static int mov_write_trak_tag(AVIOContext *pb, MOVTrack *track, AVStream *st) | static int mov_write_trak_tag(AVIOContext *pb, MOVTrack *track, AVStream *st) | ||||
| { | { | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| avio_wb32(pb, 0); /* size */ | avio_wb32(pb, 0); /* size */ | ||||
| ffio_wfourcc(pb, "trak"); | ffio_wfourcc(pb, "trak"); | ||||
| mov_write_tkhd_tag(pb, track, st); | mov_write_tkhd_tag(pb, track, st); | ||||
| @@ -1476,7 +1476,7 @@ static int mov_write_string_data_tag(AVIOContext *pb, const char *data, int lang | |||||
| static int mov_write_string_tag(AVIOContext *pb, const char *name, const char *value, int lang, int long_style){ | static int mov_write_string_tag(AVIOContext *pb, const char *name, const char *value, int lang, int long_style){ | ||||
| int size = 0; | int size = 0; | ||||
| if (value && value[0]) { | if (value && value[0]) { | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| avio_wb32(pb, 0); /* size */ | avio_wb32(pb, 0); /* size */ | ||||
| ffio_wfourcc(pb, name); | ffio_wfourcc(pb, name); | ||||
| mov_write_string_data_tag(pb, value, lang, long_style); | mov_write_string_data_tag(pb, value, lang, long_style); | ||||
| @@ -1535,7 +1535,7 @@ static int mov_write_trkn_tag(AVIOContext *pb, MOVMuxContext *mov, | |||||
| static int mov_write_ilst_tag(AVIOContext *pb, MOVMuxContext *mov, | static int mov_write_ilst_tag(AVIOContext *pb, MOVMuxContext *mov, | ||||
| AVFormatContext *s) | AVFormatContext *s) | ||||
| { | { | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| avio_wb32(pb, 0); /* size */ | avio_wb32(pb, 0); /* size */ | ||||
| ffio_wfourcc(pb, "ilst"); | ffio_wfourcc(pb, "ilst"); | ||||
| mov_write_string_metadata(s, pb, "\251nam", "title" , 1); | mov_write_string_metadata(s, pb, "\251nam", "title" , 1); | ||||
| @@ -1564,7 +1564,7 @@ static int mov_write_meta_tag(AVIOContext *pb, MOVMuxContext *mov, | |||||
| AVFormatContext *s) | AVFormatContext *s) | ||||
| { | { | ||||
| int size = 0; | int size = 0; | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| avio_wb32(pb, 0); /* size */ | avio_wb32(pb, 0); /* size */ | ||||
| ffio_wfourcc(pb, "meta"); | ffio_wfourcc(pb, "meta"); | ||||
| avio_wb32(pb, 0); | avio_wb32(pb, 0); | ||||
| @@ -1604,7 +1604,7 @@ static uint16_t language_code(const char *str) | |||||
| static int mov_write_3gp_udta_tag(AVIOContext *pb, AVFormatContext *s, | static int mov_write_3gp_udta_tag(AVIOContext *pb, AVFormatContext *s, | ||||
| const char *tag, const char *str) | const char *tag, const char *str) | ||||
| { | { | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| AVMetadataTag *t = av_metadata_get(s->metadata, str, NULL, 0); | AVMetadataTag *t = av_metadata_get(s->metadata, str, NULL, 0); | ||||
| if (!t || !utf8len(t->value)) | if (!t || !utf8len(t->value)) | ||||
| return 0; | return 0; | ||||
| @@ -1625,7 +1625,7 @@ static int mov_write_3gp_udta_tag(AVIOContext *pb, AVFormatContext *s, | |||||
| static int mov_write_chpl_tag(AVIOContext *pb, AVFormatContext *s) | static int mov_write_chpl_tag(AVIOContext *pb, AVFormatContext *s) | ||||
| { | { | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| int i, nb_chapters = FFMIN(s->nb_chapters, 255); | int i, nb_chapters = FFMIN(s->nb_chapters, 255); | ||||
| avio_wb32(pb, 0); // size | avio_wb32(pb, 0); // size | ||||
| @@ -1721,7 +1721,7 @@ static int mov_write_uuidusmt_tag(AVIOContext *pb, AVFormatContext *s) | |||||
| int64_t pos, pos2; | int64_t pos, pos2; | ||||
| if (title) { | if (title) { | ||||
| pos = url_ftell(pb); | |||||
| pos = avio_tell(pb); | |||||
| avio_wb32(pb, 0); /* size placeholder*/ | avio_wb32(pb, 0); /* size placeholder*/ | ||||
| ffio_wfourcc(pb, "uuid"); | ffio_wfourcc(pb, "uuid"); | ||||
| ffio_wfourcc(pb, "USMT"); | ffio_wfourcc(pb, "USMT"); | ||||
| @@ -1729,7 +1729,7 @@ static int mov_write_uuidusmt_tag(AVIOContext *pb, AVFormatContext *s) | |||||
| avio_wb32(pb, 0xbb88695c); | avio_wb32(pb, 0xbb88695c); | ||||
| avio_wb32(pb, 0xfac9c740); | avio_wb32(pb, 0xfac9c740); | ||||
| pos2 = url_ftell(pb); | |||||
| pos2 = avio_tell(pb); | |||||
| avio_wb32(pb, 0); /* size placeholder*/ | avio_wb32(pb, 0); /* size placeholder*/ | ||||
| ffio_wfourcc(pb, "MTDT"); | ffio_wfourcc(pb, "MTDT"); | ||||
| avio_wb16(pb, 4); | avio_wb16(pb, 4); | ||||
| @@ -1757,7 +1757,7 @@ static int mov_write_moov_tag(AVIOContext *pb, MOVMuxContext *mov, | |||||
| AVFormatContext *s) | AVFormatContext *s) | ||||
| { | { | ||||
| int i; | int i; | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| avio_wb32(pb, 0); /* size placeholder*/ | avio_wb32(pb, 0); /* size placeholder*/ | ||||
| ffio_wfourcc(pb, "moov"); | ffio_wfourcc(pb, "moov"); | ||||
| @@ -1802,7 +1802,7 @@ static int mov_write_mdat_tag(AVIOContext *pb, MOVMuxContext *mov) | |||||
| avio_wb32(pb, 8); // placeholder for extended size field (64 bit) | avio_wb32(pb, 8); // placeholder for extended size field (64 bit) | ||||
| ffio_wfourcc(pb, mov->mode == MODE_MOV ? "wide" : "free"); | ffio_wfourcc(pb, mov->mode == MODE_MOV ? "wide" : "free"); | ||||
| mov->mdat_pos = url_ftell(pb); | |||||
| mov->mdat_pos = avio_tell(pb); | |||||
| avio_wb32(pb, 0); /* size placeholder*/ | avio_wb32(pb, 0); /* size placeholder*/ | ||||
| ffio_wfourcc(pb, "mdat"); | ffio_wfourcc(pb, "mdat"); | ||||
| return 0; | return 0; | ||||
| @@ -1812,7 +1812,7 @@ static int mov_write_mdat_tag(AVIOContext *pb, MOVMuxContext *mov) | |||||
| static int mov_write_ftyp_tag(AVIOContext *pb, AVFormatContext *s) | static int mov_write_ftyp_tag(AVIOContext *pb, AVFormatContext *s) | ||||
| { | { | ||||
| MOVMuxContext *mov = s->priv_data; | MOVMuxContext *mov = s->priv_data; | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| int has_h264 = 0, has_video = 0; | int has_h264 = 0, has_video = 0; | ||||
| int minor = 0x200; | int minor = 0x200; | ||||
| int i; | int i; | ||||
| @@ -2012,7 +2012,7 @@ int ff_mov_write_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| return -1; | return -1; | ||||
| } | } | ||||
| trk->cluster[trk->entry].pos = url_ftell(pb) - size; | |||||
| trk->cluster[trk->entry].pos = avio_tell(pb) - size; | |||||
| trk->cluster[trk->entry].samplesInChunk = samplesInChunk; | trk->cluster[trk->entry].samplesInChunk = samplesInChunk; | ||||
| trk->cluster[trk->entry].size = size; | trk->cluster[trk->entry].size = size; | ||||
| trk->cluster[trk->entry].entries = samplesInChunk; | trk->cluster[trk->entry].entries = samplesInChunk; | ||||
| @@ -2243,7 +2243,7 @@ static int mov_write_trailer(AVFormatContext *s) | |||||
| int res = 0; | int res = 0; | ||||
| int i; | int i; | ||||
| int64_t moov_pos = url_ftell(pb); | |||||
| int64_t moov_pos = avio_tell(pb); | |||||
| /* Write size of mdat tag */ | /* Write size of mdat tag */ | ||||
| if (mov->mdat_size+8 <= UINT32_MAX) { | if (mov->mdat_size+8 <= UINT32_MAX) { | ||||
| @@ -316,7 +316,7 @@ static int write_hint_packets(AVIOContext *out, const uint8_t *data, | |||||
| int64_t count_pos, entries_pos; | int64_t count_pos, entries_pos; | ||||
| int count = 0, entries; | int count = 0, entries; | ||||
| count_pos = url_ftell(out); | |||||
| count_pos = avio_tell(out); | |||||
| /* RTPsample header */ | /* RTPsample header */ | ||||
| avio_wb16(out, 0); /* packet count */ | avio_wb16(out, 0); /* packet count */ | ||||
| avio_wb16(out, 0); /* reserved */ | avio_wb16(out, 0); /* reserved */ | ||||
| @@ -358,7 +358,7 @@ static int write_hint_packets(AVIOContext *out, const uint8_t *data, | |||||
| avio_write(out, data, 2); /* RTP header */ | avio_write(out, data, 2); /* RTP header */ | ||||
| avio_wb16(out, seq); /* RTPsequenceseed */ | avio_wb16(out, seq); /* RTPsequenceseed */ | ||||
| avio_wb16(out, 0); /* reserved + flags */ | avio_wb16(out, 0); /* reserved + flags */ | ||||
| entries_pos = url_ftell(out); | |||||
| entries_pos = avio_tell(out); | |||||
| avio_wb16(out, 0); /* entry count */ | avio_wb16(out, 0); /* entry count */ | ||||
| data += 12; | data += 12; | ||||
| @@ -371,13 +371,13 @@ static int write_hint_packets(AVIOContext *out, const uint8_t *data, | |||||
| data += packet_len; | data += packet_len; | ||||
| size -= packet_len; | size -= packet_len; | ||||
| curpos = url_ftell(out); | |||||
| curpos = avio_tell(out); | |||||
| avio_seek(out, entries_pos, SEEK_SET); | avio_seek(out, entries_pos, SEEK_SET); | ||||
| avio_wb16(out, entries); | avio_wb16(out, entries); | ||||
| avio_seek(out, curpos, SEEK_SET); | avio_seek(out, curpos, SEEK_SET); | ||||
| } | } | ||||
| curpos = url_ftell(out); | |||||
| curpos = avio_tell(out); | |||||
| avio_seek(out, count_pos, SEEK_SET); | avio_seek(out, count_pos, SEEK_SET); | ||||
| avio_wb16(out, count); | avio_wb16(out, count); | ||||
| avio_seek(out, curpos, SEEK_SET); | avio_seek(out, curpos, SEEK_SET); | ||||
| @@ -147,7 +147,7 @@ static int mp3_read_header(AVFormatContext *s, | |||||
| // lcm of all mp3 sample rates | // lcm of all mp3 sample rates | ||||
| av_set_pts_info(st, 64, 1, 14112000); | av_set_pts_info(st, 64, 1, 14112000); | ||||
| off = url_ftell(s->pb); | |||||
| off = avio_tell(s->pb); | |||||
| if (!av_metadata_get(s->metadata, "", NULL, AV_METADATA_IGNORE_SUFFIX)) | if (!av_metadata_get(s->metadata, "", NULL, AV_METADATA_IGNORE_SUFFIX)) | ||||
| ff_id3v1_read(s); | ff_id3v1_read(s); | ||||
| @@ -211,7 +211,7 @@ static int mp3_write_header(struct AVFormatContext *s) | |||||
| avio_w8(s->pb, 0); /* flags */ | avio_w8(s->pb, 0); /* flags */ | ||||
| /* reserve space for size */ | /* reserve space for size */ | ||||
| size_pos = url_ftell(s->pb); | |||||
| size_pos = avio_tell(s->pb); | |||||
| avio_wb32(s->pb, 0); | avio_wb32(s->pb, 0); | ||||
| ff_metadata_conv(&s->metadata, ff_id3v2_34_metadata_conv, NULL); | ff_metadata_conv(&s->metadata, ff_id3v2_34_metadata_conv, NULL); | ||||
| @@ -237,7 +237,7 @@ static int mp3_write_header(struct AVFormatContext *s) | |||||
| totlen += ret; | totlen += ret; | ||||
| } | } | ||||
| cur_pos = url_ftell(s->pb); | |||||
| cur_pos = avio_tell(s->pb); | |||||
| avio_seek(s->pb, size_pos, SEEK_SET); | avio_seek(s->pb, size_pos, SEEK_SET); | ||||
| id3v2_put_size(s, totlen); | id3v2_put_size(s, totlen); | ||||
| avio_seek(s->pb, cur_pos, SEEK_SET); | avio_seek(s->pb, cur_pos, SEEK_SET); | ||||
| @@ -94,7 +94,7 @@ static int mpc_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| /* try to read APE tags */ | /* try to read APE tags */ | ||||
| if (!url_is_streamed(s->pb)) { | if (!url_is_streamed(s->pb)) { | ||||
| int64_t pos = url_ftell(s->pb); | |||||
| int64_t pos = avio_tell(s->pb); | |||||
| ff_ape_parse_tag(s); | ff_ape_parse_tag(s); | ||||
| if (!av_metadata_get(s->metadata, "", NULL, AV_METADATA_IGNORE_SUFFIX)) | if (!av_metadata_get(s->metadata, "", NULL, AV_METADATA_IGNORE_SUFFIX)) | ||||
| ff_id3v1_read(s); | ff_id3v1_read(s); | ||||
| @@ -120,7 +120,7 @@ static int mpc_read_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| c->lastframe = c->curframe; | c->lastframe = c->curframe; | ||||
| c->curframe++; | c->curframe++; | ||||
| curbits = c->curbits; | curbits = c->curbits; | ||||
| pos = url_ftell(s->pb); | |||||
| pos = avio_tell(s->pb); | |||||
| tmp = avio_rl32(s->pb); | tmp = avio_rl32(s->pb); | ||||
| if(curbits <= 12){ | if(curbits <= 12){ | ||||
| size2 = (tmp >> (12 - curbits)) & 0xFFFFF; | size2 = (tmp >> (12 - curbits)) & 0xFFFFF; | ||||
| @@ -120,10 +120,10 @@ static inline int64_t gb_get_v(GetBitContext *gb) | |||||
| static void mpc8_get_chunk_header(AVIOContext *pb, int *tag, int64_t *size) | static void mpc8_get_chunk_header(AVIOContext *pb, int *tag, int64_t *size) | ||||
| { | { | ||||
| int64_t pos; | int64_t pos; | ||||
| pos = url_ftell(pb); | |||||
| pos = avio_tell(pb); | |||||
| *tag = avio_rl16(pb); | *tag = avio_rl16(pb); | ||||
| *size = ff_get_v(pb); | *size = ff_get_v(pb); | ||||
| *size -= url_ftell(pb) - pos; | |||||
| *size -= avio_tell(pb) - pos; | |||||
| } | } | ||||
| static void mpc8_parse_seektable(AVFormatContext *s, int64_t off) | static void mpc8_parse_seektable(AVFormatContext *s, int64_t off) | ||||
| @@ -176,7 +176,7 @@ static void mpc8_handle_chunk(AVFormatContext *s, int tag, int64_t chunk_pos, in | |||||
| switch(tag){ | switch(tag){ | ||||
| case TAG_SEEKTBLOFF: | case TAG_SEEKTBLOFF: | ||||
| pos = url_ftell(pb) + size; | |||||
| pos = avio_tell(pb) + size; | |||||
| off = ff_get_v(pb); | off = ff_get_v(pb); | ||||
| mpc8_parse_seektable(s, chunk_pos + off); | mpc8_parse_seektable(s, chunk_pos + off); | ||||
| avio_seek(pb, pos, SEEK_SET); | avio_seek(pb, pos, SEEK_SET); | ||||
| @@ -194,14 +194,14 @@ static int mpc8_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| int tag = 0; | int tag = 0; | ||||
| int64_t size, pos; | int64_t size, pos; | ||||
| c->header_pos = url_ftell(pb); | |||||
| c->header_pos = avio_tell(pb); | |||||
| if(avio_rl32(pb) != TAG_MPCK){ | if(avio_rl32(pb) != TAG_MPCK){ | ||||
| av_log(s, AV_LOG_ERROR, "Not a Musepack8 file\n"); | av_log(s, AV_LOG_ERROR, "Not a Musepack8 file\n"); | ||||
| return -1; | return -1; | ||||
| } | } | ||||
| while(!url_feof(pb)){ | while(!url_feof(pb)){ | ||||
| pos = url_ftell(pb); | |||||
| pos = avio_tell(pb); | |||||
| mpc8_get_chunk_header(pb, &tag, &size); | mpc8_get_chunk_header(pb, &tag, &size); | ||||
| if(tag == TAG_STREAMHDR) | if(tag == TAG_STREAMHDR) | ||||
| break; | break; | ||||
| @@ -211,7 +211,7 @@ static int mpc8_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| av_log(s, AV_LOG_ERROR, "Stream header not found\n"); | av_log(s, AV_LOG_ERROR, "Stream header not found\n"); | ||||
| return -1; | return -1; | ||||
| } | } | ||||
| pos = url_ftell(pb); | |||||
| pos = avio_tell(pb); | |||||
| avio_seek(pb, 4, SEEK_CUR); //CRC | avio_seek(pb, 4, SEEK_CUR); //CRC | ||||
| c->ver = avio_r8(pb); | c->ver = avio_r8(pb); | ||||
| if(c->ver != 8){ | if(c->ver != 8){ | ||||
| @@ -236,7 +236,7 @@ static int mpc8_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| st->codec->sample_rate = mpc8_rate[st->codec->extradata[0] >> 5]; | st->codec->sample_rate = mpc8_rate[st->codec->extradata[0] >> 5]; | ||||
| av_set_pts_info(st, 32, 1152 << (st->codec->extradata[1]&3)*2, st->codec->sample_rate); | av_set_pts_info(st, 32, 1152 << (st->codec->extradata[1]&3)*2, st->codec->sample_rate); | ||||
| st->duration = c->samples / (1152 << (st->codec->extradata[1]&3)*2); | st->duration = c->samples / (1152 << (st->codec->extradata[1]&3)*2); | ||||
| size -= url_ftell(pb) - pos; | |||||
| size -= avio_tell(pb) - pos; | |||||
| return 0; | return 0; | ||||
| } | } | ||||
| @@ -248,7 +248,7 @@ static int mpc8_read_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| int64_t pos, size; | int64_t pos, size; | ||||
| while(!url_feof(s->pb)){ | while(!url_feof(s->pb)){ | ||||
| pos = url_ftell(s->pb); | |||||
| pos = avio_tell(s->pb); | |||||
| mpc8_get_chunk_header(s->pb, &tag, &size); | mpc8_get_chunk_header(s->pb, &tag, &size); | ||||
| if (size < 0) | if (size < 0) | ||||
| return -1; | return -1; | ||||
| @@ -169,7 +169,7 @@ static int find_prev_start_code(AVIOContext *pb, int *size_ptr) | |||||
| int max_size, start_code; | int max_size, start_code; | ||||
| max_size = *size_ptr; | max_size = *size_ptr; | ||||
| pos_start = url_ftell(pb); | |||||
| pos_start = avio_tell(pb); | |||||
| /* in order to go faster, we fill the buffer */ | /* in order to go faster, we fill the buffer */ | ||||
| pos = pos_start - 16386; | pos = pos_start - 16386; | ||||
| @@ -241,7 +241,7 @@ static int mpegps_read_pes_header(AVFormatContext *s, | |||||
| int len, size, startcode, c, flags, header_len; | int len, size, startcode, c, flags, header_len; | ||||
| int pes_ext, ext2_len, id_ext, skip; | int pes_ext, ext2_len, id_ext, skip; | ||||
| int64_t pts, dts; | int64_t pts, dts; | ||||
| int64_t last_sync= url_ftell(s->pb); | |||||
| int64_t last_sync= avio_tell(s->pb); | |||||
| error_redo: | error_redo: | ||||
| avio_seek(s->pb, last_sync, SEEK_SET); | avio_seek(s->pb, last_sync, SEEK_SET); | ||||
| @@ -250,8 +250,8 @@ static int mpegps_read_pes_header(AVFormatContext *s, | |||||
| m->header_state = 0xff; | m->header_state = 0xff; | ||||
| size = MAX_SYNC_SIZE; | size = MAX_SYNC_SIZE; | ||||
| startcode = find_next_start_code(s->pb, &size, &m->header_state); | startcode = find_next_start_code(s->pb, &size, &m->header_state); | ||||
| last_sync = url_ftell(s->pb); | |||||
| //printf("startcode=%x pos=0x%"PRIx64"\n", startcode, url_ftell(s->pb)); | |||||
| last_sync = avio_tell(s->pb); | |||||
| //printf("startcode=%x pos=0x%"PRIx64"\n", startcode, avio_tell(s->pb)); | |||||
| if (startcode < 0){ | if (startcode < 0){ | ||||
| if(url_feof(s->pb)) | if(url_feof(s->pb)) | ||||
| return AVERROR_EOF; | return AVERROR_EOF; | ||||
| @@ -295,7 +295,7 @@ static int mpegps_read_pes_header(AVFormatContext *s, | |||||
| (startcode == 0x1bd) || (startcode == 0x1fd))) | (startcode == 0x1bd) || (startcode == 0x1fd))) | ||||
| goto redo; | goto redo; | ||||
| if (ppos) { | if (ppos) { | ||||
| *ppos = url_ftell(s->pb) - 4; | |||||
| *ppos = avio_tell(s->pb) - 4; | |||||
| } | } | ||||
| len = avio_rb16(s->pb); | len = avio_rb16(s->pb); | ||||
| pts = | pts = | ||||
| @@ -1265,7 +1265,7 @@ static int handle_packet(MpegTSContext *ts, const uint8_t *packet) | |||||
| if (p >= p_end) | if (p >= p_end) | ||||
| return 0; | return 0; | ||||
| pos = url_ftell(ts->stream->pb); | |||||
| pos = avio_tell(ts->stream->pb); | |||||
| ts->pos47= pos % ts->raw_packet_size; | ts->pos47= pos % ts->raw_packet_size; | ||||
| if (tss->type == MPEGTS_SECTION) { | if (tss->type == MPEGTS_SECTION) { | ||||
| @@ -1454,7 +1454,7 @@ static int mpegts_read_header(AVFormatContext *s, | |||||
| } | } | ||||
| /* read the first 1024 bytes to get packet size */ | /* read the first 1024 bytes to get packet size */ | ||||
| pos = url_ftell(pb); | |||||
| pos = avio_tell(pb); | |||||
| len = avio_read(pb, buf, sizeof(buf)); | len = avio_read(pb, buf, sizeof(buf)); | ||||
| if (len != sizeof(buf)) | if (len != sizeof(buf)) | ||||
| goto fail; | goto fail; | ||||
| @@ -1552,7 +1552,7 @@ static int mpegts_raw_read_packet(AVFormatContext *s, | |||||
| if (av_new_packet(pkt, TS_PACKET_SIZE) < 0) | if (av_new_packet(pkt, TS_PACKET_SIZE) < 0) | ||||
| return AVERROR(ENOMEM); | return AVERROR(ENOMEM); | ||||
| pkt->pos= url_ftell(s->pb); | |||||
| pkt->pos= avio_tell(s->pb); | |||||
| ret = read_packet(s, pkt->data, ts->raw_packet_size); | ret = read_packet(s, pkt->data, ts->raw_packet_size); | ||||
| if (ret < 0) { | if (ret < 0) { | ||||
| av_free_packet(pkt); | av_free_packet(pkt); | ||||
| @@ -1562,7 +1562,7 @@ static int mpegts_raw_read_packet(AVFormatContext *s, | |||||
| /* compute exact PCR for each packet */ | /* compute exact PCR for each packet */ | ||||
| if (parse_pcr(&pcr_h, &pcr_l, pkt->data) == 0) { | if (parse_pcr(&pcr_h, &pcr_l, pkt->data) == 0) { | ||||
| /* we read the next PCR (XXX: optimize it by using a bigger buffer */ | /* we read the next PCR (XXX: optimize it by using a bigger buffer */ | ||||
| pos = url_ftell(s->pb); | |||||
| pos = avio_tell(s->pb); | |||||
| for(i = 0; i < MAX_PACKET_READAHEAD; i++) { | for(i = 0; i < MAX_PACKET_READAHEAD; i++) { | ||||
| avio_seek(s->pb, pos + i * ts->raw_packet_size, SEEK_SET); | avio_seek(s->pb, pos + i * ts->raw_packet_size, SEEK_SET); | ||||
| avio_read(s->pb, pcr_buf, 12); | avio_read(s->pb, pcr_buf, 12); | ||||
| @@ -1591,7 +1591,7 @@ static int mpegts_read_packet(AVFormatContext *s, | |||||
| MpegTSContext *ts = s->priv_data; | MpegTSContext *ts = s->priv_data; | ||||
| int ret, i; | int ret, i; | ||||
| if (url_ftell(s->pb) != ts->last_pos) { | |||||
| if (avio_tell(s->pb) != ts->last_pos) { | |||||
| /* seek detected, flush pes buffer */ | /* seek detected, flush pes buffer */ | ||||
| for (i = 0; i < NB_PID_MAX; i++) { | for (i = 0; i < NB_PID_MAX; i++) { | ||||
| if (ts->pids[i] && ts->pids[i]->type == MPEGTS_PES) { | if (ts->pids[i] && ts->pids[i]->type == MPEGTS_PES) { | ||||
| @@ -1620,7 +1620,7 @@ static int mpegts_read_packet(AVFormatContext *s, | |||||
| } | } | ||||
| } | } | ||||
| ts->last_pos = url_ftell(s->pb); | |||||
| ts->last_pos = avio_tell(s->pb); | |||||
| return ret; | return ret; | ||||
| } | } | ||||
| @@ -1771,7 +1771,7 @@ static int read_seek(AVFormatContext *s, int stream_index, int64_t target_ts, in | |||||
| if(av_seek_frame_binary(s, stream_index, target_ts, flags) < 0) | if(av_seek_frame_binary(s, stream_index, target_ts, flags) < 0) | ||||
| return -1; | return -1; | ||||
| pos= url_ftell(s->pb); | |||||
| pos= avio_tell(s->pb); | |||||
| for(;;) { | for(;;) { | ||||
| avio_seek(s->pb, pos, SEEK_SET); | avio_seek(s->pb, pos, SEEK_SET); | ||||
| @@ -595,7 +595,7 @@ static void retransmit_si_info(AVFormatContext *s) | |||||
| static int64_t get_pcr(const MpegTSWrite *ts, AVIOContext *pb) | static int64_t get_pcr(const MpegTSWrite *ts, AVIOContext *pb) | ||||
| { | { | ||||
| return av_rescale(url_ftell(pb) + 11, 8 * PCR_TIME_BASE, ts->mux_rate) + | |||||
| return av_rescale(avio_tell(pb) + 11, 8 * PCR_TIME_BASE, ts->mux_rate) + | |||||
| ts->first_pcr; | ts->first_pcr; | ||||
| } | } | ||||
| @@ -162,7 +162,7 @@ static int mtv_read_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| int i; | int i; | ||||
| #endif | #endif | ||||
| if((url_ftell(pb) - s->data_offset + mtv->img_segment_size) % mtv->full_segment_size) | |||||
| if((avio_tell(pb) - s->data_offset + mtv->img_segment_size) % mtv->full_segment_size) | |||||
| { | { | ||||
| avio_seek(pb, MTV_AUDIO_PADDING_SIZE, SEEK_CUR); | avio_seek(pb, MTV_AUDIO_PADDING_SIZE, SEEK_CUR); | ||||
| @@ -193,7 +193,7 @@ static int klv_read_packet(KLVPacket *klv, AVIOContext *pb) | |||||
| { | { | ||||
| if (!mxf_read_sync(pb, mxf_klv_key, 4)) | if (!mxf_read_sync(pb, mxf_klv_key, 4)) | ||||
| return -1; | return -1; | ||||
| klv->offset = url_ftell(pb) - 4; | |||||
| klv->offset = avio_tell(pb) - 4; | |||||
| memcpy(klv->key, mxf_klv_key, 4); | memcpy(klv->key, mxf_klv_key, 4); | ||||
| avio_read(pb, klv->key + 4, 12); | avio_read(pb, klv->key + 4, 12); | ||||
| klv->length = klv_decode_ber_length(pb); | klv->length = klv_decode_ber_length(pb); | ||||
| @@ -247,7 +247,7 @@ static int mxf_decrypt_triplet(AVFormatContext *s, AVPacket *pkt, KLVPacket *klv | |||||
| static const uint8_t checkv[16] = {0x43, 0x48, 0x55, 0x4b, 0x43, 0x48, 0x55, 0x4b, 0x43, 0x48, 0x55, 0x4b, 0x43, 0x48, 0x55, 0x4b}; | static const uint8_t checkv[16] = {0x43, 0x48, 0x55, 0x4b, 0x43, 0x48, 0x55, 0x4b, 0x43, 0x48, 0x55, 0x4b, 0x43, 0x48, 0x55, 0x4b}; | ||||
| MXFContext *mxf = s->priv_data; | MXFContext *mxf = s->priv_data; | ||||
| AVIOContext *pb = s->pb; | AVIOContext *pb = s->pb; | ||||
| int64_t end = url_ftell(pb) + klv->length; | |||||
| int64_t end = avio_tell(pb) + klv->length; | |||||
| uint64_t size; | uint64_t size; | ||||
| uint64_t orig_size; | uint64_t orig_size; | ||||
| uint64_t plaintext_size; | uint64_t plaintext_size; | ||||
| @@ -297,7 +297,7 @@ static int mxf_decrypt_triplet(AVFormatContext *s, AVPacket *pkt, KLVPacket *klv | |||||
| &pkt->data[plaintext_size], size >> 4, ivec, 1); | &pkt->data[plaintext_size], size >> 4, ivec, 1); | ||||
| pkt->size = orig_size; | pkt->size = orig_size; | ||||
| pkt->stream_index = index; | pkt->stream_index = index; | ||||
| avio_seek(pb, end - url_ftell(pb), SEEK_CUR); | |||||
| avio_seek(pb, end - avio_tell(pb), SEEK_CUR); | |||||
| return 0; | return 0; | ||||
| } | } | ||||
| @@ -866,14 +866,14 @@ static int mxf_read_local_tags(MXFContext *mxf, KLVPacket *klv, MXFMetadataReadF | |||||
| { | { | ||||
| AVIOContext *pb = mxf->fc->pb; | AVIOContext *pb = mxf->fc->pb; | ||||
| MXFMetadataSet *ctx = ctx_size ? av_mallocz(ctx_size) : mxf; | MXFMetadataSet *ctx = ctx_size ? av_mallocz(ctx_size) : mxf; | ||||
| uint64_t klv_end = url_ftell(pb) + klv->length; | |||||
| uint64_t klv_end = avio_tell(pb) + klv->length; | |||||
| if (!ctx) | if (!ctx) | ||||
| return -1; | return -1; | ||||
| while (url_ftell(pb) + 4 < klv_end) { | |||||
| while (avio_tell(pb) + 4 < klv_end) { | |||||
| int tag = avio_rb16(pb); | int tag = avio_rb16(pb); | ||||
| int size = avio_rb16(pb); /* KLV specified by 0x53 */ | int size = avio_rb16(pb); /* KLV specified by 0x53 */ | ||||
| uint64_t next = url_ftell(pb) + size; | |||||
| uint64_t next = avio_tell(pb) + size; | |||||
| UID uid = {0}; | UID uid = {0}; | ||||
| av_dlog(mxf->fc, "local tag %#04x size %d\n", tag, size); | av_dlog(mxf->fc, "local tag %#04x size %d\n", tag, size); | ||||
| @@ -1171,14 +1171,14 @@ static void mxf_write_index_table_segment(AVFormatContext *s) | |||||
| static void mxf_write_klv_fill(AVFormatContext *s) | static void mxf_write_klv_fill(AVFormatContext *s) | ||||
| { | { | ||||
| unsigned pad = klv_fill_size(url_ftell(s->pb)); | |||||
| unsigned pad = klv_fill_size(avio_tell(s->pb)); | |||||
| if (pad) { | if (pad) { | ||||
| avio_write(s->pb, klv_fill_key, 16); | avio_write(s->pb, klv_fill_key, 16); | ||||
| pad -= 16 + 4; | pad -= 16 + 4; | ||||
| klv_encode_ber4_length(s->pb, pad); | klv_encode_ber4_length(s->pb, pad); | ||||
| for (; pad; pad--) | for (; pad; pad--) | ||||
| avio_w8(s->pb, 0); | avio_w8(s->pb, 0); | ||||
| assert(!(url_ftell(s->pb) & (KAG_SIZE-1))); | |||||
| assert(!(avio_tell(s->pb) & (KAG_SIZE-1))); | |||||
| } | } | ||||
| } | } | ||||
| @@ -1190,7 +1190,7 @@ static void mxf_write_partition(AVFormatContext *s, int bodysid, | |||||
| AVIOContext *pb = s->pb; | AVIOContext *pb = s->pb; | ||||
| int64_t header_byte_count_offset; | int64_t header_byte_count_offset; | ||||
| unsigned index_byte_count = 0; | unsigned index_byte_count = 0; | ||||
| uint64_t partition_offset = url_ftell(pb); | |||||
| uint64_t partition_offset = avio_tell(pb); | |||||
| if (!mxf->edit_unit_byte_count && mxf->edit_units_count) | if (!mxf->edit_unit_byte_count && mxf->edit_units_count) | ||||
| index_byte_count = 85 + 12+(s->nb_streams+1)*6 + | index_byte_count = 85 + 12+(s->nb_streams+1)*6 + | ||||
| @@ -1233,7 +1233,7 @@ static void mxf_write_partition(AVFormatContext *s, int bodysid, | |||||
| avio_wb64(pb, mxf->footer_partition_offset); // footerPartition | avio_wb64(pb, mxf->footer_partition_offset); // footerPartition | ||||
| // set offset | // set offset | ||||
| header_byte_count_offset = url_ftell(pb); | |||||
| header_byte_count_offset = avio_tell(pb); | |||||
| avio_wb64(pb, 0); // headerByteCount, update later | avio_wb64(pb, 0); // headerByteCount, update later | ||||
| // indexTable | // indexTable | ||||
| @@ -1260,10 +1260,10 @@ static void mxf_write_partition(AVFormatContext *s, int bodysid, | |||||
| unsigned header_byte_count; | unsigned header_byte_count; | ||||
| mxf_write_klv_fill(s); | mxf_write_klv_fill(s); | ||||
| start = url_ftell(s->pb); | |||||
| start = avio_tell(s->pb); | |||||
| mxf_write_primer_pack(s); | mxf_write_primer_pack(s); | ||||
| mxf_write_header_metadata_sets(s); | mxf_write_header_metadata_sets(s); | ||||
| pos = url_ftell(s->pb); | |||||
| pos = avio_tell(s->pb); | |||||
| header_byte_count = pos - start + klv_fill_size(pos); | header_byte_count = pos - start + klv_fill_size(pos); | ||||
| // update header_byte_count | // update header_byte_count | ||||
| @@ -1617,7 +1617,7 @@ static void mxf_write_d10_video_packet(AVFormatContext *s, AVStream *st, AVPacke | |||||
| klv_encode_ber4_length(s->pb, pad); | klv_encode_ber4_length(s->pb, pad); | ||||
| for (; pad; pad--) | for (; pad; pad--) | ||||
| avio_w8(s->pb, 0); | avio_w8(s->pb, 0); | ||||
| assert(!(url_ftell(s->pb) & (KAG_SIZE-1))); | |||||
| assert(!(avio_tell(s->pb) & (KAG_SIZE-1))); | |||||
| } else { | } else { | ||||
| av_log(s, AV_LOG_WARNING, "cannot fill d-10 video packet\n"); | av_log(s, AV_LOG_WARNING, "cannot fill d-10 video packet\n"); | ||||
| for (; pad > 0; pad--) | for (; pad > 0; pad--) | ||||
| @@ -1740,7 +1740,7 @@ static void mxf_write_random_index_pack(AVFormatContext *s) | |||||
| { | { | ||||
| MXFContext *mxf = s->priv_data; | MXFContext *mxf = s->priv_data; | ||||
| AVIOContext *pb = s->pb; | AVIOContext *pb = s->pb; | ||||
| uint64_t pos = url_ftell(pb); | |||||
| uint64_t pos = avio_tell(pb); | |||||
| int i; | int i; | ||||
| avio_write(pb, random_index_pack_key, 16); | avio_write(pb, random_index_pack_key, 16); | ||||
| @@ -1760,7 +1760,7 @@ static void mxf_write_random_index_pack(AVFormatContext *s) | |||||
| avio_wb32(pb, 0); // BodySID of footer partition | avio_wb32(pb, 0); // BodySID of footer partition | ||||
| avio_wb64(pb, mxf->footer_partition_offset); | avio_wb64(pb, mxf->footer_partition_offset); | ||||
| avio_wb32(pb, url_ftell(pb) - pos + 4); | |||||
| avio_wb32(pb, avio_tell(pb) - pos + 4); | |||||
| } | } | ||||
| static int mxf_write_footer(AVFormatContext *s) | static int mxf_write_footer(AVFormatContext *s) | ||||
| @@ -1771,7 +1771,7 @@ static int mxf_write_footer(AVFormatContext *s) | |||||
| mxf->duration = mxf->last_indexed_edit_unit + mxf->edit_units_count; | mxf->duration = mxf->last_indexed_edit_unit + mxf->edit_units_count; | ||||
| mxf_write_klv_fill(s); | mxf_write_klv_fill(s); | ||||
| mxf->footer_partition_offset = url_ftell(pb); | |||||
| mxf->footer_partition_offset = avio_tell(pb); | |||||
| if (mxf->edit_unit_byte_count) { // no need to repeat index | if (mxf->edit_unit_byte_count) { // no need to repeat index | ||||
| mxf_write_partition(s, 0, 0, footer_partition_key, 0); | mxf_write_partition(s, 0, 0, footer_partition_key, 0); | ||||
| } else { | } else { | ||||
| @@ -225,7 +225,7 @@ static int nsv_resync(AVFormatContext *s) | |||||
| uint32_t v = 0; | uint32_t v = 0; | ||||
| int i; | int i; | ||||
| av_dlog(s, "%s(), offset = %"PRId64", state = %d\n", __FUNCTION__, url_ftell(pb), nsv->state); | |||||
| av_dlog(s, "%s(), offset = %"PRId64", state = %d\n", __FUNCTION__, avio_tell(pb), nsv->state); | |||||
| //nsv->state = NSV_UNSYNC; | //nsv->state = NSV_UNSYNC; | ||||
| @@ -299,7 +299,7 @@ static int nsv_parse_NSVf_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| if (url_feof(pb)) | if (url_feof(pb)) | ||||
| return -1; | return -1; | ||||
| av_dlog(s, "NSV got header; filepos %"PRId64"\n", url_ftell(pb)); | |||||
| av_dlog(s, "NSV got header; filepos %"PRId64"\n", avio_tell(pb)); | |||||
| if (strings_size > 0) { | if (strings_size > 0) { | ||||
| char *strings; /* last byte will be '\0' to play safe with str*() */ | char *strings; /* last byte will be '\0' to play safe with str*() */ | ||||
| @@ -334,7 +334,7 @@ static int nsv_parse_NSVf_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| if (url_feof(pb)) | if (url_feof(pb)) | ||||
| return -1; | return -1; | ||||
| av_dlog(s, "NSV got infos; filepos %"PRId64"\n", url_ftell(pb)); | |||||
| av_dlog(s, "NSV got infos; filepos %"PRId64"\n", avio_tell(pb)); | |||||
| if (table_entries_used > 0) { | if (table_entries_used > 0) { | ||||
| int i; | int i; | ||||
| @@ -355,7 +355,7 @@ static int nsv_parse_NSVf_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| } | } | ||||
| } | } | ||||
| av_dlog(s, "NSV got index; filepos %"PRId64"\n", url_ftell(pb)); | |||||
| av_dlog(s, "NSV got index; filepos %"PRId64"\n", avio_tell(pb)); | |||||
| #ifdef DEBUG_DUMP_INDEX | #ifdef DEBUG_DUMP_INDEX | ||||
| #define V(v) ((v<0x20 || v > 127)?'.':v) | #define V(v) ((v<0x20 || v > 127)?'.':v) | ||||
| @@ -98,7 +98,7 @@ static inline uint64_t get_vb_trace(AVIOContext *bc, char *file, char *func, int | |||||
| static int get_packetheader(NUTContext *nut, AVIOContext *bc, int calculate_checksum, uint64_t startcode) | static int get_packetheader(NUTContext *nut, AVIOContext *bc, int calculate_checksum, uint64_t startcode) | ||||
| { | { | ||||
| int64_t size; | int64_t size; | ||||
| // start= url_ftell(bc) - 8; | |||||
| // start= avio_tell(bc) - 8; | |||||
| startcode= av_be2ne64(startcode); | startcode= av_be2ne64(startcode); | ||||
| startcode= ff_crc04C11DB7_update(0, (uint8_t*)&startcode, 8); | startcode= ff_crc04C11DB7_update(0, (uint8_t*)&startcode, 8); | ||||
| @@ -148,7 +148,7 @@ static int64_t find_startcode(AVIOContext *bc, uint64_t code, int64_t pos){ | |||||
| for(;;){ | for(;;){ | ||||
| uint64_t startcode= find_any_startcode(bc, pos); | uint64_t startcode= find_any_startcode(bc, pos); | ||||
| if(startcode == code) | if(startcode == code) | ||||
| return url_ftell(bc) - 8; | |||||
| return avio_tell(bc) - 8; | |||||
| else if(startcode == 0) | else if(startcode == 0) | ||||
| return -1; | return -1; | ||||
| pos=-1; | pos=-1; | ||||
| @@ -176,7 +176,7 @@ static int nut_probe(AVProbeData *p){ | |||||
| dst= tmp; | dst= tmp; | ||||
| static int skip_reserved(AVIOContext *bc, int64_t pos){ | static int skip_reserved(AVIOContext *bc, int64_t pos){ | ||||
| pos -= url_ftell(bc); | |||||
| pos -= avio_tell(bc); | |||||
| if(pos<0){ | if(pos<0){ | ||||
| avio_seek(bc, pos, SEEK_CUR); | avio_seek(bc, pos, SEEK_CUR); | ||||
| return -1; | return -1; | ||||
| @@ -196,7 +196,7 @@ static int decode_main_header(NUTContext *nut){ | |||||
| int64_t tmp_match; | int64_t tmp_match; | ||||
| end= get_packetheader(nut, bc, 1, MAIN_STARTCODE); | end= get_packetheader(nut, bc, 1, MAIN_STARTCODE); | ||||
| end += url_ftell(bc); | |||||
| end += avio_tell(bc); | |||||
| GET_V(tmp , tmp >=2 && tmp <= 3) | GET_V(tmp , tmp >=2 && tmp <= 3) | ||||
| GET_V(stream_count , tmp > 0 && tmp <= NUT_MAX_STREAMS) | GET_V(stream_count , tmp > 0 && tmp <= NUT_MAX_STREAMS) | ||||
| @@ -267,7 +267,7 @@ static int decode_main_header(NUTContext *nut){ | |||||
| } | } | ||||
| assert(nut->frame_code['N'].flags == FLAG_INVALID); | assert(nut->frame_code['N'].flags == FLAG_INVALID); | ||||
| if(end > url_ftell(bc) + 4){ | |||||
| if(end > avio_tell(bc) + 4){ | |||||
| int rem= 1024; | int rem= 1024; | ||||
| GET_V(nut->header_count, tmp<128U) | GET_V(nut->header_count, tmp<128U) | ||||
| nut->header_count++; | nut->header_count++; | ||||
| @@ -306,7 +306,7 @@ static int decode_stream_header(NUTContext *nut){ | |||||
| AVStream *st; | AVStream *st; | ||||
| end= get_packetheader(nut, bc, 1, STREAM_STARTCODE); | end= get_packetheader(nut, bc, 1, STREAM_STARTCODE); | ||||
| end += url_ftell(bc); | |||||
| end += avio_tell(bc); | |||||
| GET_V(stream_id, tmp < s->nb_streams && !nut->stream[tmp].time_base); | GET_V(stream_id, tmp < s->nb_streams && !nut->stream[tmp].time_base); | ||||
| stc= &nut->stream[stream_id]; | stc= &nut->stream[stream_id]; | ||||
| @@ -409,7 +409,7 @@ static int decode_info_header(NUTContext *nut){ | |||||
| AVMetadata **metadata = NULL; | AVMetadata **metadata = NULL; | ||||
| end= get_packetheader(nut, bc, 1, INFO_STARTCODE); | end= get_packetheader(nut, bc, 1, INFO_STARTCODE); | ||||
| end += url_ftell(bc); | |||||
| end += avio_tell(bc); | |||||
| GET_V(stream_id_plus1, tmp <= s->nb_streams) | GET_V(stream_id_plus1, tmp <= s->nb_streams) | ||||
| chapter_id = get_s(bc); | chapter_id = get_s(bc); | ||||
| @@ -480,10 +480,10 @@ static int decode_syncpoint(NUTContext *nut, int64_t *ts, int64_t *back_ptr){ | |||||
| AVIOContext *bc = s->pb; | AVIOContext *bc = s->pb; | ||||
| int64_t end, tmp; | int64_t end, tmp; | ||||
| nut->last_syncpoint_pos= url_ftell(bc)-8; | |||||
| nut->last_syncpoint_pos= avio_tell(bc)-8; | |||||
| end= get_packetheader(nut, bc, 1, SYNCPOINT_STARTCODE); | end= get_packetheader(nut, bc, 1, SYNCPOINT_STARTCODE); | ||||
| end += url_ftell(bc); | |||||
| end += avio_tell(bc); | |||||
| tmp= ff_get_v(bc); | tmp= ff_get_v(bc); | ||||
| *back_ptr= nut->last_syncpoint_pos - 16*ff_get_v(bc); | *back_ptr= nut->last_syncpoint_pos - 16*ff_get_v(bc); | ||||
| @@ -521,7 +521,7 @@ static int find_and_decode_index(NUTContext *nut){ | |||||
| } | } | ||||
| end= get_packetheader(nut, bc, 1, INDEX_STARTCODE); | end= get_packetheader(nut, bc, 1, INDEX_STARTCODE); | ||||
| end += url_ftell(bc); | |||||
| end += avio_tell(bc); | |||||
| ff_get_v(bc); //max_pts | ff_get_v(bc); //max_pts | ||||
| GET_V(syncpoint_count, tmp < INT_MAX/8 && tmp > 0) | GET_V(syncpoint_count, tmp < INT_MAX/8 && tmp > 0) | ||||
| @@ -635,7 +635,7 @@ static int nut_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| pos=0; | pos=0; | ||||
| for(;;){ | for(;;){ | ||||
| uint64_t startcode= find_any_startcode(bc, pos); | uint64_t startcode= find_any_startcode(bc, pos); | ||||
| pos= url_ftell(bc); | |||||
| pos= avio_tell(bc); | |||||
| if(startcode==0){ | if(startcode==0){ | ||||
| av_log(s, AV_LOG_ERROR, "EOF before video frames\n"); | av_log(s, AV_LOG_ERROR, "EOF before video frames\n"); | ||||
| @@ -653,7 +653,7 @@ static int nut_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| s->data_offset= pos-8; | s->data_offset= pos-8; | ||||
| if(!url_is_streamed(bc)){ | if(!url_is_streamed(bc)){ | ||||
| int64_t orig_pos= url_ftell(bc); | |||||
| int64_t orig_pos= avio_tell(bc); | |||||
| find_and_decode_index(nut); | find_and_decode_index(nut); | ||||
| avio_seek(bc, orig_pos, SEEK_SET); | avio_seek(bc, orig_pos, SEEK_SET); | ||||
| } | } | ||||
| @@ -671,8 +671,8 @@ static int decode_frame_header(NUTContext *nut, int64_t *pts, int *stream_id, ui | |||||
| int size, flags, size_mul, pts_delta, i, reserved_count; | int size, flags, size_mul, pts_delta, i, reserved_count; | ||||
| uint64_t tmp; | uint64_t tmp; | ||||
| if(url_ftell(bc) > nut->last_syncpoint_pos + nut->max_distance){ | |||||
| av_log(s, AV_LOG_ERROR, "Last frame must have been damaged %"PRId64" > %"PRId64" + %d\n", url_ftell(bc), nut->last_syncpoint_pos, nut->max_distance); | |||||
| if(avio_tell(bc) > nut->last_syncpoint_pos + nut->max_distance){ | |||||
| av_log(s, AV_LOG_ERROR, "Last frame must have been damaged %"PRId64" > %"PRId64" + %d\n", avio_tell(bc), nut->last_syncpoint_pos, nut->max_distance); | |||||
| return AVERROR_INVALIDDATA; | return AVERROR_INVALIDDATA; | ||||
| } | } | ||||
| @@ -763,7 +763,7 @@ static int decode_frame(NUTContext *nut, AVPacket *pkt, int frame_code){ | |||||
| av_new_packet(pkt, size + nut->header_len[header_idx]); | av_new_packet(pkt, size + nut->header_len[header_idx]); | ||||
| memcpy(pkt->data, nut->header[header_idx], nut->header_len[header_idx]); | memcpy(pkt->data, nut->header[header_idx], nut->header_len[header_idx]); | ||||
| pkt->pos= url_ftell(bc); //FIXME | |||||
| pkt->pos= avio_tell(bc); //FIXME | |||||
| avio_read(bc, pkt->data + nut->header_len[header_idx], size); | avio_read(bc, pkt->data + nut->header_len[header_idx], size); | ||||
| pkt->stream_index = stream_id; | pkt->stream_index = stream_id; | ||||
| @@ -782,7 +782,7 @@ static int nut_read_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| int64_t ts, back_ptr; | int64_t ts, back_ptr; | ||||
| for(;;){ | for(;;){ | ||||
| int64_t pos= url_ftell(bc); | |||||
| int64_t pos= avio_tell(bc); | |||||
| uint64_t tmp= nut->next_startcode; | uint64_t tmp= nut->next_startcode; | ||||
| nut->next_startcode=0; | nut->next_startcode=0; | ||||
| @@ -639,13 +639,13 @@ static int write_packet(AVFormatContext *s, AVPacket *pkt){ | |||||
| if(pkt->pts < 0) | if(pkt->pts < 0) | ||||
| return -1; | return -1; | ||||
| if(1LL<<(20+3*nut->header_count) <= url_ftell(bc)) | |||||
| if(1LL<<(20+3*nut->header_count) <= avio_tell(bc)) | |||||
| write_headers(s, bc); | write_headers(s, bc); | ||||
| if(key_frame && !(nus->last_flags & FLAG_KEY)) | if(key_frame && !(nus->last_flags & FLAG_KEY)) | ||||
| store_sp= 1; | store_sp= 1; | ||||
| if(pkt->size + 30/*FIXME check*/ + url_ftell(bc) >= nut->last_syncpoint_pos + nut->max_distance) | |||||
| if(pkt->size + 30/*FIXME check*/ + avio_tell(bc) >= nut->last_syncpoint_pos + nut->max_distance) | |||||
| store_sp= 1; | store_sp= 1; | ||||
| //FIXME: Ensure store_sp is 1 in the first place. | //FIXME: Ensure store_sp is 1 in the first place. | ||||
| @@ -668,7 +668,7 @@ static int write_packet(AVFormatContext *s, AVPacket *pkt){ | |||||
| sp= av_tree_find(nut->syncpoints, &dummy, (void *) ff_nut_sp_pos_cmp, | sp= av_tree_find(nut->syncpoints, &dummy, (void *) ff_nut_sp_pos_cmp, | ||||
| NULL); | NULL); | ||||
| nut->last_syncpoint_pos= url_ftell(bc); | |||||
| nut->last_syncpoint_pos= avio_tell(bc); | |||||
| ret = url_open_dyn_buf(&dyn_bc); | ret = url_open_dyn_buf(&dyn_bc); | ||||
| if(ret < 0) | if(ret < 0) | ||||
| return ret; | return ret; | ||||
| @@ -197,7 +197,7 @@ static int nuv_packet(AVFormatContext *s, AVPacket *pkt) { | |||||
| int ret, size; | int ret, size; | ||||
| while (!url_feof(pb)) { | while (!url_feof(pb)) { | ||||
| int copyhdrsize = ctx->rtjpg_video ? HDRSIZE : 0; | int copyhdrsize = ctx->rtjpg_video ? HDRSIZE : 0; | ||||
| uint64_t pos = url_ftell(pb); | |||||
| uint64_t pos = avio_tell(pb); | |||||
| ret = avio_read(pb, hdr, HDRSIZE); | ret = avio_read(pb, hdr, HDRSIZE); | ||||
| if (ret < HDRSIZE) | if (ret < HDRSIZE) | ||||
| return ret < 0 ? ret : AVERROR(EIO); | return ret < 0 ? ret : AVERROR(EIO); | ||||
| @@ -62,7 +62,7 @@ ogg_save (AVFormatContext * s) | |||||
| struct ogg_state *ost = | struct ogg_state *ost = | ||||
| av_malloc(sizeof (*ost) + (ogg->nstreams-1) * sizeof (*ogg->streams)); | av_malloc(sizeof (*ost) + (ogg->nstreams-1) * sizeof (*ogg->streams)); | ||||
| int i; | int i; | ||||
| ost->pos = url_ftell (s->pb); | |||||
| ost->pos = avio_tell (s->pb); | |||||
| ost->curidx = ogg->curidx; | ost->curidx = ogg->curidx; | ||||
| ost->next = ogg->state; | ost->next = ogg->state; | ||||
| ost->nstreams = ogg->nstreams; | ost->nstreams = ogg->nstreams; | ||||
| @@ -247,7 +247,7 @@ ogg_read_page (AVFormatContext * s, int *str) | |||||
| } | } | ||||
| os = ogg->streams + idx; | os = ogg->streams + idx; | ||||
| os->page_pos = url_ftell(bc) - 27; | |||||
| os->page_pos = avio_tell(bc) - 27; | |||||
| if(os->psize > 0) | if(os->psize > 0) | ||||
| ogg_new_buf(ogg, idx); | ogg_new_buf(ogg, idx); | ||||
| @@ -607,7 +607,7 @@ ogg_read_timestamp (AVFormatContext * s, int stream_index, int64_t * pos_arg, | |||||
| avio_seek(bc, *pos_arg, SEEK_SET); | avio_seek(bc, *pos_arg, SEEK_SET); | ||||
| ogg_reset(ogg); | ogg_reset(ogg); | ||||
| while (url_ftell(bc) < pos_limit && !ogg_packet(s, &i, NULL, NULL, pos_arg)) { | |||||
| while (avio_tell(bc) < pos_limit && !ogg_packet(s, &i, NULL, NULL, pos_arg)) { | |||||
| if (i == stream_index) { | if (i == stream_index) { | ||||
| pts = ogg_calc_pts(s, i, NULL); | pts = ogg_calc_pts(s, i, NULL); | ||||
| if (os->keyframe_seek && !(os->pflags & AV_PKT_FLAG_KEY)) | if (os->keyframe_seek && !(os->pflags & AV_PKT_FLAG_KEY)) | ||||
| @@ -67,7 +67,7 @@ typedef struct { | |||||
| static void ogg_update_checksum(AVFormatContext *s, AVIOContext *pb, int64_t crc_offset) | static void ogg_update_checksum(AVFormatContext *s, AVIOContext *pb, int64_t crc_offset) | ||||
| { | { | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| uint32_t checksum = get_checksum(pb); | uint32_t checksum = get_checksum(pb); | ||||
| avio_seek(pb, crc_offset, SEEK_SET); | avio_seek(pb, crc_offset, SEEK_SET); | ||||
| avio_wb32(pb, checksum); | avio_wb32(pb, checksum); | ||||
| @@ -92,7 +92,7 @@ static int ogg_write_page(AVFormatContext *s, OGGPage *page, int extra_flags) | |||||
| avio_wl64(pb, page->granule); | avio_wl64(pb, page->granule); | ||||
| avio_wl32(pb, oggstream->serial_num); | avio_wl32(pb, oggstream->serial_num); | ||||
| avio_wl32(pb, oggstream->page_counter++); | avio_wl32(pb, oggstream->page_counter++); | ||||
| crc_offset = url_ftell(pb); | |||||
| crc_offset = avio_tell(pb); | |||||
| avio_wl32(pb, 0); // crc | avio_wl32(pb, 0); // crc | ||||
| avio_w8(pb, page->segments_count); | avio_w8(pb, page->segments_count); | ||||
| avio_write(pb, page->segments, page->segments_count); | avio_write(pb, page->segments, page->segments_count); | ||||
| @@ -186,7 +186,7 @@ static int str_read_packet(AVFormatContext *s, | |||||
| if (av_new_packet(pkt, sector_count*VIDEO_DATA_CHUNK_SIZE)) | if (av_new_packet(pkt, sector_count*VIDEO_DATA_CHUNK_SIZE)) | ||||
| return AVERROR(EIO); | return AVERROR(EIO); | ||||
| pkt->pos= url_ftell(pb) - RAW_CD_SECTOR_SIZE; | |||||
| pkt->pos= avio_tell(pb) - RAW_CD_SECTOR_SIZE; | |||||
| pkt->stream_index = | pkt->stream_index = | ||||
| str->channels[channel].video_stream_index; | str->channels[channel].video_stream_index; | ||||
| } | } | ||||
| @@ -73,7 +73,7 @@ static int read_part_of_packet(AVFormatContext *s, int64_t *pts, | |||||
| int64_t pva_pts = AV_NOPTS_VALUE, startpos; | int64_t pva_pts = AV_NOPTS_VALUE, startpos; | ||||
| recover: | recover: | ||||
| startpos = url_ftell(pb); | |||||
| startpos = avio_tell(pb); | |||||
| syncword = avio_rb16(pb); | syncword = avio_rb16(pb); | ||||
| streamid = avio_r8(pb); | streamid = avio_r8(pb); | ||||
| @@ -190,7 +190,7 @@ static int64_t pva_read_timestamp(struct AVFormatContext *s, int stream_index, | |||||
| continue; | continue; | ||||
| } | } | ||||
| if (streamid - 1 != stream_index || res == AV_NOPTS_VALUE) { | if (streamid - 1 != stream_index || res == AV_NOPTS_VALUE) { | ||||
| *pos = url_ftell(pb) + length; | |||||
| *pos = avio_tell(pb) + length; | |||||
| continue; | continue; | ||||
| } | } | ||||
| break; | break; | ||||
| @@ -165,7 +165,7 @@ static int qcp_read_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| return ret; | return ret; | ||||
| } | } | ||||
| if (url_ftell(pb) & 1 && avio_r8(pb)) | |||||
| if (avio_tell(pb) & 1 && avio_r8(pb)) | |||||
| av_log(s, AV_LOG_WARNING, "Padding should be 0.\n"); | av_log(s, AV_LOG_WARNING, "Padding should be 0.\n"); | ||||
| tag = avio_rl32(pb); | tag = avio_rl32(pb); | ||||
| @@ -38,7 +38,7 @@ typedef struct { | |||||
| static int read_atom(AVFormatContext *s, Atom *atom) | static int read_atom(AVFormatContext *s, Atom *atom) | ||||
| { | { | ||||
| atom->offset = url_ftell(s->pb); | |||||
| atom->offset = avio_tell(s->pb); | |||||
| atom->size = avio_rb32(s->pb); | atom->size = avio_rb32(s->pb); | ||||
| if (atom->size < 8) | if (atom->size < 8) | ||||
| return -1; | return -1; | ||||
| @@ -175,7 +175,7 @@ static int r3d_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| return -1; | return -1; | ||||
| } | } | ||||
| s->data_offset = url_ftell(s->pb); | |||||
| s->data_offset = avio_tell(s->pb); | |||||
| av_dlog(s, "data offset %#llx\n", s->data_offset); | av_dlog(s, "data offset %#llx\n", s->data_offset); | ||||
| if (url_is_streamed(s->pb)) | if (url_is_streamed(s->pb)) | ||||
| return 0; | return 0; | ||||
| @@ -210,7 +210,7 @@ static int r3d_read_redv(AVFormatContext *s, AVPacket *pkt, Atom *atom) | |||||
| { | { | ||||
| AVStream *st = s->streams[0]; | AVStream *st = s->streams[0]; | ||||
| int tmp, tmp2; | int tmp, tmp2; | ||||
| uint64_t pos = url_ftell(s->pb); | |||||
| uint64_t pos = avio_tell(s->pb); | |||||
| unsigned dts; | unsigned dts; | ||||
| int ret; | int ret; | ||||
| @@ -241,7 +241,7 @@ static int r3d_read_redv(AVFormatContext *s, AVPacket *pkt, Atom *atom) | |||||
| tmp = avio_rb32(s->pb); | tmp = avio_rb32(s->pb); | ||||
| av_dlog(s, "metadata len %d\n", tmp); | av_dlog(s, "metadata len %d\n", tmp); | ||||
| } | } | ||||
| tmp = atom->size - 8 - (url_ftell(s->pb) - pos); | |||||
| tmp = atom->size - 8 - (avio_tell(s->pb) - pos); | |||||
| if (tmp < 0) | if (tmp < 0) | ||||
| return -1; | return -1; | ||||
| ret = av_get_packet(s->pb, pkt, tmp); | ret = av_get_packet(s->pb, pkt, tmp); | ||||
| @@ -264,7 +264,7 @@ static int r3d_read_reda(AVFormatContext *s, AVPacket *pkt, Atom *atom) | |||||
| { | { | ||||
| AVStream *st = s->streams[1]; | AVStream *st = s->streams[1]; | ||||
| int tmp, tmp2, samples, size; | int tmp, tmp2, samples, size; | ||||
| uint64_t pos = url_ftell(s->pb); | |||||
| uint64_t pos = avio_tell(s->pb); | |||||
| unsigned dts; | unsigned dts; | ||||
| int ret; | int ret; | ||||
| @@ -287,7 +287,7 @@ static int r3d_read_reda(AVFormatContext *s, AVPacket *pkt, Atom *atom) | |||||
| tmp = avio_rb32(s->pb); // unknown | tmp = avio_rb32(s->pb); // unknown | ||||
| av_dlog(s, "unknown %d\n", tmp); | av_dlog(s, "unknown %d\n", tmp); | ||||
| size = atom->size - 8 - (url_ftell(s->pb) - pos); | |||||
| size = atom->size - 8 - (avio_tell(s->pb) - pos); | |||||
| if (size < 0) | if (size < 0) | ||||
| return -1; | return -1; | ||||
| ret = av_get_packet(s->pb, pkt, size); | ret = av_get_packet(s->pb, pkt, size); | ||||
| @@ -80,7 +80,7 @@ int ff_raw_read_partial_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| if (av_new_packet(pkt, size) < 0) | if (av_new_packet(pkt, size) < 0) | ||||
| return AVERROR(ENOMEM); | return AVERROR(ENOMEM); | ||||
| pkt->pos= url_ftell(s->pb); | |||||
| pkt->pos= avio_tell(s->pb); | |||||
| pkt->stream_index = 0; | pkt->stream_index = 0; | ||||
| ret = ffio_read_partial(s->pb, pkt->data, size); | ret = ffio_read_partial(s->pb, pkt->data, size); | ||||
| if (ret < 0) { | if (ret < 0) { | ||||
| @@ -305,7 +305,7 @@ rdt_parse_packet (AVFormatContext *ctx, PayloadContext *rdt, AVStream *st, | |||||
| flags = (flags & RTP_FLAG_KEY) ? 2 : 0; | flags = (flags & RTP_FLAG_KEY) ? 2 : 0; | ||||
| res = ff_rm_parse_packet (rdt->rmctx, &pb, st, rdt->rmst[st->index], len, pkt, | res = ff_rm_parse_packet (rdt->rmctx, &pb, st, rdt->rmst[st->index], len, pkt, | ||||
| &seq, flags, *timestamp); | &seq, flags, *timestamp); | ||||
| pos = url_ftell(&pb); | |||||
| pos = avio_tell(&pb); | |||||
| if (res < 0) | if (res < 0) | ||||
| return res; | return res; | ||||
| if (res > 0) { | if (res > 0) { | ||||
| @@ -324,14 +324,14 @@ int64_t ff_start_tag(AVIOContext *pb, const char *tag) | |||||
| { | { | ||||
| ffio_wfourcc(pb, tag); | ffio_wfourcc(pb, tag); | ||||
| avio_wl32(pb, 0); | avio_wl32(pb, 0); | ||||
| return url_ftell(pb); | |||||
| return avio_tell(pb); | |||||
| } | } | ||||
| void ff_end_tag(AVIOContext *pb, int64_t start) | void ff_end_tag(AVIOContext *pb, int64_t start) | ||||
| { | { | ||||
| int64_t pos; | int64_t pos; | ||||
| pos = url_ftell(pb); | |||||
| pos = avio_tell(pb); | |||||
| avio_seek(pb, start - 4, SEEK_SET); | avio_seek(pb, start - 4, SEEK_SET); | ||||
| avio_wl32(pb, (uint32_t)(pos - start)); | avio_wl32(pb, (uint32_t)(pos - start)); | ||||
| avio_seek(pb, pos, SEEK_SET); | avio_seek(pb, pos, SEEK_SET); | ||||
| @@ -131,17 +131,17 @@ static int rm_read_audio_stream_info(AVFormatContext *s, AVIOContext *pb, | |||||
| version = avio_rb16(pb); /* version */ | version = avio_rb16(pb); /* version */ | ||||
| if (version == 3) { | if (version == 3) { | ||||
| int header_size = avio_rb16(pb); | int header_size = avio_rb16(pb); | ||||
| int64_t startpos = url_ftell(pb); | |||||
| int64_t startpos = avio_tell(pb); | |||||
| avio_seek(pb, 14, SEEK_CUR); | avio_seek(pb, 14, SEEK_CUR); | ||||
| rm_read_metadata(s, 0); | rm_read_metadata(s, 0); | ||||
| if ((startpos + header_size) >= url_ftell(pb) + 2) { | |||||
| if ((startpos + header_size) >= avio_tell(pb) + 2) { | |||||
| // fourcc (should always be "lpcJ") | // fourcc (should always be "lpcJ") | ||||
| avio_r8(pb); | avio_r8(pb); | ||||
| get_str8(pb, buf, sizeof(buf)); | get_str8(pb, buf, sizeof(buf)); | ||||
| } | } | ||||
| // Skip extra header crap (this should never happen) | // Skip extra header crap (this should never happen) | ||||
| if ((startpos + header_size) > url_ftell(pb)) | |||||
| avio_seek(pb, header_size + startpos - url_ftell(pb), SEEK_CUR); | |||||
| if ((startpos + header_size) > avio_tell(pb)) | |||||
| avio_seek(pb, header_size + startpos - avio_tell(pb), SEEK_CUR); | |||||
| st->codec->sample_rate = 8000; | st->codec->sample_rate = 8000; | ||||
| st->codec->channels = 1; | st->codec->channels = 1; | ||||
| st->codec->codec_type = AVMEDIA_TYPE_AUDIO; | st->codec->codec_type = AVMEDIA_TYPE_AUDIO; | ||||
| @@ -273,7 +273,7 @@ ff_rm_read_mdpr_codecdata (AVFormatContext *s, AVIOContext *pb, | |||||
| int ret; | int ret; | ||||
| av_set_pts_info(st, 64, 1, 1000); | av_set_pts_info(st, 64, 1, 1000); | ||||
| codec_pos = url_ftell(pb); | |||||
| codec_pos = avio_tell(pb); | |||||
| v = avio_rb32(pb); | v = avio_rb32(pb); | ||||
| if (v == MKTAG(0xfd, 'a', 'r', '.')) { | if (v == MKTAG(0xfd, 'a', 'r', '.')) { | ||||
| /* ra type header */ | /* ra type header */ | ||||
| @@ -301,7 +301,7 @@ ff_rm_read_mdpr_codecdata (AVFormatContext *s, AVIOContext *pb, | |||||
| fps2= avio_rb16(pb); | fps2= avio_rb16(pb); | ||||
| avio_rb16(pb); | avio_rb16(pb); | ||||
| if ((ret = rm_read_extradata(pb, st->codec, codec_data_size - (url_ftell(pb) - codec_pos))) < 0) | |||||
| if ((ret = rm_read_extradata(pb, st->codec, codec_data_size - (avio_tell(pb) - codec_pos))) < 0) | |||||
| return ret; | return ret; | ||||
| // av_log(s, AV_LOG_DEBUG, "fps= %d fps2= %d\n", fps, fps2); | // av_log(s, AV_LOG_DEBUG, "fps= %d fps2= %d\n", fps, fps2); | ||||
| @@ -320,7 +320,7 @@ ff_rm_read_mdpr_codecdata (AVFormatContext *s, AVIOContext *pb, | |||||
| skip: | skip: | ||||
| /* skip codec info */ | /* skip codec info */ | ||||
| size = url_ftell(pb) - codec_pos; | |||||
| size = avio_tell(pb) - codec_pos; | |||||
| avio_seek(pb, codec_data_size - size, SEEK_CUR); | avio_seek(pb, codec_data_size - size, SEEK_CUR); | ||||
| return 0; | return 0; | ||||
| @@ -362,7 +362,7 @@ static int rm_read_index(AVFormatContext *s) | |||||
| } | } | ||||
| skip: | skip: | ||||
| if (next_off && url_ftell(pb) != next_off && | |||||
| if (next_off && avio_tell(pb) != next_off && | |||||
| avio_seek(pb, next_off, SEEK_SET) < 0) | avio_seek(pb, next_off, SEEK_SET) < 0) | ||||
| return -1; | return -1; | ||||
| } while (next_off); | } while (next_off); | ||||
| @@ -480,7 +480,7 @@ static int rm_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| avio_rb32(pb); /* next data header */ | avio_rb32(pb); /* next data header */ | ||||
| if (!data_off) | if (!data_off) | ||||
| data_off = url_ftell(pb) - 18; | |||||
| data_off = avio_tell(pb) - 18; | |||||
| if (indx_off && !url_is_streamed(pb) && !(s->flags & AVFMT_FLAG_IGNIDX) && | if (indx_off && !url_is_streamed(pb) && !(s->flags & AVFMT_FLAG_IGNIDX) && | ||||
| avio_seek(pb, indx_off, SEEK_SET) >= 0) { | avio_seek(pb, indx_off, SEEK_SET) >= 0) { | ||||
| rm_read_index(s); | rm_read_index(s); | ||||
| @@ -517,7 +517,7 @@ static int sync(AVFormatContext *s, int64_t *timestamp, int *flags, int *stream_ | |||||
| while(!url_feof(pb)){ | while(!url_feof(pb)){ | ||||
| int len, num, i; | int len, num, i; | ||||
| *pos= url_ftell(pb) - 3; | |||||
| *pos= avio_tell(pb) - 3; | |||||
| if(rm->remaining_len > 0){ | if(rm->remaining_len > 0){ | ||||
| num= rm->current_stream; | num= rm->current_stream; | ||||
| len= rm->remaining_len; | len= rm->remaining_len; | ||||
| @@ -624,7 +624,7 @@ static int rm_assemble_video_frame(AVFormatContext *s, AVIOContext *pb, | |||||
| vst->videobufpos = 8*vst->slices + 1; | vst->videobufpos = 8*vst->slices + 1; | ||||
| vst->cur_slice = 0; | vst->cur_slice = 0; | ||||
| vst->curpic_num = pic_num; | vst->curpic_num = pic_num; | ||||
| vst->pktpos = url_ftell(pb); | |||||
| vst->pktpos = avio_tell(pb); | |||||
| } | } | ||||
| if(type == 2) | if(type == 2) | ||||
| len = FFMIN(len, pos); | len = FFMIN(len, pos); | ||||
| @@ -841,7 +841,7 @@ static int rm_read_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| len = !ast->audio_framesize ? RAW_PACKET_SIZE : | len = !ast->audio_framesize ? RAW_PACKET_SIZE : | ||||
| ast->coded_framesize * ast->sub_packet_h / 2; | ast->coded_framesize * ast->sub_packet_h / 2; | ||||
| flags = (seq++ == 1) ? 2 : 0; | flags = (seq++ == 1) ? 2 : 0; | ||||
| pos = url_ftell(s->pb); | |||||
| pos = avio_tell(s->pb); | |||||
| } else { | } else { | ||||
| len=sync(s, ×tamp, &flags, &i, &pos); | len=sync(s, ×tamp, &flags, &i, &pos); | ||||
| if (len > 0) | if (len > 0) | ||||
| @@ -77,7 +77,7 @@ static int rso_write_trailer(AVFormatContext *s) | |||||
| int64_t file_size; | int64_t file_size; | ||||
| uint16_t coded_file_size; | uint16_t coded_file_size; | ||||
| file_size = url_ftell(pb); | |||||
| file_size = avio_tell(pb); | |||||
| if (file_size < 0) | if (file_size < 0) | ||||
| return file_size; | return file_size; | ||||
| @@ -114,7 +114,7 @@ int ff_wms_parse_sdp_a_line(AVFormatContext *s, const char *p) | |||||
| if (ret < 0) | if (ret < 0) | ||||
| return ret; | return ret; | ||||
| av_metadata_copy(&s->metadata, rt->asf_ctx->metadata, 0); | av_metadata_copy(&s->metadata, rt->asf_ctx->metadata, 0); | ||||
| rt->asf_pb_pos = url_ftell(&pb); | |||||
| rt->asf_pb_pos = avio_tell(&pb); | |||||
| av_free(buf); | av_free(buf); | ||||
| rt->asf_ctx->pb = NULL; | rt->asf_ctx->pb = NULL; | ||||
| } | } | ||||
| @@ -179,8 +179,8 @@ static int asfrtp_parse_packet(AVFormatContext *s, PayloadContext *asf, | |||||
| ffio_init_context(pb, buf, len, 0, NULL, NULL, NULL, NULL); | ffio_init_context(pb, buf, len, 0, NULL, NULL, NULL, NULL); | ||||
| while (url_ftell(pb) + 4 < len) { | |||||
| int start_off = url_ftell(pb); | |||||
| while (avio_tell(pb) + 4 < len) { | |||||
| int start_off = avio_tell(pb); | |||||
| mflags = avio_r8(pb); | mflags = avio_r8(pb); | ||||
| if (mflags & 0x80) | if (mflags & 0x80) | ||||
| @@ -192,7 +192,7 @@ static int asfrtp_parse_packet(AVFormatContext *s, PayloadContext *asf, | |||||
| avio_seek(pb, 4, SEEK_CUR); | avio_seek(pb, 4, SEEK_CUR); | ||||
| if (mflags & 0x8) /**< has location ID */ | if (mflags & 0x8) /**< has location ID */ | ||||
| avio_seek(pb, 4, SEEK_CUR); | avio_seek(pb, 4, SEEK_CUR); | ||||
| off = url_ftell(pb); | |||||
| off = avio_tell(pb); | |||||
| if (!(mflags & 0x40)) { | if (!(mflags & 0x40)) { | ||||
| /** | /** | ||||
| @@ -201,7 +201,7 @@ static int asfrtp_parse_packet(AVFormatContext *s, PayloadContext *asf, | |||||
| * ASF packet. This is used to spread one ASF packet over | * ASF packet. This is used to spread one ASF packet over | ||||
| * multiple RTP packets. | * multiple RTP packets. | ||||
| */ | */ | ||||
| if (asf->pktbuf && len_off != url_ftell(asf->pktbuf)) { | |||||
| if (asf->pktbuf && len_off != avio_tell(asf->pktbuf)) { | |||||
| uint8_t *p; | uint8_t *p; | ||||
| url_close_dyn_buf(asf->pktbuf, &p); | url_close_dyn_buf(asf->pktbuf, &p); | ||||
| asf->pktbuf = NULL; | asf->pktbuf = NULL; | ||||
| @@ -248,7 +248,7 @@ static int asfrtp_parse_packet(AVFormatContext *s, PayloadContext *asf, | |||||
| int i; | int i; | ||||
| res = av_read_packet(rt->asf_ctx, pkt); | res = av_read_packet(rt->asf_ctx, pkt); | ||||
| rt->asf_pb_pos = url_ftell(pb); | |||||
| rt->asf_pb_pos = avio_tell(pb); | |||||
| if (res != 0) | if (res != 0) | ||||
| break; | break; | ||||
| for (i = 0; i < s->nb_streams; i++) { | for (i = 0; i < s->nb_streams; i++) { | ||||
| @@ -115,10 +115,10 @@ static int qt_rtp_parse_packet(AVFormatContext *s, PayloadContext *qt, | |||||
| if (pos + data_len > len) | if (pos + data_len > len) | ||||
| return AVERROR_INVALIDDATA; | return AVERROR_INVALIDDATA; | ||||
| /* TLVs */ | /* TLVs */ | ||||
| while (url_ftell(&pb) + 4 < pos + data_len) { | |||||
| while (avio_tell(&pb) + 4 < pos + data_len) { | |||||
| int tlv_len = avio_rb16(&pb); | int tlv_len = avio_rb16(&pb); | ||||
| tag = avio_rl16(&pb); | tag = avio_rl16(&pb); | ||||
| if (url_ftell(&pb) + tlv_len > pos + data_len) | |||||
| if (avio_tell(&pb) + tlv_len > pos + data_len) | |||||
| return AVERROR_INVALIDDATA; | return AVERROR_INVALIDDATA; | ||||
| #define MKTAG16(a,b) MKTAG(a,b,0,0) | #define MKTAG16(a,b) MKTAG(a,b,0,0) | ||||
| @@ -155,7 +155,7 @@ static int qt_rtp_parse_packet(AVFormatContext *s, PayloadContext *qt, | |||||
| } | } | ||||
| /* 32-bit alignment */ | /* 32-bit alignment */ | ||||
| avio_seek(&pb, ((url_ftell(&pb) + 3) & ~3) - url_ftell(&pb), SEEK_CUR); | |||||
| avio_seek(&pb, ((avio_tell(&pb) + 3) & ~3) - avio_tell(&pb), SEEK_CUR); | |||||
| } else | } else | ||||
| avio_seek(&pb, 4, SEEK_SET); | avio_seek(&pb, 4, SEEK_SET); | ||||
| @@ -164,7 +164,7 @@ static int qt_rtp_parse_packet(AVFormatContext *s, PayloadContext *qt, | |||||
| return AVERROR_NOTSUPP; | return AVERROR_NOTSUPP; | ||||
| } | } | ||||
| alen = len - url_ftell(&pb); | |||||
| alen = len - avio_tell(&pb); | |||||
| if (alen <= 0) | if (alen <= 0) | ||||
| return AVERROR_INVALIDDATA; | return AVERROR_INVALIDDATA; | ||||
| @@ -182,7 +182,7 @@ static int qt_rtp_parse_packet(AVFormatContext *s, PayloadContext *qt, | |||||
| } | } | ||||
| if (!qt->pkt.data) | if (!qt->pkt.data) | ||||
| return AVERROR(ENOMEM); | return AVERROR(ENOMEM); | ||||
| memcpy(qt->pkt.data + qt->pkt.size, buf + url_ftell(&pb), alen); | |||||
| memcpy(qt->pkt.data + qt->pkt.size, buf + avio_tell(&pb), alen); | |||||
| qt->pkt.size += alen; | qt->pkt.size += alen; | ||||
| if (has_marker_bit) { | if (has_marker_bit) { | ||||
| *pkt = qt->pkt; | *pkt = qt->pkt; | ||||
| @@ -203,7 +203,7 @@ static int qt_rtp_parse_packet(AVFormatContext *s, PayloadContext *qt, | |||||
| qt->remaining = (alen / qt->bytes_per_frame) - 1; | qt->remaining = (alen / qt->bytes_per_frame) - 1; | ||||
| if (av_new_packet(pkt, qt->bytes_per_frame)) | if (av_new_packet(pkt, qt->bytes_per_frame)) | ||||
| return AVERROR(ENOMEM); | return AVERROR(ENOMEM); | ||||
| memcpy(pkt->data, buf + url_ftell(&pb), qt->bytes_per_frame); | |||||
| memcpy(pkt->data, buf + avio_tell(&pb), qt->bytes_per_frame); | |||||
| pkt->flags = flags & RTP_FLAG_KEY ? AV_PKT_FLAG_KEY : 0; | pkt->flags = flags & RTP_FLAG_KEY ? AV_PKT_FLAG_KEY : 0; | ||||
| pkt->stream_index = st->index; | pkt->stream_index = st->index; | ||||
| if (qt->remaining > 0) { | if (qt->remaining > 0) { | ||||
| @@ -215,7 +215,7 @@ static int qt_rtp_parse_packet(AVFormatContext *s, PayloadContext *qt, | |||||
| } | } | ||||
| qt->pkt.size = qt->remaining * qt->bytes_per_frame; | qt->pkt.size = qt->remaining * qt->bytes_per_frame; | ||||
| memcpy(qt->pkt.data, | memcpy(qt->pkt.data, | ||||
| buf + url_ftell(&pb) + qt->bytes_per_frame, | |||||
| buf + avio_tell(&pb) + qt->bytes_per_frame, | |||||
| qt->remaining * qt->bytes_per_frame); | qt->remaining * qt->bytes_per_frame); | ||||
| qt->pkt.flags = pkt->flags; | qt->pkt.flags = pkt->flags; | ||||
| return 1; | return 1; | ||||
| @@ -405,7 +405,7 @@ AVParserState *ff_store_parser_state(AVFormatContext *s) | |||||
| return NULL; | return NULL; | ||||
| } | } | ||||
| state->fpos = url_ftell(s->pb); | |||||
| state->fpos = avio_tell(s->pb); | |||||
| // copy context structures | // copy context structures | ||||
| state->cur_st = s->cur_st; | state->cur_st = s->cur_st; | ||||
| @@ -222,7 +222,7 @@ static int film_read_packet(AVFormatContext *s, | |||||
| /* do a special song and dance when loading FILM Cinepak chunks */ | /* do a special song and dance when loading FILM Cinepak chunks */ | ||||
| if ((sample->stream == film->video_stream_index) && | if ((sample->stream == film->video_stream_index) && | ||||
| (film->video_type == CODEC_ID_CINEPAK)) { | (film->video_type == CODEC_ID_CINEPAK)) { | ||||
| pkt->pos= url_ftell(pb); | |||||
| pkt->pos= avio_tell(pb); | |||||
| if (av_new_packet(pkt, sample->sample_size)) | if (av_new_packet(pkt, sample->sample_size)) | ||||
| return AVERROR(ENOMEM); | return AVERROR(ENOMEM); | ||||
| avio_read(pb, pkt->data, sample->sample_size); | avio_read(pb, pkt->data, sample->sample_size); | ||||
| @@ -240,7 +240,7 @@ static int film_read_packet(AVFormatContext *s, | |||||
| film->stereo_buffer = av_malloc(film->stereo_buffer_size); | film->stereo_buffer = av_malloc(film->stereo_buffer_size); | ||||
| } | } | ||||
| pkt->pos= url_ftell(pb); | |||||
| pkt->pos= avio_tell(pb); | |||||
| ret = avio_read(pb, film->stereo_buffer, sample->sample_size); | ret = avio_read(pb, film->stereo_buffer, sample->sample_size); | ||||
| if (ret != sample->sample_size) | if (ret != sample->sample_size) | ||||
| ret = AVERROR(EIO); | ret = AVERROR(EIO); | ||||
| @@ -247,7 +247,7 @@ static int vmd_read_packet(AVFormatContext *s, | |||||
| if (av_new_packet(pkt, frame->frame_size + BYTES_PER_FRAME_RECORD)) | if (av_new_packet(pkt, frame->frame_size + BYTES_PER_FRAME_RECORD)) | ||||
| return AVERROR(ENOMEM); | return AVERROR(ENOMEM); | ||||
| pkt->pos= url_ftell(pb); | |||||
| pkt->pos= avio_tell(pb); | |||||
| memcpy(pkt->data, frame->frame_record, BYTES_PER_FRAME_RECORD); | memcpy(pkt->data, frame->frame_record, BYTES_PER_FRAME_RECORD); | ||||
| if(vmd->is_indeo3) | if(vmd->is_indeo3) | ||||
| ret = avio_read(pb, pkt->data, frame->frame_size); | ret = avio_read(pb, pkt->data, frame->frame_size); | ||||
| @@ -219,7 +219,7 @@ static int smacker_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| ((int32_t*)st->codec->extradata)[3] = av_le2ne32(smk->type_size); | ((int32_t*)st->codec->extradata)[3] = av_le2ne32(smk->type_size); | ||||
| smk->curstream = -1; | smk->curstream = -1; | ||||
| smk->nextpos = url_ftell(pb); | |||||
| smk->nextpos = avio_tell(pb); | |||||
| return 0; | return 0; | ||||
| } | } | ||||
| @@ -244,7 +244,7 @@ static int smacker_read_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| frame_size = smk->frm_size[smk->cur_frame] & (~3); | frame_size = smk->frm_size[smk->cur_frame] & (~3); | ||||
| flags = smk->frm_flags[smk->cur_frame]; | flags = smk->frm_flags[smk->cur_frame]; | ||||
| /* handle palette change event */ | /* handle palette change event */ | ||||
| pos = url_ftell(s->pb); | |||||
| pos = avio_tell(s->pb); | |||||
| if(flags & SMACKER_PAL){ | if(flags & SMACKER_PAL){ | ||||
| int size, sz, t, off, j, pos; | int size, sz, t, off, j, pos; | ||||
| uint8_t *pal = smk->pal; | uint8_t *pal = smk->pal; | ||||
| @@ -256,7 +256,7 @@ static int smacker_read_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| frame_size -= size; | frame_size -= size; | ||||
| frame_size--; | frame_size--; | ||||
| sz = 0; | sz = 0; | ||||
| pos = url_ftell(s->pb) + size; | |||||
| pos = avio_tell(s->pb) + size; | |||||
| while(sz < 256){ | while(sz < 256){ | ||||
| t = avio_r8(s->pb); | t = avio_r8(s->pb); | ||||
| if(t & 0x80){ /* skip palette entries */ | if(t & 0x80){ /* skip palette entries */ | ||||
| @@ -313,7 +313,7 @@ static int smacker_read_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| pkt->stream_index = smk->videoindex; | pkt->stream_index = smk->videoindex; | ||||
| pkt->size = ret + 769; | pkt->size = ret + 769; | ||||
| smk->cur_frame++; | smk->cur_frame++; | ||||
| smk->nextpos = url_ftell(s->pb); | |||||
| smk->nextpos = avio_tell(s->pb); | |||||
| } else { | } else { | ||||
| if (av_new_packet(pkt, smk->buf_sizes[smk->curstream])) | if (av_new_packet(pkt, smk->buf_sizes[smk->curstream])) | ||||
| return AVERROR(ENOMEM); | return AVERROR(ENOMEM); | ||||
| @@ -98,7 +98,7 @@ static int sox_write_trailer(AVFormatContext *s) | |||||
| if (!url_is_streamed(s->pb)) { | if (!url_is_streamed(s->pb)) { | ||||
| /* update number of samples */ | /* update number of samples */ | ||||
| int64_t file_size = url_ftell(pb); | |||||
| int64_t file_size = avio_tell(pb); | |||||
| int64_t num_samples = (file_size - sox->header_size - 4LL) >> 2LL; | int64_t num_samples = (file_size - sox->header_size - 4LL) >> 2LL; | ||||
| avio_seek(pb, 8, SEEK_SET); | avio_seek(pb, 8, SEEK_SET); | ||||
| if (enc->codec_id == CODEC_ID_PCM_S32LE) { | if (enc->codec_id == CODEC_ID_PCM_S32LE) { | ||||
| @@ -185,7 +185,7 @@ static int spdif_read_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| if (ret) | if (ret) | ||||
| return ret; | return ret; | ||||
| pkt->pos = url_ftell(pb) - BURST_HEADER_SIZE; | |||||
| pkt->pos = avio_tell(pb) - BURST_HEADER_SIZE; | |||||
| if (avio_read(pb, pkt->data, pkt->size) < pkt->size) { | if (avio_read(pb, pkt->data, pkt->size) < pkt->size) { | ||||
| av_free_packet(pkt); | av_free_packet(pkt); | ||||
| @@ -75,7 +75,7 @@ static inline int is_eol(char c) | |||||
| static int srt_read_packet(AVFormatContext *s, AVPacket *pkt) | static int srt_read_packet(AVFormatContext *s, AVPacket *pkt) | ||||
| { | { | ||||
| char buffer[2048], *ptr = buffer, *ptr2; | char buffer[2048], *ptr = buffer, *ptr2; | ||||
| int64_t pos = url_ftell(s->pb); | |||||
| int64_t pos = avio_tell(s->pb); | |||||
| int res = AVERROR_EOF; | int res = AVERROR_EOF; | ||||
| do { | do { | ||||
| @@ -87,7 +87,7 @@ static int swf_read_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| int tag, len, i, frame, v; | int tag, len, i, frame, v; | ||||
| for(;;) { | for(;;) { | ||||
| uint64_t pos = url_ftell(pb); | |||||
| uint64_t pos = avio_tell(pb); | |||||
| tag = get_swf_tag(pb, &len); | tag = get_swf_tag(pb, &len); | ||||
| if (tag < 0) | if (tag < 0) | ||||
| return AVERROR(EIO); | return AVERROR(EIO); | ||||
| @@ -29,7 +29,7 @@ static void put_swf_tag(AVFormatContext *s, int tag) | |||||
| SWFContext *swf = s->priv_data; | SWFContext *swf = s->priv_data; | ||||
| AVIOContext *pb = s->pb; | AVIOContext *pb = s->pb; | ||||
| swf->tag_pos = url_ftell(pb); | |||||
| swf->tag_pos = avio_tell(pb); | |||||
| swf->tag = tag; | swf->tag = tag; | ||||
| /* reserve some room for the tag */ | /* reserve some room for the tag */ | ||||
| if (tag & TAG_LONG) { | if (tag & TAG_LONG) { | ||||
| @@ -47,7 +47,7 @@ static void put_swf_end_tag(AVFormatContext *s) | |||||
| int64_t pos; | int64_t pos; | ||||
| int tag_len, tag; | int tag_len, tag; | ||||
| pos = url_ftell(pb); | |||||
| pos = avio_tell(pb); | |||||
| tag_len = pos - swf->tag_pos - 2; | tag_len = pos - swf->tag_pos - 2; | ||||
| tag = swf->tag; | tag = swf->tag; | ||||
| avio_seek(pb, swf->tag_pos, SEEK_SET); | avio_seek(pb, swf->tag_pos, SEEK_SET); | ||||
| @@ -246,7 +246,7 @@ static int swf_write_header(AVFormatContext *s) | |||||
| put_swf_rect(pb, 0, width * 20, 0, height * 20); | put_swf_rect(pb, 0, width * 20, 0, height * 20); | ||||
| avio_wl16(pb, (rate * 256) / rate_base); /* frame rate */ | avio_wl16(pb, (rate * 256) / rate_base); /* frame rate */ | ||||
| swf->duration_pos = url_ftell(pb); | |||||
| swf->duration_pos = avio_tell(pb); | |||||
| avio_wl16(pb, (uint16_t)(DUMMY_DURATION * (int64_t)rate / rate_base)); /* frame count */ | avio_wl16(pb, (uint16_t)(DUMMY_DURATION * (int64_t)rate / rate_base)); /* frame count */ | ||||
| /* avm2/swf v9 (also v8?) files require a file attribute tag */ | /* avm2/swf v9 (also v8?) files require a file attribute tag */ | ||||
| @@ -346,7 +346,7 @@ static int swf_write_video(AVFormatContext *s, | |||||
| /* create a new video object */ | /* create a new video object */ | ||||
| put_swf_tag(s, TAG_VIDEOSTREAM); | put_swf_tag(s, TAG_VIDEOSTREAM); | ||||
| avio_wl16(pb, VIDEO_ID); | avio_wl16(pb, VIDEO_ID); | ||||
| swf->vframes_pos = url_ftell(pb); | |||||
| swf->vframes_pos = avio_tell(pb); | |||||
| avio_wl16(pb, 15000); /* hard flash player limit */ | avio_wl16(pb, 15000); /* hard flash player limit */ | ||||
| avio_wl16(pb, enc->width); | avio_wl16(pb, enc->width); | ||||
| avio_wl16(pb, enc->height); | avio_wl16(pb, enc->height); | ||||
| @@ -493,7 +493,7 @@ static int swf_write_trailer(AVFormatContext *s) | |||||
| /* patch file size and number of frames if not streamed */ | /* patch file size and number of frames if not streamed */ | ||||
| if (!url_is_streamed(s->pb) && video_enc) { | if (!url_is_streamed(s->pb) && video_enc) { | ||||
| file_size = url_ftell(pb); | |||||
| file_size = avio_tell(pb); | |||||
| avio_seek(pb, 4, SEEK_SET); | avio_seek(pb, 4, SEEK_SET); | ||||
| avio_wl32(pb, file_size); | avio_wl32(pb, file_size); | ||||
| avio_seek(pb, swf->duration_pos, SEEK_SET); | avio_seek(pb, swf->duration_pos, SEEK_SET); | ||||
| @@ -46,7 +46,7 @@ static int tta_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| if (!av_metadata_get(s->metadata, "", NULL, AV_METADATA_IGNORE_SUFFIX)) | if (!av_metadata_get(s->metadata, "", NULL, AV_METADATA_IGNORE_SUFFIX)) | ||||
| ff_id3v1_read(s); | ff_id3v1_read(s); | ||||
| start_offset = url_ftell(s->pb); | |||||
| start_offset = avio_tell(s->pb); | |||||
| if (avio_rl32(s->pb) != AV_RL32("TTA1")) | if (avio_rl32(s->pb) != AV_RL32("TTA1")) | ||||
| return -1; // not tta file | return -1; // not tta file | ||||
| @@ -84,7 +84,7 @@ static int tta_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| st->start_time = 0; | st->start_time = 0; | ||||
| st->duration = datalen; | st->duration = datalen; | ||||
| framepos = url_ftell(s->pb) + 4*c->totalframes + 4; | |||||
| framepos = avio_tell(s->pb) + 4*c->totalframes + 4; | |||||
| for (i = 0; i < c->totalframes; i++) { | for (i = 0; i < c->totalframes; i++) { | ||||
| uint32_t size = avio_rl32(s->pb); | uint32_t size = avio_rl32(s->pb); | ||||
| @@ -99,7 +99,7 @@ static int tta_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| st->codec->sample_rate = samplerate; | st->codec->sample_rate = samplerate; | ||||
| st->codec->bits_per_coded_sample = bps; | st->codec->bits_per_coded_sample = bps; | ||||
| st->codec->extradata_size = url_ftell(s->pb) - start_offset; | |||||
| st->codec->extradata_size = avio_tell(s->pb) - start_offset; | |||||
| if(st->codec->extradata_size+FF_INPUT_BUFFER_PADDING_SIZE <= (unsigned)st->codec->extradata_size){ | if(st->codec->extradata_size+FF_INPUT_BUFFER_PADDING_SIZE <= (unsigned)st->codec->extradata_size){ | ||||
| //this check is redundant as avio_read should fail | //this check is redundant as avio_read should fail | ||||
| av_log(s, AV_LOG_ERROR, "extradata_size too large\n"); | av_log(s, AV_LOG_ERROR, "extradata_size too large\n"); | ||||
| @@ -112,7 +112,7 @@ static int read_packet(AVFormatContext *avctx, AVPacket *pkt) | |||||
| n = s->chars_per_frame; | n = s->chars_per_frame; | ||||
| if (s->fsize) { | if (s->fsize) { | ||||
| // ignore metadata buffer | // ignore metadata buffer | ||||
| uint64_t p = url_ftell(avctx->pb); | |||||
| uint64_t p = avio_tell(avctx->pb); | |||||
| if (p + s->chars_per_frame > s->fsize) | if (p + s->chars_per_frame > s->fsize) | ||||
| n = s->fsize - p; | n = s->fsize - p; | ||||
| } | } | ||||
| @@ -330,7 +330,7 @@ int av_get_packet(AVIOContext *s, AVPacket *pkt, int size) | |||||
| if(ret<0) | if(ret<0) | ||||
| return ret; | return ret; | ||||
| pkt->pos= url_ftell(s); | |||||
| pkt->pos= avio_tell(s); | |||||
| ret= avio_read(s, pkt->data, size); | ret= avio_read(s, pkt->data, size); | ||||
| if(ret<=0) | if(ret<=0) | ||||
| @@ -490,7 +490,7 @@ int av_open_input_stream(AVFormatContext **ic_ptr, | |||||
| } | } | ||||
| if (pb && !ic->data_offset) | if (pb && !ic->data_offset) | ||||
| ic->data_offset = url_ftell(ic->pb); | |||||
| ic->data_offset = avio_tell(ic->pb); | |||||
| #if FF_API_OLD_METADATA | #if FF_API_OLD_METADATA | ||||
| ff_metadata_demux_compat(ic); | ff_metadata_demux_compat(ic); | ||||
| @@ -2212,7 +2212,7 @@ int av_find_stream_info(AVFormatContext *ic) | |||||
| int i, count, ret, read_size, j; | int i, count, ret, read_size, j; | ||||
| AVStream *st; | AVStream *st; | ||||
| AVPacket pkt1, *pkt; | AVPacket pkt1, *pkt; | ||||
| int64_t old_offset = url_ftell(ic->pb); | |||||
| int64_t old_offset = avio_tell(ic->pb); | |||||
| for(i=0;i<ic->nb_streams;i++) { | for(i=0;i<ic->nb_streams;i++) { | ||||
| AVCodec *codec; | AVCodec *codec; | ||||
| @@ -80,7 +80,7 @@ voc_get_packet(AVFormatContext *s, AVPacket *pkt, AVStream *st, int max_size) | |||||
| if (!voc->remaining_size) { | if (!voc->remaining_size) { | ||||
| if (url_is_streamed(s->pb)) | if (url_is_streamed(s->pb)) | ||||
| return AVERROR(EIO); | return AVERROR(EIO); | ||||
| voc->remaining_size = url_fsize(pb) - url_ftell(pb); | |||||
| voc->remaining_size = url_fsize(pb) - avio_tell(pb); | |||||
| } | } | ||||
| max_size -= 4; | max_size -= 4; | ||||
| @@ -200,7 +200,7 @@ static int vqf_read_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| int ret; | int ret; | ||||
| int size = (c->frame_bit_len - c->remaining_bits + 7)>>3; | int size = (c->frame_bit_len - c->remaining_bits + 7)>>3; | ||||
| pkt->pos = url_ftell(s->pb); | |||||
| pkt->pos = avio_tell(s->pb); | |||||
| pkt->stream_index = 0; | pkt->stream_index = 0; | ||||
| if (av_new_packet(pkt, size+2) < 0) | if (av_new_packet(pkt, size+2) < 0) | ||||
| @@ -102,7 +102,7 @@ static int wav_write_trailer(AVFormatContext *s) | |||||
| ff_end_tag(pb, wav->data); | ff_end_tag(pb, wav->data); | ||||
| /* update file size */ | /* update file size */ | ||||
| file_size = url_ftell(pb); | |||||
| file_size = avio_tell(pb); | |||||
| avio_seek(pb, 4, SEEK_SET); | avio_seek(pb, 4, SEEK_SET); | ||||
| avio_wl32(pb, (uint32_t)(file_size - 8)); | avio_wl32(pb, (uint32_t)(file_size - 8)); | ||||
| avio_seek(pb, file_size, SEEK_SET); | avio_seek(pb, file_size, SEEK_SET); | ||||
| @@ -252,7 +252,7 @@ static int wav_read_header(AVFormatContext *s, | |||||
| if (!size) { | if (!size) { | ||||
| wav->data_end = INT64_MAX; | wav->data_end = INT64_MAX; | ||||
| } else | } else | ||||
| wav->data_end= url_ftell(pb) + size; | |||||
| wav->data_end= avio_tell(pb) + size; | |||||
| if (!sample_count && st->codec->channels && av_get_bits_per_sample(st->codec->codec_id)) | if (!sample_count && st->codec->channels && av_get_bits_per_sample(st->codec->codec_id)) | ||||
| sample_count = (size<<3) / (st->codec->channels * (uint64_t)av_get_bits_per_sample(st->codec->codec_id)); | sample_count = (size<<3) / (st->codec->channels * (uint64_t)av_get_bits_per_sample(st->codec->codec_id)); | ||||
| @@ -296,7 +296,7 @@ static int wav_read_packet(AVFormatContext *s, | |||||
| st = s->streams[0]; | st = s->streams[0]; | ||||
| left = wav->data_end - url_ftell(s->pb); | |||||
| left = wav->data_end - avio_tell(s->pb); | |||||
| if (left <= 0){ | if (left <= 0){ | ||||
| if (CONFIG_W64_DEMUXER && wav->w64) | if (CONFIG_W64_DEMUXER && wav->w64) | ||||
| left = find_guid(s->pb, guid_data) - 24; | left = find_guid(s->pb, guid_data) - 24; | ||||
| @@ -304,7 +304,7 @@ static int wav_read_packet(AVFormatContext *s, | |||||
| left = find_tag(s->pb, MKTAG('d', 'a', 't', 'a')); | left = find_tag(s->pb, MKTAG('d', 'a', 't', 'a')); | ||||
| if (left < 0) | if (left < 0) | ||||
| return AVERROR_EOF; | return AVERROR_EOF; | ||||
| wav->data_end= url_ftell(s->pb) + left; | |||||
| wav->data_end= avio_tell(s->pb) + left; | |||||
| } | } | ||||
| size = MAX_SIZE; | size = MAX_SIZE; | ||||
| @@ -421,7 +421,7 @@ static int w64_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| av_log(s, AV_LOG_ERROR, "could not find data guid\n"); | av_log(s, AV_LOG_ERROR, "could not find data guid\n"); | ||||
| return -1; | return -1; | ||||
| } | } | ||||
| wav->data_end = url_ftell(pb) + size - 24; | |||||
| wav->data_end = avio_tell(pb) + size - 24; | |||||
| wav->w64 = 1; | wav->w64 = 1; | ||||
| return 0; | return 0; | ||||
| @@ -468,7 +468,7 @@ static void get_attachment(AVFormatContext *s, AVIOContext *pb, int length) | |||||
| char description[1024]; | char description[1024]; | ||||
| unsigned int filesize; | unsigned int filesize; | ||||
| AVStream *st; | AVStream *st; | ||||
| int64_t pos = url_ftell(pb); | |||||
| int64_t pos = avio_tell(pb); | |||||
| avio_get_str16le(pb, INT_MAX, mime, sizeof(mime)); | avio_get_str16le(pb, INT_MAX, mime, sizeof(mime)); | ||||
| if (strcmp(mime, "image/jpeg")) | if (strcmp(mime, "image/jpeg")) | ||||
| @@ -980,7 +980,7 @@ static int read_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| return ret; | return ret; | ||||
| avio_seek(wtv->pb, -32, SEEK_CUR); | avio_seek(wtv->pb, -32, SEEK_CUR); | ||||
| timeline_pos = url_ftell(s->pb); // save before opening another file | |||||
| timeline_pos = avio_tell(s->pb); // save before opening another file | |||||
| /* read metadata */ | /* read metadata */ | ||||
| pb = wtvfile_open(s, root, root_size, table_0_entries_legacy_attrib_le16); | pb = wtvfile_open(s, root, root_size, table_0_entries_legacy_attrib_le16); | ||||
| @@ -84,7 +84,7 @@ static int wv_read_block_header(AVFormatContext *ctx, AVIOContext *pb, int appen | |||||
| int rate, bpp, chan; | int rate, bpp, chan; | ||||
| uint32_t chmask; | uint32_t chmask; | ||||
| wc->pos = url_ftell(pb); | |||||
| wc->pos = avio_tell(pb); | |||||
| if(!append){ | if(!append){ | ||||
| tag = avio_rl32(pb); | tag = avio_rl32(pb); | ||||
| if (tag != MKTAG('w', 'v', 'p', 'k')) | if (tag != MKTAG('w', 'v', 'p', 'k')) | ||||
| @@ -120,12 +120,12 @@ static int wv_read_block_header(AVFormatContext *ctx, AVIOContext *pb, int appen | |||||
| chmask = wc->chmask; | chmask = wc->chmask; | ||||
| } | } | ||||
| if((rate == -1 || !chan) && !wc->block_parsed){ | if((rate == -1 || !chan) && !wc->block_parsed){ | ||||
| int64_t block_end = url_ftell(pb) + wc->blksize - 24; | |||||
| int64_t block_end = avio_tell(pb) + wc->blksize - 24; | |||||
| if(url_is_streamed(pb)){ | if(url_is_streamed(pb)){ | ||||
| av_log(ctx, AV_LOG_ERROR, "Cannot determine additional parameters\n"); | av_log(ctx, AV_LOG_ERROR, "Cannot determine additional parameters\n"); | ||||
| return -1; | return -1; | ||||
| } | } | ||||
| while(url_ftell(pb) < block_end){ | |||||
| while(avio_tell(pb) < block_end){ | |||||
| int id, size; | int id, size; | ||||
| id = avio_r8(pb); | id = avio_r8(pb); | ||||
| size = (id & 0x80) ? avio_rl24(pb) : avio_r8(pb); | size = (id & 0x80) ? avio_rl24(pb) : avio_r8(pb); | ||||
| @@ -224,7 +224,7 @@ static int wv_read_header(AVFormatContext *s, | |||||
| st->duration = wc->samples; | st->duration = wc->samples; | ||||
| if(!url_is_streamed(s->pb)) { | if(!url_is_streamed(s->pb)) { | ||||
| int64_t cur = url_ftell(s->pb); | |||||
| int64_t cur = avio_tell(s->pb); | |||||
| ff_ape_parse_tag(s); | ff_ape_parse_tag(s); | ||||
| if(!av_metadata_get(s->metadata, "", NULL, AV_METADATA_IGNORE_SUFFIX)) | if(!av_metadata_get(s->metadata, "", NULL, AV_METADATA_IGNORE_SUFFIX)) | ||||
| ff_id3v1_read(s); | ff_id3v1_read(s); | ||||
| @@ -327,7 +327,7 @@ static int wv_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp, | |||||
| if(timestamp < 0 || timestamp >= s->duration) | if(timestamp < 0 || timestamp >= s->duration) | ||||
| return -1; | return -1; | ||||
| pos = url_ftell(s->pb); | |||||
| pos = avio_tell(s->pb); | |||||
| do{ | do{ | ||||
| ret = av_read_frame(s, pkt); | ret = av_read_frame(s, pkt); | ||||
| if (ret < 0){ | if (ret < 0){ | ||||
| @@ -136,7 +136,7 @@ static int yop_read_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| if (ret < 0) | if (ret < 0) | ||||
| return ret; | return ret; | ||||
| yop->video_packet.pos = url_ftell(pb); | |||||
| yop->video_packet.pos = avio_tell(pb); | |||||
| ret = avio_read(pb, yop->video_packet.data, yop->palette_size); | ret = avio_read(pb, yop->video_packet.data, yop->palette_size); | ||||
| if (ret < 0) { | if (ret < 0) { | ||||