[PR #12104] [MERGED] feat(mobile): native_video_player #13480

Closed
opened 2026-02-05 15:15:27 +03:00 by OVERLORD · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/immich-app/immich/pull/12104
Author: @shenlong-tanwen
Created: 8/29/2024
Status: Merged
Merged: 12/5/2024
Merged by: @mertalev

Base: mainHead: mobile/native-video-player


📝 Commits (10+)

📊 Changes

44 files changed (+1621 additions, -1239 deletions)

View changed files

📝 mobile/android/app/build.gradle (+2 -2)
📝 mobile/android/app/src/main/AndroidManifest.xml (+1 -1)
📝 mobile/android/build.gradle (+2 -2)
📝 mobile/ios/Podfile.lock (+9 -10)
📝 mobile/ios/Runner/AppDelegate.swift (+43 -32)
📝 mobile/lib/constants/immich_colors.dart (+1 -1)
📝 mobile/lib/entities/asset.entity.dart (+88 -27)
📝 mobile/lib/entities/exif_info.entity.dart (+28 -3)
📝 mobile/lib/entities/exif_info.entity.g.dart (+207 -6)
mobile/lib/extensions/scroll_extensions.dart (+38 -0)
mobile/lib/pages/common/gallery_stacked_children.dart (+91 -0)
📝 mobile/lib/pages/common/gallery_viewer.page.dart (+186 -229)
mobile/lib/pages/common/native_video_viewer.page.dart (+411 -0)
mobile/lib/pages/common/video_viewer.page.dart (+0 -167)
📝 mobile/lib/pages/photos/memory.page.dart (+4 -0)
📝 mobile/lib/pages/search/map/map.page.dart (+10 -1)
📝 mobile/lib/providers/asset_viewer/asset_stack.provider.dart (+20 -20)
mobile/lib/providers/asset_viewer/is_motion_video_playing.provider.dart (+23 -0)
mobile/lib/providers/asset_viewer/video_player_controller_provider.dart (+0 -46)
mobile/lib/providers/asset_viewer/video_player_controller_provider.g.dart (+0 -164)

...and 24 more files

📄 Description

Changes made in the PR:

  • replaced video_player with native_video_player to fix HDR playback on mobile devices
  • buffering is handled by using a timer to periodically check if the playback position has been updated or not

Fixes #2130
Fixes #3321
Fixes #5120
Fixes #5651
Fixes #7617
Fixes #11229
Fixes #11400
Fixes #11689

Maybe #5553? Need to test.


🔄 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/immich-app/immich/pull/12104 **Author:** [@shenlong-tanwen](https://github.com/shenlong-tanwen) **Created:** 8/29/2024 **Status:** ✅ Merged **Merged:** 12/5/2024 **Merged by:** [@mertalev](https://github.com/mertalev) **Base:** `main` ← **Head:** `mobile/native-video-player` --- ### 📝 Commits (10+) - [`520ab6b`](https://github.com/immich-app/immich/commit/520ab6b30a2596a92aec93c0ed3f69d565cfb622) add native player library - [`28f1ca1`](https://github.com/immich-app/immich/commit/28f1ca1f11a47e67567d378f1a9fa358b8f49af9) splitup the player - [`f336239`](https://github.com/immich-app/immich/commit/f3362392c77b3d8b0fafec7acd89f1c35645611d) stateful widget - [`4010481`](https://github.com/immich-app/immich/commit/4010481288291e96271663f6103a3d18909d6df7) refactor: native_video_player - [`57d1f78`](https://github.com/immich-app/immich/commit/57d1f78f4796f04536a142cc8503c7548c4c99ba) fix: handle buffering - [`01e7274`](https://github.com/immich-app/immich/commit/01e7274ab47dece3737d0d49c6226afb92250f6d) turn on volume when video plays - [`81ae5e4`](https://github.com/immich-app/immich/commit/81ae5e4decbe7f373d114a1476b9f9a5d1668975) fix: aspect ratio - [`a2933d2`](https://github.com/immich-app/immich/commit/a2933d285f65c9a448b33c13cc78e7cd4541a28d) fix: handle remote asset orientation - [`ef76510`](https://github.com/immich-app/immich/commit/ef765105a1bbc8463b410e097f8a60cc0a9a78a1) refinements and fixes - [`026e7f7`](https://github.com/immich-app/immich/commit/026e7f75fed07ff03465e209036c73237a42c20d) clean up logging ### 📊 Changes **44 files changed** (+1621 additions, -1239 deletions) <details> <summary>View changed files</summary> 📝 `mobile/android/app/build.gradle` (+2 -2) 📝 `mobile/android/app/src/main/AndroidManifest.xml` (+1 -1) 📝 `mobile/android/build.gradle` (+2 -2) 📝 `mobile/ios/Podfile.lock` (+9 -10) 📝 `mobile/ios/Runner/AppDelegate.swift` (+43 -32) 📝 `mobile/lib/constants/immich_colors.dart` (+1 -1) 📝 `mobile/lib/entities/asset.entity.dart` (+88 -27) 📝 `mobile/lib/entities/exif_info.entity.dart` (+28 -3) 📝 `mobile/lib/entities/exif_info.entity.g.dart` (+207 -6) ➕ `mobile/lib/extensions/scroll_extensions.dart` (+38 -0) ➕ `mobile/lib/pages/common/gallery_stacked_children.dart` (+91 -0) 📝 `mobile/lib/pages/common/gallery_viewer.page.dart` (+186 -229) ➕ `mobile/lib/pages/common/native_video_viewer.page.dart` (+411 -0) ➖ `mobile/lib/pages/common/video_viewer.page.dart` (+0 -167) 📝 `mobile/lib/pages/photos/memory.page.dart` (+4 -0) 📝 `mobile/lib/pages/search/map/map.page.dart` (+10 -1) 📝 `mobile/lib/providers/asset_viewer/asset_stack.provider.dart` (+20 -20) ➕ `mobile/lib/providers/asset_viewer/is_motion_video_playing.provider.dart` (+23 -0) ➖ `mobile/lib/providers/asset_viewer/video_player_controller_provider.dart` (+0 -46) ➖ `mobile/lib/providers/asset_viewer/video_player_controller_provider.g.dart` (+0 -164) _...and 24 more files_ </details> ### 📄 Description #### Changes made in the PR: - replaced video_player with native_video_player to fix HDR playback on mobile devices - buffering is handled by using a timer to periodically check if the playback position has been updated or not Fixes #2130 Fixes #3321 Fixes #5120 Fixes #5651 Fixes #7617 Fixes #11229 Fixes #11400 Fixes #11689 Maybe #5553? Need to test. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
OVERLORD added the pull-request label 2026-02-05 15:15:27 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#13480