VLC 4.0.0-dev
|
This file defines picture fifo structures and functions in vlc. More...
Go to the source code of this file.
Typedefs | |
typedef struct picture_fifo_t | picture_fifo_t |
Picture fifo handle. | |
Functions | |
picture_fifo_t * | picture_fifo_New (void) |
It creates an empty picture_fifo_t. | |
void | picture_fifo_Delete (picture_fifo_t *) |
It destroys a fifo created by picture_fifo_New. | |
picture_t * | picture_fifo_Pop (picture_fifo_t *) |
It retrieves a picture_t from the fifo. | |
bool | picture_fifo_IsEmpty (picture_fifo_t *) |
It returns whether the fifo is empty or not. | |
void | picture_fifo_Push (picture_fifo_t *, picture_t *) |
It saves a picture_t into the fifo. | |
void | picture_fifo_Flush (picture_fifo_t *, vlc_tick_t date, bool flush_before) |
It release all picture inside the fifo that have a lower or equal date if flush_before or higher or equal to if not flush_before than the given one. | |
This file defines picture fifo structures and functions in vlc.
typedef struct picture_fifo_t picture_fifo_t |
Picture fifo handle.
It is thread safe (push/pop).
void picture_fifo_Delete | ( | picture_fifo_t * | fifo | ) |
It destroys a fifo created by picture_fifo_New.
All pictures inside the fifo will be released by picture_Release.
References picture_fifo_Flush(), and VLC_TICK_INVALID.
Referenced by image_HandlerDelete(), vout_ReleaseDisplay(), and vout_Start().
void picture_fifo_Flush | ( | picture_fifo_t * | fifo, |
vlc_tick_t | date, | ||
bool | flush_before | ||
) |
It release all picture inside the fifo that have a lower or equal date if flush_before or higher or equal to if not flush_before than the given one.
Passing VLC_TICK_INVALID on the date releases all the pictures.
All pictures inside the fifo will be released by picture_Release.
References picture_t::date, picture_fifo_t::lock, picture_fifo_t::pics, picture_Release(), PictureFifoPush(), vlc_mutex_lock(), vlc_mutex_unlock(), vlc_picture_chain_Append(), vlc_picture_chain_GetAndClear(), vlc_picture_chain_Init(), vlc_picture_chain_IsEmpty(), vlc_picture_chain_PopFront(), and VLC_TICK_INVALID.
Referenced by picture_fifo_Delete(), and vout_FlushUnlocked().
bool picture_fifo_IsEmpty | ( | picture_fifo_t * | fifo | ) |
It returns whether the fifo is empty or not.
References picture_fifo_t::lock, picture_fifo_t::pics, vlc_mutex_lock(), vlc_mutex_unlock(), and vlc_picture_chain_IsEmpty().
Referenced by UpdateCurrentPicture(), and vout_IsEmpty().
picture_fifo_t * picture_fifo_New | ( | void | ) |
It creates an empty picture_fifo_t.
References picture_fifo_t::lock, PictureFifoReset(), and vlc_mutex_init().
Referenced by image_HandlerCreate(), and vout_Start().
picture_t * picture_fifo_Pop | ( | picture_fifo_t * | fifo | ) |
It retrieves a picture_t from the fifo.
If the fifo is empty, it return NULL without waiting.
References picture_fifo_t::lock, PictureFifoPop(), vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by ImageRead(), and PreparePicture().
void picture_fifo_Push | ( | picture_fifo_t * | fifo, |
picture_t * | picture | ||
) |
It saves a picture_t into the fifo.
References picture_fifo_t::lock, PictureFifoPush(), vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by ImageQueueVideo(), and vout_PutPicture().