diff --git a/PersistentStreamPlayer.m b/PersistentStreamPlayer.m index 2f9b1aa..3abd0db 100644 --- a/PersistentStreamPlayer.m +++ b/PersistentStreamPlayer.m @@ -211,6 +211,27 @@ - (void)connectionDidFinishLoading:(NSURLConnection *)connection } } +- (void)connection:(NSURLConnection *)connection + didFailWithError:(NSError *)error{ + + for (AVAssetResourceLoadingRequest *loadingRequest in self.pendingRequests) { + NSURLComponents * component = [[NSURLComponents alloc] initWithURL:loadingRequest.request.URL resolvingAgainstBaseURL:NO]; + component.scheme = self.originalURLScheme ?: @"http"; + + if ([component.URL.absoluteString isEqualToString: connection.currentRequest.URL.absoluteString] ) { + [loadingRequest finishLoadingWithError:error]; + [self.pendingRequests removeObject:loadingRequest]; + } + } + + if ([self.pendingRequests count] == 0) { + if ([self.delegate respondsToSelector:@selector(persistentStreamPlayerDidFailToLoadAsset:)]) { + [self.delegate persistentStreamPlayerDidFailToLoadAsset:self]; + } + } + +} + - (float)volume { return self.player.volume;