next up previous contents index
Next: Error messages Up: Push model functions Previous: FMPOpen   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 :

FMP_DATADISCONTINUITY   = 0x1,		// Data discontinuity : data loss
FMP_TIMEDISCONTINUITY   = 0x2,		// PTS discontinuity
FMP_TRICKMODE_START     = 0x4,		// Trick Mode Starts
FMP_TYPECHANGED         = 0x8,		// Type of data has changed
FMP_TIMEVALID           = 0x10,		// PTS is valid
FMP_ENDOFSTREAM         = 0x20,		// End of stream
FMP_TRICKMODE_END       = 0x40,		// Trick Mode Ends
FMP_TRICKMODE_SAMPLE	= 0x80,		// A Trick Mode Sample
FMP_SVCD_TM_2X			= 0x100,	// SVCD trick mode speed 2x
FMP_SVCD_TM_3X			= 0x200,	// SVCD trick mode speed 3x
FMP_SVCD_TM_4X			= 0x400,	// SVCD trick mode speed 4x
FMP_SVCD_FR				= 0x1000,
FMP_SVCD_AUTOPAUSE		= 0x2000,
FMP_SVCD_SEQ_HDR		= 0x4000,
FMP_SVCD_UPDATE_PTS_REF	= 0x8000,

FMP_TRICKMODE_DVD 		= 0x10000,
FMP_SEEKINGOP_DVD		= 0x20000,
FMP_SVCD_CDDA_TRACK		= 0x40000, 	// CDDA track on the VCD disk

Extended flags are:

FMP_VIDEO_PES		= 0x1,
FMP_AUDIO_PES		= 0x2,
FMP_DVD_AUDIO_PES	= 0x4,
//Please see details PES Support under Chapter 8 (Streaming video).

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(1.7.2)

Figure 1.64: 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}



mabelsha 2002-03-26