ReactOS 0.4.15-dev-7924-g5949c20
mediastreamfilter.c File Reference
#include "wine/debug.h"
#include "winbase.h"
#include "wingdi.h"
#include "dshow.h"
#include "wine/strmbase.h"
#include "amstream_private.h"
#include "ddstream.h"
Include dependency graph for mediastreamfilter.c:

Go to the source code of this file.

Classes

struct  IMediaStreamFilterImpl
 

Macros

#define COBJMACROS
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (amstream)
 
static IMediaStreamFilterImplimpl_from_IMediaStreamFilter (IMediaStreamFilter *iface)
 
static HRESULT WINAPI MediaStreamFilterImpl_QueryInterface (IMediaStreamFilter *iface, REFIID riid, void **ret_iface)
 
static ULONG WINAPI MediaStreamFilterImpl_AddRef (IMediaStreamFilter *iface)
 
static ULONG WINAPI MediaStreamFilterImpl_Release (IMediaStreamFilter *iface)
 
static HRESULT WINAPI MediaStreamFilterImpl_GetClassID (IMediaStreamFilter *iface, CLSID *clsid)
 
static HRESULT WINAPI MediaStreamFilterImpl_Stop (IMediaStreamFilter *iface)
 
static HRESULT WINAPI MediaStreamFilterImpl_Pause (IMediaStreamFilter *iface)
 
static HRESULT WINAPI MediaStreamFilterImpl_Run (IMediaStreamFilter *iface, REFERENCE_TIME start)
 
static HRESULT WINAPI MediaStreamFilterImpl_GetState (IMediaStreamFilter *iface, DWORD ms_timeout, FILTER_STATE *state)
 
static HRESULT WINAPI MediaStreamFilterImpl_SetSyncSource (IMediaStreamFilter *iface, IReferenceClock *clock)
 
static HRESULT WINAPI MediaStreamFilterImpl_GetSyncSource (IMediaStreamFilter *iface, IReferenceClock **clock)
 
static HRESULT WINAPI MediaStreamFilterImpl_EnumPins (IMediaStreamFilter *iface, IEnumPins **enum_pins)
 
static HRESULT WINAPI MediaStreamFilterImpl_FindPin (IMediaStreamFilter *iface, LPCWSTR id, IPin **pin)
 
static HRESULT WINAPI MediaStreamFilterImpl_QueryFilterInfo (IMediaStreamFilter *iface, FILTER_INFO *info)
 
static HRESULT WINAPI MediaStreamFilterImpl_JoinFilterGraph (IMediaStreamFilter *iface, IFilterGraph *graph, LPCWSTR name)
 
static HRESULT WINAPI MediaStreamFilterImpl_QueryVendorInfo (IMediaStreamFilter *iface, LPWSTR *vendor_info)
 
static HRESULT WINAPI MediaStreamFilterImpl_AddMediaStream (IMediaStreamFilter *iface, IAMMediaStream *pAMMediaStream)
 
static HRESULT WINAPI MediaStreamFilterImpl_GetMediaStream (IMediaStreamFilter *iface, REFMSPID idPurpose, IMediaStream **ppMediaStream)
 
static HRESULT WINAPI MediaStreamFilterImpl_EnumMediaStreams (IMediaStreamFilter *iface, LONG Index, IMediaStream **ppMediaStream)
 
static HRESULT WINAPI MediaStreamFilterImpl_SupportSeeking (IMediaStreamFilter *iface, BOOL bRenderer)
 
static HRESULT WINAPI MediaStreamFilterImpl_ReferenceTimeToStreamTime (IMediaStreamFilter *iface, REFERENCE_TIME *pTime)
 
static HRESULT WINAPI MediaStreamFilterImpl_GetCurrentStreamTime (IMediaStreamFilter *iface, REFERENCE_TIME *pCurrentStreamTime)
 
static HRESULT WINAPI MediaStreamFilterImpl_WaitUntil (IMediaStreamFilter *iface, REFERENCE_TIME WaitStreamTime)
 
static HRESULT WINAPI MediaStreamFilterImpl_Flush (IMediaStreamFilter *iface, BOOL bCancelEOS)
 
static HRESULT WINAPI MediaStreamFilterImpl_EndOfStream (IMediaStreamFilter *iface)
 
static IPin *WINAPI MediaStreamFilterImpl_GetPin (BaseFilter *iface, int pos)
 
static LONG WINAPI MediaStreamFilterImpl_GetPinCount (BaseFilter *iface)
 
