]> git.sesse.net Git - vlc/blobdiff - include/vlc_block.h
Rethink the configuration item type identifiers to give more space
[vlc] / include / vlc_block.h
index 4b629fc87d7d41912b6c6c06f02708bd245c70e9..ce8d8e4d4dd24191613e0bb3a32e3755a7832f2d 100644 (file)
@@ -48,7 +48,7 @@
  * - p_buffer: pointer over datas. You should never overwrite it, you can
  *   only incremment it to skip datas, in others cases use block_Realloc
  *   (don't duplicate yourself in a bigger buffer, block_Realloc is
- *   optimised for prehader/postdatas increase)
+ *   optimised for preheader/postdatas increase)
  ****************************************************************************/
 typedef struct block_sys_t block_sys_t;
 
@@ -136,13 +136,13 @@ struct block_t
  *      and decrease are supported). Use it as it is optimised.
  * - block_Duplicate : create a copy of a block.
  ****************************************************************************/
-VLC_EXPORT( void,      block_Init,    ( block_t *, void *, size_t ) );
-VLC_EXPORT( block_t *, block_Alloc,   ( size_t ) LIBVLC_USED );
-VLC_EXPORT( block_t *, block_Realloc, ( block_t *, ssize_t i_pre, size_t i_body ) LIBVLC_USED );
+VLC_API void block_Init( block_t *, void *, size_t );
+VLC_API block_t * block_Alloc( size_t ) VLC_USED;
+VLC_API block_t * block_Realloc( block_t *, ssize_t i_pre, size_t i_body ) VLC_USED;
 
 #define block_New( dummy, size ) block_Alloc(size)
 
-LIBVLC_USED
+VLC_USED
 static inline block_t *block_Duplicate( block_t *p_block )
 {
     block_t *p_dup = block_Alloc( p_block->i_buffer );
@@ -165,9 +165,9 @@ static inline void block_Release( block_t *p_block )
     p_block->pf_release( p_block );
 }
 
-VLC_EXPORT( block_t *, block_heap_Alloc, (void *, void *, size_t) LIBVLC_USED );
-VLC_EXPORT( block_t *, block_mmap_Alloc, (void *addr, size_t length) LIBVLC_USED );
-VLC_EXPORT( block_t *, block_File, (int fd) LIBVLC_USED );
+VLC_API block_t * block_heap_Alloc(void *, void *, size_t) VLC_USED;
+VLC_API block_t * block_mmap_Alloc(void *addr, size_t length) VLC_USED;
+VLC_API block_t * block_File(int fd) VLC_USED;
 
 static inline void block_Cleanup (void *block)
 {
@@ -180,7 +180,7 @@ static inline void block_Cleanup (void *block)
  ****************************************************************************
  * - block_ChainAppend : append a block to the last block of a chain. Try to
  *      avoid using with a lot of data as it's really slow, prefer
- *      block_ChainLastAppend
+ *      block_ChainLastAppend, p_block can be NULL
  * - block_ChainLastAppend : use a pointer over a pointer to the next blocks,
  *      and update it.
  * - block_ChainRelease : release a chain of block
@@ -292,6 +292,7 @@ static inline block_t *block_ChainGather( block_t *p_list )
  ****************************************************************************
  * - block_FifoNew : create and init a new fifo
  * - block_FifoRelease : destroy a fifo and free all blocks in it.
+ * - block_FifoPace : wait for a fifo to drain to a specified number of packets or total data size
  * - block_FifoEmpty : free all blocks in a fifo
  * - block_FifoPut : put a block
  * - block_FifoGet : get a packet from the fifo (and wait if it is empty)
@@ -305,16 +306,15 @@ static inline block_t *block_ChainGather( block_t *p_list )
  * block_FifoGet and block_FifoShow are cancellation points.
  ****************************************************************************/
 
-VLC_EXPORT( block_fifo_t *, block_FifoNew,      ( void ) LIBVLC_USED );
-VLC_EXPORT( void,           block_FifoRelease,  ( block_fifo_t * ) );
-/* TODO: do we need to export this? */
-void block_FifoPace (block_fifo_t *fifo, size_t max_depth, size_t max_size);
-VLC_EXPORT( void,           block_FifoEmpty,    ( block_fifo_t * ) );
-VLC_EXPORT( size_t,         block_FifoPut,      ( block_fifo_t *, block_t * ) );
-VLC_EXPORT( void,           block_FifoWake,     ( block_fifo_t * ) );
-VLC_EXPORT( block_t *,      block_FifoGet,      ( block_fifo_t * ) LIBVLC_USED );
-VLC_EXPORT( block_t *,      block_FifoShow,     ( block_fifo_t * ) );
-size_t block_FifoSize( const block_fifo_t *p_fifo ) LIBVLC_USED;
-VLC_EXPORT( size_t,         block_FifoCount,    ( const block_fifo_t *p_fifo ) LIBVLC_USED );
+VLC_API block_fifo_t * block_FifoNew( void ) VLC_USED;
+VLC_API void block_FifoRelease( block_fifo_t * );
+VLC_API void block_FifoPace( block_fifo_t *fifo, size_t max_depth, size_t max_size );
+VLC_API void block_FifoEmpty( block_fifo_t * );
+VLC_API size_t block_FifoPut( block_fifo_t *, block_t * );
+VLC_API void block_FifoWake( block_fifo_t * );
+VLC_API block_t * block_FifoGet( block_fifo_t * ) VLC_USED;
+VLC_API block_t * block_FifoShow( block_fifo_t * );
+size_t block_FifoSize( const block_fifo_t *p_fifo ) VLC_USED;
+VLC_API size_t block_FifoCount( const block_fifo_t *p_fifo ) VLC_USED;
 
 #endif /* VLC_BLOCK_H */