mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-12-15 11:30:08 +01:00
avio: make url_get_file_handle() internal.
This commit is contained in:
@@ -204,6 +204,10 @@ int64_t url_filesize(URLContext *h)
|
|||||||
{
|
{
|
||||||
return ffurl_size(h);
|
return ffurl_size(h);
|
||||||
}
|
}
|
||||||
|
int url_get_file_handle(URLContext *h)
|
||||||
|
{
|
||||||
|
return ffurl_get_file_handle(h);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define URL_SCHEME_CHARS \
|
#define URL_SCHEME_CHARS \
|
||||||
@@ -357,7 +361,7 @@ int64_t ffurl_size(URLContext *h)
|
|||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
int url_get_file_handle(URLContext *h)
|
int ffurl_get_file_handle(URLContext *h)
|
||||||
{
|
{
|
||||||
if (!h->prot->url_get_file_handle)
|
if (!h->prot->url_get_file_handle)
|
||||||
return -1;
|
return -1;
|
||||||
|
|||||||
@@ -111,6 +111,7 @@ attribute_deprecated int url_write(URLContext *h, const unsigned char *buf, int
|
|||||||
attribute_deprecated int64_t url_seek(URLContext *h, int64_t pos, int whence);
|
attribute_deprecated int64_t url_seek(URLContext *h, int64_t pos, int whence);
|
||||||
attribute_deprecated int url_close(URLContext *h);
|
attribute_deprecated int url_close(URLContext *h);
|
||||||
attribute_deprecated int64_t url_filesize(URLContext *h);
|
attribute_deprecated int64_t url_filesize(URLContext *h);
|
||||||
|
attribute_deprecated int url_get_file_handle(URLContext *h);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -119,14 +120,6 @@ attribute_deprecated int64_t url_filesize(URLContext *h);
|
|||||||
*/
|
*/
|
||||||
int url_exist(const char *url);
|
int url_exist(const char *url);
|
||||||
|
|
||||||
/**
|
|
||||||
* Return the file descriptor associated with this URL. For RTP, this
|
|
||||||
* will return only the RTP file descriptor, not the RTCP file descriptor.
|
|
||||||
*
|
|
||||||
* @return the file descriptor associated with this URL, or <0 on error.
|
|
||||||
*/
|
|
||||||
int url_get_file_handle(URLContext *h);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the maximum packet size associated to packetized file
|
* Return the maximum packet size associated to packetized file
|
||||||
* handle. If the file is not packetized (stream like HTTP or file on
|
* handle. If the file is not packetized (stream like HTTP or file on
|
||||||
|
|||||||
@@ -501,7 +501,7 @@ static int
|
|||||||
http_get_file_handle(URLContext *h)
|
http_get_file_handle(URLContext *h)
|
||||||
{
|
{
|
||||||
HTTPContext *s = h->priv_data;
|
HTTPContext *s = h->priv_data;
|
||||||
return url_get_file_handle(s->hd);
|
return ffurl_get_file_handle(s->hd);
|
||||||
}
|
}
|
||||||
|
|
||||||
URLProtocol ff_http_protocol = {
|
URLProtocol ff_http_protocol = {
|
||||||
|
|||||||
@@ -203,8 +203,8 @@ static int rtp_open(URLContext *h, const char *uri, int flags)
|
|||||||
|
|
||||||
/* just to ease handle access. XXX: need to suppress direct handle
|
/* just to ease handle access. XXX: need to suppress direct handle
|
||||||
access */
|
access */
|
||||||
s->rtp_fd = url_get_file_handle(s->rtp_hd);
|
s->rtp_fd = ffurl_get_file_handle(s->rtp_hd);
|
||||||
s->rtcp_fd = url_get_file_handle(s->rtcp_hd);
|
s->rtcp_fd = ffurl_get_file_handle(s->rtcp_hd);
|
||||||
|
|
||||||
h->max_packet_size = url_get_max_packet_size(s->rtp_hd);
|
h->max_packet_size = url_get_max_packet_size(s->rtp_hd);
|
||||||
h->is_streamed = 1;
|
h->is_streamed = 1;
|
||||||
|
|||||||
@@ -1468,7 +1468,7 @@ redirect:
|
|||||||
}
|
}
|
||||||
rt->seq = 0;
|
rt->seq = 0;
|
||||||
|
|
||||||
tcp_fd = url_get_file_handle(rt->rtsp_hd);
|
tcp_fd = ffurl_get_file_handle(rt->rtsp_hd);
|
||||||
if (!getpeername(tcp_fd, (struct sockaddr*) &peer, &peer_len)) {
|
if (!getpeername(tcp_fd, (struct sockaddr*) &peer, &peer_len)) {
|
||||||
getnameinfo((struct sockaddr*) &peer, peer_len, host, sizeof(host),
|
getnameinfo((struct sockaddr*) &peer, peer_len, host, sizeof(host),
|
||||||
NULL, 0, NI_NUMERICHOST);
|
NULL, 0, NI_NUMERICHOST);
|
||||||
@@ -1571,7 +1571,7 @@ static int udp_read_packet(AVFormatContext *s, RTSPStream **prtsp_st,
|
|||||||
return AVERROR(EAGAIN);
|
return AVERROR(EAGAIN);
|
||||||
max_p = 0;
|
max_p = 0;
|
||||||
if (rt->rtsp_hd) {
|
if (rt->rtsp_hd) {
|
||||||
tcp_fd = url_get_file_handle(rt->rtsp_hd);
|
tcp_fd = ffurl_get_file_handle(rt->rtsp_hd);
|
||||||
p[max_p].fd = tcp_fd;
|
p[max_p].fd = tcp_fd;
|
||||||
p[max_p++].events = POLLIN;
|
p[max_p++].events = POLLIN;
|
||||||
} else {
|
} else {
|
||||||
@@ -1580,7 +1580,7 @@ static int udp_read_packet(AVFormatContext *s, RTSPStream **prtsp_st,
|
|||||||
for (i = 0; i < rt->nb_rtsp_streams; i++) {
|
for (i = 0; i < rt->nb_rtsp_streams; i++) {
|
||||||
rtsp_st = rt->rtsp_streams[i];
|
rtsp_st = rt->rtsp_streams[i];
|
||||||
if (rtsp_st->rtp_handle) {
|
if (rtsp_st->rtp_handle) {
|
||||||
p[max_p].fd = url_get_file_handle(rtsp_st->rtp_handle);
|
p[max_p].fd = ffurl_get_file_handle(rtsp_st->rtp_handle);
|
||||||
p[max_p++].events = POLLIN;
|
p[max_p++].events = POLLIN;
|
||||||
p[max_p].fd = rtp_get_rtcp_file_handle(rtsp_st->rtp_handle);
|
p[max_p].fd = rtp_get_rtcp_file_handle(rtsp_st->rtp_handle);
|
||||||
p[max_p++].events = POLLIN;
|
p[max_p++].events = POLLIN;
|
||||||
@@ -1887,7 +1887,7 @@ static int rtp_read_header(AVFormatContext *s,
|
|||||||
payload_type = recvbuf[1] & 0x7f;
|
payload_type = recvbuf[1] & 0x7f;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
getsockname(url_get_file_handle(in), (struct sockaddr*) &addr, &addrlen);
|
getsockname(ffurl_get_file_handle(in), (struct sockaddr*) &addr, &addrlen);
|
||||||
ffurl_close(in);
|
ffurl_close(in);
|
||||||
in = NULL;
|
in = NULL;
|
||||||
|
|
||||||
|
|||||||
@@ -173,7 +173,7 @@ static int rtsp_write_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
RTSPState *rt = s->priv_data;
|
RTSPState *rt = s->priv_data;
|
||||||
RTSPStream *rtsp_st;
|
RTSPStream *rtsp_st;
|
||||||
int n;
|
int n;
|
||||||
struct pollfd p = {url_get_file_handle(rt->rtsp_hd), POLLIN, 0};
|
struct pollfd p = {ffurl_get_file_handle(rt->rtsp_hd), POLLIN, 0};
|
||||||
AVFormatContext *rtpctx;
|
AVFormatContext *rtpctx;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
|||||||
@@ -183,7 +183,7 @@ fail:
|
|||||||
static int sap_fetch_packet(AVFormatContext *s, AVPacket *pkt)
|
static int sap_fetch_packet(AVFormatContext *s, AVPacket *pkt)
|
||||||
{
|
{
|
||||||
struct SAPState *sap = s->priv_data;
|
struct SAPState *sap = s->priv_data;
|
||||||
int fd = url_get_file_handle(sap->ann_fd);
|
int fd = ffurl_get_file_handle(sap->ann_fd);
|
||||||
int n, ret;
|
int n, ret;
|
||||||
struct pollfd p = {fd, POLLIN, 0};
|
struct pollfd p = {fd, POLLIN, 0};
|
||||||
uint8_t recvbuf[1500];
|
uint8_t recvbuf[1500];
|
||||||
|
|||||||
@@ -164,7 +164,7 @@ static int sap_write_header(AVFormatContext *s)
|
|||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
udp_fd = url_get_file_handle(sap->ann_fd);
|
udp_fd = ffurl_get_file_handle(sap->ann_fd);
|
||||||
if (getsockname(udp_fd, (struct sockaddr*) &localaddr, &addrlen)) {
|
if (getsockname(udp_fd, (struct sockaddr*) &localaddr, &addrlen)) {
|
||||||
ret = AVERROR(EIO);
|
ret = AVERROR(EIO);
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|||||||
@@ -118,4 +118,12 @@ int ffurl_close(URLContext *h);
|
|||||||
*/
|
*/
|
||||||
int64_t ffurl_size(URLContext *h);
|
int64_t ffurl_size(URLContext *h);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the file descriptor associated with this URL. For RTP, this
|
||||||
|
* will return only the RTP file descriptor, not the RTCP file descriptor.
|
||||||
|
*
|
||||||
|
* @return the file descriptor associated with this URL, or <0 on error.
|
||||||
|
*/
|
||||||
|
int ffurl_get_file_handle(URLContext *h);
|
||||||
|
|
||||||
#endif //AVFORMAT_URL_H
|
#endif //AVFORMAT_URL_H
|
||||||
|
|||||||
Reference in New Issue
Block a user