The unbuffered URLContext API will be made private, so there's no point in this function being public. --- libavformat/avio.h | 14 +------------- libavformat/avio_internal.h | 13 +++++++++++++ libavformat/aviobuf.c | 8 ++++++-- libavformat/rtpenc_chain.c | 3 ++- 4 files changed, 22 insertions(+), 16 deletions(-)
diff --git a/libavformat/avio.h b/libavformat/avio.h index 049ec57..47d5263 100644 --- a/libavformat/avio.h +++ b/libavformat/avio.h @@ -451,6 +451,7 @@ attribute_deprecated void put_flush_packet(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_close_dyn_buf(AVIOContext *s, uint8_t **pbuffer); +attribute_deprecated int url_fdopen(AVIOContext **s, URLContext *h); /** * @} */ @@ -610,19 +611,6 @@ attribute_deprecated static inline int url_is_streamed(AVIOContext *s) } #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 /** Reset the buffer for reading or writing. * @note Will drop any data currently in the buffer without transmitting it. diff --git a/libavformat/avio_internal.h b/libavformat/avio_internal.h index 916de8f..56fa5c1 100644 --- a/libavformat/avio_internal.h +++ b/libavformat/avio_internal.h @@ -81,4 +81,17 @@ unsigned long ffio_get_checksum(AVIOContext *s); unsigned long ff_crc04C11DB7_update(unsigned long checksum, const uint8_t *buf, unsigned int len); +/** + * 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 diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c index 1020467..74675bc 100644 --- a/libavformat/aviobuf.c +++ b/libavformat/aviobuf.c @@ -431,6 +431,10 @@ int url_close_dyn_buf(AVIOContext *s, uint8_t **pbuffer) { return avio_close_dyn_buf(s, pbuffer); } +int url_fdopen(AVIOContext **s, URLContext *h) +{ + return ffio_fdopen(s, h); +} #endif int avio_put_str(AVIOContext *s, const char *str) @@ -818,7 +822,7 @@ uint64_t ffio_read_varlen(AVIOContext *bc){ return val; } -int url_fdopen(AVIOContext **s, URLContext *h) +int ffio_fdopen(AVIOContext **s, URLContext *h) { uint8_t *buffer; 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); if (err < 0) return err; - err = url_fdopen(s, h); + err = ffio_fdopen(s, h); if (err < 0) { url_close(h); return err; diff --git a/libavformat/rtpenc_chain.c b/libavformat/rtpenc_chain.c index d4b8a4d..826df71 100644 --- a/libavformat/rtpenc_chain.c +++ b/libavformat/rtpenc_chain.c @@ -20,6 +20,7 @@ */ #include "avformat.h" +#include "avio_internal.h" #include "rtpenc_chain.h" AVFormatContext *ff_rtp_chain_mux_open(AVFormatContext *s, AVStream *st, @@ -53,7 +54,7 @@ AVFormatContext *ff_rtp_chain_mux_open(AVFormatContext *s, AVStream *st, avcodec_copy_context(rtpctx->streams[0]->codec, st->codec); if (handle) { - url_fdopen(&rtpctx->pb, handle); + ffio_fdopen(&rtpctx->pb, handle); } else avio_open_dyn_packet_buf(&rtpctx->pb, packet_size); ret = av_write_header(rtpctx); -- 1.7.4.1 _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel