Skip to content

Commit

Permalink
Merge branch 'release/0.2.1'
Browse files Browse the repository at this point in the history
  • Loading branch information
chaimPaneth committed Oct 12, 2021
2 parents b553e2e + 2ab4e33 commit f3f07f9
Show file tree
Hide file tree
Showing 3 changed files with 93 additions and 25 deletions.
2 changes: 1 addition & 1 deletion ios/RNJWPlayer.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Pod::Spec.new do |s|
s.platform = :ios, "10.0"
s.source = { :git => "https://github.com/chaimPaneth/react-native-jw-media-player.git", :tag => "v#{s.version}" }
s.source_files = "RNJWPlayer/*.{h,m}"
s.dependency 'JWPlayerKit', '~> 4.0.0'
s.dependency 'JWPlayerKit', '~> 4.0.1'
s.dependency 'google-cast-sdk', '~> 4.5.1'
s.dependency 'React'
# s.static_framework = true
Expand Down
114 changes: 91 additions & 23 deletions ios/RNJWPlayer/RNJWPlayerView.m
Original file line number Diff line number Diff line change
Expand Up @@ -747,7 +747,7 @@ -(void)presentPlayerViewController:(JWPlayerConfiguration*)configuration

_playerViewController.playerView.delegate = self;
_playerViewController.player.delegate = self;
// _playerViewController.player.playbackStateDelegate = self; // this causes issue with ui
_playerViewController.player.playbackStateDelegate = self;
_playerViewController.player.adDelegate = self;
_playerViewController.player.avDelegate = self;
}
Expand Down Expand Up @@ -974,34 +974,54 @@ - (void)pictureInPictureController:(AVPictureInPictureController *)pictureInPict

- (void)jwplayerContentIsBuffering:(id<JWPlayer>)player
{
if (_playerViewController) {
[_playerViewController jwplayerContentIsBuffering:player];
}

if (self.onBuffer) {
self.onBuffer(@{});
}
}

- (void)jwplayer:(id<JWPlayer>)player updatedBuffer:(double)percent position:(JWTimeData *)time
{
if (_playerViewController) {
[_playerViewController jwplayer:player updatedBuffer:percent position:time];
}

if (self.onUpdateBuffer) {
self.onUpdateBuffer(@{@"percent": @(percent), @"position": time});
}
}

- (void)jwplayer:(id<JWPlayer>)player didFinishLoadingWithTime:(NSTimeInterval)loadTime
{
if (_playerViewController) {
[_playerViewController jwplayer:player didFinishLoadingWithTime:loadTime];
}

if (self.onLoaded) {
self.onLoaded(@{});
}
}

- (void)jwplayer:(id<JWPlayer>)player isAttemptingToPlay:(JWPlayerItem *)playlistItem reason:(enum JWPlayReason)reason
{
if (_playerViewController) {
[_playerViewController jwplayer:player isAttemptingToPlay:playlistItem reason:reason];
}

if (self.onAttemptPlay) {
self.onAttemptPlay(@{});
}
}