HRESULT MediaStreamFilter_create (IUnknown *pUnkOuter, void **ppObj)
 

Variables

static const IMediaStreamFilterVtbl MediaStreamFilter_Vtbl
 
static const BaseFilterFuncTable BaseFuncTable
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 23 of file mediastreamfilter.c.

Function Documentation

◆ impl_from_IMediaStreamFilter()

◆ MediaStreamFilter_create()

HRESULT MediaStreamFilter_create ( IUnknown pUnkOuter,
void **  ppObj 
)

Definition at line 337 of file mediastreamfilter.c.

338{
340
341 TRACE("(%p,%p)\n", pUnkOuter, ppObj);
342
343 if( pUnkOuter )
345
347 if (!object)
348 return E_OUTOFMEMORY;
349
350 BaseFilter_Init(&object->filter, (IBaseFilterVtbl*)&MediaStreamFilter_Vtbl, &CLSID_MediaStreamFilter, (DWORD_PTR)(__FILE__ ": MediaStreamFilterImpl.csFilter"), &BaseFuncTable);
351
352 *ppObj = &object->filter.IBaseFilter_iface;
353
354 return S_OK;
355}
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define GetProcessHeap()
Definition: compat.h:736
#define HeapAlloc
Definition: compat.h:733
#define HEAP_ZERO_MEMORY
Definition: compat.h:134
#define S_OK
Definition: intsafe.h:52
static const BaseFilterFuncTable BaseFuncTable
static const IMediaStreamFilterVtbl MediaStreamFilter_Vtbl
#define TRACE(s)
Definition: solgame.cpp:4
HRESULT WINAPI BaseFilter_Init(BaseFilter *This, const IBaseFilterVtbl *Vtbl, const CLSID *pClsid, DWORD_PTR DebugInfo, const BaseFilterFuncTable *pBaseFuncsTable)
Definition: filter.c:196
uint32_t DWORD_PTR
Definition: typedefs.h:65
#define CLASS_E_NOAGGREGATION
Definition: winerror.h:2662

◆ MediaStreamFilterImpl_AddMediaStream()

static HRESULT WINAPI MediaStreamFilterImpl_AddMediaStream ( IMediaStreamFilter iface,
IAMMediaStream pAMMediaStream 
)
static

Definition at line 187 of file mediastreamfilter.c.

188{
190 IAMMediaStream** streams;
191 HRESULT hr;
192
193 TRACE("(%p)->(%p)\n", iface, pAMMediaStream);
194
195 streams = CoTaskMemRealloc(This->streams, (This->nb_streams + 1) * sizeof(IAMMediaStream*));
196 if (!streams)
197 return E_OUTOFMEMORY;
198 This->streams = streams;
199
200 hr = IAMMediaStream_JoinFilter(pAMMediaStream, iface);
201 if (FAILED(hr))
202 return hr;
203
204 This->streams[This->nb_streams] = pAMMediaStream;
205 This->nb_streams++;
206
207 IAMMediaStream_AddRef(pAMMediaStream);
208
209 return S_OK;
210}
LPVOID WINAPI CoTaskMemRealloc(LPVOID pvOld, SIZE_T size)
Definition: ifs.c:460
#define FAILED(hr)
Definition: intsafe.h:51
static IMediaStreamFilterImpl * impl_from_IMediaStreamFilter(IMediaStreamFilter *iface)
HRESULT hr
Definition: shlfolder.c:183

◆ MediaStreamFilterImpl_AddRef()

static ULONG WINAPI MediaStreamFilterImpl_AddRef ( IMediaStreamFilter iface)
static

Definition at line 72 of file mediastreamfilter.c.

73{
75 ULONG ref = BaseFilterImpl_AddRef(&This->filter.IBaseFilter_iface);
76
77 TRACE("(%p)->(): new ref = %u\n", iface, ref);
78
79 return ref;
80}
ULONG WINAPI BaseFilterImpl_AddRef(IBaseFilter *iface)
Definition: filter.c:54
Definition: send.c:48
uint32_t ULONG
Definition: typedefs.h:59

◆ MediaStreamFilterImpl_EndOfStream()

static HRESULT WINAPI MediaStreamFilterImpl_EndOfStream ( IMediaStreamFilter iface)
static

Definition at line 276 of file mediastreamfilter.c.

277{
278 FIXME("(%p)->(): Stub!\n", iface);
279
280 return E_NOTIMPL;
281}
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ MediaStreamFilterImpl_EnumMediaStreams()

