The unbuffered URLContext API will be made private, so there's no point in this function being public.tags/n0.8
@@ -450,6 +450,7 @@ attribute_deprecated void put_flush_packet(AVIOContext *s); | |||||
attribute_deprecated int url_open_dyn_buf(AVIOContext **s); | attribute_deprecated int url_open_dyn_buf(AVIOContext **s); | ||||
attribute_deprecated int url_open_dyn_packet_buf(AVIOContext **s, int max_packet_size); | attribute_deprecated int url_open_dyn_packet_buf(AVIOContext **s, int max_packet_size); | ||||
attribute_deprecated int url_close_dyn_buf(AVIOContext *s, uint8_t **pbuffer); | attribute_deprecated int url_close_dyn_buf(AVIOContext *s, uint8_t **pbuffer); | ||||
attribute_deprecated int url_fdopen(AVIOContext **s, URLContext *h); | |||||
/** | /** | ||||
* @} | * @} | ||||
*/ | */ | ||||
@@ -625,19 +626,6 @@ attribute_deprecated static inline int url_is_streamed(AVIOContext *s) | |||||
} | } | ||||
#endif | #endif | ||||
/** | |||||
* Create and initialize a AVIOContext for accessing the | |||||
* resource referenced by the URLContext h. | |||||
* @note When the URLContext h has been opened in read+write mode, the | |||||
* AVIOContext can be used only for writing. | |||||
* | |||||
* @param s Used to return the pointer to the created AVIOContext. | |||||
* In case of failure the pointed to value is set to NULL. | |||||
* @return 0 in case of success, a negative value corresponding to an | |||||
* AVERROR code in case of failure | |||||
*/ | |||||
int url_fdopen(AVIOContext **s, URLContext *h); | |||||
#if FF_API_URL_RESETBUF | #if FF_API_URL_RESETBUF | ||||
/** Reset the buffer for reading or writing. | /** Reset the buffer for reading or writing. | ||||
* @note Will drop any data currently in the buffer without transmitting it. | * @note Will drop any data currently in the buffer without transmitting it. | ||||
@@ -92,4 +92,17 @@ unsigned long ff_crc04C11DB7_update(unsigned long checksum, const uint8_t *buf, | |||||
*/ | */ | ||||
int ffio_open_dyn_packet_buf(AVIOContext **s, int max_packet_size); | int ffio_open_dyn_packet_buf(AVIOContext **s, int max_packet_size); | ||||
/** | |||||
* Create and initialize a AVIOContext for accessing the | |||||
* resource referenced by the URLContext h. | |||||
* @note When the URLContext h has been opened in read+write mode, the | |||||
* AVIOContext can be used only for writing. | |||||
* | |||||
* @param s Used to return the pointer to the created AVIOContext. | |||||
* In case of failure the pointed to value is set to NULL. | |||||
* @return 0 in case of success, a negative value corresponding to an | |||||
* AVERROR code in case of failure | |||||
*/ | |||||
int ffio_fdopen(AVIOContext **s, URLContext *h); | |||||
#endif // AVFORMAT_AVIO_INTERNAL_H | #endif // AVFORMAT_AVIO_INTERNAL_H |
@@ -431,6 +431,10 @@ int url_close_dyn_buf(AVIOContext *s, uint8_t **pbuffer) | |||||
{ | { | ||||
return avio_close_dyn_buf(s, pbuffer); | return avio_close_dyn_buf(s, pbuffer); | ||||
} | } | ||||
int url_fdopen(AVIOContext **s, URLContext *h) | |||||
{ | |||||
return ffio_fdopen(s, h); | |||||
} | |||||
#endif | #endif | ||||
int avio_put_str(AVIOContext *s, const char *str) | int avio_put_str(AVIOContext *s, const char *str) | ||||
@@ -818,7 +822,7 @@ uint64_t ffio_read_varlen(AVIOContext *bc){ | |||||
return val; | return val; | ||||
} | } | ||||
int url_fdopen(AVIOContext **s, URLContext *h) | |||||
int ffio_fdopen(AVIOContext **s, URLContext *h) | |||||
{ | { | ||||
uint8_t *buffer; | uint8_t *buffer; | ||||
int buffer_size, max_packet_size; | int buffer_size, max_packet_size; | ||||
@@ -943,7 +947,7 @@ int avio_open(AVIOContext **s, const char *filename, int flags) | |||||
err = url_open(&h, filename, flags); | err = url_open(&h, filename, flags); | ||||
if (err < 0) | if (err < 0) | ||||
return err; | return err; | ||||
err = url_fdopen(s, h); | |||||
err = ffio_fdopen(s, h); | |||||
if (err < 0) { | if (err < 0) { | ||||
url_close(h); | url_close(h); | ||||
return err; | return err; | ||||
@@ -20,6 +20,7 @@ | |||||
*/ | */ | ||||
#include "avformat.h" | #include "avformat.h" | ||||
#include "avio_internal.h" | |||||
#include "rtpenc_chain.h" | #include "rtpenc_chain.h" | ||||
#include "avio_internal.h" | #include "avio_internal.h" | ||||
@@ -54,7 +55,7 @@ AVFormatContext *ff_rtp_chain_mux_open(AVFormatContext *s, AVStream *st, | |||||
avcodec_copy_context(rtpctx->streams[0]->codec, st->codec); | avcodec_copy_context(rtpctx->streams[0]->codec, st->codec); | ||||
if (handle) { | if (handle) { | ||||
url_fdopen(&rtpctx->pb, handle); | |||||
ffio_fdopen(&rtpctx->pb, handle); | |||||
} else | } else | ||||
ffio_open_dyn_packet_buf(&rtpctx->pb, packet_size); | ffio_open_dyn_packet_buf(&rtpctx->pb, packet_size); | ||||
ret = av_write_header(rtpctx); | ret = av_write_header(rtpctx); | ||||