view libmpdvdkit2/libdvdcss_changes.diff @ 20139:1ef90de62efa

Fix problems on live streams with huge timestamps, causing overflows and negative pts values. It also changes pts to double, since there is no enough precision in float to represent 32bit uint timestamps.
author rtogni
date Mon, 09 Oct 2006 20:00:02 +0000
parents e5d97c5f3c32
children
line wrap: on
line source

--- common.h	2005-10-11 10:55:45.000000000 +0200
+++ common.h	2005-10-11 14:07:42.000000000 +0200
@@ -50,10 +53,9 @@
 #   define PATH_MAX MAX_PATH
 #endif
 
-#define lseek _lseeki64
-
 /* several type definitions */
 #   if defined( __MINGW32__ )
+#define lseek _lseeki64
 #       if !defined( _OFF_T_ )
 typedef long long _off_t;
 typedef _off_t off_t;
--- device.c	2005-07-11 13:33:34.000000000 +0200
+++ device.c	2005-10-01 19:08:07.000000000 +0200
@@ -143,8 +132,11 @@
     print_debug( dvdcss, "opening target `%s'", psz_device );
 
 #if defined( WIN32 )
-    /* If device is not "X:", we are actually opening a file. */
-    dvdcss->b_file = !psz_device[0] || psz_device[1] != ':' || psz_device[2];
+    dvdcss->b_file = 1;
+    /* If device is "X:" or "X:\", we are not actually opening a file. */
+    if (psz_device[0] && psz_device[1] == ':' &&
+       (!psz_device[2] || (psz_device[2] == '\\' && !psz_device[3])))
+        dvdcss->b_file = 0;
 
     /* Initialize readv temporary buffer */
     dvdcss->p_readv_buffer   = NULL;
--- libdvdcss.c	2004-08-13 15:40:18.000000000 +0200
+++ libdvdcss.c	2005-10-01 19:11:27.000000000 +0200
@@ -301,6 +301,10 @@
         {
             psz_home = getenv( "HOME" );
         }
+        if( psz_home == NULL )
+        {
+            psz_home = getenv( "USERPROFILE" );
+        }
 
         /* Cache our keys in ${HOME}/.dvdcss/ */
         if( psz_home )