[PATCH v4 2/5] winegstreamer: Add stub bytestream handler.

Derek Lesho dlesho at codeweavers.com
Tue Sep 1 09:40:03 CDT 2020


On 9/1/20 9:13 AM, Nikolay Sivov wrote:

>
> On 9/1/20 4:54 PM, Derek Lesho wrote:
>> On 9/1/20 2:29 AM, Nikolay Sivov wrote:
>>> On 8/28/20 11:48 PM, Derek Lesho wrote:
>>>> @@ -6030,7 +6030,7 @@ static HRESULT
>>>> resolver_get_bytestream_handler(IMFByteStream *stream, const WCHA
>>>>          for (i = 0, hr = E_FAIL; i < ARRAY_SIZE(hkey_roots); ++i)
>>>>        {
>>>> -        const WCHAR *namesW[2] = { mimeW, url_ext };
>>>> +        const WCHAR *namesW[3] = { mimeW, url_ext, L"wine/all" };
>>>>            HKEY hkey, hkey_handler;
>>>>              if (RegOpenKeyA(hkey_roots[i], streamhandlerspath, &hkey))
>>> Is it a way to avoid registering specific types/extensions? Could you
>>> explain why this is better than regular registration.
>>>
>> Yes, this is a way to avoid registering specific types.  This was
>> zebediah's suggestion, and his reasoning was:
>>
>>> Even if some application creates CLSID_MPEG4ByteStreamHandler manually,
>>> and we need to hook up this decoder thereto, I think it makes more sense
>>> for the original patch to create it under a generic name (maybe
>>> CLSID_GStreamerByteStreamHandler) and custom CLSID. Then, in another
>>> patch, we can hook up CLSID_MPEG4ByteStreamHandler to the same object.
>>>
>>> Media Foundation doesn't make it as easy as DirectShow to plug in a
>>> generic catch-all handler, i.e. we can't just set some registry keys and
>>> have done, but regardless I think it's something we want to do, even if
>>> that means making the modification in mfreadwrite instead.
> I don't know, I don't see a problem in registering whole list of mime
> types/extensions, which then could be tweaked. Is it the size of this
> list that makes this undesirable? In practice it will grow to maybe 20
> entries I think.

I agree with you, although it would probably grow to be longer than 
that, as I think Zebediah wants us to support media types not supported 
on windows:

> The point of doing this is mainly for generic media players (which, as
> bug reports will tell you, are used quite frequently with Wine, for one
> reason or another). It also has the benefit of obviating most of the
> registry entries (like the ones below) and CLSID mappings that we'd
> otherwise have to add.



>
> P.S. mfreadwrite was mentioned, should that be mfplat.dll or does
> mfreadwrite need special handling for some reason?
I think Zebediah was just mistaken here.
>
>



More information about the wine-devel mailing list