Hi,
I have a question about mmap(),
hope someone can clarify for me.
As I know, mmap() maps the
whole file into memory, so OS can access the source file directly from
memory.
However there should
be a restriction to memory size on the embedded system.
In my test, I compile madplay
with mmap supported, and then play a mp3 file of 43MB, and it plays well.
But my question is I only get
32MB SDRAM on my development board.
It seems that the memory size
is not large enough to store all the data.
How does mmap()
work?
Besides, I want to implement
the fast forward/rewind function.
But it is a little slow to
rewind, because it needs to search the location from the first frame, if mmap()
isn't enabled.
(Maybe there are other
better methods, but I don't know...)
If mmap() works, then it should
be faster than without mmap(), shouldn't it?
Sorry for any unclear
expression.
Thanks for
help.
Regards,
Hank