GNOME Bugzilla – Bug 744916
dvdcss plugin does not work with the current version of libdvdcss
Last modified: 2017-06-26 09:39:15 UTC
On Arch Linux the "Brasero Plugins" window shows dvdcss as disabled, because 'The version of "libdvdcss.so.2" is too old'. dvdcss= 1.3.0-1 brasero= 3.12.0-1 There is a report at http://www.reddit.com/r/archlinux/comments/2tky0r/brasero_doesnt_read_css_encrypted_dvds_claims/ that this is in fact because libdvdcss is too new and the problem is that 'in libdvdcss 1.3.0 the symbol "dvdcss_interface_2" was dropped. Brasero is looking for this symbol to determine the version.'
If I downgrade libdvdcss then the plugin is enabled.
Brasero is unmaintained. If someone has a patch, it's welcome.
> Brasero is unmaintained. If someone has a patch, it's welcome. According to the source folder, Brasero is maintained by Phillipped Rouquier and Luis Medinas. I'm assuming that this must be out of date. I am not skilled enough to submit a patch but I would love to see this resolved.
Seems like this is all that's required: --- /var/abs/local/brasero/src/brasero-3.12.0/plugins/dvdcss/burn-dvdcss.c +++ /var/abs/local/brasero/src/brasero-3.12.0/plugins/dvdcss/burn-dvdcss.c.bak @@ -95,6 +95,9 @@ if (!module) goto error_doesnt_exist; + if (!g_module_symbol (module, "dvdcss_interface_2", &address)) + goto error_version; + if (!g_module_symbol (module, "dvdcss_open", &address)) goto error_version; dvdcss_open = address;
Sorry - the reverse of that of course.
--- /var/abs/local/brasero/src/brasero-3.12.0/plugins/dvdcss/burn-dvdcss.c.bak +++ /var/abs/local/brasero/src/brasero-3.12.0/plugins/dvdcss/burn-dvdcss.c @@ -95,9 +95,6 @@ if (!module) goto error_doesnt_exist; - if (!g_module_symbol (module, "dvdcss_interface_2", &address)) - goto error_version; - if (!g_module_symbol (module, "dvdcss_open", &address)) goto error_version; dvdcss_open = address;
*** Bug 764832 has been marked as a duplicate of this bug. ***
There is a similar patch in fedora, http://pkgs.fedoraproject.org/cgit/rpms/brasero.git/tree/brasero-libdvdcss.patch
hi. This is neat. Will this patch be murged into brasero proper? We use this as our cd, dvd, bd burner and disk copier of choice in sonar and I haven't had any complaints about brasero not being able to copy dvd's yet. I suspect it's not a very well known feature. If not, I can get the patch murged into a brasero package for manjaro.
libdvdcss git commit: Drop deprecated and useless dvdcss_interface_2 variable from the API ( https://code.videolan.org/videolan/libdvdcss/commit/8331d8da6392b993f7b0ffa223d8d7a3ccd7f0ae ) 1. libdvdcss 1.2.13 was the last in the 1.2 series. This was released on Feb 27, 2013. 2. libdvdcss 1.3.0 was next. This is a major release of libdvdcss. It adds support for Android, updates the Windows support, cleans the code, remove deprecated APIs and updates the documentation. This was released on Aug 2, 2014. The above mentioned git commit is part of deprecation removal changes mentioned in [2].
Without fix: ------------ [user@host]$ export LD_LIBRARY_PATH=/path/to/libdvdcss-1.3.0 [user@host]$ brasero -g ... BraseroBurn: (at burn-plugin-manager.c:396) loading /usr/lib/brasero3-1/plugins/libbrasero-dvdcss.so BraseroBurn: (at burn-plugin-manager.c:427) Load failure, no GType was returned The version of "libdvdcss.so.2" is too old ... With fix: --------- [user@host]$ export LD_LIBRARY_PATH=/path/to/libdvdcss-1.3.0 [user@host]$ brasero -g ... BraseroBurn: (at burn-plugin-manager.c:396) loading /usr/lib/brasero3-1/plugins/libbrasero-dvdcss.so ... This works for libdvdcss-1.4.0 also. Probably, someone can try a actual dvd with CSS, to see if all is good.
This is a really simple patch; is there anyone who has a moment, and a login, to push it into brasero? Is there some other channel, like a mailing list, by which the patch should be submitted?
Brasero is not maintained - maybe you could ask on https://mail.gnome.org/mailman/listinfo/desktop-devel-list if someone could take a look.
It is kind of annoying that libdvdcss changed the ABI without bumping the SONAME; if the symbol disappeared then attempting to dlopen libdvdcss.so.2 would have failed, and distributions would be able to ship older and newer libdvdcss at the same time. Oh, well. Would it be possible to have the patch as an attachment generated using `git format-patch` or (better) `git-bz`, as per: https://wiki.gnome.org/Git/WorkingWithPatches - it would make it easier to keep attribution and a history of the change.
Created attachment 348754 [details] [review] Formatted patch for #744916
Created attachment 354486 [details] [review] Remove check for dvdcss_interface_2 The patch from https://bugzilla.redhat.com/show_bug.cgi?id=1193628 with correct author attribution, formatted for git.
Review of attachment 354486 [details] [review]: Thanks, looks good.
Comment on attachment 354486 [details] [review] Remove check for dvdcss_interface_2 Thank you, pushed: https://git.gnome.org/browse/brasero/commit/?id=41ffb9def928cd590878b6d098daa837c9e5dc68