From: Zebediah Figura z.figura12@gmail.com
Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/qcap/avico.c | 13 ++++--------- dlls/qcap/avimux.c | 15 ++++----------- dlls/qcap/smartteefilter.c | 15 +++++---------- dlls/qcap/vfwcapture.c | 1 - dlls/qedit/samplegrabber.c | 13 ++++--------- dlls/quartz/filesource.c | 10 ++++------ dlls/quartz/parser.c | 8 +++----- dlls/strmbase/enumpins.c | 22 +++++++--------------- dlls/strmbase/filter.c | 8 ++------ dlls/strmbase/renderer.c | 1 - dlls/strmbase/transform.c | 1 - dlls/winegstreamer/gstdemux.c | 16 +++++----------- dlls/wineqtdecoder/qtsplitter.c | 12 ------------ 13 files changed, 38 insertions(+), 97 deletions(-)
diff --git a/dlls/qcap/avico.c b/dlls/qcap/avico.c index 684a3324920..d257051b1ca 100644 --- a/dlls/qcap/avico.c +++ b/dlls/qcap/avico.c @@ -180,18 +180,13 @@ static const IBaseFilterVtbl AVICompressorVtbl = {
static IPin *avi_compressor_get_pin(BaseFilter *iface, unsigned int index) { - AVICompressor *This = impl_from_BaseFilter(iface); - IPin *ret; + AVICompressor *filter = impl_from_BaseFilter(iface);
if (index == 0) - ret = &This->in->pin.IPin_iface; + return &filter->in->pin.IPin_iface; else if (index == 1) - ret = &This->out->pin.IPin_iface; - else - return NULL; - - IPin_AddRef(ret); - return ret; + return &filter->out->pin.IPin_iface; + return NULL; }
static void avi_compressor_destroy(BaseFilter *iface) diff --git a/dlls/qcap/avimux.c b/dlls/qcap/avimux.c index de56a20b6f3..d289d2b9fed 100644 --- a/dlls/qcap/avimux.c +++ b/dlls/qcap/avimux.c @@ -118,19 +118,12 @@ static inline AviMux* impl_from_BaseFilter(BaseFilter *filter)
static IPin *avi_mux_get_pin(BaseFilter *iface, unsigned int index) { - AviMux *This = impl_from_BaseFilter(iface); + AviMux *filter = impl_from_BaseFilter(iface);
if (!index) - { - IPin_AddRef(&This->out->pin.pin.IPin_iface); - return &This->out->pin.pin.IPin_iface; - } - else if (index <= This->input_pin_no) - { - IPin_AddRef(&This->in[index - 1]->pin.pin.IPin_iface); - return &This->in[index - 1]->pin.pin.IPin_iface; - } - + return &filter->out->pin.pin.IPin_iface; + else if (index <= filter->input_pin_no) + return &filter->in[index - 1]->pin.pin.IPin_iface; return NULL; }
diff --git a/dlls/qcap/smartteefilter.c b/dlls/qcap/smartteefilter.c index 4095d95f947..02503ecb789 100644 --- a/dlls/qcap/smartteefilter.c +++ b/dlls/qcap/smartteefilter.c @@ -120,20 +120,15 @@ static const IBaseFilterVtbl SmartTeeFilterVtbl = {
static IPin *smart_tee_get_pin(BaseFilter *iface, unsigned int index) { - SmartTeeFilter *This = impl_from_BaseFilter(iface); - IPin *ret; + SmartTeeFilter *filter = impl_from_BaseFilter(iface);
if (index == 0) - ret = &This->input->pin.IPin_iface; + return &filter->input->pin.IPin_iface; else if (index == 1) - ret = &This->capture->pin.IPin_iface; + return &filter->capture->pin.IPin_iface; else if (index == 2) - ret = &This->preview->pin.IPin_iface; - else - return NULL; - - IPin_AddRef(ret); - return ret; + return &filter->preview->pin.IPin_iface; + return NULL; }
static void smart_tee_destroy(BaseFilter *iface) diff --git a/dlls/qcap/vfwcapture.c b/dlls/qcap/vfwcapture.c index d9d937a4a50..0bf8c45d9c0 100644 --- a/dlls/qcap/vfwcapture.c +++ b/dlls/qcap/vfwcapture.c @@ -104,7 +104,6 @@ static IPin *vfw_capture_get_pin(BaseFilter *iface, unsigned int index) if (index >= 1) return NULL;
- IPin_AddRef(This->pOutputPin); return This->pOutputPin; }
diff --git a/dlls/qedit/samplegrabber.c b/dlls/qedit/samplegrabber.c index b53d4d8c7e9..9836d9e3740 100644 --- a/dlls/qedit/samplegrabber.c +++ b/dlls/qedit/samplegrabber.c @@ -275,18 +275,13 @@ static void SampleGrabber_cleanup(SG_Impl *This)
static IPin *sample_grabber_get_pin(BaseFilter *iface, unsigned int index) { - SG_Impl *This = impl_from_BaseFilter(iface); - IPin *pin; + SG_Impl *filter = impl_from_BaseFilter(iface);
if (index == 0) - pin = &This->pin_in.IPin_iface; + return &filter->pin_in.IPin_iface; else if (index == 1) - pin = &This->pin_out.IPin_iface; - else - return NULL; - - IPin_AddRef(pin); - return pin; + return &filter->pin_out.IPin_iface; + return NULL; }
static void sample_grabber_destroy(BaseFilter *iface) diff --git a/dlls/quartz/filesource.c b/dlls/quartz/filesource.c index b2fc4015816..34601da6b47 100644 --- a/dlls/quartz/filesource.c +++ b/dlls/quartz/filesource.c @@ -394,13 +394,11 @@ HRESULT GetClassMediaFile(IAsyncReader * pReader, LPCOLESTR pszFileName, GUID *
static IPin *async_reader_get_pin(BaseFilter *iface, unsigned int index) { - AsyncReader *This = impl_from_BaseFilter(iface); + AsyncReader *filter = impl_from_BaseFilter(iface);
- if (index >= 1 || !This->pOutputPin) - return NULL; - - IPin_AddRef(This->pOutputPin); - return This->pOutputPin; + if (!index && filter->pOutputPin) + return filter->pOutputPin; + return NULL; }
static void async_reader_destroy(BaseFilter *iface) diff --git a/dlls/quartz/parser.c b/dlls/quartz/parser.c index 3320dece4b5..2666eb75aad 100644 --- a/dlls/quartz/parser.c +++ b/dlls/quartz/parser.c @@ -66,11 +66,9 @@ IPin *parser_get_pin(BaseFilter *iface, unsigned int index) { ParserImpl *filter = impl_from_BaseFilter(iface);
- if (index > filter->cStreams) - return NULL; - - IPin_AddRef(filter->ppPins[index]); - return filter->ppPins[index]; + if (index <= filter->cStreams) + return filter->ppPins[index]; + return NULL; }
HRESULT Parser_Create(ParserImpl *pParser, const IBaseFilterVtbl *vtbl, IUnknown *outer, diff --git a/dlls/strmbase/enumpins.c b/dlls/strmbase/enumpins.c index 198c8397a31..6e3357f5605 100644 --- a/dlls/strmbase/enumpins.c +++ b/dlls/strmbase/enumpins.c @@ -60,10 +60,7 @@ HRESULT enum_pins_create(BaseFilter *base, IEnumPins **out) object->Version = base->pin_version;
while ((pin = base->pFuncsTable->filter_get_pin(base, object->count))) - { - IPin_Release(pin); ++object->count; - }
TRACE("Created enumerator %p.\n", object); *out = &object->IEnumPins_iface; @@ -122,7 +119,7 @@ static ULONG WINAPI IEnumPinsImpl_Release(IEnumPins * iface) static HRESULT WINAPI IEnumPinsImpl_Next(IEnumPins * iface, ULONG cPins, IPin ** ppPins, ULONG * pcFetched) { IEnumPinsImpl *This = impl_from_IEnumPins(iface); - ULONG i = 0; + ULONG i;
TRACE("(%p)->(%u, %p, %p)\n", iface, cPins, ppPins, pcFetched);
@@ -138,16 +135,14 @@ static HRESULT WINAPI IEnumPinsImpl_Next(IEnumPins * iface, ULONG cPins, IPin ** if (This->Version != This->base->pin_version) return VFW_E_ENUM_OUT_OF_SYNC;
- while (i < cPins) + for (i = 0; i < cPins; ++i) { - IPin *pin; - pin = This->base->pFuncsTable->filter_get_pin(This->base, This->uIndex + i); + IPin *pin = This->base->pFuncsTable->filter_get_pin(This->base, This->uIndex + i);
- if (!pin) - break; - else - ppPins[i] = pin; - ++i; + if (!pin) + break; + + IPin_AddRef(ppPins[i] = pin); }
if (pcFetched) @@ -186,10 +181,7 @@ static HRESULT WINAPI IEnumPinsImpl_Reset(IEnumPins *iface) { enum_pins->count = 0; while ((pin = enum_pins->base->pFuncsTable->filter_get_pin(enum_pins->base, enum_pins->count))) - { - IPin_Release(pin); ++enum_pins->count; - } }
enum_pins->Version = enum_pins->base->pin_version; diff --git a/dlls/strmbase/filter.c b/dlls/strmbase/filter.c index b61d3ffa99f..5f57731b7a1 100644 --- a/dlls/strmbase/filter.c +++ b/dlls/strmbase/filter.c @@ -194,19 +194,15 @@ HRESULT WINAPI BaseFilterImpl_FindPin(IBaseFilter *iface, const WCHAR *id, IPin { hr = IPin_QueryPinInfo(pin, &info); if (FAILED(hr)) - { - IPin_Release(pin); return hr; - } + if (info.pFilter) IBaseFilter_Release(info.pFilter);
if (!lstrcmpW(id, info.achName)) { - *ret = pin; + IPin_AddRef(*ret = pin); return S_OK; } - - IPin_Release(pin); }
return VFW_E_NOT_FOUND; diff --git a/dlls/strmbase/renderer.c b/dlls/strmbase/renderer.c index 1017c8c5747..b1b318f54f2 100644 --- a/dlls/strmbase/renderer.c +++ b/dlls/strmbase/renderer.c @@ -190,7 +190,6 @@ static IPin *renderer_get_pin(BaseFilter *iface, unsigned int index) if (index >= 1) return NULL;
- IPin_AddRef(&This->pInputPin->pin.IPin_iface); return &This->pInputPin->pin.IPin_iface; }
diff --git a/dlls/strmbase/transform.c b/dlls/strmbase/transform.c index a7c47b509f8..fe54ebe861f 100644 --- a/dlls/strmbase/transform.c +++ b/dlls/strmbase/transform.c @@ -135,7 +135,6 @@ static IPin *transform_get_pin(BaseFilter *iface, unsigned int index) if (index >= 2) return NULL;
- IPin_AddRef(filter->ppPins[index]); return filter->ppPins[index]; }
diff --git a/dlls/winegstreamer/gstdemux.c b/dlls/winegstreamer/gstdemux.c index 8649c8af736..2ec540a3e42 100644 --- a/dlls/winegstreamer/gstdemux.c +++ b/dlls/winegstreamer/gstdemux.c @@ -1198,19 +1198,13 @@ static inline GSTOutPin *impl_from_IMediaSeeking( IMediaSeeking *iface )
static IPin *gstdemux_get_pin(BaseFilter *base, unsigned int index) { - GSTImpl *This = impl_from_IBaseFilter(&base->IBaseFilter_iface); - IPin *pin; - - if (index > This->cStreams) - return NULL; + GSTImpl *filter = impl_from_IBaseFilter(&base->IBaseFilter_iface);
if (!index) - pin = &This->pInputPin.pin.IPin_iface; - else - pin = &This->ppPins[index - 1]->pin.pin.IPin_iface; - - IPin_AddRef(pin); - return pin; + return &filter->pInputPin.pin.IPin_iface; + else if (index <= filter->cStreams) + return &filter->ppPins[index - 1]->pin.pin.IPin_iface; + return NULL; }
static void gstdemux_destroy(BaseFilter *iface) diff --git a/dlls/wineqtdecoder/qtsplitter.c b/dlls/wineqtdecoder/qtsplitter.c index 6c1105ce4b5..3dd530fac3e 100644 --- a/dlls/wineqtdecoder/qtsplitter.c +++ b/dlls/wineqtdecoder/qtsplitter.c @@ -207,28 +207,16 @@ static IPin *qt_splitter_get_pin(BaseFilter *base, unsigned int index) QTSplitter *filter = impl_from_BaseFilter(base);
if (index == 0) - { - IPin_AddRef(&filter->pInputPin.pin.IPin_iface); return &filter->pInputPin.pin.IPin_iface; - } else if (index == 1) { if (filter->pVideo_Pin) - { - IPin_AddRef(&filter->pVideo_Pin->pin.pin.IPin_iface); return &filter->pVideo_Pin->pin.pin.IPin_iface; - } else if (filter->pAudio_Pin) - { - IPin_AddRef(&filter->pAudio_Pin->pin.pin.IPin_iface); return &filter->pAudio_Pin->pin.pin.IPin_iface; - } } else if (index == 2 && filter->pVideo_Pin && filter->pAudio_Pin) - { - IPin_AddRef(&filter->pAudio_Pin->pin.pin.IPin_iface); return &filter->pAudio_Pin->pin.pin.IPin_iface; - }
return NULL; }