react-native-theoplayer 3.8.0 → 3.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,23 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.1.0/)
6
6
  and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [3.9.1] - 24-03-05
9
+
10
+ ### Changed
11
+
12
+ - Bumped google-cast-sdk dependency to v4.8.0 for iOS.
13
+
14
+ ## [3.9.0] - 24-03-04
15
+
16
+ ### Changed
17
+
18
+ - Reduce audio volume (duck) on Android when another app gains transient audio focus and ducking is allowed. In other cases the player will pause, and optionally resume if the audio focus loss was transient.
19
+
20
+ ### Fixed
21
+
22
+ - Fixed an issue on iOS where the lockscreen controls and displayed asset metadata would remain visible after the player has been destroyed.
23
+ - Fixed an issue on iOS where the castState was not initialized correctly.
24
+
8
25
  ## [3.8.0] - 24-02-23
9
26
 
10
27
  ### Changed
@@ -107,6 +107,7 @@ dependencies {
107
107
  implementation "com.facebook.react:react-native:+" // From node_modules
108
108
  implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3"
109
109
  implementation "androidx.appcompat:appcompat:1.6.1"
110
+ implementation "androidx.core:core-ktx:1.12.0"
110
111
 
111
112
  // The minimum supported THEOplayer version is 6.0.0
112
113
  def theoplayer_sdk_version = safeExtGet('THEOplayer_sdk', '[6.0.0,7.0)')
@@ -307,12 +307,18 @@ class ReactTHEOplayerContext private constructor(
307
307
  audioBecomingNoisyManager.setEnabled(false)
308
308
  }
309
309
 
310
+ private val onEnded = EventListener<EndedEvent> {
311
+ // Playback has ended, we can abandon audio focus.
312
+ audioFocusManager?.abandonAudioFocus()
313
+ }
314
+
310
315
  private fun addListeners() {
311
316
  player.apply {
312
317
  addEventListener(PlayerEventTypes.SOURCECHANGE, onSourceChange)
313
318
  addEventListener(PlayerEventTypes.LOADEDMETADATA, onLoadedMetadata)
314
319
  addEventListener(PlayerEventTypes.PAUSE, onPause)
315
320
  addEventListener(PlayerEventTypes.PLAY, onPlay)
321
+ addEventListener(PlayerEventTypes.ENDED, onEnded)
316
322
  }
317
323
  }
318
324
 
@@ -322,6 +328,7 @@ class ReactTHEOplayerContext private constructor(
322
328
  removeEventListener(PlayerEventTypes.LOADEDMETADATA, onLoadedMetadata)
323
329
  removeEventListener(PlayerEventTypes.PAUSE, onPause)
324
330
  removeEventListener(PlayerEventTypes.PLAY, onPlay)
331
+ removeEventListener(PlayerEventTypes.ENDED, onEnded)
325
332
  }
326
333
  }
327
334
 
@@ -17,6 +17,14 @@ private const val TAG = "AudioFocusManager"
17
17
  * Manages audio focus for the application, ensuring proper handling of audio focus changes
18
18
  * to control media playback behavior.
19
19
  *
20
+ * - Android 12 (API level 31) or later: Audio focus is managed by the system.
21
+ * - Android 8.0 (API level 26) through Android 11 (API level 30): Audio focus is not managed by
22
+ * the system, but includes some changes that were introduced starting in Android 8.0
23
+ * (API level 26).
24
+ * - Android 7.1 (API level 25) and lower: Audio focus is not managed by the system.
25
+ *
26
+ * @see <a href="https://developer.android.com/media/optimize/audio-focus">documentation</a>
27
+ *
20
28
  * @param context The context used to access system services.
21
29
  * @param player The media player instance associated with this audio focus manager. It can be
22
30
  * provided optionally to control playback behavior.
