On 5/24/22 01:12, Rémi Bernon (@rbernon) wrote:
On Mon May 23 23:15:33 2022 +0000, **** wrote:
Zebediah Figura replied on the mailing list:
On 5/23/22 07:07, Rémi Bernon wrote: > +static HRESULT asf_callback_create(struct asf_reader *filter, IWMReaderCallback **out) > +{ > + struct asf_callback *impl; > + > + if (!(impl = calloc(1, sizeof(*impl)))) > + return E_OUTOFMEMORY; > + > + impl->IWMReaderCallback_iface.lpVtbl = &reader_callback_vtbl; > + impl->filter = filter; > + impl->ref = 1; > + > + *out = &impl->IWMReaderCallback_iface; > + return S_OK; > +} Can we put the IWMReaderCallback interface inside of struct asf_reader, instead of making this a separate object?
No, the reader will hold a ref on it and it would prevent filter destruction otherwise.
If it's the same object, the reader shouldn't be holding a reference. In fact I think they should be able to share the same refcount.