Hello community,

here is the log from the commit of package libdvdread for openSUSE:Factory 
checked in at 2015-04-03 14:32:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libdvdread (Old)
 and      /work/SRC/openSUSE:Factory/.libdvdread.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libdvdread"

Changes:
--------
--- /work/SRC/openSUSE:Factory/libdvdread/libdvdread.changes    2015-02-06 
10:48:09.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libdvdread.new/libdvdread.changes       
2015-04-03 14:32:17.000000000 +0200
@@ -1,0 +2,8 @@
+Sat Mar 28 17:47:08 UTC 2015 - [email protected]
+
+- Update to version 5.0.3:
+ * Cache IFO and BUP files (only for ImageFiles) in order to reduce
+   the number of read/seek access
+ * Fix compilation warnings for OS/2
+
+-------------------------------------------------------------------

Old:
----
  libdvdread-5.0.2.tar.bz2

New:
----
  libdvdread-5.0.3.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libdvdread.spec ++++++
--- /var/tmp/diff_new_pack.ztoK4b/_old  2015-04-03 14:32:18.000000000 +0200
+++ /var/tmp/diff_new_pack.ztoK4b/_new  2015-04-03 14:32:18.000000000 +0200
@@ -21,7 +21,7 @@
 License:        GPL-2.0+
 Group:          Productivity/Multimedia/Other
 Url:            http://www.mplayerhq.hu/
-Version:        5.0.2
+Version:        5.0.3
 Release:        0
 Source0:        
http://download.videolan.org/videolan/%{name}/%{version}/%{name}-%{version}.tar.bz2
 Source1:        baselibs.conf

++++++ libdvdread-5.0.2.tar.bz2 -> libdvdread-5.0.3.tar.bz2 ++++++
++++ 2503 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libdvdread-5.0.2/ChangeLog new/libdvdread-5.0.3/ChangeLog
--- old/libdvdread-5.0.2/ChangeLog      2015-01-28 17:20:32.000000000 +0100
+++ new/libdvdread-5.0.3/ChangeLog      2015-03-25 14:58:27.000000000 +0100
@@ -1,3 +1,43 @@
+commit 2b8f60f0c4efd85f17116a5443851d4bb4a288b7
+Author: Jean-Baptiste Kempf <[email protected]>
+Date:   Wed Mar 25 14:55:05 2015 +0100
+
+    Update NEWS for 5.0.3
+
+commit 107ca98775df1eb953881acd8df5471e8bcc88cd
+Author: Jean-Baptiste Kempf <[email protected]>
+Date:   Wed Mar 25 14:32:38 2015 +0100
+
+    Update dvd_reader version too
+
+commit a76a31f0f909200a96eecffe6ea3292f3aa2374f
+Author: Thomas Guillem <[email protected]>
+Date:   Fri Mar 13 17:03:13 2015 +0100
+
+    Update NEWS for 5.0.3
+    
+    Signed-off-by: Jean-Baptiste Kempf <[email protected]>
+
+commit 85b6663a59290f1cda175690daaf89eb433430bc
+Author: Thomas Guillem <[email protected]>
+Date:   Fri Mar 13 17:03:12 2015 +0100
+
+    dvd_reader: cache IFO and BUP files (only for images files)
+    
+    It reduces the number of read/seek accesses
+    
+    Signed-off-by: Jean-Baptiste Kempf <[email protected]>
+
+commit af446d463a15fb08f95f8b84bfc89af395b6e1bc
+Author: KO Myung-Hun <[email protected]>
+Date:   Thu Jan 29 17:29:03 2015 +0900
+
+    ifo_types.h: fix 'warning: `gcc_struct' attribute directive ignored'
+    
+    gcc_struct has been supported since gcc 3.4.
+    
+    Signed-off-by: Jean-Baptiste Kempf <[email protected]>
+
 commit 574b886b733e8737e8cf17d9330049289e837ac3
 Author: Jean-Baptiste Kempf <[email protected]>
 Date:   Wed Jan 28 17:17:32 2015 +0100
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libdvdread-5.0.2/NEWS new/libdvdread-5.0.3/NEWS
--- old/libdvdread-5.0.2/NEWS   2015-01-27 16:37:08.000000000 +0100
+++ new/libdvdread-5.0.3/NEWS   2015-03-25 14:55:03.000000000 +0100
@@ -1,3 +1,8 @@
+libdvdread (5.0.3)
+ * Cache IFO and BUP files (only for ImageFiles) in order to reduce the number
+   of read/seek access
+ * Fix compilation warnings for OS/2
+
 libdvdread (5.0.2)
  * Add DVDOpenStream to open a dvd from a set of callbacks
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libdvdread-5.0.2/compile new/libdvdread-5.0.3/compile
--- old/libdvdread-5.0.2/compile        2015-01-03 01:17:26.000000000 +0100
+++ new/libdvdread-5.0.3/compile        2015-03-14 19:08:09.000000000 +0100
@@ -3,7 +3,7 @@
 
 scriptversion=2012-10-14.11; # UTC
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 # Written by Tom Tromey <[email protected]>.
 #
 # This program is free software; you can redistribute it and/or modify
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libdvdread-5.0.2/configure.ac new/libdvdread-5.0.3/configure.ac
--- old/libdvdread-5.0.2/configure.ac   2015-01-27 16:37:28.000000000 +0100
+++ new/libdvdread-5.0.3/configure.ac   2015-03-14 19:09:18.000000000 +0100
@@ -1,4 +1,4 @@
-AC_INIT(libdvdread, 5.0.2)
+AC_INIT(libdvdread, 5.0.3)
 AC_CONFIG_SRCDIR([src/dvd_reader.c])
 
 AC_PREREQ(2.53)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libdvdread-5.0.2/m4/libtool.m4 new/libdvdread-5.0.3/m4/libtool.m4
