[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