On Fri, 18 Aug 2017 15:22:28 +0200 Anton Khirnov <[email protected]> wrote:
> Quoting wm4 (2017-08-18 14:44:45) > > On Fri, 18 Aug 2017 15:40:32 +0300 (EEST) > > Martin Storsjö <[email protected]> wrote: > > > > > On Fri, 18 Aug 2017, Anton Khirnov wrote: > > > > > > > Quoting wm4 (2017-08-17 15:01:44) > > > >> Main use-case is proxying avio through a foreign I/O layer and a custom > > > >> AVIO context, without losing latency and performance characteristics. > > > >> --- > > > >> doc/APIchanges | 3 +++ > > > >> libavformat/avio.h | 9 +++++++++ > > > >> libavformat/avio_internal.h | 8 -------- > > > >> libavformat/aviobuf.c | 2 +- > > > >> libavformat/rawdec.c | 2 +- > > > >> libavformat/rtsp.c | 2 +- > > > >> libavformat/version.h | 2 +- > > > >> 7 files changed, 16 insertions(+), 12 deletions(-) > > > >> > > > >> diff --git a/doc/APIchanges b/doc/APIchanges > > > >> index 463247f48e..ed90be890d 100644 > > > >> --- a/doc/APIchanges > > > >> +++ b/doc/APIchanges > > > >> @@ -13,6 +13,9 @@ libavutil: 2017-03-23 > > > >> > > > >> API changes, most recent first: > > > >> > > > >> +2016-xx-xx - xxxxxxx - lavf 58.1.0 - avio.h > > > >> + Add avio_read_partial(). > > > >> + > > > >> 2017-xx-xx - xxxxxxx - lavu 56.4.0 - imgutils.h > > > >> Add av_image_fill_black(). > > > >> > > > >> diff --git a/libavformat/avio.h b/libavformat/avio.h > > > >> index e65135ed99..f604c4ad41 100644 > > > >> --- a/libavformat/avio.h > > > >> +++ b/libavformat/avio.h > > > >> @@ -331,6 +331,15 @@ void avio_flush(AVIOContext *s); > > > >> */ > > > >> int avio_read(AVIOContext *s, unsigned char *buf, int size); > > > >> > > > >> +/** > > > >> + * Read size bytes from AVIOContext into buf. Unlike avio_read(), > > > >> this is allowed > > > >> + * to read fewer bytes than requested. The missing bytes can be read > > > >> in the next > > > >> + * call. This always tries to read at least 1 byte. > > > >> + * Useful to reduce latency in certain cases. > > > >> + * @return number of bytes read or AVERROR > > > >> + */ > > > >> +int avio_read_partial(AVIOContext *s, unsigned char *buf, int size); > > > >> > > > > > > > > Maybe this would be a good opportunity to make this size_t > > > > > > Hmm, not sure how much point there is in that, since all of the > > > intermediate api (the avio callbacks) still are in int. So I'm wondering > > > if it's better to change things gradually with a large inconsistency > > > internally in the avio layer, or just switch it all at once (if needed). > > > > I'd vote the latter. > > Well, it's easier to change internals than public API. > > In this case I'd prefer a gradual transition. > I'm telling you that makes no sense. int is everywhere in the avio code, including the central/most used parts of the API, and it won't help a single bit to change an obscure function to size_t, and for which the only effect of the change is probably to trigger weird bugs. _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
