[vlc-commits] commit: Added a patch to the contribs to have a dvdnav_get_video_resolution () function in libdvdnav. (Laurent Aimar )

git at videolan.org git at videolan.org
Tue May 25 00:05:02 CEST 2010


vlc/vlc-1.1 | branch: master | Laurent Aimar <fenrir at videolan.org> | Mon May 24 23:53:30 2010 +0200| [82793dee8810f49663bc24beeb779d0095b85233] | committer: Jean-Baptiste Kempf 

Added a patch to the contribs to have a dvdnav_get_video_resolution() function in libdvdnav.
(cherry picked from commit 4f36a3e7b0e62d3dfed0b87eccf925e3017f1998)

Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>

> http://git.videolan.org/gitweb.cgi/vlc/vlc-1.1.git/?a=commit;h=82793dee8810f49663bc24beeb779d0095b85233
---

 extras/contrib/src/Makefile                        |    1 +
 .../contrib/src/Patches/libdvdnav-resolution.patch |   80 ++++++++++++++++++++
 2 files changed, 81 insertions(+), 0 deletions(-)

diff --git a/extras/contrib/src/Makefile b/extras/contrib/src/Makefile
index c0f6000..53f5f31 100644
--- a/extras/contrib/src/Makefile
+++ b/extras/contrib/src/Makefile
@@ -1196,6 +1196,7 @@ ifdef SVN
 libdvdnav:
 	$(SVN) co $(LIBDVDNAV_SVN)  libdvdnav
 	patch -d libdvdnav -p0 < Patches/libdvdnav.patch
+	patch -d libdvdnav -p0 < Patches/libdvdnav-resolution.patch
 	(cd $@; ./autogen.sh noconfig)
 else
 libdvdnav-$(LIBDVDNAV_VERSION).tar.gz:
diff --git a/extras/contrib/src/Patches/libdvdnav-resolution.patch b/extras/contrib/src/Patches/libdvdnav-resolution.patch
new file mode 100644
index 0000000..bc4ee01
--- /dev/null
+++ b/extras/contrib/src/Patches/libdvdnav-resolution.patch
@@ -0,0 +1,80 @@
+Index: src/dvdnav/dvdnav.h
+===================================================================
+--- src/dvdnav/dvdnav.h	(revision 1191)
++++ src/dvdnav/dvdnav.h	(working copy)
+@@ -553,6 +553,11 @@
+ uint8_t dvdnav_get_video_aspect(dvdnav_t *self);
+ 
+ /*
++ * Get video resolution.
++ */
++int dvdnav_get_video_resolution(dvdnav_t *self, uint32_t *width, uint32_t *height);
++
++/*
+  * Get video scaling permissions.
+  * The scaling permission does only change on VTS boundaries.
+  * See the DVDNAV_VTS_CHANGE event.
+Index: src/vm/vm.c
+===================================================================
+--- src/vm/vm.c	(revision 1191)
++++ src/vm/vm.c	(working copy)
+@@ -858,8 +858,8 @@
+     break;
+   }
+ }
++#endif
+ 
+-/* currently unused */
+ void vm_get_video_res(vm_t *vm, int *width, int *height) {
+   video_attr_t attr = vm_get_video_attr(vm);
+ 
+@@ -883,7 +883,6 @@
+     break;
+   }
+ }
+-#endif
+ 
+ int vm_get_video_aspect(vm_t *vm) {
+   int aspect = vm_get_video_attr(vm).display_aspect_ratio;
+Index: src/vm/vm.h
+===================================================================
+--- src/vm/vm.h	(revision 1191)
++++ src/vm/vm.h	(working copy)
+@@ -159,8 +159,8 @@
+ /* currently unused */
+ void vm_get_audio_info(vm_t *vm, int *current, int *num_avail);
+ void vm_get_subp_info(vm_t *vm, int *current, int *num_avail);
++#endif
+ void vm_get_video_res(vm_t *vm, int *width, int *height);
+-#endif
+ int  vm_get_video_aspect(vm_t *vm);
+ int  vm_get_video_scale_permission(vm_t *vm);
+ video_attr_t vm_get_video_attr(vm_t *vm);
+Index: src/dvdnav.c
+===================================================================
+--- src/dvdnav.c	(revision 1191)
++++ src/dvdnav.c	(working copy)
+@@ -844,7 +844,23 @@
+ 
+   return retval;
+ }
++int dvdnav_get_video_resolution(dvdnav_t *this, uint32_t *width, uint32_t *height) {
++  int w, h;
+ 
++  if(!this->started) {
++    printerr("Virtual DVD machine not started.");
++    return -1;
++  }
++
++  pthread_mutex_lock(&this->vm_lock);
++  vm_get_video_res(this->vm, &w, &h);
++  pthread_mutex_unlock(&this->vm_lock);
++  
++  *width  = w;
++  *height = h;
++  return 0;
++}
++
+ uint8_t dvdnav_get_video_scale_permission(dvdnav_t *this) {
+   uint8_t         retval;
+ 



More information about the vlc-commits mailing list