Bugfix for time/offset in flac plugin
Previous cast to float didn't have any effect because one value is uint and the other is a floating type but the number itself is even.. This caused some tracks to end before they were really at an end.
This commit is contained in:
		| @@ -501,8 +501,8 @@ flac_container_decode(struct decoder* decoder, | ||||
| 				&& (tnum <= cs->data.cue_sheet.num_tracks - 1)) | ||||
| 		{ | ||||
| 			t_start = cs->data.cue_sheet.tracks[tnum - 1].offset; | ||||
| 			t_end = cs->data.cue_sheet.tracks[tnum].offset - 1; | ||||
| 			track_time = cs->data.cue_sheet.tracks[tnum].offset - 1 | ||||
| 			t_end = cs->data.cue_sheet.tracks[tnum].offset; | ||||
| 			track_time = cs->data.cue_sheet.tracks[tnum].offset | ||||
| 				- cs->data.cue_sheet.tracks[tnum - 1].offset; | ||||
| 		} | ||||
|  | ||||
| @@ -575,7 +575,7 @@ flac_container_decode(struct decoder* decoder, | ||||
| 	} | ||||
|  | ||||
| 	// set track time (order is important: after stream init) | ||||
| 	data.total_time = (float)(track_time / data.audio_format.sample_rate); | ||||
| 	data.total_time = ((float)track_time / (float)data.audio_format.sample_rate); | ||||
| 	data.position = 0; | ||||
|  | ||||
| 	decoder_initialized(decoder, &data.audio_format, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Jochen Keil
					Jochen Keil