Skip to content

Commit edcb78b

Browse files
committed
Add files for v7.2.18
1 parent e601cf6 commit edcb78b

39 files changed

Lines changed: 120 additions & 255 deletions

File tree

CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,23 @@
1+
## Release 7.2.18
2+
3+
#### 04 Sep 2026
4+
5+
### SSAI Plugin for Brightcove Player SDK for iOS
6+
7+
#### Additions and Improvements
8+
9+
* Adds support for NextGen Live (Cloud Playout 2.0) SSAI streams. These streams are detected automatically and play through the SSAI session provider, with the countdown overlay, Learn More clickthrough, companion slots and ad tracking beacons working as they do for Legacy Live SSAI. Previously they fell back to plain playback with no ad features. Ad timing is correlated using `EXT-X-PROGRAM-DATE-TIME`, which the stream's manifest must carry. Open Measurement is supported for these streams on iOS when the session provider is created with an `omidPartner`: the `adVerifications` carried in the ad tracking payload open an OM ad session directly, with no VAST document involved.
10+
11+
* Adds `-[BCOVPlayerSDKManager createSSAISessionProviderWithUpstreamSessionProvider:options:]`, which accepts a `BCOVOUXSessionProviderOptions`. This is the only way to reach the session provider's options; the existing factory methods pass none.
12+
13+
* Adds `BCOVOUXSessionProviderOptions.live2AdsParams`, ad targeting parameters sent in the `adsParams` field of the NextGen Live session initialization request. The SSAI server uses them to replace macros in the ad tag URL.
14+
15+
* NextGen Live session initialization failures now fall back to content-only playback rather than failing the session. The original stream plays without ad features, and no error is surfaced to the viewer.
16+
17+
* NextGen Live errors are now reported with a typed code — `NETWORK_ERROR`, `INVALID_SESSION`, `TIMEOUT_ERROR`, `PARSE_ERROR`, `SESSION_ERROR` or `TRACKING_ERROR` — matching the taxonomy the Android SDK reports for the same failures. Each error carries a code, message, timestamp and context, and bridges to an `NSError` in the `BCOVSSAILive2ErrorDomain` domain.
18+
19+
* NextGen Live ad tracking beacons are now retried when a send fails. Each beacon uses a 5 second timeout and is retried up to three times, after 1, 2 and 4 seconds. A beacon rejected by the server — an HTTP 4xx other than 408 or 429 — is not retried, since the outcome cannot change. A beacon still undelivered after the final attempt is logged and dropped. Previously a beacon was sent once with no completion handler, so a send lost to a momentary network failure was neither retried nor reported.
20+
121
## Release 7.2.17
222

323
#### 2 Sep 2026

FairPlay.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Using FairPlay With The Brightcove Player SDK for iOS, version 7.2.17.40
1+
# Using FairPlay With The Brightcove Player SDK for iOS, version 7.2.18.42
22

33
## Quick Start
44

Interactivity.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Using Interactivity With The Brightcove Player SDK for iOS, version 7.2.17.40
1+
# Using Interactivity With The Brightcove Player SDK for iOS, version 7.2.18.42
22

33
The Brightcove Player SDK currently supports Interactivity in a limited capacity.
44

OfflinePlayback.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
# iOS App Developer's Guide to Video Downloading and Offline Playback with HLS in the Brightcove Player SDK for iOS, version 7.2.17.40
2+
# iOS App Developer's Guide to Video Downloading and Offline Playback with HLS in the Brightcove Player SDK for iOS, version 7.2.18.42
33

44

55
The Brightcove Native Player SDK allows you to download and play back HLS videos, including those protected with FairPlay encryption. Downloaded videos can be played back with or without a network connection.

Package.swift

Lines changed: 10 additions & 156 deletions
Original file line numberDiff line numberDiff line change
@@ -1,169 +1,23 @@
1-
// swift-tools-version:5.9
1+
// swift-tools-version:5.5
22
// The swift-tools-version declares the minimum version of Swift required to build this package.
3-
//
4-
// This file is generated by bin/scripts/megapackage/publish-megapackage.sh.
5-
// Do not edit by hand: edit the template at bin/scripts/megapackage/Package.swift.template
6-
// in the videocloud_agave repository instead.
3+
// https://developer.apple.com/documentation/xcode/creating_a_standalone_swift_package_with_xcode?language=objc
74

85
import PackageDescription
96

