diff --git a/Video.js b/Video.js index fbfb431c..b7866f9d 100644 --- a/Video.js +++ b/Video.js @@ -153,7 +153,7 @@ export default class Video extends Component { const resizeMode = this.props.resizeMode; const source = resolveAssetSource(this.props.source) || {}; - let uri = source.uri; + let uri = source.uri || ''; if (uri && uri.match(/^\//)) { uri = `file://${uri}`; } @@ -180,7 +180,7 @@ export default class Video extends Component { uri, isNetwork, isAsset, - type: source.type, + type: source.type || '', mainVer: source.mainVer || 0, patchVer: source.patchVer || 0, }, diff --git a/ios/RCTVideo.m b/ios/RCTVideo.m index 1b73621e..0d175723 100644 --- a/ios/RCTVideo.m +++ b/ios/RCTVideo.m @@ -277,15 +277,16 @@ static NSString *const playbackRate = @"rate"; dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ //Perform on next run loop, otherwise onVideoLoadStart is nil - if(self.onVideoLoadStart) { - self.onVideoLoadStart(@{@"src": @{ - @"uri": [source objectForKey:@"uri"], - @"type": [source objectForKey:@"type"], - @"isNetwork": [NSNumber numberWithBool:(bool)[source objectForKey:@"isNetwork"]]}, - @"target": self.reactTag - }); - } - + if(self.onVideoLoadStart) { + id uri = [source objectForKey:@"uri"]; + id type = [source objectForKey:@"type"]; + self.onVideoLoadStart(@{@"src": @{ + @"uri": uri ? uri : [NSNull null], + @"type": type ? type : [NSNull null], + @"isNetwork": [NSNumber numberWithBool:(bool)[source objectForKey:@"isNetwork"]]}, + @"target": self.reactTag + }); + } }); }