Fix GME M3U playlist support.

CQTexperiment
Chris Moeller 2016-09-16 02:49:17 -07:00
parent ffc8d5b610
commit 58378d2711
3 changed files with 18 additions and 16 deletions

View File

@ -66,16 +66,17 @@
NSURL *m3uurl = [url URLByDeletingPathExtension];
m3uurl = [m3uurl URLByAppendingPathExtension:@"m3u"];
if ([source open:m3uurl])
id<CogSource> m3usrc = [audioSourceClass audioSourceForURL:m3uurl];
if ([m3usrc open:m3uurl])
{
if ([source seekable])
if ([m3usrc seekable])
{
[source seek:0 whence:SEEK_END];
size = [source tell];
[source seek:0 whence:SEEK_SET];
[m3usrc seek:0 whence:SEEK_END];
size = [m3usrc tell];
[m3usrc seek:0 whence:SEEK_SET];
data = malloc(size);
[source read:data amount:size];
[m3usrc read:data amount:size];
error = gme_load_m3u_data(emu, data, size);
free(data);

View File

@ -86,12 +86,12 @@ gme_err_t readCallback( void* data, void* out, long count )
{
if ([m3usrc seekable])
{
[source seek:0 whence:SEEK_END];
long size = [source tell];
[source seek:0 whence:SEEK_SET];
[m3usrc seek:0 whence:SEEK_END];
long size = [m3usrc tell];
[m3usrc seek:0 whence:SEEK_SET];
void *data = malloc(size);
[source read:data amount:size];
[m3usrc read:data amount:size];
gme_load_m3u_data(emu, data, size);
free(data);

View File

@ -73,16 +73,17 @@
NSURL *m3uurl = [url URLByDeletingPathExtension];
m3uurl = [m3uurl URLByAppendingPathExtension:@"m3u"];
if ([source open:m3uurl])
id<CogSource> m3usrc = [audioSourceClass audioSourceForURL:m3uurl];
if ([m3usrc open:m3uurl])
{
if ([source seekable])
if ([m3usrc seekable])
{
[source seek:0 whence:SEEK_END];
long size = [source tell];
[source seek:0 whence:SEEK_SET];
[m3usrc seek:0 whence:SEEK_END];
long size = [m3usrc tell];
[m3usrc seek:0 whence:SEEK_SET];
void *data = malloc(size);
[source read:data amount:size];
[m3usrc read:data amount:size];
gme_load_m3u_data(emu, data, size);
free(data);