| VLC
    3.0.18
    | 
In-memory anonymous pipe. More...

| Functions | |
| stream_t * | vlc_stream_fifo_New (vlc_object_t *parent) | 
| Creates a FIFO stream.  More... | |
| int | vlc_stream_fifo_Queue (stream_t *s, block_t *block) | 
| Writes a block to a FIFO stream.  More... | |
| ssize_t | vlc_stream_fifo_Write (stream_t *s, const void *buf, size_t len) | 
| Writes data to a FIFO stream.  More... | |
| void | vlc_stream_fifo_Close (stream_t *s) | 
| Terminates a FIFO stream.  More... | |
In-memory anonymous pipe.
| void vlc_stream_fifo_Close | ( | stream_t * | s | ) | 
Terminates a FIFO stream.
Marks the end of the FIFO stream and releases any underlying resources.
| s | FIFO stream created by vlc_stream_fifo_New() | 
References block_FifoRelease(), stream_sys_t::eof, stream_sys_t::fifo, stream_t::p_sys, vlc_fifo_Lock(), vlc_fifo_Signal(), vlc_fifo_Unlock(), and vlc_object_release.
Referenced by vlc_demux_chained_Delete(), and vlc_demux_chained_New().
| stream_t* vlc_stream_fifo_New | ( | vlc_object_t * | parent | ) | 
Creates a FIFO stream.
Creates a non-seekable byte stream object whose byte stream is generated by another thread in the process. This is the LibVLC equivalent of an anonymous pipe/FIFO.
On the reader side, the normal stream functions are used, e.g. vlc_stream_Read() and vlc_stream_Delete().
The created stream object is automatically destroyed when both the reader and the writer sides have been closed, with vlc_stream_Delete() and vlc_stream_fifo_Close() respectively.
| parent | parent VLC object for the stream | 
References block_FifoNew(), block_FifoRelease(), stream_sys_t::eof, stream_sys_t::fifo, stream_t::p_sys, stream_t::pf_block, stream_t::pf_control, stream_t::pf_seek, unlikely, vlc_object_hold, vlc_stream_CommonNew(), vlc_stream_fifo_Block(), vlc_stream_fifo_Control(), and vlc_stream_fifo_Destroy().
Referenced by vlc_demux_chained_New().
Writes a block to a FIFO stream.
| s | FIFO stream created by vlc_stream_fifo_New() | 
| block | data block to write to the stream | 
References block_Release(), stream_sys_t::eof, stream_sys_t::fifo, likely, stream_t::p_sys, unlikely, vlc_fifo_Lock(), vlc_fifo_QueueUnlocked(), and vlc_fifo_Unlock().
Referenced by vlc_demux_chained_Send(), and vlc_stream_fifo_Write().
| ssize_t vlc_stream_fifo_Write | ( | stream_t * | s, | 
| const void * | buf, | ||
| size_t | len | ||
| ) | 
Writes data to a FIFO stream.
This is a convenience helper for vlc_stream_fifo_Queue().
| s | FIFO stream created by vlc_stream_fifo_New() | 
| buf | start address of data to write | 
| len | length of data to write in bytes | 
References block_Alloc(), block_t::p_buffer, unlikely, and vlc_stream_fifo_Queue().
 1.8.16
 1.8.16