From b700eeb32cd0a84233b7a270bdf4b04cc2d12bc5 Mon Sep 17 00:00:00 2001 From: Robin Chou Date: Sat, 30 Apr 2016 17:22:11 -0400 Subject: [PATCH] Use `ASPerformOnMainThread` helper. `-fetchData` improvements. --- AsyncDisplayKit/ASVideoNode.mm | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/AsyncDisplayKit/ASVideoNode.mm b/AsyncDisplayKit/ASVideoNode.mm index 2df9dcf025..8db2d1d13b 100644 --- a/AsyncDisplayKit/ASVideoNode.mm +++ b/AsyncDisplayKit/ASVideoNode.mm @@ -106,7 +106,7 @@ static NSString * const kStatus = @"status"; return nil; } -- (void)prepareToPlayAsset:(AVAsset *)asset withKeys:(NSArray *)requestedKeys +- (void)prepareToPlayAsset:(AVAsset *)asset withKeys:(NSArray *)requestedKeys { for (NSString *key in requestedKeys) { NSError *error = nil; @@ -122,7 +122,7 @@ static NSString * const kStatus = @"status"; } AVPlayerItem *playerItem = [self constructPlayerItem]; - self.currentItem = playerItem; + [self setCurrentItem:playerItem]; if (_player != nil) { [_player replaceCurrentItemWithPlayerItem:playerItem]; @@ -289,14 +289,13 @@ static NSString * const kStatus = @"status"; { ASDN::MutexLocker l(_videoLock); - if (_asset != nil) { - NSArray *requestedKeys = @[ @"playable" ]; - [_asset loadValuesAsynchronouslyForKeys:requestedKeys completionHandler:^{ - dispatch_async(dispatch_get_main_queue(), ^{ - [self prepareToPlayAsset:_asset withKeys:requestedKeys]; - }); - }]; - } + AVAsset *asset = self.asset; + NSArray *requestedKeys = @[ @"playable" ]; + [asset loadValuesAsynchronouslyForKeys:requestedKeys completionHandler:^{ + ASPerformBlockOnMainThread(^{ + [self prepareToPlayAsset:asset withKeys:requestedKeys]; + }); + }]; } }