Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
MFTransform Class Reference

#include <mftvideo_p.h>

+ Inheritance diagram for MFTransform:
+ Collaboration diagram for MFTransform:

Public Member Functions

 MFTransform ()
 
virtual ~MFTransform ()
 
void addProbe (MFVideoProbeControl *probe)
 
void removeProbe (MFVideoProbeControl *probe)
 
void setVideoSink (IUnknown *videoSink)
 
STDMETHODIMP QueryInterface (REFIID iid, void **ppv) override
 
 STDMETHODIMP_ (ULONG) AddRef() override
 
 STDMETHODIMP_ (ULONG) Release() override
 
STDMETHODIMP GetStreamLimits (DWORD *pdwInputMinimum, DWORD *pdwInputMaximum, DWORD *pdwOutputMinimum, DWORD *pdwOutputMaximum) override
 
STDMETHODIMP GetStreamCount (DWORD *pcInputStreams, DWORD *pcOutputStreams) override
 
STDMETHODIMP GetStreamIDs (DWORD dwInputIDArraySize, DWORD *pdwInputIDs, DWORD dwOutputIDArraySize, DWORD *pdwOutputIDs) override
 
STDMETHODIMP GetInputStreamInfo (DWORD dwInputStreamID, MFT_INPUT_STREAM_INFO *pStreamInfo) override
 
STDMETHODIMP GetOutputStreamInfo (DWORD dwOutputStreamID, MFT_OUTPUT_STREAM_INFO *pStreamInfo) override
 
STDMETHODIMP GetAttributes (IMFAttributes **pAttributes) override
 
STDMETHODIMP GetInputStreamAttributes (DWORD dwInputStreamID, IMFAttributes **pAttributes) override
 
STDMETHODIMP GetOutputStreamAttributes (DWORD dwOutputStreamID, IMFAttributes **pAttributes) override
 
STDMETHODIMP DeleteInputStream (DWORD dwStreamID) override
 
STDMETHODIMP AddInputStreams (DWORD cStreams, DWORD *adwStreamIDs) override
 
STDMETHODIMP GetInputAvailableType (DWORD dwInputStreamID, DWORD dwTypeIndex, IMFMediaType **ppType) override
 
STDMETHODIMP GetOutputAvailableType (DWORD dwOutputStreamID, DWORD dwTypeIndex, IMFMediaType **ppType) override
 
STDMETHODIMP SetInputType (DWORD dwInputStreamID, IMFMediaType *pType, DWORD dwFlags) override
 
STDMETHODIMP SetOutputType (DWORD dwOutputStreamID, IMFMediaType *pType, DWORD dwFlags) override
 
STDMETHODIMP GetInputCurrentType (DWORD dwInputStreamID, IMFMediaType **ppType) override
 
STDMETHODIMP GetOutputCurrentType (DWORD dwOutputStreamID, IMFMediaType **ppType) override
 
STDMETHODIMP GetInputStatus (DWORD dwInputStreamID, DWORD *pdwFlags) override
 
STDMETHODIMP GetOutputStatus (DWORD *pdwFlags) override
 
STDMETHODIMP SetOutputBounds (LONGLONG hnsLowerBound, LONGLONG hnsUpperBound) override
 
STDMETHODIMP ProcessEvent (DWORD dwInputStreamID, IMFMediaEvent *pEvent) override
 
STDMETHODIMP ProcessMessage (MFT_MESSAGE_TYPE eMessage, ULONG_PTR ulParam) override
 
STDMETHODIMP ProcessInput (DWORD dwInputStreamID, IMFSample *pSample, DWORD dwFlags) override
 
STDMETHODIMP ProcessOutput (DWORD dwFlags, DWORD cOutputBufferCount, MFT_OUTPUT_DATA_BUFFER *pOutputSamples, DWORD *pdwStatus) override
 

Detailed Description

Definition at line 31 of file mftvideo_p.h.

Constructor & Destructor Documentation

◆ MFTransform()

MFTransform::MFTransform ( )

Definition at line 20 of file mftvideo.cpp.

◆ ~MFTransform()

MFTransform::~MFTransform ( )
virtual

Definition at line 30 of file mftvideo.cpp.

Member Function Documentation

◆ AddInputStreams()

STDMETHODIMP MFTransform::AddInputStreams ( DWORD  cStreams,
DWORD *  adwStreamIDs 
)
override

Definition at line 204 of file mftvideo.cpp.

References Q_UNUSED.

◆ addProbe()

void MFTransform::addProbe ( MFVideoProbeControl *  probe)

◆ DeleteInputStream()

STDMETHODIMP MFTransform::DeleteInputStream ( DWORD  dwStreamID)
override

Definition at line 197 of file mftvideo.cpp.

References Q_UNUSED.

◆ GetAttributes()

STDMETHODIMP MFTransform::GetAttributes ( IMFAttributes **  pAttributes)
override

Definition at line 174 of file mftvideo.cpp.

References Q_UNUSED.

◆ GetInputAvailableType()

STDMETHODIMP MFTransform::GetInputAvailableType ( DWORD  dwInputStreamID,
DWORD  dwTypeIndex,
IMFMediaType **  ppType 
)
override

Definition at line 212 of file mftvideo.cpp.

◆ GetInputCurrentType()

STDMETHODIMP MFTransform::GetInputCurrentType ( DWORD  dwInputStreamID,
IMFMediaType **  ppType 
)
override

Definition at line 323 of file mftvideo.cpp.

◆ GetInputStatus()

STDMETHODIMP MFTransform::GetInputStatus ( DWORD  dwInputStreamID,
DWORD *  pdwFlags 
)
override

