[En-Nut-Discussion] Question regarding NutOS example /playmp3/ (VsPlayerFlush broken?)

M.Wetzel mwse at gmx.de
Tue May 31 23:00:11 CEST 2005


Hello Harald,

today we found a solution for a problem we had with playmp3.c
(This was not reported before)

We don't know why, but we found out that in the example (or the Vs 
drivers code)
the function VsPlayerFlush() works not just like as expected.

Problem is that only a fragment of the file is played (only the first 
1-1.5 seconds of it).

We just changed the code in PlayMp3File()'s snippet  like below (just 
commenting out the VsPlayerFlush function)
and it works as expected.


    /*
     * Flush decoder and wait until finished.
     */
    if (DEBUG) printf("[P.FLUSH]");
    //VsPlayerFlush(); // BUGBUG?? MRW
    while (VsGetStatus() == VS_STATUS_RUNNING) {
        if (DEBUG) printf("[P.WAIT]");
        NutSleep(63);
    }



Do you have a clue, what is broken here? I didnt expect that, but I must 
admit that I dont just dived into the flush function right now.

We tried this on three different boards, and always only the first 1.2 
seconds of the file were played,
so we can exclude broken hardware (I suppose)

You can check best with file (#3) as it is about 2.5 seconds long.
Just change the source, so that this file is played in a loop.

Regards,

/Marek



More information about the En-Nut-Discussion mailing list