ZVBI Library  0.2.33
Modules | Functions
Cache

Modules

Functions

void vbi_unref_page (vbi_page *pg)
int vbi_is_cached (vbi_decoder *, int pgno, int subno)
int vbi_cache_hi_subno (vbi_decoder *vbi, int pgno)
vbi_bool vbi_fetch_cc_page (vbi_decoder *vbi, vbi_page *pg, vbi_pgno pgno, vbi_bool reset)

Detailed Description


Function Documentation

void vbi_unref_page ( vbi_page pg)
Parameters:
pgPreviously fetched vbi_page.

A vbi_page fetched from cache with vbi_fetch_vt_page() or vbi_fetch_cc_page() may reference other resource in cache which are locked after fetching. When done processing the page, you must call this function to unlock all the resources associated with this vbi_page.

int vbi_is_cached ( vbi_decoder vbi,
int  pgno,
int  subno 
)
Parameters:
vbi
pgno
subno
Deprecated:
At the moment pages can only be added to the cache but not removed unless the decoder is reset. That will change, making the result volatile in a multithreaded environment.
Returns:
TRUE if the given page is cached.
int vbi_cache_hi_subno ( vbi_decoder vbi,
int  pgno 
)
Parameters:
vbi
pgno
Deprecated:
Rationale same as vbi_is_cached().
Returns:
Highest cached subpage of this page.
vbi_bool vbi_fetch_cc_page ( vbi_decoder vbi,
vbi_page pg,
vbi_pgno  pgno,
vbi_bool  reset 
)
Parameters:
vbiInitialized vbi decoding context.
pgPlace to store the formatted page.
pgnoPage number 1 ... 8 of the page to fetch, see vbi_pgno.
resetTRUE resets the vbi_page dirty fields in cache after fetching. Pass FALSE only if you plan to call this function again to update other displays.

Fetches a Closed Caption page designated by pgno from the cache, formats and stores it in pg. CC pages are transmitted basically in two modes: at once and character by character ("roll-up" mode). Either way you get a snapshot of the page as it should appear on screen at present. With vbi_event_handler_add() you can request a VBI_EVENT_CAPTION event to be notified about pending changes (in case of "roll-up" mode that is with each new word received) and the vbi_page->dirty fields will mark the lines actually in need of updates, to speed up rendering.

Although safe to do, this function is not supposed to be called from an event handler, since rendering may block decoding for extended periods of time.

Returns:
FALSE if some error occured.