diff --git a/packages/video_player_avplay/CHANGELOG.md b/packages/video_player_avplay/CHANGELOG.md index ef423e385..31830c5cb 100644 --- a/packages/video_player_avplay/CHANGELOG.md +++ b/packages/video_player_avplay/CHANGELOG.md @@ -1,7 +1,9 @@ -## NEXT +## 0.8.2 * Adds compatibility with `http` 1.0 in example. * Removed unused proxy APIs. +* Update plusplayer + 1. [DASH] Fix subtitle crash issue. ## 0.8.1 diff --git a/packages/video_player_avplay/README.md b/packages/video_player_avplay/README.md index 56f83c80b..da95d536e 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.8.1 + video_player_avplay: ^0.8.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 db303ef61..f35210fbd 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.8.1 +version: 0.8.2 environment: sdk: ">=3.1.0 <4.0.0" diff --git a/packages/video_player_avplay/tizen/lib/armel/10.0/libavcodec_common.so b/packages/video_player_avplay/tizen/lib/armel/10.0/libavcodec_common.so index ba3444231..050a792df 100755 Binary files a/packages/video_player_avplay/tizen/lib/armel/10.0/libavcodec_common.so and b/packages/video_player_avplay/tizen/lib/armel/10.0/libavcodec_common.so differ diff --git a/packages/video_player_avplay/tizen/lib/armel/6.0/libavcodec_common.so b/packages/video_player_avplay/tizen/lib/armel/6.0/libavcodec_common.so index 7e7e03e69..a01d6e9a0 100755 Binary files a/packages/video_player_avplay/tizen/lib/armel/6.0/libavcodec_common.so and b/packages/video_player_avplay/tizen/lib/armel/6.0/libavcodec_common.so differ diff --git a/packages/video_player_avplay/tizen/lib/armel/6.5/libavcodec_common.so b/packages/video_player_avplay/tizen/lib/armel/6.5/libavcodec_common.so index 7e7e03e69..a01d6e9a0 100755 Binary files a/packages/video_player_avplay/tizen/lib/armel/6.5/libavcodec_common.so and b/packages/video_player_avplay/tizen/lib/armel/6.5/libavcodec_common.so differ diff --git a/packages/video_player_avplay/tizen/lib/armel/7.0/libavcodec_common.so b/packages/video_player_avplay/tizen/lib/armel/7.0/libavcodec_common.so index 7e7e03e69..a01d6e9a0 100755 Binary files a/packages/video_player_avplay/tizen/lib/armel/7.0/libavcodec_common.so and b/packages/video_player_avplay/tizen/lib/armel/7.0/libavcodec_common.so differ diff --git a/packages/video_player_avplay/tizen/lib/armel/8.0/libavcodec_common.so b/packages/video_player_avplay/tizen/lib/armel/8.0/libavcodec_common.so index 7e7e03e69..a01d6e9a0 100755 Binary files a/packages/video_player_avplay/tizen/lib/armel/8.0/libavcodec_common.so and b/packages/video_player_avplay/tizen/lib/armel/8.0/libavcodec_common.so differ diff --git a/packages/video_player_avplay/tizen/lib/armel/9.0/libavcodec_common.so b/packages/video_player_avplay/tizen/lib/armel/9.0/libavcodec_common.so index 7e7e03e69..a01d6e9a0 100755 Binary files a/packages/video_player_avplay/tizen/lib/armel/9.0/libavcodec_common.so and b/packages/video_player_avplay/tizen/lib/armel/9.0/libavcodec_common.so differ diff --git a/packages/video_player_avplay/tizen/src/plus_player.cc b/packages/video_player_avplay/tizen/src/plus_player.cc index 652abddb7..6c70502b6 100644 --- a/packages/video_player_avplay/tizen/src/plus_player.cc +++ b/packages/video_player_avplay/tizen/src/plus_player.cc @@ -1307,6 +1307,7 @@ void PlusPlayer::OnSubtitleData(char *data, const int size, } if (type == plusplayer::SubtitleType::kPicture) { +#ifdef PICTURE_SUBTITLE_SUPPORT if (picture_width <= 0 || picture_height <= 0 || size <= 0) { LOG_ERROR( "[PlusPlayer] Invalid picture dimensions or size: size: %d, width: " @@ -1328,9 +1329,16 @@ void PlusPlayer::OnSubtitleData(char *data, const int size, int subtitle_mem_length = 0; int channels = size / area; - unsigned char *subtitle_png = - stbi_write_png_to_mem((const unsigned char *)data, 0, picture_width, - picture_height, channels, &subtitle_mem_length); + if (channels < 1 || channels > 4) { + LOG_ERROR("[PlusPlayer] Invalid number of channels: %d", channels); + return; + } + int stride_in_bytes = static_cast(picture_width) * channels; + + unsigned char *subtitle_png = stbi_write_png_to_mem( + (const unsigned char *)data, stride_in_bytes, + static_cast(picture_width), static_cast(picture_height), + channels, &subtitle_mem_length); if (subtitle_png && subtitle_mem_length > 0) { std::vector picture(subtitle_png, @@ -1349,6 +1357,7 @@ void PlusPlayer::OnSubtitleData(char *data, const int size, } else { LOG_ERROR("[PlusPlayer] Picture subtitle data is null or size is 0."); } +#endif } else { LOG_INFO( "[PlusPlayer] Subtitle is text: duration: %llu, text: %s, type: %d",