25 { {&IID_IUnknown,0}, {&IID_IEnumPins,0} })
30 unsigned long *fetched)
33 dshowdebug(
"ff_dshow_enumpins_Next(%p)\n",
this);
36 if (!this->
pos && n == 1) {
38 *pins = (IPin *) this->pin;
50 dshowdebug(
"ff_dshow_enumpins_Skip(%p)\n",
this);
57 dshowdebug(
"ff_dshow_enumpins_Reset(%p)\n",
this);
64 dshowdebug(
"ff_dshow_enumpins_Clone(%p)\n",
this);
77 IEnumPinsVtbl *vtbl = this->vtbl;
78 SETVTBL(vtbl, enumpins, QueryInterface);
79 SETVTBL(vtbl, enumpins, AddRef);
80 SETVTBL(vtbl, enumpins, Release);
static av_always_inline void filter(int16_t *output, ptrdiff_t out_stride, const int16_t *low, ptrdiff_t low_stride, const int16_t *high, ptrdiff_t high_stride, int len, int clip)
unsigned long ff_dshow_pin_AddRef(DShowPin *)
#define DECLARE_CREATE(prefix, class, setup,...)
#define DECLARE_RELEASE(prefix, class)
unsigned long ff_dshow_filter_AddRef(DShowFilter *)
#define DECLARE_ADDREF(prefix, class)
DShowEnumPins * ff_dshow_enumpins_Create(DShowPin *pin, DShowFilter *filter)
unsigned long ff_dshow_filter_Release(DShowFilter *)
long ff_dshow_enumpins_Next(DShowEnumPins *, unsigned long, IPin **, unsigned long *)
#define SETVTBL(vtbl, prefix, fn)
#define DECLARE_DESTROY(prefix, class, func)
long ff_dshow_enumpins_Clone(DShowEnumPins *this, DShowEnumPins **pins)
static int ff_dshow_enumpins_Setup(DShowEnumPins *this, DShowPin *pin, DShowFilter *filter)
long ff_dshow_enumpins_Skip(DShowEnumPins *this, unsigned long n)
static int ff_dshow_enumpins_Cleanup(DShowEnumPins *this)
DECLARE_QUERYINTERFACE(enumpins, DShowEnumPins, { {&IID_IUnknown, 0}, {&IID_IEnumPins, 0} })
long ff_dshow_enumpins_Reset(DShowEnumPins *this)