|
VLC
4.0.0-dev
|
In-memory anonymous pipe. More...
|
Typedefs | |
| typedef struct vlc_stream_fifo | vlc_stream_fifo_t |
Functions | |
| vlc_stream_fifo_t * | vlc_stream_fifo_New (vlc_object_t *parent, stream_t **reader) |
| Creates a FIFO stream. More... | |
| int | vlc_stream_fifo_Queue (vlc_stream_fifo_t *s, block_t *block) |
| Writes a block to a FIFO stream. More... | |
| ssize_t | vlc_stream_fifo_Write (vlc_stream_fifo_t *s, const void *buf, size_t len) |
| Writes data to a FIFO stream. More... | |
| void | vlc_stream_fifo_Close (vlc_stream_fifo_t *s) |
| Terminates a FIFO stream. More... | |
In-memory anonymous pipe.
| typedef struct vlc_stream_fifo vlc_stream_fifo_t |
| void vlc_stream_fifo_Close | ( | vlc_stream_fifo_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(), vlc_stream_fifo::eof, vlc_stream_fifo::fifo, vlc_fifo_Lock(), vlc_fifo_Signal(), and vlc_fifo_Unlock().
Referenced by vlc_demux_chained_Delete(), and vlc_demux_chained_New().
| vlc_stream_fifo_t* vlc_stream_fifo_New | ( | vlc_object_t * | parent, |
| stream_t ** | reader | ||
| ) |
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 |
| reader | location to store read side stream pointer [OUT] |
References block_FifoNew(), block_FifoRelease(), vlc_stream_fifo::eof, vlc_stream_fifo::fifo, stream_t::pf_block, stream_t::pf_control, stream_t::pf_seek, unlikely, vlc_stream_CustomNew(), vlc_stream_fifo_Block(), vlc_stream_fifo_Control(), vlc_stream_fifo_Destroy(), vlc_stream_Private(), and vlc_stream_fifo_private::writer.
Referenced by vlc_demux_chained_New().
| int vlc_stream_fifo_Queue | ( | vlc_stream_fifo_t * | s, |
| block_t * | block | ||
| ) |
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(), vlc_stream_fifo::eof, vlc_stream_fifo::fifo, likely, 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 | ( | vlc_stream_fifo_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.13