> On 19 Mar 2022, at 15:03, Diederik de Haas <didi.deb...@cknow.org> wrote: > > On Saturday, 19 March 2022 13:57:49 CET Reimar Döffinger wrote: >>> On 16 Mar 2022, at 20:01, Diederik de Haas <didi.deb...@cknow.org> wrote: >>> [VD_FFMPEG] DRI failure. >>> mplayer: libmpcodecs/vf.c:286: vf_get_image: Assertion `w == -1 || w >= >>> vf->w' failed. >> Is it intentional that debian compiles with --enable-debug? >> That's the reason I could never reproduce this, as it's off by default. >> I think this is simply a case of bad asserts, but I should double-check. >> The video plays fine with 1.5 if compiled without --enable-debug, I suspect >> it's the same for 1.4. > > I don't know, but searching the repo, I found the following commit: > https://salsa.debian.org/multimedia-team/mplayer/-/commit/63f84eb8b014724263447bc37927154bec2ac5e7 > > It's from 12 years ago, so I don't know if the logic from then still applies. > It does talk about 'mplayer-dbg', but AFAIK nowadays there should be > (automatic?) debug packages and those are (usually?)named -dbgsym. > You as one of the (new) maintainers can make a different choice then was made > back then.
I suspect the problem might be that MPlayer by default does not compile with debug symbols. This should be addressed by adding the desired -g options to --extra-cflags and --extra-ldflags configure options instead. Admittedly --enable-debug is documented doing that, but it does more... Sigh... Fixed that as well upstream. > OTOH, I'd guess that an assert would signal an actual problem and *hiding* it > by no longer compiling with '--enable-debug' seems wrong. > When the assert itself is wrong, then that should be corrected. The problem is that too few people run MPlayer with --enable-debug, so the quality of the asserts is not well tested. I removed the 2 relevant asserts in MPlayer SVN r38362. --- libmpcodecs/vf.c (revision 38361) +++ libmpcodecs/vf.c (working copy) @@ -283,8 +283,6 @@ int missing_palette; #ifdef MP_DEBUG - assert(w == -1 || w >= vf->w); - assert(h == -1 || h >= vf->h); assert(vf->w > 0); assert(vf->h > 0); #endif