diff options
author | Björn Axelsson <gecko@acc.umu.se> | 2007-11-21 07:41:00 +0000 |
---|---|---|
committer | Andreas Öman <andreas@lonelycoder.com> | 2007-11-21 07:41:00 +0000 |
commit | 899681cd1dbf4cd7c3b86af23bca25e20a54f4d0 (patch) | |
tree | 6f4556497efab1d703d1289b170c936154c6bbd5 | |
parent | 79815f622d90499f882ad968a1351134535cbbab (diff) | |
download | ffmpeg-899681cd1dbf4cd7c3b86af23bca25e20a54f4d0.tar.gz |
Use dynamically allocated ByteIOContext in AVFormatContext
patch by: Björn Axelsson, bjorn d axelsson a intinor d se
thread: [PATCH] Remove static ByteIOContexts, 06 nov 2007
Originally committed as revision 11071 to svn://svn.ffmpeg.org/ffmpeg/trunk
89 files changed, 874 insertions, 825 deletions
@@ -920,9 +920,9 @@ static void print_report(AVFormatContext **output_files, oc = output_files[0]; - 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 - total_size= url_ftell(&oc->pb); + total_size= url_ftell(oc->pb); buf[0] = '\0'; ti1 = 1e10; @@ -1948,7 +1948,7 @@ static int av_encode(AVFormatContext **output_files, break; /* finish if limit size exhausted */ - if (limit_filesize != 0 && limit_filesize < url_ftell(&output_files[0]->pb)) + if (limit_filesize != 0 && limit_filesize < url_ftell(output_files[0]->pb)) break; /* read a frame from it and output it in the fifo */ @@ -3835,7 +3835,7 @@ static int av_exit() AVFormatContext *s = output_files[i]; int j; if (!(s->oformat->flags & AVFMT_NOFILE)) - url_fclose(&s->pb); + url_fclose(s->pb); for(j=0;j<s->nb_streams;j++) { av_free(s->streams[j]->codec); av_free(s->streams[j]); @@ -1912,7 +1912,8 @@ static int decode_thread(void *arg) ret = -1; goto fail; } - ic->pb.eof_reached= 0; //FIXME hack, ffplay maybe should not use url_feof() to test for the end + if(ic->pb) + ic->pb->eof_reached= 0; //FIXME hack, ffplay maybe should not use url_feof() to test for the end /* if seeking requested, we execute it */ if (start_time != AV_NOPTS_VALUE) { @@ -1980,7 +1981,7 @@ static int decode_thread(void *arg) #if defined(CONFIG_RTSP_DEMUXER) || defined(CONFIG_MMSH_PROTOCOL) if (is->paused && (!strcmp(ic->iformat->name, "rtsp") || - !strcmp(url_fileno(&ic->pb)->prot->name, "mmsh"))) { + (ic->pb && !strcmp(url_fileno(ic->pb)->prot->name, "mmsh")))) { /* wait 10 ms to avoid trying to get another packet */ /* XXX: horrible */ SDL_Delay(10); @@ -2023,14 +2024,14 @@ static int decode_thread(void *arg) if (is->audioq.size > MAX_AUDIOQ_SIZE || is->videoq.size > MAX_VIDEOQ_SIZE || is->subtitleq.size > MAX_SUBTITLEQ_SIZE || - url_feof(&ic->pb)) { + url_feof(ic->pb)) { /* wait 10 ms */ SDL_Delay(10); continue; } ret = av_read_frame(ic, pkt); if (ret < 0) { - if (url_ferror(&ic->pb) == 0) { + if (url_ferror(ic->pb) == 0) { SDL_Delay(100); /* wait for user event */ continue; } else @@ -2282,7 +2283,7 @@ static void event_loop(void) do_seek: if (cur_stream) { if (seek_by_bytes) { - pos = url_ftell(&cur_stream->ic->pb); + pos = url_ftell(cur_stream->ic->pb); if (cur_stream->ic->bit_rate) incr *= cur_stream->ic->bit_rate / 60.0; else diff --git a/ffserver.c b/ffserver.c index 96b298795d..4f072286c6 100644 --- a/ffserver.c +++ b/ffserver.c @@ -752,7 +752,7 @@ static void close_connection(HTTPContext *c) /* prepare header */ if (url_open_dyn_buf(&ctx->pb) >= 0) { av_write_trailer(ctx); - url_close_dyn_buf(&ctx->pb, &c->pb_buffer); + url_close_dyn_buf(ctx->pb, &c->pb_buffer); } } } @@ -1596,9 +1596,9 @@ static void compute_stats(HTTPContext *c) char *p; time_t ti; int i, len; - ByteIOContext pb1, *pb = &pb1; + ByteIOContext *pb; - if (url_open_dyn_buf(pb) < 0) { + if (url_open_dyn_buf(&pb) < 0) { /* XXX: return an error ? */ c->buffer_ptr = c->buffer; c->buffer_end = c->buffer; @@ -2032,13 +2032,13 @@ static int http_prepare_data(HTTPContext *c) /* XXX: potential leak */ return -1; } - c->fmt_ctx.pb.is_streamed = 1; + c->fmt_ctx.pb->is_streamed = 1; av_set_parameters(&c->fmt_ctx, NULL); if (av_write_header(&c->fmt_ctx) < 0) return -1; - len = url_close_dyn_buf(&c->fmt_ctx.pb, &c->pb_buffer); + len = url_close_dyn_buf(c->fmt_ctx.pb, &c->pb_buffer); c->buffer_ptr = c->pb_buffer; c->buffer_end = c->pb_buffer + len; @@ -2182,7 +2182,7 @@ static int http_prepare_data(HTTPContext *c) if (av_write_frame(ctx, &pkt)) c->state = HTTPSTATE_SEND_DATA_TRAILER; - len = url_close_dyn_buf(&ctx->pb, &c->pb_buffer); + len = url_close_dyn_buf(ctx->pb, &c->pb_buffer); c->cur_frame_bytes = len; c->buffer_ptr = c->pb_buffer; c->buffer_end = c->pb_buffer + len; @@ -2208,7 +2208,7 @@ static int http_prepare_data(HTTPContext *c) return -1; } av_write_trailer(ctx); - len = url_close_dyn_buf(&ctx->pb, &c->pb_buffer); + len = url_close_dyn_buf(ctx->pb, &c->pb_buffer); c->buffer_ptr = c->pb_buffer; c->buffer_end = c->pb_buffer + len; @@ -2261,7 +2261,7 @@ static int http_send_data(HTTPContext *c) if (c->rtp_protocol == RTSP_PROTOCOL_RTP_TCP) { /* RTP packets are sent inside the RTSP TCP connection */ - ByteIOContext pb1, *pb = &pb1; + ByteIOContext *pb; int interleaved_index, size; uint8_t header[4]; HTTPContext *rtsp_c; @@ -2273,7 +2273,7 @@ static int http_send_data(HTTPContext *c) /* if already sending something, then wait. */ if (rtsp_c->state != RTSPSTATE_WAIT_REQUEST) break; - if (url_open_dyn_buf(pb) < 0) + if (url_open_dyn_buf(&pb) < 0) goto fail1; interleaved_index = c->packet_stream_index * 2; /* RTCP packets are sent at odd indexes */ @@ -2432,14 +2432,13 @@ static int http_receive_data(HTTPContext *c) /* We have a header in our hands that contains useful data */ AVFormatContext s; AVInputFormat *fmt_in; - ByteIOContext *pb = &s.pb; int i; memset(&s, 0, sizeof(s)); - url_open_buf(pb, c->buffer, c->buffer_end - c->buffer, URL_RDONLY); - pb->buf_end = c->buffer_end; /* ?? */ - pb->is_streamed = 1; + url_open_buf(&s.pb, c->buffer, c->buffer_end - c->buffer, URL_RDONLY); + s.pb->buf_end = c->buffer_end; /* ?? */ + s.pb->is_streamed = 1; /* use feed output format name to find corresponding input format */ fmt_in = av_find_input_format(feed->fmt->name); @@ -2553,7 +2552,6 @@ static int rtsp_parse_request(HTTPContext *c) char url[1024]; char protocol[32]; char line[1024]; - ByteIOContext pb1; int len; RTSPHeader header1, *header = &header1; @@ -2568,8 +2566,7 @@ static int rtsp_parse_request(HTTPContext *c) av_strlcpy(c->url, url, sizeof(c->url)); av_strlcpy(c->protocol, protocol, sizeof(c->protocol)); - c->pb = &pb1; - if (url_open_dyn_buf(c->pb) < 0) { + if (url_open_dyn_buf(&c->pb) < 0) { /* XXX: cannot do more */ c->pb = NULL; /* safety */ return -1; @@ -3164,7 +3161,7 @@ static int rtp_new_av_stream(HTTPContext *c, av_free(ctx); return -1; } - url_close_dyn_buf(&ctx->pb, &dummy_buf); + url_close_dyn_buf(ctx->pb, &dummy_buf); av_free(dummy_buf); c->rtp_ctx[stream_index] = ctx; @@ -3479,7 +3476,7 @@ static void build_feed_streams(void) } /* XXX: need better api */ av_freep(&s->priv_data); - url_fclose(&s->pb); + url_fclose(s->pb); } /* get feed size and write index */ fd = open(feed->feed_filename, O_RDONLY); diff --git a/libavformat/4xm.c b/libavformat/4xm.c index 5f982e3c88..151e9c9c81 100644 --- a/libavformat/4xm.c +++ b/libavformat/4xm.c @@ -92,7 +92,7 @@ static int fourxm_probe(AVProbeData *p) static int fourxm_read_header(AVFormatContext *s, AVFormatParameters *ap) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; unsigned int fourcc_tag; unsigned int size; int header_size; @@ -224,7 +224,7 @@ static int fourxm_read_packet(AVFormatContext *s, AVPacket *pkt) { FourxmDemuxContext *fourxm = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; unsigned int fourcc_tag; unsigned int size, out_size; int ret = 0; @@ -235,7 +235,7 @@ static int fourxm_read_packet(AVFormatContext *s, while (!packet_read) { - if ((ret = get_buffer(&s->pb, header, 8)) < 0) + if ((ret = get_buffer(s->pb, header, 8)) < 0) return ret; fourcc_tag = AV_RL32(&header[0]); size = AV_RL32(&header[4]); @@ -265,9 +265,9 @@ static int fourxm_read_packet(AVFormatContext *s, return AVERROR(EIO); pkt->stream_index = fourxm->video_stream_index; pkt->pts = fourxm->video_pts; - pkt->pos = url_ftell(&s->pb); + pkt->pos = url_ftell(s->pb); memcpy(pkt->data, header, 8); - ret = get_buffer(&s->pb, &pkt->data[8], size); + ret = get_buffer(s->pb, &pkt->data[8], size); if (ret < 0) av_free_packet(pkt); @@ -282,7 +282,7 @@ static int fourxm_read_packet(AVFormatContext *s, size-=8; if (track_number == fourxm->selected_track) { - ret= av_get_packet(&s->pb, pkt, size); + ret= av_get_packet(s->pb, pkt, size); if(ret<0) return AVERROR(EIO); pkt->stream_index = diff --git a/libavformat/adtsenc.c b/libavformat/adtsenc.c index 9795e407e6..1949fcf542 100644 --- a/libavformat/adtsenc.c +++ b/libavformat/adtsenc.c @@ -84,7 +84,7 @@ static int adts_write_frame_header(AVFormatContext *s, int size) put_bits(&pb, 2, 0); /* number_of_raw_data_blocks_in_frame */ flush_put_bits(&pb); - put_buffer(&s->pb, buf, ADTS_HEADER_SIZE); + put_buffer(s->pb, buf, ADTS_HEADER_SIZE); return 0; } @@ -92,7 +92,7 @@ static int adts_write_frame_header(AVFormatContext *s, int size) static int adts_write_packet(AVFormatContext *s, AVPacket *pkt) { ADTSContext *adts = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; if (!pkt->size) return 0; diff --git a/libavformat/aiff.c b/libavformat/aiff.c index ea98554654..f840c176da 100644 --- a/libavformat/aiff.c +++ b/libavformat/aiff.c @@ -161,7 +161,7 @@ typedef struct { static int aiff_write_header(AVFormatContext *s) { AIFFOutputContext *aiff = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVCodecContext *enc = s->streams[0]->codec; AVExtFloat sample_rate; int aifc = 0; @@ -231,14 +231,14 @@ static int aiff_write_header(AVFormatContext *s) static int aiff_write_packet(AVFormatContext *s, AVPacket *pkt) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; put_buffer(pb, pkt->data, pkt->size); return 0; } static int aiff_write_trailer(AVFormatContext *s) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AIFFOutputContext *aiff = s->priv_data; AVCodecContext *enc = s->streams[0]->codec; @@ -250,7 +250,7 @@ static int aiff_write_trailer(AVFormatContext *s) end_size++; } - if (!url_is_streamed(&s->pb)) { + if (!url_is_streamed(s->pb)) { /* File length */ url_fseek(pb, aiff->form, SEEK_SET); put_be32(pb, (uint32_t)(file_size - aiff->form - 4)); @@ -293,7 +293,7 @@ static int aiff_read_header(AVFormatContext *s, offset_t offset = 0; uint32_t tag; unsigned version = AIFF_C_VERSION1; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVStream * st = s->streams[0]; /* check FORM header */ @@ -399,11 +399,11 @@ static int aiff_read_packet(AVFormatContext *s, int res; /* End of stream may be reached */ - if (url_feof(&s->pb)) + if (url_feof(s->pb)) return AVERROR(EIO); /* Now for that packet */ - res = av_get_packet(&s->pb, pkt, (MAX_SIZE / st->codec->block_align) * st->codec->block_align); + res = av_get_packet(s->pb, pkt, (MAX_SIZE / st->codec->block_align) * st->codec->block_align); if (res < 0) return res; diff --git a/libavformat/amr.c b/libavformat/amr.c index c0a8707b6a..d8c5399e3f 100644 --- a/libavformat/amr.c +++ b/libavformat/amr.c @@ -33,7 +33,7 @@ static const char AMRWB_header [] = "#!AMR-WB\n"; #ifdef CONFIG_MUXERS static int amr_write_header(AVFormatContext *s) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVCodecContext *enc = s->streams[0]->codec; s->priv_data = NULL; @@ -56,8 +56,8 @@ static int amr_write_header(AVFormatContext *s) static int amr_write_packet(AVFormatContext *s, AVPacket *pkt) { - put_buffer(&s->pb, pkt->data, pkt->size); - put_flush_packet(&s->pb); + put_buffer(s->pb, pkt->data, pkt->size); + put_flush_packet(s->pb); return 0; } #endif /* CONFIG_MUXERS */ @@ -78,7 +78,7 @@ static int amr_probe(AVProbeData *p) static int amr_read_header(AVFormatContext *s, AVFormatParameters *ap) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVStream *st; uint8_t header[9]; @@ -120,13 +120,13 @@ static int amr_read_packet(AVFormatContext *s, AVCodecContext *enc = s->streams[0]->codec; int read, size = 0, toc, mode; - if (url_feof(&s->pb)) + if (url_feof(s->pb)) { return AVERROR(EIO); } //FIXME this is wrong, this should rather be in a AVParset - toc=get_byte(&s->pb); + toc=get_byte(s->pb); mode = (toc >> 3) & 0x0F; if (enc->codec_id == CODEC_ID_AMR_NB) @@ -152,10 +152,10 @@ static int amr_read_packet(AVFormatContext *s, } pkt->stream_index = 0; - pkt->pos= url_ftell(&s->pb); + pkt->pos= url_ftell(s->pb); pkt->data[0]=toc; pkt->duration= enc->codec_id == CODEC_ID_AMR_NB ? 160 : 320; - read = get_buffer(&s->pb, pkt->data+1, size-1); + read = get_buffer(s->pb, pkt->data+1, size-1); if (read != size-1) { diff --git a/libavformat/apc.c b/libavformat/apc.c index 683c0c257b..97de8c88ed 100644 --- a/libavformat/apc.c +++ b/libavformat/apc.c @@ -32,7 +32,7 @@ static int apc_probe(AVProbeData *p) static int apc_read_header(AVFormatContext *s, AVFormatParameters *ap) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVStream *st; get_le32(pb); /* CRYO */ @@ -74,7 +74,7 @@ static int apc_read_header(AVFormatContext *s, AVFormatParameters *ap) static int apc_read_packet(AVFormatContext *s, AVPacket *pkt) { - if (av_get_packet(&s->pb, pkt, MAX_READ_SIZE) <= 0) + if (av_get_packet(s->pb, pkt, MAX_READ_SIZE) <= 0) return AVERROR(EIO); pkt->stream_index = 0; return 0; diff --git a/libavformat/ape.c b/libavformat/ape.c index 54ffa9e1ec..358ad2e8b2 100644 --- a/libavformat/ape.c +++ b/libavformat/ape.c @@ -110,7 +110,7 @@ typedef struct { static void ape_tag_read_field(AVFormatContext *s) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; uint8_t buf[1024]; uint32_t size; int i; @@ -143,7 +143,7 @@ static void ape_tag_read_field(AVFormatContext *s) static void ape_parse_tag(AVFormatContext *s) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int file_size = url_fsize(pb); uint32_t val, fields, tag_bytes; uint8_t buf[8]; @@ -270,7 +270,7 @@ static void ape_dumpinfo(APEContext * ape_ctx) static int ape_read_header(AVFormatContext * s, AVFormatParameters * ap) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; APEContext *ape = s->priv_data; AVStream *st; uint32_t tag; @@ -456,12 +456,12 @@ static int ape_read_packet(AVFormatContext * s, AVPacket * pkt) APEContext *ape = s->priv_data; uint32_t extra_size = 8; - if (url_feof(&s->pb)) + if (url_feof(s->pb)) return AVERROR_IO; if (ape->currentframe > ape->totalframes) return AVERROR_IO; - url_fseek (&s->pb, ape->frames[ape->currentframe].pos, SEEK_SET); + url_fseek (s->pb, ape->frames[ape->currentframe].pos, SEEK_SET); /* Calculate how many blocks there are in this frame */ if (ape->currentframe == (ape->totalframes - 1)) @@ -474,7 +474,7 @@ static int ape_read_packet(AVFormatContext * s, AVPacket * pkt) AV_WL32(pkt->data , nblocks); AV_WL32(pkt->data + 4, ape->frames[ape->currentframe].skip); - ret = get_buffer(&s->pb, pkt->data + extra_size, ape->frames[ape->currentframe].size); + ret = get_buffer(s->pb, pkt->data + extra_size, ape->frames[ape->currentframe].size); pkt->pts = ape->frames[ape->currentframe].pts; pkt->stream_index = 0; diff --git a/libavformat/asf-enc.c b/libavformat/asf-enc.c index 736c1365af..407dfd91f4 100644 --- a/libavformat/asf-enc.c +++ b/libavformat/asf-enc.c @@ -244,7 +244,7 @@ static void end_header(ByteIOContext *pb, int64_t pos) static void put_chunk(AVFormatContext *s, int type, int payload_length, int flags) { ASFContext *asf = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int length; length = payload_length + 8; @@ -270,7 +270,7 @@ static int64_t unix_to_file_time(int ti) static int asf_write_header1(AVFormatContext *s, int64_t file_size, int64_t data_chunk_size) { ASFContext *asf = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int header_size, n, extra_size, extra_size2, wav_extra_size, file_time; int has_title; AVCodecContext *enc; @@ -506,7 +506,7 @@ static int asf_write_header(AVFormatContext *s) return -1; } - put_flush_packet(&s->pb); + put_flush_packet(s->pb); asf->packet_nb_payloads = 0; asf->packet_timestamp_start = -1; @@ -535,7 +535,7 @@ static int put_payload_parsing_info( ) { ASFContext *asf = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int ppi_size, i; int64_t start= url_ftell(pb); @@ -600,9 +600,9 @@ static void flush_packet(AVFormatContext *s) assert(packet_hdr_size <= asf->packet_size_left); memset(asf->packet_buf + packet_filled_size, 0, asf->packet_size_left); - put_buffer(&s->pb, asf->packet_buf, asf->packet_size - packet_hdr_size); + put_buffer(s->pb, asf->packet_buf, asf->packet_size - packet_hdr_size); - put_flush_packet(&s->pb); + put_flush_packet(s->pb); asf->nb_packets++; asf->packet_nb_payloads = 0; asf->packet_timestamp_start = -1; @@ -766,7 +766,7 @@ static int asf_write_packet(AVFormatContext *s, AVPacket *pkt) // static int asf_write_index(AVFormatContext *s, ASFIndex *index, uint16_t max, uint32_t count) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int i; put_guid(pb, &simple_index_header); @@ -793,22 +793,22 @@ static int asf_write_trailer(AVFormatContext *s) flush_packet(s); /* write index */ - data_size = url_ftell(&s->pb); + data_size = url_ftell(s->pb); if ((!asf->is_streamed) && (asf->nb_index_count != 0)) { asf_write_index(s, asf->index_ptr, asf->maximum_packet, asf->nb_index_count); } - put_flush_packet(&s->pb); + put_flush_packet(s->pb); - if (asf->is_streamed || url_is_streamed(&s->pb)) { + if (asf->is_streamed || url_is_streamed(s->pb)) { put_chunk(s, 0x4524, 0, 0); /* end of stream */ } else { /* rewrite an updated header */ - file_size = url_ftell(&s->pb); - url_fseek(&s->pb, 0, SEEK_SET); + file_size = url_ftell(s->pb); + url_fseek(s->pb, 0, SEEK_SET); asf_write_header1(s, file_size, data_size - asf->data_offset); } - put_flush_packet(&s->pb); + put_flush_packet(s->pb); av_free(asf->index_ptr); return 0; } diff --git a/libavformat/asf.c b/libavformat/asf.c index 47277dfbac..b2f54d9639 100644 --- a/libavformat/asf.c +++ b/libavformat/asf.c @@ -148,7 +148,7 @@ static int asf_read_header(AVFormatContext *s, AVFormatParameters *ap) { ASFContext *asf = s->priv_data; GUID g; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVStream *st; ASFStream *asf_st; int size, i; @@ -582,12 +582,12 @@ static int asf_read_header(AVFormatContext *s, AVFormatParameters *ap) static int asf_get_packet(AVFormatContext *s) { ASFContext *asf = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; uint32_t packet_length, padsize; int rsize = 8; int c, d, e, off; - off= (url_ftell(&s->pb) - s->data_offset) % asf->packet_size + 3; + off= (url_ftell(s->pb) - s->data_offset) % asf->packet_size + 3; c=d=e=-1; while(off-- > 0){ @@ -658,7 +658,7 @@ static int asf_get_packet(AVFormatContext *s) */ static int asf_read_frame_header(AVFormatContext *s){ ASFContext *asf = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int rsize = 1; int num = get_byte(pb); int64_t ts0, ts1; @@ -731,7 +731,7 @@ static int asf_read_packet(AVFormatContext *s, AVPacket *pkt) { ASFContext *asf = s->priv_data; ASFStream *asf_st = 0; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; //static int pc = 0; for (;;) { if(url_feof(pb)) @@ -745,7 +745,7 @@ static int asf_read_packet(AVFormatContext *s, AVPacket *pkt) /* fail safe */ url_fskip(pb, ret); - asf->packet_pos= url_ftell(&s->pb); + asf->packet_pos= url_ftell(s->pb); if (asf->data_object_size != (uint64_t)-1 && (asf->packet_pos - asf->data_object_offset >= asf->data_object_size)) return AVERROR(EIO); /* Do not exceed the size of the data object */ @@ -968,7 +968,7 @@ static int64_t asf_read_pts(AVFormatContext *s, int stream_index, int64_t *ppos, pos= (pos+asf->packet_size-1-s->data_offset)/asf->packet_size*asf->packet_size+ s->data_offset; *ppos= pos; - url_fseek(&s->pb, pos, SEEK_SET); + url_fseek(s->pb, pos, SEEK_SET); //printf("asf_read_pts\n"); asf_reset_header(s); @@ -1012,21 +1012,21 @@ static void asf_build_simple_index(AVFormatContext *s, int stream_index) int i; int pct,ict; - current_pos = url_ftell(&s->pb); + current_pos = url_ftell(s->pb); - url_fseek(&s->pb, asf->data_object_offset + asf->data_object_size, SEEK_SET); - get_guid(&s->pb, &g); + url_fseek(s->pb, asf->data_object_offset + asf->data_object_size, SEEK_SET); + get_guid(s->pb, &g); if (!memcmp(&g, &index_guid, sizeof(GUID))) { - gsize = get_le64(&s->pb); - get_guid(&s->pb, &g); - itime=get_le64(&s->pb); - pct=get_le32(&s->pb); - ict=get_le32(&s->pb); + gsize = get_le64(s->pb); + get_guid(s->pb, &g); + itime=get_le64(s->pb); + pct=get_le32(s->pb); + ict=get_le32(s->pb); av_log(NULL, AV_LOG_DEBUG, "itime:0x%"PRIx64", pct:%d, ict:%d\n",itime,pct,ict); for (i=0;i<ict;i++){ - int pktnum=get_le32(&s->pb); - int pktct =get_le16(&s->pb); + int pktnum=get_le32(s->pb); + int pktct =get_le16(s->pb); av_log(NULL, AV_LOG_DEBUG, "pktnum:%d, pktct:%d\n", pktnum, pktct); pos=s->data_offset + asf->packet_size*(int64_t)pktnum; @@ -1036,7 +1036,7 @@ static void asf_build_simple_index(AVFormatContext *s, int stream_index) } asf->index_read= 1; } - url_fseek(&s->pb, current_pos, SEEK_SET); + url_fseek(s->pb, current_pos, SEEK_SET); } static int asf_read_seek(AVFormatContext *s, int stream_index, int64_t pts, int flags) @@ -1066,10 +1066,10 @@ static int asf_read_seek(AVFormatContext *s, int stream_index, int64_t pts, int // various attempts to find key frame have failed so far // asf_reset_header(s); - // url_fseek(&s->pb, pos, SEEK_SET); + // url_fseek(s->pb, pos, SEEK_SET); // key_pos = pos; // for(i=0;i<16;i++){ - // pos = url_ftell(&s->pb); + // pos = url_ftell(s->pb); // if (av_read_frame(s, &pkt) < 0){ // av_log(s, AV_LOG_INFO, "seek failed\n"); // return -1; @@ -1087,7 +1087,7 @@ static int asf_read_seek(AVFormatContext *s, int stream_index, int64_t pts, int /* do the seek */ av_log(NULL, AV_LOG_DEBUG, "SEEKTO: %"PRId64"\n", pos); - url_fseek(&s->pb, pos, SEEK_SET); + url_fseek(s->pb, pos, SEEK_SET); } asf_reset_header(s); return 0; diff --git a/libavformat/au.c b/libavformat/au.c index dd9d708ff5..93b4356536 100644 --- a/libavformat/au.c +++ b/libavformat/au.c @@ -59,7 +59,7 @@ static int put_au_header(ByteIOContext *pb, AVCodecContext *enc) static int au_write_header(AVFormatContext *s) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; s->priv_data = NULL; @@ -75,17 +75,17 @@ static int au_write_header(AVFormatContext *s) static int au_write_packet(AVFormatContext *s, AVPacket *pkt) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; put_buffer(pb, pkt->data, pkt->size); return 0; } static int au_write_trailer(AVFormatContext *s) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; offset_t file_size; - if (!url_is_streamed(&s->pb)) { + if (!url_is_streamed(s->pb)) { /* update file size */ file_size = url_ftell(pb); @@ -116,7 +116,7 @@ static int au_read_header(AVFormatContext *s, { int size; unsigned int tag; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; unsigned int id, codec, channels, rate; AVStream *st; @@ -158,9 +158,9 @@ static int au_read_packet(AVFormatContext *s, { int ret; - if (url_feof(&s->pb)) + if (url_feof(s->pb)) return AVERROR(EIO); - ret= av_get_packet(&s->pb, pkt, MAX_SIZE); + ret= av_get_packet(s->pb, pkt, MAX_SIZE); if (ret < 0) return AVERROR(EIO); pkt->stream_index = 0; diff --git a/libavformat/avformat.h b/libavformat/avformat.h index afea11bd42..5061b21c9a 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -21,8 +21,8 @@ #ifndef FFMPEG_AVFORMAT_H #define FFMPEG_AVFORMAT_H -#define LIBAVFORMAT_VERSION_INT ((51<<16)+(19<<8)+0) -#define LIBAVFORMAT_VERSION 51.19.0 +#define LIBAVFORMAT_VERSION_INT ((52<<16)+(0<<8)+0) +#define LIBAVFORMAT_VERSION 52.0.0 #define LIBAVFORMAT_BUILD LIBAVFORMAT_VERSION_INT #define LIBAVFORMAT_IDENT "Lavf" AV_STRINGIFY(LIBAVFORMAT_VERSION) @@ -369,7 +369,7 @@ typedef struct AVFormatContext { struct AVInputFormat *iformat; struct AVOutputFormat *oformat; void *priv_data; - ByteIOContext pb; + ByteIOContext *pb; unsigned int nb_streams; AVStream *streams[MAX_STREAMS]; char filename[1024]; /**< input or output filename */ diff --git a/libavformat/avidec.c b/libavformat/avidec.c index c6b17a2021..92994ca713 100644 --- a/libavformat/avidec.c +++ b/libavformat/avidec.c @@ -106,7 +106,7 @@ static int get_riff(AVIContext *avi, ByteIOContext *pb) static int read_braindead_odml_indx(AVFormatContext *s, int frame_num){ AVIContext *avi = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int longs_pre_entry= get_le16(pb); int index_sub_type = get_byte(pb); int index_type = get_byte(pb); @@ -118,7 +118,7 @@ static int read_braindead_odml_indx(AVFormatContext *s, int frame_num){ AVIStream *ast; int i; int64_t last_pos= -1; - int64_t filesize= url_fsize(&s->pb); + int64_t filesize= url_fsize(s->pb); #ifdef DEBUG_SEEK av_log(s, AV_LOG_ERROR, "longs_pre_entry:%d index_type:%d entries_in_use:%d chunk_id:%X base:%16"PRIX64"\n", @@ -225,7 +225,7 @@ static int avi_read_tag(ByteIOContext *pb, char *buf, int maxlen, unsigned int static int avi_read_header(AVFormatContext *s, AVFormatParameters *ap) { AVIContext *avi = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; uint32_t tag, tag1, handler; int codec_type, stream_index, frame_period, bit_rate; unsigned int size, nb_frames; @@ -583,7 +583,7 @@ static int avi_read_header(AVFormatContext *s, AVFormatParameters *ap) static int avi_read_packet(AVFormatContext *s, AVPacket *pkt) { AVIContext *avi = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int n, d[8], size; offset_t i, sync; void* dstr; @@ -628,7 +628,7 @@ static int avi_read_packet(AVFormatContext *s, AVPacket *pkt) if(i>=0){ int64_t pos= best_st->index_entries[i].pos; pos += best_ast->packet_size - best_ast->remaining; - url_fseek(&s->pb, pos + 8, SEEK_SET); + url_fseek(s->pb, pos + 8, SEEK_SET); // av_log(NULL, AV_LOG_DEBUG, "pos=%"PRId64"\n", pos); assert(best_ast->remaining <= best_ast->packet_size); @@ -819,7 +819,7 @@ resync: static int avi_read_idx1(AVFormatContext *s, int size) { AVIContext *avi = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int nb_index_entries, i; AVStream *st; AVIStream *ast; @@ -890,7 +890,7 @@ static int guess_ni_flag(AVFormatContext *s){ static int avi_load_index(AVFormatContext *s) { AVIContext *avi = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; uint32_t tag, size; offset_t pos= url_ftell(pb); @@ -965,7 +965,7 @@ static int avi_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp /* DV demux so it can synth correct timestamps */ dv_offset_reset(avi->dv_demux, timestamp); - url_fseek(&s->pb, pos, SEEK_SET); + url_fseek(s->pb, pos, SEEK_SET); avi->stream_index= -1; return 0; } @@ -1005,7 +1005,7 @@ static int avi_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp } /* do the seek */ - url_fseek(&s->pb, pos, SEEK_SET); + url_fseek(s->pb, pos, SEEK_SET); avi->stream_index= -1; return 0; } diff --git a/libavformat/avienc.c b/libavformat/avienc.c index 8f379e9b8c..6b62f76d8d 100644 --- a/libavformat/avienc.c +++ b/libavformat/avienc.c @@ -105,7 +105,7 @@ static void avi_write_info_tag(ByteIOContext *pb, const char *tag, const char *s static int avi_write_counters(AVFormatContext* s, int riff_id) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVIContext *avi = s->priv_data; int n, au_byterate, au_ssize, au_scale, nb_frames = 0; offset_t file_size; @@ -138,7 +138,7 @@ static int avi_write_counters(AVFormatContext* s, int riff_id) static int avi_write_header(AVFormatContext *s) { AVIContext *avi = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int bitrate, n, i, nb_frames, au_byterate, au_ssize, au_scale; AVCodecContext *stream, *video_enc; offset_t list1, list2, strh, strf; @@ -332,7 +332,7 @@ static int avi_write_header(AVFormatContext *s) static int avi_write_ix(AVFormatContext *s) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVIContext *avi = s->priv_data; char tag[5]; char ix_tag[] = "ix00"; @@ -389,7 +389,7 @@ static int avi_write_ix(AVFormatContext *s) static int avi_write_idx1(AVFormatContext *s) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVIContext *avi = s->priv_data; offset_t idx_chunk; int i; @@ -435,7 +435,7 @@ static int avi_write_idx1(AVFormatContext *s) static int avi_write_packet(AVFormatContext *s, AVPacket *pkt) { AVIContext *avi = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; unsigned char tag[5]; unsigned int flags=0; const int stream_index= pkt->stream_index; @@ -476,7 +476,7 @@ static int avi_write_packet(AVFormatContext *s, AVPacket *pkt) avi->audio_strm_length[stream_index] += size; } - if (!url_is_streamed(&s->pb)) { + if (!url_is_streamed(s->pb)) { AVIIndex* idx = &avi->indexes[stream_index]; int cl = idx->entry / AVI_INDEX_CLUSTER_SIZE; int id = idx->entry % AVI_INDEX_CLUSTER_SIZE; @@ -509,7 +509,7 @@ static int avi_write_packet(AVFormatContext *s, AVPacket *pkt) static int avi_write_trailer(AVFormatContext *s) { AVIContext *avi = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int res = 0; int i, j, n, nb_frames; offset_t file_size; diff --git a/libavformat/avio.h b/libavformat/avio.h index dda786f5dc..89a347b78f 100644 --- a/libavformat/avio.h +++ b/libavformat/avio.h @@ -201,7 +201,7 @@ static inline int url_is_streamed(ByteIOContext *s) /** @note when opened as read/write, the buffers are only used for writing */ -int url_fdopen(ByteIOContext *s, URLContext *h); +int url_fdopen(ByteIOContext **s, URLContext *h); /** @warning must be called before any I/O */ int url_setbufsize(ByteIOContext *s, int buf_size); @@ -213,7 +213,7 @@ int url_resetbuf(ByteIOContext *s, int flags); /** @note when opened as read/write, the buffers are only used for writing */ -int url_fopen(ByteIOContext *s, const char *filename, int flags); +int url_fopen(ByteIOContext **s, const char *filename, int flags); int url_fclose(ByteIOContext *s); URLContext *url_fileno(ByteIOContext *s); @@ -227,7 +227,7 @@ URLContext *url_fileno(ByteIOContext *s); */ int url_fget_max_packet_size(ByteIOContext *s); -int url_open_buf(ByteIOContext *s, uint8_t *buf, int buf_size, int flags); +int url_open_buf(ByteIOContext **s, uint8_t *buf, int buf_size, int flags); /** return the written or read size */ int url_close_buf(ByteIOContext *s); @@ -238,7 +238,7 @@ int url_close_buf(ByteIOContext *s); * @param s new IO context * @return zero if no error. */ -int url_open_dyn_buf(ByteIOContext *s); +int url_open_dyn_buf(ByteIOContext **s); /** * Open a write only packetized memory stream with a maximum packet @@ -249,7 +249,7 @@ int url_open_dyn_buf(ByteIOContext *s); * @param max_packet_size maximum packet size (must be > 0) * @return zero if no error. */ -int url_open_dyn_packet_buf(ByteIOContext *s, int max_packet_size); +int url_open_dyn_packet_buf(ByteIOContext **s, int max_packet_size); /** * Return the written size and a pointer to the buffer. The buffer diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c index 8bf6c063ea..c79f51fe65 100644 --- a/libavformat/aviobuf.c +++ b/libavformat/aviobuf.c @@ -111,7 +111,12 @@ void put_flush_packet(ByteIOContext *s) offset_t url_fseek(ByteIOContext *s, offset_t offset, int whence) { offset_t offset1; - offset_t pos= s->pos - (s->write_flag ? 0 : (s->buf_end - s->buffer)); + offset_t pos; + + if(!s) + return AVERROR(EINVAL); + + pos = s->pos - (s->write_flag ? 0 : (s->buf_end - s->buffer)); if (whence != SEEK_CUR && whence != SEEK_SET) return AVERROR(EINVAL); @@ -167,6 +172,9 @@ offset_t url_fsize(ByteIOContext *s) { offset_t size; + if(!s) + return AVERROR(EINVAL); + if (!s->seek) return AVERROR(EPIPE); size = s->seek(s->opaque, 0, AVSEEK_SIZE); @@ -181,11 +189,15 @@ offset_t url_fsize(ByteIOContext *s) int url_feof(ByteIOContext *s) { + if(!s) + return 0; return s->eof_reached; } int url_ferror(ByteIOContext *s) { + if(!s) + return 0; return s->error; } @@ -508,7 +520,7 @@ static offset_t url_seek_packet(void *opaque, offset_t offset, int whence) //return 0; } -int url_fdopen(ByteIOContext *s, URLContext *h) +int url_fdopen(ByteIOContext **s, URLContext *h) { uint8_t *buffer; int buffer_size, max_packet_size; @@ -524,14 +536,21 @@ int url_fdopen(ByteIOContext *s, URLContext *h) if (!buffer) return AVERROR(ENOMEM); - if (init_put_byte(s, buffer, buffer_size, + *s = av_mallocz(sizeof(ByteIOContext)); + if(!*s) { + av_free(buffer); + return AVERROR(ENOMEM); + } + + if (init_put_byte(*s, buffer, buffer_size, (h->flags & URL_WRONLY || h->flags & URL_RDWR), h, url_read_packet, url_write_packet, url_seek_packet) < 0) { av_free(buffer); + av_freep(s); return AVERROR(EIO); } - s->is_streamed = h->is_streamed; - s->max_packet_size = max_packet_size; + (*s)->is_streamed = h->is_streamed; + (*s)->max_packet_size = max_packet_size; return 0; } @@ -566,7 +585,7 @@ int url_resetbuf(ByteIOContext *s, int flags) return 0; } -int url_fopen(ByteIOContext *s, const char *filename, int flags) +int url_fopen(ByteIOContext **s, const char *filename, int flags) { URLContext *h; int err; @@ -587,7 +606,7 @@ int url_fclose(ByteIOContext *s) URLContext *h = s->opaque; av_free(s->buffer); - memset(s, 0, sizeof(ByteIOContext)); + av_free(s); return url_close(h); } @@ -641,11 +660,18 @@ int url_fget_max_packet_size(ByteIOContext *s) * back to the server even if CONFIG_MUXERS is not set. */ #if defined(CONFIG_MUXERS) || defined(CONFIG_NETWORK) /* buffer handling */ -int url_open_buf(ByteIOContext *s, uint8_t *buf, int buf_size, int flags) +int url_open_buf(ByteIOContext **s, uint8_t *buf, int buf_size, int flags) { - return init_put_byte(s, buf, buf_size, - (flags & URL_WRONLY || flags & URL_RDWR), - NULL, NULL, NULL, NULL); + int ret; + *s = av_mallocz(sizeof(ByteIOContext)); + if(!*s) + return AVERROR(ENOMEM); + ret = init_put_byte(*s, buf, buf_size, + (flags & URL_WRONLY || flags & URL_RDWR), + NULL, NULL, NULL, NULL); + if(ret != 0) + av_freep(s); + return ret; } int url_close_buf(ByteIOContext *s) @@ -725,7 +751,7 @@ static offset_t dyn_buf_seek(void *opaque, offset_t offset, int whence) return 0; } -static int url_open_dyn_buf_internal(ByteIOContext *s, int max_packet_size) +static int url_open_dyn_buf_internal(ByteIOContext **s, int max_packet_size) { DynBuffer *d; int io_buffer_size, ret; @@ -740,27 +766,35 @@ static int url_open_dyn_buf_internal(ByteIOContext *s, int max_packet_size) d = av_malloc(sizeof(DynBuffer) + io_buffer_size); if (!d) return -1; + *s = av_mallocz(sizeof(ByteIOContext)); + if(!*s) { + av_free(d); + return AVERROR(ENOMEM); + } d->io_buffer_size = io_buffer_size; d->buffer = NULL; d->pos = 0; d->size = 0; d->allocated_size = 0; - ret = init_put_byte(s, d->io_buffer, io_buffer_size, + ret = init_put_byte(*s, d->io_buffer, io_buffer_size, 1, d, NULL, max_packet_size ? dyn_packet_buf_write : dyn_buf_write, max_packet_size ? NULL : dyn_buf_seek); if (ret == 0) { - s->max_packet_size = max_packet_size; + (*s)->max_packet_size = max_packet_size; + } else { + av_free(d); + av_freep(s); } return ret; } -int url_open_dyn_buf(ByteIOContext *s) +int url_open_dyn_buf(ByteIOContext **s) { return url_open_dyn_buf_internal(s, 0); } -int url_open_dyn_packet_buf(ByteIOContext *s, int max_packet_size) +int url_open_dyn_packet_buf(ByteIOContext **s, int max_packet_size) { if (max_packet_size <= 0) return -1; @@ -777,6 +811,7 @@ int url_close_dyn_buf(ByteIOContext *s, uint8_t **pbuffer) *pbuffer = d->buffer; size = d->size; av_free(d); + av_free(s); return size; } #endif /* CONFIG_MUXERS || CONFIG_NETWORK */ diff --git a/libavformat/avs.c b/libavformat/avs.c index b6ede08ed3..b1d6f89e0d 100644 --- a/libavformat/avs.c +++ b/libavformat/avs.c @@ -60,12 +60,12 @@ static int avs_read_header(AVFormatContext * s, AVFormatParameters * ap) s->ctx_flags |= AVFMTCTX_NOHEADER; - url_fskip(&s->pb, 4); - avs->width = get_le16(&s->pb); - avs->height = get_le16(&s->pb); - avs->bits_per_sample = get_le16(&s->pb); - avs->fps = get_le16(&s->pb); - avs->nb_frames = get_le32(&s->pb); + url_fskip(s->pb, 4); + avs->width = get_le16(s->pb); + avs->height = get_le16(s->pb); + avs->bits_per_sample = get_le16(s->pb); + avs->fps = get_le16(s->pb); + avs->nb_frames = get_le32(s->pb); avs->remaining_frame_size = 0; avs->remaining_audio_size = 0; @@ -103,7 +103,7 @@ avs_read_video_packet(AVFormatContext * s, AVPacket * pkt, pkt->data[palette_size + 1] = type; pkt->data[palette_size + 2] = size & 0xFF; pkt->data[palette_size + 3] = (size >> 8) & 0xFF; - ret = get_buffer(&s->pb, pkt->data + palette_size + 4, size - 4) + 4; + ret = get_buffer(s->pb, pkt->data + palette_size + 4, size - 4) + 4; if (ret < size) { av_free_packet(pkt); return AVERROR(EIO); @@ -122,9 +122,9 @@ static int avs_read_audio_packet(AVFormatContext * s, AVPacket * pkt) avs_format_t *avs = s->priv_data; int ret, size; - size = url_ftell(&s->pb); + size = url_ftell(s->pb); ret = voc_get_packet(s, pkt, avs->st_audio, avs->remaining_audio_size); - size = url_ftell(&s->pb) - size; + size = url_ftell(s->pb) - size; avs->remaining_audio_size -= size; if (ret == AVERROR(EIO)) @@ -153,20 +153,20 @@ static int avs_read_packet(AVFormatContext * s, AVPacket * pkt) while (1) { if (avs->remaining_frame_size <= 0) { - if (!get_le16(&s->pb)) /* found EOF */ + if (!get_le16(s->pb)) /* found EOF */ return AVERROR(EIO); - avs->remaining_frame_size = get_le16(&s->pb) - 4; + avs->remaining_frame_size = get_le16(s->pb) - 4; } while (avs->remaining_frame_size > 0) { - sub_type = get_byte(&s->pb); - type = get_byte(&s->pb); - size = get_le16(&s->pb); + sub_type = get_byte(s->pb); + type = get_byte(s->pb); + size = get_le16(s->pb); avs->remaining_frame_size -= size; switch (type) { case AVS_PALETTE: - ret = get_buffer(&s->pb, palette, size - 4); + ret = get_buffer(s->pb, palette, size - 4); if (ret < size - 4) return AVERROR(EIO); palette_size = size; @@ -203,7 +203,7 @@ static int avs_read_packet(AVFormatContext * s, AVPacket * pkt) break; default: - url_fskip(&s->pb, size - 4); + url_fskip(s->pb, size - 4); } } } diff --git a/libavformat/bethsoftvid.c b/libavformat/bethsoftvid.c index 89af4f16fe..594779698b 100644 --- a/libavformat/bethsoftvid.c +++ b/libavformat/bethsoftvid.c @@ -59,7 +59,7 @@ static int vid_read_header(AVFormatContext *s, AVFormatParameters *ap) { BVID_DemuxContext *vid = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVStream *stream; /* load main header. Contents: @@ -173,7 +173,7 @@ static int vid_read_packet(AVFormatContext *s, AVPacket *pkt) { BVID_DemuxContext *vid = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; unsigned char block_type; int audio_length; int ret_value; diff --git a/libavformat/c93.c b/libavformat/c93.c index 3bc6855c85..996012f6ed 100644 --- a/libavformat/c93.c +++ b/libavformat/c93.c @@ -56,7 +56,7 @@ static int read_header(AVFormatContext *s, AVFormatParameters *ap) { AVStream *video; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; C93DemuxContext *c93 = s->priv_data; int i; int framecount = 0; @@ -101,7 +101,7 @@ static int read_header(AVFormatContext *s, static int read_packet(AVFormatContext *s, AVPacket *pkt) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; C93DemuxContext *c93 = s->priv_data; C93BlockRecord *br = &c93->block_records[c93->current_block]; int datasize; diff --git a/libavformat/crcenc.c b/libavformat/crcenc.c index 7b1622706e..dd88031618 100644 --- a/libavformat/crcenc.c +++ b/libavformat/crcenc.c @@ -48,8 +48,8 @@ static int crc_write_trailer(struct AVFormatContext *s) char buf[64]; snprintf(buf, sizeof(buf), "CRC=0x%08x\n", crc->crcval); - put_buffer(&s->pb, buf, strlen(buf)); - put_flush_packet(&s->pb); + put_buffer(s->pb, buf, strlen(buf)); + put_flush_packet(s->pb); return 0; } diff --git a/libavformat/daud.c b/libavformat/daud.c index e1d901aa16..ff74d05025 100644 --- a/libavformat/daud.c +++ b/libavformat/daud.c @@ -34,7 +34,7 @@ static int daud_header(AVFormatContext *s, AVFormatParameters *ap) { } static int daud_packet(AVFormatContext *s, AVPacket *pkt) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int ret, size; if (url_feof(pb)) return AVERROR(EIO); diff --git a/libavformat/dsicin.c b/libavformat/dsicin.c index b00bfd29b3..14f2be8af5 100644 --- a/libavformat/dsicin.c +++ b/libavformat/dsicin.c @@ -94,7 +94,7 @@ static int cin_read_header(AVFormatContext *s, AVFormatParameters *ap) int rc; CinDemuxContext *cin = s->priv_data; CinFileHeader *hdr = &cin->file_header; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVStream *st; rc = cin_read_file_header(cin, pb); @@ -158,7 +158,7 @@ static int cin_read_frame_header(CinDemuxContext *cin, ByteIOContext *pb) { static int cin_read_packet(AVFormatContext *s, AVPacket *pkt) { CinDemuxContext *cin = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; CinFrameHeader *hdr = &cin->frame_header; int rc, palette_type, pkt_size; diff --git a/libavformat/dv.c b/libavformat/dv.c index 89fd26a47f..6fb27bfe06 100644 --- a/libavformat/dv.c +++ b/libavformat/dv.c @@ -347,7 +347,7 @@ static int64_t dv_frame_offset(AVFormatContext *s, DVDemuxContext *c, // FIXME: sys may be wrong if last dv_read_packet() failed (buffer is junk) const DVprofile* sys = dv_codec_profile(c->vst->codec); int64_t offset; - int64_t size = url_fsize(&s->pb); + int64_t size = url_fsize(s->pb); int64_t max_offset = ((size-1) / sys->frame_size) * sys->frame_size; offset = sys->frame_size * timestamp; @@ -386,8 +386,8 @@ static int dv_read_header(AVFormatContext *s, if (!c->dv_demux) return -1; - if (get_buffer(&s->pb, c->buf, DV_PROFILE_BYTES) <= 0 || - url_fseek(&s->pb, -DV_PROFILE_BYTES, SEEK_CUR) < 0) + if (get_buffer(s->pb, c->buf, DV_PROFILE_BYTES) <= 0 || + url_fseek(s->pb, -DV_PROFILE_BYTES, SEEK_CUR) < 0) return AVERROR(EIO); c->dv_demux->sys = dv_frame_profile(c->buf); @@ -408,7 +408,7 @@ static int dv_read_packet(AVFormatContext *s, AVPacket *pkt) if (size < 0) { size = c->dv_demux->sys->frame_size; - if (get_buffer(&s->pb, c->buf, size) <= 0) + if (get_buffer(s->pb, c->buf, size) <= 0) return AVERROR(EIO); size = dv_produce_packet(c->dv_demux, pkt, c->buf, size); @@ -426,7 +426,7 @@ static int dv_read_seek(AVFormatContext *s, int stream_index, dv_offset_reset(c, offset / c->sys->frame_size); - offset = url_fseek(&s->pb, offset, SEEK_SET); + offset = url_fseek(s->pb, offset, SEEK_SET); return (offset < 0)?offset:0; } diff --git a/libavformat/dvenc.c b/libavformat/dvenc.c index 2af160f8b4..0d60028182 100644 --- a/libavformat/dvenc.c +++ b/libavformat/dvenc.c @@ -380,8 +380,8 @@ static int dv_write_packet(struct AVFormatContext *s, AVPacket *pkt) fsize = dv_assemble_frame(s->priv_data, s->streams[pkt->stream_index], pkt->data, pkt->size, &frame); if (fsize > 0) { - put_buffer(&s->pb, frame, fsize); - put_flush_packet(&s->pb); + put_buffer(s->pb, frame, fsize); + put_flush_packet(s->pb); } return 0; } diff --git a/libavformat/dxa.c b/libavformat/dxa.c index c313df567a..2df73c7ddc 100644 --- a/libavformat/dxa.c +++ b/libavformat/dxa.c @@ -45,7 +45,7 @@ static int dxa_probe(AVProbeData *p) static int dxa_read_header(AVFormatContext *s, AVFormatParameters *ap) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; DXAContext *c = s->priv_data; AVStream *st, *ast; uint32_t tag; @@ -144,19 +144,19 @@ static int dxa_read_packet(AVFormatContext *s, AVPacket *pkt) if(!c->readvid && c->has_sound && c->bytes_left){ c->readvid = 1; - url_fseek(&s->pb, c->wavpos, SEEK_SET); + url_fseek(s->pb, c->wavpos, SEEK_SET); size = FFMIN(c->bytes_left, c->bpc); - ret = av_get_packet(&s->pb, pkt, size); + ret = av_get_packet(s->pb, pkt, size); pkt->stream_index = 1; if(ret != size) return AVERROR(EIO); c->bytes_left -= size; - c->wavpos = url_ftell(&s->pb); + c->wavpos = url_ftell(s->pb); return 0; } - url_fseek(&s->pb, c->vidpos, SEEK_SET); - while(!url_feof(&s->pb) && c->frames){ - get_buffer(&s->pb, buf, 4); + url_fseek(s->pb, c->vidpos, SEEK_SET); + while(!url_feof(s->pb) && c->frames){ + get_buffer(s->pb, buf, 4); switch(AV_RL32(buf)){ case MKTAG('N', 'U', 'L', 'L'): if(av_new_packet(pkt, 4 + pal_size) < 0) @@ -165,16 +165,16 @@ static int dxa_read_packet(AVFormatContext *s, AVPacket *pkt) if(pal_size) memcpy(pkt->data, pal, pal_size); memcpy(pkt->data + pal_size, buf, 4); c->frames--; - c->vidpos = url_ftell(&s->pb); + c->vidpos = url_ftell(s->pb); c->readvid = 0; return 0; case MKTAG('C', 'M', 'A', 'P'): pal_size = 768+4; memcpy(pal, buf, 4); - get_buffer(&s->pb, pal + 4, 768); + get_buffer(s->pb, pal + 4, 768); break; case MKTAG('F', 'R', 'A', 'M'): - get_buffer(&s->pb, buf + 4, DXA_EXTRA_SIZE - 4); + get_buffer(s->pb, buf + 4, DXA_EXTRA_SIZE - 4); size = AV_RB32(buf + 5); if(size > 0xFFFFFF){ av_log(s, AV_LOG_ERROR, "Frame size is too big: %d\n", size); @@ -183,7 +183,7 @@ static int dxa_read_packet(AVFormatContext *s, AVPacket *pkt) if(av_new_packet(pkt, size + DXA_EXTRA_SIZE + pal_size) < 0) return AVERROR(ENOMEM); memcpy(pkt->data + pal_size, buf, DXA_EXTRA_SIZE); - ret = get_buffer(&s->pb, pkt->data + DXA_EXTRA_SIZE + pal_size, size); + ret = get_buffer(s->pb, pkt->data + DXA_EXTRA_SIZE + pal_size, size); if(ret != size){ av_free_packet(pkt); return AVERROR(EIO); @@ -191,7 +191,7 @@ static int dxa_read_packet(AVFormatContext *s, AVPacket *pkt) if(pal_size) memcpy(pkt->data, pal, pal_size); pkt->stream_index = 0; c->frames--; - c->vidpos = url_ftell(&s->pb); + c->vidpos = url_ftell(s->pb); c->readvid = 0; return 0; default: diff --git a/libavformat/eacdata.c b/libavformat/eacdata.c index 48de32e6ee..ffaf85e0eb 100644 --- a/libavformat/eacdata.c +++ b/libavformat/eacdata.c @@ -47,7 +47,7 @@ static int cdata_probe(AVProbeData *p) static int cdata_read_header(AVFormatContext *s, AVFormatParameters *ap) { CdataDemuxContext *cdata = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; unsigned int sample_rate, header; AVStream *st; @@ -83,7 +83,7 @@ static int cdata_read_packet(AVFormatContext *s, AVPacket *pkt) CdataDemuxContext *cdata = s->priv_data; int packet_size = 76*cdata->channels; - if (av_get_packet(&s->pb, pkt, packet_size) != packet_size) + if (av_get_packet(s->pb, pkt, packet_size) != packet_size) return AVERROR(EIO); pkt->pts = cdata->audio_pts++; return 1; diff --git a/libavformat/electronicarts.c b/libavformat/electronicarts.c index 8214480229..33f2cea481 100644 --- a/libavformat/electronicarts.c +++ b/libavformat/electronicarts.c @@ -90,7 +90,7 @@ static int process_audio_header_elements(AVFormatContext *s) { int inHeader = 1; EaDemuxContext *ea = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int compression_type = -1, revision = -1; ea->bytes = 2; @@ -188,7 +188,7 @@ static int process_audio_header_elements(AVFormatContext *s) static int process_audio_header_eacs(AVFormatContext *s) { EaDemuxContext *ea = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int compression_type; ea->sample_rate = ea->big_endian ? get_be32(pb) : get_le32(pb); @@ -220,7 +220,7 @@ static int process_audio_header_eacs(AVFormatContext *s) static int process_audio_header_sead(AVFormatContext *s) { EaDemuxContext *ea = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; ea->sample_rate = get_le32(pb); ea->bytes = get_le32(pb); /* 1=8-bit, 2=16-bit */ @@ -233,7 +233,7 @@ static int process_audio_header_sead(AVFormatContext *s) static int process_video_header_vp6(AVFormatContext *s) { EaDemuxContext *ea = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; url_fskip(pb, 16); ea->time_base.den = get_le32(pb); @@ -250,7 +250,7 @@ static int process_video_header_vp6(AVFormatContext *s) static int process_ea_header(AVFormatContext *s) { uint32_t blockid, size = 0; EaDemuxContext *ea = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int i; for (i=0; i<5 && (!ea->audio_codec || !ea->video_codec); i++) { @@ -370,7 +370,7 @@ static int ea_read_packet(AVFormatContext *s, AVPacket *pkt) { EaDemuxContext *ea = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int ret = 0; int packet_read = 0; unsigned int chunk_type, chunk_size; diff --git a/libavformat/ffm.c b/libavformat/ffm.c index 53eb2b29dc..baff5bcfad 100644 --- a/libavformat/ffm.c +++ b/libavformat/ffm.c @@ -64,7 +64,7 @@ static void flush_packet(AVFormatContext *s) { FFMContext *ffm = s->priv_data; int fill_size, h; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; fill_size = ffm->packet_end - ffm->packet_ptr; memset(ffm->packet_ptr, 0, fill_size); @@ -128,7 +128,7 @@ static int ffm_write_header(AVFormatContext *s) FFMContext *ffm = s->priv_data; AVStream *st; FFMStream *fst; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVCodecContext *codec; int bit_rate, i; @@ -278,7 +278,7 @@ static int ffm_write_packet(AVFormatContext *s, AVPacket *pkt) static int ffm_write_trailer(AVFormatContext *s) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; FFMContext *ffm = s->priv_data; /* flush packets */ @@ -314,7 +314,7 @@ static int ffm_is_avail_data(AVFormatContext *s, int size) if (size <= len) return 1; } - pos = url_ftell(&s->pb); + pos = url_ftell(s->pb); if (pos == ffm->write_index) { /* exactly at the end of stream */ return 0; @@ -335,7 +335,7 @@ static int ffm_read_data(AVFormatContext *s, uint8_t *buf, int size, int first) { FFMContext *ffm = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int len, fill_size, size1, frame_offset; size1 = size; @@ -393,7 +393,7 @@ static int ffm_read_data(AVFormatContext *s, static void adjust_write_index(AVFormatContext *s) { FFMContext *ffm = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int64_t pts; //offset_t orig_write_index = ffm->write_index; offset_t pos_min, pos_max; @@ -452,7 +452,7 @@ static int ffm_read_header(AVFormatContext *s, AVFormatParameters *ap) FFMContext *ffm = s->priv_data; AVStream *st; FFMStream *fst; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVCodecContext *codec; int i, nb_streams; uint32_t tag; @@ -585,7 +585,7 @@ static int ffm_read_packet(AVFormatContext *s, AVPacket *pkt) } #if 0 printf("pos=%08"PRIx64" spos=%"PRIx64", write_index=%"PRIx64" size=%"PRIx64"\n", - url_ftell(&s->pb), s->pb.pos, ffm->write_index, ffm->file_size); + url_ftell(s->pb), s->pb.pos, ffm->write_index, ffm->file_size); #endif if (ffm_read_data(s, ffm->header, FRAME_HEADER_SIZE, 1) != FRAME_HEADER_SIZE) @@ -610,7 +610,7 @@ static int ffm_read_packet(AVFormatContext *s, AVPacket *pkt) av_new_packet(pkt, size); pkt->stream_index = ffm->header[0]; - pkt->pos = url_ftell(&s->pb); + pkt->pos = url_ftell(s->pb); if (ffm->header[1] & FLAG_KEY_FRAME) pkt->flags |= PKT_FLAG_KEY; @@ -638,7 +638,7 @@ static int ffm_read_packet(AVFormatContext *s, AVPacket *pkt) static void ffm_seek1(AVFormatContext *s, offset_t pos1) { FFMContext *ffm = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; offset_t pos; pos = pos1 + ffm->write_index; @@ -652,7 +652,7 @@ static void ffm_seek1(AVFormatContext *s, offset_t pos1) static int64_t get_pts(AVFormatContext *s, offset_t pos) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int64_t pts; ffm_seek1(s, pos); diff --git a/libavformat/flic.c b/libavformat/flic.c index ed7004faf1..b422fb09ae 100644 --- a/libavformat/flic.c +++ b/libavformat/flic.c @@ -67,7 +67,7 @@ static int flic_read_header(AVFormatContext *s, AVFormatParameters *ap) { FlicDemuxContext *flic = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; unsigned char header[FLIC_HEADER_SIZE]; AVStream *st; int speed; @@ -142,7 +142,7 @@ static int flic_read_packet(AVFormatContext *s, AVPacket *pkt) { FlicDemuxContext *flic = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int packet_read = 0; unsigned int size; int magic; diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c index 0530335c29..885c4a6fe5 100644 --- a/libavformat/flvdec.c +++ b/libavformat/flvdec.c @@ -71,7 +71,7 @@ static int flv_set_video_codec(AVFormatContext *s, AVStream *vstream, int flv_co vcodec->extradata_size = 1; vcodec->extradata = av_malloc(1); } - vcodec->extradata[0] = get_byte(&s->pb); + vcodec->extradata[0] = get_byte(s->pb); return 1; // 1 byte body size adjustment for flv_read_packet() default: av_log(s, AV_LOG_INFO, "Unsupported video codec (%x)\n", flv_codecid); @@ -103,7 +103,7 @@ static int amf_parse_object(AVFormatContext *s, AVStream *astream, AVStream *vst double num_val; num_val = 0; - ioc = &s->pb; + ioc = s->pb; amf_type = get_byte(ioc); @@ -203,7 +203,7 @@ static int flv_read_metabody(AVFormatContext *s, unsigned int next_pos) { astream = NULL; vstream = NULL; keylen = 0; - ioc = &s->pb; + ioc = s->pb; //first object needs to be "onMetaData" string type = get_byte(ioc); @@ -238,8 +238,8 @@ static int flv_read_header(AVFormatContext *s, { int offset, flags; - url_fskip(&s->pb, 4); - flags = get_byte(&s->pb); + url_fskip(s->pb, 4); + flags = get_byte(s->pb); /* old flvtool cleared this field */ /* FIXME: better fix needed */ if (!flags) { @@ -256,8 +256,8 @@ static int flv_read_header(AVFormatContext *s, return AVERROR(ENOMEM); } - offset = get_be32(&s->pb); - url_fseek(&s->pb, offset, SEEK_SET); + offset = get_be32(s->pb); + url_fseek(s->pb, offset, SEEK_SET); s->start_time = 0; @@ -270,35 +270,35 @@ static int flv_read_packet(AVFormatContext *s, AVPacket *pkt) AVStream *st = NULL; for(;;){ - pos = url_ftell(&s->pb); - url_fskip(&s->pb, 4); /* size of previous packet */ - type = get_byte(&s->pb); - size = get_be24(&s->pb); - pts = get_be24(&s->pb); - pts |= get_byte(&s->pb) << 24; + pos = url_ftell(s->pb); + url_fskip(s->pb, 4); /* size of previous packet */ + type = get_byte(s->pb); + size = get_be24(s->pb); + pts = get_be24(s->pb); + pts |= get_byte(s->pb) << 24; // av_log(s, AV_LOG_DEBUG, "type:%d, size:%d, pts:%d\n", type, size, pts); - if (url_feof(&s->pb)) + if (url_feof(s->pb)) return AVERROR(EIO); - url_fskip(&s->pb, 3); /* stream id, always 0 */ + url_fskip(s->pb, 3); /* stream id, always 0 */ flags = 0; if(size == 0) continue; - next= size + url_ftell(&s->pb); + next= size + url_ftell(s->pb); if (type == FLV_TAG_TYPE_AUDIO) { is_audio=1; - flags = get_byte(&s->pb); + flags = get_byte(s->pb); } else if (type == FLV_TAG_TYPE_VIDEO) { is_audio=0; - flags = get_byte(&s->pb); + flags = get_byte(s->pb); } else { if (type == FLV_TAG_TYPE_META && size > 13+1+4) flv_read_metabody(s, next); else /* skip packet */ av_log(s, AV_LOG_ERROR, "skipping flv packet: type %d, size %d, flags %d\n", type, size, flags); - url_fseek(&s->pb, next, SEEK_SET); + url_fseek(s->pb, next, SEEK_SET); continue; } @@ -317,7 +317,7 @@ static int flv_read_packet(AVFormatContext *s, AVPacket *pkt) ||(st->discard >= AVDISCARD_BIDIR && ((flags & FLV_VIDEO_FRAMETYPE_MASK) == FLV_FRAME_DISP_INTER && !is_audio)) || st->discard >= AVDISCARD_ALL ){ - url_fseek(&s->pb, next, SEEK_SET); + url_fseek(s->pb, next, SEEK_SET); continue; } if ((flags & FLV_VIDEO_FRAMETYPE_MASK) == FLV_FRAME_KEY) @@ -326,17 +326,17 @@ 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(!url_is_streamed(&s->pb) && s->duration==AV_NOPTS_VALUE){ + if(!url_is_streamed(s->pb) && s->duration==AV_NOPTS_VALUE){ int size; - const int pos= url_ftell(&s->pb); - const int fsize= url_fsize(&s->pb); - url_fseek(&s->pb, fsize-4, SEEK_SET); - size= get_be32(&s->pb); - url_fseek(&s->pb, fsize-3-size, SEEK_SET); - if(size == get_be24(&s->pb) + 11){ - s->duration= get_be24(&s->pb) * (int64_t)AV_TIME_BASE / 1000; + const int pos= url_ftell(s->pb); + const int fsize= url_fsize(s->pb); + url_fseek(s->pb, fsize-4, SEEK_SET); + size= get_be32(s->pb); + url_fseek(s->pb, fsize-3-size, SEEK_SET); + if(size == get_be24(s->pb) + 11){ + s->duration= get_be24(s->pb) * (int64_t)AV_TIME_BASE / 1000; } - url_fseek(&s->pb, pos, SEEK_SET); + url_fseek(s->pb, pos, SEEK_SET); } if(is_audio){ @@ -353,7 +353,7 @@ static int flv_read_packet(AVFormatContext *s, AVPacket *pkt) size -= flv_set_video_codec(s, st, flags & FLV_VIDEO_CODECID_MASK); } - ret= av_get_packet(&s->pb, pkt, size - 1); + ret= av_get_packet(s->pb, pkt, size - 1); if (ret <= 0) { return AVERROR(EIO); } @@ -380,7 +380,7 @@ static int flv_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp int index = av_index_search_timestamp(st, timestamp, flags); if (index < 0) return -1; - url_fseek(&s->pb, st->index_entries[index].pos, SEEK_SET); + url_fseek(s->pb, st->index_entries[index].pos, SEEK_SET); return 0; } diff --git a/libavformat/flvenc.c b/libavformat/flvenc.c index 3901ba76b0..2842faf5b2 100644 --- a/libavformat/flvenc.c +++ b/libavformat/flvenc.c @@ -126,7 +126,7 @@ static void put_amf_bool(ByteIOContext *pb, int b) { static int flv_write_header(AVFormatContext *s) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; FLVContext *flv = s->priv_data; int i, width, height, samplerate, samplesize, channels, audiocodecid, videocodecid; double framerate = 0.0; @@ -256,7 +256,7 @@ static int flv_write_trailer(AVFormatContext *s) { int64_t file_size; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; FLVContext *flv = s->priv_data; file_size = url_ftell(pb); @@ -273,7 +273,7 @@ static int flv_write_trailer(AVFormatContext *s) static int flv_write_packet(AVFormatContext *s, AVPacket *pkt) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVCodecContext *enc = s->streams[pkt->stream_index]->codec; FLVContext *flv = s->priv_data; int size= pkt->size; diff --git a/libavformat/framecrcenc.c b/libavformat/framecrcenc.c index 6b3168a6fe..c0133017c2 100644 --- a/libavformat/framecrcenc.c +++ b/libavformat/framecrcenc.c @@ -27,8 +27,8 @@ static int framecrc_write_packet(struct AVFormatContext *s, AVPacket *pkt) char buf[256]; snprintf(buf, sizeof(buf), "%d, %"PRId64", %d, 0x%08x\n", pkt->stream_index, pkt->dts, pkt->size, crc); - put_buffer(&s->pb, buf, strlen(buf)); - put_flush_packet(&s->pb); + put_buffer(s->pb, buf, strlen(buf)); + put_flush_packet(s->pb); return 0; } diff --git a/libavformat/gif.c b/libavformat/gif.c index a5d81fbbcf..8092f374c0 100644 --- a/libavformat/gif.c +++ b/libavformat/gif.c @@ -313,7 +313,7 @@ typedef struct { static int gif_write_header(AVFormatContext *s) { GIFContext *gif = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVCodecContext *enc, *video_enc; int i, width, height, loop_count /*, rate*/; @@ -348,14 +348,14 @@ static int gif_write_header(AVFormatContext *s) gif_image_write_header(pb, width, height, loop_count, NULL); - put_flush_packet(&s->pb); + put_flush_packet(s->pb); return 0; } static int gif_write_video(AVFormatContext *s, AVCodecContext *enc, const uint8_t *buf, int size) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; GIFContext *gif = s->priv_data; int jiffies; int64_t delay; @@ -383,7 +383,7 @@ static int gif_write_video(AVFormatContext *s, gif_image_write_image(pb, 0, 0, enc->width, enc->height, buf, enc->width * 3, PIX_FMT_RGB24); - put_flush_packet(&s->pb); + put_flush_packet(s->pb); return 0; } @@ -398,10 +398,10 @@ static int gif_write_packet(AVFormatContext *s, AVPacket *pkt) static int gif_write_trailer(AVFormatContext *s) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; put_byte(pb, 0x3b); - put_flush_packet(&s->pb); + put_flush_packet(s->pb); return 0; } diff --git a/libavformat/gifdec.c b/libavformat/gifdec.c index 26cbe69962..5803e5e5dc 100644 --- a/libavformat/gifdec.c +++ b/libavformat/gifdec.c @@ -526,7 +526,7 @@ static int gif_read_header(AVFormatContext * s1, AVFormatParameters * ap) { GifState *s = s1->priv_data; - ByteIOContext *f = &s1->pb; + ByteIOContext *f = s1->pb; AVStream *st; s->f = f; diff --git a/libavformat/gxf.c b/libavformat/gxf.c index 45467c648e..d4bf6f43be 100644 --- a/libavformat/gxf.c +++ b/libavformat/gxf.c @@ -228,7 +228,7 @@ static void gxf_track_tags(ByteIOContext *pb, int *len, st_info_t *si) { * \brief read index from FLT packet into stream 0 av_index */ static void gxf_read_index(AVFormatContext *s, int pkt_len) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVStream *st = s->streams[0]; uint32_t fields_per_map = get_le32(pb); uint32_t map_cnt = get_le32(pb); @@ -252,7 +252,7 @@ static void gxf_read_index(AVFormatContext *s, int pkt_len) { } static int gxf_header(AVFormatContext *s, AVFormatParameters *ap) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; pkt_type_t pkt_type; int map_len; int len; @@ -378,7 +378,7 @@ static int64_t gxf_resync_media(AVFormatContext *s, uint64_t max_interval, int t int cur_track; int64_t cur_timestamp = AV_NOPTS_VALUE; int len; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; pkt_type_t type; tmp = get_be32(pb); start: @@ -408,7 +408,7 @@ out: } static int gxf_packet(AVFormatContext *s, AVPacket *pkt) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; pkt_type_t pkt_type; int pkt_len; while (!url_feof(pb)) { @@ -466,7 +466,7 @@ static int gxf_seek(AVFormatContext *s, int stream_index, int64_t timestamp, int if (idx < st->nb_index_entries - 2) maxlen = st->index_entries[idx + 2].pos - pos; maxlen = FFMAX(maxlen, 200 * 1024); - url_fseek(&s->pb, pos, SEEK_SET); + url_fseek(s->pb, pos, SEEK_SET); found = gxf_resync_media(s, maxlen, -1, timestamp); if (FFABS(found - timestamp) > 4) return -1; @@ -475,7 +475,7 @@ static int gxf_seek(AVFormatContext *s, int stream_index, int64_t timestamp, int static int64_t gxf_read_timestamp(AVFormatContext *s, int stream_index, int64_t *pos, int64_t pos_limit) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int64_t res; url_fseek(pb, *pos, SEEK_SET); res = gxf_resync_media(s, pos_limit - *pos, -1, -1); diff --git a/libavformat/gxfenc.c b/libavformat/gxfenc.c index 2331bd80f4..469105de5f 100644 --- a/libavformat/gxfenc.c +++ b/libavformat/gxfenc.c @@ -576,7 +576,7 @@ static int gxf_write_umf_packet(ByteIOContext *pb, GXFContext *ctx) static int gxf_write_header(AVFormatContext *s) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; GXFContext *gxf = s->priv_data; int i; @@ -671,7 +671,7 @@ static int gxf_write_eos_packet(ByteIOContext *pb, GXFContext *ctx) static int gxf_write_trailer(AVFormatContext *s) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; GXFContext *gxf = s->priv_data; offset_t end; int i; @@ -763,8 +763,8 @@ static int gxf_write_packet(AVFormatContext *s, AVPacket *pkt) { GXFContext *gxf = s->priv_data; - gxf_write_media_packet(&s->pb, gxf, pkt); - put_flush_packet(&s->pb); + gxf_write_media_packet(s->pb, gxf, pkt); + put_flush_packet(s->pb); return 0; } diff --git a/libavformat/idcin.c b/libavformat/idcin.c index 56850ec82a..e113f4de1f 100644 --- a/libavformat/idcin.c +++ b/libavformat/idcin.c @@ -136,7 +136,7 @@ static int idcin_probe(AVProbeData *p) static int idcin_read_header(AVFormatContext *s, AVFormatParameters *ap) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; IdcinDemuxContext *idcin = s->priv_data; AVStream *st; unsigned int width, height; @@ -215,13 +215,13 @@ static int idcin_read_packet(AVFormatContext *s, unsigned int command; unsigned int chunk_size; IdcinDemuxContext *idcin = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int i; int palette_scale; unsigned char r, g, b; unsigned char palette_buffer[768]; - if (url_feof(&s->pb)) + if (url_feof(s->pb)) return AVERROR(EIO); if (idcin->next_chunk_is_video) { diff --git a/libavformat/idroq.c b/libavformat/idroq.c index 122b31e471..394697fcdc 100644 --- a/libavformat/idroq.c +++ b/libavformat/idroq.c @@ -69,7 +69,7 @@ static int roq_read_header(AVFormatContext *s, AVFormatParameters *ap) { RoqDemuxContext *roq = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVStream *st; unsigned char preamble[RoQ_CHUNK_PREAMBLE_SIZE]; int i; @@ -174,7 +174,7 @@ static int roq_read_packet(AVFormatContext *s, AVPacket *pkt) { RoqDemuxContext *roq = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int ret = 0; unsigned int chunk_size; unsigned int chunk_type; @@ -185,7 +185,7 @@ static int roq_read_packet(AVFormatContext *s, while (!packet_read) { - if (url_feof(&s->pb)) + if (url_feof(s->pb)) return AVERROR(EIO); /* get the next chunk preamble */ diff --git a/libavformat/img2.c b/libavformat/img2.c index af17040fad..42a2d61e5a 100644 --- a/libavformat/img2.c +++ b/libavformat/img2.c @@ -239,7 +239,7 @@ static int img_read_packet(AVFormatContext *s1, AVPacket *pkt) char filename[1024]; int i; int size[3]={0}, ret[3]={0}; - ByteIOContext f1[3], *f[3]= {&f1[0], &f1[1], &f1[2]}; + ByteIOContext *f[3]; AVCodecContext *codec= s1->streams[0]->codec; if (!s->is_pipe) { @@ -251,7 +251,7 @@ static int img_read_packet(AVFormatContext *s1, AVPacket *pkt) s->path, s->img_number)<0 && s->img_number > 1) return AVERROR(EIO); for(i=0; i<3; i++){ - if (url_fopen(f[i], filename, URL_RDONLY) < 0) + if (url_fopen(&f[i], filename, URL_RDONLY) < 0) return AVERROR(EIO); size[i]= url_fsize(f[i]); @@ -263,7 +263,7 @@ static int img_read_packet(AVFormatContext *s1, AVPacket *pkt) if(codec->codec_id == CODEC_ID_RAWVIDEO && !codec->width) infer_size(&codec->width, &codec->height, size[0]); } else { - f[0] = &s1->pb; + f[0] = s1->pb; if (url_feof(f[0])) return AVERROR(EIO); size[0]= 4096; @@ -322,7 +322,7 @@ static int img_write_header(AVFormatContext *s) static int img_write_packet(AVFormatContext *s, AVPacket *pkt) { VideoData *img = s->priv_data; - ByteIOContext pb1[3], *pb[3]= {&pb1[0], &pb1[1], &pb1[2]}; + ByteIOContext *pb[3]; char filename[1024]; AVCodecContext *codec= s->streams[ pkt->stream_index ]->codec; int i; @@ -332,7 +332,7 @@ static int img_write_packet(AVFormatContext *s, AVPacket *pkt) img->path, img->img_number) < 0 && img->img_number>1) return AVERROR(EIO); for(i=0; i<3; i++){ - if (url_fopen(pb[i], filename, URL_WRONLY) < 0) + if (url_fopen(&pb[i], filename, URL_WRONLY) < 0) return AVERROR(EIO); if(codec->codec_id != CODEC_ID_RAWVIDEO) @@ -340,7 +340,7 @@ static int img_write_packet(AVFormatContext *s, AVPacket *pkt) filename[ strlen(filename) - 1 ]= 'U' + i; } } else { - pb[0] = &s->pb; + pb[0] = s->pb; } if(codec->codec_id == CODEC_ID_RAWVIDEO){ diff --git a/libavformat/ipmovie.c b/libavformat/ipmovie.c index bf403d7c73..311f29f49f 100644 --- a/libavformat/ipmovie.c +++ b/libavformat/ipmovie.c @@ -517,7 +517,7 @@ static int ipmovie_read_header(AVFormatContext *s, AVFormatParameters *ap) { IPMVEContext *ipmovie = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVPacket pkt; AVStream *st; unsigned char chunk_preamble[CHUNK_PREAMBLE_SIZE]; @@ -589,7 +589,7 @@ static int ipmovie_read_packet(AVFormatContext *s, AVPacket *pkt) { IPMVEContext *ipmovie = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int ret; ret = process_ipmovie_chunk(ipmovie, pb, pkt); diff --git a/libavformat/libnut.c b/libavformat/libnut.c index f70a458b65..f5423069f1 100644 --- a/libavformat/libnut.c +++ b/libavformat/libnut.c @@ -54,7 +54,7 @@ static int av_write(void * h, size_t len, const uint8_t * buf) { static int nut_write_header(AVFormatContext * avf) { NUTContext * priv = avf->priv_data; - ByteIOContext * bc = &avf->pb; + ByteIOContext * bc = avf->pb; nut_muxer_opts_t mopts = { .output = { .priv = bc, @@ -137,7 +137,7 @@ static int nut_write_packet(AVFormatContext * avf, AVPacket * pkt) { } static int nut_write_trailer(AVFormatContext * avf) { - ByteIOContext * bc = &avf->pb; + ByteIOContext * bc = avf->pb; NUTContext * priv = avf->priv_data; int i; @@ -187,7 +187,7 @@ static off_t av_seek(void * h, long long pos, int whence) { static int nut_read_header(AVFormatContext * avf, AVFormatParameters * ap) { NUTContext * priv = avf->priv_data; - ByteIOContext * bc = &avf->pb; + ByteIOContext * bc = avf->pb; nut_demuxer_opts_t dopts = { .input = { .priv = bc, @@ -272,7 +272,7 @@ static int nut_read_packet(AVFormatContext * avf, AVPacket * pkt) { if (pd.flags & NUT_FLAG_KEY) pkt->flags |= PKT_FLAG_KEY; pkt->pts = pd.pts; pkt->stream_index = pd.stream; - pkt->pos = url_ftell(&avf->pb); + pkt->pos = url_ftell(avf->pb); ret = nut_read_frame(priv->nut, &pd.len, pkt->data); diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 0daf8f19ee..b17e5fbc73 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -176,7 +176,7 @@ typedef struct MatroskaDemuxContext { static int ebml_read_element_level_up (MatroskaDemuxContext *matroska) { - ByteIOContext *pb = &matroska->ctx->pb; + ByteIOContext *pb = matroska->ctx->pb; offset_t pos = url_ftell(pb); int num = 0; @@ -208,7 +208,7 @@ ebml_read_num (MatroskaDemuxContext *matroska, int max_size, uint64_t *number) { - ByteIOContext *pb = &matroska->ctx->pb; + ByteIOContext *pb = matroska->ctx->pb; int len_mask = 0x80, read = 1, n = 1; int64_t total = 0; @@ -325,7 +325,7 @@ static int ebml_read_seek (MatroskaDemuxContext *matroska, offset_t offset) { - ByteIOContext *pb = &matroska->ctx->pb; + ByteIOContext *pb = matroska->ctx->pb; /* clear ID cache, if any */ matroska->peek_id = 0; @@ -341,7 +341,7 @@ ebml_read_seek (MatroskaDemuxContext *matroska, static int ebml_read_skip (MatroskaDemuxContext *matroska) { - ByteIOContext *pb = &matroska->ctx->pb; + ByteIOContext *pb = matroska->ctx->pb; uint32_t id; uint64_t length; int res; @@ -365,7 +365,7 @@ ebml_read_uint (MatroskaDemuxContext *matroska, uint32_t *id, uint64_t *num) { - ByteIOContext *pb = &matroska->ctx->pb; + ByteIOContext *pb = matroska->ctx->pb; int n = 0, size, res; uint64_t rlength; @@ -399,7 +399,7 @@ ebml_read_sint (MatroskaDemuxContext *matroska, uint32_t *id, int64_t *num) { - ByteIOContext *pb = &matroska->ctx->pb; + ByteIOContext *pb = matroska->ctx->pb; int size, n = 1, negative = 0, res; uint64_t rlength; @@ -438,7 +438,7 @@ ebml_read_float (MatroskaDemuxContext *matroska, uint32_t *id, double *num) { - ByteIOContext *pb = &matroska->ctx->pb; + ByteIOContext *pb = matroska->ctx->pb; int size, res; uint64_t rlength; @@ -472,7 +472,7 @@ ebml_read_ascii (MatroskaDemuxContext *matroska, uint32_t *id, char **str) { - ByteIOContext *pb = &matroska->ctx->pb; + ByteIOContext *pb = matroska->ctx->pb; int size, res; uint64_t rlength; @@ -534,7 +534,7 @@ static int ebml_read_master (MatroskaDemuxContext *matroska, uint32_t *id) { - ByteIOContext *pb = &matroska->ctx->pb; + ByteIOContext *pb = matroska->ctx->pb; uint64_t length; MatroskaLevel *level; int res; @@ -569,7 +569,7 @@ ebml_read_binary (MatroskaDemuxContext *matroska, uint8_t **binary, int *size) { - ByteIOContext *pb = &matroska->ctx->pb; + ByteIOContext *pb = matroska->ctx->pb; uint64_t rlength; int res; @@ -1748,7 +1748,7 @@ matroska_parse_seekhead (MatroskaDemuxContext *matroska) /* remember the peeked ID and the current position */ peek_id_cache = matroska->peek_id; - before_pos = url_ftell(&matroska->ctx->pb); + before_pos = url_ftell(matroska->ctx->pb); /* seek */ if ((res = ebml_read_seek(matroska, seek_pos + @@ -1788,14 +1788,14 @@ matroska_parse_seekhead (MatroskaDemuxContext *matroska) switch (id) { case MATROSKA_ID_CUES: if (!(res = matroska_parse_index(matroska)) || - url_feof(&matroska->ctx->pb)) { + url_feof(matroska->ctx->pb)) { matroska->index_parsed = 1; res = 0; } break; case MATROSKA_ID_TAGS: if (!(res = matroska_parse_metadata(matroska)) || - url_feof(&matroska->ctx->pb)) { + url_feof(matroska->ctx->pb)) { matroska->metadata_parsed = 1; res = 0; } @@ -1931,7 +1931,7 @@ matroska_read_header (AVFormatContext *s, * after the segment ID/length. */ if ((res = ebml_read_master(matroska, &id)) < 0) return res; - matroska->segment_start = url_ftell(&s->pb); + matroska->segment_start = url_ftell(s->pb); matroska->time_scale = 1000000; /* we've found our segment, start reading the different contents in here */ @@ -2485,7 +2485,7 @@ matroska_parse_blockgroup (MatroskaDemuxContext *matroska, * of the harder things, so this code is a bit complicated. * See http://www.matroska.org/ for documentation. */ case MATROSKA_ID_BLOCK: { - pos = url_ftell(&matroska->ctx->pb); + pos = url_ftell(matroska->ctx->pb); res = ebml_read_binary(matroska, &id, &data, &size); break; } @@ -2547,7 +2547,7 @@ matroska_parse_cluster (MatroskaDemuxContext *matroska) int size; av_log(matroska->ctx, AV_LOG_DEBUG, - "parsing cluster at %"PRId64"\n", url_ftell(&matroska->ctx->pb)); + "parsing cluster at %"PRId64"\n", url_ftell(matroska->ctx->pb)); while (res == 0) { if (!(id = ebml_peek_id(matroska, &matroska->level_up))) { @@ -2576,7 +2576,7 @@ matroska_parse_cluster (MatroskaDemuxContext *matroska) break; case MATROSKA_ID_SIMPLEBLOCK: - pos = url_ftell(&matroska->ctx->pb); + pos = url_ftell(matroska->ctx->pb); res = ebml_read_binary(matroska, &id, &data, &size); if (res == 0) res = matroska_parse_block(matroska, data, size, pos, @@ -2668,7 +2668,7 @@ matroska_read_seek (AVFormatContext *s, int stream_index, int64_t timestamp, return 0; /* do the seek */ - url_fseek(&s->pb, st->index_entries[index].pos, SEEK_SET); + url_fseek(s->pb, st->index_entries[index].pos, SEEK_SET); matroska->skip_to_keyframe = !(flags & AVSEEK_FLAG_ANY); matroska->skip_to_stream = st; matroska->num_packets = 0; diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c index 6f45f446c0..667ea3f534 100644 --- a/libavformat/matroskaenc.c +++ b/libavformat/matroskaenc.c @@ -466,19 +466,21 @@ static void get_aac_sample_rates(AVFormatContext *s, AVCodecContext *codec, int static int mkv_write_codecprivate(AVFormatContext *s, ByteIOContext *pb, AVCodecContext *codec, int native_id) { - ByteIOContext dyn_cp; + ByteIOContext *dyn_cp; uint8_t *codecpriv; - int ret = 0, codecpriv_size; + int ret, codecpriv_size; - url_open_dyn_buf(&dyn_cp); + ret = url_open_dyn_buf(&dyn_cp); + if(ret < 0) + return ret; if (native_id) { if (codec->codec_id == CODEC_ID_VORBIS || codec->codec_id == CODEC_ID_THEORA) - ret = put_xiph_codecpriv(s, &dyn_cp, codec); + ret = put_xiph_codecpriv(s, dyn_cp, codec); else if (codec->codec_id == CODEC_ID_FLAC) - ret = put_flac_codecpriv(s, &dyn_cp, codec); + ret = put_flac_codecpriv(s, dyn_cp, codec); else if (codec->extradata_size) - put_buffer(&dyn_cp, codec->extradata, codec->extradata_size); + put_buffer(dyn_cp, codec->extradata, codec->extradata_size); } else if (codec->codec_type == CODEC_TYPE_VIDEO) { if (!codec->codec_tag) codec->codec_tag = codec_get_tag(codec_bmp_tags, codec->codec_id); @@ -487,7 +489,7 @@ static int mkv_write_codecprivate(AVFormatContext *s, ByteIOContext *pb, AVCodec ret = -1; } - put_bmp_header(&dyn_cp, codec, codec_bmp_tags, 0); + put_bmp_header(dyn_cp, codec, codec_bmp_tags, 0); } else if (codec->codec_type == CODEC_TYPE_AUDIO) { if (!codec->codec_tag) @@ -497,10 +499,10 @@ static int mkv_write_codecprivate(AVFormatContext *s, ByteIOContext *pb, AVCodec ret = -1; } - put_wav_header(&dyn_cp, codec); + put_wav_header(dyn_cp, codec); } - codecpriv_size = url_close_dyn_buf(&dyn_cp, &codecpriv); + codecpriv_size = url_close_dyn_buf(dyn_cp, &codecpriv); if (codecpriv_size) put_ebml_binary(pb, MATROSKA_ID_CODECPRIVATE, codecpriv, codecpriv_size); av_free(codecpriv); @@ -510,7 +512,7 @@ static int mkv_write_codecprivate(AVFormatContext *s, ByteIOContext *pb, AVCodec static int mkv_write_tracks(AVFormatContext *s) { MatroskaMuxContext *mkv = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; ebml_master tracks; int i, j, ret; @@ -613,7 +615,7 @@ static int mkv_write_tracks(AVFormatContext *s) static int mkv_write_header(AVFormatContext *s) { MatroskaMuxContext *mkv = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; ebml_master ebml_header, segment_info; int ret; @@ -703,7 +705,7 @@ static int mkv_blockgroup_size(AVPacket *pkt) static void mkv_write_block(AVFormatContext *s, unsigned int blockid, AVPacket *pkt, int flags) { MatroskaMuxContext *mkv = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; av_log(s, AV_LOG_DEBUG, "Writing block at offset %" PRIu64 ", size %d, " "pts %" PRId64 ", dts %" PRId64 ", duration %d, flags %d\n", @@ -719,7 +721,7 @@ static void mkv_write_block(AVFormatContext *s, unsigned int blockid, AVPacket * static int mkv_write_packet(AVFormatContext *s, AVPacket *pkt) { MatroskaMuxContext *mkv = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVCodecContext *codec = s->streams[pkt->stream_index]->codec; int keyframe = !!(pkt->flags & PKT_FLAG_KEY); int ret; @@ -761,7 +763,7 @@ static int mkv_write_packet(AVFormatContext *s, AVPacket *pkt) static int mkv_write_trailer(AVFormatContext *s) { MatroskaMuxContext *mkv = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; offset_t currentpos, second_seekhead, cuespos; int ret; diff --git a/libavformat/mm.c b/libavformat/mm.c index 7fb34f3e9b..4e6bac0271 100644 --- a/libavformat/mm.c +++ b/libavformat/mm.c @@ -72,7 +72,7 @@ static int mm_read_header(AVFormatContext *s, AVFormatParameters *ap) { MmDemuxContext *mm = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVStream *st; unsigned int type, length; @@ -127,7 +127,7 @@ static int mm_read_packet(AVFormatContext *s, AVPacket *pkt) { MmDemuxContext *mm = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; unsigned char preamble[MM_PREAMBLE_SIZE]; unsigned char pal[MM_PALETTE_SIZE]; unsigned int type, length; @@ -178,7 +178,7 @@ static int mm_read_packet(AVFormatContext *s, return 0; case MM_TYPE_AUDIO : - if (av_get_packet(&s->pb, pkt, length)<0) + if (av_get_packet(s->pb, pkt, length)<0) return AVERROR(ENOMEM); pkt->size = length; pkt->stream_index = 1; diff --git a/libavformat/mmf.c b/libavformat/mmf.c index be4c6e3cca..84c21a01d2 100644 --- a/libavformat/mmf.c +++ b/libavformat/mmf.c @@ -60,7 +60,7 @@ static void end_tag_be(ByteIOContext *pb, offset_t start) static int mmf_write_header(AVFormatContext *s) { MMFContext *mmf = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; offset_t pos; int rate; @@ -108,7 +108,7 @@ static int mmf_write_header(AVFormatContext *s) static int mmf_write_packet(AVFormatContext *s, AVPacket *pkt) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; put_buffer(pb, pkt->data, pkt->size); return 0; } @@ -127,12 +127,12 @@ static void put_varlength(ByteIOContext *pb, int val) static int mmf_write_trailer(AVFormatContext *s) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; MMFContext *mmf = s->priv_data; offset_t pos, size; int gatetime; - if (!url_is_streamed(&s->pb)) { + if (!url_is_streamed(s->pb)) { /* Fill in length fields */ end_tag_be(pb, mmf->awapos); end_tag_be(pb, mmf->atrpos); @@ -183,7 +183,7 @@ static int mmf_read_header(AVFormatContext *s, { MMFContext *mmf = s->priv_data; unsigned int tag; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVStream *st; offset_t file_size, size; int rate, params; @@ -265,7 +265,7 @@ static int mmf_read_packet(AVFormatContext *s, AVStream *st; int ret, size; - if (url_feof(&s->pb)) + if (url_feof(s->pb)) return AVERROR(EIO); st = s->streams[0]; @@ -280,7 +280,7 @@ static int mmf_read_packet(AVFormatContext *s, return AVERROR(EIO); pkt->stream_index = 0; - ret = get_buffer(&s->pb, pkt->data, pkt->size); + ret = get_buffer(s->pb, pkt->data, pkt->size); if (ret < 0) av_free_packet(pkt); diff --git a/libavformat/mov.c b/libavformat/mov.c index 0dbc66fd3d..ae3e5dc8bc 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -1423,7 +1423,7 @@ static void mov_build_index(MOVContext *mov, AVStream *st) static int mov_read_header(AVFormatContext *s, AVFormatParameters *ap) { MOVContext *mov = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int i, err; MOV_atom_t atom = { 0, 0, 0 }; @@ -1516,7 +1516,7 @@ static int mov_read_packet(AVFormatContext *s, AVPacket *pkt) return -1; /* must be done just before reading, to avoid infinite loop on sample */ sc->current_sample++; - if (sample->pos >= url_fsize(&s->pb)) { + if (sample->pos >= url_fsize(s->pb)) { av_log(mov->fc, AV_LOG_ERROR, "stream %d, offset 0x%"PRIx64": partial file\n", sc->ffindex, sample->pos); return -1; } @@ -1526,8 +1526,8 @@ static int mov_read_packet(AVFormatContext *s, AVPacket *pkt) dprintf(s, "dv audio pkt size %d\n", pkt->size); } else { #endif - url_fseek(&s->pb, sample->pos, SEEK_SET); - av_get_packet(&s->pb, pkt, sample->size); + url_fseek(s->pb, sample->pos, SEEK_SET); + av_get_packet(s->pb, pkt, sample->size); #ifdef CONFIG_DV_DEMUXER if (mov->dv_demux) { void *pkt_destruct_func = pkt->destruct; diff --git a/libavformat/movenc.c b/libavformat/movenc.c index c8d32f3c67..8dd00cdd09 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -442,24 +442,27 @@ static uint8_t *avc_find_startcode( uint8_t *p, uint8_t *end ) return end + 3; } -static void avc_parse_nal_units(uint8_t **buf, int *size) +static int avc_parse_nal_units(uint8_t **buf, int *size) { - ByteIOContext pb; + ByteIOContext *pb; uint8_t *p = *buf; uint8_t *end = p + *size; uint8_t *nal_start, *nal_end; + int ret = url_open_dyn_buf(&pb); + if(ret < 0) + return ret; - url_open_dyn_buf(&pb); nal_start = avc_find_startcode(p, end); while (nal_start < end) { while(!*(nal_start++)); nal_end = avc_find_startcode(nal_start, end); - put_be32(&pb, nal_end - nal_start); - put_buffer(&pb, nal_start, nal_end - nal_start); + put_be32(pb, nal_end - nal_start); + put_buffer(pb, nal_start, nal_end - nal_start); nal_start = nal_end; } av_freep(buf); - *size = url_close_dyn_buf(&pb, buf); + *size = url_close_dyn_buf(pb, buf); + return 0; } static int mov_write_avcc_tag(ByteIOContext *pb, MOVTrack *track) @@ -1508,11 +1511,11 @@ static void mov_write_uuidprof_tag(ByteIOContext *pb, AVFormatContext *s) static int mov_write_header(AVFormatContext *s) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; MOVContext *mov = s->priv_data; int i; - if (url_is_streamed(&s->pb)) { + if (url_is_streamed(s->pb)) { av_log(s, AV_LOG_ERROR, "muxer does not support non seekable output\n"); return -1; } @@ -1579,13 +1582,13 @@ static int mov_write_header(AVFormatContext *s) static int mov_write_packet(AVFormatContext *s, AVPacket *pkt) { MOVContext *mov = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; MOVTrack *trk = &mov->tracks[pkt->stream_index]; AVCodecContext *enc = trk->enc; unsigned int samplesInChunk = 0; int size= pkt->size; - if (url_is_streamed(&s->pb)) return 0; /* Can't handle that */ + if (url_is_streamed(s->pb)) return 0; /* Can't handle that */ if (!size) return 0; /* Discard 0 sized packets */ if (enc->codec_id == CODEC_ID_AMR_NB) { @@ -1663,7 +1666,7 @@ static int mov_write_packet(AVFormatContext *s, AVPacket *pkt) static int mov_write_trailer(AVFormatContext *s) { MOVContext *mov = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int res = 0; int i; diff --git a/libavformat/mp3.c b/libavformat/mp3.c index 9619fb1029..4ad9b67d5b 100644 --- a/libavformat/mp3.c +++ b/libavformat/mp3.c @@ -190,20 +190,20 @@ static void id3v2_read_ttag(AVFormatContext *s, int taglen, char *dst, int dstle taglen--; /* account for encoding type byte */ dstlen--; /* Leave space for zero terminator */ - switch(get_byte(&s->pb)) { /* encoding type */ + switch(get_byte(s->pb)) { /* encoding type */ case 0: /* ISO-8859-1 (0 - 255 maps directly into unicode) */ q = dst; while(taglen--) { uint8_t tmp; - PUT_UTF8(get_byte(&s->pb), tmp, if (q - dst < dstlen - 1) *q++ = tmp;) + PUT_UTF8(get_byte(s->pb), tmp, if (q - dst < dstlen - 1) *q++ = tmp;) } *q = '\0'; break; case 3: /* UTF-8 */ len = FFMIN(taglen, dstlen); - get_buffer(&s->pb, dst, len); + get_buffer(s->pb, dst, len); dst[len] = 0; break; } @@ -252,23 +252,23 @@ static void id3v2_parse(AVFormatContext *s, int len, uint8_t version, uint8_t fl } if(isv34 && flags & 0x40) /* Extended header present, just skip over it */ - url_fskip(&s->pb, id3v2_get_size(&s->pb, 4)); + url_fskip(s->pb, id3v2_get_size(s->pb, 4)); while(len >= taghdrlen) { if(isv34) { - tag = get_be32(&s->pb); - tlen = id3v2_get_size(&s->pb, 4); - get_be16(&s->pb); /* flags */ + tag = get_be32(s->pb); + tlen = id3v2_get_size(s->pb, 4); + get_be16(s->pb); /* flags */ } else { - tag = get_be24(&s->pb); - tlen = id3v2_get_size(&s->pb, 3); + tag = get_be24(s->pb); + tlen = id3v2_get_size(s->pb, 3); } len -= taghdrlen + tlen; if(len < 0) break; - next = url_ftell(&s->pb) + tlen; + next = url_ftell(s->pb) + tlen; switch(tag) { case MKBETAG('T', 'I', 'T', '2'): @@ -298,21 +298,21 @@ static void id3v2_parse(AVFormatContext *s, int len, uint8_t version, uint8_t fl break; case 0: /* padding, skip to end */ - url_fskip(&s->pb, len); + url_fskip(s->pb, len); len = 0; continue; } /* Skip to end of tag */ - url_fseek(&s->pb, next, SEEK_SET); + url_fseek(s->pb, next, SEEK_SET); } if(version == 4 && flags & 0x10) /* Footer preset, always 10 bytes, skip over it */ - url_fskip(&s->pb, 10); + url_fskip(s->pb, 10); return; error: av_log(s, AV_LOG_INFO, "ID3v2.%d tag skipped, cannot handle %s\n", version, reason); - url_fskip(&s->pb, len); + url_fskip(s->pb, len); } static void id3v1_get_string(char *str, int str_size, @@ -435,7 +435,7 @@ static void mp3_parse_vbr_tags(AVFormatContext *s, AVStream *st, offset_t base) const offset_t xing_offtbl[2][2] = {{32, 17}, {17,9}}; MPADecodeContext c; - v = get_be32(&s->pb); + v = get_be32(s->pb); if(ff_mpa_check_header(v) < 0) return; @@ -444,23 +444,23 @@ static void mp3_parse_vbr_tags(AVFormatContext *s, AVStream *st, offset_t base) return; /* Check for Xing / Info tag */ - url_fseek(&s->pb, xing_offtbl[c.lsf == 1][c.nb_channels == 1], SEEK_CUR); - v = get_be32(&s->pb); + url_fseek(s->pb, xing_offtbl[c.lsf == 1][c.nb_channels == 1], SEEK_CUR); + v = get_be32(s->pb); if(v == MKBETAG('X', 'i', 'n', 'g') || v == MKBETAG('I', 'n', 'f', 'o')) { - v = get_be32(&s->pb); + v = get_be32(s->pb); if(v & 0x1) - frames = get_be32(&s->pb); + frames = get_be32(s->pb); } /* Check for VBRI tag (always 32 bytes after end of mpegaudio header) */ - url_fseek(&s->pb, base + 4 + 32, SEEK_SET); - v = get_be32(&s->pb); + url_fseek(s->pb, base + 4 + 32, SEEK_SET); + v = get_be32(s->pb); if(v == MKBETAG('V', 'B', 'R', 'I')) { /* Check tag version */ - if(get_be16(&s->pb) == 1) { + if(get_be16(s->pb) == 1) { /* skip delay, quality and total bytes */ - url_fseek(&s->pb, 8, SEEK_CUR); - frames = get_be32(&s->pb); + url_fseek(s->pb, 8, SEEK_CUR); + frames = get_be32(s->pb); } } @@ -490,21 +490,21 @@ static int mp3_read_header(AVFormatContext *s, st->start_time = 0; /* try to get the TAG */ - if (!url_is_streamed(&s->pb)) { + if (!url_is_streamed(s->pb)) { /* XXX: change that */ - filesize = url_fsize(&s->pb); + filesize = url_fsize(s->pb); if (filesize > 128) { - url_fseek(&s->pb, filesize - 128, SEEK_SET); - ret = get_buffer(&s->pb, buf, ID3v1_TAG_SIZE); + url_fseek(s->pb, filesize - 128, SEEK_SET); + ret = get_buffer(s->pb, buf, ID3v1_TAG_SIZE); if (ret == ID3v1_TAG_SIZE) { id3v1_parse_tag(s, buf); } - url_fseek(&s->pb, 0, SEEK_SET); + url_fseek(s->pb, 0, SEEK_SET); } } /* if ID3v2 header found, skip it */ - ret = get_buffer(&s->pb, buf, ID3v2_HEADER_SIZE); + ret = get_buffer(s->pb, buf, ID3v2_HEADER_SIZE); if (ret != ID3v2_HEADER_SIZE) return -1; if (id3v2_match(buf)) { @@ -515,12 +515,12 @@ static int mp3_read_header(AVFormatContext *s, (buf[9] & 0x7f); id3v2_parse(s, len, buf[3], buf[5]); } else { - url_fseek(&s->pb, 0, SEEK_SET); + url_fseek(s->pb, 0, SEEK_SET); } - off = url_ftell(&s->pb); + off = url_ftell(s->pb); mp3_parse_vbr_tags(s, st, off); - url_fseek(&s->pb, off, SEEK_SET); + url_fseek(s->pb, off, SEEK_SET); /* the parameters will be extracted from the compressed bitstream */ return 0; @@ -535,7 +535,7 @@ static int mp3_read_packet(AVFormatContext *s, AVPacket *pkt) size= MP3_PACKET_SIZE; - ret= av_get_packet(&s->pb, pkt, size); + ret= av_get_packet(s->pb, pkt, size); pkt->stream_index = 0; if (ret <= 0) { @@ -557,20 +557,20 @@ static int mp3_read_close(AVFormatContext *s) static void id3v2_put_size(AVFormatContext *s, int size) { - put_byte(&s->pb, size >> 21 & 0x7f); - put_byte(&s->pb, size >> 14 & 0x7f); - put_byte(&s->pb, size >> 7 & 0x7f); - put_byte(&s->pb, size & 0x7f); + put_byte(s->pb, size >> 21 & 0x7f); + put_byte(s->pb, size >> 14 & 0x7f); + put_byte(s->pb, size >> 7 & 0x7f); + put_byte(s->pb, size & 0x7f); } static void id3v2_put_ttag(AVFormatContext *s, char *string, uint32_t tag) { int len = strlen(string); - put_be32(&s->pb, tag); + put_be32(s->pb, tag); id3v2_put_size(s, len + 1); - put_be16(&s->pb, 0); - put_byte(&s->pb, 3); /* UTF-8 */ - put_buffer(&s->pb, string, len); + put_be16(s->pb, 0); + put_byte(s->pb, 3); /* UTF-8 */ + put_buffer(s->pb, string, len); } @@ -602,9 +602,9 @@ static int mp3_write_header(struct AVFormatContext *s) if(totlen == 0) return 0; - put_be32(&s->pb, MKBETAG('I', 'D', '3', 0x04)); /* ID3v2.4 */ - put_byte(&s->pb, 0); - put_byte(&s->pb, 0); /* flags */ + put_be32(s->pb, MKBETAG('I', 'D', '3', 0x04)); /* ID3v2.4 */ + put_byte(s->pb, 0); + put_byte(s->pb, 0); /* flags */ id3v2_put_size(s, totlen); @@ -622,8 +622,8 @@ static int mp3_write_header(struct AVFormatContext *s) static int mp3_write_packet(struct AVFormatContext *s, AVPacket *pkt) { - put_buffer(&s->pb, pkt->data, pkt->size); - put_flush_packet(&s->pb); + put_buffer(s->pb, pkt->data, pkt->size); + put_flush_packet(s->pb); return 0; } @@ -634,8 +634,8 @@ static int mp3_write_trailer(struct AVFormatContext *s) /* write the id3v1 tag */ if (s->title[0] != '\0') { id3v1_create_tag(s, buf); - put_buffer(&s->pb, buf, ID3v1_TAG_SIZE); - put_flush_packet(&s->pb); + put_buffer(s->pb, buf, ID3v1_TAG_SIZE); + put_flush_packet(s->pb); } return 0; } diff --git a/libavformat/mpc.c b/libavformat/mpc.c index ac6733788f..8e6c573dff 100644 --- a/libavformat/mpc.c +++ b/libavformat/mpc.c @@ -55,31 +55,31 @@ static int mpc_read_header(AVFormatContext *s, AVFormatParameters *ap) AVStream *st; int t; - t = get_le24(&s->pb); + t = get_le24(s->pb); if(t != MKTAG('M', 'P', '+', 0)){ if(t != MKTAG('I', 'D', '3', 0)){ av_log(s, AV_LOG_ERROR, "Not a Musepack file\n"); return -1; } /* skip ID3 tags and try again */ - url_fskip(&s->pb, 3); - t = get_byte(&s->pb) << 21; - t |= get_byte(&s->pb) << 14; - t |= get_byte(&s->pb) << 7; - t |= get_byte(&s->pb); + url_fskip(s->pb, 3); + t = get_byte(s->pb) << 21; + t |= get_byte(s->pb) << 14; + t |= get_byte(s->pb) << 7; + t |= get_byte(s->pb); av_log(s, AV_LOG_DEBUG, "Skipping %d(%X) bytes of ID3 data\n", t, t); - url_fskip(&s->pb, t); - if(get_le24(&s->pb) != MKTAG('M', 'P', '+', 0)){ + url_fskip(s->pb, t); + if(get_le24(s->pb) != MKTAG('M', 'P', '+', 0)){ av_log(s, AV_LOG_ERROR, "Not a Musepack file\n"); return -1; } } - c->ver = get_byte(&s->pb); + c->ver = get_byte(s->pb); if(c->ver != 0x07 && c->ver != 0x17){ av_log(s, AV_LOG_ERROR, "Can demux Musepack SV7, got version %02X\n", c->ver); return -1; } - c->fcount = get_le32(&s->pb); + c->fcount = get_le32(s->pb); if((int64_t)c->fcount * sizeof(MPCFrame) >= UINT_MAX){ av_log(s, AV_LOG_ERROR, "Too many frames, seeking is not possible\n"); return -1; @@ -100,7 +100,7 @@ static int mpc_read_header(AVFormatContext *s, AVFormatParameters *ap) st->codec->extradata_size = 16; st->codec->extradata = av_mallocz(st->codec->extradata_size+FF_INPUT_BUFFER_PADDING_SIZE); - get_buffer(&s->pb, st->codec->extradata, 16); + get_buffer(s->pb, st->codec->extradata, 16); st->codec->sample_rate = mpc_rate[st->codec->extradata[2] & 3]; av_set_pts_info(st, 32, MPC_FRAMESIZE, st->codec->sample_rate); /* scan for seekpoints */ @@ -120,22 +120,22 @@ static int mpc_read_packet(AVFormatContext *s, AVPacket *pkt) return -1; if(c->curframe != c->lastframe + 1){ - url_fseek(&s->pb, c->frames[c->curframe].pos, SEEK_SET); + url_fseek(s->pb, c->frames[c->curframe].pos, SEEK_SET); c->curbits = c->frames[c->curframe].skip; } c->lastframe = c->curframe; c->curframe++; curbits = c->curbits; - pos = url_ftell(&s->pb); - tmp = get_le32(&s->pb); + pos = url_ftell(s->pb); + tmp = get_le32(s->pb); if(curbits <= 12){ size2 = (tmp >> (12 - curbits)) & 0xFFFFF; }else{ - tmp = (tmp << 32) | get_le32(&s->pb); + tmp = (tmp << 32) | get_le32(s->pb); size2 = (tmp >> (44 - curbits)) & 0xFFFFF; } curbits += 20; - url_fseek(&s->pb, pos, SEEK_SET); + url_fseek(s->pb, pos, SEEK_SET); size = ((size2 + curbits + 31) & ~31) >> 3; if(cur == c->frames_noted){ @@ -155,9 +155,9 @@ static int mpc_read_packet(AVFormatContext *s, AVPacket *pkt) pkt->stream_index = 0; pkt->pts = cur; - ret = get_buffer(&s->pb, pkt->data + 4, size); + ret = get_buffer(s->pb, pkt->data + 4, size); if(c->curbits) - url_fseek(&s->pb, -4, SEEK_CUR); + url_fseek(s->pb, -4, SEEK_CUR); if(ret < size){ av_free_packet(pkt); return AVERROR(EIO); diff --git a/libavformat/mpc8.c b/libavformat/mpc8.c index b6840b00d6..879c7d2367 100644 --- a/libavformat/mpc8.c +++ b/libavformat/mpc8.c @@ -90,15 +90,15 @@ static void mpc8_parse_seektable(AVFormatContext *s, int64_t off) int i, t, seekd; GetBitContext gb; - url_fseek(&s->pb, off, SEEK_SET); - mpc8_get_chunk_header(&s->pb, &tag, &size); + url_fseek(s->pb, off, SEEK_SET); + mpc8_get_chunk_header(s->pb, &tag, &size); if(tag != TAG_SEEKTABLE){ av_log(s, AV_LOG_ERROR, "No seek table at given position\n"); return; } if(!(buf = av_malloc(size))) return; - get_buffer(&s->pb, buf, size); + get_buffer(s->pb, buf, size); init_get_bits(&gb, buf, size * 8); size = gb_get_v(&gb); if(size > UINT_MAX/4 || size > c->samples/1152){ @@ -126,7 +126,7 @@ static void mpc8_parse_seektable(AVFormatContext *s, int64_t off) static void mpc8_handle_chunk(AVFormatContext *s, int tag, int64_t chunk_pos, int64_t size) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int64_t pos, off; switch(tag){ @@ -144,7 +144,7 @@ static void mpc8_handle_chunk(AVFormatContext *s, int tag, int64_t chunk_pos, in static int mpc8_read_header(AVFormatContext *s, AVFormatParameters *ap) { MPCContext *c = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVStream *st; int tag = 0; int64_t size, pos; @@ -202,11 +202,11 @@ static int mpc8_read_packet(AVFormatContext *s, AVPacket *pkt) int tag; int64_t pos, size; - while(!url_feof(&s->pb)){ - pos = url_ftell(&s->pb); - mpc8_get_chunk_header(&s->pb, &tag, &size); + while(!url_feof(s->pb)){ + pos = url_ftell(s->pb); + mpc8_get_chunk_header(s->pb, &tag, &size); if(tag == TAG_AUDIOPACKET){ - if(av_get_packet(&s->pb, pkt, size) < 0) + if(av_get_packet(s->pb, pkt, size) < 0) return AVERROR(ENOMEM); pkt->stream_index = 0; pkt->pts = c->frame; @@ -226,7 +226,7 @@ static int mpc8_read_seek(AVFormatContext *s, int stream_index, int64_t timestam int index = av_index_search_timestamp(st, timestamp, flags); if(index < 0) return -1; - url_fseek(&s->pb, st->index_entries[index].pos, SEEK_SET); + url_fseek(s->pb, st->index_entries[index].pos, SEEK_SET); c->frame = st->index_entries[index].timestamp; return 0; } diff --git a/libavformat/mpeg.c b/libavformat/mpeg.c index 4bfd80369e..5c55c485bb 100644 --- a/libavformat/mpeg.c +++ b/libavformat/mpeg.c @@ -122,7 +122,7 @@ static int mpegps_read_header(AVFormatContext *s, m->sofdec = -1; do { - v = get_byte(&s->pb); + v = get_byte(s->pb); m->header_state = m->header_state << 8 | v; m->sofdec++; } while (v == sofdec[i] && i++ < 6); @@ -253,17 +253,17 @@ static int mpegps_read_pes_header(AVFormatContext *s, int len, size, startcode, c, flags, header_len; int pes_ext, ext2_len, id_ext, skip; int64_t pts, dts; - int64_t last_sync= url_ftell(&s->pb); + int64_t last_sync= url_ftell(s->pb); error_redo: - url_fseek(&s->pb, last_sync, SEEK_SET); + url_fseek(s->pb, last_sync, SEEK_SET); redo: /* next start code (should be immediately after) */ m->header_state = 0xff; size = MAX_SYNC_SIZE; - 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)); + 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)); if (startcode < 0) return AVERROR(EIO); if (startcode == PACK_START_CODE) @@ -271,16 +271,16 @@ static int mpegps_read_pes_header(AVFormatContext *s, if (startcode == SYSTEM_HEADER_START_CODE) goto redo; if (startcode == PADDING_STREAM) { - url_fskip(&s->pb, get_be16(&s->pb)); + url_fskip(s->pb, get_be16(s->pb)); goto redo; } if (startcode == PRIVATE_STREAM_2) { - len = get_be16(&s->pb); + len = get_be16(s->pb); if (!m->sofdec) { while (len-- >= 6) { - if (get_byte(&s->pb) == 'S') { + if (get_byte(s->pb) == 'S') { uint8_t buf[5]; - get_buffer(&s->pb, buf, sizeof(buf)); + get_buffer(s->pb, buf, sizeof(buf)); m->sofdec = !memcmp(buf, "ofdec", 5); len -= sizeof(buf); break; @@ -288,11 +288,11 @@ static int mpegps_read_pes_header(AVFormatContext *s, } m->sofdec -= !m->sofdec; } - url_fskip(&s->pb, len); + url_fskip(s->pb, len); goto redo; } if (startcode == PROGRAM_STREAM_MAP) { - mpegps_psm_parse(m, &s->pb); + mpegps_psm_parse(m, s->pb); goto redo; } @@ -302,16 +302,16 @@ static int mpegps_read_pes_header(AVFormatContext *s, (startcode == 0x1bd) || (startcode == 0x1fd))) goto redo; if (ppos) { - *ppos = url_ftell(&s->pb) - 4; + *ppos = url_ftell(s->pb) - 4; } - len = get_be16(&s->pb); + len = get_be16(s->pb); pts = dts = AV_NOPTS_VALUE; /* stuffing */ for(;;) { if (len < 1) goto error_redo; - c = get_byte(&s->pb); + c = get_byte(s->pb); len--; /* XXX: for mpeg1, should test only bit 7 */ if (c != 0xff) @@ -319,15 +319,15 @@ static int mpegps_read_pes_header(AVFormatContext *s, } if ((c & 0xc0) == 0x40) { /* buffer scale & size */ - get_byte(&s->pb); - c = get_byte(&s->pb); + get_byte(s->pb); + c = get_byte(s->pb); len -= 2; } if ((c & 0xe0) == 0x20) { - dts = pts = get_pts(&s->pb, c); + dts = pts = get_pts(s->pb, c); len -= 4; if (c & 0x10){ - dts = get_pts(&s->pb, -1); + dts = get_pts(s->pb, -1); len -= 5; } } else if ((c & 0xc0) == 0x80) { @@ -338,22 +338,22 @@ static int mpegps_read_pes_header(AVFormatContext *s, goto redo; } #endif - flags = get_byte(&s->pb); - header_len = get_byte(&s->pb); + flags = get_byte(s->pb); + header_len = get_byte(s->pb); len -= 2; if (header_len > len) goto error_redo; len -= header_len; if (flags & 0x80) { - dts = pts = get_pts(&s->pb, -1); + dts = pts = get_pts(s->pb, -1); header_len -= 5; if (flags & 0x40) { - dts = get_pts(&s->pb, -1); + dts = get_pts(s->pb, -1); header_len -= 5; } } if (flags & 0x01) { /* PES extension */ - pes_ext = get_byte(&s->pb); + pes_ext = get_byte(s->pb); header_len--; if (pes_ext & 0x40) { /* pack header - should be zero in PS */ goto error_redo; @@ -361,14 +361,14 @@ static int mpegps_read_pes_header(AVFormatContext *s, /* Skip PES private data, program packet sequence counter and P-STD buffer */ skip = (pes_ext >> 4) & 0xb; skip += skip & 0x9; - url_fskip(&s->pb, skip); + url_fskip(s->pb, skip); header_len -= skip; if (pes_ext & 0x01) { /* PES extension 2 */ - ext2_len = get_byte(&s->pb); + ext2_len = get_byte(s->pb); header_len--; if ((ext2_len & 0x7f) > 0) { - id_ext = get_byte(&s->pb); + id_ext = get_byte(s->pb); if ((id_ext & 0x80) == 0) startcode = ((startcode & 0xff) << 8) | id_ext; header_len--; @@ -377,23 +377,23 @@ static int mpegps_read_pes_header(AVFormatContext *s, } if(header_len < 0) goto error_redo; - url_fskip(&s->pb, header_len); + url_fskip(s->pb, header_len); } else if( c!= 0xf ) goto redo; if (startcode == PRIVATE_STREAM_1 && !m->psm_es_type[startcode & 0xff]) { - startcode = get_byte(&s->pb); + startcode = get_byte(s->pb); len--; if (startcode >= 0x80 && startcode <= 0xcf) { /* audio: skip header */ - get_byte(&s->pb); - get_byte(&s->pb); - get_byte(&s->pb); + get_byte(s->pb); + get_byte(s->pb); + get_byte(s->pb); len -= 3; if (startcode >= 0xb0 && startcode <= 0xbf) { /* MLP/TrueHD audio has a 4-byte header */ - get_byte(&s->pb); + get_byte(s->pb); len--; } } @@ -465,8 +465,8 @@ static int mpegps_read_packet(AVFormatContext *s, } else if (startcode >= 0x1e0 && startcode <= 0x1ef) { static const unsigned char avs_seqh[4] = { 0, 0, 1, 0xb0 }; unsigned char buf[8]; - get_buffer(&s->pb, buf, 8); - url_fseek(&s->pb, -8, SEEK_CUR); + get_buffer(s->pb, buf, 8); + url_fseek(s->pb, -8, SEEK_CUR); if(!memcmp(buf, avs_seqh, 4) && (buf[6] != 0 || buf[7] != 1)) codec_id = CODEC_ID_CAVS; else @@ -502,7 +502,7 @@ static int mpegps_read_packet(AVFormatContext *s, } else { skip: /* skip packet */ - url_fskip(&s->pb, len); + url_fskip(s->pb, len); goto redo; } /* no stream found: add a new stream */ @@ -523,9 +523,9 @@ static int mpegps_read_packet(AVFormatContext *s, audio data */ if (len <= 3) goto skip; - get_byte(&s->pb); /* emphasis (1), muse(1), reserved(1), frame number(5) */ - b1 = get_byte(&s->pb); /* quant (2), freq(2), reserved(1), channels(3) */ - get_byte(&s->pb); /* dynamic range control (0x80 = off) */ + get_byte(s->pb); /* emphasis (1), muse(1), reserved(1), frame number(5) */ + b1 = get_byte(s->pb); /* quant (2), freq(2), reserved(1), channels(3) */ + get_byte(s->pb); /* dynamic range control (0x80 = off) */ len -= 3; freq = (b1 >> 4) & 3; st->codec->sample_rate = lpcm_freq_tab[freq]; @@ -533,7 +533,7 @@ static int mpegps_read_packet(AVFormatContext *s, st->codec->bit_rate = st->codec->channels * st->codec->sample_rate * 2; } av_new_packet(pkt, len); - get_buffer(&s->pb, pkt->data, pkt->size); + get_buffer(s->pb, pkt->data, pkt->size); pkt->pts = pts; pkt->dts = dts; pkt->stream_index = st->index; @@ -560,7 +560,7 @@ static int64_t mpegps_read_dts(AVFormatContext *s, int stream_index, #ifdef DEBUG_SEEK printf("read_dts: pos=0x%"PRIx64" next=%d -> ", pos, find_next); #endif - url_fseek(&s->pb, pos, SEEK_SET); + url_fseek(s->pb, pos, SEEK_SET); for(;;) { len = mpegps_read_pes_header(s, &pos, &startcode, &pts, &dts); if (len < 0) { @@ -573,7 +573,7 @@ static int64_t mpegps_read_dts(AVFormatContext *s, int stream_index, dts != AV_NOPTS_VALUE) { break; } - url_fskip(&s->pb, len); + url_fskip(s->pb, len); } #ifdef DEBUG_SEEK printf("pos=0x%"PRIx64" dts=0x%"PRIx64" %0.3f\n", pos, dts, dts / 90000.0); diff --git a/libavformat/mpegenc.c b/libavformat/mpegenc.c index 36b4cf1676..ca9d481978 100644 --- a/libavformat/mpegenc.c +++ b/libavformat/mpegenc.c @@ -690,19 +690,19 @@ static int flush_packet(AVFormatContext *ctx, int stream_index, size = put_system_header(ctx, buf_ptr, 0); buf_ptr += size; size = buf_ptr - buffer; - put_buffer(&ctx->pb, buffer, size); + put_buffer(ctx->pb, buffer, size); - put_be32(&ctx->pb, PRIVATE_STREAM_2); - put_be16(&ctx->pb, 0x03d4); // length - put_byte(&ctx->pb, 0x00); // substream ID, 00=PCI + put_be32(ctx->pb, PRIVATE_STREAM_2); + put_be16(ctx->pb, 0x03d4); // length + put_byte(ctx->pb, 0x00); // substream ID, 00=PCI for (i = 0; i < 979; i++) - put_byte(&ctx->pb, 0x00); + put_byte(ctx->pb, 0x00); - put_be32(&ctx->pb, PRIVATE_STREAM_2); - put_be16(&ctx->pb, 0x03fa); // length - put_byte(&ctx->pb, 0x01); // substream ID, 01=DSI + put_be32(ctx->pb, PRIVATE_STREAM_2); + put_be16(ctx->pb, 0x03fa); // length + put_byte(ctx->pb, 0x01); // substream ID, 01=DSI for (i = 0; i < 1017; i++) - put_byte(&ctx->pb, 0x00); + put_byte(ctx->pb, 0x00); memset(buffer, 0, 128); buf_ptr = buffer; @@ -725,7 +725,7 @@ static int flush_packet(AVFormatContext *ctx, int stream_index, } } size = buf_ptr - buffer; - put_buffer(&ctx->pb, buffer, size); + put_buffer(ctx->pb, buffer, size); packet_size = s->packet_size - size; @@ -830,16 +830,16 @@ static int flush_packet(AVFormatContext *ctx, int stream_index, nb_frames= get_nb_frames(ctx, stream, payload_size - stuffing_size); - put_be32(&ctx->pb, startcode); + put_be32(ctx->pb, startcode); - put_be16(&ctx->pb, packet_size); + put_be16(ctx->pb, packet_size); if (!s->is_mpeg2) for(i=0;i<stuffing_size;i++) - put_byte(&ctx->pb, 0xff); + put_byte(ctx->pb, 0xff); if (s->is_mpeg2) { - put_byte(&ctx->pb, 0x80); /* mpeg2 id */ + put_byte(ctx->pb, 0x80); /* mpeg2 id */ pes_flags=0; @@ -856,64 +856,64 @@ static int flush_packet(AVFormatContext *ctx, int stream_index, if (stream->packet_number == 0) pes_flags |= 0x01; - put_byte(&ctx->pb, pes_flags); /* flags */ - put_byte(&ctx->pb, header_len - 3 + stuffing_size); + put_byte(ctx->pb, pes_flags); /* flags */ + put_byte(ctx->pb, header_len - 3 + stuffing_size); if (pes_flags & 0x80) /*write pts*/ - put_timestamp(&ctx->pb, (pes_flags & 0x40) ? 0x03 : 0x02, pts); + put_timestamp(ctx->pb, (pes_flags & 0x40) ? 0x03 : 0x02, pts); if (pes_flags & 0x40) /*write dts*/ - put_timestamp(&ctx->pb, 0x01, dts); + put_timestamp(ctx->pb, 0x01, dts); if (pes_flags & 0x01) { /*write pes extension*/ - put_byte(&ctx->pb, 0x10); /* flags */ + put_byte(ctx->pb, 0x10); /* flags */ /* P-STD buffer info */ if (id == AUDIO_ID) - put_be16(&ctx->pb, 0x4000 | stream->max_buffer_size/128); + put_be16(ctx->pb, 0x4000 | stream->max_buffer_size/128); else - put_be16(&ctx->pb, 0x6000 | stream->max_buffer_size/1024); + put_be16(ctx->pb, 0x6000 | stream->max_buffer_size/1024); } } else { if (pts != AV_NOPTS_VALUE) { if (dts != pts) { - put_timestamp(&ctx->pb, 0x03, pts); - put_timestamp(&ctx->pb, 0x01, dts); + put_timestamp(ctx->pb, 0x03, pts); + put_timestamp(ctx->pb, 0x01, dts); } else { - put_timestamp(&ctx->pb, 0x02, pts); + put_timestamp(ctx->pb, 0x02, pts); } } else { - put_byte(&ctx->pb, 0x0f); + put_byte(ctx->pb, 0x0f); } } if (s->is_mpeg2) { /* special stuffing byte that is always written to prevent accidental generation of start codes. */ - put_byte(&ctx->pb, 0xff); + put_byte(ctx->pb, 0xff); for(i=0;i<stuffing_size;i++) - put_byte(&ctx->pb, 0xff); + put_byte(ctx->pb, 0xff); } if (startcode == PRIVATE_STREAM_1) { - put_byte(&ctx->pb, id); + put_byte(ctx->pb, id); if (id >= 0xa0) { /* LPCM (XXX: check nb_frames) */ - put_byte(&ctx->pb, 7); - put_be16(&ctx->pb, 4); /* skip 3 header bytes */ - put_byte(&ctx->pb, stream->lpcm_header[0]); - put_byte(&ctx->pb, stream->lpcm_header[1]); - put_byte(&ctx->pb, stream->lpcm_header[2]); + put_byte(ctx->pb, 7); + put_be16(ctx->pb, 4); /* skip 3 header bytes */ + put_byte(ctx->pb, stream->lpcm_header[0]); + put_byte(ctx->pb, stream->lpcm_header[1]); + put_byte(ctx->pb, stream->lpcm_header[2]); } else if (id >= 0x40) { /* AC3 */ - put_byte(&ctx->pb, nb_frames); - put_be16(&ctx->pb, trailer_size+1); + put_byte(ctx->pb, nb_frames); + put_be16(ctx->pb, trailer_size+1); } } /* output data */ - if(av_fifo_generic_read(&stream->fifo, payload_size - stuffing_size, &put_buffer, &ctx->pb) < 0) + if(av_fifo_generic_read(&stream->fifo, payload_size - stuffing_size, &put_buffer, ctx->pb) < 0) return -1; stream->bytes_to_iframe -= payload_size - stuffing_size; }else{ @@ -922,12 +922,12 @@ static int flush_packet(AVFormatContext *ctx, int stream_index, } if (pad_packet_bytes > 0) - put_padding_packet(ctx,&ctx->pb, pad_packet_bytes); + put_padding_packet(ctx,ctx->pb, pad_packet_bytes); for(i=0;i<zero_trail_bytes;i++) - put_byte(&ctx->pb, 0x00); + put_byte(ctx->pb, 0x00); - put_flush_packet(&ctx->pb); + put_flush_packet(ctx->pb); s->packet_number++; @@ -952,11 +952,11 @@ static void put_vcd_padding_sector(AVFormatContext *ctx) int i; for(i=0;i<s->packet_size;i++) - put_byte(&ctx->pb, 0); + put_byte(ctx->pb, 0); s->vcd_padding_bytes_written += s->packet_size; - put_flush_packet(&ctx->pb); + put_flush_packet(ctx->pb); /* increasing the packet number is correct. The SCR of the following packs is calculated from the packet_number and it has to include the padding @@ -1206,8 +1206,8 @@ static int mpeg_mux_end(AVFormatContext *ctx) /* End header according to MPEG1 systems standard. We do not write it as it is usually not needed by decoders and because it complicates MPEG stream concatenation. */ - //put_be32(&ctx->pb, ISO_11172_END_CODE); - //put_flush_packet(&ctx->pb); + //put_be32(ctx->pb, ISO_11172_END_CODE); + //put_flush_packet(ctx->pb); for(i=0;i<ctx->nb_streams;i++) { stream = ctx->streams[i]->priv_data; diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index 9c60081301..b89bb4421f 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -1098,7 +1098,7 @@ static int read_packet(ByteIOContext *pb, uint8_t *buf, int raw_packet_size) static int handle_packets(MpegTSContext *ts, int nb_packets) { AVFormatContext *s = ts->stream; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; uint8_t packet[TS_PACKET_SIZE]; int packet_num, ret; @@ -1180,7 +1180,7 @@ static int mpegts_read_header(AVFormatContext *s, AVFormatParameters *ap) { MpegTSContext *ts = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; uint8_t buf[1024]; int len; int64_t pos; @@ -1243,7 +1243,7 @@ static int mpegts_read_header(AVFormatContext *s, nb_pcrs = 0; nb_packets = 0; for(;;) { - ret = read_packet(&s->pb, packet, ts->raw_packet_size); + ret = read_packet(s->pb, packet, ts->raw_packet_size); if (ret < 0) return -1; pid = AV_RB16(packet + 1) & 0x1fff; @@ -1291,8 +1291,8 @@ static int mpegts_raw_read_packet(AVFormatContext *s, if (av_new_packet(pkt, TS_PACKET_SIZE) < 0) return AVERROR(ENOMEM); - pkt->pos= url_ftell(&s->pb); - ret = read_packet(&s->pb, pkt->data, ts->raw_packet_size); + pkt->pos= url_ftell(s->pb); + ret = read_packet(s->pb, pkt->data, ts->raw_packet_size); if (ret < 0) { av_free_packet(pkt); return ret; @@ -1301,10 +1301,10 @@ static int mpegts_raw_read_packet(AVFormatContext *s, /* compute exact PCR for each packet */ if (parse_pcr(&pcr_h, &pcr_l, pkt->data) == 0) { /* we read the next PCR (XXX: optimize it by using a bigger buffer */ - pos = url_ftell(&s->pb); + pos = url_ftell(s->pb); for(i = 0; i < MAX_PACKET_READAHEAD; i++) { - url_fseek(&s->pb, pos + i * ts->raw_packet_size, SEEK_SET); - get_buffer(&s->pb, pcr_buf, 12); + url_fseek(s->pb, pos + i * ts->raw_packet_size, SEEK_SET); + get_buffer(s->pb, pcr_buf, 12); if (parse_pcr(&next_pcr_h, &next_pcr_l, pcr_buf) == 0) { /* XXX: not precise enough */ ts->pcr_incr = ((next_pcr_h - pcr_h) * 300 + (next_pcr_l - pcr_l)) / @@ -1312,7 +1312,7 @@ static int mpegts_raw_read_packet(AVFormatContext *s, break; } } - url_fseek(&s->pb, pos, SEEK_SET); + url_fseek(s->pb, pos, SEEK_SET); /* no next PCR found: we use previous increment */ ts->cur_pcr = pcr_h * 300 + pcr_l; } @@ -1354,8 +1354,8 @@ static int64_t mpegts_get_pcr(AVFormatContext *s, int stream_index, pos = ((*ppos + ts->raw_packet_size - 1) / ts->raw_packet_size) * ts->raw_packet_size; if (find_next) { for(;;) { - url_fseek(&s->pb, pos, SEEK_SET); - if (get_buffer(&s->pb, buf, TS_PACKET_SIZE) != TS_PACKET_SIZE) + url_fseek(s->pb, pos, SEEK_SET); + if (get_buffer(s->pb, buf, TS_PACKET_SIZE) != TS_PACKET_SIZE) return AV_NOPTS_VALUE; if ((pcr_pid < 0 || (AV_RB16(buf + 1) & 0x1fff) == pcr_pid) && parse_pcr(×tamp, &pcr_l, buf) == 0) { @@ -1368,8 +1368,8 @@ static int64_t mpegts_get_pcr(AVFormatContext *s, int stream_index, pos -= ts->raw_packet_size; if (pos < 0) return AV_NOPTS_VALUE; - url_fseek(&s->pb, pos, SEEK_SET); - if (get_buffer(&s->pb, buf, TS_PACKET_SIZE) != TS_PACKET_SIZE) + url_fseek(s->pb, pos, SEEK_SET); + if (get_buffer(s->pb, buf, TS_PACKET_SIZE) != TS_PACKET_SIZE) return AV_NOPTS_VALUE; if ((pcr_pid < 0 || (AV_RB16(buf + 1) & 0x1fff) == pcr_pid) && parse_pcr(×tamp, &pcr_l, buf) == 0) { @@ -1390,17 +1390,17 @@ 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) return -1; - pos= url_ftell(&s->pb); + pos= url_ftell(s->pb); for(;;) { - url_fseek(&s->pb, pos, SEEK_SET); - if (get_buffer(&s->pb, buf, TS_PACKET_SIZE) != TS_PACKET_SIZE) + url_fseek(s->pb, pos, SEEK_SET); + if (get_buffer(s->pb, buf, TS_PACKET_SIZE) != TS_PACKET_SIZE) return -1; // pid = AV_RB16(buf + 1) & 0x1fff; if(buf[1] & 0x40) break; pos += ts->raw_packet_size; } - url_fseek(&s->pb, pos, SEEK_SET); + url_fseek(s->pb, pos, SEEK_SET); return 0; } diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c index c521b68b87..b5a63e87ed 100644 --- a/libavformat/mpegtsenc.c +++ b/libavformat/mpegtsenc.c @@ -353,7 +353,7 @@ static MpegTSService *mpegts_add_service(MpegTSWrite *ts, static void section_write_packet(MpegTSSection *s, const uint8_t *packet) { AVFormatContext *ctx = s->opaque; - put_buffer(&ctx->pb, packet, TS_PACKET_SIZE); + put_buffer(ctx->pb, packet, TS_PACKET_SIZE); } static int mpegts_write_header(AVFormatContext *s) @@ -431,7 +431,7 @@ static int mpegts_write_header(AVFormatContext *s) for(i = 0; i < ts->nb_services; i++) { mpegts_write_pmt(s, ts->services[i]); } - put_flush_packet(&s->pb); + put_flush_packet(s->pb); return 0; @@ -608,9 +608,9 @@ static void mpegts_write_pes(AVFormatContext *s, AVStream *st, memcpy(buf + TS_PACKET_SIZE - len, payload, len); payload += len; payload_size -= len; - put_buffer(&s->pb, buf, TS_PACKET_SIZE); + put_buffer(s->pb, buf, TS_PACKET_SIZE); } - put_flush_packet(&s->pb); + put_flush_packet(s->pb); } static int mpegts_write_packet(AVFormatContext *s, AVPacket *pkt) @@ -668,7 +668,7 @@ static int mpegts_write_end(AVFormatContext *s) ts_st->payload_pts, ts_st->payload_dts); } } - put_flush_packet(&s->pb); + put_flush_packet(s->pb); for(i = 0; i < ts->nb_services; i++) { service = ts->services[i]; diff --git a/libavformat/mpjpeg.c b/libavformat/mpjpeg.c index 937917313b..2e745721bf 100644 --- a/libavformat/mpjpeg.c +++ b/libavformat/mpjpeg.c @@ -29,8 +29,8 @@ static int mpjpeg_write_header(AVFormatContext *s) uint8_t buf1[256]; snprintf(buf1, sizeof(buf1), "--%s\n", BOUNDARY_TAG); - put_buffer(&s->pb, buf1, strlen(buf1)); - put_flush_packet(&s->pb); + put_buffer(s->pb, buf1, strlen(buf1)); + put_flush_packet(s->pb); return 0; } @@ -39,12 +39,12 @@ static int mpjpeg_write_packet(AVFormatContext *s, AVPacket *pkt) uint8_t buf1[256]; snprintf(buf1, sizeof(buf1), "Content-type: image/jpeg\n\n"); - put_buffer(&s->pb, buf1, strlen(buf1)); - put_buffer(&s->pb, pkt->data, pkt->size); + put_buffer(s->pb, buf1, strlen(buf1)); + put_buffer(s->pb, pkt->data, pkt->size); snprintf(buf1, sizeof(buf1), "\n--%s\n", BOUNDARY_TAG); - put_buffer(&s->pb, buf1, strlen(buf1)); - put_flush_packet(&s->pb); + put_buffer(s->pb, buf1, strlen(buf1)); + put_flush_packet(s->pb); return 0; } diff --git a/libavformat/mtv.c b/libavformat/mtv.c index ce70db0db3..32057e6236 100644 --- a/libavformat/mtv.c +++ b/libavformat/mtv.c @@ -65,7 +65,7 @@ static int mtv_probe(AVProbeData *p) static int mtv_read_header(AVFormatContext *s, AVFormatParameters *ap) { MTVDemuxContext *mtv = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVStream *st; @@ -131,7 +131,7 @@ static int mtv_read_header(AVFormatContext *s, AVFormatParameters *ap) static int mtv_read_packet(AVFormatContext *s, AVPacket *pkt) { MTVDemuxContext *mtv = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int ret; #ifndef WORDS_BIGENDIAN int i; diff --git a/libavformat/mxf.c b/libavformat/mxf.c index cb227ac244..d334c800d4 100644 --- a/libavformat/mxf.c +++ b/libavformat/mxf.c @@ -269,7 +269,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}; MXFContext *mxf = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; offset_t end = url_ftell(pb) + klv->length; uint64_t size; uint64_t orig_size; @@ -326,8 +326,8 @@ static int mxf_read_packet(AVFormatContext *s, AVPacket *pkt) { KLVPacket klv; - while (!url_feof(&s->pb)) { - if (klv_read_packet(&klv, &s->pb) < 0) + while (!url_feof(s->pb)) { + if (klv_read_packet(&klv, s->pb) < 0) return -1; #ifdef DEBUG PRINT_KEY(s, "read packet", klv.key); @@ -344,22 +344,22 @@ static int mxf_read_packet(AVFormatContext *s, AVPacket *pkt) int index = mxf_get_stream_index(s, &klv); if (index < 0) { av_log(s, AV_LOG_ERROR, "error getting stream index\n"); - url_fskip(&s->pb, klv.length); + url_fskip(s->pb, klv.length); return -1; } /* check for 8 channels AES3 element */ if (klv.key[12] == 0x06 && klv.key[13] == 0x01 && klv.key[14] == 0x10) { - if (mxf_get_d10_aes3_packet(&s->pb, s->streams[index], pkt, klv.length) < 0) { + if (mxf_get_d10_aes3_packet(s->pb, s->streams[index], pkt, klv.length) < 0) { av_log(s, AV_LOG_ERROR, "error reading D-10 aes3 frame\n"); return -1; } } else - av_get_packet(&s->pb, pkt, klv.length); + av_get_packet(s->pb, pkt, klv.length); pkt->stream_index = index; pkt->pos = klv.offset; return 0; } else - url_fskip(&s->pb, klv.length); + url_fskip(s->pb, klv.length); } return AVERROR(EIO); } @@ -897,7 +897,7 @@ static const MXFMetadataReadTableEntry mxf_metadata_read_table[] = { static int mxf_read_local_tags(MXFContext *mxf, KLVPacket *klv, int (*read_child)(), int ctx_size, enum MXFMetadataSetType type) { - ByteIOContext *pb = &mxf->fc->pb; + ByteIOContext *pb = mxf->fc->pb; MXFMetadataSet *ctx = ctx_size ? av_mallocz(ctx_size) : mxf; uint64_t klv_end= url_ftell(pb) + klv->length; @@ -926,16 +926,16 @@ static int mxf_read_header(AVFormatContext *s, AVFormatParameters *ap) MXFContext *mxf = s->priv_data; KLVPacket klv; - if (!mxf_read_sync(&s->pb, mxf_header_partition_pack_key, 14)) { + if (!mxf_read_sync(s->pb, mxf_header_partition_pack_key, 14)) { av_log(s, AV_LOG_ERROR, "could not find header partition pack key\n"); return -1; } - url_fseek(&s->pb, -14, SEEK_CUR); + url_fseek(s->pb, -14, SEEK_CUR); mxf->fc = s; - while (!url_feof(&s->pb)) { + while (!url_feof(s->pb)) { const MXFMetadataReadTableEntry *metadata; - if (klv_read_packet(&klv, &s->pb) < 0) + if (klv_read_packet(&klv, s->pb) < 0) return -1; #ifdef DEBUG PRINT_KEY(s, "read header", klv.key); @@ -943,7 +943,7 @@ static int mxf_read_header(AVFormatContext *s, AVFormatParameters *ap) if (IS_KLV_KEY(klv.key, mxf_encrypted_triplet_key) || IS_KLV_KEY(klv.key, mxf_essence_element_key)) { /* FIXME avoid seek */ - url_fseek(&s->pb, klv.offset, SEEK_SET); + url_fseek(s->pb, klv.offset, SEEK_SET); break; } @@ -957,7 +957,7 @@ static int mxf_read_header(AVFormatContext *s, AVFormatParameters *ap) } } if (!metadata->read) - url_fskip(&s->pb, klv.length); + url_fskip(s->pb, klv.length); } return mxf_parse_structural_metadata(mxf); } @@ -1018,7 +1018,7 @@ static int mxf_read_seek(AVFormatContext *s, int stream_index, int64_t sample_ti if (sample_time < 0) sample_time = 0; seconds = av_rescale(sample_time, st->time_base.num, st->time_base.den); - url_fseek(&s->pb, (s->bit_rate * seconds) >> 3, SEEK_SET); + url_fseek(s->pb, (s->bit_rate * seconds) >> 3, SEEK_SET); av_update_cur_dts(s, st, sample_time); return 0; } diff --git a/libavformat/nsvdec.c b/libavformat/nsvdec.c index 30b3f5fa42..a115fe5710 100644 --- a/libavformat/nsvdec.c +++ b/libavformat/nsvdec.c @@ -228,7 +228,7 @@ static void print_tag(const char *str, unsigned int tag, int size) static int nsv_resync(AVFormatContext *s) { NSVContext *nsv = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; uint32_t v = 0; int i; @@ -275,7 +275,7 @@ static int nsv_resync(AVFormatContext *s) static int nsv_parse_NSVf_header(AVFormatContext *s, AVFormatParameters *ap) { NSVContext *nsv = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; unsigned int file_size, size; int64_t duration; int strings_size; @@ -394,7 +394,7 @@ static int nsv_parse_NSVf_header(AVFormatContext *s, AVFormatParameters *ap) static int nsv_parse_NSVs_header(AVFormatContext *s, AVFormatParameters *ap) { NSVContext *nsv = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; uint32_t vtag, atag; uint16_t vwidth, vheight; AVRational framerate; @@ -533,7 +533,7 @@ static int nsv_read_header(AVFormatContext *s, AVFormatParameters *ap) static int nsv_read_chunk(AVFormatContext *s, int fill_header) { NSVContext *nsv = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVStream *st[2] = {NULL, NULL}; NSVStream *nst; AVPacket *pkt; diff --git a/libavformat/nutdec.c b/libavformat/nutdec.c index 233d867a7b..c4cdb14dd3 100644 --- a/libavformat/nutdec.c +++ b/libavformat/nutdec.c @@ -181,7 +181,7 @@ static int skip_reserved(ByteIOContext *bc, int64_t pos){ static int decode_main_header(NUTContext *nut){ AVFormatContext *s= nut->avf; - ByteIOContext *bc = &s->pb; + ByteIOContext *bc = s->pb; uint64_t tmp, end; unsigned int stream_count; int i, j, tmp_stream, tmp_mul, tmp_pts, tmp_size, count, tmp_res; @@ -268,7 +268,7 @@ static int decode_main_header(NUTContext *nut){ static int decode_stream_header(NUTContext *nut){ AVFormatContext *s= nut->avf; - ByteIOContext *bc = &s->pb; + ByteIOContext *bc = s->pb; StreamContext *stc; int class, stream_id; uint64_t tmp, end; @@ -354,7 +354,7 @@ static int decode_stream_header(NUTContext *nut){ static int decode_info_header(NUTContext *nut){ AVFormatContext *s= nut->avf; - ByteIOContext *bc = &s->pb; + ByteIOContext *bc = s->pb; uint64_t tmp; unsigned int stream_id_plus1, chapter_start, chapter_len, count; int chapter_id, i; @@ -412,7 +412,7 @@ static int decode_info_header(NUTContext *nut){ static int decode_syncpoint(NUTContext *nut, int64_t *ts, int64_t *back_ptr){ AVFormatContext *s= nut->avf; - ByteIOContext *bc = &s->pb; + ByteIOContext *bc = s->pb; int64_t end, tmp; nut->last_syncpoint_pos= url_ftell(bc)-8; @@ -440,7 +440,7 @@ static int decode_syncpoint(NUTContext *nut, int64_t *ts, int64_t *back_ptr){ static int find_and_decode_index(NUTContext *nut){ AVFormatContext *s= nut->avf; - ByteIOContext *bc = &s->pb; + ByteIOContext *bc = s->pb; uint64_t tmp, end; int i, j, syncpoint_count; int64_t filesize= url_fsize(bc); @@ -531,7 +531,7 @@ static int find_and_decode_index(NUTContext *nut){ static int nut_read_header(AVFormatContext *s, AVFormatParameters *ap) { NUTContext *nut = s->priv_data; - ByteIOContext *bc = &s->pb; + ByteIOContext *bc = s->pb; int64_t pos; int inited_stream_count; @@ -592,7 +592,7 @@ static int nut_read_header(AVFormatContext *s, AVFormatParameters *ap) static int decode_frame_header(NUTContext *nut, int64_t *pts, int *stream_id, int frame_code){ AVFormatContext *s= nut->avf; - ByteIOContext *bc = &s->pb; + ByteIOContext *bc = s->pb; StreamContext *stc; int size, flags, size_mul, pts_delta, i, reserved_count; uint64_t tmp; @@ -648,7 +648,7 @@ static int decode_frame_header(NUTContext *nut, int64_t *pts, int *stream_id, in static int decode_frame(NUTContext *nut, AVPacket *pkt, int frame_code){ AVFormatContext *s= nut->avf; - ByteIOContext *bc = &s->pb; + ByteIOContext *bc = s->pb; int size, stream_id, discard; int64_t pts, last_IP_pts; StreamContext *stc; @@ -684,7 +684,7 @@ static int decode_frame(NUTContext *nut, AVPacket *pkt, int frame_code){ static int nut_read_packet(AVFormatContext *s, AVPacket *pkt) { NUTContext *nut = s->priv_data; - ByteIOContext *bc = &s->pb; + ByteIOContext *bc = s->pb; int i, frame_code=0, ret, skip; int64_t ts, back_ptr; @@ -740,7 +740,7 @@ av_log(s, AV_LOG_DEBUG, "sync\n"); static int64_t nut_read_timestamp(AVFormatContext *s, int stream_index, int64_t *pos_arg, int64_t pos_limit){ NUTContext *nut = s->priv_data; - ByteIOContext *bc = &s->pb; + ByteIOContext *bc = s->pb; int64_t pos, pts, back_ptr; av_log(s, AV_LOG_DEBUG, "read_timestamp(X,%d,%"PRId64",%"PRId64")\n", stream_index, *pos_arg, pos_limit); @@ -803,8 +803,8 @@ static int read_seek(AVFormatContext *s, int stream_index, int64_t pts, int flag pos2= sp->back_ptr - 15; } av_log(NULL, AV_LOG_DEBUG, "SEEKTO: %"PRId64"\n", pos2); - pos= find_startcode(&s->pb, SYNCPOINT_STARTCODE, pos2); - url_fseek(&s->pb, pos, SEEK_SET); + pos= find_startcode(s->pb, SYNCPOINT_STARTCODE, pos2); + url_fseek(s->pb, pos, SEEK_SET); av_log(NULL, AV_LOG_DEBUG, "SP: %"PRId64"\n", pos); if(pos2 > pos || pos2 + 15 < pos){ av_log(NULL, AV_LOG_ERROR, "no syncpoint at backptr pos\n"); diff --git a/libavformat/nutenc.c b/libavformat/nutenc.c index f0ae12a2f8..a6be630767 100644 --- a/libavformat/nutenc.c +++ b/libavformat/nutenc.c @@ -324,19 +324,20 @@ static int add_info(ByteIOContext *bc, char *type, char *value){ return 1; } -static void write_globalinfo(NUTContext *nut, ByteIOContext *bc){ +static int write_globalinfo(NUTContext *nut, ByteIOContext *bc){ AVFormatContext *s= nut->avf; - ByteIOContext dyn_bc; + ByteIOContext *dyn_bc; uint8_t *dyn_buf=NULL; int count=0, dyn_size; + int ret = url_open_dyn_buf(&dyn_bc); + if(ret < 0) + return ret; - url_open_dyn_buf(&dyn_bc); - - if(s->title [0]) count+= add_info(&dyn_bc, "Title" , s->title); - if(s->author [0]) count+= add_info(&dyn_bc, "Author" , s->author); - if(s->copyright[0]) count+= add_info(&dyn_bc, "Copyright", s->copyright); + if(s->title [0]) count+= add_info(dyn_bc, "Title" , s->title); + if(s->author [0]) count+= add_info(dyn_bc, "Author" , s->author); + if(s->copyright[0]) count+= add_info(dyn_bc, "Copyright", s->copyright); if(!(s->streams[0]->codec->flags & CODEC_FLAG_BITEXACT)) - count+= add_info(&dyn_bc, "Encoder" , LIBAVFORMAT_IDENT); + count+= add_info(dyn_bc, "Encoder" , LIBAVFORMAT_IDENT); put_v(bc, 0); //stream_if_plus1 put_v(bc, 0); //chapter_id @@ -345,38 +346,46 @@ static void write_globalinfo(NUTContext *nut, ByteIOContext *bc){ put_v(bc, count); - dyn_size= url_close_dyn_buf(&dyn_bc, &dyn_buf); + dyn_size= url_close_dyn_buf(dyn_bc, &dyn_buf); put_buffer(bc, dyn_buf, dyn_size); av_free(dyn_buf); + return 0; } -static void write_headers(NUTContext *nut, ByteIOContext *bc){ - ByteIOContext dyn_bc; - int i; +static int write_headers(NUTContext *nut, ByteIOContext *bc){ + ByteIOContext *dyn_bc; + int i, ret; - url_open_dyn_buf(&dyn_bc); - write_mainheader(nut, &dyn_bc); - put_packet(nut, bc, &dyn_bc, 1, MAIN_STARTCODE); + ret = url_open_dyn_buf(&dyn_bc); + if(ret < 0) + return ret; + write_mainheader(nut, dyn_bc); + put_packet(nut, bc, dyn_bc, 1, MAIN_STARTCODE); for (i=0; i < nut->avf->nb_streams; i++){ AVCodecContext *codec = nut->avf->streams[i]->codec; - url_open_dyn_buf(&dyn_bc); - write_streamheader(nut, &dyn_bc, codec, i); - put_packet(nut, bc, &dyn_bc, 1, STREAM_STARTCODE); + ret = url_open_dyn_buf(&dyn_bc); + if(ret < 0) + return ret; + write_streamheader(nut, dyn_bc, codec, i); + put_packet(nut, bc, dyn_bc, 1, STREAM_STARTCODE); } - url_open_dyn_buf(&dyn_bc); - write_globalinfo(nut, &dyn_bc); - put_packet(nut, bc, &dyn_bc, 1, INFO_STARTCODE); + ret = url_open_dyn_buf(&dyn_bc); + if(ret < 0) + return ret; + write_globalinfo(nut, dyn_bc); + put_packet(nut, bc, dyn_bc, 1, INFO_STARTCODE); nut->last_syncpoint_pos= INT_MIN; nut->header_count++; + return 0; } static int write_header(AVFormatContext *s){ NUTContext *nut = s->priv_data; - ByteIOContext *bc = &s->pb; + ByteIOContext *bc = s->pb; int i, j; nut->avf= s; @@ -441,12 +450,13 @@ static int get_needed_flags(NUTContext *nut, StreamContext *nus, FrameCode *fc, static int write_packet(AVFormatContext *s, AVPacket *pkt){ NUTContext *nut = s->priv_data; StreamContext *nus= &nut->stream[pkt->stream_index]; - ByteIOContext *bc = &s->pb, dyn_bc; + ByteIOContext *bc = s->pb, *dyn_bc; FrameCode *fc; int64_t coded_pts; int best_length, frame_code, flags, needed_flags, i; int key_frame = !!(pkt->flags & PKT_FLAG_KEY); int store_sp=0; + int ret; if(1LL<<(20+3*nut->header_count) <= url_ftell(bc)) write_headers(nut, bc); @@ -472,10 +482,12 @@ static int write_packet(AVFormatContext *s, AVPacket *pkt){ sp= av_tree_find(nut->syncpoints, &dummy, ff_nut_sp_pos_cmp, NULL); nut->last_syncpoint_pos= url_ftell(bc); - url_open_dyn_buf(&dyn_bc); - put_t(nut, nus, &dyn_bc, pkt->dts); - put_v(&dyn_bc, sp ? (nut->last_syncpoint_pos - sp->pos)>>4 : 0); - put_packet(nut, bc, &dyn_bc, 1, SYNCPOINT_STARTCODE); + ret = url_open_dyn_buf(&dyn_bc); + if(ret < 0) + return ret; + put_t(nut, nus, dyn_bc, pkt->dts); + put_v(dyn_bc, sp ? (nut->last_syncpoint_pos - sp->pos)>>4 : 0); + put_packet(nut, bc, dyn_bc, 1, SYNCPOINT_STARTCODE); ff_nut_add_sp(nut, nut->last_syncpoint_pos, 0/*unused*/, pkt->dts); } @@ -566,7 +578,7 @@ static int write_packet(AVFormatContext *s, AVPacket *pkt){ static int write_trailer(AVFormatContext *s){ NUTContext *nut= s->priv_data; - ByteIOContext *bc= &s->pb; + ByteIOContext *bc= s->pb; while(nut->header_count<3) write_headers(nut, bc); diff --git a/libavformat/nuv.c b/libavformat/nuv.c index fe637de6b2..f56d116ff1 100644 --- a/libavformat/nuv.c +++ b/libavformat/nuv.c @@ -120,7 +120,7 @@ static int get_codec_data(ByteIOContext *pb, AVStream *vst, static int nuv_header(AVFormatContext *s, AVFormatParameters *ap) { NUVContext *ctx = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; char id_string[12], version_string[5]; double aspect, fps; int is_mythtv, width, height, v_packs, a_packs; @@ -183,7 +183,7 @@ static int nuv_header(AVFormatContext *s, AVFormatParameters *ap) { static int nuv_packet(AVFormatContext *s, AVPacket *pkt) { NUVContext *ctx = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; uint8_t hdr[HDRSIZE]; frametype_t frametype; int ret, size; diff --git a/libavformat/oggdec.c b/libavformat/oggdec.c index 211208dd25..69279339f4 100644 --- a/libavformat/oggdec.c +++ b/libavformat/oggdec.c @@ -56,7 +56,7 @@ ogg_save (AVFormatContext * s) ogg_state_t *ost = av_malloc(sizeof (*ost) + (ogg->nstreams-1) * sizeof (*ogg->streams)); int i; - ost->pos = url_ftell (&s->pb);; + ost->pos = url_ftell (s->pb); ost->curidx = ogg->curidx; ost->next = ogg->state; ost->nstreams = ogg->nstreams; @@ -78,7 +78,7 @@ static int ogg_restore (AVFormatContext * s, int discard) { ogg_t *ogg = s->priv_data; - ByteIOContext *bc = &s->pb; + ByteIOContext *bc = s->pb; ogg_state_t *ost = ogg->state; int i; @@ -196,7 +196,7 @@ ogg_new_buf(ogg_t *ogg, int idx) static int ogg_read_page (AVFormatContext * s, int *str) { - ByteIOContext *bc = &s->pb; + ByteIOContext *bc = s->pb; ogg_t *ogg = s->priv_data; ogg_stream_t *os; int i = 0; @@ -438,20 +438,20 @@ ogg_get_length (AVFormatContext * s) int idx = -1, i; offset_t size, end; - if(s->pb.is_streamed) + if(s->pb->is_streamed) return 0; // already set if (s->duration != AV_NOPTS_VALUE) return 0; - size = url_fsize(&s->pb); + size = url_fsize(s->pb); if(size < 0) return 0; end = size > MAX_PAGE_SIZE? size - MAX_PAGE_SIZE: size; ogg_save (s); - url_fseek (&s->pb, end, SEEK_SET); + url_fseek (s->pb, end, SEEK_SET); while (!ogg_read_page (s, &i)){ if (ogg->streams[i].granule != -1 && ogg->streams[i].granule != 0 && @@ -552,7 +552,7 @@ ogg_read_timestamp (AVFormatContext * s, int stream_index, int64_t * pos_arg, int64_t pos_limit) { ogg_t *ogg = s->priv_data; - ByteIOContext *bc = &s->pb; + ByteIOContext *bc = s->pb; int64_t pts = AV_NOPTS_VALUE; int i; url_fseek(bc, *pos_arg, SEEK_SET); diff --git a/libavformat/oggenc.c b/libavformat/oggenc.c index 06c978ece2..1c85073572 100644 --- a/libavformat/oggenc.c +++ b/libavformat/oggenc.c @@ -37,11 +37,11 @@ typedef struct { static void ogg_update_checksum(AVFormatContext *s, offset_t crc_offset) { - offset_t pos = url_ftell(&s->pb); - uint32_t checksum = get_checksum(&s->pb); - url_fseek(&s->pb, crc_offset, SEEK_SET); - put_be32(&s->pb, checksum); - url_fseek(&s->pb, pos, SEEK_SET); + offset_t pos = url_ftell(s->pb); + uint32_t checksum = get_checksum(s->pb); + url_fseek(s->pb, crc_offset, SEEK_SET); + put_be32(s->pb, checksum); + url_fseek(s->pb, pos, SEEK_SET); } static int ogg_write_page(AVFormatContext *s, const uint8_t *data, int size, @@ -54,24 +54,24 @@ static int ogg_write_page(AVFormatContext *s, const uint8_t *data, int size, size = FFMIN(size, 255*255); page_segments = FFMIN((size/255)+!!size, 255); - init_checksum(&s->pb, ff_crc04C11DB7_update, 0); - put_tag(&s->pb, "OggS"); - put_byte(&s->pb, 0); - put_byte(&s->pb, flags); - put_le64(&s->pb, granule); - put_le32(&s->pb, stream_index); - put_le32(&s->pb, oggstream->page_counter++); - crc_offset = url_ftell(&s->pb); - put_le32(&s->pb, 0); // crc - put_byte(&s->pb, page_segments); + init_checksum(s->pb, ff_crc04C11DB7_update, 0); + put_tag(s->pb, "OggS"); + put_byte(s->pb, 0); + put_byte(s->pb, flags); + put_le64(s->pb, granule); + put_le32(s->pb, stream_index); + put_le32(s->pb, oggstream->page_counter++); + crc_offset = url_ftell(s->pb); + put_le32(s->pb, 0); // crc + put_byte(s->pb, page_segments); for (i = 0; i < page_segments-1; i++) - put_byte(&s->pb, 255); + put_byte(s->pb, 255); if (size) { - put_byte(&s->pb, size - (page_segments-1)*255); - put_buffer(&s->pb, data, size); + put_byte(s->pb, size - (page_segments-1)*255); + put_buffer(s->pb, data, size); } ogg_update_checksum(s, crc_offset); - put_flush_packet(&s->pb); + put_flush_packet(s->pb); return size; } diff --git a/libavformat/psxstr.c b/libavformat/psxstr.c index 654155622d..3d4cac7f82 100644 --- a/libavformat/psxstr.c +++ b/libavformat/psxstr.c @@ -125,7 +125,7 @@ static void dump(unsigned char *buf,size_t len) static int str_read_header(AVFormatContext *s, AVFormatParameters *ap) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; StrDemuxContext *str = s->priv_data; AVStream *st; unsigned char sector[RAW_CD_SECTOR_SIZE]; @@ -249,7 +249,7 @@ if (str->audio_channel != -1) static int str_read_packet(AVFormatContext *s, AVPacket *ret_pkt) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; StrDemuxContext *str = s->priv_data; unsigned char sector[RAW_CD_SECTOR_SIZE]; int channel; diff --git a/libavformat/raw.c b/libavformat/raw.c index bd9380315c..08e75c5f59 100644 --- a/libavformat/raw.c +++ b/libavformat/raw.c @@ -33,8 +33,8 @@ static int flac_write_header(struct AVFormatContext *s) uint8_t *streaminfo = s->streams[0]->codec->extradata; int len = s->streams[0]->codec->extradata_size; if(streaminfo != NULL && len > 0) { - put_buffer(&s->pb, header, 8); - put_buffer(&s->pb, streaminfo, len); + put_buffer(s->pb, header, 8); + put_buffer(s->pb, streaminfo, len); } return 0; } @@ -46,16 +46,16 @@ static int roq_write_header(struct AVFormatContext *s) 0x84, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x1E, 0x00 }; - put_buffer(&s->pb, header, 8); - put_flush_packet(&s->pb); + put_buffer(s->pb, header, 8); + put_flush_packet(s->pb); return 0; } static int raw_write_packet(struct AVFormatContext *s, AVPacket *pkt) { - put_buffer(&s->pb, pkt->data, pkt->size); - put_flush_packet(&s->pb); + put_buffer(s->pb, pkt->data, pkt->size); + put_flush_packet(s->pb); return 0; } #endif //CONFIG_MUXERS @@ -107,7 +107,7 @@ static int raw_read_packet(AVFormatContext *s, AVPacket *pkt) size= RAW_PACKET_SIZE; - ret= av_get_packet(&s->pb, pkt, size); + ret= av_get_packet(s->pb, pkt, size); pkt->stream_index = 0; if (ret <= 0) { @@ -128,9 +128,9 @@ static int raw_read_partial_packet(AVFormatContext *s, AVPacket *pkt) if (av_new_packet(pkt, size) < 0) return AVERROR(EIO); - pkt->pos= url_ftell(&s->pb); + pkt->pos= url_ftell(s->pb); pkt->stream_index = 0; - ret = get_partial_buffer(&s->pb, pkt->data, size); + ret = get_partial_buffer(s->pb, pkt->data, size); if (ret <= 0) { av_free_packet(pkt); return AVERROR(EIO); @@ -144,19 +144,19 @@ static int ingenient_read_packet(AVFormatContext *s, AVPacket *pkt) { int ret, size, w, h, unk1, unk2; - if (get_le32(&s->pb) != MKTAG('M', 'J', 'P', 'G')) + if (get_le32(s->pb) != MKTAG('M', 'J', 'P', 'G')) return AVERROR(EIO); // FIXME - size = get_le32(&s->pb); + size = get_le32(s->pb); - w = get_le16(&s->pb); - h = get_le16(&s->pb); + w = get_le16(s->pb); + h = get_le16(s->pb); - url_fskip(&s->pb, 8); // zero + size (padded?) - url_fskip(&s->pb, 2); - unk1 = get_le16(&s->pb); - unk2 = get_le16(&s->pb); - url_fskip(&s->pb, 22); // ascii timestamp + url_fskip(s->pb, 8); // zero + size (padded?) + url_fskip(s->pb, 2); + unk1 = get_le16(s->pb); + unk2 = get_le16(s->pb); + url_fskip(s->pb, 22); // ascii timestamp av_log(NULL, AV_LOG_DEBUG, "Ingenient packet: size=%d, width=%d, height=%d, unk1=%d unk2=%d\n", size, w, h, unk1, unk2); @@ -164,9 +164,9 @@ static int ingenient_read_packet(AVFormatContext *s, AVPacket *pkt) if (av_new_packet(pkt, size) < 0) return AVERROR(EIO); - pkt->pos = url_ftell(&s->pb); + pkt->pos = url_ftell(s->pb); pkt->stream_index = 0; - ret = get_buffer(&s->pb, pkt->data, size); + ret = get_buffer(s->pb, pkt->data, size); if (ret <= 0) { av_free_packet(pkt); return AVERROR(EIO); @@ -206,7 +206,7 @@ int pcm_read_seek(AVFormatContext *s, /* recompute exact position */ st->cur_dts = av_rescale(pos, st->time_base.den, byte_rate * (int64_t)st->time_base.num); - url_fseek(&s->pb, pos + s->data_offset, SEEK_SET); + url_fseek(s->pb, pos + s->data_offset, SEEK_SET); return 0; } @@ -843,7 +843,7 @@ static int rawvideo_read_packet(AVFormatContext *s, AVPacket *pkt) if (packet_size < 0) return -1; - ret= av_get_packet(&s->pb, pkt, packet_size); + ret= av_get_packet(s->pb, pkt, packet_size); pkt->stream_index = 0; if (ret != packet_size) { diff --git a/libavformat/rmdec.c b/libavformat/rmdec.c index 79623094d6..aa4297af69 100644 --- a/libavformat/rmdec.c +++ b/libavformat/rmdec.c @@ -50,7 +50,7 @@ static int rm_read_audio_stream_info(AVFormatContext *s, AVStream *st, int read_all) { RMContext *rm = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; char buf[256]; uint32_t version; int i; @@ -191,7 +191,7 @@ static int rm_read_audio_stream_info(AVFormatContext *s, AVStream *st, static int ff_rm_read_mdpr_codecdata (AVFormatContext *s, AVStream *st) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; unsigned int v; int codec_data_size, size; int64_t codec_pos; @@ -272,7 +272,7 @@ static int rm_read_header(AVFormatContext *s, AVFormatParameters *ap) { RMContext *rm = s->priv_data; AVStream *st; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; unsigned int tag; int tag_size, i; unsigned int start_time, duration; @@ -395,7 +395,7 @@ static int get_num(ByteIOContext *pb, int *len) static int sync(AVFormatContext *s, int64_t *timestamp, int *flags, int *stream_index, int64_t *pos){ RMContext *rm = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int len, num, res, i; AVStream *st; uint32_t state=0xFFFFFFFF; @@ -451,7 +451,7 @@ skip: static int rm_assemble_video_frame(AVFormatContext *s, RMContext *rm, AVPacket *pkt, int len) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int hdr, seq, pic_num, len2, pos; int type; @@ -550,7 +550,7 @@ static int ff_rm_parse_packet (AVFormatContext *s, AVStream *st, int len, AVPacket *pkt, int *seq, int *flags, int64_t *timestamp) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; RMContext *rm = s->priv_data; if (st->codec->codec_type == CODEC_TYPE_VIDEO) { @@ -647,7 +647,7 @@ ff_rm_parse_packet (AVFormatContext *s, AVStream *st, int len, AVPacket *pkt, static void ff_rm_retrieve_cache (AVFormatContext *s, AVStream *st, AVPacket *pkt) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; RMContext *rm = s->priv_data; assert (rm->audio_pkt_cnt > 0); @@ -668,7 +668,7 @@ ff_rm_retrieve_cache (AVFormatContext *s, AVStream *st, AVPacket *pkt) static int rm_read_packet(AVFormatContext *s, AVPacket *pkt) { RMContext *rm = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVStream *st; int i, len; int64_t timestamp, pos; @@ -759,7 +759,7 @@ static int64_t rm_read_dts(AVFormatContext *s, int stream_index, if(rm->old_format) return AV_NOPTS_VALUE; - url_fseek(&s->pb, pos, SEEK_SET); + url_fseek(s->pb, pos, SEEK_SET); rm->remaining_len=0; for(;;){ int seq=1; @@ -771,9 +771,9 @@ static int64_t rm_read_dts(AVFormatContext *s, int stream_index, st = s->streams[stream_index2]; if (st->codec->codec_type == CODEC_TYPE_VIDEO) { - h= get_byte(&s->pb); len--; + h= get_byte(s->pb); len--; if(!(h & 0x40)){ - seq = get_byte(&s->pb); len--; + seq = get_byte(s->pb); len--; } } @@ -784,7 +784,7 @@ static int64_t rm_read_dts(AVFormatContext *s, int stream_index, break; } - url_fskip(&s->pb, len); + url_fskip(s->pb, len); } *ppos = pos; return dts; diff --git a/libavformat/rmenc.c b/libavformat/rmenc.c index 74f944317c..57a4e757de 100644 --- a/libavformat/rmenc.c +++ b/libavformat/rmenc.c @@ -45,7 +45,7 @@ static void rv10_write_header(AVFormatContext *ctx, int data_size, int index_pos) { RMContext *rm = ctx->priv_data; - ByteIOContext *s = &ctx->pb; + ByteIOContext *s = ctx->pb; StreamInfo *stream; unsigned char *data_offset_ptr, *start_ptr; const char *desc, *mimetype; @@ -253,7 +253,7 @@ static void write_packet_header(AVFormatContext *ctx, StreamInfo *stream, int length, int key_frame) { int timestamp; - ByteIOContext *s = &ctx->pb; + ByteIOContext *s = ctx->pb; stream->nb_packets++; stream->packet_total_size += length; @@ -308,7 +308,7 @@ static int rm_write_header(AVFormatContext *s) } rv10_write_header(s, 0, 0); - put_flush_packet(&s->pb); + put_flush_packet(s->pb); return 0; } @@ -316,7 +316,7 @@ static int rm_write_audio(AVFormatContext *s, const uint8_t *buf, int size, int { uint8_t *buf1; RMContext *rm = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; StreamInfo *stream = rm->audio_stream; int i; @@ -340,7 +340,7 @@ static int rm_write_audio(AVFormatContext *s, const uint8_t *buf, int size, int static int rm_write_video(AVFormatContext *s, const uint8_t *buf, int size, int flags) { RMContext *rm = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; StreamInfo *stream = rm->video_stream; int key_frame = !!(flags & PKT_FLAG_KEY); @@ -390,9 +390,9 @@ static int rm_write_trailer(AVFormatContext *s) { RMContext *rm = s->priv_data; int data_size, index_pos, i; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; - if (!url_is_streamed(&s->pb)) { + if (!url_is_streamed(s->pb)) { /* end of file: finish to write header */ index_pos = url_fseek(pb, 0, SEEK_CUR); data_size = index_pos - rm->data_pos; diff --git a/libavformat/rtp.c b/libavformat/rtp.c index 27085793be..a9979520c2 100644 --- a/libavformat/rtp.c +++ b/libavformat/rtp.c @@ -360,7 +360,7 @@ static void rtcp_update_jitter(RTPStatistics *s, uint32_t sent_timestamp, uint32 int rtp_check_and_send_back_rr(RTPDemuxContext *s, int count) { - ByteIOContext pb; + ByteIOContext *pb; uint8_t *buf; int len; int rtcp_bytes; @@ -391,11 +391,11 @@ int rtp_check_and_send_back_rr(RTPDemuxContext *s, int count) return -1; // Receiver Report - put_byte(&pb, (RTP_VERSION << 6) + 1); /* 1 report block */ - put_byte(&pb, 201); - put_be16(&pb, 7); /* length in words - 1 */ - put_be32(&pb, s->ssrc); // our own SSRC - put_be32(&pb, s->ssrc); // XXX: should be the server's here! + put_byte(pb, (RTP_VERSION << 6) + 1); /* 1 report block */ + put_byte(pb, 201); + put_be16(pb, 7); /* length in words - 1 */ + put_be32(pb, s->ssrc); // our own SSRC + put_be32(pb, s->ssrc); // XXX: should be the server's here! // some placeholders we should really fill... // RFC 1889/p64 extended_max= stats->cycles + stats->max_seq; @@ -412,38 +412,38 @@ int rtp_check_and_send_back_rr(RTPDemuxContext *s, int count) fraction= (fraction<<24) | lost; - put_be32(&pb, fraction); /* 8 bits of fraction, 24 bits of total packets lost */ - put_be32(&pb, extended_max); /* max sequence received */ - put_be32(&pb, stats->jitter>>4); /* jitter */ + put_be32(pb, fraction); /* 8 bits of fraction, 24 bits of total packets lost */ + put_be32(pb, extended_max); /* max sequence received */ + put_be32(pb, stats->jitter>>4); /* jitter */ if(s->last_rtcp_ntp_time==AV_NOPTS_VALUE) { - put_be32(&pb, 0); /* last SR timestamp */ - put_be32(&pb, 0); /* delay since last SR */ + put_be32(pb, 0); /* last SR timestamp */ + put_be32(pb, 0); /* delay since last SR */ } else { uint32_t middle_32_bits= s->last_rtcp_ntp_time>>16; // this is valid, right? do we need to handle 64 bit values special? uint32_t delay_since_last= ntp_time - s->last_rtcp_ntp_time; - put_be32(&pb, middle_32_bits); /* last SR timestamp */ - put_be32(&pb, delay_since_last); /* delay since last SR */ + put_be32(pb, middle_32_bits); /* last SR timestamp */ + put_be32(pb, delay_since_last); /* delay since last SR */ } // CNAME - put_byte(&pb, (RTP_VERSION << 6) + 1); /* 1 report block */ - put_byte(&pb, 202); + put_byte(pb, (RTP_VERSION << 6) + 1); /* 1 report block */ + put_byte(pb, 202); len = strlen(s->hostname); - put_be16(&pb, (6 + len + 3) / 4); /* length in words - 1 */ - put_be32(&pb, s->ssrc); - put_byte(&pb, 0x01); - put_byte(&pb, len); - put_buffer(&pb, s->hostname, len); + put_be16(pb, (6 + len + 3) / 4); /* length in words - 1 */ + put_be32(pb, s->ssrc); + put_byte(pb, 0x01); + put_byte(pb, len); + put_buffer(pb, s->hostname, len); // padding for (len = (6 + len) % 4; len % 4; len++) { - put_byte(&pb, 0); + put_byte(pb, 0); } - put_flush_packet(&pb); - len = url_close_dyn_buf(&pb, &buf); + put_flush_packet(pb); + len = url_close_dyn_buf(pb, &buf); if ((len > 0) && buf) { int result; #if defined(DEBUG) @@ -775,7 +775,7 @@ static int rtp_write_header(AVFormatContext *s1) s->first_packet = 1; s->first_rtcp_ntp_time = AV_NOPTS_VALUE; - max_packet_size = url_fget_max_packet_size(&s1->pb); + max_packet_size = url_fget_max_packet_size(s1->pb); if (max_packet_size <= 12) return AVERROR(EIO); s->max_payload_size = max_packet_size - 12; @@ -838,16 +838,16 @@ static void rtcp_send_sr(AVFormatContext *s1, int64_t ntp_time) s->last_rtcp_ntp_time = ntp_time; rtp_ts = av_rescale_q(ntp_time - s->first_rtcp_ntp_time, AV_TIME_BASE_Q, s1->streams[0]->time_base) + s->base_timestamp; - put_byte(&s1->pb, (RTP_VERSION << 6)); - put_byte(&s1->pb, 200); - put_be16(&s1->pb, 6); /* length in words - 1 */ - put_be32(&s1->pb, s->ssrc); - put_be32(&s1->pb, ntp_time / 1000000); - put_be32(&s1->pb, ((ntp_time % 1000000) << 32) / 1000000); - put_be32(&s1->pb, rtp_ts); - put_be32(&s1->pb, s->packet_count); - put_be32(&s1->pb, s->octet_count); - put_flush_packet(&s1->pb); + put_byte(s1->pb, (RTP_VERSION << 6)); + put_byte(s1->pb, 200); + put_be16(s1->pb, 6); /* length in words - 1 */ + put_be32(s1->pb, s->ssrc); + put_be32(s1->pb, ntp_time / 1000000); + put_be32(s1->pb, ((ntp_time % 1000000) << 32) / 1000000); + put_be32(s1->pb, rtp_ts); + put_be32(s1->pb, s->packet_count); + put_be32(s1->pb, s->octet_count); + put_flush_packet(s1->pb); } /* send an rtp packet. sequence number is incremented, but the caller @@ -861,14 +861,14 @@ void ff_rtp_send_data(AVFormatContext *s1, const uint8_t *buf1, int len, int m) #endif /* build the RTP header */ - put_byte(&s1->pb, (RTP_VERSION << 6)); - put_byte(&s1->pb, (s->payload_type & 0x7f) | ((m & 0x01) << 7)); - put_be16(&s1->pb, s->seq); - put_be32(&s1->pb, s->timestamp); - put_be32(&s1->pb, s->ssrc); - - put_buffer(&s1->pb, buf1, len); - put_flush_packet(&s1->pb); + put_byte(s1->pb, (RTP_VERSION << 6)); + put_byte(s1->pb, (s->payload_type & 0x7f) | ((m & 0x01) << 7)); + put_be16(s1->pb, s->seq); + put_be32(s1->pb, s->timestamp); + put_be32(s1->pb, s->ssrc); + + put_buffer(s1->pb, buf1, len); + put_flush_packet(s1->pb); s->seq++; s->octet_count += len; diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index c494ebd3d8..d71479c358 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -1351,7 +1351,7 @@ static int sdp_read_header(AVFormatContext *s, /* read the whole sdp file */ /* XXX: better loading */ content = av_malloc(SDP_MAX_SIZE); - size = get_buffer(&s->pb, content, SDP_MAX_SIZE - 1); + size = get_buffer(s->pb, content, SDP_MAX_SIZE - 1); if (size <= 0) { av_free(content); return AVERROR_INVALIDDATA; diff --git a/libavformat/segafilm.c b/libavformat/segafilm.c index a06db71360..3cea07fef9 100644 --- a/libavformat/segafilm.c +++ b/libavformat/segafilm.c @@ -76,7 +76,7 @@ static int film_read_header(AVFormatContext *s, AVFormatParameters *ap) { FilmDemuxContext *film = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVStream *st; unsigned char scratch[256]; int i; @@ -204,7 +204,7 @@ static int film_read_packet(AVFormatContext *s, AVPacket *pkt) { FilmDemuxContext *film = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; film_sample_t *sample; int ret = 0; int i; diff --git a/libavformat/sierravmd.c b/libavformat/sierravmd.c index 1f8e434a21..0f5063471c 100644 --- a/libavformat/sierravmd.c +++ b/libavformat/sierravmd.c @@ -72,7 +72,7 @@ static int vmd_read_header(AVFormatContext *s, AVFormatParameters *ap) { VmdDemuxContext *vmd = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVStream *st, *vst; unsigned int toc_offset; unsigned char *raw_frame_table; @@ -245,7 +245,7 @@ static int vmd_read_packet(AVFormatContext *s, AVPacket *pkt) { VmdDemuxContext *vmd = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int ret = 0; vmd_frame_t *frame; diff --git a/libavformat/siff.c b/libavformat/siff.c index 7adccb2eba..00b4eaa9dd 100644 --- a/libavformat/siff.c +++ b/libavformat/siff.c @@ -153,7 +153,7 @@ static int siff_parse_soun(AVFormatContext *s, SIFFContext *c, ByteIOContext *pb static int siff_read_header(AVFormatContext *s, AVFormatParameters *ap) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; SIFFContext *c = s->priv_data; uint32_t tag; @@ -189,12 +189,12 @@ static int siff_read_packet(AVFormatContext *s, AVPacket *pkt) if (c->cur_frame >= c->frames) return AVERROR(EIO); if (c->curstrm == -1){ - c->pktsize = get_le32(&s->pb) - 4; - c->flags = get_le16(&s->pb); + c->pktsize = get_le32(s->pb) - 4; + c->flags = get_le16(s->pb); c->gmcsize = (c->flags & VB_HAS_GMC) ? 4 : 0; if (c->gmcsize) - get_buffer(&s->pb, c->gmc, c->gmcsize); - c->sndsize = (c->flags & VB_HAS_AUDIO) ? get_le32(&s->pb): 0; + get_buffer(s->pb, c->gmc, c->gmcsize); + c->sndsize = (c->flags & VB_HAS_AUDIO) ? get_le32(s->pb): 0; c->curstrm = !!(c->flags & VB_HAS_AUDIO); } @@ -205,11 +205,11 @@ static int siff_read_packet(AVFormatContext *s, AVPacket *pkt) AV_WL16(pkt->data, c->flags); if (c->gmcsize) memcpy(pkt->data + 2, c->gmc, c->gmcsize); - get_buffer(&s->pb, pkt->data + 2 + c->gmcsize, size - c->gmcsize - 2); + get_buffer(s->pb, pkt->data + 2 + c->gmcsize, size - c->gmcsize - 2); pkt->stream_index = 0; c->curstrm = -1; }else{ - if (av_get_packet(&s->pb, pkt, c->sndsize - 4) < 0) + if (av_get_packet(s->pb, pkt, c->sndsize - 4) < 0) return AVERROR(EIO); pkt->stream_index = 1; c->curstrm = 0; @@ -219,7 +219,7 @@ static int siff_read_packet(AVFormatContext *s, AVPacket *pkt) if (c->curstrm == -1) c->cur_frame++; }else{ - size = av_get_packet(&s->pb, pkt, c->block_align); + size = av_get_packet(s->pb, pkt, c->block_align); if(size <= 0) return AVERROR(EIO); } diff --git a/libavformat/smacker.c b/libavformat/smacker.c index 655e7fb69f..562a416164 100644 --- a/libavformat/smacker.c +++ b/libavformat/smacker.c @@ -98,7 +98,7 @@ static int smacker_probe(AVProbeData *p) static int smacker_read_header(AVFormatContext *s, AVFormatParameters *ap) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; SmackerContext *smk = s->priv_data; AVStream *st, *ast[7]; int i, ret; @@ -226,35 +226,35 @@ static int smacker_read_packet(AVFormatContext *s, AVPacket *pkt) int palchange = 0; int pos; - if (url_feof(&s->pb) || smk->cur_frame >= smk->frames) + if (url_feof(s->pb) || smk->cur_frame >= smk->frames) return AVERROR(EIO); /* if we demuxed all streams, pass another frame */ if(smk->curstream < 0) { - url_fseek(&s->pb, smk->nextpos, 0); + url_fseek(s->pb, smk->nextpos, 0); frame_size = smk->frm_size[smk->cur_frame] & (~3); flags = smk->frm_flags[smk->cur_frame]; /* handle palette change event */ - pos = url_ftell(&s->pb); + pos = url_ftell(s->pb); if(flags & SMACKER_PAL){ int size, sz, t, off, j, pos; uint8_t *pal = smk->pal; uint8_t oldpal[768]; memcpy(oldpal, pal, 768); - size = get_byte(&s->pb); + size = get_byte(s->pb); size = size * 4 - 1; frame_size -= size; frame_size--; sz = 0; - pos = url_ftell(&s->pb) + size; + pos = url_ftell(s->pb) + size; while(sz < 256){ - t = get_byte(&s->pb); + t = get_byte(s->pb); if(t & 0x80){ /* skip palette entries */ sz += (t & 0x7F) + 1; pal += ((t & 0x7F) + 1) * 3; } else if(t & 0x40){ /* copy with offset */ - off = get_byte(&s->pb) * 3; + off = get_byte(s->pb) * 3; j = (t & 0x3F) + 1; while(j-- && sz < 256) { *pal++ = oldpal[off + 0]; @@ -265,12 +265,12 @@ static int smacker_read_packet(AVFormatContext *s, AVPacket *pkt) } } else { /* new entries */ *pal++ = smk_pal[t]; - *pal++ = smk_pal[get_byte(&s->pb) & 0x3F]; - *pal++ = smk_pal[get_byte(&s->pb) & 0x3F]; + *pal++ = smk_pal[get_byte(s->pb) & 0x3F]; + *pal++ = smk_pal[get_byte(s->pb) & 0x3F]; sz++; } } - url_fseek(&s->pb, pos, 0); + url_fseek(s->pb, pos, 0); palchange |= 1; } flags >>= 1; @@ -279,13 +279,13 @@ static int smacker_read_packet(AVFormatContext *s, AVPacket *pkt) for(i = 0; i < 7; i++) { if(flags & 1) { int size; - size = get_le32(&s->pb) - 4; + size = get_le32(s->pb) - 4; frame_size -= size; frame_size -= 4; smk->curstream++; smk->bufs[smk->curstream] = av_realloc(smk->bufs[smk->curstream], size); smk->buf_sizes[smk->curstream] = size; - ret = get_buffer(&s->pb, smk->bufs[smk->curstream], size); + ret = get_buffer(s->pb, smk->bufs[smk->curstream], size); if(ret != size) return AVERROR(EIO); smk->stream_id[smk->curstream] = smk->indexes[i]; @@ -298,13 +298,13 @@ static int smacker_read_packet(AVFormatContext *s, AVPacket *pkt) palchange |= 2; pkt->data[0] = palchange; memcpy(pkt->data + 1, smk->pal, 768); - ret = get_buffer(&s->pb, pkt->data + 769, frame_size); + ret = get_buffer(s->pb, pkt->data + 769, frame_size); if(ret != frame_size) return AVERROR(EIO); pkt->stream_index = smk->videoindex; pkt->size = ret + 769; smk->cur_frame++; - smk->nextpos = url_ftell(&s->pb); + smk->nextpos = url_ftell(s->pb); } else { if (av_new_packet(pkt, smk->buf_sizes[smk->curstream])) return AVERROR(ENOMEM); diff --git a/libavformat/sol.c b/libavformat/sol.c index 3d2456d663..97ebfdb5eb 100644 --- a/libavformat/sol.c +++ b/libavformat/sol.c @@ -88,7 +88,7 @@ static int sol_read_header(AVFormatContext *s, { int size; unsigned int magic,tag; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; unsigned int id, codec, channels, rate, type; AVStream *st; @@ -130,9 +130,9 @@ static int sol_read_packet(AVFormatContext *s, { int ret; - if (url_feof(&s->pb)) + if (url_feof(s->pb)) return AVERROR(EIO); - ret= av_get_packet(&s->pb, pkt, MAX_SIZE); + ret= av_get_packet(s->pb, pkt, MAX_SIZE); pkt->stream_index = 0; /* note: we need to modify the packet size here to handle the last diff --git a/libavformat/swf.c b/libavformat/swf.c index 1916d4a74c..56ba34f423 100644 --- a/libavformat/swf.c +++ b/libavformat/swf.c @@ -96,7 +96,7 @@ static const AVCodecTag swf_audio_codec_tags[] = { static void put_swf_tag(AVFormatContext *s, int tag) { SWFContext *swf = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; swf->tag_pos = url_ftell(pb); swf->tag = tag; @@ -112,7 +112,7 @@ static void put_swf_tag(AVFormatContext *s, int tag) static void put_swf_end_tag(AVFormatContext *s) { SWFContext *swf = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; offset_t pos; int tag_len, tag; @@ -244,7 +244,7 @@ static void put_swf_matrix(ByteIOContext *pb, static int swf_write_header(AVFormatContext *s) { SWFContext *swf = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVCodecContext *enc, *audio_enc, *video_enc; PutBitContext p; uint8_t buf1[256]; @@ -392,16 +392,16 @@ static int swf_write_header(AVFormatContext *s) v |= 0x02; /* 16 bit playback */ if (audio_enc->channels == 2) v |= 0x01; /* stereo playback */ - put_byte(&s->pb, v); + put_byte(s->pb, v); v |= 0x20; /* mp3 compressed */ - put_byte(&s->pb, v); - put_le16(&s->pb, swf->samples_per_frame); /* avg samples per frame */ - put_le16(&s->pb, 0); + put_byte(s->pb, v); + put_le16(s->pb, swf->samples_per_frame); /* avg samples per frame */ + put_le16(s->pb, 0); put_swf_end_tag(s); } - put_flush_packet(&s->pb); + put_flush_packet(s->pb); return 0; } @@ -409,7 +409,7 @@ static int swf_write_video(AVFormatContext *s, AVCodecContext *enc, const uint8_t *buf, int size) { SWFContext *swf = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; /* Flash Player limit */ if (swf->swf_frame_number == 16000) { @@ -516,7 +516,7 @@ static int swf_write_video(AVFormatContext *s, put_swf_tag(s, TAG_SHOWFRAME); put_swf_end_tag(s); - put_flush_packet(&s->pb); + put_flush_packet(s->pb); return 0; } @@ -560,7 +560,7 @@ static int swf_write_packet(AVFormatContext *s, AVPacket *pkt) static int swf_write_trailer(AVFormatContext *s) { SWFContext *swf = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVCodecContext *enc, *video_enc; int file_size, i; @@ -574,10 +574,10 @@ static int swf_write_trailer(AVFormatContext *s) put_swf_tag(s, TAG_END); put_swf_end_tag(s); - put_flush_packet(&s->pb); + put_flush_packet(s->pb); /* 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); url_fseek(pb, 4, SEEK_SET); put_le32(pb, file_size); @@ -628,7 +628,7 @@ static int swf_probe(AVProbeData *p) static int swf_read_header(AVFormatContext *s, AVFormatParameters *ap) { SWFContext *swf = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int nbits, len, tag; tag = get_be32(pb) & 0xffffff00; @@ -655,7 +655,7 @@ static int swf_read_header(AVFormatContext *s, AVFormatParameters *ap) static int swf_read_packet(AVFormatContext *s, AVPacket *pkt) { SWFContext *swf = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVStream *vst = NULL, *ast = NULL, *st = 0; int tag, len, i, frame, v; diff --git a/libavformat/thp.c b/libavformat/thp.c index f1cc8ae26b..a0747ecad8 100644 --- a/libavformat/thp.c +++ b/libavformat/thp.c @@ -57,7 +57,7 @@ static int thp_read_header(AVFormatContext *s, { ThpDemuxContext *thp = s->priv_data; AVStream *st; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int i; /* Read the file header. */ @@ -140,7 +140,7 @@ static int thp_read_packet(AVFormatContext *s, AVPacket *pkt) { ThpDemuxContext *thp = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int size; int ret; diff --git a/libavformat/tiertexseq.c b/libavformat/tiertexseq.c index d6808a043f..457185b63d 100644 --- a/libavformat/tiertexseq.c +++ b/libavformat/tiertexseq.c @@ -184,7 +184,7 @@ static int seq_read_header(AVFormatContext *s, AVFormatParameters *ap) { int i, rc; SeqDemuxContext *seq = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVStream *st; /* init internal buffers */ @@ -241,7 +241,7 @@ static int seq_read_packet(AVFormatContext *s, AVPacket *pkt) { int rc; SeqDemuxContext *seq = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; if (!seq->audio_buffer_full) { rc = seq_parse_frame_data(seq, pb); diff --git a/libavformat/tta.c b/libavformat/tta.c index 4b9be6cf30..2cd0101f15 100644 --- a/libavformat/tta.c +++ b/libavformat/tta.c @@ -40,25 +40,25 @@ static int tta_read_header(AVFormatContext *s, AVFormatParameters *ap) int i, channels, bps, samplerate, datalen, framelen; uint64_t framepos; - if (get_le32(&s->pb) != ff_get_fourcc("TTA1")) + if (get_le32(s->pb) != ff_get_fourcc("TTA1")) return -1; // not tta file - url_fskip(&s->pb, 2); // FIXME: flags - channels = get_le16(&s->pb); - bps = get_le16(&s->pb); - samplerate = get_le32(&s->pb); + url_fskip(s->pb, 2); // FIXME: flags + channels = get_le16(s->pb); + bps = get_le16(s->pb); + samplerate = get_le32(s->pb); if(samplerate <= 0 || samplerate > 1000000){ av_log(s, AV_LOG_ERROR, "nonsense samplerate\n"); return -1; } - datalen = get_le32(&s->pb); + datalen = get_le32(s->pb); if(datalen < 0){ av_log(s, AV_LOG_ERROR, "nonsense datalen\n"); return -1; } - url_fskip(&s->pb, 4); // header crc + url_fskip(s->pb, 4); // header crc framelen = samplerate*256/245; c->totalframes = datalen / framelen + ((datalen % framelen) ? 1 : 0); @@ -77,14 +77,14 @@ static int tta_read_header(AVFormatContext *s, AVFormatParameters *ap) st->start_time = 0; st->duration = datalen; - framepos = url_ftell(&s->pb) + 4*c->totalframes + 4; + framepos = url_ftell(s->pb) + 4*c->totalframes + 4; for (i = 0; i < c->totalframes; i++) { - uint32_t size = get_le32(&s->pb); + uint32_t size = get_le32(s->pb); av_add_index_entry(st, framepos, i*framelen, size, 0, AVINDEX_KEYFRAME); framepos += size; } - url_fskip(&s->pb, 4); // seektable crc + url_fskip(s->pb, 4); // seektable crc st->codec->codec_type = CODEC_TYPE_AUDIO; st->codec->codec_id = CODEC_ID_TTA; @@ -92,15 +92,15 @@ static int tta_read_header(AVFormatContext *s, AVFormatParameters *ap) st->codec->sample_rate = samplerate; st->codec->bits_per_sample = bps; - st->codec->extradata_size = url_ftell(&s->pb); + st->codec->extradata_size = url_ftell(s->pb); if(st->codec->extradata_size+FF_INPUT_BUFFER_PADDING_SIZE <= (unsigned)st->codec->extradata_size){ //this check is redundant as get_buffer should fail av_log(s, AV_LOG_ERROR, "extradata_size too large\n"); return -1; } st->codec->extradata = av_mallocz(st->codec->extradata_size+FF_INPUT_BUFFER_PADDING_SIZE); - url_fseek(&s->pb, 0, SEEK_SET); - get_buffer(&s->pb, st->codec->extradata, st->codec->extradata_size); + url_fseek(s->pb, 0, SEEK_SET); + get_buffer(s->pb, st->codec->extradata, st->codec->extradata_size); return 0; } @@ -117,7 +117,7 @@ static int tta_read_packet(AVFormatContext *s, AVPacket *pkt) size = st->index_entries[c->currentframe].size; - ret = av_get_packet(&s->pb, pkt, size); + ret = av_get_packet(s->pb, pkt, size); pkt->dts = st->index_entries[c->currentframe++].timestamp; return ret; } @@ -131,7 +131,7 @@ static int tta_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp return -1; c->currentframe = index; - url_fseek(&s->pb, st->index_entries[index].pos, SEEK_SET); + url_fseek(s->pb, st->index_entries[index].pos, SEEK_SET); return 0; } diff --git a/libavformat/txd.c b/libavformat/txd.c index 6c17dff55a..8092a41a48 100644 --- a/libavformat/txd.c +++ b/libavformat/txd.c @@ -51,7 +51,7 @@ static int txd_read_header(AVFormatContext *s, AVFormatParameters *ap) { } static int txd_read_packet(AVFormatContext *s, AVPacket *pkt) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; unsigned int id, chunk_size, marker; int ret; @@ -60,7 +60,7 @@ next_chunk: chunk_size = get_le32(pb); marker = get_le32(pb); - if (url_feof(&s->pb)) + if (url_feof(s->pb)) return AVERROR(EIO); if (marker != TXD_MARKER && marker != TXD_MARKER2) { av_log(NULL, AV_LOG_ERROR, "marker does not match\n"); @@ -72,7 +72,7 @@ next_chunk: if (chunk_size > 100) break; case TXD_EXTRA: - url_fskip(&s->pb, chunk_size); + url_fskip(s->pb, chunk_size); case TXD_FILE: case TXD_TEXTURE: goto next_chunk; @@ -81,7 +81,7 @@ next_chunk: return AVERROR(EIO); } - ret = av_get_packet(&s->pb, pkt, chunk_size); + ret = av_get_packet(s->pb, pkt, chunk_size); pkt->stream_index = 0; return ret <= 0 ? AVERROR(EIO) : ret; diff --git a/libavformat/utils.c b/libavformat/utils.c index 98018e5d46..d40a5f3f41 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -361,8 +361,7 @@ int av_open_input_stream(AVFormatContext **ic_ptr, goto fail; } ic->iformat = fmt; - if (pb) - ic->pb = *pb; + ic->pb = pb; ic->duration = AV_NOPTS_VALUE; ic->start_time = AV_NOPTS_VALUE; av_strlcpy(ic->filename, filename, sizeof(ic->filename)); @@ -383,7 +382,7 @@ int av_open_input_stream(AVFormatContext **ic_ptr, goto fail; if (pb && !ic->data_offset) - ic->data_offset = url_ftell(&ic->pb); + ic->data_offset = url_ftell(ic->pb); *ic_ptr = ic; return 0; @@ -407,7 +406,7 @@ int av_open_input_file(AVFormatContext **ic_ptr, const char *filename, { int err, must_open_file, file_opened, probe_size; AVProbeData probe_data, *pd = &probe_data; - ByteIOContext pb1, *pb = &pb1; + ByteIOContext *pb; file_opened = 0; pd->filename = ""; @@ -431,7 +430,7 @@ int av_open_input_file(AVFormatContext **ic_ptr, const char *filename, if (!fmt || must_open_file) { /* if no file needed do not try to open one */ - if ((err=url_fopen(pb, filename, URL_RDONLY)) < 0) { + if ((err=url_fopen(&pb, filename, URL_RDONLY)) < 0) { goto fail; } file_opened = 1; @@ -447,7 +446,7 @@ int av_open_input_file(AVFormatContext **ic_ptr, const char *filename, memset(pd->buf+pd->buf_size, 0, AVPROBE_PADDING_SIZE); if (url_fseek(pb, 0, SEEK_SET) < 0) { url_fclose(pb); - if (url_fopen(pb, filename, URL_RDONLY) < 0) { + if (url_fopen(&pb, filename, URL_RDONLY) < 0) { file_opened = 0; err = AVERROR(EIO); goto fail; @@ -1130,7 +1129,7 @@ int av_seek_frame_binary(AVFormatContext *s, int stream_index, int64_t target_ts return -1; /* do the seek */ - url_fseek(&s->pb, pos, SEEK_SET); + url_fseek(s->pb, pos, SEEK_SET); av_update_cur_dts(s, st, ts); @@ -1155,7 +1154,7 @@ int64_t av_gen_search(AVFormatContext *s, int stream_index, int64_t target_ts, i if(ts_max == AV_NOPTS_VALUE){ int step= 1024; - filesize = url_fsize(&s->pb); + filesize = url_fsize(s->pb); pos_max = filesize - 1; do{ pos_max -= step; @@ -1261,12 +1260,12 @@ static int av_seek_frame_byte(AVFormatContext *s, int stream_index, int64_t pos, #endif pos_min = s->data_offset; - pos_max = url_fsize(&s->pb) - 1; + pos_max = url_fsize(s->pb) - 1; if (pos < pos_min) pos= pos_min; else if(pos > pos_max) pos= pos_max; - url_fseek(&s->pb, pos, SEEK_SET); + url_fseek(s->pb, pos, SEEK_SET); #if 0 av_update_cur_dts(s, st, ts); @@ -1291,10 +1290,10 @@ static int av_seek_frame_generic(AVFormatContext *s, if(st->index_entries && st->nb_index_entries){ ie= &st->index_entries[st->nb_index_entries-1]; - url_fseek(&s->pb, ie->pos, SEEK_SET); + url_fseek(s->pb, ie->pos, SEEK_SET); av_update_cur_dts(s, st, ie->timestamp); }else - url_fseek(&s->pb, 0, SEEK_SET); + url_fseek(s->pb, 0, SEEK_SET); for(i=0;; i++) { int ret = av_read_frame(s, &pkt); @@ -1317,7 +1316,7 @@ static int av_seek_frame_generic(AVFormatContext *s, return 0; } ie = &st->index_entries[index]; - url_fseek(&s->pb, ie->pos, SEEK_SET); + url_fseek(s->pb, ie->pos, SEEK_SET); av_update_cur_dts(s, st, ie->timestamp); @@ -1509,7 +1508,7 @@ static void av_estimate_timings_from_pts(AVFormatContext *ic, offset_t old_offse /* we read the first packets to get the first PTS (not fully accurate, but it is enough now) */ - url_fseek(&ic->pb, 0, SEEK_SET); + url_fseek(ic->pb, 0, SEEK_SET); read_size = 0; for(;;) { if (read_size >= DURATION_MAX_READ_SIZE) @@ -1542,7 +1541,7 @@ static void av_estimate_timings_from_pts(AVFormatContext *ic, offset_t old_offse if (offset < 0) offset = 0; - url_fseek(&ic->pb, offset, SEEK_SET); + url_fseek(ic->pb, offset, SEEK_SET); read_size = 0; for(;;) { if (read_size >= DURATION_MAX_READ_SIZE) @@ -1568,7 +1567,7 @@ static void av_estimate_timings_from_pts(AVFormatContext *ic, offset_t old_offse fill_all_stream_timings(ic); - url_fseek(&ic->pb, old_offset, SEEK_SET); + url_fseek(ic->pb, old_offset, SEEK_SET); for(i=0; i<ic->nb_streams; i++){ st= ic->streams[i]; st->cur_dts= st->first_dts; @@ -1584,7 +1583,7 @@ static void av_estimate_timings(AVFormatContext *ic, offset_t old_offset) if (ic->iformat->flags & AVFMT_NOFILE) { file_size = 0; } else { - file_size = url_fsize(&ic->pb); + file_size = url_fsize(ic->pb); if (file_size < 0) file_size = 0; } @@ -1592,7 +1591,7 @@ static void av_estimate_timings(AVFormatContext *ic, offset_t old_offset) if ((!strcmp(ic->iformat->name, "mpeg") || !strcmp(ic->iformat->name, "mpegts")) && - file_size && !ic->pb.is_streamed) { + file_size && !ic->pb->is_streamed) { /* get accurate estimate from the PTSes */ av_estimate_timings_from_pts(ic, old_offset); } else if (av_has_duration(ic)) { @@ -1757,7 +1756,7 @@ int av_find_stream_info(AVFormatContext *ic) int64_t last_dts[MAX_STREAMS]; int duration_count[MAX_STREAMS]={0}; double (*duration_error)[MAX_STD_TIMEBASES]; - offset_t old_offset = url_ftell(&ic->pb); + offset_t old_offset = url_ftell(ic->pb); int64_t codec_info_duration[MAX_STREAMS]={0}; int codec_info_nb_frames[MAX_STREAMS]={0}; AVProbeData probe_data[MAX_STREAMS]; @@ -1989,7 +1988,7 @@ int av_find_stream_info(AVFormatContext *ic) } st->cur_dts= st->first_dts; } - url_fseek(&ic->pb, ic->data_offset, SEEK_SET); + url_fseek(ic->pb, ic->data_offset, SEEK_SET); } #if 0 @@ -2075,7 +2074,7 @@ void av_close_input_file(AVFormatContext *s) must_open_file = 0; } if (must_open_file) { - url_fclose(&s->pb); + url_fclose(s->pb); } av_freep(&s->priv_data); av_free(s); @@ -2343,7 +2342,7 @@ int av_write_frame(AVFormatContext *s, AVPacket *pkt) ret= s->oformat->write_packet(s, pkt); if(!ret) - ret= url_ferror(&s->pb); + ret= url_ferror(s->pb); return ret; } @@ -2444,8 +2443,8 @@ int av_interleaved_write_frame(AVFormatContext *s, AVPacket *pkt){ if(ret<0) return ret; - if(url_ferror(&s->pb)) - return url_ferror(&s->pb); + if(url_ferror(s->pb)) + return url_ferror(s->pb); } } @@ -2468,7 +2467,7 @@ int av_write_trailer(AVFormatContext *s) if(ret<0) goto fail; - if(url_ferror(&s->pb)) + if(url_ferror(s->pb)) goto fail; } @@ -2476,7 +2475,7 @@ int av_write_trailer(AVFormatContext *s) ret = s->oformat->write_trailer(s); fail: if(ret == 0) - ret=url_ferror(&s->pb); + ret=url_ferror(s->pb); for(i=0;i<s->nb_streams;i++) av_freep(&s->streams[i]->priv_data); av_freep(&s->priv_data); diff --git a/libavformat/vocdec.c b/libavformat/vocdec.c index 590a9173bc..7c50fa588c 100644 --- a/libavformat/vocdec.c +++ b/libavformat/vocdec.c @@ -39,7 +39,7 @@ static int voc_probe(AVProbeData *p) static int voc_read_header(AVFormatContext *s, AVFormatParameters *ap) { voc_dec_context_t *voc = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int header_size; AVStream *st; @@ -64,7 +64,7 @@ voc_get_packet(AVFormatContext *s, AVPacket *pkt, AVStream *st, int max_size) { voc_dec_context_t *voc = s->priv_data; AVCodecContext *dec = st->codec; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; voc_type_t type; int size; int sample_rate = 0; diff --git a/libavformat/vocenc.c b/libavformat/vocenc.c index ae1ef90ed8..d967fae095 100644 --- a/libavformat/vocenc.c +++ b/libavformat/vocenc.c @@ -28,7 +28,7 @@ typedef struct voc_enc_context { static int voc_write_header(AVFormatContext *s) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; const int header_size = 26; const int version = 0x0114; @@ -48,7 +48,7 @@ static int voc_write_packet(AVFormatContext *s, AVPacket *pkt) { voc_enc_context_t *voc = s->priv_data; AVCodecContext *enc = s->streams[0]->codec; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; if (!voc->param_written) { if (enc->codec_tag > 0xFF) { @@ -84,7 +84,7 @@ static int voc_write_packet(AVFormatContext *s, AVPacket *pkt) static int voc_write_trailer(AVFormatContext *s) { - put_byte(&s->pb, 0); + put_byte(s->pb, 0); return 0; } diff --git a/libavformat/wav.c b/libavformat/wav.c index 9fccf64295..5053d15006 100644 --- a/libavformat/wav.c +++ b/libavformat/wav.c @@ -34,7 +34,7 @@ typedef struct { static int wav_write_header(AVFormatContext *s) { WAVContext *wav = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; offset_t fmt, fact; put_tag(pb, "RIFF"); @@ -50,7 +50,7 @@ static int wav_write_header(AVFormatContext *s) end_tag(pb, fmt); if(s->streams[0]->codec->codec_tag != 0x01 /* hence for all other than PCM */ - && !url_is_streamed(&s->pb)) { + && !url_is_streamed(s->pb)) { fact = start_tag(pb, "fact"); put_le32(pb, 0); end_tag(pb, fact); @@ -70,7 +70,7 @@ static int wav_write_header(AVFormatContext *s) static int wav_write_packet(AVFormatContext *s, AVPacket *pkt) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; WAVContext *wav = s->priv_data; put_buffer(pb, pkt->data, pkt->size); if(pkt->pts != AV_NOPTS_VALUE) { @@ -84,11 +84,11 @@ static int wav_write_packet(AVFormatContext *s, AVPacket *pkt) static int wav_write_trailer(AVFormatContext *s) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; WAVContext *wav = s->priv_data; offset_t file_size; - if (!url_is_streamed(&s->pb)) { + if (!url_is_streamed(s->pb)) { end_tag(pb, wav->data); /* update file size */ @@ -156,7 +156,7 @@ static int wav_read_header(AVFormatContext *s, { int size; unsigned int tag; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVStream *st; WAVContext *wav = s->priv_data; @@ -199,17 +199,17 @@ static int wav_read_packet(AVFormatContext *s, AVStream *st; WAVContext *wav = s->priv_data; - if (url_feof(&s->pb)) + if (url_feof(s->pb)) return AVERROR(EIO); st = s->streams[0]; - left= wav->data_end - url_ftell(&s->pb); + left= wav->data_end - url_ftell(s->pb); if(left <= 0){ - left = find_tag(&(s->pb), MKTAG('d', 'a', 't', 'a')); + left = find_tag(s->pb, MKTAG('d', 'a', 't', 'a')); if (left < 0) { return AVERROR(EIO); } - wav->data_end= url_ftell(&s->pb) + left; + wav->data_end= url_ftell(s->pb) + left; } size = MAX_SIZE; @@ -219,7 +219,7 @@ static int wav_read_packet(AVFormatContext *s, size = (size / st->codec->block_align) * st->codec->block_align; } size= FFMIN(size, left); - ret= av_get_packet(&s->pb, pkt, size); + ret= av_get_packet(s->pb, pkt, size); if (ret <= 0) return AVERROR(EIO); pkt->stream_index = 0; diff --git a/libavformat/wc3movie.c b/libavformat/wc3movie.c index 84b67005d8..dae4cec50a 100644 --- a/libavformat/wc3movie.c +++ b/libavformat/wc3movie.c @@ -126,7 +126,7 @@ static int wc3_read_header(AVFormatContext *s, AVFormatParameters *ap) { Wc3DemuxContext *wc3 = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; unsigned int fourcc_tag; unsigned int size; AVStream *st; @@ -272,7 +272,7 @@ static int wc3_read_packet(AVFormatContext *s, AVPacket *pkt) { Wc3DemuxContext *wc3 = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; unsigned int fourcc_tag; unsigned int size; int packet_read = 0; diff --git a/libavformat/westwood.c b/libavformat/westwood.c index b553073970..268f2e71ee 100644 --- a/libavformat/westwood.c +++ b/libavformat/westwood.c @@ -118,7 +118,7 @@ static int wsaud_read_header(AVFormatContext *s, AVFormatParameters *ap) { WsAudDemuxContext *wsaud = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVStream *st; unsigned char header[AUD_HEADER_SIZE]; @@ -160,7 +160,7 @@ static int wsaud_read_packet(AVFormatContext *s, AVPacket *pkt) { WsAudDemuxContext *wsaud = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; unsigned char preamble[AUD_CHUNK_PREAMBLE_SIZE]; unsigned int chunk_size; int ret = 0; @@ -213,7 +213,7 @@ static int wsvqa_read_header(AVFormatContext *s, AVFormatParameters *ap) { WsVqaDemuxContext *wsvqa = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVStream *st; unsigned char *header; unsigned char scratch[VQA_PREAMBLE_SIZE]; @@ -315,7 +315,7 @@ static int wsvqa_read_packet(AVFormatContext *s, AVPacket *pkt) { WsVqaDemuxContext *wsvqa = s->priv_data; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int ret = -1; unsigned char preamble[VQA_PREAMBLE_SIZE]; unsigned int chunk_type; diff --git a/libavformat/wv.c b/libavformat/wv.c index c8e4a40f24..2240dfde2d 100644 --- a/libavformat/wv.c +++ b/libavformat/wv.c @@ -135,7 +135,7 @@ static int wv_read_block_header(AVFormatContext *ctx, ByteIOContext *pb) static int wv_read_header(AVFormatContext *s, AVFormatParameters *ap) { - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; WVContext *wc = s->priv_data; AVStream *st; @@ -164,17 +164,17 @@ static int wv_read_packet(AVFormatContext *s, WVContext *wc = s->priv_data; int ret; - if (url_feof(&s->pb)) + if (url_feof(s->pb)) return AVERROR(EIO); if(wc->block_parsed){ - if(wv_read_block_header(s, &s->pb) < 0) + if(wv_read_block_header(s, s->pb) < 0) return -1; } if(av_new_packet(pkt, wc->blksize + WV_EXTRA_SIZE) < 0) return AVERROR(ENOMEM); memcpy(pkt->data, wc->extra, WV_EXTRA_SIZE); - ret = get_buffer(&s->pb, pkt->data + WV_EXTRA_SIZE, wc->blksize); + ret = get_buffer(s->pb, pkt->data + WV_EXTRA_SIZE, wc->blksize); if(ret != wc->blksize){ av_free_packet(pkt); return AVERROR(EIO); @@ -204,18 +204,18 @@ static int wv_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp, /* if found, seek there */ if (index >= 0){ wc->block_parsed = 1; - url_fseek(&s->pb, st->index_entries[index].pos, SEEK_SET); + url_fseek(s->pb, st->index_entries[index].pos, SEEK_SET); return 0; } /* if timestamp is out of bounds, return error */ if(timestamp < 0 || timestamp >= s->duration) return -1; - pos = url_ftell(&s->pb); + pos = url_ftell(s->pb); do{ ret = av_read_frame(s, pkt); if (ret < 0){ - url_fseek(&s->pb, pos, SEEK_SET); + url_fseek(s->pb, pos, SEEK_SET); return -1; } pts = pkt->pts; diff --git a/libavformat/yuv4mpeg.c b/libavformat/yuv4mpeg.c index 9614894caf..7913e417a7 100644 --- a/libavformat/yuv4mpeg.c +++ b/libavformat/yuv4mpeg.c @@ -87,7 +87,7 @@ static int yuv4_generate_header(AVFormatContext *s, char* buf) static int yuv4_write_packet(AVFormatContext *s, AVPacket *pkt) { AVStream *st = s->streams[pkt->stream_index]; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; AVPicture *picture; int* first_pkt = s->priv_data; int width, height, h_chroma_shift, v_chroma_shift; @@ -190,7 +190,7 @@ static int yuv4_read_header(AVFormatContext *s, AVFormatParameters *ap) char header[MAX_YUV4_HEADER+10]; // Include headroom for the longest option char *tokstart,*tokend,*header_end; int i; - ByteIOContext *pb = &s->pb; + ByteIOContext *pb = s->pb; int width=-1, height=-1, raten=0, rated=0, aspectn=0, aspectd=0; enum PixelFormat pix_fmt=PIX_FMT_NONE,alt_pix_fmt=PIX_FMT_NONE; AVStream *st; @@ -344,7 +344,7 @@ static int yuv4_read_packet(AVFormatContext *s, AVPacket *pkt) struct frame_attributes *s1 = s->priv_data; for (i=0; i<MAX_FRAME_HEADER; i++) { - header[i] = get_byte(&s->pb); + header[i] = get_byte(s->pb); if (header[i] == '\n') { header[i+1] = 0; break; @@ -360,7 +360,7 @@ static int yuv4_read_packet(AVFormatContext *s, AVPacket *pkt) if (packet_size < 0) return -1; - if (av_get_packet(&s->pb, pkt, packet_size) != packet_size) + if (av_get_packet(s->pb, pkt, packet_size) != packet_size) return AVERROR(EIO); if (s->streams[0]->codec->coded_frame) { diff --git a/output_example.c b/output_example.c index cb631d599d..36b0921d20 100644 --- a/output_example.c +++ b/output_example.c @@ -538,7 +538,7 @@ int main(int argc, char **argv) if (!(fmt->flags & AVFMT_NOFILE)) { /* close the output file */ - url_fclose(&oc->pb); + url_fclose(oc->pb); } /* free the stream */ |