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

Harald Kipp harald.kipp at egnite.de
Mon Jun 6 17:53:21 CEST 2005


Hello Marc,

Unfortunately you didn't mention Nut/OS version, Ethernut version
and the compiler.

Anyway, I just tried GCC and ICC with app/playmp3 for Ethernut 2.
Both work as expected.

That's what I thought first. Then I removed VsPlayerFlush() on
the third sound file...wow! Can't remember when I heard this
full part last time.

No idea right now. But reading the comment in dev\vs1001k.c,
I have the strange feeling, that during the conversation with
Pavel Chromy and me there might have been a misunderstanding
about the term 'flush'.

There had been a discussion thread some months ago, where Pavel
criticized some of my modifications. Unfortunately he didn't
find the time for looking into it further.

For now I've created bug report #1215782.

Harald

At 13:33 06.06.2005 +0200, you wrote:
>No idea? Anyone?
>
>Nobody using the MP3-Player routines?
>It may also be a more basic bug in the NutOS Buffer routines?
>
>Greetings
>/Marc
>
>M.Wetzel schrieb:
>
>>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
>>_______________________________________________
>>En-Nut-Discussion mailing list
>>En-Nut-Discussion at egnite.de
>>http://www.egnite.de/mailman/listinfo.cgi/en-nut-discussion
>
>_______________________________________________
>En-Nut-Discussion mailing list
>En-Nut-Discussion at egnite.de
>http://www.egnite.de/mailman/listinfo.cgi/en-nut-discussion




More information about the En-Nut-Discussion mailing list