From dc14180aa92d2da52c1426e50dab597b65151f95 Mon Sep 17 00:00:00 2001 From: Wonne Joosen Date: Wed, 15 May 2024 10:15:37 +0200 Subject: [PATCH 1/4] set seekable on durationchange events too --- src/ui/components/seekbar/SeekBar.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ui/components/seekbar/SeekBar.tsx b/src/ui/components/seekbar/SeekBar.tsx index ab9a433..b78f1ed 100644 --- a/src/ui/components/seekbar/SeekBar.tsx +++ b/src/ui/components/seekbar/SeekBar.tsx @@ -74,7 +74,10 @@ export class SeekBar extends PureComponent { } }; private _onLoadedMetadata = (event: LoadedMetadataEvent) => this.setState({ duration: event.duration }); - private _onDurationChange = (event: DurationChangeEvent) => this.setState({ duration: event.duration }); + private _onDurationChange = (event: DurationChangeEvent) => { + const player = (this.context as UiContext).player; + this.setState({ duration: event.duration, seekable: player.seekable }); + } private _onProgress = (event: ProgressEvent) => this.setState({ seekable: event.seekable }); private _onSlidingStart = (value: number) => { From 824370ca680b821fb5254ff8e59b55e44c4515f2 Mon Sep 17 00:00:00 2001 From: Wonne Joosen Date: Wed, 15 May 2024 10:19:40 +0200 Subject: [PATCH 2/4] update changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9066159..09178d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,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.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## Unreleased + +### Fixed + +- Fixed an issue where the `SeekBar`'s seekable state was not updated when switching to a MP4 source. + ## 0.7.1 (2024-04-16) ### Fixed From a7d7e8e1c26807311f9672c0640e8d1af3fd4a5f Mon Sep 17 00:00:00 2001 From: Wonne Joosen Date: Wed, 15 May 2024 11:09:16 +0200 Subject: [PATCH 3/4] show skip buttons when casting via chromecast --- src/ui/components/button/SkipButton.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ui/components/button/SkipButton.tsx b/src/ui/components/button/SkipButton.tsx index f41368f..d2fac03 100644 --- a/src/ui/components/button/SkipButton.tsx +++ b/src/ui/components/button/SkipButton.tsx @@ -65,7 +65,8 @@ export class SkipButton extends PureComponent private readonly onPlaying = () => { const player = (this.context as UiContext).player; - this.setState({ enabled: player.seekable.length > 0 || player.buffered.length > 0 }); + const isCasting = player.cast.chromecast?.casting ?? false + this.setState({ enabled: player.seekable.length > 0 || player.buffered.length > 0 || isCasting}); }; private readonly onPress = () => { From b53f6671814d3fbadf9dff4ca532ebccdee731de Mon Sep 17 00:00:00 2001 From: Wonne Joosen Date: Wed, 15 May 2024 11:14:30 +0200 Subject: [PATCH 4/4] update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 09178d7..f49f191 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ### Fixed - Fixed an issue where the `SeekBar`'s seekable state was not updated when switching to a MP4 source. +- Fixed an issue where the `SkipButton` components are not rendered when switching sources while casting. ## 0.7.1 (2024-04-16)