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