react-native-theoplayer 1.7.2 → 1.8.0
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/README.md +2 -0
- package/android/src/main/java/com/theoplayer/PlayerConfigAdapter.kt +115 -0
- package/android/src/main/java/com/theoplayer/PlayerEventEmitter.kt +648 -0
- package/android/src/main/java/com/theoplayer/ReactTHEOplayerPackage.kt +23 -0
- package/android/src/main/java/com/theoplayer/ReactTHEOplayerView.kt +446 -0
- package/android/src/main/java/com/theoplayer/ReactTHEOplayerViewManager.kt +117 -0
- package/android/src/main/java/com/theoplayer/{TimeUpdateRate.java → TimeUpdateRate.kt} +2 -2
- package/android/src/main/java/com/theoplayer/ads/AdAdapter.kt +161 -0
- package/android/src/main/java/com/theoplayer/ads/AdEventAdapter.kt +90 -0
- package/android/src/main/java/com/theoplayer/ads/AdsModule.kt +140 -0
- package/android/src/main/java/com/theoplayer/cast/CastEventAdapter.kt +81 -0
- package/android/src/main/java/com/theoplayer/cast/CastModule.kt +75 -0
- package/android/src/main/java/com/theoplayer/drm/ContentProtectionAdapter.kt +2 -2
- package/android/src/main/java/com/theoplayer/drm/ContentProtectionModule.kt +1 -2
- package/android/src/main/java/com/theoplayer/drm/ProxyContentProtectionIntegration.kt +1 -2
- package/android/src/main/java/com/theoplayer/drm/ProxyContentProtectionIntegrationFactory.kt +3 -5
- package/android/src/main/java/com/theoplayer/source/SourceAdapter.kt +402 -0
- package/android/src/main/java/com/theoplayer/track/MediaTrackEventType.kt +6 -0
- package/android/src/main/java/com/theoplayer/track/MediaTrackType.kt +6 -0
- package/android/src/main/java/com/theoplayer/track/QualityListAdapter.kt +43 -0
- package/android/src/main/java/com/theoplayer/track/QualityListFilter.kt +28 -0
- package/android/src/main/java/com/theoplayer/track/TextTrackCueEventType.kt +10 -0
- package/android/src/main/java/com/theoplayer/track/TrackEventType.kt +7 -0
- package/android/src/main/java/com/theoplayer/track/TrackListAdapter.kt +219 -0
- package/android/src/main/java/com/theoplayer/util/ViewResolver.kt +19 -0
- package/ios/THEOplayerRCTAdAggregator.swift +12 -6
- package/ios/THEOplayerRCTAdsAPI.swift +39 -40
- package/ios/THEOplayerRCTBridge.m +52 -1
- package/ios/THEOplayerRCTCastAPI.swift +275 -0
- package/ios/THEOplayerRCTDebug.swift +3 -0
- package/ios/THEOplayerRCTSourceDescriptionBuilder.swift +91 -19
- package/ios/{THEOplayerRCTMetadataAggregator.swift → THEOplayerRCTTrackMetadataAggregator.swift} +12 -12
- package/ios/THEOplayerRCTView.swift +104 -24
- package/ios/THEOplayerRCTViewAdEventHandler.swift +2 -2
- package/ios/THEOplayerRCTViewCastEventHandler.swift +124 -0
- package/ios/THEOplayerRCTViewMainEventHandler.swift +1 -1
- package/ios/THEOplayerRCTViewMediaTrackEventHandler.swift +6 -6
- package/ios/THEOplayerRCTViewTextTrackEventHandler.swift +5 -5
- package/ios/custom/Frameworks/ios/put_custom_ios_xcframework_here.txt +1 -1
- package/ios/custom/Frameworks/tvos/put_custom_tvos_xcframework_here.txt +2 -0
- package/ios/custom/react-native-theoplayer_custom.podspec +46 -0
- package/lib/commonjs/api/THEOplayerView.js.map +1 -1
- package/lib/commonjs/api/barrel.js +21 -8
- package/lib/commonjs/api/barrel.js.map +1 -1
- package/lib/commonjs/api/cast/Airplay.js +6 -0
- package/lib/commonjs/api/cast/Airplay.js.map +1 -0
- package/lib/commonjs/api/cast/CastAPI.js +6 -0
- package/lib/commonjs/api/cast/CastAPI.js.map +1 -0
- package/lib/commonjs/api/cast/CastConfiguration.js +2 -0
- package/lib/commonjs/api/cast/CastConfiguration.js.map +1 -0
- package/lib/commonjs/api/cast/CastState.js +2 -0
- package/lib/commonjs/api/cast/CastState.js.map +1 -0
- package/lib/commonjs/api/cast/Chromecast.js +6 -0
- package/lib/commonjs/api/cast/Chromecast.js.map +1 -0
- package/lib/commonjs/api/cast/barrel.js +71 -0
- package/lib/commonjs/api/cast/barrel.js.map +1 -0
- package/lib/commonjs/api/config/PlayerConfiguration.js.map +1 -1
- package/lib/commonjs/api/error/ChromecastError.js +2 -0
- package/lib/commonjs/api/error/ChromecastError.js.map +1 -0
- package/lib/commonjs/api/error/barrel.js +13 -0
- package/lib/commonjs/api/error/barrel.js.map +1 -1
- package/lib/commonjs/api/event/CastEvent.js +21 -0
- package/lib/commonjs/api/event/CastEvent.js.map +1 -0
- package/lib/commonjs/api/event/barrel.js +25 -12
- package/lib/commonjs/api/event/barrel.js.map +1 -1
- package/lib/commonjs/api/source/SourceDescription.js.map +1 -1
- package/lib/commonjs/api/source/barrel.js +13 -0
- package/lib/commonjs/api/source/barrel.js.map +1 -1
- package/lib/commonjs/api/source/metadata/MetadataDescription.js +2 -0
- package/lib/commonjs/api/source/metadata/MetadataDescription.js.map +1 -0
- package/lib/commonjs/api/source/metadata/barrel.js +19 -0
- package/lib/commonjs/api/source/metadata/barrel.js.map +1 -0
- package/lib/commonjs/internal/THEOplayerView.js +16 -0
- package/lib/commonjs/internal/THEOplayerView.js.map +1 -1
- package/lib/commonjs/internal/THEOplayerView.web.js +9 -0
- package/lib/commonjs/internal/THEOplayerView.web.js.map +1 -1
- package/lib/commonjs/internal/cast/THEOplayerNativeAirplay.js +34 -0
- package/lib/commonjs/internal/cast/THEOplayerNativeAirplay.js.map +1 -0
- package/lib/commonjs/internal/cast/THEOplayerNativeCastApi.js +46 -0
- package/lib/commonjs/internal/cast/THEOplayerNativeCastApi.js.map +1 -0
- package/lib/commonjs/internal/cast/THEOplayerNativeChromecast.js +42 -0
- package/lib/commonjs/internal/cast/THEOplayerNativeChromecast.js.map +1 -0
- package/lib/commonjs/internal/cast/THEOplayerWebCastApi.js +31 -0
- package/lib/commonjs/internal/cast/THEOplayerWebCastApi.js.map +1 -0
- package/lib/commonjs/internal/web/stub/CastButtonStub.js +16 -0
- package/lib/commonjs/internal/web/stub/CastButtonStub.js.map +1 -0
- package/lib/module/api/THEOplayerView.js.map +1 -1
- package/lib/module/api/barrel.js +1 -0
- package/lib/module/api/barrel.js.map +1 -1
- package/lib/module/api/cast/Airplay.js +2 -0
- package/lib/module/api/cast/Airplay.js.map +1 -0
- package/lib/module/api/cast/CastAPI.js +2 -0
- package/lib/module/api/cast/CastAPI.js.map +1 -0
- package/lib/module/api/cast/CastConfiguration.js +2 -0
- package/lib/module/api/cast/CastConfiguration.js.map +1 -0
- package/lib/module/api/cast/CastState.js +2 -0
- package/lib/module/api/cast/CastState.js.map +1 -0
- package/lib/module/api/cast/Chromecast.js +2 -0
- package/lib/module/api/cast/Chromecast.js.map +1 -0
- package/lib/module/api/cast/barrel.js +6 -0
- package/lib/module/api/cast/barrel.js.map +1 -0
- package/lib/module/api/config/PlayerConfiguration.js.map +1 -1
- package/lib/module/api/error/ChromecastError.js +2 -0
- package/lib/module/api/error/ChromecastError.js.map +1 -0
- package/lib/module/api/error/barrel.js +1 -0
- package/lib/module/api/error/barrel.js.map +1 -1
- package/lib/module/api/event/CastEvent.js +14 -0
- package/lib/module/api/event/CastEvent.js.map +1 -0
- package/lib/module/api/event/barrel.js +2 -1
- package/lib/module/api/event/barrel.js.map +1 -1
- package/lib/module/api/source/SourceDescription.js.map +1 -1
- package/lib/module/api/source/barrel.js +1 -0
- package/lib/module/api/source/barrel.js.map +1 -1
- package/lib/module/api/source/metadata/MetadataDescription.js +2 -0
- package/lib/module/api/source/metadata/MetadataDescription.js.map +1 -0
- package/lib/module/api/source/metadata/barrel.js +2 -0
- package/lib/module/api/source/metadata/barrel.js.map +1 -0
- package/lib/module/internal/THEOplayerView.js +15 -0
- package/lib/module/internal/THEOplayerView.js.map +1 -1
- package/lib/module/internal/THEOplayerView.web.js +8 -0
- package/lib/module/internal/THEOplayerView.web.js.map +1 -1
- package/lib/module/internal/cast/THEOplayerNativeAirplay.js +24 -0
- package/lib/module/internal/cast/THEOplayerNativeAirplay.js.map +1 -0
- package/lib/module/internal/cast/THEOplayerNativeCastApi.js +34 -0
- package/lib/module/internal/cast/THEOplayerNativeCastApi.js.map +1 -0
- package/lib/module/internal/cast/THEOplayerNativeChromecast.js +32 -0
- package/lib/module/internal/cast/THEOplayerNativeChromecast.js.map +1 -0
- package/lib/module/internal/cast/THEOplayerWebCastApi.js +22 -0
- package/lib/module/internal/cast/THEOplayerWebCastApi.js.map +1 -0
- package/lib/module/internal/web/stub/CastButtonStub.js +6 -0
- package/lib/module/internal/web/stub/CastButtonStub.js.map +1 -0
- package/lib/typescript/lib/commonjs/api/cast/Airplay.d.ts +1 -0
- package/lib/typescript/lib/commonjs/api/cast/CastAPI.d.ts +1 -0
- package/lib/typescript/lib/commonjs/api/cast/CastConfiguration.d.ts +0 -0
- package/lib/typescript/lib/commonjs/api/cast/CastState.d.ts +0 -0
- package/lib/typescript/lib/commonjs/api/cast/Chromecast.d.ts +1 -0
- package/lib/typescript/lib/commonjs/api/cast/barrel.d.ts +1 -0
- package/lib/typescript/lib/commonjs/api/error/ChromecastError.d.ts +0 -0
- package/lib/typescript/lib/commonjs/api/event/CastEvent.d.ts +2 -0
- package/lib/typescript/lib/commonjs/api/source/metadata/MetadataDescription.d.ts +0 -0
- package/lib/typescript/lib/commonjs/api/source/metadata/barrel.d.ts +1 -0
- package/lib/typescript/lib/commonjs/internal/THEOplayerView.d.ts +3 -0
- package/lib/typescript/lib/commonjs/internal/THEOplayerView.web.d.ts +3 -0
- package/lib/typescript/lib/commonjs/internal/cast/THEOplayerNativeAirplay.d.ts +9 -0
- package/lib/typescript/lib/commonjs/internal/cast/THEOplayerNativeCastApi.d.ts +12 -0
- package/lib/typescript/lib/commonjs/internal/cast/THEOplayerNativeChromecast.d.ts +11 -0
- package/lib/typescript/lib/commonjs/internal/cast/THEOplayerWebCastApi.d.ts +8 -0
- package/lib/typescript/lib/commonjs/internal/web/stub/CastButtonStub.d.ts +2 -0
- package/lib/typescript/lib/module/api/barrel.d.ts +1 -0
- package/lib/typescript/lib/module/api/cast/Airplay.d.ts +1 -0
- package/lib/typescript/lib/module/api/cast/CastAPI.d.ts +1 -0
- package/lib/typescript/lib/module/api/cast/CastConfiguration.d.ts +0 -0
- package/lib/typescript/lib/module/api/cast/CastState.d.ts +0 -0
- package/lib/typescript/lib/module/api/cast/Chromecast.d.ts +1 -0
- package/lib/typescript/lib/module/api/cast/barrel.d.ts +3 -0
- package/lib/typescript/lib/module/api/error/ChromecastError.d.ts +0 -0
- package/lib/typescript/lib/module/api/event/CastEvent.d.ts +1 -0
- package/lib/typescript/lib/module/api/event/barrel.d.ts +2 -1
- package/lib/typescript/lib/module/api/source/barrel.d.ts +1 -0
- package/lib/typescript/lib/module/api/source/metadata/MetadataDescription.d.ts +0 -0
- package/lib/typescript/lib/module/api/source/metadata/barrel.d.ts +1 -0
- package/lib/typescript/lib/module/internal/THEOplayerView.d.ts +3 -0
- package/lib/typescript/lib/module/internal/THEOplayerView.web.d.ts +3 -0
- package/lib/typescript/lib/module/internal/cast/THEOplayerNativeAirplay.d.ts +8 -0
- package/lib/typescript/lib/module/internal/cast/THEOplayerNativeCastApi.d.ts +11 -0
- package/lib/typescript/lib/module/internal/cast/THEOplayerNativeChromecast.d.ts +10 -0
- package/lib/typescript/lib/module/internal/cast/THEOplayerWebCastApi.d.ts +7 -0
- package/lib/typescript/lib/module/internal/web/stub/CastButtonStub.d.ts +2 -0
- package/lib/typescript/src/api/THEOplayerView.d.ts +10 -0
- package/lib/typescript/src/api/barrel.d.ts +1 -0
- package/lib/typescript/src/api/cast/Airplay.d.ts +27 -0
- package/lib/typescript/src/api/cast/CastAPI.d.ts +25 -0
- package/lib/typescript/src/api/cast/CastConfiguration.d.ts +41 -0
- package/lib/typescript/src/api/cast/CastState.d.ts +10 -0
- package/lib/typescript/src/api/cast/Chromecast.d.ts +39 -0
- package/lib/typescript/src/api/cast/barrel.d.ts +5 -0
- package/lib/typescript/src/api/config/PlayerConfiguration.d.ts +6 -1
- package/lib/typescript/src/api/error/ChromecastError.d.ts +34 -0
- package/lib/typescript/src/api/error/barrel.d.ts +1 -0
- package/lib/typescript/src/api/event/CastEvent.d.ts +21 -0
- package/lib/typescript/src/api/event/barrel.d.ts +2 -1
- package/lib/typescript/src/api/source/SourceDescription.d.ts +7 -0
- package/lib/typescript/src/api/source/barrel.d.ts +1 -0
- package/lib/typescript/src/api/source/metadata/MetadataDescription.d.ts +12 -0
- package/lib/typescript/src/api/source/metadata/barrel.d.ts +1 -0
- package/lib/typescript/src/internal/THEOplayerView.d.ts +5 -1
- package/lib/typescript/src/internal/THEOplayerView.web.d.ts +3 -1
- package/lib/typescript/src/internal/cast/THEOplayerNativeAirplay.d.ts +9 -0
- package/lib/typescript/src/internal/cast/THEOplayerNativeCastApi.d.ts +10 -0
- package/lib/typescript/src/internal/cast/THEOplayerNativeChromecast.d.ts +11 -0
- package/lib/typescript/src/internal/cast/THEOplayerWebCastApi.d.ts +9 -0
- package/lib/typescript/src/internal/web/stub/CastButtonStub.d.ts +3 -0
- package/package.json +2 -2
- package/react-native-theoplayer.podspec +2 -2
- package/src/api/THEOplayerView.ts +12 -0
- package/src/api/barrel.ts +1 -0
- package/src/api/cast/Airplay.ts +31 -0
- package/src/api/cast/CastAPI.ts +30 -0
- package/src/api/cast/CastConfiguration.ts +44 -0
- package/src/api/cast/CastState.ts +10 -0
- package/src/api/cast/Chromecast.ts +45 -0
- package/src/api/cast/barrel.ts +5 -0
- package/src/api/config/PlayerConfiguration.ts +7 -1
- package/src/api/error/ChromecastError.ts +46 -0
- package/src/api/error/barrel.ts +1 -0
- package/src/api/event/CastEvent.ts +45 -0
- package/src/api/event/barrel.ts +2 -1
- package/src/api/source/SourceDescription.ts +8 -0
- package/src/api/source/barrel.ts +1 -0
- package/src/api/source/metadata/MetadataDescription.ts +13 -0
- package/src/api/source/metadata/barrel.ts +1 -0
- package/src/internal/THEOplayerView.tsx +17 -0
- package/src/internal/THEOplayerView.web.tsx +8 -1
- package/src/internal/cast/THEOplayerNativeAirplay.ts +22 -0
- package/src/internal/cast/THEOplayerNativeCastApi.ts +28 -0
- package/src/internal/cast/THEOplayerNativeChromecast.ts +30 -0
- package/src/internal/cast/THEOplayerWebCastApi.ts +21 -0
- package/src/internal/web/stub/CastButtonStub.tsx +7 -0
- package/android/src/main/java/com/theoplayer/PlayerConfigHelper.java +0 -70
- package/android/src/main/java/com/theoplayer/ReactTHEOplayerPackage.java +0 -32
- package/android/src/main/java/com/theoplayer/ReactTHEOplayerView.java +0 -525
- package/android/src/main/java/com/theoplayer/ReactTHEOplayerViewManager.java +0 -127
- package/android/src/main/java/com/theoplayer/SourceHelper.java +0 -362
- package/android/src/main/java/com/theoplayer/VideoEventEmitter.java +0 -578
- package/android/src/main/java/com/theoplayer/ads/AdEventAdapter.java +0 -92
- package/android/src/main/java/com/theoplayer/ads/AdInfo.java +0 -168
- package/android/src/main/java/com/theoplayer/ads/AdsModule.java +0 -152
- package/android/src/main/java/com/theoplayer/track/MediaTrackEventType.java +0 -11
- package/android/src/main/java/com/theoplayer/track/MediaTrackType.java +0 -11
- package/android/src/main/java/com/theoplayer/track/QualityListAdapter.java +0 -54
- package/android/src/main/java/com/theoplayer/track/QualityListFilter.java +0 -40
- package/android/src/main/java/com/theoplayer/track/TextTrackCueEventType.java +0 -11
- package/android/src/main/java/com/theoplayer/track/TrackEventType.java +0 -12
- package/android/src/main/java/com/theoplayer/track/TrackListInfo.java +0 -234
- package/android/src/main/java/com/theoplayer/util/ViewResolver.java +0 -42
- package/ios/custom/react-native-theoplayer_custom_ios.podspec +0 -36
|
@@ -1,234 +0,0 @@
|
|
|
1
|
-
package com.theoplayer.track;
|
|
2
|
-
|
|
3
|
-
import androidx.annotation.NonNull;
|
|
4
|
-
|
|
5
|
-
import com.facebook.react.bridge.Arguments;
|
|
6
|
-
import com.facebook.react.bridge.WritableArray;
|
|
7
|
-
import com.facebook.react.bridge.WritableMap;
|
|
8
|
-
import com.theoplayer.android.api.player.track.mediatrack.MediaTrack;
|
|
9
|
-
import com.theoplayer.android.api.player.track.mediatrack.MediaTrackList;
|
|
10
|
-
import com.theoplayer.android.api.player.track.mediatrack.quality.AudioQuality;
|
|
11
|
-
import com.theoplayer.android.api.player.track.mediatrack.quality.Quality;
|
|
12
|
-
import com.theoplayer.android.api.player.track.mediatrack.quality.QualityList;
|
|
13
|
-
import com.theoplayer.android.api.player.track.mediatrack.quality.VideoQuality;
|
|
14
|
-
import com.theoplayer.android.api.player.track.texttrack.TextTrack;
|
|
15
|
-
import com.theoplayer.android.api.player.track.texttrack.TextTrackList;
|
|
16
|
-
import com.theoplayer.android.api.player.track.texttrack.cue.TextTrackCue;
|
|
17
|
-
import com.theoplayer.android.api.player.track.texttrack.cue.TextTrackCueList;
|
|
18
|
-
|
|
19
|
-
import org.json.JSONObject;
|
|
20
|
-
|
|
21
|
-
public class TrackListInfo {
|
|
22
|
-
|
|
23
|
-
private static final String PROP_ID = "id";
|
|
24
|
-
private static final String PROP_UID = "uid";
|
|
25
|
-
private static final String PROP_KIND = "kind";
|
|
26
|
-
private static final String PROP_LANGUAGE = "language";
|
|
27
|
-
private static final String PROP_MODE = "mode";
|
|
28
|
-
private static final String PROP_LABEL = "label";
|
|
29
|
-
private static final String PROP_TYPE = "type";
|
|
30
|
-
private static final String PROP_CODECS = "codecs";
|
|
31
|
-
private static final String PROP_NAME = "name";
|
|
32
|
-
private static final String PROP_SRC = "src";
|
|
33
|
-
private static final String PROP_FORCED = "forced";
|
|
34
|
-
private static final String PROP_AUDIO_SAMPLING_RATE = "audioSamplingRate";
|
|
35
|
-
private static final String PROP_BANDWIDTH = "bandwidth";
|
|
36
|
-
private static final String PROP_QUALITIES = "qualities";
|
|
37
|
-
private static final String PROP_ACTIVE_QUALITY = "activeQuality";
|
|
38
|
-
private static final String PROP_TARGET_QUALITY = "targetQuality";
|
|
39
|
-
private static final String PROP_WIDTH = "width";
|
|
40
|
-
private static final String PROP_HEIGHT = "height";
|
|
41
|
-
private static final String PROP_FRAMERATE = "framerate";
|
|
42
|
-
private static final String PROP_STARTTIME = "startTime";
|
|
43
|
-
private static final String PROP_ENDTIME = "endTime";
|
|
44
|
-
private static final String PROP_CUES = "cues";
|
|
45
|
-
private static final String PROP_CUE_CONTENT = "content";
|
|
46
|
-
|
|
47
|
-
public static WritableArray fromTextTrackList(final TextTrackList textTrackList) {
|
|
48
|
-
WritableArray textTracks = Arguments.createArray();
|
|
49
|
-
for (int i = 0; i < textTrackList.length(); i++) {
|
|
50
|
-
textTracks.pushMap(fromTextTrack(textTrackList.getItem(i)));
|
|
51
|
-
}
|
|
52
|
-
return textTracks;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
public static WritableMap fromTextTrack(final TextTrack textTrack) {
|
|
56
|
-
WritableMap textTrackPayload = Arguments.createMap();
|
|
57
|
-
textTrackPayload.putString(PROP_ID, textTrack.getId());
|
|
58
|
-
textTrackPayload.putInt(PROP_UID, textTrack.getUid());
|
|
59
|
-
textTrackPayload.putString(PROP_KIND, textTrack.getKind());
|
|
60
|
-
textTrackPayload.putString(PROP_LANGUAGE, textTrack.getLanguage());
|
|
61
|
-
textTrackPayload.putString(PROP_MODE, textTrack.getMode().getMode());
|
|
62
|
-
textTrackPayload.putString(PROP_LABEL, textTrack.getLabel());
|
|
63
|
-
textTrackPayload.putString(PROP_TYPE, textTrack.getType().getType());
|
|
64
|
-
|
|
65
|
-
// THEOplayer v3.5+
|
|
66
|
-
textTrackPayload.putString(PROP_SRC, textTrack.getSource());
|
|
67
|
-
textTrackPayload.putBoolean(PROP_FORCED, textTrack.isForced());
|
|
68
|
-
|
|
69
|
-
// Optionally pass cue list.
|
|
70
|
-
final TextTrackCueList cueList = textTrack.getCues();
|
|
71
|
-
if (cueList != null) {
|
|
72
|
-
WritableArray cueListPayload = Arguments.createArray();
|
|
73
|
-
for (TextTrackCue cue : cueList) {
|
|
74
|
-
cueListPayload.pushMap(fromTextTrackCue(cue));
|
|
75
|
-
}
|
|
76
|
-
textTrackPayload.putArray(PROP_CUES, cueListPayload);
|
|
77
|
-
}
|
|
78
|
-
return textTrackPayload;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
public static WritableMap fromTextTrackCue(final TextTrackCue cue) {
|
|
82
|
-
WritableMap cuePayload = Arguments.createMap();
|
|
83
|
-
cuePayload.putString(PROP_ID, cue.getId());
|
|
84
|
-
cuePayload.putDouble(PROP_UID, cue.getUid());
|
|
85
|
-
cuePayload.putDouble(PROP_STARTTIME, (long) (1e03 * cue.getStartTime()));
|
|
86
|
-
cuePayload.putDouble(PROP_ENDTIME, (long) (1e03 * cue.getEndTime()));
|
|
87
|
-
final JSONObject content = cue.getContent();
|
|
88
|
-
if (content != null) {
|
|
89
|
-
cuePayload.putString(PROP_CUE_CONTENT, content.optString("content"));
|
|
90
|
-
}
|
|
91
|
-
return cuePayload;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
static public WritableMap fromQuality(@NonNull final Quality quality) {
|
|
95
|
-
return quality instanceof AudioQuality ? fromAudioQuality((AudioQuality)quality) : fromVideoQuality((VideoQuality) quality);
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
static public WritableMap fromAudioQuality(@NonNull final AudioQuality quality) {
|
|
99
|
-
WritableMap audioQualityPayload = Arguments.createMap();
|
|
100
|
-
audioQualityPayload.putString(PROP_ID, quality.getId());
|
|
101
|
-
audioQualityPayload.putInt(PROP_UID, quality.getUid());
|
|
102
|
-
audioQualityPayload.putString(PROP_CODECS, quality.getCodecs());
|
|
103
|
-
audioQualityPayload.putString(PROP_NAME, quality.getName());
|
|
104
|
-
audioQualityPayload.putDouble(PROP_BANDWIDTH, quality.getBandwidth());
|
|
105
|
-
audioQualityPayload.putDouble(PROP_AUDIO_SAMPLING_RATE, quality.getAudioSamplingRate());
|
|
106
|
-
return audioQualityPayload;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
static public <Q extends Quality> WritableMap fromMediaTrack(@NonNull final MediaTrack<Q> track,
|
|
110
|
-
MediaTrackType trackType) {
|
|
111
|
-
//noinspection unchecked
|
|
112
|
-
return trackType == MediaTrackType.AUDIO ?
|
|
113
|
-
fromAudioTrack((MediaTrack<AudioQuality>)track) :
|
|
114
|
-
fromVideoTrack((MediaTrack<VideoQuality>)track);
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
static public WritableMap fromAudioTrack(@NonNull final MediaTrack<AudioQuality> audioTrack) {
|
|
118
|
-
WritableMap audioTrackPayload = Arguments.createMap();
|
|
119
|
-
audioTrackPayload.putString(PROP_ID, audioTrack.getId());
|
|
120
|
-
audioTrackPayload.putInt(PROP_UID, audioTrack.getUid());
|
|
121
|
-
audioTrackPayload.putString(PROP_KIND, audioTrack.getKind());
|
|
122
|
-
audioTrackPayload.putString(PROP_LABEL, audioTrack.getLabel());
|
|
123
|
-
audioTrackPayload.putString(PROP_LANGUAGE, audioTrack.getLanguage());
|
|
124
|
-
|
|
125
|
-
final QualityList<AudioQuality> qualityList = audioTrack.getQualities();
|
|
126
|
-
WritableArray qualities = Arguments.createArray();
|
|
127
|
-
if (qualityList != null) {
|
|
128
|
-
for (int j = 0; j < qualityList.length(); j++) {
|
|
129
|
-
qualities.pushMap(fromAudioQuality(qualityList.getItem(j)));
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
audioTrackPayload.putArray(PROP_QUALITIES, qualities);
|
|
133
|
-
|
|
134
|
-
final QualityList<AudioQuality> targetQualityList = audioTrack.getTargetQualities();
|
|
135
|
-
WritableArray targetQualities = Arguments.createArray();
|
|
136
|
-
if (targetQualityList != null) {
|
|
137
|
-
for (int j = 0; j < targetQualityList.length(); j++) {
|
|
138
|
-
final AudioQuality quality = targetQualityList.getItem(j);
|
|
139
|
-
WritableMap audioQualityPayload = Arguments.createMap();
|
|
140
|
-
audioQualityPayload.putInt(PROP_UID, quality.getUid());
|
|
141
|
-
targetQualities.pushMap(audioQualityPayload);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
final AudioQuality activeQuality = audioTrack.getActiveQuality();
|
|
145
|
-
if (activeQuality != null) {
|
|
146
|
-
audioTrackPayload.putInt(PROP_ACTIVE_QUALITY, activeQuality.getUid());
|
|
147
|
-
}
|
|
148
|
-
final AudioQuality targetQuality = audioTrack.getTargetQuality();
|
|
149
|
-
if (targetQuality != null) {
|
|
150
|
-
audioTrackPayload.putInt(PROP_TARGET_QUALITY, targetQuality.getUid());
|
|
151
|
-
}
|
|
152
|
-
return audioTrackPayload;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
@NonNull
|
|
156
|
-
public static WritableArray fromAudioTrackList(@NonNull final MediaTrackList<AudioQuality> audioTrackList) {
|
|
157
|
-
WritableArray audioTracks = Arguments.createArray();
|
|
158
|
-
for (int i = 0; i < audioTrackList.length(); i++) {
|
|
159
|
-
audioTracks.pushMap(fromAudioTrack(audioTrackList.getItem(i)));
|
|
160
|
-
}
|
|
161
|
-
return audioTracks;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
static public WritableMap fromVideoQuality(@NonNull final VideoQuality quality) {
|
|
165
|
-
WritableMap videoQualityPayload = Arguments.createMap();
|
|
166
|
-
videoQualityPayload.putString(PROP_ID, quality.getId());
|
|
167
|
-
videoQualityPayload.putInt(PROP_UID, quality.getUid());
|
|
168
|
-
videoQualityPayload.putString(PROP_CODECS, quality.getCodecs());
|
|
169
|
-
videoQualityPayload.putString(PROP_NAME, quality.getName());
|
|
170
|
-
videoQualityPayload.putDouble(PROP_BANDWIDTH, quality.getBandwidth());
|
|
171
|
-
videoQualityPayload.putDouble(PROP_WIDTH, quality.getWidth());
|
|
172
|
-
videoQualityPayload.putDouble(PROP_HEIGHT, quality.getHeight());
|
|
173
|
-
videoQualityPayload.putDouble(PROP_FRAMERATE, quality.getFrameRate());
|
|
174
|
-
return videoQualityPayload;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
static public WritableMap fromVideoTrack(@NonNull final MediaTrack<VideoQuality> videoTrack) {
|
|
178
|
-
WritableMap videoTrackPayload = Arguments.createMap();
|
|
179
|
-
videoTrackPayload.putString(PROP_ID, videoTrack.getId());
|
|
180
|
-
videoTrackPayload.putInt(PROP_UID, videoTrack.getUid());
|
|
181
|
-
videoTrackPayload.putString(PROP_KIND, videoTrack.getKind());
|
|
182
|
-
videoTrackPayload.putString(PROP_LABEL, videoTrack.getLabel());
|
|
183
|
-
videoTrackPayload.putString(PROP_LANGUAGE, videoTrack.getLanguage());
|
|
184
|
-
|
|
185
|
-
final QualityList<VideoQuality> qualityList = videoTrack.getQualities();
|
|
186
|
-
WritableArray qualities = Arguments.createArray();
|
|
187
|
-
|
|
188
|
-
if (qualityList != null) {
|
|
189
|
-
// Sort qualities according to (height, bandwidth)
|
|
190
|
-
final QualityListAdapter<VideoQuality> sortedQualityList = new QualityListAdapter<>(qualityList);
|
|
191
|
-
sortedQualityList.sort(
|
|
192
|
-
(o, t1) ->
|
|
193
|
-
(o.getHeight() == t1.getHeight()) ?
|
|
194
|
-
Long.compare(t1.getBandwidth(), o.getBandwidth()) : Integer.compare(t1.getHeight(), o.getHeight())
|
|
195
|
-
);
|
|
196
|
-
|
|
197
|
-
for (final VideoQuality quality : sortedQualityList) {
|
|
198
|
-
qualities.pushMap(fromVideoQuality(quality));
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
videoTrackPayload.putArray(PROP_QUALITIES, qualities);
|
|
202
|
-
|
|
203
|
-
final QualityList<VideoQuality> targetQualityList = videoTrack.getTargetQualities();
|
|
204
|
-
WritableArray targetQualities = Arguments.createArray();
|
|
205
|
-
if (targetQualityList != null) {
|
|
206
|
-
for (int j = 0; j < targetQualityList.length(); j++) {
|
|
207
|
-
final VideoQuality quality = targetQualityList.getItem(j);
|
|
208
|
-
WritableMap videoQualityPayload = Arguments.createMap();
|
|
209
|
-
videoQualityPayload.putInt(PROP_UID, quality.getUid());
|
|
210
|
-
targetQualities.pushMap(videoQualityPayload);
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
final VideoQuality activeQuality = videoTrack.getActiveQuality();
|
|
215
|
-
if (activeQuality != null) {
|
|
216
|
-
videoTrackPayload.putInt(PROP_ACTIVE_QUALITY, activeQuality.getUid());
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
final VideoQuality targetQuality = videoTrack.getTargetQuality();
|
|
220
|
-
if (targetQuality != null) {
|
|
221
|
-
videoTrackPayload.putInt(PROP_TARGET_QUALITY, targetQuality.getUid());
|
|
222
|
-
}
|
|
223
|
-
return videoTrackPayload;
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
@NonNull
|
|
227
|
-
static public WritableArray fromVideoTrackList(@NonNull final MediaTrackList<VideoQuality> videoTrackList) {
|
|
228
|
-
WritableArray videoTracks = Arguments.createArray();
|
|
229
|
-
for (int i = 0; i < videoTrackList.length(); i++) {
|
|
230
|
-
videoTracks.pushMap(fromVideoTrack(videoTrackList.getItem(i)));
|
|
231
|
-
}
|
|
232
|
-
return videoTracks;
|
|
233
|
-
}
|
|
234
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
package com.theoplayer.util;
|
|
2
|
-
|
|
3
|
-
import android.os.Handler;
|
|
4
|
-
import android.os.Looper;
|
|
5
|
-
import android.view.View;
|
|
6
|
-
|
|
7
|
-
import androidx.annotation.Nullable;
|
|
8
|
-
|
|
9
|
-
import com.facebook.react.bridge.ReactApplicationContext;
|
|
10
|
-
import com.facebook.react.uimanager.UIManagerModule;
|
|
11
|
-
import com.theoplayer.ReactTHEOplayerView;
|
|
12
|
-
|
|
13
|
-
public class ViewResolver {
|
|
14
|
-
private UIManagerModule uiManager;
|
|
15
|
-
|
|
16
|
-
private Handler handler = new Handler(Looper.getMainLooper());
|
|
17
|
-
|
|
18
|
-
private final ReactApplicationContext reactContext;
|
|
19
|
-
|
|
20
|
-
public interface Callback {
|
|
21
|
-
void onResolved(@Nullable ReactTHEOplayerView view);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
public ViewResolver(ReactApplicationContext reactContext) {
|
|
25
|
-
this.reactContext = reactContext;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
public void resolveViewByTag(final Integer tag, Callback callback) {
|
|
29
|
-
if (tag == null) {
|
|
30
|
-
callback.onResolved(null);
|
|
31
|
-
}
|
|
32
|
-
if (uiManager == null) {
|
|
33
|
-
uiManager = reactContext.getNativeModule(UIManagerModule.class);
|
|
34
|
-
}
|
|
35
|
-
if (uiManager == null) {
|
|
36
|
-
callback.onResolved(null);
|
|
37
|
-
}
|
|
38
|
-
handler.post(() -> {
|
|
39
|
-
callback.onResolved((ReactTHEOplayerView)uiManager.resolveView(tag));
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
require "json"
|
|
2
|
-
|
|
3
|
-
package = JSON.parse(File.read(File.join(__dir__, "package.json")))
|
|
4
|
-
|
|
5
|
-
### Collect player feature flags
|
|
6
|
-
theo_features_ios = `sh ./ios/custom/theofeatures.sh ios ./ios/custom/Frameworks/ios/`
|
|
7
|
-
|
|
8
|
-
Pod::Spec.new do |s|
|
|
9
|
-
s.name = "react-native-theoplayer"
|
|
10
|
-
s.version = package["version"]
|
|
11
|
-
s.summary = package["description"]
|
|
12
|
-
s.homepage = package["homepage"]
|
|
13
|
-
s.license = package["license"]
|
|
14
|
-
s.authors = package["author"]
|
|
15
|
-
|
|
16
|
-
s.platforms = { :ios => "11.0", :tvos => "12.0" }
|
|
17
|
-
s.source = { :git => "https://www.theoplayer.com/.git", :tag => "#{s.version}" }
|
|
18
|
-
|
|
19
|
-
s.source_files = "ios/**/*.{h,m,mm,swift}"
|
|
20
|
-
s.resources = ['ios/**/*.css']
|
|
21
|
-
|
|
22
|
-
s.dependency "React-Core"
|
|
23
|
-
|
|
24
|
-
### Pass feature flags
|
|
25
|
-
s.ios.pod_target_xcconfig = {
|
|
26
|
-
'SWIFT_ACTIVE_COMPILATION_CONDITIONS[config=Release]' => "#{theo_features_ios}",
|
|
27
|
-
'SWIFT_ACTIVE_COMPILATION_CONDITIONS[config=Debug]' => "DEBUG #{theo_features_ios}"
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
### Set custom player SDK
|
|
31
|
-
s.ios.vendored_frameworks = "ios/custom/Frameworks/ios/THEOplayerSDK.xcframework"
|
|
32
|
-
|
|
33
|
-
### Add external dependencies
|
|
34
|
-
s.ios.dependency "GoogleAds-IMA-iOS-SDK"
|
|
35
|
-
|
|
36
|
-
end
|