Skip to content

Commit f39de64

Browse files
author
kongdywang
committed
Fix the issue of abnormal display when restoring picture-in-picture
1 parent cc1ec30 commit f39de64

File tree

7 files changed

+13
-7
lines changed

7 files changed

+13
-7
lines changed

Flutter/android/src/main/java/com/tencent/vod/flutter/player/FTXLivePlayer.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,9 @@ protected long init(boolean onlyAudio) {
161161
int startPlayerLivePlay(String url) {
162162
LiteavLog.d(TAG, "startLivePlay:");
163163
if (null != mLivePlayer) {
164+
if (null != mCurRenderView) {
165+
mCurRenderView.setPlayer(this);
166+
}
164167
mLivePlayer.resumeVideo();
165168
if (!mIsMute) {
166169
mLivePlayer.resumeAudio();
@@ -186,7 +189,6 @@ int stopPlay(boolean isNeedClearLastImg) {
186189
if (isNeedClearLastImg && null != mCurRenderView) {
187190
LiteavLog.i(TAG, "stopPlay target clear last img, player:" + hashCode());
188191
mCurRenderView.clearTexture();
189-
mCurRenderView.setPlayer(this);
190192
}
191193
return result;
192194
}

Flutter/android/src/main/java/com/tencent/vod/flutter/player/FTXVodPlayer.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,9 @@ int startPlayerVodPlay(String url) {
317317

318318
void startPlayerVodPlayWithParams(int appId, String fileId, String psign) {
319319
if (mVodPlayer != null) {
320+
if (null != mCurRenderView) {
321+
mCurRenderView.setPlayer(this);
322+
}
320323
TXPlayInfoParams playInfoParams = new TXPlayInfoParams(appId, fileId, psign);
321324
mVodPlayer.startVodPlay(playInfoParams);
322325
}

Flutter/android/src/main/java/com/tencent/vod/flutter/tools/FTXVersionAdapter.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package com.tencent.vod.flutter.tools;
22

3-
import android.text.TextUtils;
4-
53
import com.tencent.liteav.base.util.LiteavLog;
64
import com.tencent.rtmp.TXVodConstants;
75
import com.tencent.rtmp.TXVodPlayConfig;

Flutter/android/src/main/java/com/tencent/vod/flutter/ui/FlutterPipImplActivity.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import android.os.Handler;
2121
import android.os.IBinder;
2222
import android.text.TextUtils;
23+
import android.view.SurfaceView;
2324
import android.view.TextureView;
2425
import android.view.View;
2526
import android.view.Window;
@@ -319,10 +320,12 @@ private void handlePipExitEvent() {
319320
}
320321
if (null != mPlayerHolder.getVodPlayer()) {
321322
mPlayerHolder.getVodPlayer().setSurface(null);
323+
mPlayerHolder.getVodPlayer().setPlayerView((TXCloudVideoView) null);
322324
mPlayerHolder.getVodPlayer().setVodListener(null);
323325
}
324326
if (null != mPlayerHolder.getLivePlayer()) {
325327
mPlayerHolder.getLivePlayer().setRenderView((TextureView) null);
328+
mPlayerHolder.getLivePlayer().setRenderView((SurfaceView) null);
326329
mPlayerHolder.getLivePlayer().setObserver(null);
327330
}
328331
mPlayerHolder.pause();

Flutter/example/lib/demo_txvodplayer.dart

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,6 @@ class _DemoTXVodPlayerState extends State<DemoTXVodPlayer> with WidgetsBindingOb
7474
}
7575
});
7676

77-
await _controller.setLoop(true);
78-
await _controller.enableHardwareDecode(enableHardware);
7977
await _controller.setConfig(FTXVodPlayConfig());
8078
await _controller.setRenderMode(_renderMode);
8179
if (!isLicenseSuc.isCompleted) {

Flutter/ios/Classes/player/FTXLivePlayer.m

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -535,7 +535,8 @@ - (nullable BoolMsg *)startLivePlayPlayerMsg:(nonnull StringPlayerMsg *)playerMs
535535
return [TXCommonUtil boolMsgWith:r];
536536
}
537537

538-
- (void)setPlayerViewRenderViewId:(NSInteger)renderViewId error:(FlutterError * _Nullable __autoreleasing * _Nonnull)error {
538+
- (void)setPlayerViewRenderViewId:(NSInteger)renderViewId error:(FlutterError * _Nullable __autoreleasing * _Nonnull)error {
539+
FTXLOGI(@"setPlayerView, renderViewId:%ld", renderViewId);
539540
FTXRenderView *renderView = [self.renderViewFactory findViewById:renderViewId];
540541
if (nil != renderView) {
541542
self.curRenderView = renderView;

Flutter/ios/Classes/player/FTXVodPlayer.m

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1035,7 +1035,8 @@ - (void)setStringOptionPlayerMsg:(StringOptionPlayerMsg *)playerMsg error:(Flutt
10351035
}
10361036
}
10371037

1038-
- (void)setPlayerViewRenderViewId:(NSInteger)renderViewId error:(FlutterError * _Nullable __autoreleasing * _Nonnull)error {
1038+
- (void)setPlayerViewRenderViewId:(NSInteger)renderViewId error:(FlutterError * _Nullable __autoreleasing * _Nonnull)error {
1039+
FTXLOGI(@"setPlayerView, renderViewId:%ld", renderViewId);
10391040
FTXRenderView *renderView = [self.renderViewFactory findViewById:renderViewId];
10401041
if (nil != renderView) {
10411042
self.curRenderView = renderView;

0 commit comments

Comments
 (0)