Definition at line 363 of file mftvideo.cpp.

◆ GetInputStreamAttributes()

STDMETHODIMP MFTransform::GetInputStreamAttributes ( DWORD  dwInputStreamID,
IMFAttributes **  pAttributes 
)
override

Definition at line 181 of file mftvideo.cpp.

References Q_UNUSED.

◆ GetInputStreamInfo()

STDMETHODIMP MFTransform::GetInputStreamInfo ( DWORD  dwInputStreamID,
MFT_INPUT_STREAM_INFO *  pStreamInfo 
)
override

Definition at line 133 of file mftvideo.cpp.

◆ GetOutputAvailableType()

STDMETHODIMP MFTransform::GetOutputAvailableType ( DWORD  dwOutputStreamID,
DWORD  dwTypeIndex,
IMFMediaType **  ppType 
)
override

Definition at line 227 of file mftvideo.cpp.

◆ GetOutputCurrentType()

STDMETHODIMP MFTransform::GetOutputCurrentType ( DWORD  dwOutputStreamID,
IMFMediaType **  ppType 
)
override

Definition at line 343 of file mftvideo.cpp.

◆ GetOutputStatus()

STDMETHODIMP MFTransform::GetOutputStatus ( DWORD *  pdwFlags)
override

Definition at line 384 of file mftvideo.cpp.

◆ GetOutputStreamAttributes()

STDMETHODIMP MFTransform::GetOutputStreamAttributes ( DWORD  dwOutputStreamID,
IMFAttributes **  pAttributes 
)
override

Definition at line 189 of file mftvideo.cpp.

References Q_UNUSED.

◆ GetOutputStreamInfo()

STDMETHODIMP MFTransform::GetOutputStreamInfo ( DWORD  dwOutputStreamID,
MFT_OUTPUT_STREAM_INFO *  pStreamInfo 
)
override

Definition at line 154 of file mftvideo.cpp.

◆ GetStreamCount()

STDMETHODIMP MFTransform::GetStreamCount ( DWORD *  pcInputStreams,
DWORD *  pcOutputStreams 
)
override

Definition at line 113 of file mftvideo.cpp.

◆ GetStreamIDs()

STDMETHODIMP MFTransform::GetStreamIDs ( DWORD  dwInputIDArraySize,
DWORD *  pdwInputIDs,
DWORD  dwOutputIDArraySize,
DWORD *  pdwOutputIDs 
)
override

Definition at line 123 of file mftvideo.cpp.

References Q_UNUSED.

◆ GetStreamLimits()

STDMETHODIMP MFTransform::GetStreamLimits ( DWORD *  pdwInputMinimum,
DWORD *  pdwInputMaximum,
DWORD *  pdwOutputMinimum,
DWORD *  pdwOutputMaximum 
)
override

Definition at line 102 of file mftvideo.cpp.

◆ ProcessEvent()

STDMETHODIMP MFTransform::ProcessEvent ( DWORD  dwInputStreamID,
IMFMediaEvent *  pEvent 
)
override

Definition at line 409 of file mftvideo.cpp.

References Q_UNUSED.

◆ ProcessInput()

STDMETHODIMP MFTransform::ProcessInput ( DWORD  dwInputStreamID,
IMFSample *  pSample,
DWORD  dwFlags 
)
override

Definition at line 456 of file mftvideo.cpp.

◆ ProcessMessage()

STDMETHODIMP MFTransform::ProcessMessage ( MFT_MESSAGE_TYPE  eMessage,
ULONG_PTR  ulParam 
)
override

Definition at line 417 of file mftvideo.cpp.

References Q_UNUSED.

◆ ProcessOutput()

STDMETHODIMP MFTransform::ProcessOutput ( DWORD  dwFlags,
DWORD  cOutputBufferCount,
MFT_OUTPUT_DATA_BUFFER *  pOutputSamples,
DWORD *  pdwStatus 
)
override

Definition at line 499 of file mftvideo.cpp.

References done, QMutex::lock(), and QMutex::unlock().

+ Here is the call graph for this function:

◆ QueryInterface()

STDMETHODIMP MFTransform::QueryInterface ( REFIID  iid,
void **  ppv 
)
override

Definition at line 72 of file mftvideo.cpp.

References ppv, and riid.

◆ removeProbe()

void MFTransform::removeProbe ( MFVideoProbeControl *  probe)

◆ SetInputType()

STDMETHODIMP MFTransform::SetInputType ( DWORD  dwInputStreamID,
IMFMediaType *  pType,
DWORD  dwFlags 
)
override

Definition at line 252 of file mftvideo.cpp.

◆ SetOutputBounds()

STDMETHODIMP MFTransform::SetOutputBounds ( LONGLONG  hnsLowerBound,
LONGLONG  hnsUpperBound 
)
override

Definition at line 402 of file mftvideo.cpp.

References Q_UNUSED.

◆ SetOutputType()

STDMETHODIMP MFTransform::SetOutputType ( DWORD  dwOutputStreamID,
IMFMediaType *  pType,
DWORD  dwFlags 
)
override

Definition at line 286 of file mftvideo.cpp.

◆ setVideoSink()

void MFTransform::setVideoSink ( IUnknown *  videoSink)

Definition at line 58 of file mftvideo.cpp.

◆ STDMETHODIMP_() [1/2]

MFTransform::STDMETHODIMP_ ( ULONG  )
override

◆ STDMETHODIMP_() [2/2]

MFTransform::STDMETHODIMP_ ( ULONG  )
override

The documentation for this class was generated from the following files: