Skip to content

Commit

Permalink
Merge pull request TheWidlarzGroup#1360 from nickgzzjr/master
Browse files Browse the repository at this point in the history
Only apply filter if filter is set

(rebased from commit e5bada9)
  • Loading branch information
cobarx authored and Beau Ner committed Oct 10, 2019
1 parent 7fe2b1f commit 0803f91
Showing 1 changed file with 20 additions and 30 deletions.
50 changes: 20 additions & 30 deletions ios/Video/RCTVideo.m
Original file line number Diff line number Diff line change
Expand Up @@ -1718,39 +1718,29 @@ - (void)videoPlayerViewControllerDidDismiss:(AVPlayerViewController *)playerView
}

- (void)setFilter:(NSString *)filterName {

_filterName = filterName;

AVAsset *asset = _playerItem.asset;

if (asset != nil) {

CIFilter *filter = [CIFilter filterWithName:filterName];

_playerItem.videoComposition = [AVVideoComposition
videoCompositionWithAsset:asset
applyingCIFiltersWithHandler:^(AVAsynchronousCIImageFilteringRequest *_Nonnull request) {

if (filter == nil) {

[request finishWithImage:request.sourceImage context:nil];

} else {

CIImage *image = request.sourceImage.imageByClampingToExtent;

[filter setValue:image forKey:kCIInputImageKey];

CIImage *output = [filter.outputImage imageByCroppingToRect:request.sourceImage.extent];

[request finishWithImage:output context:nil];

}

}];


if (!asset) {
return;
} else if (!_playerItem.videoComposition && (filterName == nil || [filterName isEqualToString:@""])) {
return; // Setting up an empty filter has a cost so avoid whenever possible
}

// TODO: filters don't work for HLS, check & return

CIFilter *filter = [CIFilter filterWithName:filterName];
_playerItem.videoComposition = [AVVideoComposition
videoCompositionWithAsset:asset
applyingCIFiltersWithHandler:^(AVAsynchronousCIImageFilteringRequest *_Nonnull request) {
if (filter == nil) {
[request finishWithImage:request.sourceImage context:nil];
} else {
CIImage *image = request.sourceImage.imageByClampingToExtent;
[filter setValue:image forKey:kCIInputImageKey];
CIImage *output = [filter.outputImage imageByCroppingToRect:request.sourceImage.extent];
[request finishWithImage:output context:nil];
}
}];
}

#pragma mark - React View Management
Expand Down

0 comments on commit 0803f91

Please sign in to comment.