--- old/libdvdread-5.0.2/m4/libtool.m4  2015-01-03 01:17:22.000000000 +0100
+++ new/libdvdread-5.0.3/m4/libtool.m4  2015-03-14 19:08:05.000000000 +0100
@@ -1,6 +1,6 @@
 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
 #
-#   Copyright (C) 1996-2001, 2003-2014 Free Software Foundation, Inc.
+#   Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 # This file is free software; the Free Software Foundation gives
@@ -103,19 +103,36 @@
 dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
 
 
+# _LT_PREPARE_CC_BASENAME
+# -----------------------
+m4_defun([_LT_PREPARE_CC_BASENAME], [
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+    for cc_temp in @S|@*""; do
+      case $cc_temp in
+        compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+        distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+        \-*) ;;
+        *) break;;
+      esac
+    done
+    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; 
s%^$host_alias-%%"`
+}
+])# _LT_PREPARE_CC_BASENAME
+
+
 # _LT_CC_BASENAME(CC)
 # -------------------
-# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
+# but that macro is also expanded into generated libtool script, which
+# arranges for $SED and $ECHO to be set by different means.
 m4_defun([_LT_CC_BASENAME],
-[for cc_temp in $1""; do
-  case $cc_temp in
-    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
-    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+[m4_require([_LT_PREPARE_CC_BASENAME])dnl
+AC_REQUIRE([_LT_DECL_SED])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+func_cc_basename $1
+cc_basename=$func_cc_basename_result
 ])
 
 
@@ -720,6 +737,9 @@
 _LT_COPYING
 _LT_LIBTOOL_TAGS
 
+# Configured defaults for sys_lib_dlsearch_path munging.
+: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
+
 # ### BEGIN LIBTOOL CONFIG
 _LT_LIBTOOL_CONFIG_VARS
 _LT_LIBTOOL_TAG_VARS
@@ -727,6 +747,17 @@
 
 _LT_EOF
 
+    cat <<'_LT_EOF' >> "$cfgfile"
+
+# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_PREPARE_MUNGE_PATH_LIST
+_LT_PREPARE_CC_BASENAME
+
+# ### END FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_EOF
+
   case $host_os in
   aix3*)
     cat <<\_LT_EOF >> "$cfgfile"
