diff settings.c @ 114:b6834e6359cf src

big libdvdnav cleanup, quoting the ChangeLog: * some bugfixes * code cleanup * build process polishing * more sensible event order in get_next_block to ensure useful event delivery * VOBU level resume * fixed: seeking in a multiangle feature briefly showed the wrong angle
author mroi
date Thu, 20 Feb 2003 15:32:21 +0000
parents e74cba5129a6
children f22458f928b8
line wrap: on
line diff
--- a/settings.c	Mon Jan 13 13:33:45 2003 +0000
+++ b/settings.c	Thu Feb 20 15:32:21 2003 +0000
@@ -25,7 +25,6 @@
 #include "config.h"
 #endif
 
-#include <dvdnav.h>
 #include "dvdnav_internal.h"
 
 #include "vm.h"
@@ -33,57 +32,40 @@
 /* Characteristics/setting API calls */
 
 dvdnav_status_t dvdnav_get_region_mask(dvdnav_t *this, int *region) {
-  if(!this) {
-    printerr("Passed a NULL this pointer");
-    return S_ERR;
-  }
-
-  if(!region) {
-    printerr("Passed a NULL region pointer");
-    return S_ERR;
-  }
-
-  if(!this->vm) {
-    printerr("VM not yet initialised");
+  if(!this || !region) {
+    printerr("Passed a NULL this pointer.");
     return S_ERR;
   }
 
   (*region) = this->vm->state.registers.SPRM[20];
-  
   return S_OK;
 }
 
 dvdnav_status_t dvdnav_set_region_mask(dvdnav_t *this, int mask) {
-  if(!this)
-   return S_ERR;
-
-  if(!this->vm) {
-    printerr("VM not yet initialised");
+  if(!this) {
+    printerr("Passed a NULL this pointer.");
     return S_ERR;
   }
 
+  pthread_mutex_lock(&this->vm_lock);
   this->vm->state.registers.SPRM[20] = (mask & 0xff);
-  
+  pthread_mutex_unlock(&this->vm_lock);
   return S_OK;
 }
 
 dvdnav_status_t dvdnav_set_readahead_flag(dvdnav_t *this, int use_readahead) {
-  if(!this)
-   return S_ERR;
+  if(!this) {
+    printerr("Passed a NULL this pointer.");
+    return S_ERR;
+  }
 
   this->use_read_ahead = use_readahead;
-
   return S_OK;
 }
 
-dvdnav_status_t dvdnav_get_readahead_flag(dvdnav_t *this, int* flag) {
-  if(!this) {
-    printerr("Passed a NULL this pointer");
-    return S_ERR;
-  }
-
-  if(!flag) {
-    printerr("Passed a NULL flag pointer");
+dvdnav_status_t dvdnav_get_readahead_flag(dvdnav_t *this, int *flag) {
+  if(!this || !flag) {
+    printerr("Passed a NULL this pointer.");
     return S_ERR;
   }
 
@@ -92,23 +74,13 @@
 }
 
 static dvdnav_status_t set_language_register(dvdnav_t *this, char *code, int reg) {
-  if(!this ) {
-    printerr("Passed a NULL this pointer");
+  if(!this || !code) {
+    printerr("Passed a NULL this pointer.");
     return S_ERR;
   }
     
-  if(!code) {
-    printerr("Passed a NULL code pointer");
-    return S_ERR;
-  }
-
   if(!code[0] || !code[1]) {
-    printerr("Passed illegal language code");
-    return S_ERR;
-  }
-  
-  if(!this->vm) {
-    printerr("VM not yet initialised");
+    printerr("Passed illegal language code.");
     return S_ERR;
   }