dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Rockbox mail archive

Subject: Information about move to next folder problem

Information about move to next folder problem

From: Richard James, Jr <>
Date: Wed, 14 Sep 2005 21:52:03 -0500

Hi all,

I've looked through the old archives for this mailing list and not been able
to find any discussions on the move to next folder problem in the most
recent builds of rockbox, although I know people are aware of the problem.
I wanted to state some of the things I've found about it in the hope it
provides enough clues that it could be resolved.

The problem (as of version 050913-1622) is that when configured to move to
next folder, when the last song in a folder finishes playing, rockbox
splashes the 'Codec failure' message and stops playing. This happens when
playing ogg vorbis files. It does not happen when playing mp3 files (mp3's
work as expected and play the first song in the next folder).

I've discovered a couple of interesting things though. First, when the last
song in the current folder is playing, I can click RIGHT (joystick on my
H120) and it does correctly go to the first song in the next folder. So
manually advancing to a song in the "next folder" works.

Second, while letting the last song in the current folder play to its end, I
navigated to the Info/Debug/View audio thread display and watched the meters
while that last song played. Surprisingly, at the end of the song, it
correctly played the first song in the next folder! So, here I let rockbox
detect the end of the folder and automatically advance to the next song and
it works, provided I am viewing that debug screen. But, if I am sitting on
the normal WPS, it fails to advance to the next folder.

I've been trying to resolve this problem myself, but I have a great deal
still to learn about rockbox code. One thing I found was that in
playback.c, in codec_request_next_callback, in the block of code after the
comment /* Codec requested track change (next track) */, at the end of that
code block is this if statement:

if (tracks[track_ridx].filesize == 0) {
   ci.stop_codec = true;
   new_track = 0;
   last_index = -1;
   queue_post(&audio_queue, AUDIO_PLAY, 0);
   return false;

When I test the move to next folder functionality using mp3 files, that if
statement tests true (filesize == 0). But, when I test with ogg vorbis,
the if statement tests false (filesize != 0).

Hopefully, this information is helpful. I'm new to the mailing list and I'm
sorry if I am rehashing stuff you already knew.


Received on 2005-09-15

Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy