summaryrefslogtreecommitdiff
path: root/apps/playback.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/playback.c')
-rw-r--r--apps/playback.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/apps/playback.c b/apps/playback.c
index 8d5ba3c830..739496ec73 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -831,11 +831,13 @@ bool audio_load_track(int offset, bool start_play, int peek_offset)
831 tracks[track_widx].id3.bitrate=(buf[48]|(buf[49]<<8)|(buf[50]<<16)|(buf[51]<<24))/1000; 831 tracks[track_widx].id3.bitrate=(buf[48]|(buf[49]<<8)|(buf[50]<<16)|(buf[51]<<24))/1000;
832 tracks[track_widx].id3.vbr=true; 832 tracks[track_widx].id3.vbr=true;
833 833
834 /* I don't yet know how to calculate the totalsamples */ 834 if (tracks[track_widx].id3.bitrate!=0) {
835 totalsamples=0; 835 /* A _really_ stupid and inaccurate calculation, but the best
836 836 I can do at the moment. */
837 /* Calculate the length in ms */ 837 tracks[track_widx].id3.length=(tracks[track_widx].filesize)/(tracks[track_widx].id3.bitrate/8);
838 tracks[track_widx].id3.length=(totalsamples/tracks[track_widx].id3.frequency)*1000; 838 } else {
839 tracks[track_widx].id3.length=0;
840 }
839 841
840 lseek(fd, 0, SEEK_SET); 842 lseek(fd, 0, SEEK_SET);
841 strncpy(tracks[track_widx].id3.path,trackname,sizeof(tracks[track_widx].id3.path)); 843 strncpy(tracks[track_widx].id3.path,trackname,sizeof(tracks[track_widx].id3.path));