Add a generic write function to av_fifo.
[ffmpeg.git] / libavutil / fifo.h
index 817a8a6..fccb322 100644 (file)
@@ -76,7 +76,21 @@ int av_fifo_generic_read(AVFifoBuffer *f, int buf_size, void (*func)(void*, void
  * @param *buf data source
  * @param size data size
  */
  * @param *buf data source
  * @param size data size
  */
-void av_fifo_write(AVFifoBuffer *f, const uint8_t *buf, int size);
+attribute_deprecated void av_fifo_write(AVFifoBuffer *f, const uint8_t *buf, int size);
+
+/**
+ * Feeds data from a user supplied callback to an AVFifoBuffer.
+ * @param *f AVFifoBuffer to write to
+ * @param *buf data source
+ * @param size number of bytes to write
+ * @param *func generic write function. First parameter is buf,
+ * second is dest_buf, third is dest_buf_size.
+ * func must return the number of bytes written to dest_buf, or <= 0 to
+ * indicate no more data available to write.
+ * If func is NULL, buf is interpreted as a simple byte array for source data.
+ * @return the number of bytes written to the fifo.
+ */
+int av_fifo_generic_write(AVFifoBuffer *f, void *buf, int size, int (*func)(void*, void*, int));
 
 /**
  * Resizes an AVFifoBuffer.
 
 /**
  * Resizes an AVFifoBuffer.