@@ -2202,6 +2233,47 @@
 ])# _LT_CMD_STRIPLIB
 
 
+# _LT_PREPARE_MUNGE_PATH_LIST
+# ---------------------------
+# Make sure func_munge_path_list() is defined correctly.
+m4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
+[[# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+#       string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+#       string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+#       "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+#       VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+    case x@S|@2 in
+    x)
+        ;;
+    *:)
+        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
+        ;;
+    x:*)
+        eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
+        ;;
+    *::*)
+        eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ 
/g'`\"
+        eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ 
\@S|@@S|@1\"
+        ;;
+    *)
+        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
+        ;;
+    esac
+}
+]])# _LT_PREPARE_PATH_LIST
+
+
 # _LT_SYS_DYNAMIC_LINKER([TAG])
 # -----------------------------
 # PORTME Fill in your ld.so characteristics
@@ -2212,6 +2284,7 @@
 m4_require([_LT_DECL_OBJDUMP])dnl
 m4_require([_LT_DECL_SED])dnl
 m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
 AC_MSG_CHECKING([dynamic linker characteristics])
 m4_if([$1],
        [], [
@@ -2306,6 +2379,9 @@
 # flags to be left without arguments
 need_version=unknown
 
+AC_ARG_VAR([LT_SYS_LIBRARY_PATH],
+[User-defined run-time library search path.])
+
 case $host_os in
 aix3*)
   version_type=linux # correct to gnu/linux during the next big refactor
@@ -2594,6 +2670,7 @@
   case $version_type in
     freebsd-elf*)
       library_names_spec='$libname$release$shared_ext$versuffix 
$libname$release$shared_ext$major $libname$shared_ext'
+      soname_spec='$libname$release$shared_ext$major'
       need_version=no
       need_lib_prefix=no
       ;;
@@ -2653,10 +2730,11 @@
     soname_spec='$libname$release$shared_ext$major'
     if test 32 = "$HPUX_IA64_MODE"; then
       sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 
/usr/local/lib"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
     else
       sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
     fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     ;;
   hppa*64*)
     shrext_cmds='.sl'
@@ -2789,7 +2867,12 @@
   # before this can be enabled.
   hardcode_into_libs=yes
 
-  # Append ld.so.conf contents to the search path
+  # Ideally, we could use ldconfig to report *all* directores which are
+  # searched for libraries, however this is still not possible.  Aside from not
+  # being certain /sbin/ldconfig is available, command
+  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+  # even though it is searched at run-time.  Try to do the best guess by
+  # appending ld.so.conf contents (and includes) to the search path.
   if test -f /etc/ld.so.conf; then
     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 
2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < 
/etc/ld.so.conf | $SED -e 's/#.*//;/^[  ]*hwcap[        ]/d;s/[:,      ]/ 
/g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
@@ -3013,10 +3096,20 @@
 if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
   sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
 fi
+
 if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
   sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
 fi
 
+# remember unaugmented sys_lib_dlsearch_path content for libtool script 
decls...
+configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
+
+# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
+configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
+
 _LT_DECL([], [variables_saved_for_relink], [1],
     [Variables whose values should be saved in libtool wrapper scripts and
     restored at link time])
@@ -3049,8 +3142,10 @@
     [Whether we should hardcode library paths into libraries])
 _LT_DECL([], [sys_lib_search_path_spec], [2],
     [Compile-time system search path for libraries])
-_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
-    [Run-time system search path for libraries])
+_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
+    [Detected run-time system search path for libraries])
+_LT_DECL([], [configure_time_lt_sys_library_path], [2],
+    [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
 ])# _LT_SYS_DYNAMIC_LINKER
 
 
@@ -7350,6 +7445,7 @@
 } # func_stripname_cnf
 ])# _LT_FUNC_STRIPNAME_CNF
 
+
 # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
 # ---------------------------------
 # Figure out "hidden" library dependencies from verbose