10-
let package = Package(
11-
name: "BrightcovePlayerSDK",
7+
let BrightcovePlayerSDK = Package(
8+
name: "Brightcove Player SDK",
129
platforms: [
13-
.iOS(.v14), .tvOS(.v15)
10+
.iOS(.v12), .tvOS(.v12)
1411
],
1512
products: [
1613
.library(
1714
name: "BrightcovePlayerSDK",
18-
targets: ["BrightcovePlayerSDKWrapper"]),
19-
.library(
20-
name: "BrightcoveIMA",
21-
targets: ["BrightcoveIMAWrapper"]),
22-
.library(
23-
name: "BrightcoveDAI",
24-
targets: ["BrightcoveDAIWrapper"]),
25-
.library(
26-
name: "BrightcoveFW",
27-
targets: ["BrightcoveFWWrapper"]),
28-
.library(
29-
name: "BrightcoveGoogleCast",
30-
targets: ["BrightcoveGoogleCastWrapper"]),
31-
.library(
32-
name: "BrightcoveAMC",
33-
targets: ["BrightcoveAMCWrapper"]),
34-
.library(
35-
name: "BrightcovePulse",
36-
targets: ["BrightcovePulseWrapper"]),
37-
.library(
38-
name: "BrightcoveSSAI",
39-
targets: ["BrightcoveSSAIWrapper"]),
40-
.library(
41-
name: "OMSDK_Brightcove",
42-
targets: ["OMSDK_BrightcoveWrapper"])
43-
],
44-
dependencies: [
45-
.package(
46-
url: "https://github.com/googleads/swift-package-manager-google-interactive-media-ads-ios.git",
47-
.upToNextMinor(from: "3.26.1")),
48-
.package(
49-
url: "https://github.com/googleads/swift-package-manager-google-interactive-media-ads-tvos.git",
50-
.upToNextMinor(from: "4.16.0")),
51-
.package(
52-
url: "https://github.com/SRGSSR/google-cast-sdk.git",
53-
exact: "4.8.3")
15+
targets: ["BrightcovePlayerSDK"])
5416
],
5517
targets: [
56-
// Binary targets. Each is reached transitively through its wrapper target; none is
57-
// listed directly in a library product's targets: array.
5818
.binaryTarget(
59-
name: "BrightcovePlayerSDK",
60-
url: "https://github.com/brightcove/brightcove-player-sdk-ios/releases/download/v7.2.17/BrightcovePlayerSDK.xcframework.zip",
61-
checksum: "4fc2874b84c9162a021b5a85ffd9d3a0b54772a13694ad6699659bd6e74b0a36"),
62-
.binaryTarget(
63-
name: "BrightcoveIMA",
64-
url: "https://github.com/brightcove/brightcove-player-sdk-ios/releases/download/v7.2.17/BrightcoveIMA.xcframework.zip",
65-
checksum: "0c98b825ea647c30afc68737cbbc4ee5d5c2760692b0fb3f68d868c5aa7de0f9"),
66-
.binaryTarget(
67-
name: "BrightcoveDAI",
68-
url: "https://github.com/brightcove/brightcove-player-sdk-ios/releases/download/v7.2.17/BrightcoveDAI.xcframework.zip",
69-
checksum: "506cfd9c4f08f4b3a29e889b6acad0b9e85546800884acdbaaf0e041b1d6f657"),
70-
.binaryTarget(
71-
name: "BrightcoveFW",
72-
url: "https://github.com/brightcove/brightcove-player-sdk-ios/releases/download/v7.2.17/BrightcoveFW.xcframework.zip",
73-
checksum: "618ccff49729c6d2e8ddcd8847e6262f4c08064f0f5db36ce25f492e4d4092da"),
74-
.binaryTarget(
75-
name: "BrightcoveGoogleCast",
76-
url: "https://github.com/brightcove/brightcove-player-sdk-ios/releases/download/v7.2.17/BrightcoveGoogleCast.xcframework.zip",
77-
checksum: "a9df633b6864c0f93b82cbef5eb5ba0a5b67f2d070b7d3970f76ec6235a45ccf"),
78-
.binaryTarget(
79-
name: "BrightcoveAMC",
80-
url: "https://github.com/brightcove/brightcove-player-sdk-ios/releases/download/v7.2.17/BrightcoveAMC.xcframework.zip",
81-
checksum: "b102a0dba37f7ec2df010172646932dcde150fc577f03bd429e53da98933fd9d"),
82-
.binaryTarget(
83-
name: "BrightcovePulse",
84-
url: "https://github.com/brightcove/brightcove-player-sdk-ios/releases/download/v7.2.17/BrightcovePulse.xcframework.zip",
85-
checksum: "58d23b0cea74c40ff52fae5e3c0176ae0b0b325063fcc268989eb2aec38d09dd"),
86-
.binaryTarget(
87-
name: "BrightcoveSSAI",
88-
url: "https://github.com/brightcove/brightcove-player-sdk-ios/releases/download/v7.2.17/BrightcoveSSAI.xcframework.zip",
89-
checksum: "6e32e34735f522c77d6afdc0673bc180aa9ce495a169d919ac713f3c051a7800"),
90-
.binaryTarget(
91-
name: "OMSDK_Brightcove",
92-
url: "https://github.com/brightcove/brightcove-player-sdk-ios/releases/download/v7.2.17/OMSDK_Brightcove.xcframework.zip",
93-
checksum: "dc3198b6cdc2e0ba6e95842ee62774d399d91ac08e4b7a185e5b9694cfb55f66"),
94-
95-
// Wrapper targets. Each carries the dependencies and linker settings that the
96-
// matching .binaryTarget cannot declare directly. The library products expose
97-
// only these wrappers.
98-
.target(
99-
name: "BrightcovePlayerSDKWrapper",
100-
dependencies: ["BrightcovePlayerSDK"],
101-
path: "Sources/BrightcovePlayerSDKWrapper"),
102-
.target(
103-
name: "BrightcoveIMAWrapper",
104-
dependencies: [
105-
"BrightcoveIMA",
106-
"BrightcovePlayerSDKWrapper",
107-
.product(name: "GoogleInteractiveMediaAds",
108-
package: "swift-package-manager-google-interactive-media-ads-ios",
109-
condition: .when(platforms: [.iOS])),
110-
.product(name: "GoogleInteractiveMediaAdsTvOS",
111-
package: "swift-package-manager-google-interactive-media-ads-tvos",
112-
condition: .when(platforms: [.tvOS]))
113-
],
114-
path: "Sources/BrightcoveIMAWrapper"),
115-
.target(
116-
name: "BrightcoveDAIWrapper",
117-
dependencies: [
118-
"BrightcoveDAI",
119-
"BrightcovePlayerSDKWrapper",
120-
.product(name: "GoogleInteractiveMediaAds",
121-
package: "swift-package-manager-google-interactive-media-ads-ios",
122-
condition: .when(platforms: [.iOS])),
123-
.product(name: "GoogleInteractiveMediaAdsTvOS",
124-
package: "swift-package-manager-google-interactive-media-ads-tvos",
125-
condition: .when(platforms: [.tvOS]))
126-
],
127-
path: "Sources/BrightcoveDAIWrapper"),
128-
.target(
129-
name: "BrightcoveFWWrapper",
130-
dependencies: ["BrightcoveFW", "BrightcovePlayerSDKWrapper"],
131-
path: "Sources/BrightcoveFWWrapper",
132-
linkerSettings: [
133-
.linkedLibrary("xml2"),
134-
.linkedFramework("AdSupport"),
135-
.linkedFramework("CoreLocation"),
136-
.linkedFramework("MessageUI", .when(platforms: [.iOS])),
137-
.linkedFramework("WebKit", .when(platforms: [.iOS]))
138-
]),
139-
.target(
140-
name: "BrightcoveGoogleCastWrapper",
141-
dependencies: [
142-
"BrightcoveGoogleCast",
143-
"BrightcovePlayerSDKWrapper",
144-
.product(name: "GoogleCast", package: "google-cast-sdk")
145-
],
146-
path: "Sources/BrightcoveGoogleCastWrapper"),
147-
.target(
148-
name: "BrightcoveAMCWrapper",
149-
dependencies: ["BrightcoveAMC", "BrightcovePlayerSDKWrapper"],
150-
path: "Sources/BrightcoveAMCWrapper",
151-
linkerSettings: [
152-
.linkedLibrary("sqlite3"),
153-
.linkedFramework("SystemConfiguration"),
154-
.linkedFramework("WebKit")
155-
]),
156-
.target(
157-
name: "BrightcovePulseWrapper",
158-
dependencies: ["BrightcovePulse", "BrightcovePlayerSDKWrapper"],
159-
path: "Sources/BrightcovePulseWrapper"),
160-
.target(
161-
name: "BrightcoveSSAIWrapper",
162-
dependencies: ["BrightcoveSSAI", "BrightcovePlayerSDKWrapper"],
163-
path: "Sources/BrightcoveSSAIWrapper"),
164-
.target(
165-
name: "OMSDK_BrightcoveWrapper",
166-
dependencies: ["OMSDK_Brightcove"],
167-
path: "Sources/OMSDK_BrightcoveWrapper")
19+
name: "BrightcovePlayerSDK",
20+
path: "xcframework/BrightcovePlayerSDK.xcframework"
21+
)
16822
]
169-
)
23+
)

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Brightcove Player SDK for iOS, version 7.2.17.40
1+
# Brightcove Player SDK for iOS, version 7.2.18.42
22

33

44
## Table of Contents

SidecarSubtitles.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Using Sidecar Subtitles With The Brightcove Player SDK for iOS, version 7.2.17.40
1+
# Using Sidecar Subtitles With The Brightcove Player SDK for iOS, version 7.2.18.42
22

33
## Introduction
44

Sources/BrightcoveAMCWrapper/BrightcoveAMCWrapper.swift

Lines changed: 0 additions & 1 deletion
This file was deleted.

Sources/BrightcoveDAIWrapper/BrightcoveDAIWrapper.swift

Lines changed: 0 additions & 1 deletion
This file was deleted.

Sources/BrightcoveFWWrapper/BrightcoveFWWrapper.swift

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)