Loading Video.js +1 −0 Changes for Video.js: 1 added line, 0 removed lines. Original line number Diff line number Diff line Loading @@ -247,6 +247,7 @@ export default class Video extends Component { Video.propTypes = { /* Native only */ src: PropTypes.object, cache: PropTypes.bool, seek: PropTypes.number, fullscreen: PropTypes.bool, onVideoLoadStart: PropTypes.func, Loading ios/RCTVideo.m +21 −6 Changes for ios/RCTVideo.m: 21 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -266,11 +266,23 @@ static NSString *const timedMetadata = @"timedMetadata"; #pragma mark - Player and source - (void)setCache:(BOOL *)cache { // @TODO: Implement } - (void)setSrc:(NSDictionary *)source { [self removePlayerTimeObserver]; [self removePlayerItemObservers]; _playerItem = [self playerItemForSource:source]; [self playerItemForSource:source withCallback:^(AVPlayerItem * playerItem) { [self didSetPlayerItemWithSource:source playerItem:playerItem]; }]; } - (void) didSetPlayerItemWithSource:(NSDictionary *)source playerItem:(AVPlayerItem *) playerItem { _playerItem = playerItem; [self addPlayerItemObservers]; [_player pause]; Loading Loading @@ -312,7 +324,7 @@ static NSString *const timedMetadata = @"timedMetadata"; }); } - (AVPlayerItem*)playerItemForSource:(NSDictionary *)source - (void)playerItemForSource:(NSDictionary *)source withCallback:(void(^)(AVPlayerItem *))handler { bool isNetwork = [RCTConvert BOOL:[source objectForKey:@"isNetwork"]]; bool isAsset = [RCTConvert BOOL:[source objectForKey:@"isAsset"]]; Loading @@ -324,16 +336,19 @@ static NSString *const timedMetadata = @"timedMetadata"; [[NSURL alloc] initFileURLWithPath:[[NSBundle mainBundle] pathForResource:uri ofType:type]]; if (isNetwork) { // @TODO: Check if item is cached an if so use the cached asset NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]; AVURLAsset *asset = [AVURLAsset URLAssetWithURL:url options:@{AVURLAssetHTTPCookiesKey : cookies}]; return [AVPlayerItem playerItemWithAsset:asset]; handler([AVPlayerItem playerItemWithAsset:asset]); return; } else if (isAsset) { AVURLAsset *asset = [AVURLAsset URLAssetWithURL:url options:nil]; return [AVPlayerItem playerItemWithAsset:asset]; handler([AVPlayerItem playerItemWithAsset:asset]); return; } return [AVPlayerItem playerItemWithURL:url]; handler([AVPlayerItem playerItemWithURL:url]); return; } - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context Loading ios/RCTVideoManager.m +1 −0 Changes for ios/RCTVideoManager.m: 1 added line, 0 removed lines. Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ RCT_EXPORT_MODULE(); } RCT_EXPORT_VIEW_PROPERTY(src, NSDictionary); RCT_EXPORT_VIEW_PROPERTY(cache, BOOL); RCT_EXPORT_VIEW_PROPERTY(resizeMode, NSString); RCT_EXPORT_VIEW_PROPERTY(repeat, BOOL); RCT_EXPORT_VIEW_PROPERTY(paused, BOOL); Loading Loading
Video.js +1 −0 Changes for Video.js: 1 added line, 0 removed lines. Original line number Diff line number Diff line Loading @@ -247,6 +247,7 @@ export default class Video extends Component { Video.propTypes = { /* Native only */ src: PropTypes.object, cache: PropTypes.bool, seek: PropTypes.number, fullscreen: PropTypes.bool, onVideoLoadStart: PropTypes.func, Loading
ios/RCTVideo.m +21 −6 Changes for ios/RCTVideo.m: 21 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -266,11 +266,23 @@ static NSString *const timedMetadata = @"timedMetadata"; #pragma mark - Player and source - (void)setCache:(BOOL *)cache { // @TODO: Implement } - (void)setSrc:(NSDictionary *)source { [self removePlayerTimeObserver]; [self removePlayerItemObservers]; _playerItem = [self playerItemForSource:source]; [self playerItemForSource:source withCallback:^(AVPlayerItem * playerItem) { [self didSetPlayerItemWithSource:source playerItem:playerItem]; }]; } - (void) didSetPlayerItemWithSource:(NSDictionary *)source playerItem:(AVPlayerItem *) playerItem { _playerItem = playerItem; [self addPlayerItemObservers]; [_player pause]; Loading Loading @@ -312,7 +324,7 @@ static NSString *const timedMetadata = @"timedMetadata"; }); } - (AVPlayerItem*)playerItemForSource:(NSDictionary *)source - (void)playerItemForSource:(NSDictionary *)source withCallback:(void(^)(AVPlayerItem *))handler { bool isNetwork = [RCTConvert BOOL:[source objectForKey:@"isNetwork"]]; bool isAsset = [RCTConvert BOOL:[source objectForKey:@"isAsset"]]; Loading @@ -324,16 +336,19 @@ static NSString *const timedMetadata = @"timedMetadata"; [[NSURL alloc] initFileURLWithPath:[[NSBundle mainBundle] pathForResource:uri ofType:type]]; if (isNetwork) { // @TODO: Check if item is cached an if so use the cached asset NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]; AVURLAsset *asset = [AVURLAsset URLAssetWithURL:url options:@{AVURLAssetHTTPCookiesKey : cookies}]; return [AVPlayerItem playerItemWithAsset:asset]; handler([AVPlayerItem playerItemWithAsset:asset]); return; } else if (isAsset) { AVURLAsset *asset = [AVURLAsset URLAssetWithURL:url options:nil]; return [AVPlayerItem playerItemWithAsset:asset]; handler([AVPlayerItem playerItemWithAsset:asset]); return; } return [AVPlayerItem playerItemWithURL:url]; handler([AVPlayerItem playerItemWithURL:url]); return; } - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context Loading
ios/RCTVideoManager.m +1 −0 Changes for ios/RCTVideoManager.m: 1 added line, 0 removed lines. Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ RCT_EXPORT_MODULE(); } RCT_EXPORT_VIEW_PROPERTY(src, NSDictionary); RCT_EXPORT_VIEW_PROPERTY(cache, BOOL); RCT_EXPORT_VIEW_PROPERTY(resizeMode, NSString); RCT_EXPORT_VIEW_PROPERTY(repeat, BOOL); RCT_EXPORT_VIEW_PROPERTY(paused, BOOL); Loading