@@ -29,21 +37,29 @@ class AudioFocusManager(
29
37
  private val audioManager = context.getSystemService(Context.AUDIO_SERVICE) as? AudioManager
30
38
  private val uiModeManager = context.getSystemService(Context.UI_MODE_SERVICE) as? UiModeManager
31
39
  private var resumeOnFocusGain = false
40
+ private var originalVolume: Int = -1
32
41
  private val focusLock = Any()
33
42
 
34
- private val audioFocusRequest = AudioFocusRequestCompat.Builder(AudioManagerCompat.AUDIOFOCUS_GAIN)
35
- .setAudioAttributes(
36
- AudioAttributesCompat.Builder()
37
- // Usage value to use when the usage is media, such as music, or movie soundtracks.
38
- .setUsage(AudioAttributesCompat.USAGE_MEDIA)
39
- // Content type value to use when the content type is a soundtrack, typically accompanying
40
- // a movie or TV program.
41
- .setContentType(AudioAttributesCompat.CONTENT_TYPE_MOVIE)
42
- .build()
43
- )
44
- .setOnAudioFocusChangeListener(this)
45
- .setWillPauseWhenDucked(true)
46
- .build()
43
+ // Request for audio focus of unknown duration.
44
+ private val audioFocusRequest =
45
+ AudioFocusRequestCompat.Builder(AudioManagerCompat.AUDIOFOCUS_GAIN)
46
+ .setAudioAttributes(
47
+ AudioAttributesCompat.Builder()
48
+ // Usage value to use when the usage is media, such as music, or movie soundtracks.
49
+ .setUsage(AudioAttributesCompat.USAGE_MEDIA)
50
+ // Content type value to use when the content type is a soundtrack, typically accompanying
51
+ // a movie or TV program.
52
+ .setContentType(AudioAttributesCompat.CONTENT_TYPE_MOVIE)
53
+ .build()
54
+ )
55
+ .setOnAudioFocusChangeListener(this)
56
+
57
+ // Automatic ducking was introduced in Android 8.0 (API level 26)
58
+ // The audio system ducks our player(s) while the other app has focus. When the other app abandons
59
+ // focus, it "unducks" our player. We are not notified when on focus loss.
60
+ // https://developer.android.com/media/optimize/audio-focus#automatic_ducking
61
+ .setWillPauseWhenDucked(false)
62
+ .build()
47
63
 
48
64
  /**
49
65
  * Called on the listener to notify it the audio focus for this listener has been changed.
@@ -59,6 +75,7 @@ class AudioFocusManager(
59
75
  when (focusChange) {
60
76
  // Used to indicate a gain of audio focus, or a request of audio focus, of unknown duration.
61
77
  AudioManager.AUDIOFOCUS_GAIN -> {
78
+ // Optionally resume playback
62
79
  if (resumeOnFocusGain) {
63
80
  synchronized(focusLock) {
64
81
  // Reset resume flag
@@ -66,29 +83,43 @@ class AudioFocusManager(
66
83
  }
67
84
  player?.play()
68
85
  }
86
+
87
+ // Restore the audio level
88
+ if (originalVolume != -1) {
89
+ audioManager?.setStreamVolume(AudioManager.STREAM_MUSIC, originalVolume, 0)
90
+ originalVolume = -1
91
+ }
69
92
  }
70
93
 
71
94
  // Used to indicate a loss of audio focus of unknown duration.
72
95
  AudioManager.AUDIOFOCUS_LOSS -> {
73
- synchronized (focusLock) {
74
- // This is not a transient loss, we shouldn't automatically resume for now
75
- resumeOnFocusGain = false;
96
+ synchronized(focusLock) {
97
+ // This is not a transient (short) loss, we shouldn't automatically resume for now.
98
+ resumeOnFocusGain = false
76
99
  }
100
+ player?.pause()
77
101
  }
78
102
 
79
- // Used to indicate a transient loss of audio focus.
80
- AudioManager.AUDIOFOCUS_LOSS_TRANSIENT,
81
-
82
- // Used to indicate a transient loss of audio focus where the loser of the audio focus can
83
- // lower its output volume if it wants to continue playing (also referred to as "ducking"),
84
- // as the new focus owner doesn't require others to be silent.
85
- AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK -> {
86
- synchronized (focusLock) {
103
+ // Used to indicate a transient (short) loss of audio focus.
104
+ AudioManager.AUDIOFOCUS_LOSS_TRANSIENT -> {
105
+ synchronized(focusLock) {
87
106
  // We should only resume if playback was interrupted
88
107
  resumeOnFocusGain = !(player?.isPaused ?: true)
89
108
  }
90
109
  player?.pause()
91
110
  }
111
+
112
+ // Used to indicate a transient (short) loss of audio focus where the loser of the audio focus
113
+ // can lower its output volume if it wants to continue playing (also referred to as "ducking"),
114
+ // as the new focus owner doesn't require others to be silent.
115
+ AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK -> {
116
+ synchronized(focusLock) {
117
+ audioManager?.apply {
118
+ originalVolume = getStreamVolume(AudioManager.STREAM_MUSIC)
119
+ setStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_LOWER, 0)
120
+ }
121
+ }
122
+ }
92
123
  }
93
124
  }
94
125
 
@@ -106,7 +137,7 @@ class AudioFocusManager(
106
137
  }
107
138
 
108
139
  private fun fromAudioFocusRequest(focusRequest: Int?): String {
109
- return when(focusRequest) {
140
+ return when (focusRequest) {
110
141
  AudioManager.AUDIOFOCUS_REQUEST_GRANTED -> "AUDIOFOCUS_REQUEST_GRANTED"
111
142
  AudioManager.AUDIOFOCUS_REQUEST_DELAYED -> "AUDIOFOCUS_REQUEST_DELAYED"
112
143
  else -> "AUDIOFOCUS_REQUEST_FAILED"
@@ -132,7 +163,7 @@ class AudioFocusManager(
132
163
  * Abandon audio focus. Causes the previous focus owner, if any, to receive focus.
133
164
  */
134
165
  fun abandonAudioFocus() {
135
- synchronized (focusLock) {
166
+ synchronized(focusLock) {
136
167
  resumeOnFocusGain = false
137
168
  }
138
169
  val result = audioManager?.let {
@@ -13,6 +13,7 @@ import android.support.v4.media.session.MediaSessionCompat
13
13
  import android.support.v4.media.session.PlaybackStateCompat
14
14
  import android.text.TextUtils
15
15
  import android.util.Log
16
+ import androidx.core.app.ServiceCompat
16
17
  import androidx.core.content.ContextCompat
17
18
  import androidx.media.MediaBrowserServiceCompat
18
19
  import androidx.media.session.MediaButtonReceiver
@@ -282,12 +283,7 @@ class MediaPlaybackService : MediaBrowserServiceCompat() {
282
283
  // needed. This does not stop the service from running (for that you use stopSelf()
283
284
  // or related methods), just takes it out of the foreground state.
284
285
  // Also remove the notification.
285
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
286
- stopForeground(Service.STOP_FOREGROUND_REMOVE)
287
- } else {
288
- @Suppress("DEPRECATION")
289
- stopForeground(true)
290
- }
286
+ ServiceCompat.stopForeground(this, ServiceCompat.STOP_FOREGROUND_REMOVE)
291
287
  }
292
288
  else -> {
293
289
  // Ignore
@@ -297,18 +293,13 @@ class MediaPlaybackService : MediaBrowserServiceCompat() {
297
293
 
298
294
  private fun startForegroundWithPlaybackState(@PlaybackStateCompat.State playbackState: Int, largeIcon: Bitmap? = null) {
299
295
  try {
300
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
301
- startForeground(
302
- NOTIFICATION_ID,
303
- notificationBuilder.build(playbackState, largeIcon, enableMediaControls),
296
+ ServiceCompat.startForeground(
297
+ this, NOTIFICATION_ID,
298
+ notificationBuilder.build(playbackState, largeIcon, enableMediaControls),
299
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q)
304
300
  ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK
305
- )
306
- } else {
307
- startForeground(
308
- NOTIFICATION_ID,
309
- notificationBuilder.build(playbackState, largeIcon, enableMediaControls)
310
- )
311
- }
301
+ else 0
302
+ )
312
303
  } catch (e: IllegalStateException) {
313
304
  // Make sure that app does not crash in case anything goes wrong with starting the service.
314
305
  // https://issuetracker.google.com/issues/229000935
@@ -21,6 +21,10 @@ class THEOplayerRCTNowPlayingManager {
21
21
  func destroy() {
22
22
  // dettach listeners
23
23
  self.dettachListeners()
24
+
25
+ // clear nowPlayingInfo
26
+ self.nowPlayingInfo = [:]
27
+ self.clearNowPlayingOnInfoCenter()
24
28
  }
25
29
 
26
30
  // MARK: - player setup / breakdown
@@ -476,8 +476,8 @@ class THEOplayerAdapter extends _DefaultEventDispatcher.DefaultEventDispatcher {
476
476
  this._playerVersion = version;
477
477
  if (state) {
478
478
  Object.assign(this._state, state);
479
- this._castAdapter.init_();
480
479
  }
480
+ this._castAdapter.init_();
481
481
  }
482
482
  }
483
483
  exports.THEOplayerAdapter = THEOplayerAdapter;
@@ -1 +1 @@
1
- {"version":3,"names":["_DefaultEventDispatcher","require","_reactNativeTheoplayer","_THEOplayerNativeAdsAdapter","_THEOplayerNativeCastAdapter","_AbrAdapter","_reactNative","_TextTrackStyleAdapter","_EventBroadcastAdapter","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","NativePlayerModule","NativeModules","THEORCTPlayerModule","defaultPlayerState","source","autoplay","paused","seekable","buffered","pipConfig","startsAutomatically","backgroundAudioConfig","enabled","presentationMode","PresentationMode","inline","muted","seeking","volume","currentTime","duration","NaN","playbackRate","preload","aspectRatio","AspectRatio","FIT","keepScreenOn","audioTracks","videoTracks","textTracks","targetVideoQuality","selectedVideoTrack","selectedAudioTrack","selectedTextTrack","THEOplayerAdapter","DefaultEventDispatcher","constructor","view","initialState","arguments","length","applyAutoplay","_state","event","Platform","OS","StatusBar","setHidden","fullscreen","isFinite","start","end","_event$seekable","_event$buffered","sort","a","b","subType","cue","trackUid","track","findTextTrackByUid","TextTrackEventType","ADD_CUE","addTextTrackCue","REMOVE_CUE","removeTextTrackCue","TrackListEventType","ADD_TRACK","addTrack","REMOVE_TRACK","removeTrack","CHANGE_TRACK","trackType","tracks","MediaTrackType","VIDEO","findMediaTrackByUid","MediaTrackEventType","ACTIVE_QUALITY_CHANGED","assign","activeQuality","qualities","isAudio","AUDIO","_view","_adsAdapter","THEOplayerNativeAdsAdapter","_castAdapter","THEOplayerNativeCastAdapter","_abrAdapter","AbrAdapter","_textTrackStyleAdapter","TextTrackStyleAdapter","addEventListener","PlayerEventType","SOURCE_CHANGE","onSourceChange","LOADED_METADATA","onLoadedMetadata","PAUSE","onPause","PLAYING","onPlaying","TIME_UPDATE","onTimeupdate","DURATION_CHANGE","onDurationChange","RATE_CHANGE","onRateChange","SEEKING","onSeeking","SEEKED","onSeeked","PROGRESS","onProgress","TEXT_TRACK_LIST","onTextTrackList","TEXT_TRACK","onTextTrack","MEDIA_TRACK","onMediaTrack","MEDIA_TRACK_LIST","onMediaTrackList","PRESENTATIONMODE_CHANGE","onPresentationModeChange","hasValidSource","abr","ads","play","pause","type","setPreload","nativeHandle","seekableEnd","ranges","cast","isNaN","seekTime","Infinity","setCurrentTime","pipConfiguration","setPipConfig","backgroundAudioConfiguration","setBackgroundAudioConfig","setPresentationMode","setMuted","setPlaybackRate","setSelectedAudioTrack","setSelectedVideoTrack","forEach","uid","mode","TextTrackMode","showing","disabled","setSelectedTextTrack","textTrackStyle","setSource","target","Array","isArray","targetQuality","setTargetVideoQuality","setVolume","ratio","setAspectRatio","setKeepScreenOn","setPaused","version","_playerVersion","broadcast","_externalEventRouter","EventBroadcastAdapter","initializeFromNativePlayer_","state","init_","exports"],"sources":["THEOplayerAdapter.ts"],"sourcesContent":["import { DefaultEventDispatcher } from './event/DefaultEventDispatcher';\nimport type {\n ABRConfiguration,\n AdsAPI,\n CastAPI,\n DurationChangeEvent,\n EventBroadcastAPI,\n LoadedMetadataEvent,\n MediaTrack,\n MediaTrackEvent,\n MediaTrackListEvent,\n NativeHandleType,\n PiPConfiguration,\n PlayerEventMap,\n PresentationModeChangeEvent,\n ProgressEvent,\n RateChangeEvent,\n SourceDescription,\n TextTrack,\n TextTrackEvent,\n TextTrackListEvent,\n THEOplayer,\n THEOplayerView,\n TimeUpdateEvent,\n} from 'react-native-theoplayer';\nimport {\n addTextTrackCue,\n addTrack,\n AspectRatio,\n BackgroundAudioConfiguration,\n findMediaTrackByUid,\n findTextTrackByUid,\n MediaTrackEventType,\n MediaTrackType,\n PlayerEventType,\n PlayerVersion,\n PreloadType,\n PresentationMode,\n removeTextTrackCue,\n removeTrack,\n TextTrackEventType,\n TextTrackMode,\n TextTrackStyle,\n TrackListEventType,\n} from 'react-native-theoplayer';\nimport { THEOplayerNativeAdsAdapter } from './ads/THEOplayerNativeAdsAdapter';\nimport { THEOplayerNativeCastAdapter } from './cast/THEOplayerNativeCastAdapter';\nimport { AbrAdapter } from './abr/AbrAdapter';\nimport { NativeModules, Platform, StatusBar } from 'react-native';\nimport { TextTrackStyleAdapter } from './track/TextTrackStyleAdapter';\nimport type { NativePlayerState } from './NativePlayerState';\nimport { EventBroadcastAdapter } from './broadcast/EventBroadcastAdapter';\n\nconst NativePlayerModule = NativeModules.THEORCTPlayerModule;\n\nconst defaultPlayerState: NativePlayerState = {\n source: undefined,\n autoplay: false,\n paused: false,\n seekable: [],\n buffered: [],\n pipConfig: { startsAutomatically: false },\n backgroundAudioConfig: { enabled: false },\n presentationMode: PresentationMode.inline,\n muted: false,\n seeking: false,\n volume: 1,\n currentTime: 0,\n duration: NaN,\n playbackRate: 1,\n preload: 'none',\n aspectRatio: AspectRatio.FIT,\n keepScreenOn: true,\n audioTracks: [],\n videoTracks: [],\n textTracks: [],\n targetVideoQuality: undefined,\n selectedVideoTrack: undefined,\n selectedAudioTrack: undefined,\n selectedTextTrack: undefined,\n};\n\nexport class THEOplayerAdapter extends DefaultEventDispatcher<PlayerEventMap> implements THEOplayer {\n private readonly _view: THEOplayerView;\n private readonly _state: NativePlayerState;\n private readonly _adsAdapter: THEOplayerNativeAdsAdapter;\n private readonly _castAdapter: THEOplayerNativeCastAdapter;\n private readonly _abrAdapter: AbrAdapter;\n private readonly _textTrackStyleAdapter: TextTrackStyleAdapter;\n private _externalEventRouter: EventBroadcastAPI | undefined = undefined;\n private _playerVersion!: PlayerVersion;\n\n constructor(view: THEOplayerView, initialState: NativePlayerState = defaultPlayerState) {\n super();\n this._view = view;\n this._state = { ...initialState };\n this._adsAdapter = new THEOplayerNativeAdsAdapter(this._view);\n this._castAdapter = new THEOplayerNativeCastAdapter(this, this._view);\n this._abrAdapter = new AbrAdapter(this._view);\n this._textTrackStyleAdapter = new TextTrackStyleAdapter(this._view);\n\n this.addEventListener(PlayerEventType.SOURCE_CHANGE, this.onSourceChange);\n this.addEventListener(PlayerEventType.LOADED_METADATA, this.onLoadedMetadata);\n this.addEventListener(PlayerEventType.PAUSE, this.onPause);\n this.addEventListener(PlayerEventType.PLAYING, this.onPlaying);\n this.addEventListener(PlayerEventType.TIME_UPDATE, this.onTimeupdate);\n this.addEventListener(PlayerEventType.DURATION_CHANGE, this.onDurationChange);\n this.addEventListener(PlayerEventType.RATE_CHANGE, this.onRateChange);\n this.addEventListener(PlayerEventType.SEEKING, this.onSeeking);\n this.addEventListener(PlayerEventType.SEEKED, this.onSeeked);\n this.addEventListener(PlayerEventType.PROGRESS, this.onProgress);\n this.addEventListener(PlayerEventType.TEXT_TRACK_LIST, this.onTextTrackList);\n this.addEventListener(PlayerEventType.TEXT_TRACK, this.onTextTrack);\n this.addEventListener(PlayerEventType.MEDIA_TRACK, this.onMediaTrack);\n this.addEventListener(PlayerEventType.MEDIA_TRACK_LIST, this.onMediaTrackList);\n this.addEventListener(PlayerEventType.PRESENTATIONMODE_CHANGE, this.onPresentationModeChange);\n }\n\n private onSourceChange = () => {\n this.applyAutoplay();\n };\n\n private hasValidSource(): boolean {\n return this._state.source !== undefined;\n }\n\n private onPause = () => {\n this._state.paused = true;\n };\n\n private onPlaying = () => {\n this._state.paused = false;\n };\n\n private onPresentationModeChange = (event: PresentationModeChangeEvent) => {\n this._state.presentationMode = event.presentationMode;\n if (Platform.OS === 'ios') {\n StatusBar.setHidden(event.presentationMode === PresentationMode.fullscreen, 'slide');\n }\n };\n\n private onTimeupdate = (event: TimeUpdateEvent) => {\n this._state.currentTime = event.currentTime;\n };\n\n private onLoadedMetadata = (event: LoadedMetadataEvent) => {\n this._state.duration = event.duration;\n this._state.audioTracks = event.audioTracks;\n this._state.videoTracks = event.videoTracks;\n this._state.textTracks = event.textTracks;\n this._state.selectedAudioTrack = event.selectedAudioTrack;\n this._state.selectedVideoTrack = event.selectedVideoTrack;\n this._state.selectedTextTrack = event.selectedTextTrack;\n if (isFinite(this._state.duration)) {\n this._state.seekable = [{ start: 0, end: this._state.duration }];\n }\n };\n\n private onDurationChange = (event: DurationChangeEvent) => {\n this._state.duration = event.duration;\n };\n\n private onRateChange = (event: RateChangeEvent) => {\n this._state.playbackRate = event.playbackRate;\n };\n\n private onSeeking = () => {\n this._state.seeking = true;\n };\n\n private onSeeked = () => {\n this._state.seeking = false;\n };\n\n private onProgress = (event: ProgressEvent) => {\n this._state.seekable = event.seekable?.sort((a, b) => a.end - b.end);\n this._state.buffered = event.buffered?.sort((a, b) => a.end - b.end);\n };\n\n private onTextTrack = (event: TextTrackEvent) => {\n const { subType, cue, trackUid } = event;\n const track = findTextTrackByUid(this._state.textTracks, trackUid);\n switch (subType) {\n case TextTrackEventType.ADD_CUE:\n addTextTrackCue(track, cue);\n break;\n case TextTrackEventType.REMOVE_CUE:\n removeTextTrackCue(track, cue);\n break;\n }\n };\n\n private onTextTrackList = (event: TextTrackListEvent) => {\n const { subType, track } = event;\n switch (subType) {\n case TrackListEventType.ADD_TRACK:\n this._state.textTracks = addTrack(this._state.textTracks, track);\n break;\n case TrackListEventType.REMOVE_TRACK:\n this._state.textTracks = removeTrack(this._state.textTracks, track);\n break;\n case TrackListEventType.CHANGE_TRACK:\n this._state.textTracks = removeTrack(this._state.textTracks, track);\n this._state.textTracks = addTrack(this._state.textTracks, track);\n break;\n }\n };\n\n private onMediaTrack = (event: MediaTrackEvent) => {\n const { subType, trackType, trackUid } = event;\n const tracks = trackType === MediaTrackType.VIDEO ? this._state.videoTracks : this._state.audioTracks;\n const track = findMediaTrackByUid(tracks, trackUid);\n switch (subType) {\n case MediaTrackEventType.ACTIVE_QUALITY_CHANGED:\n // Update local state\n if (track) {\n Object.assign(track, { ...track, activeQuality: event.qualities });\n }\n break;\n }\n };\n\n private onMediaTrackList = (event: MediaTrackListEvent) => {\n const { subType, trackType, track } = event;\n const isAudio = trackType === MediaTrackType.AUDIO;\n switch (subType) {\n case TrackListEventType.ADD_TRACK:\n if (isAudio) {\n this._state.audioTracks = addTrack(this._state.audioTracks, track);\n } else {\n this._state.videoTracks = addTrack(this._state.videoTracks, track);\n }\n break;\n case TrackListEventType.REMOVE_TRACK:\n if (isAudio) {\n this._state.audioTracks = removeTrack(this._state.audioTracks, track);\n } else {\n this._state.videoTracks = removeTrack(this._state.videoTracks, track);\n }\n break;\n case TrackListEventType.CHANGE_TRACK:\n if (isAudio) {\n this._state.audioTracks = removeTrack(this._state.audioTracks, track);\n this._state.audioTracks = addTrack(this._state.audioTracks, track);\n } else {\n this._state.videoTracks = removeTrack(this._state.videoTracks, track);\n this._state.videoTracks = addTrack(this._state.videoTracks, track);\n }\n break;\n }\n };\n\n get abr(): ABRConfiguration | undefined {\n return Platform.OS === 'android' ? this._abrAdapter : undefined;\n }\n\n get ads(): AdsAPI {\n return this._adsAdapter;\n }\n\n private applyAutoplay() {\n if (!this.hasValidSource()) {\n return;\n }\n if (this._state.autoplay) {\n this.play();\n } else {\n this.pause();\n }\n }\n\n set autoplay(autoplay: boolean) {\n this._state.autoplay = autoplay;\n\n // Apply autoplay in case a source was already set.\n // If autoplay is changed before setting a source, `onSourceChange` applies autoplay.\n this.applyAutoplay();\n }\n\n get autoplay(): boolean {\n return this._state.autoplay;\n }\n\n set preload(type: PreloadType) {\n this._state.preload = type;\n NativePlayerModule.setPreload(this._view.nativeHandle, type);\n }\n\n get preload(): PreloadType {\n return this._state.preload;\n }\n\n get seekable() {\n return this._state.seekable;\n }\n\n private seekableEnd(): number {\n const ranges = this.seekable;\n return ranges.length === 0 ? 0 : ranges[ranges.length - 1].end;\n }\n\n get buffered() {\n return this._state.buffered;\n }\n\n get cast(): CastAPI {\n return this._castAdapter;\n }\n\n get currentTime(): number {\n return this._state.currentTime;\n }\n\n set currentTime(currentTime: number) {\n if (!this.hasValidSource()) {\n return;\n }\n\n if (isNaN(currentTime)) {\n return;\n }\n\n // Sanitise currentTime\n let seekTime = currentTime;\n if (currentTime === Infinity) {\n seekTime = this.seekableEnd();\n }\n\n this._state.currentTime = seekTime;\n NativePlayerModule.setCurrentTime(this._view.nativeHandle, seekTime);\n }\n\n get duration(): number {\n return this._state.duration;\n }\n\n get pipConfiguration(): PiPConfiguration {\n return this._state.pipConfig;\n }\n\n set pipConfiguration(pipConfiguration: PiPConfiguration) {\n this._state.pipConfig = pipConfiguration;\n NativePlayerModule.setPipConfig(this._view.nativeHandle, pipConfiguration);\n }\n\n get backgroundAudioConfiguration(): BackgroundAudioConfiguration {\n return this._state.backgroundAudioConfig;\n }\n\n set backgroundAudioConfiguration(backgroundAudioConfiguration: BackgroundAudioConfiguration) {\n this._state.backgroundAudioConfig = backgroundAudioConfiguration;\n NativePlayerModule.setBackgroundAudioConfig(this._view.nativeHandle, backgroundAudioConfiguration);\n }\n\n get presentationMode(): PresentationMode {\n return this._state.presentationMode;\n }\n\n set presentationMode(presentationMode: PresentationMode) {\n this._state.presentationMode = presentationMode;\n NativePlayerModule.setPresentationMode(this._view.nativeHandle, presentationMode);\n }\n\n get muted(): boolean {\n return this._state.muted;\n }\n\n set muted(muted: boolean) {\n this._state.muted = muted;\n NativePlayerModule.setMuted(this._view.nativeHandle, muted);\n }\n\n get seeking(): boolean {\n return this._state.seeking;\n }\n\n get paused(): boolean {\n return this._state.paused;\n }\n\n get playbackRate(): number {\n return this._state.playbackRate;\n }\n\n set playbackRate(playbackRate: number) {\n this._state.playbackRate = playbackRate;\n NativePlayerModule.setPlaybackRate(this._view.nativeHandle, playbackRate);\n }\n\n get audioTracks(): MediaTrack[] {\n return this._state.audioTracks;\n }\n\n get selectedAudioTrack(): number | undefined {\n return this._state.selectedAudioTrack;\n }\n\n set selectedAudioTrack(trackUid: number | undefined) {\n if (!this.hasValidSource()) {\n return;\n }\n this._state.selectedAudioTrack = trackUid;\n NativePlayerModule.setSelectedAudioTrack(this._view.nativeHandle, trackUid !== undefined ? trackUid : -1);\n }\n\n get videoTracks(): MediaTrack[] {\n return this._state.videoTracks;\n }\n\n get selectedVideoTrack(): number | undefined {\n return this._state.selectedVideoTrack;\n }\n\n set selectedVideoTrack(trackUid: number | undefined) {\n if (!this.hasValidSource()) {\n return;\n }\n this._state.selectedVideoTrack = trackUid;\n this._state.targetVideoQuality = undefined;\n NativePlayerModule.setSelectedVideoTrack(this._view.nativeHandle, trackUid !== undefined ? trackUid : -1);\n }\n\n get textTracks(): TextTrack[] {\n return this._state.textTracks;\n }\n\n get selectedTextTrack(): number | undefined {\n return this._state.selectedTextTrack;\n }\n\n set selectedTextTrack(trackUid: number | undefined) {\n if (!this.hasValidSource()) {\n return;\n }\n this._state.selectedTextTrack = trackUid;\n this.textTracks.forEach((track) => {\n if (track.uid === trackUid) {\n track.mode = TextTrackMode.showing;\n } else if (track.mode === TextTrackMode.showing) {\n track.mode = TextTrackMode.disabled;\n }\n });\n NativePlayerModule.setSelectedTextTrack(this._view.nativeHandle, trackUid !== undefined ? trackUid : -1);\n }\n\n get textTrackStyle(): TextTrackStyle {\n return this._textTrackStyleAdapter;\n }\n\n get source(): SourceDescription | undefined {\n return this._state.source;\n }\n\n set source(source: SourceDescription | undefined) {\n // This is to correctly reset autoplay during a source change.\n this.pause();\n this._state.source = source;\n NativePlayerModule.setSource(this._view.nativeHandle, source);\n // Reset state for play-out of new source\n Object.assign(this._state, {\n playbackRate: 1,\n seeking: false,\n audioTracks: [],\n videoTracks: [],\n textTracks: [],\n seekable: [],\n buffered: [],\n selectedTextTrack: undefined,\n selectedVideoTrack: undefined,\n selectedAudioTrack: undefined,\n targetVideoQuality: undefined,\n });\n }\n\n get targetVideoQuality(): number | number[] | undefined {\n return this._state.targetVideoQuality;\n }\n\n set targetVideoQuality(target: number | number[] | undefined) {\n if (!this.hasValidSource()) {\n return;\n }\n // Always pass an array for targetVideoQuality.\n this._state.targetVideoQuality = !target ? [] : Array.isArray(target) ? target : [target];\n\n // Update local state\n const track = findMediaTrackByUid(this._state.videoTracks, this.selectedVideoTrack);\n if (track) {\n Object.assign(track, { ...track, targetQuality: this._state.targetVideoQuality });\n }\n NativePlayerModule.setTargetVideoQuality(this._view.nativeHandle, this._state.targetVideoQuality);\n }\n\n get volume(): number {\n return this._state.volume;\n }\n\n set volume(volume: number) {\n this._state.volume = volume;\n NativePlayerModule.setVolume(this._view.nativeHandle, volume);\n }\n\n get aspectRatio(): AspectRatio {\n return this._state.aspectRatio;\n }\n\n set aspectRatio(ratio: AspectRatio) {\n this._state.aspectRatio = ratio;\n NativePlayerModule.setAspectRatio(this._view.nativeHandle, ratio);\n }\n\n get keepScreenOn(): boolean {\n return this._state.keepScreenOn;\n }\n\n set keepScreenOn(value: boolean) {\n this._state.keepScreenOn = value;\n if (Platform.OS === 'android') {\n NativePlayerModule.setKeepScreenOn(this._view.nativeHandle, value);\n }\n }\n\n pause(): void {\n if (this.hasValidSource()) {\n this._state.paused = true;\n NativePlayerModule.setPaused(this._view.nativeHandle, true);\n }\n }\n\n play(): void {\n if (this.hasValidSource()) {\n this._state.paused = false;\n NativePlayerModule.setPaused(this._view.nativeHandle, false);\n }\n }\n\n public get version(): PlayerVersion {\n return this._playerVersion;\n }\n\n // @internal\n get nativeHandle(): NativeHandleType {\n return this._view.nativeHandle;\n }\n\n // @internal\n get broadcast(): EventBroadcastAPI {\n return this._externalEventRouter ?? (this._externalEventRouter = new EventBroadcastAdapter(this));\n }\n\n initializeFromNativePlayer_(version: PlayerVersion, state: NativePlayerState | undefined) {\n this._playerVersion = version;\n if (state) {\n Object.assign(this._state, state);\n this._castAdapter.init_();\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_DefaultEventDispatcher","require","_reactNativeTheoplayer","_THEOplayerNativeAdsAdapter","_THEOplayerNativeCastAdapter","_AbrAdapter","_reactNative","_TextTrackStyleAdapter","_EventBroadcastAdapter","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","NativePlayerModule","NativeModules","THEORCTPlayerModule","defaultPlayerState","source","autoplay","paused","seekable","buffered","pipConfig","startsAutomatically","backgroundAudioConfig","enabled","presentationMode","PresentationMode","inline","muted","seeking","volume","currentTime","duration","NaN","playbackRate","preload","aspectRatio","AspectRatio","FIT","keepScreenOn","audioTracks","videoTracks","textTracks","targetVideoQuality","selectedVideoTrack","selectedAudioTrack","selectedTextTrack","THEOplayerAdapter","DefaultEventDispatcher","constructor","view","initialState","arguments","length","applyAutoplay","_state","event","Platform","OS","StatusBar","setHidden","fullscreen","isFinite","start","end","_event$seekable","_event$buffered","sort","a","b","subType","cue","trackUid","track","findTextTrackByUid","TextTrackEventType","ADD_CUE","addTextTrackCue","REMOVE_CUE","removeTextTrackCue","TrackListEventType","ADD_TRACK","addTrack","REMOVE_TRACK","removeTrack","CHANGE_TRACK","trackType","tracks","MediaTrackType","VIDEO","findMediaTrackByUid","MediaTrackEventType","ACTIVE_QUALITY_CHANGED","assign","activeQuality","qualities","isAudio","AUDIO","_view","_adsAdapter","THEOplayerNativeAdsAdapter","_castAdapter","THEOplayerNativeCastAdapter","_abrAdapter","AbrAdapter","_textTrackStyleAdapter","TextTrackStyleAdapter","addEventListener","PlayerEventType","SOURCE_CHANGE","onSourceChange","LOADED_METADATA","onLoadedMetadata","PAUSE","onPause","PLAYING","onPlaying","TIME_UPDATE","onTimeupdate","DURATION_CHANGE","onDurationChange","RATE_CHANGE","onRateChange","SEEKING","onSeeking","SEEKED","onSeeked","PROGRESS","onProgress","TEXT_TRACK_LIST","onTextTrackList","TEXT_TRACK","onTextTrack","MEDIA_TRACK","onMediaTrack","MEDIA_TRACK_LIST","onMediaTrackList","PRESENTATIONMODE_CHANGE","onPresentationModeChange","hasValidSource","abr","ads","play","pause","type","setPreload","nativeHandle","seekableEnd","ranges","cast","isNaN","seekTime","Infinity","setCurrentTime","pipConfiguration","setPipConfig","backgroundAudioConfiguration","setBackgroundAudioConfig","setPresentationMode","setMuted","setPlaybackRate","setSelectedAudioTrack","setSelectedVideoTrack","forEach","uid","mode","TextTrackMode","showing","disabled","setSelectedTextTrack","textTrackStyle","setSource","target","Array","isArray","targetQuality","setTargetVideoQuality","setVolume","ratio","setAspectRatio","setKeepScreenOn","setPaused","version","_playerVersion","broadcast","_externalEventRouter","EventBroadcastAdapter","initializeFromNativePlayer_","state","init_","exports"],"sources":["THEOplayerAdapter.ts"],"sourcesContent":["import { DefaultEventDispatcher } from './event/DefaultEventDispatcher';\nimport type {\n ABRConfiguration,\n AdsAPI,\n CastAPI,\n DurationChangeEvent,\n EventBroadcastAPI,\n LoadedMetadataEvent,\n MediaTrack,\n MediaTrackEvent,\n MediaTrackListEvent,\n NativeHandleType,\n PiPConfiguration,\n PlayerEventMap,\n PresentationModeChangeEvent,\n ProgressEvent,\n RateChangeEvent,\n SourceDescription,\n TextTrack,\n TextTrackEvent,\n TextTrackListEvent,\n THEOplayer,\n THEOplayerView,\n TimeUpdateEvent,\n} from 'react-native-theoplayer';\nimport {\n addTextTrackCue,\n addTrack,\n AspectRatio,\n BackgroundAudioConfiguration,\n findMediaTrackByUid,\n findTextTrackByUid,\n MediaTrackEventType,\n MediaTrackType,\n PlayerEventType,\n PlayerVersion,\n PreloadType,\n PresentationMode,\n removeTextTrackCue,\n removeTrack,\n TextTrackEventType,\n TextTrackMode,\n TextTrackStyle,\n TrackListEventType,\n} from 'react-native-theoplayer';\nimport { THEOplayerNativeAdsAdapter } from './ads/THEOplayerNativeAdsAdapter';\nimport { THEOplayerNativeCastAdapter } from './cast/THEOplayerNativeCastAdapter';\nimport { AbrAdapter } from './abr/AbrAdapter';\nimport { NativeModules, Platform, StatusBar } from 'react-native';\nimport { TextTrackStyleAdapter } from './track/TextTrackStyleAdapter';\nimport type { NativePlayerState } from './NativePlayerState';\nimport { EventBroadcastAdapter } from './broadcast/EventBroadcastAdapter';\n\nconst NativePlayerModule = NativeModules.THEORCTPlayerModule;\n\nconst defaultPlayerState: NativePlayerState = {\n source: undefined,\n autoplay: false,\n paused: false,\n seekable: [],\n buffered: [],\n pipConfig: { startsAutomatically: false },\n backgroundAudioConfig: { enabled: false },\n presentationMode: PresentationMode.inline,\n muted: false,\n seeking: false,\n volume: 1,\n currentTime: 0,\n duration: NaN,\n playbackRate: 1,\n preload: 'none',\n aspectRatio: AspectRatio.FIT,\n keepScreenOn: true,\n audioTracks: [],\n videoTracks: [],\n textTracks: [],\n targetVideoQuality: undefined,\n selectedVideoTrack: undefined,\n selectedAudioTrack: undefined,\n selectedTextTrack: undefined,\n};\n\nexport class THEOplayerAdapter extends DefaultEventDispatcher<PlayerEventMap> implements THEOplayer {\n private readonly _view: THEOplayerView;\n private readonly _state: NativePlayerState;\n private readonly _adsAdapter: THEOplayerNativeAdsAdapter;\n private readonly _castAdapter: THEOplayerNativeCastAdapter;\n private readonly _abrAdapter: AbrAdapter;\n private readonly _textTrackStyleAdapter: TextTrackStyleAdapter;\n private _externalEventRouter: EventBroadcastAPI | undefined = undefined;\n private _playerVersion!: PlayerVersion;\n\n constructor(view: THEOplayerView, initialState: NativePlayerState = defaultPlayerState) {\n super();\n this._view = view;\n this._state = { ...initialState };\n this._adsAdapter = new THEOplayerNativeAdsAdapter(this._view);\n this._castAdapter = new THEOplayerNativeCastAdapter(this, this._view);\n this._abrAdapter = new AbrAdapter(this._view);\n this._textTrackStyleAdapter = new TextTrackStyleAdapter(this._view);\n\n this.addEventListener(PlayerEventType.SOURCE_CHANGE, this.onSourceChange);\n this.addEventListener(PlayerEventType.LOADED_METADATA, this.onLoadedMetadata);\n this.addEventListener(PlayerEventType.PAUSE, this.onPause);\n this.addEventListener(PlayerEventType.PLAYING, this.onPlaying);\n this.addEventListener(PlayerEventType.TIME_UPDATE, this.onTimeupdate);\n this.addEventListener(PlayerEventType.DURATION_CHANGE, this.onDurationChange);\n this.addEventListener(PlayerEventType.RATE_CHANGE, this.onRateChange);\n this.addEventListener(PlayerEventType.SEEKING, this.onSeeking);\n this.addEventListener(PlayerEventType.SEEKED, this.onSeeked);\n this.addEventListener(PlayerEventType.PROGRESS, this.onProgress);\n this.addEventListener(PlayerEventType.TEXT_TRACK_LIST, this.onTextTrackList);\n this.addEventListener(PlayerEventType.TEXT_TRACK, this.onTextTrack);\n this.addEventListener(PlayerEventType.MEDIA_TRACK, this.onMediaTrack);\n this.addEventListener(PlayerEventType.MEDIA_TRACK_LIST, this.onMediaTrackList);\n this.addEventListener(PlayerEventType.PRESENTATIONMODE_CHANGE, this.onPresentationModeChange);\n }\n\n private onSourceChange = () => {\n this.applyAutoplay();\n };\n\n private hasValidSource(): boolean {\n return this._state.source !== undefined;\n }\n\n private onPause = () => {\n this._state.paused = true;\n };\n\n private onPlaying = () => {\n this._state.paused = false;\n };\n\n private onPresentationModeChange = (event: PresentationModeChangeEvent) => {\n this._state.presentationMode = event.presentationMode;\n if (Platform.OS === 'ios') {\n StatusBar.setHidden(event.presentationMode === PresentationMode.fullscreen, 'slide');\n }\n };\n\n private onTimeupdate = (event: TimeUpdateEvent) => {\n this._state.currentTime = event.currentTime;\n };\n\n private onLoadedMetadata = (event: LoadedMetadataEvent) => {\n this._state.duration = event.duration;\n this._state.audioTracks = event.audioTracks;\n this._state.videoTracks = event.videoTracks;\n this._state.textTracks = event.textTracks;\n this._state.selectedAudioTrack = event.selectedAudioTrack;\n this._state.selectedVideoTrack = event.selectedVideoTrack;\n this._state.selectedTextTrack = event.selectedTextTrack;\n if (isFinite(this._state.duration)) {\n this._state.seekable = [{ start: 0, end: this._state.duration }];\n }\n };\n\n private onDurationChange = (event: DurationChangeEvent) => {\n this._state.duration = event.duration;\n };\n\n private onRateChange = (event: RateChangeEvent) => {\n this._state.playbackRate = event.playbackRate;\n };\n\n private onSeeking = () => {\n this._state.seeking = true;\n };\n\n private onSeeked = () => {\n this._state.seeking = false;\n };\n\n private onProgress = (event: ProgressEvent) => {\n this._state.seekable = event.seekable?.sort((a, b) => a.end - b.end);\n this._state.buffered = event.buffered?.sort((a, b) => a.end - b.end);\n };\n\n private onTextTrack = (event: TextTrackEvent) => {\n const { subType, cue, trackUid } = event;\n const track = findTextTrackByUid(this._state.textTracks, trackUid);\n switch (subType) {\n case TextTrackEventType.ADD_CUE:\n addTextTrackCue(track, cue);\n break;\n case TextTrackEventType.REMOVE_CUE:\n removeTextTrackCue(track, cue);\n break;\n }\n };\n\n private onTextTrackList = (event: TextTrackListEvent) => {\n const { subType, track } = event;\n switch (subType) {\n case TrackListEventType.ADD_TRACK:\n this._state.textTracks = addTrack(this._state.textTracks, track);\n break;\n case TrackListEventType.REMOVE_TRACK:\n this._state.textTracks = removeTrack(this._state.textTracks, track);\n break;\n case TrackListEventType.CHANGE_TRACK:\n this._state.textTracks = removeTrack(this._state.textTracks, track);\n this._state.textTracks = addTrack(this._state.textTracks, track);\n break;\n }\n };\n\n private onMediaTrack = (event: MediaTrackEvent) => {\n const { subType, trackType, trackUid } = event;\n const tracks = trackType === MediaTrackType.VIDEO ? this._state.videoTracks : this._state.audioTracks;\n const track = findMediaTrackByUid(tracks, trackUid);\n switch (subType) {\n case MediaTrackEventType.ACTIVE_QUALITY_CHANGED:\n // Update local state\n if (track) {\n Object.assign(track, { ...track, activeQuality: event.qualities });\n }\n break;\n }\n };\n\n private onMediaTrackList = (event: MediaTrackListEvent) => {\n const { subType, trackType, track } = event;\n const isAudio = trackType === MediaTrackType.AUDIO;\n switch (subType) {\n case TrackListEventType.ADD_TRACK:\n if (isAudio) {\n this._state.audioTracks = addTrack(this._state.audioTracks, track);\n } else {\n this._state.videoTracks = addTrack(this._state.videoTracks, track);\n }\n break;\n case TrackListEventType.REMOVE_TRACK:\n if (isAudio) {\n this._state.audioTracks = removeTrack(this._state.audioTracks, track);\n } else {\n this._state.videoTracks = removeTrack(this._state.videoTracks, track);\n }\n break;\n case TrackListEventType.CHANGE_TRACK:\n if (isAudio) {\n this._state.audioTracks = removeTrack(this._state.audioTracks, track);\n this._state.audioTracks = addTrack(this._state.audioTracks, track);\n } else {\n this._state.videoTracks = removeTrack(this._state.videoTracks, track);\n this._state.videoTracks = addTrack(this._state.videoTracks, track);\n }\n break;\n }\n };\n\n get abr(): ABRConfiguration | undefined {\n return Platform.OS === 'android' ? this._abrAdapter : undefined;\n }\n\n get ads(): AdsAPI {\n return this._adsAdapter;\n }\n\n private applyAutoplay() {\n if (!this.hasValidSource()) {\n return;\n }\n if (this._state.autoplay) {\n this.play();\n } else {\n this.pause();\n }\n }\n\n set autoplay(autoplay: boolean) {\n this._state.autoplay = autoplay;\n\n // Apply autoplay in case a source was already set.\n // If autoplay is changed before setting a source, `onSourceChange` applies autoplay.\n this.applyAutoplay();\n }\n\n get autoplay(): boolean {\n return this._state.autoplay;\n }\n\n set preload(type: PreloadType) {\n this._state.preload = type;\n NativePlayerModule.setPreload(this._view.nativeHandle, type);\n }\n\n get preload(): PreloadType {\n return this._state.preload;\n }\n\n get seekable() {\n return this._state.seekable;\n }\n\n private seekableEnd(): number {\n const ranges = this.seekable;\n return ranges.length === 0 ? 0 : ranges[ranges.length - 1].end;\n }\n\n get buffered() {\n return this._state.buffered;\n }\n\n get cast(): CastAPI {\n return this._castAdapter;\n }\n\n get currentTime(): number {\n return this._state.currentTime;\n }\n\n set currentTime(currentTime: number) {\n if (!this.hasValidSource()) {\n return;\n }\n\n if (isNaN(currentTime)) {\n return;\n }\n\n // Sanitise currentTime\n let seekTime = currentTime;\n if (currentTime === Infinity) {\n seekTime = this.seekableEnd();\n }\n\n this._state.currentTime = seekTime;\n NativePlayerModule.setCurrentTime(this._view.nativeHandle, seekTime);\n }\n\n get duration(): number {\n return this._state.duration;\n }\n\n get pipConfiguration(): PiPConfiguration {\n return this._state.pipConfig;\n }\n\n set pipConfiguration(pipConfiguration: PiPConfiguration) {\n this._state.pipConfig = pipConfiguration;\n NativePlayerModule.setPipConfig(this._view.nativeHandle, pipConfiguration);\n }\n\n get backgroundAudioConfiguration(): BackgroundAudioConfiguration {\n return this._state.backgroundAudioConfig;\n }\n\n set backgroundAudioConfiguration(backgroundAudioConfiguration: BackgroundAudioConfiguration) {\n this._state.backgroundAudioConfig = backgroundAudioConfiguration;\n NativePlayerModule.setBackgroundAudioConfig(this._view.nativeHandle, backgroundAudioConfiguration);\n }\n\n get presentationMode(): PresentationMode {\n return this._state.presentationMode;\n }\n\n set presentationMode(presentationMode: PresentationMode) {\n this._state.presentationMode = presentationMode;\n NativePlayerModule.setPresentationMode(this._view.nativeHandle, presentationMode);\n }\n\n get muted(): boolean {\n return this._state.muted;\n }\n\n set muted(muted: boolean) {\n this._state.muted = muted;\n NativePlayerModule.setMuted(this._view.nativeHandle, muted);\n }\n\n get seeking(): boolean {\n return this._state.seeking;\n }\n\n get paused(): boolean {\n return this._state.paused;\n }\n\n get playbackRate(): number {\n return this._state.playbackRate;\n }\n\n set playbackRate(playbackRate: number) {\n this._state.playbackRate = playbackRate;\n NativePlayerModule.setPlaybackRate(this._view.nativeHandle, playbackRate);\n }\n\n get audioTracks(): MediaTrack[] {\n return this._state.audioTracks;\n }\n\n get selectedAudioTrack(): number | undefined {\n return this._state.selectedAudioTrack;\n }\n\n set selectedAudioTrack(trackUid: number | undefined) {\n if (!this.hasValidSource()) {\n return;\n }\n this._state.selectedAudioTrack = trackUid;\n NativePlayerModule.setSelectedAudioTrack(this._view.nativeHandle, trackUid !== undefined ? trackUid : -1);\n }\n\n get videoTracks(): MediaTrack[] {\n return this._state.videoTracks;\n }\n\n get selectedVideoTrack(): number | undefined {\n return this._state.selectedVideoTrack;\n }\n\n set selectedVideoTrack(trackUid: number | undefined) {\n if (!this.hasValidSource()) {\n return;\n }\n this._state.selectedVideoTrack = trackUid;\n this._state.targetVideoQuality = undefined;\n NativePlayerModule.setSelectedVideoTrack(this._view.nativeHandle, trackUid !== undefined ? trackUid : -1);\n }\n\n get textTracks(): TextTrack[] {\n return this._state.textTracks;\n }\n\n get selectedTextTrack(): number | undefined {\n return this._state.selectedTextTrack;\n }\n\n set selectedTextTrack(trackUid: number | undefined) {\n if (!this.hasValidSource()) {\n return;\n }\n this._state.selectedTextTrack = trackUid;\n this.textTracks.forEach((track) => {\n if (track.uid === trackUid) {\n track.mode = TextTrackMode.showing;\n } else if (track.mode === TextTrackMode.showing) {\n track.mode = TextTrackMode.disabled;\n }\n });\n NativePlayerModule.setSelectedTextTrack(this._view.nativeHandle, trackUid !== undefined ? trackUid : -1);\n }\n\n get textTrackStyle(): TextTrackStyle {\n return this._textTrackStyleAdapter;\n }\n\n get source(): SourceDescription | undefined {\n return this._state.source;\n }\n\n set source(source: SourceDescription | undefined) {\n // This is to correctly reset autoplay during a source change.\n this.pause();\n this._state.source = source;\n NativePlayerModule.setSource(this._view.nativeHandle, source);\n // Reset state for play-out of new source\n Object.assign(this._state, {\n playbackRate: 1,\n seeking: false,\n audioTracks: [],\n videoTracks: [],\n textTracks: [],\n seekable: [],\n buffered: [],\n selectedTextTrack: undefined,\n selectedVideoTrack: undefined,\n selectedAudioTrack: undefined,\n targetVideoQuality: undefined,\n });\n }\n\n get targetVideoQuality(): number | number[] | undefined {\n return this._state.targetVideoQuality;\n }\n\n set targetVideoQuality(target: number | number[] | undefined) {\n if (!this.hasValidSource()) {\n return;\n }\n // Always pass an array for targetVideoQuality.\n this._state.targetVideoQuality = !target ? [] : Array.isArray(target) ? target : [target];\n\n // Update local state\n const track = findMediaTrackByUid(this._state.videoTracks, this.selectedVideoTrack);\n if (track) {\n Object.assign(track, { ...track, targetQuality: this._state.targetVideoQuality });\n }\n NativePlayerModule.setTargetVideoQuality(this._view.nativeHandle, this._state.targetVideoQuality);\n }\n\n get volume(): number {\n return this._state.volume;\n }\n\n set volume(volume: number) {\n this._state.volume = volume;\n NativePlayerModule.setVolume(this._view.nativeHandle, volume);\n }\n\n get aspectRatio(): AspectRatio {\n return this._state.aspectRatio;\n }\n\n set aspectRatio(ratio: AspectRatio) {\n this._state.aspectRatio = ratio;\n NativePlayerModule.setAspectRatio(this._view.nativeHandle, ratio);\n }\n\n get keepScreenOn(): boolean {\n return this._state.keepScreenOn;\n }\n\n set keepScreenOn(value: boolean) {\n this._state.keepScreenOn = value;\n if (Platform.OS === 'android') {\n NativePlayerModule.setKeepScreenOn(this._view.nativeHandle, value);\n }\n }\n\n pause(): void {\n if (this.hasValidSource()) {\n this._state.paused = true;\n NativePlayerModule.setPaused(this._view.nativeHandle, true);\n }\n }\n\n play(): void {\n if (this.hasValidSource()) {\n this._state.paused = false;\n NativePlayerModule.setPaused(this._view.nativeHandle, false);\n }\n }\n\n public get version(): PlayerVersion {\n return this._playerVersion;\n }\n\n // @internal\n get nativeHandle(): NativeHandleType {\n return this._view.nativeHandle;\n }\n\n // @internal\n get broadcast(): EventBroadcastAPI {\n return this._externalEventRouter ?? (this._externalEventRouter = new EventBroadcastAdapter(this));\n }\n\n initializeFromNativePlayer_(version: PlayerVersion, state: NativePlayerState | undefined) {\n this._playerVersion = version;\n if (state) {\n Object.assign(this._state, state);\n }\n this._castAdapter.init_();\n }\n}\n"],"mappings":"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"}
@@ -470,8 +470,8 @@ export class THEOplayerAdapter extends DefaultEventDispatcher {
470
470
  this._playerVersion = version;
471
471
  if (state) {
472
472
  Object.assign(this._state, state);
473
- this._castAdapter.init_();
474
473
  }
474
+ this._castAdapter.init_();
475
475
  }
476
476
  }
477
477
  //# sourceMappingURL=THEOplayerAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DefaultEventDispatcher","addTextTrackCue","addTrack","AspectRatio","findMediaTrackByUid","findTextTrackByUid","MediaTrackEventType","MediaTrackType","PlayerEventType","PresentationMode","removeTextTrackCue","removeTrack","TextTrackEventType","TextTrackMode","TrackListEventType","THEOplayerNativeAdsAdapter","THEOplayerNativeCastAdapter","AbrAdapter","NativeModules","Platform","StatusBar","TextTrackStyleAdapter","EventBroadcastAdapter","NativePlayerModule","THEORCTPlayerModule","defaultPlayerState","source","undefined","autoplay","paused","seekable","buffered","pipConfig","startsAutomatically","backgroundAudioConfig","enabled","presentationMode","inline","muted","seeking","volume","currentTime","duration","NaN","playbackRate","preload","aspectRatio","FIT","keepScreenOn","audioTracks","videoTracks","textTracks","targetVideoQuality","selectedVideoTrack","selectedAudioTrack","selectedTextTrack","THEOplayerAdapter","constructor","view","initialState","arguments","length","_defineProperty","applyAutoplay","_state","event","OS","setHidden","fullscreen","isFinite","start","end","_event$seekable","_event$buffered","sort","a","b","subType","cue","trackUid","track","ADD_CUE","REMOVE_CUE","ADD_TRACK","REMOVE_TRACK","CHANGE_TRACK","trackType","tracks","VIDEO","ACTIVE_QUALITY_CHANGED","Object","assign","activeQuality","qualities","isAudio","AUDIO","_view","_adsAdapter","_castAdapter","_abrAdapter","_textTrackStyleAdapter","addEventListener","SOURCE_CHANGE","onSourceChange","LOADED_METADATA","onLoadedMetadata","PAUSE","onPause","PLAYING","onPlaying","TIME_UPDATE","onTimeupdate","DURATION_CHANGE","onDurationChange","RATE_CHANGE","onRateChange","SEEKING","onSeeking","SEEKED","onSeeked","PROGRESS","onProgress","TEXT_TRACK_LIST","onTextTrackList","TEXT_TRACK","onTextTrack","MEDIA_TRACK","onMediaTrack","MEDIA_TRACK_LIST","onMediaTrackList","PRESENTATIONMODE_CHANGE","onPresentationModeChange","hasValidSource","abr","ads","play","pause","type","setPreload","nativeHandle","seekableEnd","ranges","cast","isNaN","seekTime","Infinity","setCurrentTime","pipConfiguration","setPipConfig","backgroundAudioConfiguration","setBackgroundAudioConfig","setPresentationMode","setMuted","setPlaybackRate","setSelectedAudioTrack","setSelectedVideoTrack","forEach","uid","mode","showing","disabled","setSelectedTextTrack","textTrackStyle","setSource","target","Array","isArray","targetQuality","setTargetVideoQuality","setVolume","ratio","setAspectRatio","value","setKeepScreenOn","setPaused","version","_playerVersion","broadcast","_externalEventRouter","initializeFromNativePlayer_","state","init_"],"sources":["THEOplayerAdapter.ts"],"sourcesContent":["import { DefaultEventDispatcher } from './event/DefaultEventDispatcher';\nimport type {\n ABRConfiguration,\n AdsAPI,\n CastAPI,\n DurationChangeEvent,\n EventBroadcastAPI,\n LoadedMetadataEvent,\n MediaTrack,\n MediaTrackEvent,\n MediaTrackListEvent,\n NativeHandleType,\n PiPConfiguration,\n PlayerEventMap,\n PresentationModeChangeEvent,\n ProgressEvent,\n RateChangeEvent,\n SourceDescription,\n TextTrack,\n TextTrackEvent,\n TextTrackListEvent,\n THEOplayer,\n THEOplayerView,\n TimeUpdateEvent,\n} from 'react-native-theoplayer';\nimport {\n addTextTrackCue,\n addTrack,\n AspectRatio,\n BackgroundAudioConfiguration,\n findMediaTrackByUid,\n findTextTrackByUid,\n MediaTrackEventType,\n MediaTrackType,\n PlayerEventType,\n PlayerVersion,\n PreloadType,\n PresentationMode,\n removeTextTrackCue,\n removeTrack,\n TextTrackEventType,\n TextTrackMode,\n TextTrackStyle,\n TrackListEventType,\n} from 'react-native-theoplayer';\nimport { THEOplayerNativeAdsAdapter } from './ads/THEOplayerNativeAdsAdapter';\nimport { THEOplayerNativeCastAdapter } from './cast/THEOplayerNativeCastAdapter';\nimport { AbrAdapter } from './abr/AbrAdapter';\nimport { NativeModules, Platform, StatusBar } from 'react-native';\nimport { TextTrackStyleAdapter } from './track/TextTrackStyleAdapter';\nimport type { NativePlayerState } from './NativePlayerState';\nimport { EventBroadcastAdapter } from './broadcast/EventBroadcastAdapter';\n\nconst NativePlayerModule = NativeModules.THEORCTPlayerModule;\n\nconst defaultPlayerState: NativePlayerState = {\n source: undefined,\n autoplay: false,\n paused: false,\n seekable: [],\n buffered: [],\n pipConfig: { startsAutomatically: false },\n backgroundAudioConfig: { enabled: false },\n presentationMode: PresentationMode.inline,\n muted: false,\n seeking: false,\n volume: 1,\n currentTime: 0,\n duration: NaN,\n playbackRate: 1,\n preload: 'none',\n aspectRatio: AspectRatio.FIT,\n keepScreenOn: true,\n audioTracks: [],\n videoTracks: [],\n textTracks: [],\n targetVideoQuality: undefined,\n selectedVideoTrack: undefined,\n selectedAudioTrack: undefined,\n selectedTextTrack: undefined,\n};\n\nexport class THEOplayerAdapter extends DefaultEventDispatcher<PlayerEventMap> implements THEOplayer {\n private readonly _view: THEOplayerView;\n private readonly _state: NativePlayerState;\n private readonly _adsAdapter: THEOplayerNativeAdsAdapter;\n private readonly _castAdapter: THEOplayerNativeCastAdapter;\n private readonly _abrAdapter: AbrAdapter;\n private readonly _textTrackStyleAdapter: TextTrackStyleAdapter;\n private _externalEventRouter: EventBroadcastAPI | undefined = undefined;\n private _playerVersion!: PlayerVersion;\n\n constructor(view: THEOplayerView, initialState: NativePlayerState = defaultPlayerState) {\n super();\n this._view = view;\n this._state = { ...initialState };\n this._adsAdapter = new THEOplayerNativeAdsAdapter(this._view);\n this._castAdapter = new THEOplayerNativeCastAdapter(this, this._view);\n this._abrAdapter = new AbrAdapter(this._view);\n this._textTrackStyleAdapter = new TextTrackStyleAdapter(this._view);\n\n this.addEventListener(PlayerEventType.SOURCE_CHANGE, this.onSourceChange);\n this.addEventListener(PlayerEventType.LOADED_METADATA, this.onLoadedMetadata);\n this.addEventListener(PlayerEventType.PAUSE, this.onPause);\n this.addEventListener(PlayerEventType.PLAYING, this.onPlaying);\n this.addEventListener(PlayerEventType.TIME_UPDATE, this.onTimeupdate);\n this.addEventListener(PlayerEventType.DURATION_CHANGE, this.onDurationChange);\n this.addEventListener(PlayerEventType.RATE_CHANGE, this.onRateChange);\n this.addEventListener(PlayerEventType.SEEKING, this.onSeeking);\n this.addEventListener(PlayerEventType.SEEKED, this.onSeeked);\n this.addEventListener(PlayerEventType.PROGRESS, this.onProgress);\n this.addEventListener(PlayerEventType.TEXT_TRACK_LIST, this.onTextTrackList);\n this.addEventListener(PlayerEventType.TEXT_TRACK, this.onTextTrack);\n this.addEventListener(PlayerEventType.MEDIA_TRACK, this.onMediaTrack);\n this.addEventListener(PlayerEventType.MEDIA_TRACK_LIST, this.onMediaTrackList);\n this.addEventListener(PlayerEventType.PRESENTATIONMODE_CHANGE, this.onPresentationModeChange);\n }\n\n private onSourceChange = () => {\n this.applyAutoplay();\n };\n\n private hasValidSource(): boolean {\n return this._state.source !== undefined;\n }\n\n private onPause = () => {\n this._state.paused = true;\n };\n\n private onPlaying = () => {\n this._state.paused = false;\n };\n\n private onPresentationModeChange = (event: PresentationModeChangeEvent) => {\n this._state.presentationMode = event.presentationMode;\n if (Platform.OS === 'ios') {\n StatusBar.setHidden(event.presentationMode === PresentationMode.fullscreen, 'slide');\n }\n };\n\n private onTimeupdate = (event: TimeUpdateEvent) => {\n this._state.currentTime = event.currentTime;\n };\n\n private onLoadedMetadata = (event: LoadedMetadataEvent) => {\n this._state.duration = event.duration;\n this._state.audioTracks = event.audioTracks;\n this._state.videoTracks = event.videoTracks;\n this._state.textTracks = event.textTracks;\n this._state.selectedAudioTrack = event.selectedAudioTrack;\n this._state.selectedVideoTrack = event.selectedVideoTrack;\n this._state.selectedTextTrack = event.selectedTextTrack;\n if (isFinite(this._state.duration)) {\n this._state.seekable = [{ start: 0, end: this._state.duration }];\n }\n };\n\n private onDurationChange = (event: DurationChangeEvent) => {\n this._state.duration = event.duration;\n };\n\n private onRateChange = (event: RateChangeEvent) => {\n this._state.playbackRate = event.playbackRate;\n };\n\n private onSeeking = () => {\n this._state.seeking = true;\n };\n\n private onSeeked = () => {\n this._state.seeking = false;\n };\n\n private onProgress = (event: ProgressEvent) => {\n this._state.seekable = event.seekable?.sort((a, b) => a.end - b.end);\n this._state.buffered = event.buffered?.sort((a, b) => a.end - b.end);\n };\n\n private onTextTrack = (event: TextTrackEvent) => {\n const { subType, cue, trackUid } = event;\n const track = findTextTrackByUid(this._state.textTracks, trackUid);\n switch (subType) {\n case TextTrackEventType.ADD_CUE:\n addTextTrackCue(track, cue);\n break;\n case TextTrackEventType.REMOVE_CUE:\n removeTextTrackCue(track, cue);\n break;\n }\n };\n\n private onTextTrackList = (event: TextTrackListEvent) => {\n const { subType, track } = event;\n switch (subType) {\n case TrackListEventType.ADD_TRACK:\n this._state.textTracks = addTrack(this._state.textTracks, track);\n break;\n case TrackListEventType.REMOVE_TRACK:\n this._state.textTracks = removeTrack(this._state.textTracks, track);\n break;\n case TrackListEventType.CHANGE_TRACK:\n this._state.textTracks = removeTrack(this._state.textTracks, track);\n this._state.textTracks = addTrack(this._state.textTracks, track);\n break;\n }\n };\n\n private onMediaTrack = (event: MediaTrackEvent) => {\n const { subType, trackType, trackUid } = event;\n const tracks = trackType === MediaTrackType.VIDEO ? this._state.videoTracks : this._state.audioTracks;\n const track = findMediaTrackByUid(tracks, trackUid);\n switch (subType) {\n case MediaTrackEventType.ACTIVE_QUALITY_CHANGED:\n // Update local state\n if (track) {\n Object.assign(track, { ...track, activeQuality: event.qualities });\n }\n break;\n }\n };\n\n private onMediaTrackList = (event: MediaTrackListEvent) => {\n const { subType, trackType, track } = event;\n const isAudio = trackType === MediaTrackType.AUDIO;\n switch (subType) {\n case TrackListEventType.ADD_TRACK:\n if (isAudio) {\n this._state.audioTracks = addTrack(this._state.audioTracks, track);\n } else {\n this._state.videoTracks = addTrack(this._state.videoTracks, track);\n }\n break;\n case TrackListEventType.REMOVE_TRACK:\n if (isAudio) {\n this._state.audioTracks = removeTrack(this._state.audioTracks, track);\n } else {\n this._state.videoTracks = removeTrack(this._state.videoTracks, track);\n }\n break;\n case TrackListEventType.CHANGE_TRACK:\n if (isAudio) {\n this._state.audioTracks = removeTrack(this._state.audioTracks, track);\n this._state.audioTracks = addTrack(this._state.audioTracks, track);\n } else {\n this._state.videoTracks = removeTrack(this._state.videoTracks, track);\n this._state.videoTracks = addTrack(this._state.videoTracks, track);\n }\n break;\n }\n };\n\n get abr(): ABRConfiguration | undefined {\n return Platform.OS === 'android' ? this._abrAdapter : undefined;\n }\n\n get ads(): AdsAPI {\n return this._adsAdapter;\n }\n\n private applyAutoplay() {\n if (!this.hasValidSource()) {\n return;\n }\n if (this._state.autoplay) {\n this.play();\n } else {\n this.pause();\n }\n }\n\n set autoplay(autoplay: boolean) {\n this._state.autoplay = autoplay;\n\n // Apply autoplay in case a source was already set.\n // If autoplay is changed before setting a source, `onSourceChange` applies autoplay.\n this.applyAutoplay();\n }\n\n get autoplay(): boolean {\n return this._state.autoplay;\n }\n\n set preload(type: PreloadType) {\n this._state.preload = type;\n NativePlayerModule.setPreload(this._view.nativeHandle, type);\n }\n\n get preload(): PreloadType {\n return this._state.preload;\n }\n\n get seekable() {\n return this._state.seekable;\n }\n\n private seekableEnd(): number {\n const ranges = this.seekable;\n return ranges.length === 0 ? 0 : ranges[ranges.length - 1].end;\n }\n\n get buffered() {\n return this._state.buffered;\n }\n\n get cast(): CastAPI {\n return this._castAdapter;\n }\n\n get currentTime(): number {\n return this._state.currentTime;\n }\n\n set currentTime(currentTime: number) {\n if (!this.hasValidSource()) {\n return;\n }\n\n if (isNaN(currentTime)) {\n return;\n }\n\n // Sanitise currentTime\n let seekTime = currentTime;\n if (currentTime === Infinity) {\n seekTime = this.seekableEnd();\n }\n\n this._state.currentTime = seekTime;\n NativePlayerModule.setCurrentTime(this._view.nativeHandle, seekTime);\n }\n\n get duration(): number {\n return this._state.duration;\n }\n\n get pipConfiguration(): PiPConfiguration {\n return this._state.pipConfig;\n }\n\n set pipConfiguration(pipConfiguration: PiPConfiguration) {\n this._state.pipConfig = pipConfiguration;\n NativePlayerModule.setPipConfig(this._view.nativeHandle, pipConfiguration);\n }\n\n get backgroundAudioConfiguration(): BackgroundAudioConfiguration {\n return this._state.backgroundAudioConfig;\n }\n\n set backgroundAudioConfiguration(backgroundAudioConfiguration: BackgroundAudioConfiguration) {\n this._state.backgroundAudioConfig = backgroundAudioConfiguration;\n NativePlayerModule.setBackgroundAudioConfig(this._view.nativeHandle, backgroundAudioConfiguration);\n }\n\n get presentationMode(): PresentationMode {\n return this._state.presentationMode;\n }\n\n set presentationMode(presentationMode: PresentationMode) {\n this._state.presentationMode = presentationMode;\n NativePlayerModule.setPresentationMode(this._view.nativeHandle, presentationMode);\n }\n\n get muted(): boolean {\n return this._state.muted;\n }\n\n set muted(muted: boolean) {\n this._state.muted = muted;\n NativePlayerModule.setMuted(this._view.nativeHandle, muted);\n }\n\n get seeking(): boolean {\n return this._state.seeking;\n }\n\n get paused(): boolean {\n return this._state.paused;\n }\n\n get playbackRate(): number {\n return this._state.playbackRate;\n }\n\n set playbackRate(playbackRate: number) {\n this._state.playbackRate = playbackRate;\n NativePlayerModule.setPlaybackRate(this._view.nativeHandle, playbackRate);\n }\n\n get audioTracks(): MediaTrack[] {\n return this._state.audioTracks;\n }\n\n get selectedAudioTrack(): number | undefined {\n return this._state.selectedAudioTrack;\n }\n\n set selectedAudioTrack(trackUid: number | undefined) {\n if (!this.hasValidSource()) {\n return;\n }\n this._state.selectedAudioTrack = trackUid;\n NativePlayerModule.setSelectedAudioTrack(this._view.nativeHandle, trackUid !== undefined ? trackUid : -1);\n }\n\n get videoTracks(): MediaTrack[] {\n return this._state.videoTracks;\n }\n\n get selectedVideoTrack(): number | undefined {\n return this._state.selectedVideoTrack;\n }\n\n set selectedVideoTrack(trackUid: number | undefined) {\n if (!this.hasValidSource()) {\n return;\n }\n this._state.selectedVideoTrack = trackUid;\n this._state.targetVideoQuality = undefined;\n NativePlayerModule.setSelectedVideoTrack(this._view.nativeHandle, trackUid !== undefined ? trackUid : -1);\n }\n\n get textTracks(): TextTrack[] {\n return this._state.textTracks;\n }\n\n get selectedTextTrack(): number | undefined {\n return this._state.selectedTextTrack;\n }\n\n set selectedTextTrack(trackUid: number | undefined) {\n if (!this.hasValidSource()) {\n return;\n }\n this._state.selectedTextTrack = trackUid;\n this.textTracks.forEach((track) => {\n if (track.uid === trackUid) {\n track.mode = TextTrackMode.showing;\n } else if (track.mode === TextTrackMode.showing) {\n track.mode = TextTrackMode.disabled;\n }\n });\n NativePlayerModule.setSelectedTextTrack(this._view.nativeHandle, trackUid !== undefined ? trackUid : -1);\n }\n\n get textTrackStyle(): TextTrackStyle {\n return this._textTrackStyleAdapter;\n }\n\n get source(): SourceDescription | undefined {\n return this._state.source;\n }\n\n set source(source: SourceDescription | undefined) {\n // This is to correctly reset autoplay during a source change.\n this.pause();\n this._state.source = source;\n NativePlayerModule.setSource(this._view.nativeHandle, source);\n // Reset state for play-out of new source\n Object.assign(this._state, {\n playbackRate: 1,\n seeking: false,\n audioTracks: [],\n videoTracks: [],\n textTracks: [],\n seekable: [],\n buffered: [],\n selectedTextTrack: undefined,\n selectedVideoTrack: undefined,\n selectedAudioTrack: undefined,\n targetVideoQuality: undefined,\n });\n }\n\n get targetVideoQuality(): number | number[] | undefined {\n return this._state.targetVideoQuality;\n }\n\n set targetVideoQuality(target: number | number[] | undefined) {\n if (!this.hasValidSource()) {\n return;\n }\n // Always pass an array for targetVideoQuality.\n this._state.targetVideoQuality = !target ? [] : Array.isArray(target) ? target : [target];\n\n // Update local state\n const track = findMediaTrackByUid(this._state.videoTracks, this.selectedVideoTrack);\n if (track) {\n Object.assign(track, { ...track, targetQuality: this._state.targetVideoQuality });\n }\n NativePlayerModule.setTargetVideoQuality(this._view.nativeHandle, this._state.targetVideoQuality);\n }\n\n get volume(): number {\n return this._state.volume;\n }\n\n set volume(volume: number) {\n this._state.volume = volume;\n NativePlayerModule.setVolume(this._view.nativeHandle, volume);\n }\n\n get aspectRatio(): AspectRatio {\n return this._state.aspectRatio;\n }\n\n set aspectRatio(ratio: AspectRatio) {\n this._state.aspectRatio = ratio;\n NativePlayerModule.setAspectRatio(this._view.nativeHandle, ratio);\n }\n\n get keepScreenOn(): boolean {\n return this._state.keepScreenOn;\n }\n\n set keepScreenOn(value: boolean) {\n this._state.keepScreenOn = value;\n if (Platform.OS === 'android') {\n NativePlayerModule.setKeepScreenOn(this._view.nativeHandle, value);\n }\n }\n\n pause(): void {\n if (this.hasValidSource()) {\n this._state.paused = true;\n NativePlayerModule.setPaused(this._view.nativeHandle, true);\n }\n }\n\n play(): void {\n if (this.hasValidSource()) {\n this._state.paused = false;\n NativePlayerModule.setPaused(this._view.nativeHandle, false);\n }\n }\n\n public get version(): PlayerVersion {\n return this._playerVersion;\n }\n\n // @internal\n get nativeHandle(): NativeHandleType {\n return this._view.nativeHandle;\n }\n\n // @internal\n get broadcast(): EventBroadcastAPI {\n return this._externalEventRouter ?? (this._externalEventRouter = new EventBroadcastAdapter(this));\n }\n\n initializeFromNativePlayer_(version: PlayerVersion, state: NativePlayerState | undefined) {\n this._playerVersion = version;\n if (state) {\n Object.assign(this._state, state);\n this._castAdapter.init_();\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["DefaultEventDispatcher","addTextTrackCue","addTrack","AspectRatio","findMediaTrackByUid","findTextTrackByUid","MediaTrackEventType","MediaTrackType","PlayerEventType","PresentationMode","removeTextTrackCue","removeTrack","TextTrackEventType","TextTrackMode","TrackListEventType","THEOplayerNativeAdsAdapter","THEOplayerNativeCastAdapter","AbrAdapter","NativeModules","Platform","StatusBar","TextTrackStyleAdapter","EventBroadcastAdapter","NativePlayerModule","THEORCTPlayerModule","defaultPlayerState","source","undefined","autoplay","paused","seekable","buffered","pipConfig","startsAutomatically","backgroundAudioConfig","enabled","presentationMode","inline","muted","seeking","volume","currentTime","duration","NaN","playbackRate","preload","aspectRatio","FIT","keepScreenOn","audioTracks","videoTracks","textTracks","targetVideoQuality","selectedVideoTrack","selectedAudioTrack","selectedTextTrack","THEOplayerAdapter","constructor","view","initialState","arguments","length","_defineProperty","applyAutoplay","_state","event","OS","setHidden","fullscreen","isFinite","start","end","_event$seekable","_event$buffered","sort","a","b","subType","cue","trackUid","track","ADD_CUE","REMOVE_CUE","ADD_TRACK","REMOVE_TRACK","CHANGE_TRACK","trackType","tracks","VIDEO","ACTIVE_QUALITY_CHANGED","Object","assign","activeQuality","qualities","isAudio","AUDIO","_view","_adsAdapter","_castAdapter","_abrAdapter","_textTrackStyleAdapter","addEventListener","SOURCE_CHANGE","onSourceChange","LOADED_METADATA","onLoadedMetadata","PAUSE","onPause","PLAYING","onPlaying","TIME_UPDATE","onTimeupdate","DURATION_CHANGE","onDurationChange","RATE_CHANGE","onRateChange","SEEKING","onSeeking","SEEKED","onSeeked","PROGRESS","onProgress","TEXT_TRACK_LIST","onTextTrackList","TEXT_TRACK","onTextTrack","MEDIA_TRACK","onMediaTrack","MEDIA_TRACK_LIST","onMediaTrackList","PRESENTATIONMODE_CHANGE","onPresentationModeChange","hasValidSource","abr","ads","play","pause","type","setPreload","nativeHandle","seekableEnd","ranges","cast","isNaN","seekTime","Infinity","setCurrentTime","pipConfiguration","setPipConfig","backgroundAudioConfiguration","setBackgroundAudioConfig","setPresentationMode","setMuted","setPlaybackRate","setSelectedAudioTrack","setSelectedVideoTrack","forEach","uid","mode","showing","disabled","setSelectedTextTrack","textTrackStyle","setSource","target","Array","isArray","targetQuality","setTargetVideoQuality","setVolume","ratio","setAspectRatio","value","setKeepScreenOn","setPaused","version","_playerVersion","broadcast","_externalEventRouter","initializeFromNativePlayer_","state","init_"],"sources":["THEOplayerAdapter.ts"],"sourcesContent":["import { DefaultEventDispatcher } from './event/DefaultEventDispatcher';\nimport type {\n ABRConfiguration,\n AdsAPI,\n CastAPI,\n DurationChangeEvent,\n EventBroadcastAPI,\n LoadedMetadataEvent,\n MediaTrack,\n MediaTrackEvent,\n MediaTrackListEvent,\n NativeHandleType,\n PiPConfiguration,\n PlayerEventMap,\n PresentationModeChangeEvent,\n ProgressEvent,\n RateChangeEvent,\n SourceDescription,\n TextTrack,\n TextTrackEvent,\n TextTrackListEvent,\n THEOplayer,\n THEOplayerView,\n TimeUpdateEvent,\n} from 'react-native-theoplayer';\nimport {\n addTextTrackCue,\n addTrack,\n AspectRatio,\n BackgroundAudioConfiguration,\n findMediaTrackByUid,\n findTextTrackByUid,\n MediaTrackEventType,\n MediaTrackType,\n PlayerEventType,\n PlayerVersion,\n PreloadType,\n PresentationMode,\n removeTextTrackCue,\n removeTrack,\n TextTrackEventType,\n TextTrackMode,\n TextTrackStyle,\n TrackListEventType,\n} from 'react-native-theoplayer';\nimport { THEOplayerNativeAdsAdapter } from './ads/THEOplayerNativeAdsAdapter';\nimport { THEOplayerNativeCastAdapter } from './cast/THEOplayerNativeCastAdapter';\nimport { AbrAdapter } from './abr/AbrAdapter';\nimport { NativeModules, Platform, StatusBar } from 'react-native';\nimport { TextTrackStyleAdapter } from './track/TextTrackStyleAdapter';\nimport type { NativePlayerState } from './NativePlayerState';\nimport { EventBroadcastAdapter } from './broadcast/EventBroadcastAdapter';\n\nconst NativePlayerModule = NativeModules.THEORCTPlayerModule;\n\nconst defaultPlayerState: NativePlayerState = {\n source: undefined,\n autoplay: false,\n paused: false,\n seekable: [],\n buffered: [],\n pipConfig: { startsAutomatically: false },\n backgroundAudioConfig: { enabled: false },\n presentationMode: PresentationMode.inline,\n muted: false,\n seeking: false,\n volume: 1,\n currentTime: 0,\n duration: NaN,\n playbackRate: 1,\n preload: 'none',\n aspectRatio: AspectRatio.FIT,\n keepScreenOn: true,\n audioTracks: [],\n videoTracks: [],\n textTracks: [],\n targetVideoQuality: undefined,\n selectedVideoTrack: undefined,\n selectedAudioTrack: undefined,\n selectedTextTrack: undefined,\n};\n\nexport class THEOplayerAdapter extends DefaultEventDispatcher<PlayerEventMap> implements THEOplayer {\n private readonly _view: THEOplayerView;\n private readonly _state: NativePlayerState;\n private readonly _adsAdapter: THEOplayerNativeAdsAdapter;\n private readonly _castAdapter: THEOplayerNativeCastAdapter;\n private readonly _abrAdapter: AbrAdapter;\n private readonly _textTrackStyleAdapter: TextTrackStyleAdapter;\n private _externalEventRouter: EventBroadcastAPI | undefined = undefined;\n private _playerVersion!: PlayerVersion;\n\n constructor(view: THEOplayerView, initialState: NativePlayerState = defaultPlayerState) {\n super();\n this._view = view;\n this._state = { ...initialState };\n this._adsAdapter = new THEOplayerNativeAdsAdapter(this._view);\n this._castAdapter = new THEOplayerNativeCastAdapter(this, this._view);\n this._abrAdapter = new AbrAdapter(this._view);\n this._textTrackStyleAdapter = new TextTrackStyleAdapter(this._view);\n\n this.addEventListener(PlayerEventType.SOURCE_CHANGE, this.onSourceChange);\n this.addEventListener(PlayerEventType.LOADED_METADATA, this.onLoadedMetadata);\n this.addEventListener(PlayerEventType.PAUSE, this.onPause);\n this.addEventListener(PlayerEventType.PLAYING, this.onPlaying);\n this.addEventListener(PlayerEventType.TIME_UPDATE, this.onTimeupdate);\n this.addEventListener(PlayerEventType.DURATION_CHANGE, this.onDurationChange);\n this.addEventListener(PlayerEventType.RATE_CHANGE, this.onRateChange);\n this.addEventListener(PlayerEventType.SEEKING, this.onSeeking);\n this.addEventListener(PlayerEventType.SEEKED, this.onSeeked);\n this.addEventListener(PlayerEventType.PROGRESS, this.onProgress);\n this.addEventListener(PlayerEventType.TEXT_TRACK_LIST, this.onTextTrackList);\n this.addEventListener(PlayerEventType.TEXT_TRACK, this.onTextTrack);\n this.addEventListener(PlayerEventType.MEDIA_TRACK, this.onMediaTrack);\n this.addEventListener(PlayerEventType.MEDIA_TRACK_LIST, this.onMediaTrackList);\n this.addEventListener(PlayerEventType.PRESENTATIONMODE_CHANGE, this.onPresentationModeChange);\n }\n\n private onSourceChange = () => {\n this.applyAutoplay();\n };\n\n private hasValidSource(): boolean {\n return this._state.source !== undefined;\n }\n\n private onPause = () => {\n this._state.paused = true;\n };\n\n private onPlaying = () => {\n this._state.paused = false;\n };\n\n private onPresentationModeChange = (event: PresentationModeChangeEvent) => {\n this._state.presentationMode = event.presentationMode;\n if (Platform.OS === 'ios') {\n StatusBar.setHidden(event.presentationMode === PresentationMode.fullscreen, 'slide');\n }\n };\n\n private onTimeupdate = (event: TimeUpdateEvent) => {\n this._state.currentTime = event.currentTime;\n };\n\n private onLoadedMetadata = (event: LoadedMetadataEvent) => {\n this._state.duration = event.duration;\n this._state.audioTracks = event.audioTracks;\n this._state.videoTracks = event.videoTracks;\n this._state.textTracks = event.textTracks;\n this._state.selectedAudioTrack = event.selectedAudioTrack;\n this._state.selectedVideoTrack = event.selectedVideoTrack;\n this._state.selectedTextTrack = event.selectedTextTrack;\n if (isFinite(this._state.duration)) {\n this._state.seekable = [{ start: 0, end: this._state.duration }];\n }\n };\n\n private onDurationChange = (event: DurationChangeEvent) => {\n this._state.duration = event.duration;\n };\n\n private onRateChange = (event: RateChangeEvent) => {\n this._state.playbackRate = event.playbackRate;\n };\n\n private onSeeking = () => {\n this._state.seeking = true;\n };\n\n private onSeeked = () => {\n this._state.seeking = false;\n };\n\n private onProgress = (event: ProgressEvent) => {\n this._state.seekable = event.seekable?.sort((a, b) => a.end - b.end);\n this._state.buffered = event.buffered?.sort((a, b) => a.end - b.end);\n };\n\n private onTextTrack = (event: TextTrackEvent) => {\n const { subType, cue, trackUid } = event;\n const track = findTextTrackByUid(this._state.textTracks, trackUid);\n switch (subType) {\n case TextTrackEventType.ADD_CUE:\n addTextTrackCue(track, cue);\n break;\n case TextTrackEventType.REMOVE_CUE:\n removeTextTrackCue(track, cue);\n break;\n }\n };\n\n private onTextTrackList = (event: TextTrackListEvent) => {\n const { subType, track } = event;\n switch (subType) {\n case TrackListEventType.ADD_TRACK:\n this._state.textTracks = addTrack(this._state.textTracks, track);\n break;\n case TrackListEventType.REMOVE_TRACK:\n this._state.textTracks = removeTrack(this._state.textTracks, track);\n break;\n case TrackListEventType.CHANGE_TRACK:\n this._state.textTracks = removeTrack(this._state.textTracks, track);\n this._state.textTracks = addTrack(this._state.textTracks, track);\n break;\n }\n };\n\n private onMediaTrack = (event: MediaTrackEvent) => {\n const { subType, trackType, trackUid } = event;\n const tracks = trackType === MediaTrackType.VIDEO ? this._state.videoTracks : this._state.audioTracks;\n const track = findMediaTrackByUid(tracks, trackUid);\n switch (subType) {\n case MediaTrackEventType.ACTIVE_QUALITY_CHANGED:\n // Update local state\n if (track) {\n Object.assign(track, { ...track, activeQuality: event.qualities });\n }\n break;\n }\n };\n\n private onMediaTrackList = (event: MediaTrackListEvent) => {\n const { subType, trackType, track } = event;\n const isAudio = trackType === MediaTrackType.AUDIO;\n switch (subType) {\n case TrackListEventType.ADD_TRACK:\n if (isAudio) {\n this._state.audioTracks = addTrack(this._state.audioTracks, track);\n } else {\n this._state.videoTracks = addTrack(this._state.videoTracks, track);\n }\n break;\n case TrackListEventType.REMOVE_TRACK:\n if (isAudio) {\n this._state.audioTracks = removeTrack(this._state.audioTracks, track);\n } else {\n this._state.videoTracks = removeTrack(this._state.videoTracks, track);\n }\n break;\n case TrackListEventType.CHANGE_TRACK:\n if (isAudio) {\n this._state.audioTracks = removeTrack(this._state.audioTracks, track);\n this._state.audioTracks = addTrack(this._state.audioTracks, track);\n } else {\n this._state.videoTracks = removeTrack(this._state.videoTracks, track);\n this._state.videoTracks = addTrack(this._state.videoTracks, track);\n }\n break;\n }\n };\n\n get abr(): ABRConfiguration | undefined {\n return Platform.OS === 'android' ? this._abrAdapter : undefined;\n }\n\n get ads(): AdsAPI {\n return this._adsAdapter;\n }\n\n private applyAutoplay() {\n if (!this.hasValidSource()) {\n return;\n }\n if (this._state.autoplay) {\n this.play();\n } else {\n this.pause();\n }\n }\n\n set autoplay(autoplay: boolean) {\n this._state.autoplay = autoplay;\n\n // Apply autoplay in case a source was already set.\n // If autoplay is changed before setting a source, `onSourceChange` applies autoplay.\n this.applyAutoplay();\n }\n\n get autoplay(): boolean {\n return this._state.autoplay;\n }\n\n set preload(type: PreloadType) {\n this._state.preload = type;\n NativePlayerModule.setPreload(this._view.nativeHandle, type);\n }\n\n get preload(): PreloadType {\n return this._state.preload;\n }\n\n get seekable() {\n return this._state.seekable;\n }\n\n private seekableEnd(): number {\n const ranges = this.seekable;\n return ranges.length === 0 ? 0 : ranges[ranges.length - 1].end;\n }\n\n get buffered() {\n return this._state.buffered;\n }\n\n get cast(): CastAPI {\n return this._castAdapter;\n }\n\n get currentTime(): number {\n return this._state.currentTime;\n }\n\n set currentTime(currentTime: number) {\n if (!this.hasValidSource()) {\n return;\n }\n\n if (isNaN(currentTime)) {\n return;\n }\n\n // Sanitise currentTime\n let seekTime = currentTime;\n if (currentTime === Infinity) {\n seekTime = this.seekableEnd();\n }\n\n this._state.currentTime = seekTime;\n NativePlayerModule.setCurrentTime(this._view.nativeHandle, seekTime);\n }\n\n get duration(): number {\n return this._state.duration;\n }\n\n get pipConfiguration(): PiPConfiguration {\n return this._state.pipConfig;\n }\n\n set pipConfiguration(pipConfiguration: PiPConfiguration) {\n this._state.pipConfig = pipConfiguration;\n NativePlayerModule.setPipConfig(this._view.nativeHandle, pipConfiguration);\n }\n\n get backgroundAudioConfiguration(): BackgroundAudioConfiguration {\n return this._state.backgroundAudioConfig;\n }\n\n set backgroundAudioConfiguration(backgroundAudioConfiguration: BackgroundAudioConfiguration) {\n this._state.backgroundAudioConfig = backgroundAudioConfiguration;\n NativePlayerModule.setBackgroundAudioConfig(this._view.nativeHandle, backgroundAudioConfiguration);\n }\n\n get presentationMode(): PresentationMode {\n return this._state.presentationMode;\n }\n\n set presentationMode(presentationMode: PresentationMode) {\n this._state.presentationMode = presentationMode;\n NativePlayerModule.setPresentationMode(this._view.nativeHandle, presentationMode);\n }\n\n get muted(): boolean {\n return this._state.muted;\n }\n\n set muted(muted: boolean) {\n this._state.muted = muted;\n NativePlayerModule.setMuted(this._view.nativeHandle, muted);\n }\n\n get seeking(): boolean {\n return this._state.seeking;\n }\n\n get paused(): boolean {\n return this._state.paused;\n }\n\n get playbackRate(): number {\n return this._state.playbackRate;\n }\n\n set playbackRate(playbackRate: number) {\n this._state.playbackRate = playbackRate;\n NativePlayerModule.setPlaybackRate(this._view.nativeHandle, playbackRate);\n }\n\n get audioTracks(): MediaTrack[] {\n return this._state.audioTracks;\n }\n\n get selectedAudioTrack(): number | undefined {\n return this._state.selectedAudioTrack;\n }\n\n set selectedAudioTrack(trackUid: number | undefined) {\n if (!this.hasValidSource()) {\n return;\n }\n this._state.selectedAudioTrack = trackUid;\n NativePlayerModule.setSelectedAudioTrack(this._view.nativeHandle, trackUid !== undefined ? trackUid : -1);\n }\n\n get videoTracks(): MediaTrack[] {\n return this._state.videoTracks;\n }\n\n get selectedVideoTrack(): number | undefined {\n return this._state.selectedVideoTrack;\n }\n\n set selectedVideoTrack(trackUid: number | undefined) {\n if (!this.hasValidSource()) {\n return;\n }\n this._state.selectedVideoTrack = trackUid;\n this._state.targetVideoQuality = undefined;\n NativePlayerModule.setSelectedVideoTrack(this._view.nativeHandle, trackUid !== undefined ? trackUid : -1);\n }\n\n get textTracks(): TextTrack[] {\n return this._state.textTracks;\n }\n\n get selectedTextTrack(): number | undefined {\n return this._state.selectedTextTrack;\n }\n\n set selectedTextTrack(trackUid: number | undefined) {\n if (!this.hasValidSource()) {\n return;\n }\n this._state.selectedTextTrack = trackUid;\n this.textTracks.forEach((track) => {\n if (track.uid === trackUid) {\n track.mode = TextTrackMode.showing;\n } else if (track.mode === TextTrackMode.showing) {\n track.mode = TextTrackMode.disabled;\n }\n });\n NativePlayerModule.setSelectedTextTrack(this._view.nativeHandle, trackUid !== undefined ? trackUid : -1);\n }\n\n get textTrackStyle(): TextTrackStyle {\n return this._textTrackStyleAdapter;\n }\n\n get source(): SourceDescription | undefined {\n return this._state.source;\n }\n\n set source(source: SourceDescription | undefined) {\n // This is to correctly reset autoplay during a source change.\n this.pause();\n this._state.source = source;\n NativePlayerModule.setSource(this._view.nativeHandle, source);\n // Reset state for play-out of new source\n Object.assign(this._state, {\n playbackRate: 1,\n seeking: false,\n audioTracks: [],\n videoTracks: [],\n textTracks: [],\n seekable: [],\n buffered: [],\n selectedTextTrack: undefined,\n selectedVideoTrack: undefined,\n selectedAudioTrack: undefined,\n targetVideoQuality: undefined,\n });\n }\n\n get targetVideoQuality(): number | number[] | undefined {\n return this._state.targetVideoQuality;\n }\n\n set targetVideoQuality(target: number | number[] | undefined) {\n if (!this.hasValidSource()) {\n return;\n }\n // Always pass an array for targetVideoQuality.\n this._state.targetVideoQuality = !target ? [] : Array.isArray(target) ? target : [target];\n\n // Update local state\n const track = findMediaTrackByUid(this._state.videoTracks, this.selectedVideoTrack);\n if (track) {\n Object.assign(track, { ...track, targetQuality: this._state.targetVideoQuality });\n }\n NativePlayerModule.setTargetVideoQuality(this._view.nativeHandle, this._state.targetVideoQuality);\n }\n\n get volume(): number {\n return this._state.volume;\n }\n\n set volume(volume: number) {\n this._state.volume = volume;\n NativePlayerModule.setVolume(this._view.nativeHandle, volume);\n }\n\n get aspectRatio(): AspectRatio {\n return this._state.aspectRatio;\n }\n\n set aspectRatio(ratio: AspectRatio) {\n this._state.aspectRatio = ratio;\n NativePlayerModule.setAspectRatio(this._view.nativeHandle, ratio);\n }\n\n get keepScreenOn(): boolean {\n return this._state.keepScreenOn;\n }\n\n set keepScreenOn(value: boolean) {\n this._state.keepScreenOn = value;\n if (Platform.OS === 'android') {\n NativePlayerModule.setKeepScreenOn(this._view.nativeHandle, value);\n }\n }\n\n pause(): void {\n if (this.hasValidSource()) {\n this._state.paused = true;\n NativePlayerModule.setPaused(this._view.nativeHandle, true);\n }\n }\n\n play(): void {\n if (this.hasValidSource()) {\n this._state.paused = false;\n NativePlayerModule.setPaused(this._view.nativeHandle, false);\n }\n }\n\n public get version(): PlayerVersion {\n return this._playerVersion;\n }\n\n // @internal\n get nativeHandle(): NativeHandleType {\n return this._view.nativeHandle;\n }\n\n // @internal\n get broadcast(): EventBroadcastAPI {\n return this._externalEventRouter ?? (this._externalEventRouter = new EventBroadcastAdapter(this));\n }\n\n initializeFromNativePlayer_(version: PlayerVersion, state: NativePlayerState | undefined) {\n this._playerVersion = version;\n if (state) {\n Object.assign(this._state, state);\n }\n this._castAdapter.init_();\n }\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-theoplayer",
3
- "version": "3.8.0",
3
+ "version": "3.9.1",
4
4
  "description": "A THEOplayer video component for react-native.",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -22,7 +22,7 @@ Pod::Spec.new do |s|
22
22
  s.license = package["license"]
23
23
  s.authors = package["author"]
24
24
 
25
- s.platforms = { :ios => "12.0", :tvos => "12.0" }
25
+ s.platforms = { :ios => "13.0", :tvos => "13.0" }
26
26
  s.source = { :git => "https://www.theoplayer.com/.git", :tag => "#{s.version}" }
27
27
 
28
28
  s.source_files = 'ios/*.{h,m,swift}', 'ios/ads/*.swift', 'ios/casting/*.swift', 'ios/contentprotection/*.swift', 'ios/pip/*.swift', 'ios/backgroundAudio/*.swift', 'ios/cache/*.swift', 'ios/sideloadedMetadata/*.swift', 'ios/eventBroadcasting/*.swift' , 'ios/ui/*.swift', 'ios/presentationMode/*.swift'
@@ -50,7 +50,7 @@ Pod::Spec.new do |s|
50
50
  if theofeatures.include?("CHROMECAST")
51
51
  puts "Adding THEOplayer-Integration-GoogleCast"
52
52
  s.ios.dependency "THEOplayer-Integration-GoogleCast/Base", "~> 6.9"
53
- s.ios.dependency "THEOplayer-Integration-GoogleCast/Dependencies", "~> 6.9"
53
+ s.ios.dependency "google-cast-sdk-dynamic-xcframework", "~> 4.8"
54
54
  end
55
55
  if theofeatures.include?("SIDELOADED_TEXTTRACKS")
56
56
  puts "Adding THEOplayer-Connector-SideloadedSubtitle"
@@ -552,7 +552,7 @@ export class THEOplayerAdapter extends DefaultEventDispatcher<PlayerEventMap> im
552
552
  this._playerVersion = version;
553
553
  if (state) {
554
554
  Object.assign(this._state, state);
555
- this._castAdapter.init_();
556
555
  }
556
+ this._castAdapter.init_();
557
557
  }
558
558
  }