25 { {&IID_IUnknown,0}, {&IID_IBaseFilter,0} })
32 dshowdebug(
"libAVFilter_GetClassID(%p)\n",
this);
40 this->
state = State_Stopped;
47 this->
state = State_Paused;
53 dshowdebug(
"libAVFilter_Run(%p) %"PRId64
"\n",
this, start);
54 this->
state = State_Running;
61 dshowdebug(
"libAVFilter_GetState(%p)\n",
this);
70 dshowdebug(
"libAVFilter_SetSyncSource(%p)\n",
this);
72 if (this->clock != clock) {
74 IReferenceClock_Release(this->clock);
77 IReferenceClock_AddRef(clock);
85 dshowdebug(
"libAVFilter_GetSyncSource(%p)\n",
this);
90 IReferenceClock_AddRef(this->clock);
99 dshowdebug(
"libAVFilter_EnumPins(%p)\n",
this);
105 return E_OUTOFMEMORY;
107 *enumpin = (IEnumPins *)
new;
114 dshowdebug(
"libAVFilter_FindPin(%p)\n",
this);
118 if (!wcscmp(
id,
L"In")) {
122 *pin = (IPin *) found;
124 return VFW_E_NOT_FOUND;
131 dshowdebug(
"libAVFilter_QueryFilterInfo(%p)\n",
this);
135 if (this->info.pGraph)
136 IFilterGraph_AddRef(this->info.pGraph);
145 dshowdebug(
"libAVFilter_JoinFilterGraph(%p)\n",
this);
147 this->info.pGraph = graph;
149 wcscpy(this->info.achName, name);
156 dshowdebug(
"libAVFilter_QueryVendorInfo(%p)\n",
this);
160 *info = wcsdup(
L"libAV");
169 IBaseFilterVtbl *vtbl = this->vtbl;
188 this->priv_data = priv_data;