diff --git a/StreamingKit/StreamingKit/STKHTTPDataSource.m b/StreamingKit/StreamingKit/STKHTTPDataSource.m index 2c9d97b..862ab64 100644 --- a/StreamingKit/StreamingKit/STKHTTPDataSource.m +++ b/StreamingKit/StreamingKit/STKHTTPDataSource.m @@ -42,6 +42,8 @@ long long relativePosition; long long fileLength; int discontinuous; + int requestSerialNumber; + NSURL* currentUrl; STKAsyncURLProvider asyncUrlProvider; NSDictionary* httpHeaders; @@ -262,8 +264,18 @@ -(void) openForSeek:(BOOL)forSeek { + int localRequestSerialNumber; + + requestSerialNumber++; + localRequestSerialNumber = requestSerialNumber; + asyncUrlProvider(self, forSeek, ^(NSURL* url) { + if (localRequestSerialNumber != self->requestSerialNumber) + { + return; + } + self->currentUrl = url; if (url == nil)