|
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. | |
| void | picture_fifo_Lock (picture_fifo_t *) |
| Lock the picture_fifo. | |
| void | picture_fifo_Unlock (picture_fifo_t *) |
| Unlock the picture_fifo. | |
| 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. | |
| size_t | picture_fifo_GetCount (picture_fifo_t *) |
| It returns the number of pictures queued. | |
| 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_t::lock, picture_fifo_Flush(), vlc_mutex_lock(), vlc_mutex_unlock(), and VLC_TICK_INVALID.
Referenced by image_HandlerDelete(), vout_Create(), and vout_Release().
| 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_fifo_t::count, picture_t::date, picture_fifo_t::lock, picture_fifo_t::pics, picture_Release(), PictureFifoPush(), vlc_mutex_assert, 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().
| size_t picture_fifo_GetCount | ( | picture_fifo_t * | fifo | ) |
It returns the number of pictures queued.
References picture_fifo_t::count, picture_fifo_t::lock, and vlc_mutex_assert.
Referenced by vout_NextPicture().
| 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_assert, and vlc_picture_chain_IsEmpty().
Referenced by UpdateCurrentPicture(), and vout_IsEmpty().
| void picture_fifo_Lock | ( | picture_fifo_t * | fifo | ) |
Lock the picture_fifo.
All picture_fifo_t functions, except picture_fifo_Delete(), need to be called with the lock held.
References picture_fifo_t::lock, and vlc_mutex_lock().
Referenced by ImageQueueVideo(), ImageRead(), PreparePicture(), UpdateCurrentPicture(), vout_FlushUnlocked(), vout_IsEmpty(), vout_NextPicture(), and vout_PutPicture().
| 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_Create().
| 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::count, picture_fifo_t::lock, picture_fifo_t::pics, vlc_mutex_assert, and vlc_picture_chain_PopFront().
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(), and vlc_mutex_assert.
Referenced by ImageQueueVideo(), and vout_PutPicture().
| void picture_fifo_Unlock | ( | picture_fifo_t * | fifo | ) |
Unlock the picture_fifo.
References picture_fifo_t::lock, and vlc_mutex_unlock().
Referenced by ImageQueueVideo(), ImageRead(), PreparePicture(), UpdateCurrentPicture(), vout_FlushUnlocked(), vout_IsEmpty(), vout_NextPicture(), and vout_PutPicture().