Skip to content

Commit

Permalink
Merge pull request #458 from THEOplayer/release/v8.10.0
Browse files Browse the repository at this point in the history
Release/v8.10.0
tvanlaerhoven authored Dec 6, 2024
2 parents 094babd + 9874f29 commit a5df6cd
Showing 8 changed files with 275 additions and 214 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.1.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## [8.10.0] - 24-12-06

## Added

- Added support for THEOlive on iOS.

## [8.9.1] - 24-12-04

### Added
52 changes: 30 additions & 22 deletions example/ios/Podfile.lock
Original file line number Diff line number Diff line change
@@ -1272,12 +1272,14 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- react-native-theoplayer (8.7.0):
- react-native-theoplayer (8.9.1):
- React-Core
- THEOplayer-Connector-SideloadedSubtitle (~> 8.3)
- THEOplayer-Integration-GoogleCast (~> 8.3)
- THEOplayer-Integration-GoogleIMA (~> 8.3)
- THEOplayerSDK-core (~> 8.3)
- THEOliveSDK (~> 3.18.4)
- THEOplayer-Connector-SideloadedSubtitle (~> 8.6)
- THEOplayer-Integration-GoogleCast (~> 8.6)
- THEOplayer-Integration-GoogleIMA (~> 8.6)
- THEOplayer-Integration-THEOlive/Base (~> 8.6)
- THEOplayerSDK-core (~> 8.6)
- React-nativeconfig (0.75.4-0)
- React-NativeModulesApple (0.75.4-0):
- glog
@@ -1545,24 +1547,26 @@ PODS:
- SwiftSubtitles (0.9.1):
- DSFRegex (~> 3.3.1)
- TinyCSV (~> 0.6.1)
- THEOplayer-Connector-SideloadedSubtitle (8.3.0):
- THEOliveSDK (3.18.4)
- THEOplayer-Connector-SideloadedSubtitle (8.6.1):
- Swifter (= 1.5.0)
- SwiftSubtitles (= 0.9.1)
- THEOplayerSDK-core (~> 8)
- THEOplayer-Integration-GoogleCast (8.3.0):
- THEOplayer-Integration-GoogleCast/Base (= 8.3.0)
- THEOplayer-Integration-GoogleCast/Dependencies (= 8.3.0)
- THEOplayer-Integration-GoogleCast/Base (8.3.0)
- THEOplayer-Integration-GoogleCast/Dependencies (8.3.0):
- THEOplayer-Integration-GoogleCast (8.6.1):
- THEOplayer-Integration-GoogleCast/Base (= 8.6.1)
- THEOplayer-Integration-GoogleCast/Dependencies (= 8.6.1)
- THEOplayer-Integration-GoogleCast/Base (8.6.1)
- THEOplayer-Integration-GoogleCast/Dependencies (8.6.1):
- google-cast-sdk-dynamic-xcframework (~> 4.8)
- THEOplayer-Integration-GoogleIMA (8.3.0):
- THEOplayer-Integration-GoogleIMA/Base (= 8.3.0)
- THEOplayer-Integration-GoogleIMA/Dependencies (= 8.3.0)
- THEOplayer-Integration-GoogleIMA/Base (8.3.0)
- THEOplayer-Integration-GoogleIMA/Dependencies (8.3.0):
- THEOplayer-Integration-GoogleIMA (8.6.1):
- THEOplayer-Integration-GoogleIMA/Base (= 8.6.1)
- THEOplayer-Integration-GoogleIMA/Dependencies (= 8.6.1)
- THEOplayer-Integration-GoogleIMA/Base (8.6.1)
- THEOplayer-Integration-GoogleIMA/Dependencies (8.6.1):
- GoogleAds-IMA-iOS-SDK (~> 3.18)
- GoogleAds-IMA-tvOS-SDK (~> 4.8)
- THEOplayerSDK-core (8.3.0)
- THEOplayer-Integration-THEOlive/Base (8.6.1)
- THEOplayerSDK-core (8.6.1)
- TinyCSV (0.6.1)
- Yoga (0.0.0)

@@ -1646,9 +1650,11 @@ SPEC REPOS:
- SocketRocket
- Swifter
- SwiftSubtitles
- THEOliveSDK
- THEOplayer-Connector-SideloadedSubtitle
- THEOplayer-Integration-GoogleCast
- THEOplayer-Integration-GoogleIMA
- THEOplayer-Integration-THEOlive
- THEOplayerSDK-core
- TinyCSV