static HRESULT WINAPI MediaStreamFilterImpl_EnumMediaStreams ( IMediaStreamFilter iface,
LONG  Index,
IMediaStream **  ppMediaStream 
)
static

Definition at line 234 of file mediastreamfilter.c.

235{
236 FIXME("(%p)->(%d,%p): Stub!\n", iface, Index, ppMediaStream);
237
238 return E_NOTIMPL;
239}
_In_ WDFCOLLECTION _In_ ULONG Index

◆ MediaStreamFilterImpl_EnumPins()

static HRESULT WINAPI MediaStreamFilterImpl_EnumPins ( IMediaStreamFilter iface,
IEnumPins **  enum_pins 
)
static

Definition at line 154 of file mediastreamfilter.c.

155{
157 return BaseFilterImpl_EnumPins(&This->filter.IBaseFilter_iface, enum_pins);
158}
HRESULT WINAPI BaseFilterImpl_EnumPins(IBaseFilter *iface, IEnumPins **ppEnum)
Definition: filter.c:135

◆ MediaStreamFilterImpl_FindPin()

static HRESULT WINAPI MediaStreamFilterImpl_FindPin ( IMediaStreamFilter iface,
LPCWSTR  id,
IPin **  pin 
)
static

Definition at line 160 of file mediastreamfilter.c.

161{
162 FIXME("(%p)->(%s,%p): Stub!\n", iface, debugstr_w(id), pin);
163
164 return E_NOTIMPL;
165}
#define debugstr_w
Definition: kernel32.h:32
Definition: regsvr.c:104

◆ MediaStreamFilterImpl_Flush()

static HRESULT WINAPI MediaStreamFilterImpl_Flush ( IMediaStreamFilter iface,
BOOL  bCancelEOS 
)
static

Definition at line 269 of file mediastreamfilter.c.

270{
271 FIXME("(%p)->(%d): Stub!\n", iface, bCancelEOS);
272
273 return E_NOTIMPL;
274}

◆ MediaStreamFilterImpl_GetClassID()

static HRESULT WINAPI MediaStreamFilterImpl_GetClassID ( IMediaStreamFilter iface,
CLSID clsid 
)
static

Definition at line 107 of file mediastreamfilter.c.

108{
110 return BaseFilterImpl_GetClassID(&This->filter.IBaseFilter_iface, clsid);
111}
REFCLSID clsid
Definition: msctf.c:82
HRESULT WINAPI BaseFilterImpl_GetClassID(IBaseFilter *iface, CLSID *pClsid)
Definition: filter.c:77

◆ MediaStreamFilterImpl_GetCurrentStreamTime()

static HRESULT WINAPI MediaStreamFilterImpl_GetCurrentStreamTime ( IMediaStreamFilter iface,
REFERENCE_TIME pCurrentStreamTime 
)
static

Definition at line 255 of file mediastreamfilter.c.

256{
257 FIXME("(%p)->(%p): Stub!\n", iface, pCurrentStreamTime);
258
259 return E_NOTIMPL;
260}

◆ MediaStreamFilterImpl_GetMediaStream()

static HRESULT WINAPI MediaStreamFilterImpl_GetMediaStream ( IMediaStreamFilter iface,
REFMSPID  idPurpose,
IMediaStream **  ppMediaStream 
)
static

Definition at line 212 of file mediastreamfilter.c.

213{
215 MSPID purpose_id;
216 unsigned int i;
217
218 TRACE("(%p)->(%s,%p)\n", iface, debugstr_guid(idPurpose), ppMediaStream);
219
220 for (i = 0; i < This->nb_streams; i++)
221 {
222 IAMMediaStream_GetInformation(This->streams[i], &purpose_id, NULL);
223 if (IsEqualIID(&purpose_id, idPurpose))
224 {
225 *ppMediaStream = (IMediaStream *)This->streams[i];
226 IMediaStream_AddRef(*ppMediaStream);
227 return S_OK;
228 }
229 }
230
231 return MS_E_NOSTREAM;
232}
#define NULL
Definition: types.h:112
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define debugstr_guid
Definition: kernel32.h:35
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95

◆ MediaStreamFilterImpl_GetPin()

static IPin *WINAPI MediaStreamFilterImpl_GetPin ( BaseFilter iface,
int  pos 
)
static

Definition at line 311 of file mediastreamfilter.c.

