2025-11-28 00:35:46 +09:00

46 lines
1.5 KiB
C++

#pragma once
#include <Mfidl.h>
class IMYMFT; // Defined in IMYMFT.h, included in the cpp for this class
class CDecodeTask:
public IMFAsyncCallback
{
public:
// Creation Function
static HRESULT Create(
const DWORD dwDecodeWorkQueueID,
IMFSample* pInputSample,
IMFAsyncCallback** ppTask
);
HRESULT Begin(
IMYMFT* pMYMFT
);
HRESULT End(void);
// IMFAsyncCallback Implementations
HRESULT __stdcall GetParameters(
DWORD* pdwFlags,
DWORD* pdwQueue
);
HRESULT __stdcall Invoke(
IMFAsyncResult *pAsyncResult
);
// IUnknown Implementations
ULONG __stdcall AddRef(void);
HRESULT __stdcall QueryInterface(
REFIID riid,
void** ppvObject
);
ULONG __stdcall Release(void);
protected:
CDecodeTask(void);
~CDecodeTask(void);
volatile ULONG m_ulRef;
IMFSample* m_pInputSample;
DWORD m_dwDecodeWorkQueueID;
};