OS/2, eCS & ArcaOS - Technical > Multimedia

MMIO high storage utilization !

(1/3) > >>

Remy:
Hi,

I just saw something strange.
Playing an audio file directly under WPS uses nearly 30Mb of private low storage.
Playing the same audio file using PM123, no reduced free storage

In my case, the audio file is a FLAC file with include albumart + EA's album art icon

To get back the storage, I do WPS restart.

Did any see this symptom ?

Remy:
I did more tests.
In fact, there is a problem with flac mmio ! only playing this type of codec makes WPS use 33Mb shared low storage.
flac is today the best option between lower files size without losing quality.

Is there someone which could have a look on this MMIO issue ? 

Lars:
It all depends on how the IOProc is written.
You can load the whole FLAC file and convert into a WAV file and hold the result in memory. That makes it easy to implement seeks,reads and writes on the converted file (which is necessary as the MMOS2 can really only play/record WAV files). But it comes at a high cost in memory as WAV needs a lot of memory.
The alternative is to work blockwise, if the source format (FLAC in this case) is organized in this way because then, only a block of input data has to be converted but not the whole file. This is more memory friendly but also more difficult to implement (think about a seek half way into the WAV converted file: what would that location match in the FLAC source file?)
I suspect that the FLAC IOProc makes use of a library that is meant to convert a complete FLAC file into a WAV file and therefore that would match the first approach.

Remy:

--- Quote from: Lars on January 06, 2024, 01:15:33 am ---It all depends on how the IOProc is written.
You can load the whole FLAC file and convert into a WAV file and hold the result in memory. That makes it easy to implement seeks,reads and writes on the converted file (which is necessary as the MMOS2 can really only play/record WAV files). But it comes at a high cost in memory as WAV needs a lot of memory.
The alternative is to work blockwise, if the source format (FLAC in this case) is organized in this way because then, only a block of input data has to be converted but not the whole file. This is more memory friendly but also more difficult to implement (think about a seek half way into the WAV converted file: what would that location match in the FLAC source file?)
I suspect that the FLAC IOProc makes use of a library that is meant to convert a complete FLAC file into a WAV file and therefore that would match the first approach.

--- End quote ---

Storage should be released at stop play than but I suppose this is an old WPS issue... (due WPS restart releases the storage)
I plaied wav too but I didn't notice any abnormal storage use compared to flac. Next, I created a M3U list of flac and start playing this list from WPS. No extra storage used by this way !

Martin Iturbide:
Hello

Are you talking about mmioFLAC that cames in MMAudioPack?
- https://github.com/OS2World/MM-SOUND-MMAudioPack

Regards

Navigation

[0] Message Index

[#] Next page

Go to full version