312{
314
315 if (pos < This->nb_streams)
316 {
317 IPin *pin = NULL;
318 IAMMediaStream_QueryInterface(This->streams[pos], &IID_IPin, (void **)&pin);
319 return pin;
320 }
321
322 return NULL;
323}
Definition: axcore.idl:92
const GUID IID_IPin
Definition: pincontrol.cpp:15

◆ MediaStreamFilterImpl_GetPinCount()

static LONG WINAPI MediaStreamFilterImpl_GetPinCount ( BaseFilter iface)
static

Definition at line 325 of file mediastreamfilter.c.

326{
328
329 return This->nb_streams;
330}

◆ MediaStreamFilterImpl_GetState()

static HRESULT WINAPI MediaStreamFilterImpl_GetState ( IMediaStreamFilter iface,
DWORD  ms_timeout,
FILTER_STATE *  state 
)
static

Definition at line 136 of file mediastreamfilter.c.

137{
139 return BaseFilterImpl_GetState(&This->filter.IBaseFilter_iface, ms_timeout, state);
140}
static int state
Definition: maze.c:121
HRESULT WINAPI BaseFilterImpl_GetState(IBaseFilter *iface, DWORD dwMilliSecsTimeout, FILTER_STATE *pState)
Definition: filter.c:87

◆ MediaStreamFilterImpl_GetSyncSource()

static HRESULT WINAPI MediaStreamFilterImpl_GetSyncSource ( IMediaStreamFilter iface,
IReferenceClock **  clock 
)
static

Definition at line 148 of file mediastreamfilter.c.

149{
151 return BaseFilterImpl_GetSyncSource(&This->filter.IBaseFilter_iface, clock);
152}
_Check_return_ _CRTIMP clock_t __cdecl clock(void)
Definition: clock.c:23
HRESULT WINAPI BaseFilterImpl_GetSyncSource(IBaseFilter *iface, IReferenceClock **ppClock)
Definition: filter.c:119

◆ MediaStreamFilterImpl_JoinFilterGraph()

static HRESULT WINAPI MediaStreamFilterImpl_JoinFilterGraph ( IMediaStreamFilter iface,
IFilterGraph graph,
LPCWSTR  name 
)
static

Definition at line 173 of file mediastreamfilter.c.

174{
176 return BaseFilterImpl_JoinFilterGraph(&This->filter.IBaseFilter_iface, graph, name);
177}
HRESULT WINAPI BaseFilterImpl_JoinFilterGraph(IBaseFilter *iface, IFilterGraph *pGraph, LPCWSTR pName)
Definition: filter.c:159
Definition: name.c:39

◆ MediaStreamFilterImpl_Pause()

static HRESULT WINAPI MediaStreamFilterImpl_Pause ( IMediaStreamFilter iface)
static

Definition at line 122 of file mediastreamfilter.c.

123{
124 FIXME("(%p)->(): Stub!\n", iface);
125
126 return E_NOTIMPL;
127}

◆ MediaStreamFilterImpl_QueryFilterInfo()

static HRESULT WINAPI MediaStreamFilterImpl_QueryFilterInfo ( IMediaStreamFilter iface,
FILTER_INFO *  info 
)
static

Definition at line 167 of file mediastreamfilter.c.

168{
170 return BaseFilterImpl_QueryFilterInfo(&This->filter.IBaseFilter_iface, info);
171}
HRESULT WINAPI BaseFilterImpl_QueryFilterInfo(IBaseFilter *iface, FILTER_INFO *pInfo)
Definition: filter.c:145

◆ MediaStreamFilterImpl_QueryInterface()

static HRESULT WINAPI MediaStreamFilterImpl_QueryInterface ( IMediaStreamFilter iface,
REFIID  riid,
void **  ret_iface 
)
static

Definition at line 50 of file mediastreamfilter.c.

51{
52 TRACE("(%p)->(%s, %p)\n", iface, debugstr_guid(riid), ret_iface);
53
54 *ret_iface = NULL;
55
58 IsEqualIID(riid, &IID_IMediaFilter) ||
60 IsEqualIID(riid, &IID_IMediaStreamFilter))
61 *ret_iface = iface;
62
63 if (*ret_iface)
64 {
65 IMediaStreamFilter_AddRef(*ret_iface);
66 return S_OK;
67 }
68
69 return E_NOINTERFACE;
70}
const GUID IID_IUnknown
const GUID IID_IBaseFilter
REFIID riid
Definition: atlbase.h:39
const GUID IID_IPersist
Definition: proxy.cpp:14
#define E_NOINTERFACE
Definition: winerror.h:2364

