mirror of
https://github.com/HackPlan/AsyncDisplayKit.git
synced 2026-03-28 23:58:50 +08:00
Prevent UI blocking caused by accessing the AVAsset's 'tracks' property on the UI thread
This commit is contained in:
@@ -99,17 +99,13 @@ static NSString * const kStatus = @"status";
|
||||
{
|
||||
ASDN::MutexLocker l(_videoLock);
|
||||
|
||||
AVPlayerItem *playerItem = nil;
|
||||
|
||||
if (_asset != nil) {
|
||||
if (_asset.tracks.count > 0) {
|
||||
playerItem = [[AVPlayerItem alloc] initWithAsset:_asset];
|
||||
} else if ([_asset isKindOfClass:[AVURLAsset class]]) {
|
||||
playerItem = [[AVPlayerItem alloc] initWithURL:((AVURLAsset *)_asset).URL];
|
||||
}
|
||||
if ([_asset isKindOfClass:[AVURLAsset class]]) {
|
||||
return [[AVPlayerItem alloc] initWithURL:((AVURLAsset *)_asset).URL];
|
||||
} else if (_asset != nil) {
|
||||
return [[AVPlayerItem alloc] initWithAsset:_asset];
|
||||
}
|
||||
|
||||
return playerItem;
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (void)addPlayerItemObservers:(AVPlayerItem *)playerItem
|
||||
|
||||
Reference in New Issue
Block a user