diff --git a/src/common/cd_image.cpp b/src/common/cd_image.cpp index 39fa1cd4a..4724784c0 100644 --- a/src/common/cd_image.cpp +++ b/src/common/cd_image.cpp @@ -155,7 +155,7 @@ const CDImage::Index* CDImage::GetIndexForDiscPosition(LBA pos) continue; const LBA index_offset = pos - index.start_lba_on_disc; - if (pos >= index.length) + if (index_offset >= index.length) continue; return &index; diff --git a/src/common/cd_image_cuesheet.cpp b/src/common/cd_image_cuesheet.cpp index 342dd565b..836ea6ca3 100644 --- a/src/common/cd_image_cuesheet.cpp +++ b/src/common/cd_image_cuesheet.cpp @@ -105,9 +105,9 @@ bool CDImageCueSheet::OpenAndParse(const char* filename) track_length = file_size - track_start; } - // two seconds pregap is assumed if not specified + // two seconds pregap for track 1 is assumed if not specified long pregap_frames = track_get_zero_pre(track); - if (pregap_frames < 0) + if (pregap_frames < 0 && track_num == 1) pregap_frames = 2 * FRAMES_PER_SECOND; // create the index for the pregap