Hello community,

here is the log from the commit of package libdvdnav for openSUSE:Factory 
checked in at 2015-02-11 16:31:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libdvdnav (Old)
 and      /work/SRC/openSUSE:Factory/.libdvdnav.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libdvdnav"

Changes:
--------
--- /work/SRC/openSUSE:Factory/libdvdnav/libdvdnav.changes      2015-01-27 
12:35:57.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libdvdnav.new/libdvdnav.changes 2015-02-11 
16:31:21.000000000 +0100
@@ -1,0 +2,7 @@
+Fri Feb 06 13:34:47 UTC 2015 - joerg.loren...@ki.tng.de
+
+- Update to version 5.0.3:
+  + added dvdnav_open_stream to read from external read/seek callbacks
+  + fixed reading DVD label regression
+
+-------------------------------------------------------------------

Old:
----
  libdvdnav-5.0.2.tar.bz2

New:
----
  libdvdnav-5.0.3.tar.bz2

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

Other differences:
------------------
++++++ libdvdnav.spec ++++++
--- /var/tmp/diff_new_pack.AsqM5c/_old  2015-02-11 16:31:22.000000000 +0100
+++ /var/tmp/diff_new_pack.AsqM5c/_new  2015-02-11 16:31:22.000000000 +0100
@@ -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/libdvdnav/%{version}/libdvdnav-%{version}.tar.bz2
 Source1000:     baselibs.conf

++++++ libdvdnav-5.0.2.tar.bz2 -> libdvdnav-5.0.3.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdvdnav-5.0.2/ChangeLog 
new/libdvdnav-5.0.3/ChangeLog
--- old/libdvdnav-5.0.2/ChangeLog       2015-01-03 01:27:32.000000000 +0100
+++ new/libdvdnav-5.0.3/ChangeLog       2015-01-27 16:56:26.000000000 +0100
@@ -1,3 +1,7 @@
+libdvdnav (5.0.3)
+ * added dvdnav_open_stream to read from external read/seek callbacks
+ * fixed reading DVD label regression
+
 libdvdnav (5.0.2)
  * fixed 2 wrong asserts (LP #1236939, #570790)
  * fixed 2 crashes (in dvdnav_get_position and dvdnav_get_position_in_title)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdvdnav-5.0.2/configure 
new/libdvdnav-5.0.3/configure
--- old/libdvdnav-5.0.2/configure       2015-01-03 01:26:15.000000000 +0100
+++ new/libdvdnav-5.0.3/configure       2015-01-27 16:57:48.000000000 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for libdvdnav 5.0.2.
+# Generated by GNU Autoconf 2.69 for libdvdnav 5.0.3.
 #
 #
 # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -587,8 +587,8 @@
 # Identity of this package.
 PACKAGE_NAME='libdvdnav'
 PACKAGE_TARNAME='libdvdnav'
-PACKAGE_VERSION='5.0.2'
-PACKAGE_STRING='libdvdnav 5.0.2'
+PACKAGE_VERSION='5.0.3'
+PACKAGE_STRING='libdvdnav 5.0.3'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1328,7 +1328,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures libdvdnav 5.0.2 to adapt to many kinds of systems.
+\`configure' configures libdvdnav 5.0.3 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1398,7 +1398,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libdvdnav 5.0.2:";;
+     short | recursive ) echo "Configuration of libdvdnav 5.0.3:";;
    esac
   cat <<\_ACEOF
 
@@ -1516,7 +1516,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libdvdnav configure 5.0.2
+libdvdnav configure 5.0.3
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1794,7 +1794,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by libdvdnav $as_me 5.0.2, which was
+It was created by libdvdnav $as_me 5.0.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2732,7 +2732,7 @@
 
 # Define the identity of the package.
  PACKAGE='libdvdnav'
- VERSION='5.0.2'
+ VERSION='5.0.3'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -11841,7 +11841,7 @@
 
 DVDNAV_MAJOR="5"
 DVDNAV_MINOR="0"
-DVDNAV_SUB="2"
+DVDNAV_SUB="3"
 DVDNAV_PRE=""
 
 
@@ -11849,9 +11849,9 @@
 
 
 
-DVDNAV_LT_CURRENT=5
-DVDNAV_LT_AGE=1
-DVDNAV_LT_REVISION=2
+DVDNAV_LT_CURRENT=6
+DVDNAV_LT_AGE=2
+DVDNAV_LT_REVISION=0
 
 
 
@@ -13220,12 +13220,12 @@
     pkg_cv_DVDREAD_CFLAGS="$DVDREAD_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"dvdread\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "dvdread") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"dvdread >= 5.0.2\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "dvdread >= 5.0.2") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_DVDREAD_CFLAGS=`$PKG_CONFIG --cflags "dvdread" 2>/dev/null`
+  pkg_cv_DVDREAD_CFLAGS=`$PKG_CONFIG --cflags "dvdread >= 5.0.2" 2>/dev/null`
                      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -13237,12 +13237,12 @@
     pkg_cv_DVDREAD_LIBS="$DVDREAD_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"dvdread\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "dvdread") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"dvdread >= 5.0.2\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "dvdread >= 5.0.2") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_DVDREAD_LIBS=`$PKG_CONFIG --libs "dvdread" 2>/dev/null`
+  pkg_cv_DVDREAD_LIBS=`$PKG_CONFIG --libs "dvdread >= 5.0.2" 2>/dev/null`
                      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -13263,14 +13263,14 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               DVDREAD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors 
--cflags --libs "dvdread" 2>&1`
+               DVDREAD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors 
--cflags --libs "dvdread >= 5.0.2" 2>&1`
         else
-               DVDREAD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs 
"dvdread" 2>&1`
+               DVDREAD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs 
"dvdread >= 5.0.2" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$DVDREAD_PKG_ERRORS" >&5
 
-       as_fn_error $? "Package requirements (dvdread) were not met:
+       as_fn_error $? "Package requirements (dvdread >= 5.0.2) were not met:
 
 $DVDREAD_PKG_ERRORS
 
@@ -13961,7 +13961,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by libdvdnav $as_me 5.0.2, which was
+This file was extended by libdvdnav $as_me 5.0.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -14027,7 +14027,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-libdvdnav config.status 5.0.2
+libdvdnav config.status 5.0.3
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdvdnav-5.0.2/configure.ac 
new/libdvdnav-5.0.3/configure.ac
--- old/libdvdnav-5.0.2/configure.ac    2014-09-01 03:27:17.000000000 +0200
+++ new/libdvdnav-5.0.3/configure.ac    2015-01-27 16:57:43.000000000 +0100
@@ -5,7 +5,7 @@
 dnl --------------------------------------------------------------
 m4_define([dvdnav_major], [5])
 m4_define([dvdnav_minor], [0])
-m4_define([dvdnav_sub],   [2])
+m4_define([dvdnav_sub],   [3])
 m4_define([dvdnav_pre],   [])
 
 AC_INIT([libdvdnav], [dvdnav_major.dvdnav_minor.dvdnav_sub[]dvdnav_pre])
@@ -56,9 +56,9 @@
 dnl  * in Linux, the library will be named
 dnl    libname.so.(DVDNAV_LT_CURRENT - 
DVDNAV_LT_AGE).DVDNAV_LT_AGE.DVDNAV_LT_REVISION
 
-DVDNAV_LT_CURRENT=5
-DVDNAV_LT_AGE=1
-DVDNAV_LT_REVISION=2
+DVDNAV_LT_CURRENT=6
+DVDNAV_LT_AGE=2
+DVDNAV_LT_REVISION=0
 
 AC_SUBST(DVDNAV_LT_CURRENT)
 AC_SUBST(DVDNAV_LT_AGE)
@@ -97,7 +97,7 @@
 AC_SUBST(THREAD_LIBS)
 AC_SUBST(THREAD_CFLAGS)
 
-PKG_CHECK_MODULES([DVDREAD], [dvdread])
+PKG_CHECK_MODULES([DVDREAD], [dvdread >= 5.0.2])
 
 dnl ---------------------------------------------
 dnl Check for bitfield compiler flag
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdvdnav-5.0.2/src/dvdnav/dvdnav.h 
new/libdvdnav-5.0.3/src/dvdnav/dvdnav.h
--- old/libdvdnav-5.0.2/src/dvdnav/dvdnav.h     2014-05-02 19:57:51.000000000 
+0200
+++ new/libdvdnav-5.0.3/src/dvdnav/dvdnav.h     2015-01-27 16:54:04.000000000 
+0100
@@ -55,6 +55,8 @@
 /* Status as reported by most of libdvdnav's functions */
 typedef int32_t dvdnav_status_t;
 
+typedef dvd_reader_stream_cb dvdnav_stream_cb;
+
 /*
  * Unless otherwise stated, all functions return DVDNAV_STATUS_OK if
  * they succeeded, otherwise DVDNAV_STATUS_ERR is returned and the error may
@@ -73,15 +75,19 @@
  */
 
 /*
- * Attempts to open the DVD drive at the specified path and pre-cache
- * the CSS-keys. libdvdread is used to access the DVD, so any source
- * supported by libdvdread can be given with "path". Currently,
- * libdvdread can access: DVD drives, DVD image files, DVD file-by-file
- * copies.
+ * Attempts to open the DVD drive at the specified path or using external
+ * seek/read functions (dvdnav_open_stream) and pre-cache the CSS-keys.
+ * libdvdread is used to access the DVD, so any source supported by libdvdread
+ * can be given with "path" or "stream_cb".  Currently, using dvdnav_open,
+ * libdvdread can access : DVD drives, DVD image files, DVD file-by-file
+ * copies. Using dvdnav_open_stream, libdvdread can access any kind of DVD
+ * storage via custom implementation of seek/read functions.
  *
  * The resulting dvdnav_t handle will be written to *dest.
  */
 dvdnav_status_t dvdnav_open(dvdnav_t **dest, const char *path);
+dvdnav_status_t
+dvdnav_open_stream(dvdnav_t **dest, void *stream, dvdnav_stream_cb *stream_cb);
 
 dvdnav_status_t dvdnav_dup(dvdnav_t **dest, dvdnav_t *src);
 dvdnav_status_t dvdnav_free_dup(dvdnav_t * _this);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdvdnav-5.0.2/src/dvdnav.c 
new/libdvdnav-5.0.3/src/dvdnav.c
--- old/libdvdnav-5.0.2/src/dvdnav.c    2014-12-03 17:49:24.000000000 +0100
+++ new/libdvdnav-5.0.3/src/dvdnav.c    2015-01-27 16:50:52.000000000 +0100
@@ -145,7 +145,9 @@
   return DVDNAV_STATUS_OK;
 }
 
