X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Favio_internal.h;h=a8bcadd38b60ba22bd53eebe301291dc84f3a4ce;hb=8895bf7b78650c0c21c88cec0484e138ec511a4b;hp=4fa3adb2706c7409e214f32ddba3800015c8f9dc;hpb=daf1e0d3de03bd424016e2a7520e4e94ece5c0ac;p=ffmpeg diff --git a/libavformat/avio_internal.h b/libavformat/avio_internal.h index 4fa3adb2706..a8bcadd38b6 100644 --- a/libavformat/avio_internal.h +++ b/libavformat/avio_internal.h @@ -52,7 +52,7 @@ int ffio_init_context(AVIOContext *s, * will be a copy of buf * @return number of bytes read or AVERROR */ -int ffio_read_indirect(AVIOContext *s, unsigned char *buf, int size, unsigned char **data); +int ffio_read_indirect(AVIOContext *s, unsigned char *buf, int size, const unsigned char **data); /** * Read size bytes from AVIOContext into buf. @@ -94,6 +94,8 @@ void ffio_init_checksum(AVIOContext *s, unsigned long ffio_get_checksum(AVIOContext *s); unsigned long ff_crc04C11DB7_update(unsigned long checksum, const uint8_t *buf, unsigned int len); +unsigned long ff_crcA001_update(unsigned long checksum, const uint8_t *buf, + unsigned int len); /** * Open a write only packetized memory stream with a maximum packet @@ -119,4 +121,22 @@ int ffio_open_dyn_packet_buf(AVIOContext **s, int max_packet_size); */ int ffio_fdopen(AVIOContext **s, URLContext *h); +/** + * Open a write-only fake memory stream. The written data is not stored + * anywhere - this is only used for measuring the amount of data + * written. + * + * @param s new IO context + * @return zero if no error. + */ +int ffio_open_null_buf(AVIOContext **s); + +/** + * Close a null buffer. + * + * @param s an IO context opened by ffio_open_null_buf + * @return the number of bytes written to the null buffer + */ +int ffio_close_null_buf(AVIOContext *s); + #endif /* AVFORMAT_AVIO_INTERNAL_H */