diff -uNr a/metadata.c b/metadata.c --- a/metadata.c +++ b/metadata.c @@ -330,6 +330,11 @@ strcpy(type, "flc"); m.mime = strdup("audio/x-flac"); } + else if( ends_with(path, ".ape") ) + { + strcpy(type, "ape"); + m.mime = strdup("audio/x-ape"); + } else if( ends_with(path, ".wav") ) { strcpy(type, "wav"); diff -uNr a/upnpglobalvars.h b/upnpglobalvars.h --- a/upnpglobalvars.h +++ b/upnpglobalvars.h @@ -165,6 +165,7 @@ "http-get:*:audio/mp4:*," \ "http-get:*:audio/x-wav:*," \ "http-get:*:audio/x-flac:*," \ + "http-get:*:audio/x-ape:*," \ "http-get:*:application/ogg:*" #define DLNA_FLAG_DLNA_V1_5 0x00100000 diff -uNr a/utils.c b/utils.c --- a/utils.c +++ b/utils.c @@ -339,6 +339,8 @@ return "flac"; else if( strcmp(mime+6, "flac") == 0 ) return "flac"; + else if( strcmp(mime+6, "ape") == 0 ) + return "ape"; else if( strcmp(mime+6, "x-wav") == 0 ) return "wav"; else if( strncmp(mime+6, "L16", 3) == 0 ) @@ -410,7 +412,7 @@ { return (ends_with(file, ".mp3") || ends_with(file, ".flac") || ends_with(file, ".wma") || ends_with(file, ".asf") || - ends_with(file, ".fla") || ends_with(file, ".flc") || + ends_with(file, ".fla") || ends_with(file, ".flc") || ends_with(file, ".ape") || ends_with(file, ".m4a") || ends_with(file, ".aac") || ends_with(file, ".mp4") || ends_with(file, ".m4p") || ends_with(file, ".wav") || ends_with(file, ".ogg") ||