ports/54435: [PATCH] multimedia/libdvdread dvdcss_crack symbol revisited
Melvyn Sopacua
melvyn at webteckies.org
Sun Jul 13 13:20:11 UTC 2003
>Number: 54435
>Category: ports
>Synopsis: [PATCH] multimedia/libdvdread dvdcss_crack symbol revisited
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sun Jul 13 06:20:08 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator: Melvyn Sopacua
>Release: FreeBSD 4.8-STABLE i386
>Organization:
>Environment:
System: FreeBSD ghost.lan.webteckies.org 4.8-STABLE FreeBSD 4.8-STABLE #0: Sat Jul 5 18:39:46 CEST 2003 root at ghost.lan.webteckies.org:/usr/obj/usr/src/sys/GHOST i386
>Description:
When using transcode with divx[45] or xvid encoding, the following message is generated:
Undefined symbol "dvdcss_crack"Failed to init XviD codec[transcode] warning : (encoder.c) video export module error: init failed
I've done some fair ammount of testing, like:
find /usr/local/lib -name "*.so" -print | while read LIB; do nm $LIB | grep 'dvdcss_crack' ; done
for DIR in libdvdcss libdvdnav libdvdplay libdvdread xvid libdivxdecore libdivxencore transcode ; do (cd $DIR && make patch) ; done ; find . -type f -print | xargs grep dvdcss_crack
The only reference found, was the assertion in dvd_input.c, from libdvdread, which assumes that if the dlsym works, there's an undefined symbol.
This was already pointed out by Hendrik Scholz in:
<http://www.theorie.physik.uni-goettingen.de/pipermail/transcode-users/2003-February/006545.html>
After removing the assertion, things work correctly.
>How-To-Repeat:
Use DVD::Rip to transcode a dvd with divx[45] or xvid encoding.
>Fix:
Add the following 'patch-dvdread::dvd_input.c' to files/
--- dvdread/dvd_input.c.orig Sun Jul 13 14:42:27 2003
+++ dvdread/dvd_input.c Sun Jul 13 14:42:41 2003
@@ -297,14 +297,7 @@
dvdcss_version = (char **)dlsym(dvdcss_library, U_S "dvdcss_interface_2");
- if(dlsym(dvdcss_library, U_S "dvdcss_crack")) {
- fprintf(stderr,
- "libdvdread: Old (pre-0.0.2) version of libdvdcss found.\n"
- "libdvdread: You should get the latest version from "
- "http://www.videolan.org/\n" );
- dlclose(dvdcss_library);
- dvdcss_library = NULL;
- } else if(!DVDcss_open || !DVDcss_close || !DVDcss_title || !DVDcss_seek
+ if(!DVDcss_open || !DVDcss_close || !DVDcss_title || !DVDcss_seek
|| !DVDcss_read || !DVDcss_error || !dvdcss_version) {
fprintf(stderr, "libdvdread: Missing symbols in libdvdcss.so.2, "
"this shouldn't happen !\n");
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list