avio: make url_close() internal.

This commit is contained in:
Anton Khirnov 2011-03-31 17:36:06 +02:00
parent 58a48c6511
commit e52a9145c8
16 changed files with 46 additions and 41 deletions

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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.

View File

@ -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

View File

@ -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;
}

View File

@ -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);

View File

@ -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;
}

View File

@ -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);

View File

@ -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);

View File

@ -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 */

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;

View File

@ -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;
}

View File

@ -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