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