@@ -1836,7 +1842,7 @@ SPEC CHECKSUMS:
React-microtasksnativemodule: a3489ca37b515f6f685ec1a86c8df364343ac578
react-native-google-cast: d7bdfd1a0eeba84afde03b9722351ec29543e74c
react-native-slider: caf709802c97955d1dc369fc2ca6250f18bd58fb
react-native-theoplayer: 9ace968b751d79999f9c6ae6c21e80b6d143975c
react-native-theoplayer: 5ea8766514fec76eea2f515743c3c751f30b5afe
React-nativeconfig: ea22f0ab525feb865d2e0ed5d7aad156c36abe6b
React-NativeModulesApple: 5efee2e69aaa7ff47f40a2918f2b48534a2e431b
React-perflogger: f31660a8693c3444e1832c237ba25a13f613436e
@@ -1867,10 +1873,12 @@ SPEC CHECKSUMS:
SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d
Swifter: e71dd674404923d7f03ebb03f3f222d1c570bc8e
SwiftSubtitles: c659af19d710a2946779015464c0577d07fe4666
THEOplayer-Connector-SideloadedSubtitle: cc36449bedaaa44a21cff6156bdddc71f767d1e6
THEOplayer-Integration-GoogleCast: e4fb3f3ae2022b079906f42ec708ce96579cb629
THEOplayer-Integration-GoogleIMA: 7310ca6eb20628f2b774905bbead37e1d9105d24
THEOplayerSDK-core: 03e55ca6dfe3f16d52fdc9e4bdc6bff150d63531
THEOliveSDK: 0fd6a9903e08396de899e6b7d8685fb505917847
THEOplayer-Connector-SideloadedSubtitle: 71c48d52df91cfe8a1b279c3f4accd5185ad5aca
THEOplayer-Integration-GoogleCast: 5edc97c874186abecd4b427c6922ae368820f57e
THEOplayer-Integration-GoogleIMA: 08a965dbf21febf1d0ca6e3c5e407b38581c54f2
THEOplayer-Integration-THEOlive: f46ecf35d98bde85459b7fe92f802d86d86ff031
THEOplayerSDK-core: 43623e7cdffed4f90554254e2f6176e9e72cb15e
TinyCSV: fd6228edbcf1c07466ac34b76dac5e052143eaba
Yoga: 1eb8c4882b3018c344a2ff61c5f2e5c6b1711d82

371 changes: 190 additions & 181 deletions example/ios/ReactNativeTHEOplayer.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

8 changes: 7 additions & 1 deletion ios/THEOplayerRCTSourceDescriptionBuilder.swift
Original file line number Diff line number Diff line change
@@ -167,10 +167,16 @@ class THEOplayerRCTSourceDescriptionBuilder {
*/
private static func buildTypedSource(_ typedSourceData: [String:Any]) -> TypedSource? {
let contentProtection = extractDrmConfiguration(from: typedSourceData)

if let integration = typedSourceData[SD_PROP_INTEGRATION] as? String, integration == "theolive" {
return THEOplayerRCTSourceDescriptionBuilder.buildTHEOliveDescription(typedSourceData)
}

if let src = typedSourceData[SD_PROP_SRC] as? String {
// extract the type
// extract the type
let type = typedSourceData[SD_PROP_TYPE] as? String ?? THEOplayerRCTSourceDescriptionBuilder.extractMimeType(src)
let headers = typedSourceData[SD_PROP_HEADERS] as? [String:String]

return TypedSource(src: src,
type: type,
drm: contentProtection,
26 changes: 26 additions & 0 deletions ios/theolive/THEOplayerRCTSourceDescriptionBuilder+Theolive.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
// THEOplayerRCTSourceDescriptionBuilder.swift

import Foundation
import THEOplayerSDK
import UIKit

#if canImport(THEOplayerTHEOliveIntegration)
import THEOplayerTHEOliveIntegration
#endif

extension THEOplayerRCTSourceDescriptionBuilder {

/**
Builds a THEOplayer SourceDescription that can be passed as a source for the THEOplayer.
- returns: a THEOlive TypedSource.
*/
static func buildTHEOliveDescription(_ theoliveData: [String:Any]) -> TypedSource? {
#if canImport(THEOplayerTHEOliveIntegration)
if let src = theoliveData[SD_PROP_SRC] as? String {
//let headers = typedSourceData[SD_PROP_HEADERS] as? [String:String]
return TheoLiveSource(channelId: src)
}
#endif
return nil
}
}
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "react-native-theoplayer",
"version": "8.9.1",
"version": "8.10.0",
"description": "A THEOplayer video component for react-native.",
"main": "lib/commonjs/index",
"module": "lib/module/index",
20 changes: 13 additions & 7 deletions react-native-theoplayer.podspec
Original file line number Diff line number Diff line change
@@ -25,29 +25,35 @@ Pod::Spec.new do |s|
s.platforms = { :ios => "13.4", :tvos => "13.4" }
s.source = { :git => "https://www.theoplayer.com/.git", :tag => "#{s.version}" }

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'
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'
s.resources = ['ios/*.css']

# ReactNative Dependency
s.dependency "React-Core"

# THEOplayer core Dependency
# THEOplayer Dependency
puts "Adding THEOplayerSDK-core"
s.dependency "THEOplayerSDK-core", "~> 8.3"

s.dependency "THEOplayerSDK-core", "~> 8.6"

# THEOlive Dependency
puts "Adding THEOplayer-Integration-THEOlive"
s.ios.dependency "THEOplayer-Integration-THEOlive/Base", "~> 8.6"
s.ios.dependency "THEOliveSDK", "~> 3.18.4"

# Feature based dependencies
if theofeatures.include?("GOOGLE_IMA")
puts "Adding THEOplayer-Integration-GoogleIMA"
s.dependency "THEOplayer-Integration-GoogleIMA", "~> 8.3"
s.dependency "THEOplayer-Integration-GoogleIMA", "~> 8.6"
end

if theofeatures.include?("CHROMECAST")
puts "Adding THEOplayer-Integration-GoogleCast"
s.ios.dependency "THEOplayer-Integration-GoogleCast", "~> 8.3"
s.ios.dependency "THEOplayer-Integration-GoogleCast", "~> 8.6"
end

if theofeatures.include?("SIDELOADED_TEXTTRACKS")
puts "Adding THEOplayer-Connector-SideloadedSubtitle"
s.dependency "THEOplayer-Connector-SideloadedSubtitle", "~> 8.3"
s.dependency "THEOplayer-Connector-SideloadedSubtitle", "~> 8.6"
end

end

0 comments on commit a5df6cd

Please sign in to comment.