summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2002-12-05 15:23:46 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2002-12-05 15:23:46 +0000
commitce882bba240169c4979abd3692c4737a970b48e5 (patch)
tree6e528bbbbf2116d787876b2310863b5f2449ae86
parenta5587d02988b5da15ad0ff8e788b27125501b53b (diff)
downloadrockbox-ce882bba240169c4979abd3692c4737a970b48e5.zip
rockbox-ce882bba240169c4979abd3692c4737a970b48e5.tar.gz
rockbox-ce882bba240169c4979abd3692c4737a970b48e5.tar.bz2
rockbox-ce882bba240169c4979abd3692c4737a970b48e5.tar.xz
Better update of the watermark when changing tracks
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2951 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/mpeg.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/firmware/mpeg.c b/firmware/mpeg.c
index c95a8c3..c7148ca 100644
--- a/firmware/mpeg.c
+++ b/firmware/mpeg.c
@@ -884,7 +884,6 @@ void DEI3(void)
closed. */
if(mpeg_file >= 0)
{
-
/* Update the watermark debug level */
if(unplayed_space_left < lowest_watermark_level)
lowest_watermark_level = unplayed_space_left;
@@ -1037,6 +1036,15 @@ static int new_file(int steps)
SEEK_SET);
id3tags[new_tag_idx]->id3.index = steps;
id3tags[new_tag_idx]->id3.offset = 0;
+
+ if(id3tags[new_tag_idx]->id3.vbr)
+ /* Average bitrate * 1.5 */
+ recalculate_watermark(
+ (id3tags[new_tag_idx]->id3.bitrate * 3) / 2);
+ else
+ recalculate_watermark(
+ id3tags[new_tag_idx]->id3.bitrate);
+
}
}
} while ( mpeg_file < 0 );
@@ -1637,7 +1645,7 @@ static void mpeg_thread(void)
DEBUGF("R\n");
t1 = current_tick;
len = read(mpeg_file, mp3buf+mp3buf_write, amount_to_read);
-
+#if 0
if(id3tags[tag_read_idx]->id3.vbr)
/* Average bitrate * 1.5 */
recalculate_watermark(
@@ -1645,7 +1653,7 @@ static void mpeg_thread(void)
else
recalculate_watermark(
id3tags[tag_read_idx]->id3.bitrate);
-
+#endif
if(len > 0)
{
t2 = current_tick;