mirror of
				https://github.com/pbatard/rufus.git
				synced 2024-08-14 23:57:05 +00:00 
			
		
		
		
	[iso] upgrade libcdio track and sector handling
* From latest git version of libcdio
This commit is contained in:
		
							parent
							
								
									d3238d7210
								
							
						
					
					
						commit
						b0e131e5e4
					
				
					 5 changed files with 179 additions and 165 deletions
				
			
		|  | @ -27,7 +27,7 @@ | ||||||
| 
 | 
 | ||||||
| #include <time.h> | #include <time.h> | ||||||
| 
 | 
 | ||||||
| #if defined(__MINGW32__) && !defined(__MINGW64__) | #if defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR) | ||||||
| struct timespec { | struct timespec { | ||||||
|   time_t  tv_sec;   /* Seconds */ |   time_t  tv_sec;   /* Seconds */ | ||||||
|   long    tv_nsec;  /* Nanoseconds */ |   long    tv_nsec;  /* Nanoseconds */ | ||||||
|  |  | ||||||
|  | @ -81,9 +81,9 @@ cdio_lsn_to_msf (lsn_t lsn, msf_t *msf) | ||||||
|     f    = lsn + CDIO_CD_MAX_LSN; |     f    = lsn + CDIO_CD_MAX_LSN; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   if (m > 99) { |   if (m > 6) { | ||||||
|     cdio_warn ("number of minutes (%d) truncated to 99.", m); |     cdio_warn ("number of minutes (%d) truncated to 99.", m); | ||||||
|     m = 99; |     m = 6; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   msf->m = cdio_to_bcd8 (m); |   msf->m = cdio_to_bcd8 (m); | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| /*
 | /*
 | ||||||
|   Copyright (C) 2003, 2004, 2005, 2008, 2011, 2012  |   Copyright (C) 2003-2005, 2008, 2011-2013 | ||||||
|   Rocky Bernstein <rocky@gnu.org> |   Rocky Bernstein <rocky@gnu.org> | ||||||
|   Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org> |   Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org> | ||||||
| 
 | 
 | ||||||
|  | @ -74,9 +74,9 @@ cdio_get_last_track_num (const CdIo_t *p_cdio) | ||||||
|   { |   { | ||||||
|     const track_t i_first_track = cdio_get_first_track_num(p_cdio); |     const track_t i_first_track = cdio_get_first_track_num(p_cdio); | ||||||
|     if ( CDIO_INVALID_TRACK != i_first_track ) { |     if ( CDIO_INVALID_TRACK != i_first_track ) { | ||||||
|       const track_t i_tracks = cdio_get_num_tracks(p_cdio); |       const track_t u_tracks = cdio_get_num_tracks(p_cdio); | ||||||
|       if ( CDIO_INVALID_TRACK != i_tracks )  |       if ( CDIO_INVALID_TRACK != u_tracks ) | ||||||
| 	return i_first_track + i_tracks - 1; | 	return i_first_track + u_tracks - 1; | ||||||
|     } |     } | ||||||
|     return CDIO_INVALID_TRACK; |     return CDIO_INVALID_TRACK; | ||||||
|   } |   } | ||||||
|  | @ -87,19 +87,21 @@ cdio_get_last_track_num (const CdIo_t *p_cdio) | ||||||
|   Not meaningful if track is not an audio track. |   Not meaningful if track is not an audio track. | ||||||
| */ | */ | ||||||
| int | int | ||||||
| cdio_get_track_channels(const CdIo_t *p_cdio, track_t i_track) | cdio_get_track_channels(const CdIo_t *p_cdio, track_t u_track) | ||||||
| { | { | ||||||
|  |   track_t u_last_track; | ||||||
|   if (NULL == p_cdio) { |   if (NULL == p_cdio) { | ||||||
|     cdio_info("Null CdIo object passed\n"); |     cdio_info("Null CdIo object passed\n"); | ||||||
|     return -1; |     return -1; | ||||||
|   } |   } | ||||||
|   if (i_track > CDIO_CD_MAX_TRACKS) { |   u_last_track = cdio_get_last_track_num(p_cdio); | ||||||
|  |   if (u_track > u_last_track) { | ||||||
|      cdio_log(CDIO_LOG_WARN, "Number of tracks exceeds maximum (%d vs. %d)\n", |      cdio_log(CDIO_LOG_WARN, "Number of tracks exceeds maximum (%d vs. %d)\n", | ||||||
|               i_track, CDIO_CD_MAX_TRACKS); |               u_track, u_last_track); | ||||||
|      return -1; |      return -1; | ||||||
|   } |   } | ||||||
|   if (p_cdio->op.get_track_channels) { |   if (p_cdio->op.get_track_channels) { | ||||||
|     return p_cdio->op.get_track_channels (p_cdio->env, i_track); |     return p_cdio->op.get_track_channels (p_cdio->env, u_track); | ||||||
|   } else { |   } else { | ||||||
|     return -2; |     return -2; | ||||||
|   } |   } | ||||||
|  | @ -109,10 +111,10 @@ cdio_get_track_channels(const CdIo_t *p_cdio, track_t i_track) | ||||||
|   if not an audio track? |   if not an audio track? | ||||||
| */ | */ | ||||||
| track_flag_t | track_flag_t | ||||||
| cdio_get_track_copy_permit(const CdIo_t *p_cdio, track_t i_track) | cdio_get_track_copy_permit(const CdIo_t *p_cdio, track_t u_track) | ||||||
| { | { | ||||||
|   if (p_cdio->op.get_track_copy_permit) { |   if (p_cdio->op.get_track_copy_permit) { | ||||||
|     return p_cdio->op.get_track_copy_permit (p_cdio->env, i_track); |     return p_cdio->op.get_track_copy_permit (p_cdio->env, u_track); | ||||||
|   } else { |   } else { | ||||||
|     return CDIO_TRACK_FLAG_UNKNOWN; |     return CDIO_TRACK_FLAG_UNKNOWN; | ||||||
|   } |   } | ||||||
|  | @ -122,12 +124,12 @@ cdio_get_track_copy_permit(const CdIo_t *p_cdio, track_t i_track) | ||||||
|   Get format of track. |   Get format of track. | ||||||
| */ | */ | ||||||
| track_format_t | track_format_t | ||||||
| cdio_get_track_format(const CdIo_t *p_cdio, track_t i_track) | cdio_get_track_format(const CdIo_t *p_cdio, track_t u_track) | ||||||
| { | { | ||||||
|   if (!p_cdio) return TRACK_FORMAT_ERROR; |   if (!p_cdio) return TRACK_FORMAT_ERROR; | ||||||
| 
 | 
 | ||||||
|   if (p_cdio->op.get_track_format) { |   if (p_cdio->op.get_track_format) { | ||||||
|     return p_cdio->op.get_track_format (p_cdio->env, i_track); |     return p_cdio->op.get_track_format (p_cdio->env, u_track); | ||||||
|   } else { |   } else { | ||||||
|     return TRACK_FORMAT_ERROR; |     return TRACK_FORMAT_ERROR; | ||||||
|   } |   } | ||||||
|  | @ -176,7 +178,8 @@ cdio_get_track(const CdIo_t *p_cdio, lsn_t lsn) | ||||||
| 
 | 
 | ||||||
|   { |   { | ||||||
|     track_t i_low_track   = cdio_get_first_track_num(p_cdio); |     track_t i_low_track   = cdio_get_first_track_num(p_cdio); | ||||||
|     track_t i_high_track  = cdio_get_last_track_num(p_cdio)+1; /* LEADOUT */ |     track_t i_high_track  = cdio_get_last_track_num(p_cdio)+1; | ||||||
|  |     track_t i_lead_track  = i_high_track; | ||||||
| 
 | 
 | ||||||
|     if (CDIO_INVALID_TRACK == i_low_track |     if (CDIO_INVALID_TRACK == i_low_track | ||||||
| 	|| CDIO_INVALID_TRACK == i_high_track ) return CDIO_INVALID_TRACK; | 	|| CDIO_INVALID_TRACK == i_high_track ) return CDIO_INVALID_TRACK; | ||||||
|  | @ -184,7 +187,7 @@ cdio_get_track(const CdIo_t *p_cdio, lsn_t lsn) | ||||||
|     if (lsn < cdio_get_track_lsn(p_cdio, i_low_track)) |     if (lsn < cdio_get_track_lsn(p_cdio, i_low_track)) | ||||||
|       return 0; /* We're in the pre-gap of first track */ |       return 0; /* We're in the pre-gap of first track */ | ||||||
| 
 | 
 | ||||||
|     if (lsn > cdio_get_track_lsn(p_cdio, i_high_track)) |     if (lsn > cdio_get_track_lsn(p_cdio, CDIO_CDROM_LEADOUT_TRACK)) | ||||||
|       return CDIO_INVALID_TRACK; /* We're beyond the end. */ |       return CDIO_INVALID_TRACK; /* We're beyond the end. */ | ||||||
| 
 | 
 | ||||||
|     do { |     do { | ||||||
|  | @ -194,8 +197,14 @@ cdio_get_track(const CdIo_t *p_cdio, lsn_t lsn) | ||||||
|       if (lsn >= i_mid_lsn) i_low_track  = i_mid + 1; |       if (lsn >= i_mid_lsn) i_low_track  = i_mid + 1; | ||||||
|     } while ( i_low_track <= i_high_track ); |     } while ( i_low_track <= i_high_track ); | ||||||
| 
 | 
 | ||||||
|     return (i_low_track > i_high_track + 1)  |     if (i_low_track > i_high_track + 1) { | ||||||
|       ? i_high_track + 1 : i_high_track; | 	i_high_track++; | ||||||
|  |     } | ||||||
|  |     if (i_high_track == i_lead_track ) { | ||||||
|  | 	return CDIO_CDROM_LEADOUT_TRACK; | ||||||
|  |     } else { | ||||||
|  | 	return i_high_track; | ||||||
|  |     } | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -208,14 +217,14 @@ cdio_get_track(const CdIo_t *p_cdio, lsn_t lsn) | ||||||
|   FIXME: there's gotta be a better design for this and get_track_format? |   FIXME: there's gotta be a better design for this and get_track_format? | ||||||
| */ | */ | ||||||
| bool | bool | ||||||
| cdio_get_track_green(const CdIo_t *p_cdio, track_t i_track) | cdio_get_track_green(const CdIo_t *p_cdio, track_t u_track) | ||||||
| { | { | ||||||
|   if (p_cdio == NULL) { |   if (p_cdio == NULL) { | ||||||
|     return false; |     return false; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   if (p_cdio->op.get_track_green) { |   if (p_cdio->op.get_track_green) { | ||||||
|     return p_cdio->op.get_track_green (p_cdio->env, i_track); |     return p_cdio->op.get_track_green (p_cdio->env, u_track); | ||||||
|   } else { |   } else { | ||||||
|     return false; |     return false; | ||||||
|   } |   } | ||||||
|  | @ -229,7 +238,7 @@ cdio_get_track_green(const CdIo_t *p_cdio, track_t i_track) | ||||||
|   CDIO_INVALID_LBA is returned on error. |   CDIO_INVALID_LBA is returned on error. | ||||||
| */ | */ | ||||||
| lba_t | lba_t | ||||||
| cdio_get_track_lba(const CdIo_t *p_cdio, track_t i_track) | cdio_get_track_lba(const CdIo_t *p_cdio, track_t u_track) | ||||||
| { | { | ||||||
|   if (NULL == p_cdio) { |   if (NULL == p_cdio) { | ||||||
|     cdio_info("Null CdIo object passed\n"); |     cdio_info("Null CdIo object passed\n"); | ||||||
|  | @ -237,11 +246,11 @@ cdio_get_track_lba(const CdIo_t *p_cdio, track_t i_track) | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   if (p_cdio->op.get_track_lba) { |   if (p_cdio->op.get_track_lba) { | ||||||
|     return p_cdio->op.get_track_lba (p_cdio->env, i_track); |     return p_cdio->op.get_track_lba (p_cdio->env, u_track); | ||||||
|   } else { |   } else { | ||||||
|     msf_t msf; |     msf_t msf; | ||||||
|     if (p_cdio->op.get_track_msf) |     if (p_cdio->op.get_track_msf) | ||||||
|       if (cdio_get_track_msf(p_cdio, i_track, &msf)) |       if (cdio_get_track_msf(p_cdio, u_track, &msf)) | ||||||
|         return cdio_msf_to_lba(&msf); |         return cdio_msf_to_lba(&msf); | ||||||
|     return CDIO_INVALID_LBA; |     return CDIO_INVALID_LBA; | ||||||
|   } |   } | ||||||
|  | @ -249,30 +258,33 @@ cdio_get_track_lba(const CdIo_t *p_cdio, track_t i_track) | ||||||
| 
 | 
 | ||||||
| /*!
 | /*!
 | ||||||
|   Return the starting LSN for track number |   Return the starting LSN for track number | ||||||
|   i_track in cdio.  Tracks numbers start at 1. |   u_track in cdio.  Tracks numbers start at 1. | ||||||
|   The "leadout" track is specified either by |   The "leadout" track is specified either by | ||||||
|   using i_track LEADOUT_TRACK or the total tracks+1. |   using u_track LEADOUT_TRACK or the total tracks+1. | ||||||
|   CDIO_INVALID_LSN is returned on error. |   CDIO_INVALID_LSN is returned on error. | ||||||
| */ | */ | ||||||
| lsn_t | lsn_t | ||||||
| cdio_get_track_lsn(const CdIo_t *p_cdio, track_t i_track) | cdio_get_track_lsn(const CdIo_t *p_cdio, track_t u_track) | ||||||
| { | { | ||||||
|  |   /*track_t u_last_track; */ | ||||||
|   if (NULL == p_cdio) { |   if (NULL == p_cdio) { | ||||||
|     cdio_info("Null CdIo object passed\n"); |     cdio_info("Null CdIo object passed\n"); | ||||||
|     return CDIO_INVALID_LSN; |     return CDIO_INVALID_LSN; | ||||||
|   } |   } | ||||||
|   if (i_track > CDIO_CD_MAX_TRACKS && i_track != CDIO_CDROM_LEADOUT_TRACK) { |   /*
 | ||||||
|  |   u_last_track = cdio_get_last_track_num(p_cdio); | ||||||
|  |   if (u_track > u_last_track && u_track != CDIO_CDROM_LEADOUT_TRACK) { | ||||||
|      cdio_log(CDIO_LOG_WARN, "Number of tracks exceeds maximum (%d vs. %d)\n", |      cdio_log(CDIO_LOG_WARN, "Number of tracks exceeds maximum (%d vs. %d)\n", | ||||||
|               i_track, CDIO_CD_MAX_TRACKS); |               u_track, u_last_track); | ||||||
|      return CDIO_INVALID_LSN; |      return CDIO_INVALID_LSN; | ||||||
|   } |   } | ||||||
| 
 |   */ | ||||||
| 
 | 
 | ||||||
|   if (p_cdio->op.get_track_lba) { |   if (p_cdio->op.get_track_lba) { | ||||||
|     return cdio_lba_to_lsn(p_cdio->op.get_track_lba (p_cdio->env, i_track)); |     return cdio_lba_to_lsn(p_cdio->op.get_track_lba (p_cdio->env, u_track)); | ||||||
|   } else { |   } else { | ||||||
|     msf_t msf; |     msf_t msf; | ||||||
|     if (cdio_get_track_msf(p_cdio, i_track, &msf)) |     if (cdio_get_track_msf(p_cdio, u_track, &msf)) | ||||||
|       return cdio_msf_to_lsn(&msf); |       return cdio_msf_to_lsn(&msf); | ||||||
|     return CDIO_INVALID_LSN; |     return CDIO_INVALID_LSN; | ||||||
|   } |   } | ||||||
|  | @ -280,27 +292,29 @@ cdio_get_track_lsn(const CdIo_t *p_cdio, track_t i_track) | ||||||
| 
 | 
 | ||||||
| /*!
 | /*!
 | ||||||
|   Return the International Standard Recording Code (ISRC) for track number |   Return the International Standard Recording Code (ISRC) for track number | ||||||
|   i_track in p_cdio.  Track numbers start at 1. |   u_track in p_cdio.  Track numbers start at 1. | ||||||
| 
 | 
 | ||||||
|   Note: string is malloc'd so caller has to free() the returned |   Note: string is malloc'd so caller has to free() the returned | ||||||
|   string when done with it. |   string when done with it. | ||||||
| */ | */ | ||||||
| char * | char * | ||||||
| cdio_get_track_isrc (const CdIo_t *p_cdio, track_t i_track) | cdio_get_track_isrc (const CdIo_t *p_cdio, track_t u_track) | ||||||
| { | { | ||||||
|  |   track_t u_last_track; | ||||||
|   if (NULL == p_cdio) { |   if (NULL == p_cdio) { | ||||||
|     cdio_info("Null CdIo object passed\n"); |     cdio_info("Null CdIo object passed\n"); | ||||||
|     return NULL; |     return NULL; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   if (i_track > CDIO_CD_MAX_TRACKS) { |   u_last_track = cdio_get_last_track_num(p_cdio); | ||||||
|  |   if (u_track > u_last_track) { | ||||||
|      cdio_log(CDIO_LOG_WARN, "Number of tracks exceeds maximum (%d vs. %d)\n", |      cdio_log(CDIO_LOG_WARN, "Number of tracks exceeds maximum (%d vs. %d)\n", | ||||||
|               i_track, CDIO_CD_MAX_TRACKS); |               u_track, u_last_track); | ||||||
|      return NULL; |      return NULL; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   if (p_cdio->op.get_track_isrc) { |   if (p_cdio->op.get_track_isrc) { | ||||||
|     return p_cdio->op.get_track_isrc (p_cdio->env, i_track); |     return p_cdio->op.get_track_isrc (p_cdio->env, u_track); | ||||||
|   } else { |   } else { | ||||||
|     return NULL; |     return NULL; | ||||||
|   } |   } | ||||||
|  | @ -308,11 +322,11 @@ cdio_get_track_isrc (const CdIo_t *p_cdio, track_t i_track) | ||||||
| 
 | 
 | ||||||
| /*!
 | /*!
 | ||||||
|   Return the starting LBA for the pregap for track number |   Return the starting LBA for the pregap for track number | ||||||
|   i_track in cdio.  Track numbers start at 1. |   u_track in cdio.  Track numbers start at 1. | ||||||
|   CDIO_INVALID_LBA is returned on error. |   CDIO_INVALID_LBA is returned on error. | ||||||
| */ | */ | ||||||
| lba_t | lba_t | ||||||
| cdio_get_track_pregap_lba(const CdIo_t *p_cdio, track_t i_track) | cdio_get_track_pregap_lba(const CdIo_t *p_cdio, track_t u_track) | ||||||
| { | { | ||||||
|   if (NULL == p_cdio) { |   if (NULL == p_cdio) { | ||||||
|     cdio_info("Null CdIo object passed\n"); |     cdio_info("Null CdIo object passed\n"); | ||||||
|  | @ -320,7 +334,7 @@ cdio_get_track_pregap_lba(const CdIo_t *p_cdio, track_t i_track) | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   if (p_cdio->op.get_track_pregap_lba) { |   if (p_cdio->op.get_track_pregap_lba) { | ||||||
|     return p_cdio->op.get_track_pregap_lba (p_cdio->env, i_track); |     return p_cdio->op.get_track_pregap_lba (p_cdio->env, u_track); | ||||||
|   } else { |   } else { | ||||||
|     return CDIO_INVALID_LBA; |     return CDIO_INVALID_LBA; | ||||||
|   } |   } | ||||||
|  | @ -328,23 +342,23 @@ cdio_get_track_pregap_lba(const CdIo_t *p_cdio, track_t i_track) | ||||||
| 
 | 
 | ||||||
| /*!
 | /*!
 | ||||||
|   Return the starting LSN for the pregap for track number |   Return the starting LSN for the pregap for track number | ||||||
|   i_track in cdio.  Track numbers start at 1. |   u_track in cdio.  Track numbers start at 1. | ||||||
|   CDIO_INVALID_LSN is returned on error. |   CDIO_INVALID_LSN is returned on error. | ||||||
| */ | */ | ||||||
| lsn_t | lsn_t | ||||||
| cdio_get_track_pregap_lsn(const CdIo_t *p_cdio, track_t i_track) | cdio_get_track_pregap_lsn(const CdIo_t *p_cdio, track_t u_track) | ||||||
| { | { | ||||||
|   return cdio_lba_to_lsn(cdio_get_track_pregap_lba(p_cdio, i_track)); |   return cdio_lba_to_lsn(cdio_get_track_pregap_lba(p_cdio, u_track)); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /*!
 | /*!
 | ||||||
|   Return the ending LSN for track number |   Return the ending LSN for track number | ||||||
|   i_track in cdio.  CDIO_INVALID_LSN is returned on error. |   u_track in cdio.  CDIO_INVALID_LSN is returned on error. | ||||||
| */ | */ | ||||||
| lsn_t | lsn_t | ||||||
| cdio_get_track_last_lsn(const CdIo_t *p_cdio, track_t i_track) | cdio_get_track_last_lsn(const CdIo_t *p_cdio, track_t u_track) | ||||||
| { | { | ||||||
|   lsn_t lsn = cdio_get_track_lsn(p_cdio, i_track+1); |   lsn_t lsn = cdio_get_track_lsn(p_cdio, u_track+1); | ||||||
| 
 | 
 | ||||||
|   if (CDIO_INVALID_LSN == lsn) return CDIO_INVALID_LSN; |   if (CDIO_INVALID_LSN == lsn) return CDIO_INVALID_LSN; | ||||||
|   /* Safe, we've always the leadout. */ |   /* Safe, we've always the leadout. */ | ||||||
|  | @ -353,20 +367,20 @@ cdio_get_track_last_lsn(const CdIo_t *p_cdio, track_t i_track) | ||||||
| 
 | 
 | ||||||
| /*!
 | /*!
 | ||||||
|   Return the starting MSF (minutes/secs/frames) for track number |   Return the starting MSF (minutes/secs/frames) for track number | ||||||
|   i_track in cdio.  Track numbers start at 1. |   u_track in cdio.  Track numbers start at 1. | ||||||
|   The "leadout" track is specified either by |   The "leadout" track is specified either by | ||||||
|   using i_track LEADOUT_TRACK or the total tracks+1. |   using u_track LEADOUT_TRACK or the total tracks+1. | ||||||
|   False is returned if there is no track entry. |   False is returned if there is no track entry. | ||||||
| */ | */ | ||||||
| bool | bool | ||||||
| cdio_get_track_msf(const CdIo_t *p_cdio, track_t i_track, /*out*/ msf_t *msf) | cdio_get_track_msf(const CdIo_t *p_cdio, track_t u_track, /*out*/ msf_t *msf) | ||||||
| { | { | ||||||
|   if (!p_cdio) return false; |   if (!p_cdio) return false; | ||||||
| 
 | 
 | ||||||
|   if (p_cdio->op.get_track_msf) { |   if (p_cdio->op.get_track_msf) { | ||||||
|     return p_cdio->op.get_track_msf (p_cdio->env, i_track, msf); |     return p_cdio->op.get_track_msf (p_cdio->env, u_track, msf); | ||||||
|   } else if (p_cdio->op.get_track_lba) { |   } else if (p_cdio->op.get_track_lba) { | ||||||
|     lba_t lba = p_cdio->op.get_track_lba (p_cdio->env, i_track); |     lba_t lba = p_cdio->op.get_track_lba (p_cdio->env, u_track); | ||||||
|     if (lba  == CDIO_INVALID_LBA) return false; |     if (lba  == CDIO_INVALID_LBA) return false; | ||||||
|     cdio_lba_to_msf(lba, msf); |     cdio_lba_to_msf(lba, msf); | ||||||
|     return true; |     return true; | ||||||
|  | @ -379,10 +393,10 @@ cdio_get_track_msf(const CdIo_t *p_cdio, track_t i_track, /*out*/ msf_t *msf) | ||||||
|   if not an audio track? |   if not an audio track? | ||||||
| */ | */ | ||||||
| track_flag_t | track_flag_t | ||||||
| cdio_get_track_preemphasis(const CdIo *p_cdio, track_t i_track) | cdio_get_track_preemphasis(const CdIo *p_cdio, track_t u_track) | ||||||
| { | { | ||||||
|   if (p_cdio->op.get_track_preemphasis) { |   if (p_cdio->op.get_track_preemphasis) { | ||||||
|     return p_cdio->op.get_track_preemphasis (p_cdio->env, i_track); |     return p_cdio->op.get_track_preemphasis (p_cdio->env, u_track); | ||||||
|   } else { |   } else { | ||||||
|     return CDIO_TRACK_FLAG_UNKNOWN; |     return CDIO_TRACK_FLAG_UNKNOWN; | ||||||
|   } |   } | ||||||
|  | @ -395,12 +409,12 @@ cdio_get_track_preemphasis(const CdIo *p_cdio, track_t i_track) | ||||||
|   0 is returned if there is an error. |   0 is returned if there is an error. | ||||||
| */ | */ | ||||||
| unsigned int | unsigned int | ||||||
| cdio_get_track_sec_count(const CdIo_t *p_cdio, track_t i_track) | cdio_get_track_sec_count(const CdIo_t *p_cdio, track_t u_track) | ||||||
| { | { | ||||||
|   const track_t i_tracks = cdio_get_num_tracks(p_cdio); |   const track_t u_tracks = cdio_get_num_tracks(p_cdio); | ||||||
| 
 | 
 | ||||||
|   if (i_track >=1 && i_track <= i_tracks)  |   if (u_track >=1 && u_track <= u_tracks) | ||||||
|     return ( cdio_get_track_lba(p_cdio, i_track+1)  |     return ( cdio_get_track_lba(p_cdio, u_track+1) | ||||||
|              - cdio_get_track_lba(p_cdio, i_track) ); |              - cdio_get_track_lba(p_cdio, u_track) ); | ||||||
|   return 0; |   return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										10
									
								
								src/rufus.rc
									
										
									
									
									
								
							
							
						
						
									
										10
									
								
								src/rufus.rc
									
										
									
									
									
								
							|  | @ -30,7 +30,7 @@ LANGUAGE LANG_ENGLISH, SUBLANG_NEUTRAL | ||||||
| IDD_DIALOG DIALOGEX 12, 12, 206, 329 | IDD_DIALOG DIALOGEX 12, 12, 206, 329 | ||||||
| STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU | STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU | ||||||
| EXSTYLE WS_EX_APPWINDOW | EXSTYLE WS_EX_APPWINDOW | ||||||
| CAPTION "Rufus v1.3.3.246" | CAPTION "Rufus v1.3.3.247" | ||||||
| FONT 8, "MS Shell Dlg", 400, 0, 0x1 | FONT 8, "MS Shell Dlg", 400, 0, 0x1 | ||||||
| BEGIN | BEGIN | ||||||
|     DEFPUSHBUTTON   "Start",IDC_START,94,291,50,14 |     DEFPUSHBUTTON   "Start",IDC_START,94,291,50,14 | ||||||
|  | @ -276,8 +276,8 @@ END | ||||||
| // | // | ||||||
| 
 | 
 | ||||||
| VS_VERSION_INFO VERSIONINFO | VS_VERSION_INFO VERSIONINFO | ||||||
|  FILEVERSION 1,3,3,246 |  FILEVERSION 1,3,3,247 | ||||||
|  PRODUCTVERSION 1,3,3,246 |  PRODUCTVERSION 1,3,3,247 | ||||||
|  FILEFLAGSMASK 0x3fL |  FILEFLAGSMASK 0x3fL | ||||||
| #ifdef _DEBUG | #ifdef _DEBUG | ||||||
|  FILEFLAGS 0x1L |  FILEFLAGS 0x1L | ||||||
|  | @ -294,13 +294,13 @@ BEGIN | ||||||
|         BEGIN |         BEGIN | ||||||
|             VALUE "CompanyName", "Akeo Consulting (http://akeo.ie)" |             VALUE "CompanyName", "Akeo Consulting (http://akeo.ie)" | ||||||
|             VALUE "FileDescription", "Rufus" |             VALUE "FileDescription", "Rufus" | ||||||
|             VALUE "FileVersion", "1.3.3.246" |             VALUE "FileVersion", "1.3.3.247" | ||||||
|             VALUE "InternalName", "Rufus" |             VALUE "InternalName", "Rufus" | ||||||
|             VALUE "LegalCopyright", "(c) 2011-2013 Pete Batard (GPL v3)" |             VALUE "LegalCopyright", "(c) 2011-2013 Pete Batard (GPL v3)" | ||||||
|             VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html" |             VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html" | ||||||
|             VALUE "OriginalFilename", "rufus.exe" |             VALUE "OriginalFilename", "rufus.exe" | ||||||
|             VALUE "ProductName", "Rufus" |             VALUE "ProductName", "Rufus" | ||||||
|             VALUE "ProductVersion", "1.3.3.246" |             VALUE "ProductVersion", "1.3.3.247" | ||||||
|         END |         END | ||||||
|     END |     END | ||||||
|     BLOCK "VarFileInfo" |     BLOCK "VarFileInfo" | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue