Skip to content

Commit a245e83

Browse files
author
kongdywang
committed
1. Added the setRenderMode method to the player, allowing configuration of the tiling mode for video rendering.
2. Fixed an issue on Android where the player screen would turn black after pausing, moving to the background, and then returning to the foreground. 3. Optimized the delay of the first frame rendering in the Flutter player compared to event triggers. 4. Improved the screen orientation switching logic of the `super_player_widget` component by unifying texture sharing between portrait and landscape modes, enhancing the user experience during orientation changes. 5. On iOS, Picture-in-Picture (PiP) for live streaming will automatically switch to a layer-based playback mode for iOS 15.0 and above. [Inspired by live streaming practices, this uses `contentSource` to implement custom PiP rendering, avoiding playback glitches caused by PiP window resizing.] 6. Added a simple license polling mechanism on the demo side to prevent playback failures due to prolonged network disconnections during the first launch. 7. Fixed a memory leak issue in the Android Picture-in-Picture service under certain conditions. 8. Resolved the issue where Android Picture-in-Picture resizing animations displayed a semi-transparent black shadow effect. 9. On iOS, after calling `stopPlay`, the `startTime` is no longer cleared, aligning the behavior with the Android implementation. 10. update to 12.5
1 parent cb39bd0 commit a245e83

File tree

60 files changed

+1815
-651
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+1815
-651
lines changed

Flutter/CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,29 @@
11

2+
#### Version: 12.5.0 2025.05.08
3+
4+
##### Features:
5+
6+
- set Android TXLiteAVSDK_Player to 12.5.0.17567,tag:release_player_v12.5.0
7+
- set iOS TXLiteAVSDK_Player to 12.5.18359, tag:release_player_v12.5.0
8+
- Added the `setRenderMode` method to the player, allowing configuration of the tiling mode for video rendering.
9+
- Fixed an issue on Android where the player screen would turn black after pausing, moving to the background, and then returning to the foreground.
10+
- Optimized the delay of the first frame rendering in the Flutter player compared to event triggers.
11+
- Improved the screen orientation switching logic of the `super_player_widget` component by unifying texture sharing between portrait and landscape modes, enhancing the user experience during orientation changes.
12+
- On iOS, Picture-in-Picture (PiP) for live streaming will automatically switch to a layer-based playback mode for iOS 15.0 and above. [Inspired by live streaming practices, this uses `contentSource` to implement custom PiP rendering, avoiding playback glitches caused by PiP window resizing.]
13+
- Added a simple license polling mechanism on the demo side to prevent playback failures due to prolonged network disconnections during the first launch.
14+
- Fixed a memory leak issue in the Android Picture-in-Picture service under certain conditions.
15+
- Resolved the issue where Android Picture-in-Picture resizing animations displayed a semi-transparent black shadow effect.
16+
- On iOS, after calling `stopPlay`, the `startTime` is no longer cleared, aligning the behavior with the Android implementation.
17+
18+
219
#### Version: 12.4.2 2025.04.30
320

421
##### Features:
522

623
- Fix an issue where releasing the player would close the global Picture-in-Picture mode.
724

825

26+
927
#### Version: 12.4.1 2025.04.02
1028

1129
##### Features:

Flutter/CI/buildVersionOnMac.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ buildLog() {
55
}
66

77
inputVersion=$1
8-
export VERSION_NAME="12.4.2"
8+
export VERSION_NAME="12.5.0"
99
if [ -n "$inputVersion" ]; then
1010
VERSION_NAME=$inputVersion
1111
fi

Flutter/android/config.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ rootProject.ext {
44
supportSdkVersion = "26.0.1"
55
minSdkVersion = 19
66
targetSdkVersion = 28
7-
playerVersion = "12.4.2"
7+
playerVersion = "12.5.0"
88
compat = "androidx.appcompat:appcompat:1.6.1"
99

1010
/**
@@ -14,5 +14,5 @@ rootProject.ext {
1414
Professional SDK: liteavSdk="com.tencent.liteav:LiteAVSDK_Professional:latest.release"
1515
If you want to specify the SDK version(eg 11.7.0.13946), use: liteavSdk="com.tencent.liteav:LiteAVSDK_Player:11.7.0.13946"
1616
*/
17-
liteavSdk="com.tencent.liteav:LiteAVSDK_Player:12.4.0.17372"
17+
liteavSdk="com.tencent.liteav:LiteAVSDK_Player:12.5.0.17567"
1818
}

Flutter/android/src/main/java/com/tencent/vod/flutter/FTXDownloadManager.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -409,8 +409,12 @@ public void setDownloadHeaders(@NonNull MapMsg headers) {
409409
public TXDownloadListMsg getDownloadList() {
410410
List<TXVodDownloadMediaInfo> medias = TXVodDownloadManager.getInstance().getDownloadMediaInfoList();
411411
List<TXVodDownloadMediaMsg> mediaResults = new ArrayList<>();
412-
for (TXVodDownloadMediaInfo mediaInfo : medias) {
413-
mediaResults.add(buildMsgFromDownloadInfo(mediaInfo));
412+
if (null != medias) {
413+
for (TXVodDownloadMediaInfo mediaInfo : medias) {
414+
if (null != mediaInfo) {
415+
mediaResults.add(buildMsgFromDownloadInfo(mediaInfo));
416+
}
417+
}
414418
}
415419
TXDownloadListMsg res = new TXDownloadListMsg();
416420
res.setInfoList(mediaResults);
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package com.tencent.vod.flutter.common;
2+
3+
public class FTXPlayerConstants {
4+
5+
public interface FTXRenderMode {
6+
7+
/**
8+
* 根据视频比例,完整展示出视频画面
9+
* Display the video content fully according to the video aspect ratio.
10+
*/
11+
long ADJUST_RESOLUTION = 0;
12+
13+
/**
14+
* 根据视频比例,填充满容器,超出部分裁剪
15+
* Fill the container completely according to the video aspect ratio, and crop the overflowing parts.
16+
*/
17+
long FULL_FILL_CONTAINER = 1;
18+
19+
/**
20+
* 根据视频比例,填充满容器,形变填充满容器
21+
* Fill the container completely according to the video aspect ratio, and deform to fill the container.
22+
*/
23+
long SCALE_FULL_FILL_CONTAINER = 2;
24+
}
25+
26+
}

0 commit comments

Comments
 (0)