41 BOOL (*Decode)(ITSMFDecoder* decoder,
const BYTE* data, UINT32 data_size, UINT32 extensions);
43 BYTE* (*GetDecodedData)(ITSMFDecoder* decoder, UINT32* size);
45 UINT32 (*GetDecodedFormat)(ITSMFDecoder* decoder);
47 BOOL (*GetDecodedDimension)(ITSMFDecoder* decoder, UINT32* width, UINT32* height);
49 void (*Free)(ITSMFDecoder* decoder);
51 BOOL (*Control)(ITSMFDecoder* decoder, ITSMFControlMsg control_msg, UINT32* arg);
54 (ITSMFDecoder* decoder,
const BYTE* data, UINT32 data_size, UINT32 extensions,
55 UINT64 start_time, UINT64 end_time, UINT64 duration);
57 UINT64 (*GetRunningTime)(ITSMFDecoder* decoder);
59 BOOL(*UpdateRenderingArea)
60 (ITSMFDecoder* decoder, UINT32 newX, UINT32 newY, UINT32 newWidth, UINT32 newHeight,
63 BOOL (*ChangeVolume)(ITSMFDecoder* decoder, UINT32 newVolume, UINT32 muted);
65 BOOL (*BufferLevel)(ITSMFDecoder* decoder);
67 BOOL (*SetAckFunc)(ITSMFDecoder* decoder, BOOL (*cb)(
void*, BOOL),
void* stream);
69 BOOL (*SetSyncFunc)(ITSMFDecoder* decoder, void (*cb)(
void*),
void* stream);