21 #ifndef FREERDP_CHANNEL_TSMF_CLIENT_DECODER_H
22 #define FREERDP_CHANNEL_TSMF_CLIENT_DECODER_H
24 #include "tsmf_types.h"
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);
72 #define TSMF_DECODER_EXPORT_FUNC_NAME "TSMFDecoderEntry"
73 typedef UINT(VCAPITYPE* TSMF_DECODER_ENTRY)(ITSMFDecoder** decoder);
75 ITSMFDecoder* tsmf_load_decoder(
const char* name,
TS_AM_MEDIA_TYPE* media_type);
76 BOOL tsmf_check_decoder_available(
const char* name);