next up previous contents index
Next: FMPSet Up: General functions Previous: FMPPlay   Contents   Index

FMPPush

This function pushes data into the driver to be decoded

DWORD FMPPush (PFMP_BUFFER pBuffer);

Arguments
PFMP_BUFFER pBuffer Pointer to a FMP_BUFFER structure
typedef struct {
void  *pBuffer;                 // Address of the buffer
DWORD  dwBufferSize;            // Size of the buffer
DWORD  dwDataSize;              // Size of valid data in the buffer
DWORD  dwFlags;                 // Flags
DWORD  dwFlagsEx;               // Extended flags (used for PES support)
DWORD  pReserved[8];            // Reserved
} FMP_BUFFER, *PFMP_BUFFER;

Flags can be :

FMPB_DISCONTINUITY Data discontinuity.
FMPB_TRICK_MODE_START Data for trick mode start (stop decoding the audio and stop decoding P frames).
FMPB_TRICK_MODE_END Data for trick mode end (resume normal playback).

Remarks
You can push data only in Paused and Play mode. You cannot push data in stop mode. The Buffer you push must be allocated by the Memory Manager of the driver (you must get it using FMPPush). This call is supposed to be asynchronous: it should return very quickly.

ReturnValue
Returns a 32 bit unsigned value. Typical return values might include one of the following :

\begin{figure}\begin{tabular}{\vert l\vert l\vert}
\hline
FMPE\_OK & No error \\...
...LE\_STOPPED & Pushing data in stopped state \\
\hline
\end{tabular}\end{figure}

See also
FMPGetBuffer(4.3.5)

Figure 4.47: FMPPush Operating Systems and Streaming Models
\begin{figure}\centering\begin{tabular}{\vert l\vert c\vert c\vert c\vert c\vert...
...bullet$& & & & \\
Linux & $\bullet$& & & & \\
\hline
\end{tabular}\end{figure}


next up previous contents index
Next: FMPSet Up: General functions Previous: FMPPlay   Contents   Index
Sigma Designs 2001-05-01