mirror of
https://github.com/HackPlan/AsyncDisplayKit.git
synced 2026-04-29 12:15:36 +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);
|
ASDN::MutexLocker l(_videoLock);
|
||||||
|
|
||||||
AVPlayerItem *playerItem = nil;
|
if ([_asset isKindOfClass:[AVURLAsset class]]) {
|
||||||
|
return [[AVPlayerItem alloc] initWithURL:((AVURLAsset *)_asset).URL];
|
||||||
if (_asset != nil) {
|
} else if (_asset != nil) {
|
||||||
if (_asset.tracks.count > 0) {
|
return [[AVPlayerItem alloc] initWithAsset:_asset];
|
||||||
playerItem = [[AVPlayerItem alloc] initWithAsset:_asset];
|
|
||||||
} else if ([_asset isKindOfClass:[AVURLAsset class]]) {
|
|
||||||
playerItem = [[AVPlayerItem alloc] initWithURL:((AVURLAsset *)_asset).URL];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return playerItem;
|
return nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)addPlayerItemObservers:(AVPlayerItem *)playerItem
|
- (void)addPlayerItemObservers:(AVPlayerItem *)playerItem
|
||||||
|
|||||||
Reference in New Issue
Block a user