Don't load metadata for stream URLs
parent
ac44ae12be
commit
483b8d6647
|
@ -170,7 +170,13 @@ NSDictionary * makeRGInfo(PlaylistEntry *pe)
|
|||
|
||||
if (pe == nil)
|
||||
return;
|
||||
|
||||
|
||||
BOOL loadData = YES;
|
||||
NSString * urlScheme = [[pe URL] scheme];
|
||||
if ([urlScheme isEqualToString:@"http"] ||
|
||||
[urlScheme isEqualToString:@"https"])
|
||||
loadData = NO;
|
||||
|
||||
#if 0
|
||||
// Race here, but the worst that could happen is we re-read the data
|
||||
if ([pe metadataLoaded] != YES) {
|
||||
|
@ -184,7 +190,7 @@ NSDictionary * makeRGInfo(PlaylistEntry *pe)
|
|||
}
|
||||
#else
|
||||
// Let's do it this way instead
|
||||
if ([pe metadataLoaded] != YES) {
|
||||
if ([pe metadataLoaded] != YES && loadData == YES) {
|
||||
NSArray *entries = [NSArray arrayWithObject:pe];
|
||||
[playlistLoader performSelectorInBackground:@selector(loadInfoForEntries:) withObject:entries];
|
||||
}
|
||||
|
|
|
@ -287,6 +287,11 @@ static PluginController *sharedPluginController = nil;
|
|||
|
||||
- (NSDictionary *)metadataForURL:(NSURL *)url
|
||||
{
|
||||
NSString * urlScheme = [url scheme];
|
||||
if ([urlScheme isEqualToString:@"http"] ||
|
||||
[urlScheme isEqualToString:@"https"])
|
||||
return nil;
|
||||
|
||||
NSString *ext = [url pathExtension];
|
||||
NSArray *readers = [metadataReaders objectForKey:[ext lowercaseString]];
|
||||
NSString *classString;
|
||||
|
@ -311,6 +316,11 @@ static PluginController *sharedPluginController = nil;
|
|||
//If no properties reader is defined, use the decoder's properties.
|
||||
- (NSDictionary *)propertiesForURL:(NSURL *)url
|
||||
{
|
||||
NSString * urlScheme = [url scheme];
|
||||
if ([urlScheme isEqualToString:@"http"] ||
|
||||
[urlScheme isEqualToString:@"https"])
|
||||
return nil;
|
||||
|
||||
NSDictionary *properties = nil;
|
||||
NSString *ext = [url pathExtension];
|
||||
|
||||
|
|
|
@ -111,9 +111,9 @@
|
|||
dataTask:(NSURLSessionDataTask *)dataTask
|
||||
didReceiveResponse:(NSURLResponse *)response
|
||||
completionHandler:(void (^)(NSURLSessionResponseDisposition disposition))completionHandler {
|
||||
if ([response isKindOfClass:[NSHTTPURLResponse class]]) {
|
||||
NSInteger statusCode = [(NSHTTPURLResponse *)response statusCode];
|
||||
if (statusCode != 200) {
|
||||
NSInteger statusCode = [(NSHTTPURLResponse *)response statusCode];
|
||||
if (statusCode != 200) { if ([response isKindOfClass:[NSHTTPURLResponse class]]) {
|
||||
|
||||
completionHandler(NSURLSessionResponseCancel);
|
||||
@synchronized (task) {
|
||||
task = nil;
|
||||
|
|
Loading…
Reference in New Issue