[vlc-devel] [PATCH] aom: Disable module for WindowsXP

Hugo Beauzée-Luyssen hugo at beauzee.fr
Thu May 27 13:25:31 UTC 2021


Nevermind this patch, it seems to happen on windows 10 as well, with a 32bits versions of VLC.
I might end up disabling the libaom module for win32 if no-one objects

On Thu, May 27, 2021, at 10:25 AM, Steve Lhomme wrote:
> On 2021-05-27 10:17, Hugo Beauzée-Luyssen wrote:
> > On Thu, May 27, 2021, at 9:41 AM, Steve Lhomme wrote:
> >> Is this for 3.0 ?
> > 
> > It is
> > 
> >>
> >> IIRC these functions depend on the manifest and are not very reliable.
> >>
> >> Here's how we detect it in direct3d9.c
> >>
> >>       /* do not use D3D9 on XP unless forced */
> >>       if (!vd->obj.force)
> >>       {
> >>           bool isVistaOrGreater = false;
> >>           HMODULE hKernel32 = GetModuleHandle(TEXT("kernel32.dll"));
> >>           if (likely(hKernel32 != NULL))
> >>               isVistaOrGreater = GetProcAddress(hKernel32,
> >> "EnumResourceLanguagesExW") != NULL;
> >>           if (!isVistaOrGreater)
> >>               return VLC_EGENERIC;
> >>       }
> >>
> > 
> > I can definitely use the same code if you have seen occurrences of the dedicated function failing.
> > I've tested it on XP and Windows 10 but definitely not everything in between.
> 
> It's complicated https://stackoverflow.com/a/27324801/1266123
> 
> IMO we should stick with what we already have (or change all instances).
> It seems the manifest is mostly for Win8/10 but since they all use the 
> same underlying function it may not work as expected. And since the same 
> code may be used in other projects not providing a manifest, as a rule 
> of thumb, it's better not to rely on it in general.
> 
> >>
> >> On 2021-05-26 17:55, Hugo Beauzée-Luyssen wrote:
> >>> It consistantly crashes on that platform and seems to behave properly
> >>> starting from Windows Vista
> >>> Fix #25745
> >>> ---
> >>>    modules/codec/aom.c | 9 +++++++++
> >>>    1 file changed, 9 insertions(+)
> >>>
> >>> diff --git a/modules/codec/aom.c b/modules/codec/aom.c
> >>> index 29e84f899f..fb36aaec30 100644
> >>> --- a/modules/codec/aom.c
> >>> +++ b/modules/codec/aom.c
> >>> @@ -37,6 +37,10 @@
> >>>    
> >>>    #include "../packetizer/iso_color_tables.h"
> >>>    
> >>> +#ifdef _WIN32
> >>> +#include <versionhelpers.h>
> >>> +#endif
> >>> +
> >>>    /****************************************************************************
> >>>     * Local prototypes
> >>>     ****************************************************************************/
> >>> @@ -289,6 +293,11 @@ static int OpenDecoder(vlc_object_t *p_this)
> >>>        const aom_codec_iface_t *iface;
> >>>        int av_version;
> >>>    
> >>> +#ifdef _WIN32
> >>> +    if (!IsWindowsVistaOrGreater())
> >>> +        return VLC_EGENERIC;
> >>> +#endif
> >>> +
> >>>        if (dec->fmt_in.i_codec != VLC_CODEC_AV1)
> >>>            return VLC_EGENERIC;
> >>>    
> >>> -- 
> >>> 2.30.2
> >>>
> >>> _______________________________________________
> >>> vlc-devel mailing list
> >>> To unsubscribe or modify your subscription options:
> >>> https://mailman.videolan.org/listinfo/vlc-devel
> >>>
> >> _______________________________________________
> >> vlc-devel mailing list
> >> To unsubscribe or modify your subscription options:
> >> https://mailman.videolan.org/listinfo/vlc-devel
> > 
> > 
> > -- 
> >    Hugo Beauzée-Luyssen
> >    hugo at beauzee.fr
> > _______________________________________________
> > vlc-devel mailing list
> > To unsubscribe or modify your subscription options:
> > https://mailman.videolan.org/listinfo/vlc-devel
> > 
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel


-- 
  Hugo Beauzée-Luyssen
  hugo at beauzee.fr


More information about the vlc-devel mailing list