From a2d5ede5475e6d412813e0566ddff5a8982910ce Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Tue, 21 Jul 2026 19:53:18 +0200 Subject: [PATCH] fix(player): add a setSource --- nitrogen/generated/android/c++/JHybridOmniPlayerSpec.cpp | 6 +++--- nitrogen/generated/android/c++/JHybridOmniPlayerSpec.hpp | 2 +- .../kotlin/com/margelo/nitro/omni/HybridOmniPlayerSpec.kt | 2 +- nitrogen/generated/shared/c++/HybridOmniPlayerSpec.hpp | 2 +- src/player.web.tsx | 4 ++++ src/specs/omni-player.nitro.ts | 2 -- src/types/player.ts | 4 ++++ 7 files changed, 14 insertions(+), 8 deletions(-) diff --git a/nitrogen/generated/android/c++/JHybridOmniPlayerSpec.cpp b/nitrogen/generated/android/c++/JHybridOmniPlayerSpec.cpp index 2451617..892680a 100644 --- a/nitrogen/generated/android/c++/JHybridOmniPlayerSpec.cpp +++ b/nitrogen/generated/android/c++/JHybridOmniPlayerSpec.cpp @@ -232,9 +232,9 @@ namespace margelo::nitro::omni { } // Methods - void JHybridOmniPlayerSpec::setSource(const std::optional& src) { - static const auto method = _javaPart->javaClassStatic()->getMethod /* src */)>("setSource"); - method(_javaPart, src.has_value() ? JSource::fromCpp(src.value()) : nullptr); + void JHybridOmniPlayerSpec::setSource(const std::optional& source) { + static const auto method = _javaPart->javaClassStatic()->getMethod /* source */)>("setSource"); + method(_javaPart, source.has_value() ? JSource::fromCpp(source.value()) : nullptr); } void JHybridOmniPlayerSpec::play() { static const auto method = _javaPart->javaClassStatic()->getMethod("play"); diff --git a/nitrogen/generated/android/c++/JHybridOmniPlayerSpec.hpp b/nitrogen/generated/android/c++/JHybridOmniPlayerSpec.hpp index 77e8567..0a2a107 100644 --- a/nitrogen/generated/android/c++/JHybridOmniPlayerSpec.hpp +++ b/nitrogen/generated/android/c++/JHybridOmniPlayerSpec.hpp @@ -76,7 +76,7 @@ namespace margelo::nitro::omni { public: // Methods - void setSource(const std::optional& src) override; + void setSource(const std::optional& source) override; void play() override; void pause() override; void seekBy(double offset) override; diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/omni/HybridOmniPlayerSpec.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/omni/HybridOmniPlayerSpec.kt index 394225c..d3f87ef 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/omni/HybridOmniPlayerSpec.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/omni/HybridOmniPlayerSpec.kt @@ -110,7 +110,7 @@ abstract class HybridOmniPlayerSpec: HybridObject() { // Methods @DoNotStrip @Keep - abstract fun setSource(src: Source?): Unit + abstract fun setSource(source: Source?): Unit @DoNotStrip @Keep diff --git a/nitrogen/generated/shared/c++/HybridOmniPlayerSpec.hpp b/nitrogen/generated/shared/c++/HybridOmniPlayerSpec.hpp index 1d9eaff..a5ecc0c 100644 --- a/nitrogen/generated/shared/c++/HybridOmniPlayerSpec.hpp +++ b/nitrogen/generated/shared/c++/HybridOmniPlayerSpec.hpp @@ -89,7 +89,7 @@ namespace margelo::nitro::omni { public: // Methods - virtual void setSource(const std::optional& src) = 0; + virtual void setSource(const std::optional& source) = 0; virtual void play() = 0; virtual void pause() = 0; virtual void seekBy(double offset) = 0; diff --git a/src/player.web.tsx b/src/player.web.tsx index f2fc0f3..7042723 100644 --- a/src/player.web.tsx +++ b/src/player.web.tsx @@ -74,6 +74,10 @@ export class WebOmniPlayer implements OmniPlayer { return this._source; } + setSource(source?: Source): void { + this.source = source ?? null; + } + set source(source: Source | null) { this._source = source; // Drop the overlay subtitle if it is not part of the new source. diff --git a/src/specs/omni-player.nitro.ts b/src/specs/omni-player.nitro.ts index 861583b..98b896f 100644 --- a/src/specs/omni-player.nitro.ts +++ b/src/specs/omni-player.nitro.ts @@ -56,8 +56,6 @@ export interface OmniPlayer extends HybridObject<{ android: "kotlin" }>, OmniPlayerT { readonly eventMap: OmniEventMap; - - setSource(src?: Source): void; } export interface OmniPlayerFactory extends HybridObject<{ android: "kotlin" }> { diff --git a/src/types/player.ts b/src/types/player.ts index 16bac5a..36dbc10 100644 --- a/src/types/player.ts +++ b/src/types/player.ts @@ -1,6 +1,10 @@ +import type { Source } from "./source"; + export interface OmniPlayer extends OmniPlayerState { showNotification?: boolean; + setSource(source?: Source): void; + play(): void; pause(): void; seekBy(offset: number): void;