Commit 4f36a3e7 authored by Laurent Aimar's avatar Laurent Aimar

Added a patch to the contribs to have a dvdnav_get_video_resolution() function in libdvdnav.

parent f36c13c6
......@@ -1213,6 +1213,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:
......
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;
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment