From 0589da0aa525e4ba7c554408339fa3e862402af5 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Thu, 31 Mar 2011 16:25:10 +0200 Subject: avio: make url_open() internal. --- libavformat/gopher.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libavformat/gopher.c') diff --git a/libavformat/gopher.c b/libavformat/gopher.c index 4681c8e194..c2e290d077 100644 --- a/libavformat/gopher.c +++ b/libavformat/gopher.c @@ -26,6 +26,7 @@ #include "avformat.h" #include "internal.h" #include "network.h" +#include "url.h" typedef struct { URLContext *hd; @@ -99,7 +100,7 @@ static int gopher_open(URLContext *h, const char *uri, int flags) ff_url_join(buf, sizeof(buf), "tcp", NULL, hostname, port, NULL); s->hd = NULL; - err = url_open(&s->hd, buf, URL_RDWR); + err = ffurl_open(&s->hd, buf, URL_RDWR); if (err < 0) goto fail; -- cgit v1.2.3 From bc371aca468c3dd8d1a8cb2b44c99798f232b145 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Thu, 31 Mar 2011 16:31:43 +0200 Subject: avio: make url_read() internal. --- libavformat/applehttpproto.c | 2 +- libavformat/avio.c | 6 +++++- libavformat/avio.h | 12 +----------- libavformat/aviobuf.c | 2 +- libavformat/concat.c | 2 +- libavformat/gopher.c | 2 +- libavformat/http.c | 4 ++-- libavformat/rtmppkt.c | 3 ++- libavformat/rtsp.c | 4 ++-- libavformat/sapdec.c | 4 ++-- libavformat/url.h | 11 +++++++++++ 11 files changed, 29 insertions(+), 23 deletions(-) (limited to 'libavformat/gopher.c') diff --git a/libavformat/applehttpproto.c b/libavformat/applehttpproto.c index 7e89534f88..fbc243e534 100644 --- a/libavformat/applehttpproto.c +++ b/libavformat/applehttpproto.c @@ -241,7 +241,7 @@ static int applehttp_read(URLContext *h, uint8_t *buf, int size) start: if (s->seg_hd) { - ret = url_read(s->seg_hd, buf, size); + ret = ffurl_read(s->seg_hd, buf, size); if (ret > 0) return ret; } diff --git a/libavformat/avio.c b/libavformat/avio.c index a14ea767bc..0e1ebaacdd 100644 --- a/libavformat/avio.c +++ b/libavformat/avio.c @@ -180,6 +180,10 @@ int url_open(URLContext **puc, const char *filename, int flags) { return ffurl_open(puc, filename, flags); } +int url_read(URLContext *h, unsigned char *buf, int size) +{ + return ffurl_read(h, buf, size); +} #endif #define URL_SCHEME_CHARS \ @@ -258,7 +262,7 @@ static inline int retry_transfer_wrapper(URLContext *h, unsigned char *buf, int return len; } -int url_read(URLContext *h, unsigned char *buf, int size) +int ffurl_read(URLContext *h, unsigned char *buf, int size) { if (h->flags & URL_WRONLY) return AVERROR(EIO); diff --git a/libavformat/avio.h b/libavformat/avio.h index 02d05f64cb..84062eb3ce 100644 --- a/libavformat/avio.h +++ b/libavformat/avio.h @@ -105,19 +105,9 @@ attribute_deprecated int url_open_protocol (URLContext **puc, struct URLProtocol attribute_deprecated int url_alloc(URLContext **h, const char *url, int flags); attribute_deprecated int url_connect(URLContext *h); attribute_deprecated int url_open(URLContext **h, const char *url, int flags); +attribute_deprecated int url_read(URLContext *h, unsigned char *buf, int size); #endif -/** - * Read up to size bytes from the resource accessed by h, and store - * the read bytes in buf. - * - * @return The number of bytes actually read, or a negative value - * corresponding to an AVERROR code in case of error. A value of zero - * indicates that it is not possible to read more from the accessed - * resource (except if the value of the size argument is also zero). - */ -int url_read(URLContext *h, unsigned char *buf, int size); - /** * Read as many bytes as possible (up to size), calling the * read function multiple times if necessary. diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c index 1ae104942c..a8c59b7cc8 100644 --- a/libavformat/aviobuf.c +++ b/libavformat/aviobuf.c @@ -846,7 +846,7 @@ int ffio_fdopen(AVIOContext **s, URLContext *h) if (ffio_init_context(*s, buffer, buffer_size, (h->flags & URL_WRONLY || h->flags & URL_RDWR), h, - url_read, url_write, url_seek) < 0) { + ffurl_read, url_write, url_seek) < 0) { av_free(buffer); av_freep(s); return AVERROR(EIO); diff --git a/libavformat/concat.c b/libavformat/concat.c index e99ded2edf..8147fda6c3 100644 --- a/libavformat/concat.c +++ b/libavformat/concat.c @@ -136,7 +136,7 @@ static int concat_read(URLContext *h, unsigned char *buf, int size) size_t i = data->current; while (size > 0) { - result = url_read(nodes[i].uc, buf, size); + result = ffurl_read(nodes[i].uc, buf, size); if (result < 0) return total ? total : result; if (!result) diff --git a/libavformat/gopher.c b/libavformat/gopher.c index c2e290d077..53f7617fb1 100644 --- a/libavformat/gopher.c +++ b/libavformat/gopher.c @@ -115,7 +115,7 @@ static int gopher_open(URLContext *h, const char *uri, int flags) static int gopher_read(URLContext *h, uint8_t *buf, int size) { GopherContext *s = h->priv_data; - int len = url_read(s->hd, buf, size); + int len = ffurl_read(s->hd, buf, size); return len; } diff --git a/libavformat/http.c b/libavformat/http.c index b02de279f2..2bd223891e 100644 --- a/libavformat/http.c +++ b/libavformat/http.c @@ -171,7 +171,7 @@ static int http_getc(HTTPContext *s) { int len; if (s->buf_ptr >= s->buf_end) { - len = url_read(s->hd, s->buffer, BUFFER_SIZE); + len = ffurl_read(s->hd, s->buffer, BUFFER_SIZE); if (len < 0) { return AVERROR(EIO); } else if (len == 0) { @@ -407,7 +407,7 @@ static int http_read(URLContext *h, uint8_t *buf, int size) } else { if (!s->willclose && s->filesize >= 0 && s->off >= s->filesize) return AVERROR_EOF; - len = url_read(s->hd, buf, size); + len = ffurl_read(s->hd, buf, size); } if (len > 0) { s->off += len; diff --git a/libavformat/rtmppkt.c b/libavformat/rtmppkt.c index 7df3d52e7c..b979566972 100644 --- a/libavformat/rtmppkt.c +++ b/libavformat/rtmppkt.c @@ -25,6 +25,7 @@ #include "rtmppkt.h" #include "flv.h" +#include "url.h" void ff_amf_write_bool(uint8_t **dst, int val) { @@ -78,7 +79,7 @@ int ff_rtmp_packet_read(URLContext *h, RTMPPacket *p, enum RTMPPacketType type; int size = 0; - if (url_read(h, &hdr, 1) != 1) + if (ffurl_read(h, &hdr, 1) != 1) return AVERROR(EIO); size++; channel_id = hdr & 0x3F; diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index 30deeccf93..cf36814afa 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -1594,7 +1594,7 @@ static int udp_read_packet(AVFormatContext *s, RTSPStream **prtsp_st, rtsp_st = rt->rtsp_streams[i]; if (rtsp_st->rtp_handle) { if (p[j].revents & POLLIN || p[j+1].revents & POLLIN) { - ret = url_read(rtsp_st->rtp_handle, buf, buf_size); + ret = ffurl_read(rtsp_st->rtp_handle, buf, buf_size); if (ret > 0) { *prtsp_st = rtsp_st; return ret; @@ -1868,7 +1868,7 @@ static int rtp_read_header(AVFormatContext *s, goto fail; while (1) { - ret = url_read(in, recvbuf, sizeof(recvbuf)); + ret = ffurl_read(in, recvbuf, sizeof(recvbuf)); if (ret == AVERROR(EAGAIN)) continue; if (ret < 0) diff --git a/libavformat/sapdec.c b/libavformat/sapdec.c index c85039f4da..c8cbde8e44 100644 --- a/libavformat/sapdec.c +++ b/libavformat/sapdec.c @@ -93,7 +93,7 @@ static int sap_read_header(AVFormatContext *s, int addr_type, auth_len; int pos; - ret = url_read(sap->ann_fd, recvbuf, sizeof(recvbuf) - 1); + ret = ffurl_read(sap->ann_fd, recvbuf, sizeof(recvbuf) - 1); if (ret == AVERROR(EAGAIN)) continue; if (ret < 0) @@ -195,7 +195,7 @@ static int sap_fetch_packet(AVFormatContext *s, AVPacket *pkt) n = poll(&p, 1, 0); if (n <= 0 || !(p.revents & POLLIN)) break; - ret = url_read(sap->ann_fd, recvbuf, sizeof(recvbuf)); + ret = ffurl_read(sap->ann_fd, recvbuf, sizeof(recvbuf)); if (ret >= 8) { uint16_t hash = AV_RB16(&recvbuf[2]); /* Should ideally check the source IP address, too */ diff --git a/libavformat/url.h b/libavformat/url.h index af7dc5c4b6..799b80c395 100644 --- a/libavformat/url.h +++ b/libavformat/url.h @@ -58,4 +58,15 @@ int ffurl_connect(URLContext *h); */ int ffurl_open(URLContext **h, const char *url, int flags); +/** + * Read up to size bytes from the resource accessed by h, and store + * the read bytes in buf. + * + * @return The number of bytes actually read, or a negative value + * corresponding to an AVERROR code in case of error. A value of zero + * indicates that it is not possible to read more from the accessed + * resource (except if the value of the size argument is also zero). + */ +int ffurl_read(URLContext *h, unsigned char *buf, int size); + #endif //AVFORMAT_URL_H -- cgit v1.2.3 From 925e908bc7a3ddbd31f94ae9a67fbee170fef3d3 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Thu, 31 Mar 2011 16:48:01 +0200 Subject: avio: make url_write() internal. --- libavformat/avio.c | 6 +++++- libavformat/avio.h | 9 +-------- libavformat/aviobuf.c | 2 +- libavformat/gopher.c | 2 +- libavformat/http.c | 12 ++++++------ libavformat/md5proto.c | 2 +- libavformat/mmst.c | 2 +- libavformat/rtmppkt.c | 6 +++--- libavformat/rtmpproto.c | 6 +++--- libavformat/rtpdec.c | 9 +++++---- libavformat/rtpproto.c | 2 +- libavformat/rtsp.c | 4 ++-- libavformat/rtspenc.c | 3 ++- libavformat/sapenc.c | 4 ++-- libavformat/url.h | 8 ++++++++ 15 files changed, 42 insertions(+), 35 deletions(-) (limited to 'libavformat/gopher.c') diff --git a/libavformat/avio.c b/libavformat/avio.c index 4f56286f8d..568f6885df 100644 --- a/libavformat/avio.c +++ b/libavformat/avio.c @@ -188,6 +188,10 @@ int url_read_complete(URLContext *h, unsigned char *buf, int size) { return ffurl_read_complete(h, buf, size); } +int url_write(URLContext *h, const unsigned char *buf, int size) +{ + return ffurl_write(h, buf, size); +} #endif #define URL_SCHEME_CHARS \ @@ -280,7 +284,7 @@ int ffurl_read_complete(URLContext *h, unsigned char *buf, int size) return retry_transfer_wrapper(h, buf, size, size, h->prot->url_read); } -int url_write(URLContext *h, const unsigned char *buf, int size) +int ffurl_write(URLContext *h, const unsigned char *buf, int size) { if (!(h->flags & (URL_WRONLY | URL_RDWR))) return AVERROR(EIO); diff --git a/libavformat/avio.h b/libavformat/avio.h index 2b1c6ff913..41b3cafbd2 100644 --- a/libavformat/avio.h +++ b/libavformat/avio.h @@ -107,16 +107,9 @@ attribute_deprecated int url_connect(URLContext *h); attribute_deprecated int url_open(URLContext **h, const char *url, int flags); attribute_deprecated int url_read(URLContext *h, unsigned char *buf, int size); attribute_deprecated int url_read_complete(URLContext *h, unsigned char *buf, int size); +attribute_deprecated int url_write(URLContext *h, const unsigned char *buf, int size); #endif -/** - * Write size bytes from buf to the resource accessed by h. - * - * @return the number of bytes actually written, or a negative value - * corresponding to an AVERROR code in case of failure - */ -int url_write(URLContext *h, const unsigned char *buf, int size); - /** * Passing this as the "whence" parameter to a seek function causes it to * return the filesize without seeking anywhere. Supporting this is optional. diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c index a8c59b7cc8..c7bdec8492 100644 --- a/libavformat/aviobuf.c +++ b/libavformat/aviobuf.c @@ -846,7 +846,7 @@ int ffio_fdopen(AVIOContext **s, URLContext *h) if (ffio_init_context(*s, buffer, buffer_size, (h->flags & URL_WRONLY || h->flags & URL_RDWR), h, - ffurl_read, url_write, url_seek) < 0) { + ffurl_read, ffurl_write, url_seek) < 0) { av_free(buffer); av_freep(s); return AVERROR(EIO); diff --git a/libavformat/gopher.c b/libavformat/gopher.c index 53f7617fb1..c4c895df73 100644 --- a/libavformat/gopher.c +++ b/libavformat/gopher.c @@ -35,7 +35,7 @@ typedef struct { static int gopher_write(URLContext *h, const uint8_t *buf, int size) { GopherContext *s = h->priv_data; - return url_write(s->hd, buf, size); + return ffurl_write(s->hd, buf, size); } static int gopher_connect(URLContext *h, const char *path) diff --git a/libavformat/http.c b/libavformat/http.c index 2bd223891e..61ae3f438c 100644 --- a/libavformat/http.c +++ b/libavformat/http.c @@ -333,7 +333,7 @@ static int http_connect(URLContext *h, const char *path, const char *hoststr, authstr ? authstr : ""); av_freep(&authstr); - if (url_write(s->hd, s->buffer, strlen(s->buffer)) < 0) + if (ffurl_write(s->hd, s->buffer, strlen(s->buffer)) < 0) return AVERROR(EIO); /* init input buffer */ @@ -427,7 +427,7 @@ static int http_write(URLContext *h, const uint8_t *buf, int size) if (s->chunksize == -1) { /* non-chunked data is sent without any special encoding */ - return url_write(s->hd, buf, size); + return ffurl_write(s->hd, buf, size); } /* silently ignore zero-size data since chunk encoding that would @@ -436,9 +436,9 @@ static int http_write(URLContext *h, const uint8_t *buf, int size) /* upload data using chunked encoding */ snprintf(temp, sizeof(temp), "%x\r\n", size); - if ((ret = url_write(s->hd, temp, strlen(temp))) < 0 || - (ret = url_write(s->hd, buf, size)) < 0 || - (ret = url_write(s->hd, crlf, sizeof(crlf) - 1)) < 0) + if ((ret = ffurl_write(s->hd, temp, strlen(temp))) < 0 || + (ret = ffurl_write(s->hd, buf, size)) < 0 || + (ret = ffurl_write(s->hd, crlf, sizeof(crlf) - 1)) < 0) return ret; } return size; @@ -452,7 +452,7 @@ static int http_close(URLContext *h) /* signal end of chunked encoding if used */ if ((h->flags & URL_WRONLY) && s->chunksize != -1) { - ret = url_write(s->hd, footer, sizeof(footer) - 1); + ret = ffurl_write(s->hd, footer, sizeof(footer) - 1); ret = ret > 0 ? 0 : ret; } diff --git a/libavformat/md5proto.c b/libavformat/md5proto.c index 23815095d1..ae3e96de72 100644 --- a/libavformat/md5proto.c +++ b/libavformat/md5proto.c @@ -68,7 +68,7 @@ static int md5_close(URLContext *h) err = ffurl_open(&out, filename, URL_WRONLY); if (err) return err; - err = url_write(out, buf, i*2+1); + err = ffurl_write(out, buf, i*2+1); url_close(out); } else { if (fwrite(buf, 1, i*2+1, stdout) < i*2+1) diff --git a/libavformat/mmst.c b/libavformat/mmst.c index d28a6ca6a8..b843b6472b 100644 --- a/libavformat/mmst.c +++ b/libavformat/mmst.c @@ -139,7 +139,7 @@ static int send_command_packet(MMSTContext *mmst) memset(mms->write_out_ptr, 0, exact_length - len); // write it out. - write_result= url_write(mms->mms_hd, mms->out_buffer, exact_length); + write_result= ffurl_write(mms->mms_hd, mms->out_buffer, exact_length); if(write_result != exact_length) { av_log(NULL, AV_LOG_ERROR, "Failed to write data of length %d: %d (%s)\n", diff --git a/libavformat/rtmppkt.c b/libavformat/rtmppkt.c index ca2ce09ff9..63b0628799 100644 --- a/libavformat/rtmppkt.c +++ b/libavformat/rtmppkt.c @@ -215,15 +215,15 @@ int ff_rtmp_packet_write(URLContext *h, RTMPPacket *pkt, } prev_pkt[pkt->channel_id].extra = pkt->extra; - url_write(h, pkt_hdr, p-pkt_hdr); + ffurl_write(h, pkt_hdr, p-pkt_hdr); size = p - pkt_hdr + pkt->data_size; while (off < pkt->data_size) { int towrite = FFMIN(chunk_size, pkt->data_size - off); - url_write(h, pkt->data + off, towrite); + ffurl_write(h, pkt->data + off, towrite); off += towrite; if (off < pkt->data_size) { uint8_t marker = 0xC0 | pkt->channel_id; - url_write(h, &marker, 1); + ffurl_write(h, &marker, 1); size++; } } diff --git a/libavformat/rtmpproto.c b/libavformat/rtmpproto.c index 0d1bc8e196..98babcfc3b 100644 --- a/libavformat/rtmpproto.c +++ b/libavformat/rtmpproto.c @@ -486,7 +486,7 @@ static int rtmp_handshake(URLContext *s, RTMPContext *rt) tosend[i] = av_lfg_get(&rnd) >> 24; client_pos = rtmp_handshake_imprint_with_digest(tosend + 1); - url_write(rt->stream, tosend, RTMP_HANDSHAKE_PACKET_SIZE + 1); + ffurl_write(rt->stream, tosend, RTMP_HANDSHAKE_PACKET_SIZE + 1); i = ffurl_read_complete(rt->stream, serverdata, RTMP_HANDSHAKE_PACKET_SIZE + 1); if (i != RTMP_HANDSHAKE_PACKET_SIZE + 1) { av_log(LOG_CONTEXT, AV_LOG_ERROR, "Cannot read RTMP handshake response\n"); @@ -532,9 +532,9 @@ static int rtmp_handshake(URLContext *s, RTMPContext *rt) tosend + RTMP_HANDSHAKE_PACKET_SIZE - 32); // write reply back to the server - url_write(rt->stream, tosend, RTMP_HANDSHAKE_PACKET_SIZE); + ffurl_write(rt->stream, tosend, RTMP_HANDSHAKE_PACKET_SIZE); } else { - url_write(rt->stream, serverdata+1, RTMP_HANDSHAKE_PACKET_SIZE); + ffurl_write(rt->stream, serverdata+1, RTMP_HANDSHAKE_PACKET_SIZE); } return 0; diff --git a/libavformat/rtpdec.c b/libavformat/rtpdec.c index 281f51c443..43305a30c7 100644 --- a/libavformat/rtpdec.c +++ b/libavformat/rtpdec.c @@ -25,6 +25,7 @@ #include "libavcodec/get_bits.h" #include "avformat.h" #include "mpegts.h" +#include "url.h" #include #include @@ -325,8 +326,8 @@ int rtp_check_and_send_back_rr(RTPDemuxContext *s, int count) if ((len > 0) && buf) { int result; av_dlog(s->ic, "sending %d bytes of RR\n", len); - result= url_write(s->rtp_ctx, buf, len); - av_dlog(s->ic, "result from url_write: %d\n", result); + result= ffurl_write(s->rtp_ctx, buf, len); + av_dlog(s->ic, "result from ffurl_write: %d\n", result); av_free(buf); } return 0; @@ -351,7 +352,7 @@ void rtp_send_punch_packets(URLContext* rtp_handle) avio_flush(pb); len = avio_close_dyn_buf(pb, &buf); if ((len > 0) && buf) - url_write(rtp_handle, buf, len); + ffurl_write(rtp_handle, buf, len); av_free(buf); /* Send a minimal RTCP RR */ @@ -366,7 +367,7 @@ void rtp_send_punch_packets(URLContext* rtp_handle) avio_flush(pb); len = avio_close_dyn_buf(pb, &buf); if ((len > 0) && buf) - url_write(rtp_handle, buf, len); + ffurl_write(rtp_handle, buf, len); av_free(buf); } diff --git a/libavformat/rtpproto.c b/libavformat/rtpproto.c index 1691f3cb48..22e59859d3 100644 --- a/libavformat/rtpproto.c +++ b/libavformat/rtpproto.c @@ -297,7 +297,7 @@ static int rtp_write(URLContext *h, const uint8_t *buf, int size) hd = s->rtp_hd; } - ret = url_write(hd, buf, size); + ret = ffurl_write(hd, buf, size); #if 0 { struct timespec ts; diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index 15999b8617..caa66c60cc 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -983,14 +983,14 @@ static int ff_rtsp_send_cmd_with_content_async(AVFormatContext *s, av_dlog(s, "Sending:\n%s--\n", buf); - url_write(rt->rtsp_hd_out, out_buf, strlen(out_buf)); + ffurl_write(rt->rtsp_hd_out, out_buf, strlen(out_buf)); if (send_content_length > 0 && send_content) { if (rt->control_transport == RTSP_MODE_TUNNEL) { av_log(s, AV_LOG_ERROR, "tunneling of RTSP requests " "with content data not supported\n"); return AVERROR_PATCHWELCOME; } - url_write(rt->rtsp_hd_out, send_content, send_content_length); + ffurl_write(rt->rtsp_hd_out, send_content, send_content_length); } rt->last_cmd_time = av_gettime(); diff --git a/libavformat/rtspenc.c b/libavformat/rtspenc.c index 7f52b1fdb1..b4b26204f9 100644 --- a/libavformat/rtspenc.c +++ b/libavformat/rtspenc.c @@ -32,6 +32,7 @@ #include "avio_internal.h" #include "libavutil/intreadwrite.h" #include "libavutil/avstring.h" +#include "url.h" #define SDP_MAX_SIZE 16384 @@ -158,7 +159,7 @@ static int tcp_write_packet(AVFormatContext *s, RTSPStream *rtsp_st) interleave_header[0] = '$'; interleave_header[1] = id; AV_WB16(interleave_header + 2, packet_len); - url_write(rt->rtsp_hd_out, interleaved_packet, 4 + packet_len); + ffurl_write(rt->rtsp_hd_out, interleaved_packet, 4 + packet_len); ptr += packet_len; size -= packet_len; } diff --git a/libavformat/sapenc.c b/libavformat/sapenc.c index c811d2f001..25354208b7 100644 --- a/libavformat/sapenc.c +++ b/libavformat/sapenc.c @@ -54,7 +54,7 @@ static int sap_write_close(AVFormatContext *s) if (sap->last_time && sap->ann && sap->ann_fd) { sap->ann[0] |= 4; /* Session deletion*/ - url_write(sap->ann_fd, sap->ann, sap->ann_size); + ffurl_write(sap->ann_fd, sap->ann, sap->ann_size); } av_freep(&sap->ann); @@ -239,7 +239,7 @@ static int sap_write_packet(AVFormatContext *s, AVPacket *pkt) int64_t now = av_gettime(); if (!sap->last_time || now - sap->last_time > 5000000) { - int ret = url_write(sap->ann_fd, sap->ann, sap->ann_size); + int ret = ffurl_write(sap->ann_fd, sap->ann, sap->ann_size); /* Don't abort even if we get "Destination unreachable" */ if (ret < 0 && ret != AVERROR(ECONNREFUSED)) return ret; diff --git a/libavformat/url.h b/libavformat/url.h index 8d1a7f702c..45bf8c9397 100644 --- a/libavformat/url.h +++ b/libavformat/url.h @@ -78,4 +78,12 @@ int ffurl_read(URLContext *h, unsigned char *buf, int size); */ int ffurl_read_complete(URLContext *h, unsigned char *buf, int size); +/** + * Write size bytes from buf to the resource accessed by h. + * + * @return the number of bytes actually written, or a negative value + * corresponding to an AVERROR code in case of failure + */ +int ffurl_write(URLContext *h, const unsigned char *buf, int size); + #endif //AVFORMAT_URL_H -- cgit v1.2.3 From e52a9145c8bf0748ae970e210e528ff56508964c Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Thu, 31 Mar 2011 17:36:06 +0200 Subject: avio: make url_close() internal. --- libavformat/applehttpproto.c | 4 ++-- libavformat/avio.c | 12 ++++++++---- libavformat/avio.h | 10 +--------- libavformat/aviobuf.c | 4 ++-- libavformat/concat.c | 4 ++-- libavformat/gopher.c | 2 +- libavformat/http.c | 10 +++++----- libavformat/md5proto.c | 2 +- libavformat/mmsh.c | 4 ++-- libavformat/mmst.c | 2 +- libavformat/rtmpproto.c | 2 +- libavformat/rtpproto.c | 8 ++++---- libavformat/rtsp.c | 10 +++++----- libavformat/sapdec.c | 2 +- libavformat/sapenc.c | 2 +- libavformat/url.h | 9 +++++++++ 16 files changed, 46 insertions(+), 41 deletions(-) (limited to 'libavformat/gopher.c') diff --git a/libavformat/applehttpproto.c b/libavformat/applehttpproto.c index fbc243e534..c7e12a9fb8 100644 --- a/libavformat/applehttpproto.c +++ b/libavformat/applehttpproto.c @@ -246,7 +246,7 @@ start: return ret; } if (s->seg_hd) { - url_close(s->seg_hd); + ffurl_close(s->seg_hd); s->seg_hd = NULL; s->cur_seq_no++; } @@ -292,7 +292,7 @@ static int applehttp_close(URLContext *h) free_segment_list(s); free_variant_list(s); - url_close(s->seg_hd); + ffurl_close(s->seg_hd); av_free(s); return 0; } diff --git a/libavformat/avio.c b/libavformat/avio.c index 8f13e5f6e5..b372ee376d 100644 --- a/libavformat/avio.c +++ b/libavformat/avio.c @@ -164,7 +164,7 @@ int url_open_protocol (URLContext **puc, struct URLProtocol *up, if (!ret) return 0; fail: - url_close(*puc); + ffurl_close(*puc); *puc = NULL; return ret; } @@ -196,6 +196,10 @@ int64_t url_seek(URLContext *h, int64_t pos, int whence) { return ffurl_seek(h, pos, whence); } +int url_close(URLContext *h) +{ + return ffurl_close(h); +} #endif #define URL_SCHEME_CHARS \ @@ -239,7 +243,7 @@ int ffurl_open(URLContext **puc, const char *filename, int flags) ret = ffurl_connect(*puc); if (!ret) return 0; - url_close(*puc); + ffurl_close(*puc); *puc = NULL; return ret; } @@ -309,7 +313,7 @@ int64_t ffurl_seek(URLContext *h, int64_t pos, int whence) return ret; } -int url_close(URLContext *h) +int ffurl_close(URLContext *h) { int ret = 0; if (!h) return 0; /* can happen when ffurl_open fails */ @@ -330,7 +334,7 @@ int url_exist(const char *filename) URLContext *h; if (ffurl_open(&h, filename, URL_RDONLY) < 0) return 0; - url_close(h); + ffurl_close(h); return 1; } diff --git a/libavformat/avio.h b/libavformat/avio.h index 7f53fdddc6..cd78d932d9 100644 --- a/libavformat/avio.h +++ b/libavformat/avio.h @@ -109,17 +109,9 @@ attribute_deprecated int url_read(URLContext *h, unsigned char *buf, int size); attribute_deprecated int url_read_complete(URLContext *h, unsigned char *buf, int size); attribute_deprecated int url_write(URLContext *h, const unsigned char *buf, int size); attribute_deprecated int64_t url_seek(URLContext *h, int64_t pos, int whence); +attribute_deprecated int url_close(URLContext *h); #endif -/** - * Close the resource accessed by the URLContext h, and free the - * memory used by it. - * - * @return a negative value if an error condition occurred, 0 - * otherwise - */ -int url_close(URLContext *h); - /** * Return a non-zero value if the resource indicated by url * exists, 0 otherwise. diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c index 306fe1c653..3d088ddcc7 100644 --- a/libavformat/aviobuf.c +++ b/libavformat/aviobuf.c @@ -950,7 +950,7 @@ int avio_open(AVIOContext **s, const char *filename, int flags) return err; err = ffio_fdopen(s, h); if (err < 0) { - url_close(h); + ffurl_close(h); return err; } return 0; @@ -962,7 +962,7 @@ int avio_close(AVIOContext *s) av_free(s->buffer); av_free(s); - return url_close(h); + return ffurl_close(h); } #if FF_API_OLD_AVIO diff --git a/libavformat/concat.c b/libavformat/concat.c index 0f3ecb0d21..40317de69e 100644 --- a/libavformat/concat.c +++ b/libavformat/concat.c @@ -47,7 +47,7 @@ static av_cold int concat_close(URLContext *h) struct concat_nodes *nodes = data->nodes; for (i = 0; i != data->length; i++) - err |= url_close(nodes[i].uc); + err |= ffurl_close(nodes[i].uc); av_freep(&data->nodes); av_freep(&h->priv_data); @@ -106,7 +106,7 @@ static av_cold int concat_open(URLContext *h, const char *uri, int flags) /* creating size */ if ((size = url_filesize(uc)) < 0) { - url_close(uc); + ffurl_close(uc); err = AVERROR(ENOSYS); break; } diff --git a/libavformat/gopher.c b/libavformat/gopher.c index c4c895df73..dfb79c9965 100644 --- a/libavformat/gopher.c +++ b/libavformat/gopher.c @@ -69,7 +69,7 @@ static int gopher_close(URLContext *h) { GopherContext *s = h->priv_data; if (s->hd) { - url_close(s->hd); + ffurl_close(s->hd); s->hd = NULL; } av_freep(&h->priv_data); diff --git a/libavformat/http.c b/libavformat/http.c index 61ae3f438c..bb756c2843 100644 --- a/libavformat/http.c +++ b/libavformat/http.c @@ -134,7 +134,7 @@ static int http_open_cnx(URLContext *h) goto fail; if (s->http_code == 401) { if (cur_auth_type == HTTP_AUTH_NONE && s->auth_state.auth_type != HTTP_AUTH_NONE) { - url_close(hd); + ffurl_close(hd); goto redo; } else goto fail; @@ -142,7 +142,7 @@ static int http_open_cnx(URLContext *h) if ((s->http_code == 301 || s->http_code == 302 || s->http_code == 303 || s->http_code == 307) && location_changed == 1) { /* url moved, get next */ - url_close(hd); + ffurl_close(hd); if (redirects++ >= MAX_REDIRECTS) return AVERROR(EIO); location_changed = 0; @@ -151,7 +151,7 @@ static int http_open_cnx(URLContext *h) return 0; fail: if (hd) - url_close(hd); + ffurl_close(hd); s->hd = NULL; return AVERROR(EIO); } @@ -457,7 +457,7 @@ static int http_close(URLContext *h) } if (s->hd) - url_close(s->hd); + ffurl_close(s->hd); return ret; } @@ -493,7 +493,7 @@ static int64_t http_seek(URLContext *h, int64_t off, int whence) s->off = old_off; return -1; } - url_close(old_hd); + ffurl_close(old_hd); return off; } diff --git a/libavformat/md5proto.c b/libavformat/md5proto.c index ae3e96de72..3f2755eb98 100644 --- a/libavformat/md5proto.c +++ b/libavformat/md5proto.c @@ -69,7 +69,7 @@ static int md5_close(URLContext *h) if (err) return err; err = ffurl_write(out, buf, i*2+1); - url_close(out); + ffurl_close(out); } else { if (fwrite(buf, 1, i*2+1, stdout) < i*2+1) err = AVERROR(errno); diff --git a/libavformat/mmsh.c b/libavformat/mmsh.c index 32f8e4d4e0..bf872b3dd5 100644 --- a/libavformat/mmsh.c +++ b/libavformat/mmsh.c @@ -64,7 +64,7 @@ static int mmsh_close(URLContext *h) MMSHContext *mmsh = (MMSHContext *)h->priv_data; MMSContext *mms = &mmsh->mms; if (mms->mms_hd) - url_close(mms->mms_hd); + ffurl_close(mms->mms_hd); av_free(mms->streams); av_free(mms->asf_header); av_freep(&h->priv_data); @@ -259,7 +259,7 @@ static int mmsh_open(URLContext *h, const char *uri, int flags) } // close the socket and then reopen it for sending the second play request. - url_close(mms->mms_hd); + ffurl_close(mms->mms_hd); memset(headers, 0, sizeof(headers)); if (ffurl_alloc(&mms->mms_hd, httpname, URL_RDONLY) < 0) { return AVERROR(EIO); diff --git a/libavformat/mmst.c b/libavformat/mmst.c index b843b6472b..cba65e2ee5 100644 --- a/libavformat/mmst.c +++ b/libavformat/mmst.c @@ -464,7 +464,7 @@ static int mms_close(URLContext *h) MMSContext *mms = &mmst->mms; if(mms->mms_hd) { send_close_packet(mmst); - url_close(mms->mms_hd); + ffurl_close(mms->mms_hd); } /* free all separately allocated pointers in mms */ diff --git a/libavformat/rtmpproto.c b/libavformat/rtmpproto.c index 98babcfc3b..b87e4b8b0d 100644 --- a/libavformat/rtmpproto.c +++ b/libavformat/rtmpproto.c @@ -786,7 +786,7 @@ static int rtmp_close(URLContext *h) gen_delete_stream(h, rt); av_freep(&rt->flv_data); - url_close(rt->stream); + ffurl_close(rt->stream); av_free(rt); return 0; } diff --git a/libavformat/rtpproto.c b/libavformat/rtpproto.c index 22e59859d3..8772510ac5 100644 --- a/libavformat/rtpproto.c +++ b/libavformat/rtpproto.c @@ -212,9 +212,9 @@ static int rtp_open(URLContext *h, const char *uri, int flags) fail: if (s->rtp_hd) - url_close(s->rtp_hd); + ffurl_close(s->rtp_hd); if (s->rtcp_hd) - url_close(s->rtcp_hd); + ffurl_close(s->rtcp_hd); av_free(s); return AVERROR(EIO); } @@ -313,8 +313,8 @@ static int rtp_close(URLContext *h) { RTPContext *s = h->priv_data; - url_close(s->rtp_hd); - url_close(s->rtcp_hd); + ffurl_close(s->rtp_hd); + ffurl_close(s->rtcp_hd); av_free(s); return 0; } diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index caa66c60cc..ac40430c57 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -509,7 +509,7 @@ void ff_rtsp_undo_setup(AVFormatContext *s) } rtsp_st->transport_priv = NULL; if (rtsp_st->rtp_handle) - url_close(rtsp_st->rtp_handle); + ffurl_close(rtsp_st->rtp_handle); rtsp_st->rtp_handle = NULL; } } @@ -1297,8 +1297,8 @@ fail: void ff_rtsp_close_connections(AVFormatContext *s) { RTSPState *rt = s->priv_data; - if (rt->rtsp_hd_out != rt->rtsp_hd) url_close(rt->rtsp_hd_out); - url_close(rt->rtsp_hd); + if (rt->rtsp_hd_out != rt->rtsp_hd) ffurl_close(rt->rtsp_hd_out); + ffurl_close(rt->rtsp_hd); rt->rtsp_hd = rt->rtsp_hd_out = NULL; } @@ -1888,7 +1888,7 @@ static int rtp_read_header(AVFormatContext *s, break; } getsockname(url_get_file_handle(in), (struct sockaddr*) &addr, &addrlen); - url_close(in); + ffurl_close(in); in = NULL; memset(&codec, 0, sizeof(codec)); @@ -1927,7 +1927,7 @@ static int rtp_read_header(AVFormatContext *s, fail: if (in) - url_close(in); + ffurl_close(in); ff_network_close(); return ret; } diff --git a/libavformat/sapdec.c b/libavformat/sapdec.c index c8cbde8e44..c3e7a8bbc0 100644 --- a/libavformat/sapdec.c +++ b/libavformat/sapdec.c @@ -54,7 +54,7 @@ static int sap_read_close(AVFormatContext *s) if (sap->sdp_ctx) av_close_input_stream(sap->sdp_ctx); if (sap->ann_fd) - url_close(sap->ann_fd); + ffurl_close(sap->ann_fd); av_freep(&sap->sdp); ff_network_close(); return 0; diff --git a/libavformat/sapenc.c b/libavformat/sapenc.c index 25354208b7..ad8cbac52f 100644 --- a/libavformat/sapenc.c +++ b/libavformat/sapenc.c @@ -59,7 +59,7 @@ static int sap_write_close(AVFormatContext *s) av_freep(&sap->ann); if (sap->ann_fd) - url_close(sap->ann_fd); + ffurl_close(sap->ann_fd); ff_network_close(); return 0; } diff --git a/libavformat/url.h b/libavformat/url.h index ad0f35de79..2ec3eb4a46 100644 --- a/libavformat/url.h +++ b/libavformat/url.h @@ -102,4 +102,13 @@ int ffurl_write(URLContext *h, const unsigned char *buf, int size); */ int64_t ffurl_seek(URLContext *h, int64_t pos, int whence); +/** + * Close the resource accessed by the URLContext h, and free the + * memory used by it. + * + * @return a negative value if an error condition occurred, 0 + * otherwise + */ +int ffurl_close(URLContext *h); + #endif //AVFORMAT_URL_H -- cgit v1.2.3