In Debug mode function mpg_seek_stream generates a runtime error.
aoffset has sometimes a negative value, for example -128. Probably this is due the fact it's a 30 seconds preview of the full song.
When I changed the mpg_seek_stream code like this I am able to play the previews. More or less "fixed my problem"
function mpg_seek_stream(ahandle: Pointer; aoffset: Integer): Integer;
Stream: TStream absolute ahandle;
// pipe streams are not seekable but memory and filestreams are
Result := aoffset;
if aoffset > 0 then //instead of aoffset <> 0
Result := Stream.Seek(soFromCurrent, aoffset);
Result := 0;
Maybe you have a better solution or am I doing something wrong here....
Just to let you know and keep up the good work!