VLC  2.1.0-git
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Functions
picture_fifo.c File Reference
Include dependency graph for picture_fifo.c:

Data Structures

struct  picture_fifo_t

Functions

static void PictureFifoReset (picture_fifo_t *fifo)
static void PictureFifoPush (picture_fifo_t *fifo, picture_t *picture)
static picture_tPictureFifoPop (picture_fifo_t *fifo)
picture_fifo_tpicture_fifo_New (void)
 It creates an empty picture_fifo_t.
void picture_fifo_Push (picture_fifo_t *fifo, picture_t *picture)
 It saves a picture_t into the fifo.
picture_tpicture_fifo_Pop (picture_fifo_t *fifo)
 It retreives a picture_t from the fifo.
picture_tpicture_fifo_Peek (picture_fifo_t *fifo)
 It returns the first picture_t pointer from the fifo but does not remove it.
void picture_fifo_Flush (picture_fifo_t *fifo, mtime_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.
void picture_fifo_OffsetDate (picture_fifo_t *fifo, mtime_t delta)
 It applies a delta on all the picture timestamp.
void picture_fifo_Delete (picture_fifo_t *fifo)
 It destroys a fifo created by picture_fifo_New.

Function Documentation

void picture_fifo_Delete ( picture_fifo_t )

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(), and vlc_mutex_destroy().

Referenced by ThreadStop().

void picture_fifo_Flush ( picture_fifo_t ,
mtime_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.

All pictures inside the fifo will be released by picture_Release.

References picture_t::date, picture_fifo_t::first, picture_fifo_t::lock, picture_t::p_next, picture_Release(), PictureFifoPop(), PictureFifoPush(), PictureFifoReset(), vlc_mutex_lock(), and vlc_mutex_unlock().

Referenced by picture_fifo_Delete(), and ThreadFlush().

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 ThreadStart().

void picture_fifo_OffsetDate ( picture_fifo_t fifo,
mtime_t  delta 
)

It applies a delta on all the picture timestamp.

References picture_fifo_t::first, picture_fifo_t::lock, vlc_mutex_lock(), and vlc_mutex_unlock().

Referenced by ThreadChangePause().

picture_t* picture_fifo_Peek ( picture_fifo_t )

It returns the first picture_t pointer from the fifo but does not remove it.

The picture returned has been hold for you so you must call picture_Release on it.

If the fifo is empty, it return NULL without waiting.

References picture_fifo_t::first, picture_fifo_t::lock, picture_Hold(), vlc_mutex_lock(), and vlc_mutex_unlock().

Referenced by vout_FixLeaks(), and vout_IsEmpty().

picture_t* picture_fifo_Pop ( picture_fifo_t )

It retreives 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 ThreadDisplayPreparePicture().

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 vout_PutPicture().

static picture_t* PictureFifoPop ( picture_fifo_t fifo)
static
static void PictureFifoPush ( picture_fifo_t fifo,
picture_t picture 
)
static
static void PictureFifoReset ( picture_fifo_t fifo)
static