rpms/libdvdnav/F-8 libdvdnav-r1002.patch, NONE, 1.1 libdvdnav-r1007-r1010.patch, NONE, 1.1 libdvdnav-r1011-r1013.patch, NONE, 1.1 libdvdnav-r1017-r1019.patch, NONE, 1.1 libdvdnav-r1020-r1023.patch, NONE, 1.1 libdvdnav-r1042.patch, NONE, 1.1 libdvdnav-r1108.patch, NONE, 1.1 libdvdnav.spec, 1.4, 1.5

Dominik Mierzejewski (rathann) fedora-extras-commits at redhat.com
Sat Jul 26 14:15:36 UTC 2008


Author: rathann

Update of /cvs/pkgs/rpms/libdvdnav/F-8
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv29509

Modified Files:
	libdvdnav.spec 
Added Files:
	libdvdnav-r1002.patch libdvdnav-r1007-r1010.patch 
	libdvdnav-r1011-r1013.patch libdvdnav-r1017-r1019.patch 
	libdvdnav-r1020-r1023.patch libdvdnav-r1042.patch 
	libdvdnav-r1108.patch 
Log Message:
* Sat Jul 27 2008 Dominik Mierzejewski <rpm[AT]greysector.net> 4.1.2-2
- pull selected fixes from SVN
- re-enable parallel make


libdvdnav-r1002.patch:

--- NEW FILE libdvdnav-r1002.patch ---
Index: src/read_cache.c
===================================================================
--- src/read_cache.c	(revision 1001)
+++ src/read_cache.c	(revision 1002)
@@ -42,7 +42,6 @@
 #include "remap.h"
 #include "vm/decoder.h"
 #include "vm/vm.h"
-#include "vm/vmcmd.h"
 #include "dvdnav.h"
 #include "dvdnav_internal.h"
 #include "read_cache.h"
Index: src/navigation.c
===================================================================
--- src/navigation.c	(revision 1001)
+++ src/navigation.c	(revision 1002)
@@ -35,7 +35,6 @@
 #include "remap.h"
 #include "vm/decoder.h"
 #include "vm/vm.h"
-#include "vm/vmcmd.h"
 #include "dvdnav.h"
 #include "dvdnav_internal.h"
 
Index: src/settings.c
===================================================================
--- src/settings.c	(revision 1001)
+++ src/settings.c	(revision 1002)
@@ -35,7 +35,6 @@
 #include "remap.h"
 #include "vm/decoder.h"
 #include "vm/vm.h"
-#include "vm/vmcmd.h"
 #include "dvdnav.h"
 #include "dvdnav_internal.h"
 
Index: src/vm/vm.c
===================================================================
--- src/vm/vm.c	(revision 1001)
+++ src/vm/vm.c	(revision 1002)
@@ -48,7 +48,6 @@
 #include "decoder.h"
 #include "remap.h"
 #include "vm.h"
-#include "vmcmd.h"
 #include "dvdnav.h"
 #include "dvdnav_internal.h"
 
Index: src/searching.c
===================================================================
--- src/searching.c	(revision 1001)
+++ src/searching.c	(revision 1002)
@@ -38,7 +38,6 @@
 #include "remap.h"
 #include "vm/decoder.h"
 #include "vm/vm.h"
-#include "vm/vmcmd.h"
 #include "dvdnav.h"
 #include "dvdnav_internal.h"
 
Index: src/remap.c
===================================================================
--- src/remap.c	(revision 1001)
+++ src/remap.c	(revision 1002)
@@ -45,7 +45,6 @@
 #include "remap.h"
 #include "vm/decoder.h"
 #include "vm/vm.h"
-#include "vm/vmcmd.h"
 #include "dvdnav.h"
 #include "dvdnav_internal.h"
 

libdvdnav-r1007-r1010.patch:

--- NEW FILE libdvdnav-r1007-r1010.patch ---
Index: src/dvdnav.c
===================================================================
--- src/dvdnav.c	(revision 1007)
+++ src/dvdnav.c	(revision 1010)
@@ -53,6 +53,7 @@
 static dvdnav_status_t dvdnav_clear(dvdnav_t * this) {
   /* clear everything except file, vm, mutex, readahead */
 
+  pthread_mutex_lock(&this->vm_lock);
   if (this->file) DVDCloseFile(this->file);
   this->file = NULL;
 
@@ -70,6 +71,7 @@
   this->cur_cell_time = 0;
 
   dvdnav_read_cache_clear(this->cache);
+  pthread_mutex_unlock(&this->vm_lock);
   
   return DVDNAV_STATUS_OK;
 }
