[FFmpeg-devel] [PATCH] Prevents crash from CreateDeviceEx and proper fallback to classic d3d9.

wm4 nfxjfg at googlemail.com
Thu Jan 4 00:52:55 EET 2018


On Wed, 3 Jan 2018 14:34:59 -0800
Mont3z Claros <mont3z.claro5 at gmail.com> wrote:

> > LGTM, but when does it happen? Why would creation of IDirect3D9Ex
> > succeed, but this method fail? The strangest thing being that
> > CreateDeviceEx apparently fails, even though modeex is
> > zero-initialized and doesn't contain any pointers.
> >
> > Anyway, please format the commit message according to project
> > standards, and add anything you might know about this to the commit
> > message.
> > _______________________________________________
> > ffmpeg-devel mailing list
> > ffmpeg-devel at ffmpeg.org
> > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel  
> 
> Thx for your reply.
> Our software uses an old Directx SDK (June 2010) and it works fine
> with ffmpeg 3.1.4.
> However it was crashing with the new ffmpeg 3.4. I've noticed that
> there was a crash with a memory violation when executing
> IDirect3D9Ex_CreateDeviceEx.
> 
> Unhandled exception at 0x000007FEF10974A3 (d3d9.dll) in
> crash_dump.dmp: 0xC0000005: Access violation reading location
> 0x0000000000000001.
> 
> This crash prevent ffmpeg from falling back to the classic format.
> Actually an error was being issued by
> IDirect3D9Ex_GetAdapterDisplayModeEx but this was never caught.
> After this patch, ffmpeg is falling back to the classic format and no
> crashes take place.
> 
> I'll update the message and resubmit the patch.

Not really much useful information (it's true that D3D9Ex was added
some time, probably in ffmpeg 3.4). Bit sure, if it's known to crash in
CreateDeviceEx, that's seems good enough. (Probably a buggy driver.)


More information about the ffmpeg-devel mailing list