/*************************************************************************** * Copyright (c) 2003-2009, Broadcom Corporation * All Rights Reserved * Confidential Property of Broadcom Corporation * * THIS SOFTWARE MAY ONLY BE USED SUBJECT TO AN EXECUTED SOFTWARE LICENSE * AGREEMENT BETWEEN THE USER AND BROADCOM. YOU HAVE NO RIGHT TO USE OR * EXPLOIT THIS MATERIAL EXCEPT SUBJECT TO THE TERMS OF SUCH AN AGREEMENT. * * $brcm_Workfile: $ * $brcm_Revision: $ * $brcm_Date: $ * * Module Description: Video primer module for fast channel change support. * * Revision History: * * $brcm_Log: $ * * ***************************************************************************/ #if !defined(__VPRIMER_H__) #define __VPRIMER_H__ 1 #include "bxpt_rave.h" /*************************************************************************** Summary: VPrimer_Handle is a video primer handle Description: Video primer handle is returned by open and used for all subsequent operations on the primer. SeeAlso: None ***************************************************************************/ typedef struct VPrimer_t * VPrimer_Handle; /*************************************************************************** Summary: Initialize internal primer data structures. Description: Initialize internal primer data structures and allocate all needed memory Input: None Output: None Returns: BERR_SUCCESS if successful, error code otherwise SeeAlso: None ***************************************************************************/ BERR_Code vprimer_init(void); /*************************************************************************** Summary: Open primer Description: Open primer and prepare to spool video from rave context. Input: None Output: primer - Primer handle to use in future operations Returns: BERR_SUCCESS if successful, error code otherwise SeeAlso: None ***************************************************************************/ BERR_Code vprimer_open(VPrimer_Handle * primer); /*************************************************************************** Summary: Close primer. Description: Close primer, stop spooling and discard any video data. Input: primer - Primer handle Output: None Returns: BERR_SUCCESS if successful, error code otherwise SeeAlso: None ***************************************************************************/ BERR_Code vprimer_close(VPrimer_Handle primer); /*************************************************************************** Summary: Attach primer to rave context Description: Attach primer to rave context and start spooling data from this context. No explicit start is required to start spooling data. Input: primer - primer handle to attach to rave context. cx - rave context to attach to primer. Output: None Returns: BERR_SUCCESS if successful, error code otherwise SeeAlso: None ***************************************************************************/ BERR_Code vprimer_attach(VPrimer_Handle primer, BXPT_RaveCx_Handle cx, uint8_t format); /*************************************************************************** Summary: Detach primer from rave context Description: Detach primer from rave context and stop spooling data. When primer is detached context pointers left in consistent state. Rave context can be given to the decoder which should be able to start decoding using rave context pointers. Input: primer - primer to detach from. cx - rave context to detach from primer. Output: None Returns: BERR_SUCCESS if successful, error code otherwise. SeeAlso: None ***************************************************************************/ BERR_Code vprimer_detach(VPrimer_Handle primer, BXPT_RaveCx_Handle cx); /*************************************************************************** Summary: Flush primer Description: Flush primer and discard all data from rave context Input: primer - primer to flush. cx - rave context to flush. Output: None Returns: BERR_SUCCESS if successful, error code otherwise. SeeAlso: None ***************************************************************************/ BERR_Code vprimer_flush(VPrimer_Handle primer, BXPT_RaveCx_Handle cx); #endif /*__VPRIMER_H__*/