react-native-theoplayer 8.9.1 → 8.11.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/CHANGELOG.md CHANGED
@@ -5,6 +5,16 @@ 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
+ ## [8.11.0] - 24-12-13
9
+
10
+ - Added support for THEOlive on tvOS.
11
+
12
+ ## [8.10.0] - 24-12-06
13
+
14
+ ## Added
15
+
16
+ - Added support for THEOlive on iOS.
17
+
8
18
  ## [8.9.1] - 24-12-04
9
19
 
10
20
  ### Added
@@ -167,10 +167,16 @@ class THEOplayerRCTSourceDescriptionBuilder {
167
167
  */
168
168
  private static func buildTypedSource(_ typedSourceData: [String:Any]) -> TypedSource? {
169
169
  let contentProtection = extractDrmConfiguration(from: typedSourceData)
170
+
171
+ if let integration = typedSourceData[SD_PROP_INTEGRATION] as? String, integration == "theolive" {
172
+ return THEOplayerRCTSourceDescriptionBuilder.buildTHEOliveDescription(typedSourceData)
173
+ }
174
+
170
175
  if let src = typedSourceData[SD_PROP_SRC] as? String {
171
- // extract the type
176
+ // extract the type
172
177
  let type = typedSourceData[SD_PROP_TYPE] as? String ?? THEOplayerRCTSourceDescriptionBuilder.extractMimeType(src)
173
178
  let headers = typedSourceData[SD_PROP_HEADERS] as? [String:String]
179
+
174
180
  return TypedSource(src: src,
175
181
  type: type,
176
182
  drm: contentProtection,
@@ -0,0 +1,26 @@
1
+ // THEOplayerRCTSourceDescriptionBuilder.swift
2
+
3
+ import Foundation
4
+ import THEOplayerSDK
5
+ import UIKit
6
+
7
+ #if canImport(THEOplayerTHEOliveIntegration)
8
+ import THEOplayerTHEOliveIntegration
9
+ #endif
10
+
11
+ extension THEOplayerRCTSourceDescriptionBuilder {
12
+
13
+ /**
14
+ Builds a THEOplayer SourceDescription that can be passed as a source for the THEOplayer.
15
+ - returns: a THEOlive TypedSource.
16
+ */
17
+ static func buildTHEOliveDescription(_ theoliveData: [String:Any]) -> TypedSource? {
18
+ #if canImport(THEOplayerTHEOliveIntegration)
19
+ if let src = theoliveData[SD_PROP_SRC] as? String {
20
+ //let headers = typedSourceData[SD_PROP_HEADERS] as? [String:String]
21
+ return TheoLiveSource(channelId: src)
22
+ }
23
+ #endif
24
+ return nil
25
+ }
26
+ }
@@ -1 +1 @@
1
- {"version":"8.9.1","buildDate":"2024-12-04T22:29:12.349Z"}
1
+ {"version":"8.11.0","buildDate":"2024-12-13T11:03:38.635Z"}
@@ -1 +1 @@
1
- {"version":"8.9.1","buildDate":"2024-12-04T22:29:12.349Z"}
1
+ {"version":"8.11.0","buildDate":"2024-12-13T11:03:38.635Z"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-theoplayer",
3
- "version": "8.9.1",
3
+ "version": "8.11.0",
4
4
  "description": "A THEOplayer video component for react-native.",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -25,29 +25,34 @@ Pod::Spec.new do |s|
25
25
  s.platforms = { :ios => "13.4", :tvos => "13.4" }
26
26
  s.source = { :git => "https://www.theoplayer.com/.git", :tag => "#{s.version}" }
27
27
 
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', 'ios/viewController/*.swift'
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', 'ios/viewController/*.swift', 'ios/theolive/*.swift'
29
29
  s.resources = ['ios/*.css']
30
30
 
31
31
  # ReactNative Dependency
32
32
  s.dependency "React-Core"
33
33
 
34
- # THEOplayer core Dependency
34
+ # THEOplayer Dependency
35
35
  puts "Adding THEOplayerSDK-core"
36
- s.dependency "THEOplayerSDK-core", "~> 8.3"
36
+ s.dependency "THEOplayerSDK-core", "~> 8.6"
37
+
38
+ # THEOlive Dependency
39
+ puts "Adding THEOplayer-Integration-THEOlive"
40
+ s.dependency "THEOplayer-Integration-THEOlive", "~> 8.6", ">= 8.6.3"
37
41
 
42
+ # Feature based dependencies
38
43
  if theofeatures.include?("GOOGLE_IMA")
39
44
  puts "Adding THEOplayer-Integration-GoogleIMA"
40
- s.dependency "THEOplayer-Integration-GoogleIMA", "~> 8.3"
45
+ s.dependency "THEOplayer-Integration-GoogleIMA", "~> 8.6"
41
46
  end
42
47
 
43
48
  if theofeatures.include?("CHROMECAST")
44
49
  puts "Adding THEOplayer-Integration-GoogleCast"
45
- s.ios.dependency "THEOplayer-Integration-GoogleCast", "~> 8.3"
50
+ s.ios.dependency "THEOplayer-Integration-GoogleCast", "~> 8.6"
46
51
  end
47
52
 
48
53
  if theofeatures.include?("SIDELOADED_TEXTTRACKS")
49
54
  puts "Adding THEOplayer-Connector-SideloadedSubtitle"
50
- s.dependency "THEOplayer-Connector-SideloadedSubtitle", "~> 8.3"
55
+ s.dependency "THEOplayer-Connector-SideloadedSubtitle", "~> 8.6"
51
56
  end
52
57
 
53
58
  end
package/src/manifest.json CHANGED
@@ -1 +1 @@
1
- {"version":"8.9.1","buildDate":"2024-12-04T22:29:12.349Z"}
1
+ {"version":"8.11.0","buildDate":"2024-12-13T11:03:38.635Z"}