[PATCH 07/16] Implement stub bytestream handler and source.
Nikolay Sivov
nsivov at codeweavers.com
Thu Mar 26 00:06:44 CDT 2020
On 3/26/20 3:12 AM, Derek Lesho wrote:
> +static ULONG WINAPI media_source_Release(IMFMediaSource *iface)
> +{
> + struct media_source *This = impl_from_IMFMediaSource(iface);
> + ULONG ref = InterlockedDecrement(&This->ref);
> +
> + TRACE("(%p) ref=%u\n", This, ref);
> +
> + if (!ref)
> + {
> + heap_free(This);
> + }
> +
> + return ref;
> +}
This does not release event queue. It should also shutdown it, just in
case. It could be important if client subscribed to source events,
but didn't call Start/Shutdown.
> +static HRESULT media_source_teardown(struct media_source *This)
> +{
> + if (This->event_queue)
> + IMFMediaEventQueue_Release(This->event_queue);
> +
> + return S_OK;
> +}
It could as well be void, you can't do much with return value of it.
> diff --git a/include/mfidl.idl b/include/mfidl.idl
> index a5fb8bc0bd..15a68a4253 100644
> --- a/include/mfidl.idl
> +++ b/include/mfidl.idl
> @@ -1066,3 +1066,4 @@ cpp_quote("EXTERN_GUID(MF_SESSION_APPROX_EVENT_OCCURRENCE_TIME, 0x190e852f, 0x62
> cpp_quote("EXTERN_GUID(MF_PMP_SERVER_CONTEXT, 0x2f00c910, 0xd2cf, 0x4278, 0x8b, 0x6a, 0xd0, 0x77, 0xfa, 0xc3, 0xa2, 0x5f);")
>
> cpp_quote("EXTERN_GUID(CLSID_VideoProcessorMFT, 0x88753b26, 0x5b24, 0x49bd, 0xb2, 0xe7, 0xc, 0x44, 0x5c, 0x78, 0xc9, 0x82);")
> +cpp_quote("EXTERN_GUID(CLSID_MPEG4ByteStreamHandler, 0x271c3902, 0x6095, 0x4c45, 0xa2, 0x2f, 0x20, 0x09, 0x18, 0x16, 0xee, 0x9e);")
I don't see this name (or guid) in SDK. Is it going to be used from
outside winegstreamer?
P.S. it would be nice to have formatting and naming conventions matching
other MF modules for the sake of consistency and more uniform traces,
but I'll leave that to gstreamer part reviewers to decide, so ignore it
if you disagree.
More information about the wine-devel
mailing list