@@ -7528,51 +7624,6 @@
   _LT_TAGVAR(postdep_objects,$1)=
   _LT_TAGVAR(postdeps,$1)=
   ;;
-
-linux*)
-  case `$CC -V 2>&1 | sed 5q` in
-  *Sun\ C*)
-    # Sun C++ 5.9
-
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-
-    if test yes != "$solaris_use_stlport4"; then
-      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
-
-solaris*)
-  case $cc_basename in
-  CC* | sunCC*)
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-
-    # Adding this requires a known-good setup of shared libraries for
-    # Sun compiler versions before 5.6, else PIC objects from an old
-    # archive will be linked into the output, leading to subtle bugs.
-    if test yes != "$solaris_use_stlport4"; then
-      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
 esac
 ])
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libdvdread-5.0.2/m4/ltoptions.m4 new/libdvdread-5.0.3/m4/ltoptions.m4
--- old/libdvdread-5.0.2/m4/ltoptions.m4        2015-01-03 01:17:22.000000000 
+0100
+++ new/libdvdread-5.0.3/m4/ltoptions.m4        2015-03-14 19:08:05.000000000 
+0100
@@ -1,6 +1,6 @@
 # Helper functions for option handling.                    -*- Autoconf -*-
 #
-#   Copyright (C) 2004-2005, 2007-2009, 2011-2014 Free Software
+#   Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
 #   Foundation, Inc.
 #   Written by Gary V. Vaughan, 2004
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libdvdread-5.0.2/m4/ltsugar.m4 new/libdvdread-5.0.3/m4/ltsugar.m4
--- old/libdvdread-5.0.2/m4/ltsugar.m4  2015-01-03 01:17:22.000000000 +0100
+++ new/libdvdread-5.0.3/m4/ltsugar.m4  2015-03-14 19:08:05.000000000 +0100
@@ -1,6 +1,6 @@
 # ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
 #
-# Copyright (C) 2004-2005, 2007-2008, 2011-2014 Free Software
+# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
 # Foundation, Inc.
 # Written by Gary V. Vaughan, 2004
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libdvdread-5.0.2/m4/ltversion.m4 new/libdvdread-5.0.3/m4/ltversion.m4
--- old/libdvdread-5.0.2/m4/ltversion.m4        2015-01-03 01:17:22.000000000 
+0100
+++ new/libdvdread-5.0.3/m4/ltversion.m4        2015-03-14 19:08:05.000000000 
+0100
@@ -1,6 +1,6 @@
 # ltversion.m4 -- version numbers                      -*- Autoconf -*-
 #
-#   Copyright (C) 2004, 2011-2014 Free Software Foundation, Inc.
+#   Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
 #   Written by Scott James Remnant, 2004
 #
 # This file is free software; the Free Software Foundation gives
@@ -9,15 +9,15 @@
 
 # @configure_input@
 
-# serial 4151 ltversion.m4
+# serial 4179 ltversion.m4
 # This file is part of GNU Libtool
 
-m4_define([LT_PACKAGE_VERSION], [2.4.4])
-m4_define([LT_PACKAGE_REVISION], [2.4.4])
+m4_define([LT_PACKAGE_VERSION], [2.4.6])
+m4_define([LT_PACKAGE_REVISION], [2.4.6])
 
 AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.4.4'
-macro_revision='2.4.4'
+[macro_version='2.4.6'
+macro_revision='2.4.6'
 _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
 _LT_DECL(, macro_revision, 0)
 ])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libdvdread-5.0.2/m4/lt~obsolete.m4 new/libdvdread-5.0.3/m4/lt~obsolete.m4
--- old/libdvdread-5.0.2/m4/lt~obsolete.m4      2015-01-03 01:17:22.000000000 
+0100
+++ new/libdvdread-5.0.3/m4/lt~obsolete.m4      2015-03-14 19:08:05.000000000 
+0100
@@ -1,6 +1,6 @@
 # lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
 #
-#   Copyright (C) 2004-2005, 2007, 2009, 2011-2014 Free Software
+#   Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
 #   Foundation, Inc.
 #   Written by Scott James Remnant, 2004.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libdvdread-5.0.2/missing new/libdvdread-5.0.3/missing
