Skip to content

Commit

Permalink
THEOplayer 8.7.0 (#182)
Browse files Browse the repository at this point in the history
Co-authored-by: THEOplayer Jenkins <[email protected]>
  • Loading branch information
theoplayer-bot[bot] and THEOplayer Jenkins authored Dec 18, 2024
1 parent 73bf705 commit aef9787
Show file tree
Hide file tree
Showing 11 changed files with 625 additions and 532 deletions.
53 changes: 53 additions & 0 deletions theoplayer/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,59 @@ sidebar_custom_props: { 'icon': '📰' }
toc_max_heading_level: 2
---

## 🚀 8.7.0 (2024/12/16)

### Web

#### ✨ Features

- Added support for Dolby Vision (`dvav`, `dva1`, `dvhe` `dvh1`) and Dolby Digital Plus (`ec-3`) codecs in HLS when the platform supports it.

#### ⚡ Improvements

- Improved the behavior of THEOads on smart TVs.

#### 🐛 Issues

- Fixed an issue where the player would sometimes stall when trying to switch between an alternative THEOad source and the content.
- Added in the missing `activequalitychanged` event for Millicast media.
- Fixed an issue where the DRM server doesn't return a key for one or more adaptation sets, while the player still tries to access them.
- Fixed an issue where the player would sometimes repeatedly request the same segment in a DASH live stream when the segment overlaps with a previous segment.
- Fixed an issue where playback using the Microsoft WebView2 control with Edge Chromium v130 would fail due to incorrect functionality of `SourceBuffer.changeType`.

### Android

#### 🐛 Issues

- Fixed an issue where THEOplayer ProGuard rules would affect the importing application builds.
- Fixed a `NullPointerException` crash when seeking in a Google DAI stream with snap back when there are no scheduled ad breaks.
- Fixed an issue where in some edge cases the player would throw a `NullPointerException` while playing a Google IMA ad.

#### 👎 Deprecations

- The `GoogleImaAd` interface will be moved from the `core` Maven package to the `integration-ads-ima` package in the next major version, and will be moved from `com.theoplayer.android.api.ads.GoogleImaAd` to `com.theoplayer.android.api.ads.ima.GoogleImaAd`. You can already switch to the new class name today for your Kotlin code, to facilitate the migration.

### iOS

#### ✨ Features

- Added support for picture in picture presentation mode on THEOlive sources.

#### 🐛 Issues

- Fixed an issue where `THEOplayer.autoplay` was not being set correctly.
- Fixed an issue where when returning to the sender from chromecast would cause audio and text tracks to be selected incorrectly.
- Fixed an issue where fatal errors were emitted when retrieving videoHeight, videoWidth, videoRect or setting the currentTime or programDateTime while playing a THEOlive source.
- Fixed an issue where the duration of THEOlive sources was not set correctly.
- Fixed an issue where the pause event is not dispatched when entering background mode while an IMA ad is active.

### tvOS

#### 🐛 Issues

- Fixed an issue where fatal errors were emitted when retrieving videoHeight, videoWidth, videoRect or setting the currentTime or programDateTime while playing a THEOlive source.
- Fixed an issue where the duration of THEOlive sources was not set correctly.

## 🚀 8.6.3 (2024/12/12)

### Web
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ <h2 title="Interface GoogleImaAd" class="title">Interface GoogleImaAd</h2>
public interface <span class="typeNameLabel"><a href=GoogleImaAd.html>GoogleImaAd</a></span>
implements <a href=Ad.html>Ad</a>
</pre>
<div class="block"><p>The GoogleImaAd API represents a Google IMA creative compliant to the VAST specification.</p></div>
<div class="block"><p>The GoogleImaAd API represents a Google IMA creative compliant to the VAST specification. </p><ul><li>This interface will be moved to the <code>integration-ads-ima</code> package in the next major version of THEOplayer. You can prepare for this migration by already switching to the new name <code>com.theoplayer.android.api.ads.ima.GoogleImaAd</code> in your Kotlin code.</li></ul></div>

<dl>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ <h3>Method Summary</h3>
</td>
<th class="colSecond" scope="row"><code><a href=GoogleImaAdEvent.html#getAd()>getAd</a>() </code>
</th>
<td class="colLast">The <a href=../GoogleImaAd.html>GoogleImaAd</a> for which the event occurs.</td>
<td class="colLast">The GoogleImaAd for which the event occurs.</td>
</tr>

<tr id="i2" class="altColor">
Expand Down Expand Up @@ -362,7 +362,7 @@ <h4>getType</h4>
<li class="blockList">
<h4>getAd</h4>
<pre class="methodSignature"> abstract <a href=../GoogleImaAd.html>GoogleImaAd</a> <a href=GoogleImaAdEvent.html#getAd()>getAd</a>()</pre>
<div class="block"><p>The <a href=../GoogleImaAd.html>GoogleImaAd</a> for which the event occurs.</p></div>
<div class="block"><p>The GoogleImaAd for which the event occurs.</p></div>

<dl>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -468,7 +468,7 @@ <h2 class="title">G</h2>


</dt>
<dd>The <a href=../com/theoplayer/android/api/ads/GoogleImaAd.html>GoogleImaAd</a> for which the event occurs.</dd>
<dd>The GoogleImaAd for which the event occurs.</dd>


<dt>
Expand All @@ -481,7 +481,7 @@ <h2 class="title">G</h2>


</dt>
<dd>The <a href=../com/theoplayer/android/api/ads/GoogleImaAd.html>GoogleImaAd</a> for which the event occurs.</dd>
<dd>The GoogleImaAd for which the event occurs.</dd>


<dt>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1103,6 +1103,33 @@ <h1>AdIntegrationKind</h1>
<div class="section-content">
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/c:@M@THEOplayerSDK@E@THEOplayerAdIntegrationKind@THEOplayerAdIntegrationKindTheoads"></a>
<a name="//apple_ref/swift/Element/theoads" class="dashAnchor"></a>
<a class="token" href="#/c:@M@THEOplayerSDK@E@THEOplayerAdIntegrationKind@THEOplayerAdIntegrationKindTheoads">theoads</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The ad is of integration type THEO ad.</p>

</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">case</span> <span class="n">theoads</span> <span class="o">=</span> <span class="mi">1</span></code></pre>

</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
Expand Down

Large diffs are not rendered by default.

37 changes: 22 additions & 15 deletions theoplayer/static/theoplayer/v8/api-reference/ios/undocumented.json
Original file line number Diff line number Diff line change
Expand Up @@ -681,14 +681,14 @@
},
{
"file": "/Users/jenkins/jenkins-agent/workspace/Documentation/SDK/0_API_Ref-iOS/ios/THEOplayer_SDK/Native/Models/Ads/AdsImplNative.swift",
"line": 133,
"line": 134,
"symbol": "AdsImplNative",
"symbol_kind": "source.lang.swift.decl.extension",
"warning": "undocumented"
},
{
"file": "/Users/jenkins/jenkins-agent/workspace/Documentation/SDK/0_API_Ref-iOS/ios/THEOplayer_SDK/Native/Models/Ads/AdsImplNative.swift",
"line": 143,
"line": 144,
"symbol": "AdsImplNative",
"symbol_kind": "source.lang.swift.decl.extension",
"warning": "undocumented"
Expand Down Expand Up @@ -821,14 +821,14 @@
},
{
"file": "/Users/jenkins/jenkins-agent/workspace/Documentation/SDK/0_API_Ref-iOS/ios/THEOplayer_SDK/Native/Models/Player/ContentPlayers/AVPlayerContentPlayerNative.swift",
"line": 1208,
"line": 1209,
"symbol": "AVPlayerContentPlayerNative",
"symbol_kind": "source.lang.swift.decl.extension",
"warning": "undocumented"
},
{
"file": "/Users/jenkins/jenkins-agent/workspace/Documentation/SDK/0_API_Ref-iOS/ios/THEOplayer_SDK/Native/Models/Player/ContentPlayers/AVPlayerContentPlayerNative.swift",
"line": 1246,
"line": 1247,
"symbol": "AVPlayerContentPlayerNative",
"symbol_kind": "source.lang.swift.decl.extension",
"warning": "undocumented"
Expand Down Expand Up @@ -863,77 +863,84 @@
},
{
"file": "/Users/jenkins/jenkins-agent/workspace/Documentation/SDK/0_API_Ref-iOS/ios/THEOplayer_SDK/Native/Models/Player/THEOplayerInternalNative.swift",
"line": 876,
"line": 892,
"symbol": "THEOplayerInternalNative",
"symbol_kind": "source.lang.swift.decl.extension",
"warning": "undocumented"
},
{
"file": "/Users/jenkins/jenkins-agent/workspace/Documentation/SDK/0_API_Ref-iOS/ios/THEOplayer_SDK/Native/Models/Player/THEOplayerInternalNative.swift",
"line": 886,
"line": 902,
"symbol": "THEOplayerInternalNative",
"symbol_kind": "source.lang.swift.decl.extension",
"warning": "undocumented"
},
{
"file": "/Users/jenkins/jenkins-agent/workspace/Documentation/SDK/0_API_Ref-iOS/ios/THEOplayer_SDK/Native/Models/Player/THEOplayerInternalNative.swift",
"line": 903,
"line": 919,
"symbol": "THEOplayerInternalNative",
"symbol_kind": "source.lang.swift.decl.extension",
"warning": "undocumented"
},
{
"file": "/Users/jenkins/jenkins-agent/workspace/Documentation/SDK/0_API_Ref-iOS/ios/THEOplayer_SDK/Native/Models/Player/THEOplayerInternalNative.swift",
"line": 910,
"line": 926,
"symbol": "THEOplayerInternalNative",
"symbol_kind": "source.lang.swift.decl.extension",
"warning": "undocumented"
},
{
"file": "/Users/jenkins/jenkins-agent/workspace/Documentation/SDK/0_API_Ref-iOS/ios/THEOplayer_SDK/Native/Models/Player/THEOplayerInternalNative.swift",
"line": 948,
"line": 964,
"symbol": "THEOplayerInternalNative",
"symbol_kind": "source.lang.swift.decl.extension",
"warning": "undocumented"
},
{
"file": "/Users/jenkins/jenkins-agent/workspace/Documentation/SDK/0_API_Ref-iOS/ios/THEOplayer_SDK/Native/Models/Player/THEOplayerInternalNative.swift",
"line": 978,
"line": 994,
"symbol": "THEOplayerInternalNative",
"symbol_kind": "source.lang.swift.decl.extension",
"warning": "undocumented"
},
{
"file": "/Users/jenkins/jenkins-agent/workspace/Documentation/SDK/0_API_Ref-iOS/ios/THEOplayer_SDK/Native/Models/Player/THEOplayerInternalNative.swift",
"line": 997,
"line": 1013,
"symbol": "THEOplayerInternalNative",
"symbol_kind": "source.lang.swift.decl.extension",
"warning": "undocumented"
},
{
"file": "/Users/jenkins/jenkins-agent/workspace/Documentation/SDK/0_API_Ref-iOS/ios/THEOplayer_SDK/Native/Models/Player/THEOplayerInternalNative.swift",
"line": 1015,
"line": 1031,
"symbol": "THEOplayerInternalNative",
"symbol_kind": "source.lang.swift.decl.extension",
"warning": "undocumented"
},
{
"file": "/Users/jenkins/jenkins-agent/workspace/Documentation/SDK/0_API_Ref-iOS/ios/THEOplayer_SDK/Native/Models/Player/THEOplayerInternalNative.swift",
"line": 1031,
"line": 1047,
"symbol": "THEOplayerInternalNative",
"symbol_kind": "source.lang.swift.decl.extension",
"warning": "undocumented"
},
{
"file": "/Users/jenkins/jenkins-agent/workspace/Documentation/SDK/0_API_Ref-iOS/ios/THEOplayer_SDK/Native/Models/Player/THEOplayerInternalNative.swift",
"line": 1059,
"symbol": "THEOplayerInternalNative",
"symbol_kind": "source.lang.swift.decl.extension",
"warning": "undocumented"
},
{
"file": "/Users/jenkins/jenkins-agent/workspace/Documentation/SDK/0_API_Ref-iOS/ios/THEOplayer_SDK/Native/Models/Player/THEOplayerInternalNative.swift",
"line": 1043,
"line": 1065,
"symbol": "THEOplayerInternalNative",
"symbol_kind": "source.lang.swift.decl.extension",
"warning": "undocumented"
},
{
"file": "/Users/jenkins/jenkins-agent/workspace/Documentation/SDK/0_API_Ref-iOS/ios/THEOplayer_SDK/Native/Models/Player/THEOplayerInternalNative.swift",
"line": 1049,
"line": 1087,
"symbol": "THEOplayerInternalNative",
"symbol_kind": "source.lang.swift.decl.extension",
"warning": "undocumented"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><link rel="canonical" href="https://www.theoplayer.com/docs/theoplayer/v8/api-reference/web/"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>THEOplayer Web SDK</title><meta name="description" content="Documentation for THEOplayer Web SDK"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script defer src="assets/main.js"></script><script async src="assets/icons.js" id="tsd-icons-script"></script><script async src="assets/search.js" id="tsd-search-script"></script><script async src="assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base="."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"><a href="https://www.theoplayer.com/docs/">Docs</a><a href="https://www.theoplayer.com/">THEOplayer.com</a></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="index.html" class="title">THEOplayer Web SDK</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><h1>THEOplayer Web SDK</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>The API references for <a href="https://www.theoplayer.com/sdk/html5-tizen-webos" target="_blank" class="external">THEOplayer Web SDK</a> version 8.6.3.</p>
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><link rel="canonical" href="https://www.theoplayer.com/docs/theoplayer/v8/api-reference/web/"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>THEOplayer Web SDK</title><meta name="description" content="Documentation for THEOplayer Web SDK"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script defer src="assets/main.js"></script><script async src="assets/icons.js" id="tsd-icons-script"></script><script async src="assets/search.js" id="tsd-search-script"></script><script async src="assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base="."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"><a href="https://www.theoplayer.com/docs/">Docs</a><a href="https://www.theoplayer.com/">THEOplayer.com</a></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="index.html" class="title">THEOplayer Web SDK</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><h1>THEOplayer Web SDK</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>The API references for <a href="https://www.theoplayer.com/sdk/html5-tizen-webos" target="_blank" class="external">THEOplayer Web SDK</a> version 8.7.0.</p>
</div><div class="tsd-comment tsd-typography"></div></section><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><h3 class="tsd-index-heading uppercase">Index</h3><section class="tsd-index-section"><h3 class="tsd-index-heading">API</h3><div class="tsd-comment tsd-typography"><p>The classes, constants, functions and namespaces listed in this category
can be found on the global <code>THEOplayer</code> variable when loading with a <code>&lt;script&gt;</code> tag,
or as exports of the <code>theoplayer</code> package when loading through npm.</p>
Expand Down
Loading

0 comments on commit aef9787

Please sign in to comment.