[PR #56] [MERGED] [youtube] Add Desktop Support #60

Closed
opened 2025-10-31 16:56:32 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/feeddeck/feeddeck/pull/56
Author: @ricoberger
Created: 10/29/2023
Status: Merged
Merged: 10/29/2023
Merged by: @ricoberger

Base: mainHead: youtube-add-desktop-support


📝 Commits (1)

  • 44547eb [youtube] Add Desktop Support

📊 Changes

8 files changed (+365 additions, -85 deletions)

View changed files

📝 app/lib/widgets/item/details/item_details_youtube.dart (+5 -72)
📝 app/lib/widgets/item/details/utils/item_videos.dart (+159 -1)
app/lib/widgets/item/details/utils/item_youtube/item_youtube_video.dart (+27 -0)
app/lib/widgets/item/details/utils/item_youtube/item_youtube_video_native.dart (+91 -0)
app/lib/widgets/item/details/utils/item_youtube/item_youtube_video_stub.dart (+6 -0)
app/lib/widgets/item/details/utils/item_youtube/item_youtube_video_web.dart (+73 -0)
📝 app/pubspec.lock (+3 -11)
📝 app/pubspec.yaml (+1 -1)

📄 Description

It is now pissible to play YouTube videos on the native desktop clients. To achieve this we removed the "youtube_player_iframe" package which was used before to play YouTube video, but which only supported web, iOS and Android as target platforms.

On the web we are now using our own implementation to render an iframe with for the YouTube video.

On all other platforms we are now using the "youtube_explode_dart" package to fetch the video urls for a YouTube video and then we display them within our own video player (the "ItemVideoPlayer" widget which was added in https://github.com/feeddeck/feeddeck/pull/51). We also decided to switch the package for the iOS and Android implementation which already worked before, because we are now able to play YouTube videos in fullscreen and we only have to maintain an exception for the web implementation.

The "ItemVideoPlayer" widget now also supports multiple qualities of an video via the "qualities" paramter, which allows a user to switch between the different video qualities which are available for a YouTube video. Last but not least the widget now uses our primary color for the seek bar.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/feeddeck/feeddeck/pull/56 **Author:** [@ricoberger](https://github.com/ricoberger) **Created:** 10/29/2023 **Status:** ✅ Merged **Merged:** 10/29/2023 **Merged by:** [@ricoberger](https://github.com/ricoberger) **Base:** `main` ← **Head:** `youtube-add-desktop-support` --- ### 📝 Commits (1) - [`44547eb`](https://github.com/feeddeck/feeddeck/commit/44547ebb294c116181700871c557520b3ff7bb1e) [youtube] Add Desktop Support ### 📊 Changes **8 files changed** (+365 additions, -85 deletions) <details> <summary>View changed files</summary> 📝 `app/lib/widgets/item/details/item_details_youtube.dart` (+5 -72) 📝 `app/lib/widgets/item/details/utils/item_videos.dart` (+159 -1) ➕ `app/lib/widgets/item/details/utils/item_youtube/item_youtube_video.dart` (+27 -0) ➕ `app/lib/widgets/item/details/utils/item_youtube/item_youtube_video_native.dart` (+91 -0) ➕ `app/lib/widgets/item/details/utils/item_youtube/item_youtube_video_stub.dart` (+6 -0) ➕ `app/lib/widgets/item/details/utils/item_youtube/item_youtube_video_web.dart` (+73 -0) 📝 `app/pubspec.lock` (+3 -11) 📝 `app/pubspec.yaml` (+1 -1) </details> ### 📄 Description It is now pissible to play YouTube videos on the native desktop clients. To achieve this we removed the "youtube_player_iframe" package which was used before to play YouTube video, but which only supported web, iOS and Android as target platforms. On the web we are now using our own implementation to render an iframe with for the YouTube video. On all other platforms we are now using the "youtube_explode_dart" package to fetch the video urls for a YouTube video and then we display them within our own video player (the "ItemVideoPlayer" widget which was added in https://github.com/feeddeck/feeddeck/pull/51). We also decided to switch the package for the iOS and Android implementation which already worked before, because we are now able to play YouTube videos in fullscreen and we only have to maintain an exception for the web implementation. The "ItemVideoPlayer" widget now also supports multiple qualities of an video via the "qualities" paramter, which allows a user to switch between the different video qualities which are available for a YouTube video. Last but not least the widget now uses our primary color for the seek bar. <!-- Keep PR title verbose enough and add prefix telling about what source it touches e.g "[rss] Add feature xyz" or if the the PR is not realated to a source use "[core]", e.g. "[core] Fix xyz". If you add a breaking change within your PR you should add ":warning:" to the title, e.g. ":warning: [core] My breaking change" --> <!-- Description of what have been changed. Please also reference an issue, when available. --> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2025-10-31 16:56:32 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/feeddeck#60