--- old/libdvdread-5.0.2/missing        2015-01-03 01:17:26.000000000 +0100
+++ new/libdvdread-5.0.3/missing        2015-03-14 19:08:09.000000000 +0100
@@ -3,7 +3,7 @@
 
 scriptversion=2013-10-28.13; # UTC
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 # Originally written by Fran,cois Pinard <[email protected]>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libdvdread-5.0.2/src/dvd_reader.c new/libdvdread-5.0.3/src/dvd_reader.c
--- old/libdvdread-5.0.2/src/dvd_reader.c       2015-01-27 16:24:31.000000000 
+0100
+++ new/libdvdread-5.0.3/src/dvd_reader.c       2015-03-14 19:09:18.000000000 
+0100
@@ -118,6 +118,10 @@
 
   /* Calculated at open-time, size in blocks. */
   ssize_t filesize;
+
+  /* Cache of the dvd_file. If not NULL, the cache corresponds to the whole
+   * dvd_file. Used only for IFO and BUP. */
+  unsigned char *cache;
 };
 
 int InternalUDFReadBlocksRaw( const dvd_reader_t *device, uint32_t lb_number,
@@ -647,7 +651,8 @@
 /**
  * Open an unencrypted file on a DVD image file.
  */
-static dvd_file_t *DVDOpenFileUDF( dvd_reader_t *dvd, char *filename )
+static dvd_file_t *DVDOpenFileUDF( dvd_reader_t *dvd, char *filename,
+                                   int do_cache )
 {
   uint32_t start, len;
   dvd_file_t *dvd_file;
@@ -669,6 +674,25 @@
   memset( dvd_file->title_sizes, 0, sizeof( dvd_file->title_sizes ) );
   memset( dvd_file->title_devs, 0, sizeof( dvd_file->title_devs ) );
   dvd_file->filesize = len / DVD_VIDEO_LB_LEN;
+  dvd_file->cache = NULL;
+
+  /* Read the whole file in cache (unencrypted) if asked and if it doesn't
+   * exceed 128KB */
+  if( do_cache && len < 64 * DVD_VIDEO_LB_LEN ) {
+    int ret;
+
+    dvd_file->cache = malloc( len );
+    if( !dvd_file->cache )
+        return dvd_file;
+
+    ret = InternalUDFReadBlocksRaw( dvd, dvd_file->lb_start,
+                                    dvd_file->filesize, dvd_file->cache,
+                                    DVDINPUT_NOFLAGS );
+    if( ret != dvd_file->filesize ) {
+        free( dvd_file->cache );
+        dvd_file->cache = NULL;
+    }
+  }
 
   return dvd_file;
 }
@@ -766,6 +790,7 @@
   memset( dvd_file->title_sizes, 0, sizeof( dvd_file->title_sizes ) );
   memset( dvd_file->title_devs, 0, sizeof( dvd_file->title_devs ) );
   dvd_file->filesize = 0;
+  dvd_file->cache = NULL;
 
   if( stat( full_path, &fileinfo ) < 0 ) {
     fprintf( stderr, "libdvdread: Can't stat() %s.\n", filename );
@@ -803,6 +828,7 @@
   memset( dvd_file->title_sizes, 0, sizeof( dvd_file->title_sizes ) );
   memset( dvd_file->title_devs, 0, sizeof( dvd_file->title_devs ) );
   dvd_file->filesize = len / DVD_VIDEO_LB_LEN;
+  dvd_file->cache = NULL;
 
   /* Calculate the complete file size for every file in the VOBS */
   if( !menu ) {
@@ -845,6 +871,7 @@
   memset( dvd_file->title_sizes, 0, sizeof( dvd_file->title_sizes ) );
   memset( dvd_file->title_devs, 0, sizeof( dvd_file->title_devs ) );
   dvd_file->filesize = 0;
+  dvd_file->cache = NULL;
 
   if( menu ) {
     dvd_input_t dev;
@@ -909,6 +936,7 @@
                          dvd_read_domain_t domain )
 {
   char filename[ MAX_UDF_FILE_NAME_LEN ];
+  int do_cache = 0;
 
   /* Check arguments. */
   if( dvd == NULL || titlenum < 0 )
@@ -921,6 +949,7 @@
     } else {
       sprintf( filename, "/VIDEO_TS/VTS_%02i_0.IFO", titlenum );
     }
+    do_cache = 1;
     break;
   case DVD_READ_INFO_BACKUP_FILE:
     if( titlenum == 0 ) {
@@ -928,6 +957,7 @@
     } else {
       sprintf( filename, "/VIDEO_TS/VTS_%02i_0.BUP", titlenum );
     }
+    do_cache = 1;
     break;
   case DVD_READ_MENU_VOBS:
     if( dvd->isImageFile ) {
@@ -950,7 +980,7 @@
   }
 
   if( dvd->isImageFile ) {
-    return DVDOpenFileUDF( dvd, filename );
+    return DVDOpenFileUDF( dvd, filename, do_cache );
   } else {
     return DVDOpenFilePath( dvd, filename );
   }
@@ -969,6 +999,7 @@
       }
     }
 
+    free( dvd_file->cache );
     free( dvd_file );
     dvd_file = NULL;
   }