◆ MediaStreamFilterImpl_QueryVendorInfo()

static HRESULT WINAPI MediaStreamFilterImpl_QueryVendorInfo ( IMediaStreamFilter iface,
LPWSTR vendor_info 
)
static

Definition at line 179 of file mediastreamfilter.c.

180{
182 return BaseFilterImpl_QueryVendorInfo(&This->filter.IBaseFilter_iface, vendor_info);
183}
HRESULT WINAPI BaseFilterImpl_QueryVendorInfo(IBaseFilter *iface, LPWSTR *pVendorInfo)
Definition: filter.c:178

◆ MediaStreamFilterImpl_ReferenceTimeToStreamTime()

static HRESULT WINAPI MediaStreamFilterImpl_ReferenceTimeToStreamTime ( IMediaStreamFilter iface,
REFERENCE_TIME pTime 
)
static

Definition at line 248 of file mediastreamfilter.c.

249{
250 FIXME("(%p)->(%p): Stub!\n", iface, pTime);
251
252 return E_NOTIMPL;
253}
_In_ PCCERT_CONTEXT _In_opt_ LPFILETIME pTime
Definition: wincrypt.h:4837

◆ MediaStreamFilterImpl_Release()

static ULONG WINAPI MediaStreamFilterImpl_Release ( IMediaStreamFilter iface)
static

Definition at line 82 of file mediastreamfilter.c.

83{
85 ULONG ref = InterlockedDecrement(&This->filter.refCount);
86
87 TRACE("(%p)->(): new ref = %u\n", iface, ref);
88
89 if (!ref)
90 {
91 ULONG i;
92 for (i = 0; i < This->nb_streams; i++)
93 {
94 IAMMediaStream_JoinFilter(This->streams[i], NULL);
95 IAMMediaStream_Release(This->streams[i]);
96 }
97 CoTaskMemFree(This->streams);
98 BaseFilter_Destroy(&This->filter);
100 }
101
102 return ref;
103}
#define InterlockedDecrement
Definition: armddk.h:52
#define HeapFree(x, y, z)
Definition: compat.h:735
VOID WINAPI CoTaskMemFree(LPVOID ptr)
Definition: ifs.c:442
HRESULT WINAPI BaseFilter_Destroy(BaseFilter *This)
Definition: filter.c:214

◆ MediaStreamFilterImpl_Run()

static HRESULT WINAPI MediaStreamFilterImpl_Run ( IMediaStreamFilter iface,
REFERENCE_TIME  start 
)
static

Definition at line 129 of file mediastreamfilter.c.

130{
131 FIXME("(%p)->(%s): Stub!\n", iface, wine_dbgstr_longlong(start));
132
133 return E_NOTIMPL;
134}
static __inline const char * wine_dbgstr_longlong(ULONGLONG ll)
Definition: compat.h:49
GLuint start
Definition: gl.h:1545

◆ MediaStreamFilterImpl_SetSyncSource()

static HRESULT WINAPI MediaStreamFilterImpl_SetSyncSource ( IMediaStreamFilter iface,
IReferenceClock clock 
)
static

Definition at line 142 of file mediastreamfilter.c.

143{
145 return BaseFilterImpl_SetSyncSource(&This->filter.IBaseFilter_iface, clock);
146}
HRESULT WINAPI BaseFilterImpl_SetSyncSource(IBaseFilter *iface, IReferenceClock *pClock)
Definition: filter.c:101

◆ MediaStreamFilterImpl_Stop()

static HRESULT WINAPI MediaStreamFilterImpl_Stop ( IMediaStreamFilter iface)
static

Definition at line 115 of file mediastreamfilter.c.

116{
117 FIXME("(%p)->(): Stub!\n", iface);
118
119 return E_NOTIMPL;
120}

◆ MediaStreamFilterImpl_SupportSeeking()

static HRESULT WINAPI MediaStreamFilterImpl_SupportSeeking ( IMediaStreamFilter iface,
BOOL  bRenderer 
)
static

Definition at line 241 of file mediastreamfilter.c.

242{
243 FIXME("(%p)->(%d): Stub!\n", iface, bRenderer);
244
245 return E_NOTIMPL;
246}

◆ MediaStreamFilterImpl_WaitUntil()

static HRESULT WINAPI MediaStreamFilterImpl_WaitUntil ( IMediaStreamFilter iface,
REFERENCE_TIME  WaitStreamTime 
)
static

