diff options
author | dynaflash <[email protected]> | 2007-03-18 15:14:01 +0000 |
---|---|---|
committer | dynaflash <[email protected]> | 2007-03-18 15:14:01 +0000 |
commit | 91b712aaaebff79b14d8c341b96a807440001db3 (patch) | |
tree | ed6c09e72f7496b369cc1e5a0573f67d0bf078b1 | |
parent | c252ad07466ffa60e8a930200ad5132043d91943 (diff) |
saintdev's 64-bit deadlock fix
-should fix some issues when HB is used on a 64 bit system.
-thanks saintdev!
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@436 b64f7644-9d1e-0410-96f1-a4d463321fa5
-rw-r--r-- | libhb/common.c | 6 | ||||
-rw-r--r-- | libhb/deca52.c | 3 | ||||
-rw-r--r-- | libhb/encfaac.c | 3 | ||||
-rw-r--r-- | libhb/enclame.c | 4 | ||||
-rw-r--r-- | libhb/internal.h | 2 |
5 files changed, 8 insertions, 10 deletions
diff --git a/libhb/common.c b/libhb/common.c index 7b41a93fb..1d66e0bcf 100644 --- a/libhb/common.c +++ b/libhb/common.c @@ -377,7 +377,7 @@ void hb_list_seebytes( hb_list_t * l, uint8_t * dst, int size ) * in that buffer. *********************************************************************/ void hb_list_getbytes( hb_list_t * l, uint8_t * dst, int size, - uint64_t * pts, int * pos ) + uint64_t * pts, uint64_t * pos ) { hb_buffer_t * buf; int copied; @@ -385,8 +385,8 @@ void hb_list_getbytes( hb_list_t * l, uint8_t * dst, int size, uint8_t has_pts; /* So we won't have to deal with NULL pointers */ - uint64_t dummy1; - int dummy2; + uint64_t dummy1, dummy2; + if( !pts ) pts = &dummy1; if( !pos ) pos = &dummy2; diff --git a/libhb/deca52.c b/libhb/deca52.c index 1886b139a..5294a5be5 100644 --- a/libhb/deca52.c +++ b/libhb/deca52.c @@ -143,8 +143,7 @@ static hb_buffer_t * Decode( hb_work_object_t * w ) hb_work_private_t * pv = w->private_data; hb_buffer_t * buf; int i, j, k; - uint64_t pts; - int pos; + uint64_t pts, pos; /* Get a frame header if don't have one yet */ if( !pv->sync ) diff --git a/libhb/encfaac.c b/libhb/encfaac.c index 83d390fd9..262bc4de9 100644 --- a/libhb/encfaac.c +++ b/libhb/encfaac.c @@ -132,8 +132,7 @@ static hb_buffer_t * Encode( hb_work_object_t * w ) { hb_work_private_t * pv = w->private_data; hb_buffer_t * buf; - uint64_t pts; - int pos; + uint64_t pts, pos; if( hb_list_bytes( pv->list ) < pv->input_samples * sizeof( float ) ) { diff --git a/libhb/enclame.c b/libhb/enclame.c index f663e62eb..c0b0f9df0 100644 --- a/libhb/enclame.c +++ b/libhb/enclame.c @@ -80,8 +80,8 @@ static hb_buffer_t * Encode( hb_work_object_t * w ) hb_work_private_t * pv = w->private_data; hb_buffer_t * buf; int16_t samples_s16[1152 * 2]; - uint64_t pts; - int pos, i; + uint64_t pts, pos; + int i; if( hb_list_bytes( pv->list ) < pv->input_samples * sizeof( float ) ) { diff --git a/libhb/internal.h b/libhb/internal.h index 3948d5dfd..79c978740 100644 --- a/libhb/internal.h +++ b/libhb/internal.h @@ -12,7 +12,7 @@ void hb_log( char * log, ... ); int hb_list_bytes( hb_list_t * ); void hb_list_seebytes( hb_list_t * l, uint8_t * dst, int size ); void hb_list_getbytes( hb_list_t * l, uint8_t * dst, int size, - uint64_t * pts, int * pos ); + uint64_t * pts, uint64_t * pos ); void hb_list_empty( hb_list_t ** ); hb_title_t * hb_title_init( char * dvd, int index ); |