@@ -1182,8 +1213,25 @@
                              size_t block_count, unsigned char *data,
                              int encrypted )
 {
-  return InternalUDFReadBlocksRaw( dvd_file->dvd, dvd_file->lb_start + offset,
-                           block_count, data, encrypted );
+  /* If the cache is present and we don't need to decrypt, use the cache to
+   * feed the data */
+  if( dvd_file->cache && (encrypted & DVDINPUT_READ_DECRYPT) == 0 ) {
+    /* Check if we don't exceed the cache (or file) size */
+    if( block_count + offset > (size_t) dvd_file->filesize )
+      return 0;
+
+    /* Copy the cache at a specified offset into data. offset and block_count
+     * must be converted into bytes */
+    memcpy( data, dvd_file->cache + (off_t)offset * (off_t)DVD_VIDEO_LB_LEN,
+            (off_t)block_count * (off_t)DVD_VIDEO_LB_LEN );
+
+    /* return the amount of blocks copied */
+    return block_count;
+  } else {
+    /* use dvdinput access */
+    return InternalUDFReadBlocksRaw( dvd_file->dvd, dvd_file->lb_start + 
offset,
+                             block_count, data, encrypted );
+  }
 }
 
 /* This is using possibly several inputs and starting from an offset of '0'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libdvdread-5.0.2/src/dvdread/dvd_reader.h 
new/libdvdread-5.0.3/src/dvdread/dvd_reader.h
--- old/libdvdread-5.0.2/src/dvdread/dvd_reader.h       2015-01-27 
16:24:31.000000000 +0100
+++ new/libdvdread-5.0.3/src/dvdread/dvd_reader.h       2015-03-25 
14:32:32.000000000 +0100
@@ -43,7 +43,7 @@
 /**
  * The current version.
  */
-#define DVDREAD_VERSION 50000
+#define DVDREAD_VERSION 50300
 
 /**
  * The length of one Logical Block of a DVD.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libdvdread-5.0.2/src/dvdread/ifo_types.h 
new/libdvdread-5.0.3/src/dvdread/ifo_types.h
--- old/libdvdread-5.0.2/src/dvdread/ifo_types.h        2014-08-28 
08:50:25.000000000 +0200
+++ new/libdvdread-5.0.3/src/dvdread/ifo_types.h        2015-01-29 
13:37:56.000000000 +0100
@@ -32,7 +32,11 @@
 
 #if defined(__GNUC__)
 #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
+#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
 #define ATTRIBUTE_PACKED __attribute__ ((packed,gcc_struct))
+#else
+#define ATTRIBUTE_PACKED __attribute__ ((packed))
+#endif
 #define PRAGMA_PACK 0
 #endif
 #endif


Reply via email to