Skip to content

Commit dc226de

Browse files
theoplayer-bot[bot]THEOplayer CI
andauthored
THEOplayer 10.12.0 (#554)
Co-authored-by: THEOplayer CI <ci@theoplayer.com>
1 parent 519d1e9 commit dc226de

129 files changed

Lines changed: 1229 additions & 699 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

theoplayer/api-reference/roku.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,7 @@ The AdBreak object is an associative array that can have the following propertie
219219
| ----------- | ---------- | -------------------------------------------------------------------------------------------------------------------- |
220220
| ads | roArray | An array containing the Ads in the AdBreak. |
221221
| customData | assocarray | An associative array with any additional information for this ad break. |
222+
| id | string | The identifier of the ad break. For Google DAI, this is the pod index of the ad break. |
222223
| integration | string | The integration that generated the AdBreak. Currently the only supported value is `csai`. |
223224
| maxDuration | integer | The length of the break in seconds. |
224225
| timeOffset | integer | The time in the video at which the ad break should play, in seconds. 0 indicates preroll, and -1 indicates postroll. |

theoplayer/changelog.md

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,93 @@ sidebar_custom_props: { 'icon': '📰' }
55
toc_max_heading_level: 2
66
---
77

8+
## 🚀 10.12.0 (2026/03/12)
9+
10+
### Web
11+
12+
#### ✨ Features
13+
14+
- Added default values for the `mpt` and `mpv` ad tag parameters for Google DAI.
15+
- Added the `AdBreak.id` API.
16+
- Added the experimental `View.player` property to the MultiView API to access the player underlying that view.
17+
18+
#### 🐛 Issues
19+
20+
- Fixed an issue where the player would not parse Nielsen cues when playing an OptiView Live stream.
21+
- Fixed an issue where the player would not dispatch ad events when playing a Google DAI DASH live stream.
22+
- Fixed an issue in HLS streams with TS segments where setting a `targetQuality` could sometimes cause an infinite loop.
23+
- Fixed an issue where the player would still receive id3 events from the previous Google DAI source after resetting the source to a non Google DAI source.
24+
- Fixed an issue where, when playing an OptiView Ads enabled stream, subsequent switches from ad to content would take longer and longer each time.
25+
- Fixed an issue where the backdrop doesn't respect the aspect ratio when an ad is played with another aspect ratio in an OptiView Ads stream.
26+
- Fixed an issue where the player would not pause the content in double box layout when clicking on an ad clickthrough for an OptiView Ads stream.
27+
- Fixed an issue where OptiView Live streaming fallback functionality was not behaving as expected when playing HESP streams.
28+
- Fixed an issue where the player would sometimes play a Google IMA preroll ad again when switching from ad to content while playing an OptiView Ads stream in native fullscreen or native PiP.
29+
- Fixed an issue where the content would be paused when playing an OptiView Ads double-box advertisement.
30+
- Fixed an issue where the double box layout would not dismiss when the VAST ad creative was unavailable for OptiView Ads.
31+
- Fixed an issue where the player would sometimes not play the VAST ad unmuted on iOS Safari for an OptiView Ads stream.
32+
33+
#### ⚠ Known Limitations
34+
35+
- Using OptiView Ads with Picture-in-Picture (PiP) on Firefox is not supported. The default PiP button will be hidden in this scenario to discourage usage.
36+
37+
### Android
38+
39+
#### 💥 Breaking Changes
40+
41+
- `LatencyManager.currentLatency` now returns `null` when the player is not actively playing.
42+
43+
#### ✨ Features
44+
45+
- Added default values for the `mpt` and `mpv` ad tag parameters for Google DAI.
46+
- Added the `AdBreak.idAsString` API.
47+
- Added `Logger.HESP` logging tag for debugging HESP playback issues.
48+
49+
#### 👎 Deprecations
50+
51+
- Deprecated `MediaTailorAdAvail.id` in favor of `AdBreak.idAsString`.
52+
53+
### iOS
54+
55+
#### ✨ Features
56+
57+
- Added the `bytes` property to the `CachingTask` API which estimates the total amount of bytes that the task will download.
58+
- Added the `AdBreak.id` API.
59+
- Added default values for the `mpt` and `mpv` ad tag parameters for Google DAI.
60+
- Added better error handling for HESP loading during startup with bad network conditions.
61+
62+
#### ⚡ Improvements
63+
64+
- Improved performance when accessing the `bytesCached` property of `CachingTask`.
65+
- Improved error handling during ABR switches when playing OptiView Live sources.
66+
- Improve error details (error code and message) when storage is low during a caching task. In a future major version, we will send better error metadata where possible: ie. send `THEOErrorCode.CACHE_SOURCE_ERROR` instead of `THEOErrorCode.NETWORK_ERROR`.
67+
68+
#### 🐛 Issues
69+
70+
- Fixed an issue where text tracks were not synced properly with Chromecast.
71+
- Fixed an issue where HESP playout would occasionally fail to start or stall shortly after startup.
72+
- Fixed an issue where a `CastError` was thrown during Chromecast connection establishment.
73+
- Fixed an issue where retrying segment downloads for OptiView Live sources in bad network conditions would cause a fallback instead of continuing with the retried segment download.
74+
- Fixed an issue where autoplay would not work when setting Millicast sources.
75+
- Fixed an issue where setting `muted` on the player before setting a `MillicastSource` would be ignored.
76+
- Fixed an issue where a quality switch on an OptiView Live HESP source caused unintended fallbacks.
77+
- Fixed an issue where the ABR controller would switch up too fast after startup or after a previous quality switch.
78+
- Fixed an issue during HESP playback where sometimes a `playing` event would be missing after resuming playback.
79+
80+
### Roku
81+
82+
#### ✨ Features
83+
84+
- Added the `AdBreak.id` API.
85+
- Added default values for the `mpt` and `mpv` ad tag parameters for Google DAI.
86+
87+
#### ⚡ Improvements
88+
89+
- Updated the Mux SDK in the THEOMuxConnector to 2.6.0.
90+
91+
#### 🐛 Issues
92+
93+
- Fixed an issue in the THEOMuxConnector where the poster URL was not being recorded.
94+
895
## 🚀 10.11.1 (2026/03/05)
996

1097
### Web

theoplayer/static/theoplayer/v10/api-reference/android/com/theoplayer/android/api/ads/AdBreak.html

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,14 @@ <h3>Method Summary</h3>
294294
</tr>
295295

296296
<tr id="i6" class="altColor">
297+
<td class="colFirst"><code>abstract <a href=https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html>String</a></code>
298+
</td>
299+
<th class="colSecond" scope="row"><code><a href=AdBreak.html#getIdAsString()>getIdAsString</a>() </code>
300+
</th>
301+
<td class="colLast">The identifier of the ad break.</td>
302+
</tr>
303+
304+
<tr id="i7" class="rowColor">
297305
<td class="colFirst"><code><a href=https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html>Object</a></code>
298306
</td>
299307
<th class="colSecond" scope="row"><code><a href=AdBreak.html#getCustomData()>getCustomData</a>() </code>
@@ -497,6 +505,32 @@ <h4>getCustomIntegration</h4>
497505

498506

499507

508+
</dl>
509+
</li>
510+
</ul>
511+
512+
<a id="getIdAsString()">
513+
<!-- -->
514+
</a>
515+
<ul class=
516+
"blockList"
517+
>
518+
<li class="blockList">
519+
<h4>getIdAsString</h4>
520+
<pre class="methodSignature">@<a href=https://developer.android.com/reference/kotlin/androidx/annotation/Nullable.html>Nullable</a>() abstract <a href=https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html>String</a> <a href=AdBreak.html#getIdAsString()>getIdAsString</a>()</pre>
521+
<div class="block"><p>The identifier of the ad break. </p><ul><li>For THEOads, this is the interstitial identifier. </li><li>For Google IMA &amp;DAI, this is the pod index of the ad break. </li><li>For other integrations, this may be <code>null</code>. </li></ul></div>
522+
523+
<dl>
524+
525+
526+
527+
528+
<dt><span class="returnLabel">Returns:</span></dt>
529+
<dd><p>The identifier.</p></dd>
530+
531+
532+
533+
500534
</dl>
501535
</li>
502536
</ul>

0 commit comments

Comments
 (0)