Fix GME M3U playlist support.
parent
ffc8d5b610
commit
58378d2711
|
@ -66,16 +66,17 @@
|
||||||
|
|
||||||
NSURL *m3uurl = [url URLByDeletingPathExtension];
|
NSURL *m3uurl = [url URLByDeletingPathExtension];
|
||||||
m3uurl = [m3uurl URLByAppendingPathExtension:@"m3u"];
|
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];
|
[m3usrc seek:0 whence:SEEK_END];
|
||||||
size = [source tell];
|
size = [m3usrc tell];
|
||||||
[source seek:0 whence:SEEK_SET];
|
[m3usrc seek:0 whence:SEEK_SET];
|
||||||
|
|
||||||
data = malloc(size);
|
data = malloc(size);
|
||||||
[source read:data amount:size];
|
[m3usrc read:data amount:size];
|
||||||
|
|
||||||
error = gme_load_m3u_data(emu, data, size);
|
error = gme_load_m3u_data(emu, data, size);
|
||||||
free(data);
|
free(data);
|
||||||
|
|
|
@ -86,12 +86,12 @@ gme_err_t readCallback( void* data, void* out, long count )
|
||||||
{
|
{
|
||||||
if ([m3usrc seekable])
|
if ([m3usrc seekable])
|
||||||
{
|
{
|
||||||
[source seek:0 whence:SEEK_END];
|
[m3usrc seek:0 whence:SEEK_END];
|
||||||
long size = [source tell];
|
long size = [m3usrc tell];
|
||||||
[source seek:0 whence:SEEK_SET];
|
[m3usrc seek:0 whence:SEEK_SET];
|
||||||
|
|
||||||
void *data = malloc(size);
|
void *data = malloc(size);
|
||||||
[source read:data amount:size];
|
[m3usrc read:data amount:size];
|
||||||
|
|
||||||
gme_load_m3u_data(emu, data, size);
|
gme_load_m3u_data(emu, data, size);
|
||||||
free(data);
|
free(data);
|
||||||
|
|
|
@ -73,16 +73,17 @@
|
||||||
|
|
||||||
NSURL *m3uurl = [url URLByDeletingPathExtension];
|
NSURL *m3uurl = [url URLByDeletingPathExtension];
|
||||||
m3uurl = [m3uurl URLByAppendingPathExtension:@"m3u"];
|
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];
|
[m3usrc seek:0 whence:SEEK_END];
|
||||||
long size = [source tell];
|
long size = [m3usrc tell];
|
||||||
[source seek:0 whence:SEEK_SET];
|
[m3usrc seek:0 whence:SEEK_SET];
|
||||||
|
|
||||||
void *data = malloc(size);
|
void *data = malloc(size);
|
||||||
[source read:data amount:size];
|
[m3usrc read:data amount:size];
|
||||||
|
|
||||||
gme_load_m3u_data(emu, data, size);
|
gme_load_m3u_data(emu, data, size);
|
||||||
free(data);
|
free(data);
|
||||||
|
|
Loading…
Reference in New Issue