- (void)jwplayer:(id<JWPlayer>)player isPlayingWithReason:(enum JWPlayReason)reason
{
if (_playerViewController) {
[_playerViewController jwplayer:player isPlayingWithReason:reason];
}

if (self.onPlay) {
self.onPlay(@{});
}
Expand All @@ -1012,13 +1032,21 @@ - (void)jwplayer:(id<JWPlayer>)player isPlayingWithReason:(enum JWPlayReason)rea

- (void)jwplayer:(id<JWPlayer>)player willPlayWithReason:(enum JWPlayReason)reason
{
if (_playerViewController) {
[_playerViewController jwplayer:player willPlayWithReason:reason];
}

if (self.onBeforePlay) {
self.onBeforePlay(@{});
}
}

- (void)jwplayer:(id<JWPlayer>)player didPauseWithReason:(enum JWPauseReason)reason
{
if (_playerViewController) {
[_playerViewController jwplayer:player didPauseWithReason:reason];
}

if (self.onPause) {
self.onPause(@{});
}
Expand All @@ -1030,47 +1058,67 @@ - (void)jwplayer:(id<JWPlayer>)player didPauseWithReason:(enum JWPauseReason)rea

- (void)jwplayer:(id<JWPlayer>)player didBecomeIdleWithReason:(enum JWIdleReason)reason
{
if (_playerViewController) {
[_playerViewController jwplayer:player didBecomeIdleWithReason:reason];
}

if (self.onIdle) {
self.onIdle(@{});
}
}

- (void)jwplayer:(id<JWPlayer>)player isVisible:(BOOL)isVisible
{
if (_playerViewController) {
[_playerViewController jwplayer:player isVisible:isVisible];
}

if (self.onVisible) {
self.onVisible(@{@"visible": @(isVisible)});
}
}

- (void)jwplayerContentWillComplete:(id<JWPlayer>)player
{
if (_playerViewController) {
[_playerViewController jwplayerContentWillComplete:player];
}

if (self.onBeforeComplete) {
self.onBeforeComplete(@{});
}
}

- (void)jwplayerContentDidComplete:(id<JWPlayer>)player
{
if (_playerViewController) {
[_playerViewController jwplayerContentDidComplete:player];
}

if (self.onComplete) {
self.onComplete(@{});
}
}

- (void)jwplayer:(id<JWPlayer>)player didLoadPlaylistItem:(JWPlayerItem *)item at:(NSUInteger)index
{
if (_playerViewController) {
[_playerViewController jwplayer:player didLoadPlaylistItem:item at:index];
}

if (self.onPlaylistItem) {
NSDictionary* itemDict = [NSDictionary dictionaryWithObjectsAndKeys:
item.mediaId, @"mediaId",
item.posterImage, @"image",
item.title, @"title",
item.description, @"desc",
item.vmapURL, @"adVmap",
item.recommendations, @"recommendations",
item.startTime, @"startTime",
item.autostart, @"autostart",
item.videoSources, @"sources",
item.adSchedule, @"adSchedule",
item.mediaTracks, @"tracks",
// item.posterImage, @"image",
// item.title, @"title",
// item.description, @"desc",
// item.vmapURL, @"adVmap",
// item.recommendations, @"recommendations",
// item.startTime, @"startTime",
// item.autostart, @"autostart",
// item.videoSources, @"sources",
// item.adSchedule, @"adSchedule",
// item.mediaTracks, @"tracks",
nil];

NSError *error;
Expand All @@ -1082,22 +1130,26 @@ - (void)jwplayer:(id<JWPlayer>)player didLoadPlaylistItem:(JWPlayerItem *)item a

- (void)jwplayer:(id<JWPlayer>)player didLoadPlaylist:(NSArray<JWPlayerItem *> *)playlist
{
if (_playerViewController) {
[_playerViewController jwplayer:player didLoadPlaylist:playlist];
}

if (self.onPlaylist) {
NSMutableArray* playlistArray = [[NSMutableArray alloc] init];

for (JWPlayerItem* item in playlist) {
NSDictionary* itemDict = [NSDictionary dictionaryWithObjectsAndKeys:
item.mediaId, @"mediaId",
item.posterImage, @"image",
item.title, @"title",
item.description, @"desc",
item.vmapURL, @"adVmap",
item.recommendations, @"recommendations",
item.startTime, @"startTime",
item.autostart, @"autostart",
item.videoSources, @"sources",
item.adSchedule, @"adSchedule",
item.mediaTracks, @"tracks",
// item.posterImage, @"image",
// item.title, @"title",
// item.description, @"desc",
// item.vmapURL, @"adVmap",
// item.recommendations, @"recommendations",
// item.startTime, @"startTime",
// item.autostart, @"autostart",
// item.videoSources, @"sources",
// item.adSchedule, @"adSchedule",
// item.mediaTracks, @"tracks",
nil];
[playlistArray addObject:itemDict];
}
Expand All @@ -1111,33 +1163,49 @@ - (void)jwplayer:(id<JWPlayer>)player didLoadPlaylist:(NSArray<JWPlayerItem *> *

- (void)jwplayerPlaylistHasCompleted:(id<JWPlayer>)player
{
if (_playerViewController) {
[_playerViewController jwplayerPlaylistHasCompleted:player];
}

if (self.onPlaylistComplete) {
self.onPlaylistComplete(@{});
}
}

- (void)jwplayer:(id<JWPlayer>)player usesMediaType:(enum JWMediaType)type
{

if (_playerViewController) {
[_playerViewController jwplayer:player usesMediaType:type];
}
}

- (void)jwplayer:(id<JWPlayer>)player seekedFrom:(NSTimeInterval)oldPosition to:(NSTimeInterval)newPosition
{
if (_playerViewController) {
[_playerViewController jwplayer:player seekedFrom:oldPosition to:newPosition];
}

if (self.onSeek) {
self.onSeek(@{@"from": @(oldPosition), @"to": @(newPosition)});
}
}

- (void)jwplayerHasSeeked:(id<JWPlayer>)player
{
if (_playerViewController) {
[_playerViewController jwplayerHasSeeked:player];
}

if (self.onSeeked) {
self.onSeeked(@{});
}
}

- (void)jwplayer:(id<JWPlayer>)player playbackRateChangedTo:(double)rate at:(NSTimeInterval)time
{

if (_playerViewController) {
[_playerViewController jwplayer:player playbackRateChangedTo:rate at:time];
}
}

#pragma mark - JWPlayer Ad Delegate
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "react-native-jw-media-player",
"version": "0.2.0-beta.2",
"version": "0.2.1",
"description": "React-native Android/iOS plugin for JWPlayer SDK (https://www.jwplayer.com/)",
"main": "index.js",
"types": "./index.d.ts",
Expand Down

0 comments on commit f3f07f9

Please sign in to comment.