Fix src type=nil NSDictionary crash (#455)
- Use NSNull object in NSDictionary when type (or URI) missing from supplied src object. - In addition, defensively supply valid strings for URI and type from JS.
This commit is contained in:
parent
2b709a5d54
commit
201335f05c
4
Video.js
4
Video.js
@ -153,7 +153,7 @@ export default class Video extends Component {
|
|||||||
const resizeMode = this.props.resizeMode;
|
const resizeMode = this.props.resizeMode;
|
||||||
const source = resolveAssetSource(this.props.source) || {};
|
const source = resolveAssetSource(this.props.source) || {};
|
||||||
|
|
||||||
let uri = source.uri;
|
let uri = source.uri || '';
|
||||||
if (uri && uri.match(/^\//)) {
|
if (uri && uri.match(/^\//)) {
|
||||||
uri = `file://${uri}`;
|
uri = `file://${uri}`;
|
||||||
}
|
}
|
||||||
@ -180,7 +180,7 @@ export default class Video extends Component {
|
|||||||
uri,
|
uri,
|
||||||
isNetwork,
|
isNetwork,
|
||||||
isAsset,
|
isAsset,
|
||||||
type: source.type,
|
type: source.type || '',
|
||||||
mainVer: source.mainVer || 0,
|
mainVer: source.mainVer || 0,
|
||||||
patchVer: source.patchVer || 0,
|
patchVer: source.patchVer || 0,
|
||||||
},
|
},
|
||||||
|
@ -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(), ^{
|
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
|
//Perform on next run loop, otherwise onVideoLoadStart is nil
|
||||||
if(self.onVideoLoadStart) {
|
if(self.onVideoLoadStart) {
|
||||||
self.onVideoLoadStart(@{@"src": @{
|
id uri = [source objectForKey:@"uri"];
|
||||||
@"uri": [source objectForKey:@"uri"],
|
id type = [source objectForKey:@"type"];
|
||||||
@"type": [source objectForKey:@"type"],
|
self.onVideoLoadStart(@{@"src": @{
|
||||||
@"isNetwork": [NSNumber numberWithBool:(bool)[source objectForKey:@"isNetwork"]]},
|
@"uri": uri ? uri : [NSNull null],
|
||||||
@"target": self.reactTag
|
@"type": type ? type : [NSNull null],
|
||||||
});
|
@"isNetwork": [NSNumber numberWithBool:(bool)[source objectForKey:@"isNetwork"]]},
|
||||||
}
|
@"target": self.reactTag
|
||||||
|
});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user