From 70b01a7cf1570177373637cd03242a40f85bef2e Mon Sep 17 00:00:00 2001 From: Christopher Snowhill Date: Fri, 1 Jul 2022 13:38:49 -0700 Subject: [PATCH] [Plugin Controller] Add Cue sheet safety check If somehow a plugin doesn't load, skip cuesheet should skip it anyway, as we don't want any recursive loops. Signed-off-by: Christopher Snowhill --- Audio/PluginController.mm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Audio/PluginController.mm b/Audio/PluginController.mm index ab739d077..99909f078 100644 --- a/Audio/PluginController.mm +++ b/Audio/PluginController.mm @@ -630,6 +630,10 @@ static NSString *xmlEscapeString(NSString * string) { } } + if(skip && [classString isEqualToString:@"CueSheetDecoder"]) { + classString = @"SilenceDecoder"; + } + Class decoder = NSClassFromString(classString); return [[decoder alloc] init]; @@ -671,6 +675,10 @@ static NSString *xmlEscapeString(NSString * string) { return nil; } + if(skip && [classString isEqualToString:@"CueSheetMetadataReader"]) { + return nil; + } + Class metadataReader = NSClassFromString(classString); cacheData = [metadataReader metadataForURL:url];