-dvdnav_status_t dvdnav_open(dvdnav_t** dest, const char *path) {
+static dvdnav_status_t dvdnav_open_common(dvdnav_t** dest, const char *path,
+                                          void *stream,
+                                          dvdnav_stream_cb *stream_cb) {
   dvdnav_t *this;
   struct timeval time;
 
@@ -167,15 +169,18 @@
     printerr("Error initialising the DVD VM.");
     goto fail;
   }
-  if(!vm_reset(this->vm, path)) {
+  if(!vm_reset(this->vm, path, stream, stream_cb)) {
     printerr("Error starting the VM / opening the DVD device.");
     goto fail;
   }
 
   /* Set the path. */
-  this->path = strdup(path);
-  if(!this->path)
-    goto fail;
+  if(path != NULL)
+  {
+    this->path = strdup(path);
+    if(!this->path)
+      goto fail;
+  }
 
   /* Pre-open and close a file so that the CSS-keys are cached. */
   this->file = DVDOpenFile(vm_get_dvd_reader(this->vm), 0, DVD_READ_MENU_VOBS);
@@ -203,6 +208,15 @@
   return DVDNAV_STATUS_ERR;
 }
 
+dvdnav_status_t dvdnav_open(dvdnav_t** dest, const char *path) {
+  return dvdnav_open_common(dest, path, NULL, NULL);
+}
+
+dvdnav_status_t dvdnav_open_stream(dvdnav_t** dest,
+                                   void *stream, dvdnav_stream_cb *stream_cb) {
+  return dvdnav_open_common(dest, NULL, stream, stream_cb);
+}
+
 dvdnav_status_t dvdnav_close(dvdnav_t *this) {
 
 #ifdef LOG_DEBUG
@@ -250,7 +264,7 @@
 #ifdef LOG_DEBUG
   fprintf(MSG_OUT, "libdvdnav: reseting vm\n");
 #endif
-  if(!vm_reset(this->vm, NULL)) {
+  if(!vm_reset(this->vm, NULL, NULL, NULL)) {
     printerr("Error restarting the VM.");
     pthread_mutex_unlock(&this->vm_lock);
     return DVDNAV_STATUS_ERR;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdvdnav-5.0.2/src/vm/vm.c 
new/libdvdnav-5.0.3/src/vm/vm.c
--- old/libdvdnav-5.0.2/src/vm/vm.c     2014-07-31 01:52:09.000000000 +0200
+++ new/libdvdnav-5.0.3/src/vm/vm.c     2015-01-27 16:50:52.000000000 +0100
@@ -292,7 +292,7 @@
 
 int vm_start(vm_t *vm) {
   if (vm->stopped) {
-    if (!vm_reset(vm, NULL))
+    if (!vm_reset(vm, NULL, NULL, NULL))
       return 0;
 
     vm->stopped = 0;
@@ -325,7 +325,8 @@
   vm->stopped = 1;
 }
 
-int vm_reset(vm_t *vm, const char *dvdroot) {
+int vm_reset(vm_t *vm, const char *dvdroot,
+             void *stream, dvdnav_stream_cb *stream_cb) {
   /*  Setup State */
   memset(vm->state.registers.SPRM, 0, sizeof(vm->state.registers.SPRM));
   memset(vm->state.registers.GPRM, 0, sizeof(vm->state.registers.GPRM));
@@ -362,12 +363,15 @@
 
   vm->hop_channel                = 0;
 
-  if (vm->dvd && dvdroot) {
+  if (vm->dvd && (dvdroot || (stream && stream_cb))) {
     /* a new dvd device has been requested */
     vm_close(vm);
   }
   if (!vm->dvd) {
-    vm->dvd = DVDOpen(dvdroot);
+    if(dvdroot)
+        vm->dvd = DVDOpen(dvdroot);
+    else if(stream && stream_cb)
+        vm->dvd = DVDOpenStream(stream, (dvd_reader_stream_cb *)stream_cb);
     if(!vm->dvd) {
       fprintf(MSG_OUT, "libdvdnav: vm: failed to open/read the DVD\n");
       return 0;
@@ -402,6 +406,9 @@
       /* return 0; Not really used for now.. */
     }
     /* ifoRead_TXTDT_MGI(vmgi); Not implemented yet */
+    if(dvd_read_name(vm->dvd_name, vm->dvd_serial, dvdroot) != 1) {
+      fprintf(MSG_OUT, "libdvdnav: vm: dvd_read_name failed\n");
+    }
   }
   if (vm->vmgi) {
     int i, mask;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdvdnav-5.0.2/src/vm/vm.h 
new/libdvdnav-5.0.3/src/vm/vm.h
--- old/libdvdnav-5.0.2/src/vm/vm.h     2014-03-25 10:40:17.000000000 +0100
+++ new/libdvdnav-5.0.3/src/vm/vm.h     2015-01-27 16:50:52.000000000 +0100
@@ -114,7 +114,8 @@
 /* Basic Handling */
 int  vm_start(vm_t *vm);
 void vm_stop(vm_t *vm);
-int  vm_reset(vm_t *vm, const char *dvdroot);
+int  vm_reset(vm_t *vm, const char *dvdroot, void *stream,
+              dvdnav_stream_cb *stream_cb);
 
 /* copying and merging  - useful for try-running an operation */
 vm_t *vm_new_copy(vm_t *vm);

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to