]> git.sesse.net Git - vlc/blobdiff - modules/access/dvdread.c
Use var_Inherit* instead of var_CreateGet*.
[vlc] / modules / access / dvdread.c
index 22919798fd9e2326eadb55f3033be405a64b4172..e703abc315ef1758e609aa52f7171383826a99bb 100644 (file)
 
 #include <sys/types.h>
 
-#ifdef HAVE_DVDREAD_DVD_READER_H
-  #include <dvdread/dvd_reader.h>
-  #include <dvdread/ifo_types.h>
-  #include <dvdread/ifo_read.h>
-  #include <dvdread/nav_read.h>
-  #include <dvdread/nav_print.h>
-#else
-  #include <libdvdread/dvd_reader.h>
-  #include <libdvdread/ifo_types.h>
-  #include <libdvdread/ifo_read.h>
-  #include <libdvdread/nav_read.h>
-  #include <libdvdread/nav_print.h>
-#endif
+#include <dvdread/dvd_reader.h>
+#include <dvdread/ifo_types.h>
+#include <dvdread/ifo_read.h>
+#include <dvdread/nav_read.h>
+#include <dvdread/nav_print.h>
 
 #include <assert.h>
 
@@ -176,7 +168,7 @@ static int Open( vlc_object_t *p_this )
     dvd_reader_t *p_dvdread;
     ifo_handle_t *p_vmg_file;
 
-    if( !p_demux->psz_path || !*p_demux->psz_path )
+    if( !p_demux->psz_file || !*p_demux->psz_file )
     {
         /* Only when selected */
         if( !p_demux->psz_access || !*p_demux->psz_access )
@@ -189,7 +181,7 @@ static int Open( vlc_object_t *p_this )
         }
     }
     else
-        psz_name = ToLocaleDup( p_demux->psz_path );
+        psz_name = ToLocaleDup( p_demux->psz_file );
 
 #ifdef WIN32
     if( psz_name[0] && psz_name[1] == ':' &&
@@ -271,6 +263,11 @@ static void Close( vlc_object_t *p_this )
         }
     }
 
+    /* Free the array of titles */
+    for( int i = 0; i < p_sys->i_titles; i++ )
+        vlc_input_title_Delete( p_sys->titles[i] );
+    TAB_CLEAN( p_sys->i_titles, p_sys->titles );
+
     /* Close libdvdread */
     if( p_sys->p_title ) DVDCloseFile( p_sys->p_title );
     if( p_sys->p_vts_file ) ifoClose( p_sys->p_vts_file );
@@ -426,7 +423,7 @@ static int Control( demux_t *p_demux, int i_query, va_list args )
 
         case DEMUX_GET_PTS_DELAY:
             pi64 = (int64_t*)va_arg( args, int64_t * );
-            *pi64 = (int64_t)var_GetInteger( p_demux, "dvdread-caching" )*1000;
+            *pi64 = var_GetInteger( p_demux, "dvdread-caching" )*1000;
             return VLC_SUCCESS;
 
         /* TODO implement others */