I'm using the Geraint Davies' MP4Demux to stream some previously encoded mp4 files.
In a past investigation I found that the MP4Demux allocates the memory for all the atoms on loading. For smaller files this works ok, but using a larger mp4 file (about 1.2GB) I get an out of memory error on IMediaControl::Run.
One option would be to rewrite/edit the mp4 demux to have a pool/circular buffer of memory and to only read the frames as they are needed/requested, but I'm wondering if there is a simpler solution e.g. like somehow increasing the memory that the DirectShow application can use (it is a 32-bit console application though).