Re: [FFmpeg-devel] [PATCH] Revert "Autodetect libxcb."
On Thu, Feb 05, 2015 at 10:40:47PM +0100, Nicolas George wrote: > Le septidi 17 pluviôse, an CCXXIII, Clement Boesch a écrit : > > So after each release, packagers need to check the configure and make sure > > there aren't new libraries that will randomly be linked to, and add new > > flag to make sure it's disabled? > > Well, yes, duh. That is exactly their job description. Well, that and fixing > technical issues. > > But of course, checking each new optional new feature and decide to enable > or disable, that is what a maintainer is supposed to do. > The logic is the following: you have a verbatim clean of all optional dependencies, and the packager decides which optional one he wants to add. So yeah indeed, he might be check for new optional feature to add. Asking the packagers to monitor that the upstream project is not randomly adding a huge dep for something optional by default (that he will have to disable explicitly) is not a very nice attitude to adopt. And again, if we start adding random optional dependencies, we should do it for all the libraries to be consistent, whether that be on demand (sane option) or automatically with disable capability (less sane but still better than current inconsistent and unpredictable recent behaviour). Our build system was relatively sane when we weren't pulling random dependencies like this, and that's why packagers didn't complain much about it. Changing that behaviour sneakily is not going to make us some friends. If we want auto-detect of libs like this, we must make sure this behaviour is disable-able. > Otherwise, how would the users benefit from the new features? > Users would request the new feature. The distribution is all about control of the dependencies and features. > > They will miss some... > > You can assume they have automated tools to detect dependency changes. Or > more generally, you can assume they are proficient at what they do. > This is distro specific and there are thousands out there. -- Clément B. pgpQKkirZaU_m.pgp Description: PGP signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] Revert "Autodetect libxcb."
On Wed, Feb 04, 2015 at 09:11:34PM +0100, Clément Bœsch wrote: > This reverts commit 23ec8db8a07467a1fbef0c79f16b33040ca63c24. > > There is no reason to enable libxcb by default. This is inconsistent > with all the other libs (we don't do it for x11, opengl, ...) and drag > many unwanted dependencies by default. We'll get cursed by packagers > pretty soon because of this. > > Conflicts: > configure > --- > configure | 6 ++ > 1 file changed, 2 insertions(+), 4 deletions(-) an alternative to "default auto vs. default off" may be to use dlopen() or something like that as that would not add a hard dependency [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB In fact, the RIAA has been known to suggest that students drop out of college or go to community college in order to be able to afford settlements. -- The RIAA signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] Revert "Autodetect libxcb."
Le septidi 17 pluviôse, an CCXXIII, Clement Boesch a écrit : > So after each release, packagers need to check the configure and make sure > there aren't new libraries that will randomly be linked to, and add new > flag to make sure it's disabled? Well, yes, duh. That is exactly their job description. Well, that and fixing technical issues. But of course, checking each new optional new feature and decide to enable or disable, that is what a maintainer is supposed to do. Otherwise, how would the users benefit from the new features? > They will miss some... You can assume they have automated tools to detect dependency changes. Or more generally, you can assume they are proficient at what they do. Regards, -- Nicolas George signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] Revert "Autodetect libxcb."
On Thu, Feb 05, 2015 at 10:33:38PM +0100, wm4 wrote: > On Thu, 5 Feb 2015 22:11:22 +0100 > Clément Bœsch wrote: > > > On Thu, Feb 05, 2015 at 04:55:37PM +0100, Nicolas George wrote: > > > Le sextidi 16 pluviôse, an CCXXIII, Clement Boesch a écrit : > > > > Linux is not only used by desktop. Debian (for example) might want to > > > > provide a ffmpeg-nox11 (just like vim-nox11), > > > > > > Well, that means they have to put --disable-libxcb when building > > > ffmpeg-nox > > > instead of having to out --enable-libxcb when building ffmpeg-x. Same > > > difference. > > > > > > (IMHO, they should be specifying both anyways: never rely on defaults and > > > you never have to worry that defaults may change.) > > > > > > As long as both the enable and disable explicit option work, the default > > > value does not matter much. And in this particular case, considering xcb > > > like a system library seems more consistent. > > > > > > > So after each release, packagers need to check the configure and make sure > > there aren't new libraries that will randomly be linked to, and add new > > flag to make sure it's disabled? They will miss some... Or are you > > suggesting them to use --disable-everything and add every internal > > codec/format/filter/protocol/...? (There is no --disable-every-external > > AFAIK). > > > > Packagers don't want to pull new random (huge) dependencies. That means > > they enable just what they need, and they add the necessary dependencies > > according to the demand. > > > > That is the original reason we don't auto-enable external libraries. > > libxcb is not more a "system" lib than libx264 is. > > > > > Personally, I would like that all libraries support auto-detection, with a > > > "--auto-all" option to configure to enable it for everything. > > > > That's fine with me as well, but we should stick with the non auto-detect > > behaviour by default. Or in the worst case, allow a > > --disable-every-external or something like this. > > > > And why is vaapi considered a system lib? I'm for disabling it by default as well. -- Clément B. pgpTKaLln1AXl.pgp Description: PGP signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] Revert "Autodetect libxcb."
On Thu, 5 Feb 2015 22:11:22 +0100 Clément Bœsch wrote: > On Thu, Feb 05, 2015 at 04:55:37PM +0100, Nicolas George wrote: > > Le sextidi 16 pluviôse, an CCXXIII, Clement Boesch a écrit : > > > Linux is not only used by desktop. Debian (for example) might want to > > > provide a ffmpeg-nox11 (just like vim-nox11), > > > > Well, that means they have to put --disable-libxcb when building ffmpeg-nox > > instead of having to out --enable-libxcb when building ffmpeg-x. Same > > difference. > > > > (IMHO, they should be specifying both anyways: never rely on defaults and > > you never have to worry that defaults may change.) > > > > As long as both the enable and disable explicit option work, the default > > value does not matter much. And in this particular case, considering xcb > > like a system library seems more consistent. > > > > So after each release, packagers need to check the configure and make sure > there aren't new libraries that will randomly be linked to, and add new > flag to make sure it's disabled? They will miss some... Or are you > suggesting them to use --disable-everything and add every internal > codec/format/filter/protocol/...? (There is no --disable-every-external > AFAIK). > > Packagers don't want to pull new random (huge) dependencies. That means > they enable just what they need, and they add the necessary dependencies > according to the demand. > > That is the original reason we don't auto-enable external libraries. > libxcb is not more a "system" lib than libx264 is. > > > Personally, I would like that all libraries support auto-detection, with a > > "--auto-all" option to configure to enable it for everything. > > That's fine with me as well, but we should stick with the non auto-detect > behaviour by default. Or in the worst case, allow a > --disable-every-external or something like this. > And why is vaapi considered a system lib? ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] Revert "Autodetect libxcb."
On Thu, Feb 05, 2015 at 04:55:37PM +0100, Nicolas George wrote: > Le sextidi 16 pluviôse, an CCXXIII, Clement Boesch a écrit : > > Linux is not only used by desktop. Debian (for example) might want to > > provide a ffmpeg-nox11 (just like vim-nox11), > > Well, that means they have to put --disable-libxcb when building ffmpeg-nox > instead of having to out --enable-libxcb when building ffmpeg-x. Same > difference. > > (IMHO, they should be specifying both anyways: never rely on defaults and > you never have to worry that defaults may change.) > > As long as both the enable and disable explicit option work, the default > value does not matter much. And in this particular case, considering xcb > like a system library seems more consistent. > So after each release, packagers need to check the configure and make sure there aren't new libraries that will randomly be linked to, and add new flag to make sure it's disabled? They will miss some... Or are you suggesting them to use --disable-everything and add every internal codec/format/filter/protocol/...? (There is no --disable-every-external AFAIK). Packagers don't want to pull new random (huge) dependencies. That means they enable just what they need, and they add the necessary dependencies according to the demand. That is the original reason we don't auto-enable external libraries. libxcb is not more a "system" lib than libx264 is. > Personally, I would like that all libraries support auto-detection, with a > "--auto-all" option to configure to enable it for everything. That's fine with me as well, but we should stick with the non auto-detect behaviour by default. Or in the worst case, allow a --disable-every-external or something like this. -- Clément B. pgpzR1ulvIJTv.pgp Description: PGP signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] Revert "Autodetect libxcb."
On Thu Feb 05 2015 at 7:55:43 AM Nicolas George wrote: > Le sextidi 16 pluviôse, an CCXXIII, Clement Boesch a écrit : > > Linux is not only used by desktop. Debian (for example) might want to > > provide a ffmpeg-nox11 (just like vim-nox11), > > Well, that means they have to put --disable-libxcb when building ffmpeg-nox > instead of having to out --enable-libxcb when building ffmpeg-x. Same > difference. > > (IMHO, they should be specifying both anyways: never rely on defaults and > you never have to worry that defaults may change.) > > As long as both the enable and disable explicit option work, the default > value does not matter much. And in this particular case, considering xcb > like a system library seems more consistent. > > Personally, I would like that all libraries support auto-detection, with a > "--auto-all" option to configure to enable it for everything. > +1. Timothy ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] Revert "Autodetect libxcb."
Le sextidi 16 pluviôse, an CCXXIII, Clement Boesch a écrit : > Linux is not only used by desktop. Debian (for example) might want to > provide a ffmpeg-nox11 (just like vim-nox11), Well, that means they have to put --disable-libxcb when building ffmpeg-nox instead of having to out --enable-libxcb when building ffmpeg-x. Same difference. (IMHO, they should be specifying both anyways: never rely on defaults and you never have to worry that defaults may change.) As long as both the enable and disable explicit option work, the default value does not matter much. And in this particular case, considering xcb like a system library seems more consistent. Personally, I would like that all libraries support auto-detection, with a "--auto-all" option to configure to enable it for everything. Regards, -- Nicolas George signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] Revert "Autodetect libxcb."
On Wed, 4 Feb 2015 20:39:21 + (UTC) Carl Eugen Hoyos wrote: > Clément Bœsch pkh.me> writes: > > > This reverts commit 23ec8db8a07467a1fbef0c79f16b33040ca63c24. > > > > There is no reason to enable libxcb by > > default. This is inconsistent with all the > > other libs (we don't do it for x11, opengl, ...) > > x11grab is not lgpl (that is what you meant > with x11, no?) and opengl is a slightly > obscure feature (but please enable auto-detection > if you think that opengl is a system library). > > What are you trying to fix? We auto-detect > zlib, bzlib, lzma, vaapi, vdpau, iconv, sdl, > xv, alsa, jack and I don't remember that > users had problems with it. I always thought > we consider these libraries system-libraries > (and I still believe so). > Otoh, we would not have all these fixes for > xcb in our tree if we had not activated > auto-detection. SDL causes problems all the time. ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] Revert "Autodetect libxcb."
On Wed, 4 Feb 2015 21:11:34 +0100, Clément Bœsch wrote: > This reverts commit 23ec8db8a07467a1fbef0c79f16b33040ca63c24. > > There is no reason to enable libxcb by default. This is inconsistent > with all the other libs (we don't do it for x11, opengl, ...) and drag > many unwanted dependencies by default. We'll get cursed by packagers > pretty soon because of this. > > Conflicts: > configure > --- > configure | 6 ++ > 1 file changed, 2 insertions(+), 4 deletions(-) The x11grab section in doc/indevs.texi will need to be updated too. ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] Revert "Autodetect libxcb."
On 04.02.2015 21:39, Carl Eugen Hoyos wrote: Clément Bœsch pkh.me> writes: This reverts commit 23ec8db8a07467a1fbef0c79f16b33040ca63c24. There is no reason to enable libxcb by default. This is inconsistent with all the other libs (we don't do it for x11, opengl, ...) x11grab is not lgpl (that is what you meant with x11, no?) and opengl is a slightly obscure feature (but please enable auto-detection if you think that opengl is a system library). I have not opinion what's better: to explicitly enable or disable a feature. Autodetecting has one disadvantage though, it has to work perfectly on every possible platform. Otherwise library may be detected, but may be not sufficient for some reason. So it is harder to maintain. Project that detect library and don't compile smells bad. And opengl is good example of the library that may be not easy to autodetect. ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] Revert "Autodetect libxcb."
On Wed, Feb 04, 2015 at 09:30:15PM +, Carl Eugen Hoyos wrote: > Clément Bœsch pkh.me> writes: > > > > > drag many unwanted dependencies by default. > > > > > > The only additional dependency I see here is > > > libxcb itself: I cannot remove this library > > > from my system (my package manager then wants > > > to remove another 450 packets) - does it work > > > for you? > > > > It's not installed on my system by default. > > > > It unfortunately gets installed only when I try > > to pull ffmpeg, which in turn pull sdl, which > > depends on libx11, which depends on... libxcb. > > So do I understand correctly that auto-detecting > libxcb did not add an additional dependency? > Only because it was already plagued by SDL. -- Clément B. pgpbm_x7hCnkO.pgp Description: PGP signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] Revert "Autodetect libxcb."
Clément Bœsch pkh.me> writes: > > > drag many unwanted dependencies by default. > > > > The only additional dependency I see here is > > libxcb itself: I cannot remove this library > > from my system (my package manager then wants > > to remove another 450 packets) - does it work > > for you? > > It's not installed on my system by default. > > It unfortunately gets installed only when I try > to pull ffmpeg, which in turn pull sdl, which > depends on libx11, which depends on... libxcb. So do I understand correctly that auto-detecting libxcb did not add an additional dependency? Carl Eugen ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] Revert "Autodetect libxcb."
On Wed, Feb 04, 2015 at 08:51:00PM +, Carl Eugen Hoyos wrote: > Clément Bœsch pkh.me> writes: > > > This reverts commit 23ec8db8a07467a1fbef0c79f16b33040ca63c24. > > > > There is no reason to enable libxcb by default. > > This is inconsistent with all the other libs > > (we don't do it for x11, opengl, ...) and > > > drag many unwanted dependencies by default. > > The only additional dependency I see here is > libxcb itself: I cannot remove this library > from my system (my package manager then wants > to remove another 450 packets) - does it work > for you? It's not installed on my system by default. It unfortunately gets installed only when I try to pull ffmpeg, which in turn pull sdl, which depends on libx11, which depends on... libxcb. Linux is not only used by desktop. Debian (for example) might want to provide a ffmpeg-nox11 (just like vim-nox11), or maybe would consider having these optionnal (runtime detected, assuming it would be possible). The thing is, an encoding node doesn't need to have an X11 dependency. And so packagers would need to disable it explicitly, which is insane considering the target of FFmpeg. [...] -- Clément B. pgphv9n6ik2Fc.pgp Description: PGP signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] Revert "Autodetect libxcb."
Clément Bœsch pkh.me> writes: > This reverts commit 23ec8db8a07467a1fbef0c79f16b33040ca63c24. > > There is no reason to enable libxcb by default. > This is inconsistent with all the other libs > (we don't do it for x11, opengl, ...) and > drag many unwanted dependencies by default. The only additional dependency I see here is libxcb itself: I cannot remove this library from my system (my package manager then wants to remove another 450 packets) - does it work for you? Or do you see another additional dependency that I missed? Carl Eugen ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] Revert "Autodetect libxcb."
Clément Bœsch pkh.me> writes: > This reverts commit 23ec8db8a07467a1fbef0c79f16b33040ca63c24. > > There is no reason to enable libxcb by > default. This is inconsistent with all the > other libs (we don't do it for x11, opengl, ...) x11grab is not lgpl (that is what you meant with x11, no?) and opengl is a slightly obscure feature (but please enable auto-detection if you think that opengl is a system library). What are you trying to fix? We auto-detect zlib, bzlib, lzma, vaapi, vdpau, iconv, sdl, xv, alsa, jack and I don't remember that users had problems with it. I always thought we consider these libraries system-libraries (and I still believe so). Otoh, we would not have all these fixes for xcb in our tree if we had not activated auto-detection. Carl Eugen ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] Revert "Autodetect libxcb."
On Wed, Feb 04, 2015 at 09:11:34PM +0100, Clément Bœsch wrote: > This reverts commit 23ec8db8a07467a1fbef0c79f16b33040ca63c24. > > There is no reason to enable libxcb by default. This is inconsistent > with all the other libs (we don't do it for x11, opengl, ...) and drag > many unwanted dependencies by default. We'll get cursed by packagers > pretty soon because of this. > > Conflicts: > configure > --- > configure | 6 ++ > 1 file changed, 2 insertions(+), 4 deletions(-) > Locally updated with: - --enable-libxcb-shm enable X11 grabbing shm communication [auto] - --enable-libxcb-xfixes enable X11 grabbing mouse rendering [auto] - --enable-libxcb-shapeenable X11 grabbing shape rendering [auto] + --enable-libxcb-shm enable X11 grabbing shm communication [no] + --enable-libxcb-xfixes enable X11 grabbing mouse rendering [no] + --enable-libxcb-shapeenable X11 grabbing shape rendering [no] [...] -- Clément B. pgpvc_i3ze5cO.pgp Description: PGP signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH] Revert "Autodetect libxcb."
This reverts commit 23ec8db8a07467a1fbef0c79f16b33040ca63c24. There is no reason to enable libxcb by default. This is inconsistent with all the other libs (we don't do it for x11, opengl, ...) and drag many unwanted dependencies by default. We'll get cursed by packagers pretty soon because of this. Conflicts: configure --- configure | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/configure b/configure index 0c209c5..90fb87a 100755 --- a/configure +++ b/configure @@ -254,7 +254,7 @@ External library support: --enable-libx264 enable H.264 encoding via x264 [no] --enable-libx265 enable HEVC encoding via x265 [no] --enable-libxavs enable AVS encoding via xavs [no] - --enable-libxcb enable X11 grabbing using XCB [auto] + --enable-libxcb enable X11 grabbing using XCB [no] --enable-libxcb-shm enable X11 grabbing shm communication [auto] --enable-libxcb-xfixes enable X11 grabbing mouse rendering [auto] --enable-libxcb-shapeenable X11 grabbing shape rendering [auto] @@ -5076,12 +5076,11 @@ fi enabled xlib && check_lib X11/Xlib.h XOpenDisplay -lX11 || disable xlib -if ! disabled libxcb; then +if enabled libxcb || enabled x11grab && ! disabled libxcb; then check_pkg_config "xcb >= 1.4" xcb/xcb.h xcb_connect || { enabled libxcb && die "ERROR: libxcb >= 1.4 not found"; } && disable x11grab && enable libxcb -if enabled libxcb; then disabled libxcb_shm || { check_pkg_config xcb-shm xcb/shm.h xcb_shm_attach || { enabled libxcb_shm && die "ERROR: libxcb_shm not found"; @@ -5100,7 +5099,6 @@ if enabled libxcb; then add_cflags $xcb_cflags $xcb_shm_cflags $xcb_xfixes_cflags $xcb_shape_cflags add_extralibs $xcb_libs $xcb_shm_libs $xcb_xfixes_libs $xcb_shape_libs fi -fi if enabled x11grab; then enabled xlib || die "ERROR: Xlib not found" -- 2.2.2 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel