mirror of https://git.ffmpeg.org/ffmpeg.git
avio: make url_read() internal.
This commit is contained in:
parent
0589da0aa5
commit
bc371aca46
|
@ -241,7 +241,7 @@ static int applehttp_read(URLContext *h, uint8_t *buf, int size)
|
||||||
|
|
||||||
start:
|
start:
|
||||||
if (s->seg_hd) {
|
if (s->seg_hd) {
|
||||||
ret = url_read(s->seg_hd, buf, size);
|
ret = ffurl_read(s->seg_hd, buf, size);
|
||||||
if (ret > 0)
|
if (ret > 0)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
|
@ -180,6 +180,10 @@ int url_open(URLContext **puc, const char *filename, int flags)
|
||||||
{
|
{
|
||||||
return ffurl_open(puc, filename, flags);
|
return ffurl_open(puc, filename, flags);
|
||||||
}
|
}
|
||||||
|
int url_read(URLContext *h, unsigned char *buf, int size)
|
||||||
|
{
|
||||||
|
return ffurl_read(h, buf, size);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define URL_SCHEME_CHARS \
|
#define URL_SCHEME_CHARS \
|
||||||
|
@ -258,7 +262,7 @@ static inline int retry_transfer_wrapper(URLContext *h, unsigned char *buf, int
|
||||||
return len;
|
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)
|
if (h->flags & URL_WRONLY)
|
||||||
return AVERROR(EIO);
|
return AVERROR(EIO);
|
||||||
|
|
|
@ -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_alloc(URLContext **h, const char *url, int flags);
|
||||||
attribute_deprecated int url_connect(URLContext *h);
|
attribute_deprecated int url_connect(URLContext *h);
|
||||||
attribute_deprecated int url_open(URLContext **h, const char *url, int flags);
|
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
|
#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 as many bytes as possible (up to size), calling the
|
||||||
* read function multiple times if necessary.
|
* read function multiple times if necessary.
|
||||||
|
|
|
@ -846,7 +846,7 @@ int ffio_fdopen(AVIOContext **s, URLContext *h)
|
||||||
|
|
||||||
if (ffio_init_context(*s, buffer, buffer_size,
|
if (ffio_init_context(*s, buffer, buffer_size,
|
||||||
(h->flags & URL_WRONLY || h->flags & URL_RDWR), h,
|
(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_free(buffer);
|
||||||
av_freep(s);
|
av_freep(s);
|
||||||
return AVERROR(EIO);
|
return AVERROR(EIO);
|
||||||
|
|
|
@ -136,7 +136,7 @@ static int concat_read(URLContext *h, unsigned char *buf, int size)
|
||||||
size_t i = data->current;
|
size_t i = data->current;
|
||||||
|
|
||||||
while (size > 0) {
|
while (size > 0) {
|
||||||
result = url_read(nodes[i].uc, buf, size);
|
result = ffurl_read(nodes[i].uc, buf, size);
|
||||||
if (result < 0)
|
if (result < 0)
|
||||||
return total ? total : result;
|
return total ? total : result;
|
||||||
if (!result)
|
if (!result)
|
||||||
|
|
|
@ -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)
|
static int gopher_read(URLContext *h, uint8_t *buf, int size)
|
||||||
{
|
{
|
||||||
GopherContext *s = h->priv_data;
|
GopherContext *s = h->priv_data;
|
||||||
int len = url_read(s->hd, buf, size);
|
int len = ffurl_read(s->hd, buf, size);
|
||||||
return len;
|
return len;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -171,7 +171,7 @@ static int http_getc(HTTPContext *s)
|
||||||
{
|
{
|
||||||
int len;
|
int len;
|
||||||
if (s->buf_ptr >= s->buf_end) {
|
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) {
|
if (len < 0) {
|
||||||
return AVERROR(EIO);
|
return AVERROR(EIO);
|
||||||
} else if (len == 0) {
|
} else if (len == 0) {
|
||||||
|
@ -407,7 +407,7 @@ static int http_read(URLContext *h, uint8_t *buf, int size)
|
||||||
} else {
|
} else {
|
||||||
if (!s->willclose && s->filesize >= 0 && s->off >= s->filesize)
|
if (!s->willclose && s->filesize >= 0 && s->off >= s->filesize)
|
||||||
return AVERROR_EOF;
|
return AVERROR_EOF;
|
||||||
len = url_read(s->hd, buf, size);
|
len = ffurl_read(s->hd, buf, size);
|
||||||
}
|
}
|
||||||
if (len > 0) {
|
if (len > 0) {
|
||||||
s->off += len;
|
s->off += len;
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
|
|
||||||
#include "rtmppkt.h"
|
#include "rtmppkt.h"
|
||||||
#include "flv.h"
|
#include "flv.h"
|
||||||
|
#include "url.h"
|
||||||
|
|
||||||
void ff_amf_write_bool(uint8_t **dst, int val)
|
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;
|
enum RTMPPacketType type;
|
||||||
int size = 0;
|
int size = 0;
|
||||||
|
|
||||||
if (url_read(h, &hdr, 1) != 1)
|
if (ffurl_read(h, &hdr, 1) != 1)
|
||||||
return AVERROR(EIO);
|
return AVERROR(EIO);
|
||||||
size++;
|
size++;
|
||||||
channel_id = hdr & 0x3F;
|
channel_id = hdr & 0x3F;
|
||||||
|
|
|
@ -1594,7 +1594,7 @@ static int udp_read_packet(AVFormatContext *s, RTSPStream **prtsp_st,
|
||||||
rtsp_st = rt->rtsp_streams[i];
|
rtsp_st = rt->rtsp_streams[i];
|
||||||
if (rtsp_st->rtp_handle) {
|
if (rtsp_st->rtp_handle) {
|
||||||
if (p[j].revents & POLLIN || p[j+1].revents & POLLIN) {
|
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) {
|
if (ret > 0) {
|
||||||
*prtsp_st = rtsp_st;
|
*prtsp_st = rtsp_st;
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -1868,7 +1868,7 @@ static int rtp_read_header(AVFormatContext *s,
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
ret = url_read(in, recvbuf, sizeof(recvbuf));
|
ret = ffurl_read(in, recvbuf, sizeof(recvbuf));
|
||||||
if (ret == AVERROR(EAGAIN))
|
if (ret == AVERROR(EAGAIN))
|
||||||
continue;
|
continue;
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
|
|
|
@ -93,7 +93,7 @@ static int sap_read_header(AVFormatContext *s,
|
||||||
int addr_type, auth_len;
|
int addr_type, auth_len;
|
||||||
int pos;
|
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))
|
if (ret == AVERROR(EAGAIN))
|
||||||
continue;
|
continue;
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
|
@ -195,7 +195,7 @@ static int sap_fetch_packet(AVFormatContext *s, AVPacket *pkt)
|
||||||
n = poll(&p, 1, 0);
|
n = poll(&p, 1, 0);
|
||||||
if (n <= 0 || !(p.revents & POLLIN))
|
if (n <= 0 || !(p.revents & POLLIN))
|
||||||
break;
|
break;
|
||||||
ret = url_read(sap->ann_fd, recvbuf, sizeof(recvbuf));
|
ret = ffurl_read(sap->ann_fd, recvbuf, sizeof(recvbuf));
|
||||||
if (ret >= 8) {
|
if (ret >= 8) {
|
||||||
uint16_t hash = AV_RB16(&recvbuf[2]);
|
uint16_t hash = AV_RB16(&recvbuf[2]);
|
||||||
/* Should ideally check the source IP address, too */
|
/* Should ideally check the source IP address, too */
|
||||||
|
|
|
@ -58,4 +58,15 @@ int ffurl_connect(URLContext *h);
|
||||||
*/
|
*/
|
||||||
int ffurl_open(URLContext **h, const char *url, int flags);
|
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
|
#endif //AVFORMAT_URL_H
|
||||||
|
|
Loading…
Reference in New Issue