From fd0ed6ef891c0638918cb981757a5f64746e3fc4 Mon Sep 17 00:00:00 2001 From: Xiaowei Guan Date: Mon, 28 Oct 2024 17:07:45 +0800 Subject: [PATCH 1/2] Add start position in player options when creating player --- packages/video_player_avplay/CHANGELOG.md | 4 ++++ packages/video_player_avplay/README.md | 2 +- packages/video_player_avplay/pubspec.yaml | 2 +- packages/video_player_avplay/tizen/src/plus_player.cc | 7 +++++++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/video_player_avplay/CHANGELOG.md b/packages/video_player_avplay/CHANGELOG.md index e2fadb984..8d8ba091e 100644 --- a/packages/video_player_avplay/CHANGELOG.md +++ b/packages/video_player_avplay/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.5.2 + +* Add start position in player options when creating player. This is useful for resuming playback from last viewed position. + ## 0.5.1 * Fix getVideoTracks out of bounds issue. diff --git a/packages/video_player_avplay/README.md b/packages/video_player_avplay/README.md index 53cdbe147..c30d6df00 100644 --- a/packages/video_player_avplay/README.md +++ b/packages/video_player_avplay/README.md @@ -12,7 +12,7 @@ To use this package, add `video_player_avplay` as a dependency in your `pubspec. ```yaml dependencies: - video_player_avplay: ^0.5.1 + video_player_avplay: ^0.5.2 ``` Then you can import `video_player_avplay` in your Dart code: diff --git a/packages/video_player_avplay/pubspec.yaml b/packages/video_player_avplay/pubspec.yaml index 22fe060e4..ece943881 100644 --- a/packages/video_player_avplay/pubspec.yaml +++ b/packages/video_player_avplay/pubspec.yaml @@ -2,7 +2,7 @@ name: video_player_avplay description: Flutter plugin for displaying inline video on Tizen TV devices. homepage: https://github.com/flutter-tizen/plugins repository: https://github.com/flutter-tizen/plugins/tree/master/packages/video_player_avplay -version: 0.5.1 +version: 0.5.2 environment: sdk: ">=3.1.0 <4.0.0" diff --git a/packages/video_player_avplay/tizen/src/plus_player.cc b/packages/video_player_avplay/tizen/src/plus_player.cc index 6ca10a75a..425622253 100644 --- a/packages/video_player_avplay/tizen/src/plus_player.cc +++ b/packages/video_player_avplay/tizen/src/plus_player.cc @@ -137,6 +137,13 @@ int64_t PlusPlayer::Create(const std::string &uri, is_prebuffer_mode_ = true; } + int64_t start_position = flutter_common::GetValue( + create_message.player_options(), "startPosition", 0); + if (start_position > 0) { + LOG_INFO("[PlusPlayer] Start position: %lld", start_position); + Seek(player_, start_position); + } + if (!PrepareAsync(player_)) { LOG_ERROR("[PlusPlayer] Player fail to prepare."); return -1; From caffff887ad83279946549ec6507f49bf19928cb Mon Sep 17 00:00:00 2001 From: Xiaowei Guan Date: Tue, 29 Oct 2024 11:20:47 +0800 Subject: [PATCH 2/2] Add log for seeking failed. --- packages/video_player_avplay/tizen/src/plus_player.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/video_player_avplay/tizen/src/plus_player.cc b/packages/video_player_avplay/tizen/src/plus_player.cc index 425622253..3e05cb7c7 100644 --- a/packages/video_player_avplay/tizen/src/plus_player.cc +++ b/packages/video_player_avplay/tizen/src/plus_player.cc @@ -141,7 +141,9 @@ int64_t PlusPlayer::Create(const std::string &uri, create_message.player_options(), "startPosition", 0); if (start_position > 0) { LOG_INFO("[PlusPlayer] Start position: %lld", start_position); - Seek(player_, start_position); + if (!Seek(player_, start_position)) { + LOG_INFO("[PlusPlayer] Fail to seek, it's a non-seekable content"); + } } if (!PrepareAsync(player_)) {