@@ -1268,39 +1268,29 @@ - (void)videoPlayerViewControllerDidDismiss:(AVPlayerViewController *)playerView
1268
1268
}
1269
1269
1270
1270
- (void )setFilter : (NSString *)filterName {
1271
-
1272
1271
_filterName = filterName;
1273
-
1274
1272
AVAsset *asset = _playerItem.asset ;
1275
-
1276
- if (asset != nil ) {
1277
-
1278
- CIFilter *filter = [CIFilter filterWithName: filterName];
1279
-
1280
- _playerItem.videoComposition = [AVVideoComposition
1281
- videoCompositionWithAsset: asset
1282
- applyingCIFiltersWithHandler: ^(AVAsynchronousCIImageFilteringRequest *_Nonnull request) {
1283
-
1284
- if (filter == nil ) {
1285
-
1286
- [request finishWithImage: request.sourceImage context: nil ];
1287
-
1288
- } else {
1289
-
1290
- CIImage *image = request.sourceImage .imageByClampingToExtent ;
1291
-
1292
- [filter setValue: image forKey: kCIInputImageKey ];
1293
-
1294
- CIImage *output = [filter.outputImage imageByCroppingToRect: request.sourceImage.extent];
1295
-
1296
- [request finishWithImage: output context: nil ];
1297
-
1298
- }
1299
-
1300
- }];
1301
-
1273
+
1274
+ if (!asset) {
1275
+ return ;
1276
+ } else if (!_playerItem.videoComposition && (filterName == nil || [filterName isEqualToString: @" " ])) {
1277
+ return ; // Setting up an empty filter has a cost so avoid whenever possible
1302
1278
}
1303
-
1279
+ // TODO: filters don't work for HLS, check & return
1280
+
1281
+ CIFilter *filter = [CIFilter filterWithName: filterName];
1282
+ _playerItem.videoComposition = [AVVideoComposition
1283
+ videoCompositionWithAsset: asset
1284
+ applyingCIFiltersWithHandler: ^(AVAsynchronousCIImageFilteringRequest *_Nonnull request) {
1285
+ if (filter == nil ) {
1286
+ [request finishWithImage: request.sourceImage context: nil ];
1287
+ } else {
1288
+ CIImage *image = request.sourceImage .imageByClampingToExtent ;
1289
+ [filter setValue: image forKey: kCIInputImageKey ];
1290
+ CIImage *output = [filter.outputImage imageByCroppingToRect: request.sourceImage.extent];
1291
+ [request finishWithImage: output context: nil ];
1292
+ }
1293
+ }];
1304
1294
}
1305
1295
1306
1296
#pragma mark - React View Management
@@ -1463,4 +1453,4 @@ - (NSString *)cacheDirectoryPath {
1463
1453
return array[0 ];
1464
1454
}
1465
1455
1466
- @end
1456
+ @end
0 commit comments