Definition at line 262 of file mediastreamfilter.c.

263{
264 FIXME("(%p)->(%s): Stub!\n", iface, wine_dbgstr_longlong(WaitStreamTime));
265
266 return E_NOTIMPL;
267}

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( amstream  )

Variable Documentation

◆ BaseFuncTable

const BaseFilterFuncTable BaseFuncTable
static
Initial value:
= {
}
static LONG WINAPI MediaStreamFilterImpl_GetPinCount(BaseFilter *iface)
static IPin *WINAPI MediaStreamFilterImpl_GetPin(BaseFilter *iface, int pos)

Definition at line 332 of file mediastreamfilter.c.

Referenced by MediaStreamFilter_create().

◆ MediaStreamFilter_Vtbl

const IMediaStreamFilterVtbl MediaStreamFilter_Vtbl
static
Initial value:
=
{
}
static HRESULT WINAPI MediaStreamFilterImpl_WaitUntil(IMediaStreamFilter *iface, REFERENCE_TIME WaitStreamTime)
static HRESULT WINAPI MediaStreamFilterImpl_GetCurrentStreamTime(IMediaStreamFilter *iface, REFERENCE_TIME *pCurrentStreamTime)
static HRESULT WINAPI MediaStreamFilterImpl_EnumMediaStreams(IMediaStreamFilter *iface, LONG Index, IMediaStream **ppMediaStream)
static HRESULT WINAPI MediaStreamFilterImpl_QueryVendorInfo(IMediaStreamFilter *iface, LPWSTR *vendor_info)
static HRESULT WINAPI MediaStreamFilterImpl_ReferenceTimeToStreamTime(IMediaStreamFilter *iface, REFERENCE_TIME *pTime)
static HRESULT WINAPI MediaStreamFilterImpl_AddMediaStream(IMediaStreamFilter *iface, IAMMediaStream *pAMMediaStream)
static HRESULT WINAPI MediaStreamFilterImpl_Run(IMediaStreamFilter *iface, REFERENCE_TIME start)
static HRESULT WINAPI MediaStreamFilterImpl_GetClassID(IMediaStreamFilter *iface, CLSID *clsid)
static HRESULT WINAPI MediaStreamFilterImpl_Stop(IMediaStreamFilter *iface)
static ULONG WINAPI MediaStreamFilterImpl_AddRef(IMediaStreamFilter *iface)
static HRESULT WINAPI MediaStreamFilterImpl_JoinFilterGraph(IMediaStreamFilter *iface, IFilterGraph *graph, LPCWSTR name)
static HRESULT WINAPI MediaStreamFilterImpl_GetState(IMediaStreamFilter *iface, DWORD ms_timeout, FILTER_STATE *state)
static HRESULT WINAPI MediaStreamFilterImpl_SetSyncSource(IMediaStreamFilter *iface, IReferenceClock *clock)
static HRESULT WINAPI MediaStreamFilterImpl_EndOfStream(IMediaStreamFilter *iface)
static HRESULT WINAPI MediaStreamFilterImpl_QueryFilterInfo(IMediaStreamFilter *iface, FILTER_INFO *info)
static HRESULT WINAPI MediaStreamFilterImpl_FindPin(IMediaStreamFilter *iface, LPCWSTR id, IPin **pin)
static HRESULT WINAPI MediaStreamFilterImpl_Pause(IMediaStreamFilter *iface)
static HRESULT WINAPI MediaStreamFilterImpl_GetMediaStream(IMediaStreamFilter *iface, REFMSPID idPurpose, IMediaStream **ppMediaStream)
static HRESULT WINAPI MediaStreamFilterImpl_EnumPins(IMediaStreamFilter *iface, IEnumPins **enum_pins)
static HRESULT WINAPI MediaStreamFilterImpl_QueryInterface(IMediaStreamFilter *iface, REFIID riid, void **ret_iface)
static HRESULT WINAPI MediaStreamFilterImpl_SupportSeeking(IMediaStreamFilter *iface, BOOL bRenderer)
static HRESULT WINAPI MediaStreamFilterImpl_GetSyncSource(IMediaStreamFilter *iface, IReferenceClock **clock)
static ULONG WINAPI MediaStreamFilterImpl_Release(IMediaStreamFilter *iface)
static HRESULT WINAPI MediaStreamFilterImpl_Flush(IMediaStreamFilter *iface, BOOL bCancelEOS)

Definition at line 283 of file mediastreamfilter.c.

Referenced by MediaStreamFilter_create().