GNOME Bugzilla – Bug 577864
[residvd] dvdnav version requirements should be higher
Last modified: 2009-04-03 21:46:21 UTC
Please describe the problem: Buildings gst-plugins-bad fails due to this line in resindvdsrc.c /* event->cell_start has the wrong time - it doesn't handle * multi-angle correctly (as of libdvdnav 4.1.3). The current_time() * calculates it correctly. */ src->cur_position = MPEGTIME_TO_GSTTIME (dvdnav_get_current_time (src->dvdnav)); Steps to reproduce: Compile gst-plugins-bad Actual results: Making all in resindvd CC resindvdsrc.o cc1: warnings being treated as errors resindvdsrc.c: In function ‘rsn_dvdsrc_step’: resindvdsrc.c:861: warning: implicit declaration of function ‘dvdnav_get_current_time’ Expected results: Does this happen every time? Yes Other information: I'm running Ubuntu 8.04, so the issue is certainly that my version of libdvdnav4 (0.1.10-0.2) is out of date. gst's configure should check that the version of libdvdnav is high enough to catch the api change.
Thanks for the bug report. I'm not sure if there's comparable API in older versions, so I've just bumped the requirement for now. (Please re-open if I messed up the configure logic.) commit e55f069fe6b201e3255aedbd339c3c319b65f2e9 Author: Tim-Philipp Müller <tim.muller@collabora.co.uk> Date: Fri Apr 3 17:55:31 2009 +0100 resindvd: require libdvdnav >= 4.1.2 for dvdnav_get_current_time() Fixes #577864.
configure logic doesn't quite work, i have libdvdnav4 version 0.1.10-0.2 DVDNAV_VERSION=`dvdnav-config --version|head -n 1|sed 's/^.*) //'|sed 's/ (.*)//'` returns 0.1.10 so the other macros are: DVDNAV_MAJOR == 0 DVDNAV_MINOR == 1 DVDNAV_MICRO == 10
Ooops, sorry, could you try with this patch: diff --git a/configure.ac b/configure.ac index 0d5e7e8..e671123 100644 --- a/configure.ac +++ b/configure.ac @@ -709,8 +709,11 @@ AG_GST_CHECK_FEATURE(DVDNAV, [dvdnav library], resindvd, [ DVDNAV_MAJOR=`echo $DVDNAV_VERSION | cut -d. -f1 | sed s/[a-zA-Z\-].*//g` DVDNAV_MINOR=`echo $DVDNAV_VERSION | cut -d. -f2 | sed s/[a-zA-Z\-].*//g` DVDNAV_MICRO=`echo $DVDNAV_VERSION | cut -d. -f3 | sed s/[a-zA-Z\-].*//g` - if [[ "$DVDNAV_MAJOR" -eq "4" ]] && \ - [[ "$DVDNAV_MINOR" -lt "1" ]]; then + if [[ "$DVDNAV_MAJOR" -lt "4" ]]; then + AC_MSG_WARN([libdvdnav >= 4.1.2 is required, you have $DVDNAV_VERSION]) + HAVE_DVDNAV="no" + elif [[ "$DVDNAV_MAJOR" -eq "4" ]] && \ + [[ "$DVDNAV_MINOR" -lt "1" ]]; then AC_MSG_WARN([libdvdnav >= 4.1.2 is required, you have $DVDNAV_VERSION]) HAVE_DVDNAV="no" elif [[ "$DVDNAV_MAJOR" -eq "4" ]] && \
yup that did it