Skip to content

Commit 21f3010

Browse files
authored
[video_player] Fix integration_test crash issue (#894)
1 parent f7c53f9 commit 21f3010

File tree

7 files changed

+27
-4
lines changed

7 files changed

+27
-4
lines changed

packages/video_player/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 2.5.8
2+
3+
* Fix integration_test crash issue (Issue #890)
4+
15
## 2.5.7
26

37
* Fix multiple-definition error caused by applying multiple plugins at once. (Issue #883)

packages/video_player/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ This package is not an _endorsed_ implementation of `video_player`. Therefore, y
1515
```yaml
1616
dependencies:
1717
video_player: ^2.9.2
18-
video_player_tizen: ^2.5.7
18+
video_player_tizen: ^2.5.8
1919
```
2020
2121
Then you can import `video_player` in your Dart code:

packages/video_player/example/integration_test/video_player_test.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import 'package:flutter/foundation.dart';
99
import 'package:flutter/material.dart';
1010
import 'package:flutter/services.dart' show rootBundle;
1111
import 'package:flutter_test/flutter_test.dart';
12+
import 'package:flutter_tizen/flutter_tizen.dart';
1213
import 'package:integration_test/integration_test.dart';
1314
import 'package:path_provider/path_provider.dart';
1415
import 'package:video_player/video_player.dart';
@@ -335,6 +336,8 @@ void main() {
335336
expect(
336337
controller.value.duration,
337338
const Duration(seconds: 5, milliseconds: kIsWeb ? 42 : 41),
339+
// NOTE(seungsoo47): In Tizen(RPI), the duration is 5 seconds.
340+
skip: isTizenProfile,
338341
);
339342
});
340343

packages/video_player/example/pubspec.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ dev_dependencies:
1818
sdk: flutter
1919
flutter_test:
2020
sdk: flutter
21+
flutter_tizen: 0.2.5
2122
integration_test:
2223
sdk: flutter
2324
integration_test_tizen:

packages/video_player/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: video_player_tizen
22
description: Tizen implementation of the video_player plugin.
33
homepage: https://github.com/flutter-tizen/plugins
44
repository: https://github.com/flutter-tizen/plugins/tree/master/packages/video_player
5-
version: 2.5.7
5+
version: 2.5.8
66

77
environment:
88
sdk: ">=3.3.0 <4.0.0"

packages/video_player/tizen/src/video_player.cc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,9 @@ FlutterDesktopGpuSurfaceDescriptor *VideoPlayer::ObtainGpuSurface(
8282
return gpu_surface_.get();
8383
}
8484

85+
#ifdef TV_PROFILE
8586
void VideoPlayer::InitScreenSaverApi() {
87+
LOG_INFO("[VideoPlayer] InitScreenSaverApi()");
8688
screensaver_handle_ = dlopen("libcapi-screensaver.so", RTLD_LAZY);
8789
if (!screensaver_handle_) {
8890
LOG_ERROR("[VideoPlayer] dlopen failed: %s", dlerror());
@@ -110,6 +112,7 @@ void VideoPlayer::InitScreenSaverApi() {
110112
return;
111113
}
112114
}
115+
#endif
113116

114117
VideoPlayer::VideoPlayer(flutter::PluginRegistrar *plugin_registrar,
115118
flutter::TextureRegistrar *texture_registrar,
@@ -326,11 +329,13 @@ void VideoPlayer::Pause() {
326329
throw VideoPlayerError("player_pause failed", get_error_message(ret));
327330
}
328331

332+
#ifdef TV_PROFILE
329333
if (timer_) {
330334
LOG_DEBUG("[VideoPlayer] Delete ecore timer.");
331335
ecore_timer_del(timer_);
332336
timer_ = nullptr;
333337
}
338+
#endif
334339

335340
SendIsPlayingStateUpdate(false);
336341
}
@@ -425,6 +430,7 @@ void VideoPlayer::Dispose() {
425430
texture_registrar_ = nullptr;
426431
}
427432

433+
#ifdef TV_PROFILE
428434
if (screensaver_handle_) {
429435
dlclose(screensaver_handle_);
430436
screensaver_handle_ = nullptr;
@@ -434,6 +440,7 @@ void VideoPlayer::Dispose() {
434440
ecore_timer_del(timer_);
435441
timer_ = nullptr;
436442
}
443+
#endif
437444
}
438445

439446
void VideoPlayer::SetUpEventChannel(flutter::BinaryMessenger *messenger) {
@@ -536,6 +543,7 @@ void VideoPlayer::SendIsPlayingStateUpdate(bool is_playing) {
536543
PushEvent(flutter::EncodableValue(result));
537544
}
538545

546+
#ifdef TV_PROFILE
539547
Eina_Bool VideoPlayer::ResetScreensaverTimeout(void *data) {
540548
LOG_DEBUG("[VideoPlayer] Reset screen saver timeout.");
541549

@@ -551,6 +559,7 @@ Eina_Bool VideoPlayer::ResetScreensaverTimeout(void *data) {
551559

552560
return ECORE_CALLBACK_RENEW;
553561
}
562+
#endif
554563

555564
void VideoPlayer::OnPrepared(void *data) {
556565
LOG_DEBUG("[VideoPlayer] Player prepared.");

packages/video_player/tizen/src/video_player.h

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,9 @@ class VideoPlayer {
5959
void Initialize();
6060
void SendInitialized();
6161
void SendIsPlayingStateUpdate(bool is_playing);
62+
#ifdef TV_PROFILE
6263
void InitScreenSaverApi();
64+
#endif
6365

6466
static void OnPrepared(void *data);
6567
static void OnBuffering(int percent, void *data);
@@ -69,7 +71,9 @@ class VideoPlayer {
6971
static void OnError(int error_code, void *data);
7072
static void OnVideoFrameDecoded(media_packet_h packet, void *data);
7173
static void ReleaseMediaPacket(void *packet);
74+
#ifdef TV_PROFILE
7275
static Eina_Bool ResetScreensaverTimeout(void *data);
76+
#endif
7377

7478
void RequestRendering();
7579
void OnRenderingCompleted();
@@ -101,9 +105,11 @@ class VideoPlayer {
101105

102106
SeekCompletedCallback on_seek_completed_;
103107

104-
void *screensaver_handle_;
108+
#ifdef TV_PROFILE
109+
void *screensaver_handle_ = nullptr;
105110
ScreensaverResetTimeout screensaver_reset_timeout_;
106-
Ecore_Timer *timer_;
111+
Ecore_Timer *timer_ = nullptr;
112+
#endif
107113

108114
Ecore_Pipe *sink_event_pipe_ = nullptr;
109115
std::mutex queue_mutex_;

0 commit comments

Comments
 (0)