@@ -108,7 +110,8 @@
   }
 
   /* Set the path. FIXME: Is a deep copy 'right' */
-  strncpy(this->path, path, MAX_PATH_LEN);
+  strncpy(this->path, path, MAX_PATH_LEN - 1);
+  this->path[MAX_PATH_LEN - 1] = '\0';
 
   /* 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);
@@ -413,6 +416,7 @@
     /* Start the VM */
     if (!vm_start(this->vm)) {
       printerr("Encrypted or faulty DVD");
+      pthread_mutex_unlock(&this->vm_lock);
       return DVDNAV_STATUS_ERR;
     }
     this->started = 1;

libdvdnav-r1011-r1013.patch:

--- NEW FILE libdvdnav-r1011-r1013.patch ---
Index: src/remap.c
===================================================================
--- src/remap.c	(revision 1011)
+++ src/remap.c	(revision 1013)
@@ -228,8 +228,12 @@
 	    remap_add_node( map, tmp);
 	}
     }
+    fclose(fp);
 
-    if (map->nblocks == 0 && map->debug == 0) return NULL;
+    if (map->nblocks == 0 && map->debug == 0) {
+        free(map);
+        return NULL;
+    }
     return map;
 }
 

libdvdnav-r1017-r1019.patch:

--- NEW FILE libdvdnav-r1017-r1019.patch ---
Index: src/navigation.c
===================================================================
--- src/navigation.c	(revision 1017)
+++ src/navigation.c	(revision 1019)
@@ -104,7 +104,10 @@
   if ( (this->vm->state.domain == VTSM_DOMAIN)
       || (this->vm->state.domain == VMGM_DOMAIN) ) {
     /* Get current Menu ID: into *part. */
-    vm_get_current_menu(this->vm, part);
+    if(! vm_get_current_menu(this->vm, part)) {
+      pthread_mutex_unlock(&this->vm_lock);
+      return DVDNAV_STATUS_ERR;
+    }
     if (*part > -1) {
       *title = 0;
       pthread_mutex_unlock(&this->vm_lock);
Index: src/vm/vm.c
===================================================================
--- src/vm/vm.c	(revision 1017)
+++ src/vm/vm.c	(revision 1019)
@@ -612,6 +612,7 @@
   int pgcn;
   pgcn = (vm->state).pgcN;
   pgcit = get_PGCIT(vm);
+  if(pgcit==NULL) return 0;
   *menuid = pgcit->pgci_srp[pgcn - 1].entry_id & 0xf ;
   return 1;
 }
@@ -1823,13 +1824,15 @@
 
 /* Uses state to decide what to return */
 static pgcit_t* get_PGCIT(vm_t *vm) {
-  pgcit_t *pgcit;
+  pgcit_t *pgcit = NULL;
   
   switch ((vm->state).domain) {
   case VTS_DOMAIN:
+    if(!vm->vtsi) return NULL;
     pgcit = vm->vtsi->vts_pgcit;
     break;
   case VTSM_DOMAIN:
+    if(!vm->vtsi) return NULL;
     pgcit = get_MENU_PGCIT(vm, vm->vtsi, (vm->state).registers.SPRM[0]);
     break;
   case VMGM_DOMAIN:

libdvdnav-r1020-r1023.patch:

--- NEW FILE libdvdnav-r1020-r1023.patch ---
Index: version.sh
===================================================================
--- version.sh	(revision 1020)
+++ version.sh	(revision 1023)
@@ -1,11 +1,15 @@
 #!/bin/sh
 
 svn_revision=`cd "$1" && LC_ALL=C svn info 2> /dev/null | grep Revision | cut -d' ' -f2`
-test $svn_revision || svn_revision=`cd "$1" && grep revision .svn/entries | \
+test $svn_revision || svn_revision=`cd "$1" && grep revision .svn/entries 2>/dev/null | \
                                     cut -d '"' -f2 2> /dev/null`
 test $svn_revision || svn_revision=UNKNOWN
 
-NEW_REVISION="#define VERSION \"SVN-r$svn_revision\""
+if test "$svn_revision" = UNKNOWN && test -n "$2"; then
+    NEW_REVISION="#define VERSION \"$2\""
+else
+    NEW_REVISION="#define VERSION \"SVN-r$svn_revision\""
+fi
 OLD_REVISION=`cat version.h 2> /dev/null`
 
 # Update version.h only on revision changes to avoid spurious rebuilds
Index: Makefile
===================================================================
--- Makefile	(revision 1020)
+++ Makefile	(revision 1023)
@@ -79,7 +79,9 @@
 endif
 
 version.h:
-	sh $(SRC_PATH)/version.sh $(SRC_PATH)
+	sh $(SRC_PATH)/version.sh $(SRC_PATH) "$(SHLIB_VERSION)"
+	
+$(SRCS) $(DVDREAD_SRCS): version.h
 
 
 # General targets

libdvdnav-r1042.patch:

--- NEW FILE libdvdnav-r1042.patch ---
Index: src/dvdnav.c
===================================================================
--- src/dvdnav.c	(revision 1041)
+++ src/dvdnav.c	(revision 1042)
@@ -137,11 +137,13 @@
 #endif
 
   if (this->file) {
+    pthread_mutex_lock(&this->vm_lock); 
     DVDCloseFile(this->file);
 #ifdef LOG_DEBUG
     fprintf(MSG_OUT, "libdvdnav: close:file closing\n");
 #endif
     this->file = NULL;
+    pthread_mutex_unlock(&this->vm_lock); 
   }
 
   /* Free the VM */

libdvdnav-r1108.patch:

--- NEW FILE libdvdnav-r1108.patch ---
Index: src/dvdnav.h
===================================================================
--- src/dvdnav.h	(revision 1107)
+++ src/dvdnav.h	(revision 1108)
@@ -290,7 +290,7 @@
  * The number of entries in *times is the result of the function.
  * On error *times is NULL and the output is 0
  */
-uint32_t dvdnav_describe_title_chapters(dvdnav_t *this, int32_t title, uint64_t **times, uint64_t *duration);
+uint32_t dvdnav_describe_title_chapters(dvdnav_t *self, int32_t title, uint64_t **times, uint64_t *duration);
 
 /*
  * Play the specified amount of parts of the specified title of


Index: libdvdnav.spec
===================================================================
RCS file: /cvs/pkgs/rpms/libdvdnav/F-8/libdvdnav.spec,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- libdvdnav.spec	4 Jun 2008 20:47:26 -0000	1.4
+++ libdvdnav.spec	26 Jul 2008 14:15:05 -0000	1.5
@@ -1,11 +1,18 @@
 Name:           libdvdnav
 Version:        4.1.2
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        A library for reading DVD video discs based on Ogle code
 
 Group:          System Environment/Libraries
 License:        GPLv2+
 Source:         http://www.mplayerhq.hu/MPlayer/releases/dvdnav/libdvdnav-%{version}.tar.gz
+Patch0:         %{name}-r1002.patch
+Patch1:         %{name}-r1007-r1010.patch
+Patch2:         %{name}-r1011-r1013.patch
+Patch3:         %{name}-r1017-r1019.patch
+Patch4:         %{name}-r1020-r1023.patch
+Patch5:         %{name}-r1042.patch
+Patch6:         %{name}-r1108.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires:  doxygen
@@ -27,6 +34,13 @@
 
 %prep
 %setup -q
+%patch0 -p0
+%patch1 -p0
+%patch2 -p0
+%patch3 -p0
+%patch4 -p0
+%patch5 -p0
+%patch6 -p0
 
 %build
 ./configure2 \
@@ -39,9 +53,7 @@
  --shlibdir=%{_libdir} \
  --with-dvdread=%{_includedir}/dvdread \
 
-#parallel make fails
-#make %{?_smp_mflags}
-make
+make %{?_smp_mflags}
 pushd doc
 doxygen doxy.conf
 popd
@@ -75,6 +87,10 @@
 %{_datadir}/aclocal/dvdnav.m4
 
 %changelog
+* Sat Jul 27 2008 Dominik Mierzejewski <rpm[AT]greysector.net> 4.1.2-2
+- pull selected fixes from SVN
+- re-enable parallel make
+
 * Sun Apr 13 2008 Dominik Mierzejewski <rpm[AT]greysector.net> 4.1.2-1
 - update to 4.1.2
 - drop obsolete patches (merged upstream)




More information about the scm-commits mailing list