Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
tx_player_fork
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蒋俊
tx_player_fork
Commits
bad4fb1d
提交
bad4fb1d
authored
8月 29, 2025
作者:
kongdywang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1. vod support autoRotate
2. update to 12.7.2 3. fix known issue
上级
16c92d6d
显示空白字符变更
内嵌
并排
正在显示
16 个修改的文件
包含
108 行增加
和
18 行删除
+108
-18
CHANGELOG.md
Flutter/CHANGELOG.md
+10
-0
buildVersionOnMac.sh
Flutter/CI/buildVersionOnMac.sh
+1
-1
config.gradle
Flutter/android/config.gradle
+3
-2
FTXVodPlayer.java
...ain/java/com/tencent/vod/flutter/player/FTXVodPlayer.java
+16
-0
FTXPlayerRenderSurfaceHost.java
...vod/flutter/player/render/FTXPlayerRenderSurfaceHost.java
+2
-0
FTXVodPlayerRenderHost.java
...ent/vod/flutter/player/render/FTXVodPlayerRenderHost.java
+6
-0
FTXEGLRender.java
...om/tencent/vod/flutter/player/render/gl/FTXEGLRender.java
+21
-8
FTXTextureRender.java
...encent/vod/flutter/player/render/gl/FTXTextureRender.java
+11
-0
FTXRenderCarrier.java
...a/com/tencent/vod/flutter/ui/render/FTXRenderCarrier.java
+2
-0
FTXSurfaceView.java
...ava/com/tencent/vod/flutter/ui/render/FTXSurfaceView.java
+14
-1
FTXTextureView.java
...ava/com/tencent/vod/flutter/ui/render/FTXTextureView.java
+15
-0
super_player.podspec
Flutter/ios/super_player.podspec
+2
-2
common_config.dart
Flutter/lib/Core/common/common_config.dart
+2
-1
pubspec.yaml
Flutter/pubspec.yaml
+1
-1
player_constants.dart
...idget/superplayer_widget/lib/common/player_constants.dart
+1
-1
pubspec.yaml
FlutterWidget/superplayer_widget/pubspec.yaml
+1
-1
没有找到文件。
Flutter/CHANGELOG.md
浏览文件 @
bad4fb1d
#### Version: 12.7.2 2025.08.29
##### Features:
-
VOD supports the autoRotate configuration.
-
set Android TXLiteAVSDK to 12.7.0.19083
-
set iOS TXLiteAVSDK to 12.7.19324
-
Fix known issue
#### Version: 12.7.1 2025.08.13
#### Version: 12.7.1 2025.08.13
##### Features:
##### Features:
...
...
Flutter/CI/buildVersionOnMac.sh
浏览文件 @
bad4fb1d
...
@@ -5,7 +5,7 @@ buildLog() {
...
@@ -5,7 +5,7 @@ buildLog() {
}
}
inputVersion
=
$1
inputVersion
=
$1
export
VERSION_NAME
=
"12.7.
1
"
export
VERSION_NAME
=
"12.7.
2
"
if
[
-n
"
$inputVersion
"
]
;
then
if
[
-n
"
$inputVersion
"
]
;
then
VERSION_NAME
=
$inputVersion
VERSION_NAME
=
$inputVersion
fi
fi
...
...
Flutter/android/config.gradle
浏览文件 @
bad4fb1d
...
@@ -4,7 +4,7 @@ rootProject.ext {
...
@@ -4,7 +4,7 @@ rootProject.ext {
supportSdkVersion
=
"26.0.1"
supportSdkVersion
=
"26.0.1"
minSdkVersion
=
19
minSdkVersion
=
19
targetSdkVersion
=
28
targetSdkVersion
=
28
playerVersion
=
"12.7.
1
"
playerVersion
=
"12.7.
2
"
compat
=
"androidx.appcompat:appcompat:1.6.1"
compat
=
"androidx.appcompat:appcompat:1.6.1"
/**
/**
...
@@ -14,5 +14,5 @@ rootProject.ext {
...
@@ -14,5 +14,5 @@ rootProject.ext {
Professional SDK: liteavSdk="com.tencent.liteav:LiteAVSDK_Professional:latest.release"
Professional SDK: liteavSdk="com.tencent.liteav:LiteAVSDK_Professional:latest.release"
If you want to specify the SDK version(eg 11.7.0.13946), use: liteavSdk="com.tencent.liteav:LiteAVSDK_Player:11.7.0.13946"
If you want to specify the SDK version(eg 11.7.0.13946), use: liteavSdk="com.tencent.liteav:LiteAVSDK_Player:11.7.0.13946"
*/
*/
liteavSdk
=
"com.tencent.liteav:LiteAVSDK_Player:12.7.0.190
72
"
liteavSdk
=
"com.tencent.liteav:LiteAVSDK_Player:12.7.0.190
83
"
}
}
\ No newline at end of file
Flutter/android/src/main/java/com/tencent/vod/flutter/player/FTXVodPlayer.java
浏览文件 @
bad4fb1d
...
@@ -84,6 +84,8 @@ public class FTXVodPlayer extends FTXVodPlayerRenderHost implements ITXVodPlayLi
...
@@ -84,6 +84,8 @@ public class FTXVodPlayer extends FTXVodPlayerRenderHost implements ITXVodPlayLi
private
final
FTXRenderViewFactory
mRenderViewFactory
;
private
final
FTXRenderViewFactory
mRenderViewFactory
;
private
final
Handler
mUIHandler
=
new
Handler
(
Looper
.
getMainLooper
());
private
final
Handler
mUIHandler
=
new
Handler
(
Looper
.
getMainLooper
());
private
long
mCurrentRenderMode
=
FTXPlayerConstants
.
FTXRenderMode
.
FULL_FILL_CONTAINER
;
private
long
mCurrentRenderMode
=
FTXPlayerConstants
.
FTXRenderMode
.
FULL_FILL_CONTAINER
;
private
float
mCurrentRotation
=
0
;
private
TXVodPlayConfig
mCurConfig
=
new
TXVodPlayConfig
();
private
final
FTXPIPManager
.
PipCallback
mPipCallback
=
new
FTXPIPManager
.
PipCallback
()
{
private
final
FTXPIPManager
.
PipCallback
mPipCallback
=
new
FTXPIPManager
.
PipCallback
()
{
@Override
@Override
public
void
onPipResult
(
TXPipResult
result
)
{
public
void
onPipResult
(
TXPipResult
result
)
{
...
@@ -152,6 +154,7 @@ public class FTXVodPlayer extends FTXVodPlayerRenderHost implements ITXVodPlayLi
...
@@ -152,6 +154,7 @@ public class FTXVodPlayer extends FTXVodPlayerRenderHost implements ITXVodPlayLi
mVodPlayer
.
setPlayerView
((
TXCloudVideoView
)
null
);
mVodPlayer
.
setPlayerView
((
TXCloudVideoView
)
null
);
mVodPlayer
=
null
;
mVodPlayer
=
null
;
}
}
mCurrentRotation
=
0
;
mCurRenderView
=
null
;
mCurRenderView
=
null
;
TXFlutterEngineHolder
.
getInstance
().
removeAppLifeListener
(
mAppLifeListener
);
TXFlutterEngineHolder
.
getInstance
().
removeAppLifeListener
(
mAppLifeListener
);
releaseTXImageSprite
();
releaseTXImageSprite
();
...
@@ -190,6 +193,11 @@ public class FTXVodPlayer extends FTXVodPlayerRenderHost implements ITXVodPlayLi
...
@@ -190,6 +193,11 @@ public class FTXVodPlayer extends FTXVodPlayerRenderHost implements ITXVodPlayLi
return
;
return
;
}
}
}
}
long
rotation
=
bundle
.
getLong
(
TXVodConstants
.
EVT_KEY_VIDEO_ROTATION
);
if
(
mCurConfig
.
isAutoRotate
())
{
notifyTextureRotation
(
rotation
);
}
mCurrentRotation
=
rotation
;
break
;
break
;
case
TXLiveConstants
.
PLAY_WARNING_HW_ACCELERATION_FAIL
:
case
TXLiveConstants
.
PLAY_WARNING_HW_ACCELERATION_FAIL
:
mHardwareDecodeFail
=
true
;
mHardwareDecodeFail
=
true
;
...
@@ -273,6 +281,7 @@ public class FTXVodPlayer extends FTXVodPlayerRenderHost implements ITXVodPlayLi
...
@@ -273,6 +281,7 @@ public class FTXVodPlayer extends FTXVodPlayerRenderHost implements ITXVodPlayLi
TXVodPlayConfig
playConfig
=
new
TXVodPlayConfig
();
TXVodPlayConfig
playConfig
=
new
TXVodPlayConfig
();
FTXVersionAdapter
.
enableCustomSubtitle
(
playConfig
,
0
);
FTXVersionAdapter
.
enableCustomSubtitle
(
playConfig
,
0
);
FTXVersionAdapter
.
enableDrmLevel3
(
playConfig
,
true
);
FTXVersionAdapter
.
enableDrmLevel3
(
playConfig
,
true
);
mCurConfig
=
playConfig
;
mVodPlayer
.
setConfig
(
playConfig
);
mVodPlayer
.
setConfig
(
playConfig
);
mVodPlayer
.
setVodSubtitleDataListener
(
new
ITXVodPlayListener
.
ITXVodSubtitleDataListener
()
{
mVodPlayer
.
setVodSubtitleDataListener
(
new
ITXVodPlayListener
.
ITXVodSubtitleDataListener
()
{
@Override
@Override
...
@@ -310,6 +319,7 @@ public class FTXVodPlayer extends FTXVodPlayerRenderHost implements ITXVodPlayLi
...
@@ -310,6 +319,7 @@ public class FTXVodPlayer extends FTXVodPlayerRenderHost implements ITXVodPlayLi
if
(
null
!=
mCurRenderView
)
{
if
(
null
!=
mCurRenderView
)
{
mCurRenderView
.
setPlayer
(
this
);
mCurRenderView
.
setPlayer
(
this
);
}
}
mCurrentRotation
=
0
;
return
mVodPlayer
.
startVodPlay
(
url
);
return
mVodPlayer
.
startVodPlay
(
url
);
}
}
return
Uninitialized
;
return
Uninitialized
;
...
@@ -434,6 +444,7 @@ public class FTXVodPlayer extends FTXVodPlayerRenderHost implements ITXVodPlayLi
...
@@ -434,6 +444,7 @@ public class FTXVodPlayer extends FTXVodPlayerRenderHost implements ITXVodPlayLi
TXVodPlayConfig
playConfig
=
FTXTransformation
.
transformToVodConfig
(
config
);
TXVodPlayConfig
playConfig
=
FTXTransformation
.
transformToVodConfig
(
config
);
FTXVersionAdapter
.
enableCustomSubtitle
(
playConfig
,
0
);
FTXVersionAdapter
.
enableCustomSubtitle
(
playConfig
,
0
);
FTXVersionAdapter
.
enableDrmLevel3
(
playConfig
,
true
);
FTXVersionAdapter
.
enableDrmLevel3
(
playConfig
,
true
);
mCurConfig
=
playConfig
;
mVodPlayer
.
setConfig
(
playConfig
);
mVodPlayer
.
setConfig
(
playConfig
);
}
}
}
}
...
@@ -896,6 +907,11 @@ public class FTXVodPlayer extends FTXVodPlayerRenderHost implements ITXVodPlayLi
...
@@ -896,6 +907,11 @@ public class FTXVodPlayer extends FTXVodPlayerRenderHost implements ITXVodPlayLi
return
mCurrentRenderMode
;
return
mCurrentRenderMode
;
}
}
@Override
public
float
getRotation
()
{
return
mCurrentRotation
;
}
@Override
@Override
public
int
getVideoWidth
()
{
public
int
getVideoWidth
()
{
if
(
null
!=
mVodPlayer
)
{
if
(
null
!=
mVodPlayer
)
{
...
...
Flutter/android/src/main/java/com/tencent/vod/flutter/player/render/FTXPlayerRenderSurfaceHost.java
浏览文件 @
bad4fb1d
...
@@ -14,6 +14,8 @@ public interface FTXPlayerRenderSurfaceHost {
...
@@ -14,6 +14,8 @@ public interface FTXPlayerRenderSurfaceHost {
long
getPlayerRenderMode
();
long
getPlayerRenderMode
();
float
getRotation
();
int
getVideoWidth
();
int
getVideoWidth
();
int
getVideoHeight
();
int
getVideoHeight
();
...
...
Flutter/android/src/main/java/com/tencent/vod/flutter/player/render/FTXVodPlayerRenderHost.java
浏览文件 @
bad4fb1d
...
@@ -78,6 +78,12 @@ public abstract class FTXVodPlayerRenderHost extends FTXBasePlayer implements FT
...
@@ -78,6 +78,12 @@ public abstract class FTXVodPlayerRenderHost extends FTXBasePlayer implements FT
}
}
}
}
protected
void
notifyTextureRotation
(
float
rotation
)
{
if
(
null
!=
mRenderCarrier
)
{
mRenderCarrier
.
notifyTextureRotation
(
rotation
);
}
}
@Override
@Override
public
FTXRenderCarrier
getCurCarrier
()
{
public
FTXRenderCarrier
getCurCarrier
()
{
return
mRenderCarrier
;
return
mRenderCarrier
;
...
...
Flutter/android/src/main/java/com/tencent/vod/flutter/player/render/gl/FTXEGLRender.java
浏览文件 @
bad4fb1d
...
@@ -43,6 +43,7 @@ public class FTXEGLRender implements SurfaceTexture.OnFrameAvailableListener {
...
@@ -43,6 +43,7 @@ public class FTXEGLRender implements SurfaceTexture.OnFrameAvailableListener {
private
int
mWidth
;
private
int
mWidth
;
private
int
mHeight
;
private
int
mHeight
;
private
float
mRotation
=
0
;
private
boolean
mStart
=
false
;
private
boolean
mStart
=
false
;
private
final
Lock
mLock
=
new
ReentrantLock
();
private
final
Lock
mLock
=
new
ReentrantLock
();
private
long
mPreTime
=
0
;
private
long
mPreTime
=
0
;
...
@@ -165,6 +166,7 @@ public class FTXEGLRender implements SurfaceTexture.OnFrameAvailableListener {
...
@@ -165,6 +166,7 @@ public class FTXEGLRender implements SurfaceTexture.OnFrameAvailableListener {
mTextureRender
=
new
FTXTextureRender
(
mViewWidth
,
mViewHeight
);
mTextureRender
=
new
FTXTextureRender
(
mViewWidth
,
mViewHeight
);
mTextureRender
.
surfaceCreated
();
mTextureRender
.
surfaceCreated
();
mTextureRender
.
updateSizeAndRenderMode
(
mWidth
,
mHeight
,
mRenderMode
);
mTextureRender
.
updateSizeAndRenderMode
(
mWidth
,
mHeight
,
mRenderMode
);
mTextureRender
.
setRotationAngle
(
mRotation
);
LiteavLog
.
d
(
TAG
,
"textureID="
+
mTextureRender
.
getTextureID
());
LiteavLog
.
d
(
TAG
,
"textureID="
+
mTextureRender
.
getTextureID
());
if
(
null
==
mInputSurface
||
needClearOld
)
{
if
(
null
==
mInputSurface
||
needClearOld
)
{
mSurfaceTexture
=
new
SurfaceTexture
(
mTextureRender
.
getTextureID
());
mSurfaceTexture
=
new
SurfaceTexture
(
mTextureRender
.
getTextureID
());
...
@@ -186,6 +188,15 @@ public class FTXEGLRender implements SurfaceTexture.OnFrameAvailableListener {
...
@@ -186,6 +188,15 @@ public class FTXEGLRender implements SurfaceTexture.OnFrameAvailableListener {
}
}
}
}
public
void
updateRotation
(
float
rotation
)
{
mRotation
=
rotation
;
if
(
null
!=
mTextureRender
)
{
mTextureRender
.
setRotationAngle
(
rotation
);
}
else
{
LiteavLog
.
w
(
TAG
,
"mTextureRender is null"
);
}
}
public
void
setViewPortSize
(
int
width
,
int
height
)
{
public
void
setViewPortSize
(
int
width
,
int
height
)
{
mViewWidth
=
width
;
mViewWidth
=
width
;
mViewHeight
=
height
;
mViewHeight
=
height
;
...
@@ -303,10 +314,10 @@ public class FTXEGLRender implements SurfaceTexture.OnFrameAvailableListener {
...
@@ -303,10 +314,10 @@ public class FTXEGLRender implements SurfaceTexture.OnFrameAvailableListener {
mEGLSaveDrawSurface
=
EGL14
.
eglGetCurrentSurface
(
EGL14
.
EGL_DRAW
);
mEGLSaveDrawSurface
=
EGL14
.
eglGetCurrentSurface
(
EGL14
.
EGL_DRAW
);
mEGLSaveReadSurface
=
EGL14
.
eglGetCurrentSurface
(
EGL14
.
EGL_READ
);
mEGLSaveReadSurface
=
EGL14
.
eglGetCurrentSurface
(
EGL14
.
EGL_READ
);
// 检查有效性
//
// 检查有效性
if
(
mEGLSavedDisplay
==
EGL14
.
EGL_NO_DISPLAY
||
mEGLSavedContext
==
EGL14
.
EGL_NO_CONTEXT
)
{
//
if (mEGLSavedDisplay == EGL14.EGL_NO_DISPLAY || mEGLSavedContext == EGL14.EGL_NO_CONTEXT) {
LiteavLog
.
w
(
TAG
,
"Saving invalid EGL state"
);
//
LiteavLog.w(TAG, "Saving invalid EGL state");
}
//
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
LiteavLog
.
e
(
TAG
,
"Save EGL error: "
+
e
);
LiteavLog
.
e
(
TAG
,
"Save EGL error: "
+
e
);
resetSavedEnvironment
();
resetSavedEnvironment
();
...
@@ -357,10 +368,6 @@ public class FTXEGLRender implements SurfaceTexture.OnFrameAvailableListener {
...
@@ -357,10 +368,6 @@ public class FTXEGLRender implements SurfaceTexture.OnFrameAvailableListener {
}
}
}
}
}
else
{
}
else
{
// 没有保存环境时的默认处理
LiteavLog
.
w
(
TAG
,
"No valid EGL state to restore"
);
// 确保解绑当前上下文
if
(
mEGLDisplay
!=
EGL14
.
EGL_NO_DISPLAY
)
{
if
(
mEGLDisplay
!=
EGL14
.
EGL_NO_DISPLAY
)
{
EGL14
.
eglMakeCurrent
(
EGL14
.
eglMakeCurrent
(
mEGLDisplay
,
mEGLDisplay
,
...
@@ -467,11 +474,17 @@ public class FTXEGLRender implements SurfaceTexture.OnFrameAvailableListener {
...
@@ -467,11 +474,17 @@ public class FTXEGLRender implements SurfaceTexture.OnFrameAvailableListener {
LiteavLog
.
i
(
TAG
,
"stopRender"
);
LiteavLog
.
i
(
TAG
,
"stopRender"
);
// unLock render thread
// unLock render thread
mStart
=
false
;
mStart
=
false
;
mRotation
=
0
;
if
(
null
!=
mTextureRender
)
{
mTextureRender
.
setRotationAngle
(
0
);
}
saveCurrentEglEnvironment
();
saveCurrentEglEnvironment
();
final
boolean
contextCompare
=
mEGLContextEncoder
.
equals
(
mEGLSavedContext
);
final
boolean
contextCompare
=
mEGLContextEncoder
.
equals
(
mEGLSavedContext
);
eglUninstall
(
isCompleteRelease
);
eglUninstall
(
isCompleteRelease
);
if
(
null
!=
mDrawHandlerThread
)
{
mDrawHandlerThread
.
quitSafely
();
mDrawHandlerThread
.
quitSafely
();
mDrawHandler
=
null
;
mDrawHandler
=
null
;
}
if
(!
contextCompare
)
{
if
(!
contextCompare
)
{
LiteavLog
.
d
(
TAG
,
"restoreEglEnvironment"
);
LiteavLog
.
d
(
TAG
,
"restoreEglEnvironment"
);
...
...
Flutter/android/src/main/java/com/tencent/vod/flutter/player/render/gl/FTXTextureRender.java
浏览文件 @
bad4fb1d
...
@@ -55,6 +55,7 @@ public class FTXTextureRender {
...
@@ -55,6 +55,7 @@ public class FTXTextureRender {
"}"
;
"}"
;
private
final
float
[]
projectionMatrix
=
new
float
[
16
];
private
final
float
[]
projectionMatrix
=
new
float
[
16
];
private
final
float
[]
rotationMatrix
=
new
float
[
16
];
private
int
mVideoFragmentProgram
;
private
int
mVideoFragmentProgram
;
private
int
muMVPMatrixHandle
;
private
int
muMVPMatrixHandle
;
...
@@ -68,6 +69,8 @@ public class FTXTextureRender {
...
@@ -68,6 +69,8 @@ public class FTXTextureRender {
private
int
mPortWidth
;
private
int
mPortWidth
;
private
int
mPortHeight
;
private
int
mPortHeight
;
private
float
rotationAngle
=
90
;
public
FTXTextureRender
(
int
width
,
int
height
)
{
public
FTXTextureRender
(
int
width
,
int
height
)
{
mPortWidth
=
width
;
mPortWidth
=
width
;
mPortHeight
=
height
;
mPortHeight
=
height
;
...
@@ -172,6 +175,10 @@ public class FTXTextureRender {
...
@@ -172,6 +175,10 @@ public class FTXTextureRender {
updateSizeAndRenderMode
(
mVideoWidth
,
mVideoHeight
,
mRenderMode
);
updateSizeAndRenderMode
(
mVideoWidth
,
mVideoHeight
,
mRenderMode
);
}
}
public
void
setRotationAngle
(
float
angle
)
{
rotationAngle
=
angle
;
}
public
void
cleanDrawCache
()
{
public
void
cleanDrawCache
()
{
GLES30
.
glViewport
(
0
,
0
,
mPortWidth
,
mPortHeight
);
GLES30
.
glViewport
(
0
,
0
,
mPortWidth
,
mPortHeight
);
GLES30
.
glClear
(
GLES30
.
GL_COLOR_BUFFER_BIT
);
GLES30
.
glClear
(
GLES30
.
GL_COLOR_BUFFER_BIT
);
...
@@ -187,6 +194,10 @@ public class FTXTextureRender {
...
@@ -187,6 +194,10 @@ public class FTXTextureRender {
GLES30
.
glUniformMatrix4fv
(
muMVPMatrixHandle
,
1
,
false
,
projectionMatrix
,
0
);
GLES30
.
glUniformMatrix4fv
(
muMVPMatrixHandle
,
1
,
false
,
projectionMatrix
,
0
);
// OpenGL rotates counterclockwise, here it needs to be modified to rotate clockwise
Matrix
.
setRotateM
(
rotationMatrix
,
0
,
rotationAngle
,
0
,
0
,
-
1
);
GLES30
.
glUniformMatrix4fv
(
muMVPMatrixHandle
,
1
,
false
,
rotationMatrix
,
0
);
GLES30
.
glActiveTexture
(
GLES30
.
GL_TEXTURE0
);
GLES30
.
glActiveTexture
(
GLES30
.
GL_TEXTURE0
);
GLES30
.
glBindTexture
(
GLES11Ext
.
GL_TEXTURE_EXTERNAL_OES
,
textureID
[
0
]);
GLES30
.
glBindTexture
(
GLES11Ext
.
GL_TEXTURE_EXTERNAL_OES
,
textureID
[
0
]);
GLES30
.
glUniform1i
(
maTextureHandle
,
0
);
GLES30
.
glUniform1i
(
maTextureHandle
,
0
);
...
...
Flutter/android/src/main/java/com/tencent/vod/flutter/ui/render/FTXRenderCarrier.java
浏览文件 @
bad4fb1d
...
@@ -12,6 +12,8 @@ public interface FTXRenderCarrier {
...
@@ -12,6 +12,8 @@ public interface FTXRenderCarrier {
void
notifyVideoResolutionChanged
(
int
videoWidth
,
int
videoHeight
);
void
notifyVideoResolutionChanged
(
int
videoWidth
,
int
videoHeight
);
void
notifyTextureRotation
(
float
rotation
);
void
updateRenderMode
(
long
renderMode
);
void
updateRenderMode
(
long
renderMode
);
void
requestLayoutSizeByContainerSize
(
int
viewWidth
,
int
viewHeight
);
void
requestLayoutSizeByContainerSize
(
int
viewWidth
,
int
viewHeight
);
...
...
Flutter/android/src/main/java/com/tencent/vod/flutter/ui/render/FTXSurfaceView.java
浏览文件 @
bad4fb1d
...
@@ -30,6 +30,7 @@ public class FTXSurfaceView extends SurfaceView implements FTXRenderCarrier {
...
@@ -30,6 +30,7 @@ public class FTXSurfaceView extends SurfaceView implements FTXRenderCarrier {
private
int
mVideoHeight
=
0
;
private
int
mVideoHeight
=
0
;
private
int
mViewWidth
=
0
;
private
int
mViewWidth
=
0
;
private
int
mViewHeight
=
0
;
private
int
mViewHeight
=
0
;
private
float
mRotation
=
0
;
private
final
Object
mLayoutLock
=
new
Object
();
private
final
Object
mLayoutLock
=
new
Object
();
private
FTXEGLRender
mRender
;
private
FTXEGLRender
mRender
;
private
final
SurfaceViewInnerListener
mSurfaceListenerDelegate
=
new
SurfaceViewInnerListener
(
this
);
private
final
SurfaceViewInnerListener
mSurfaceListenerDelegate
=
new
SurfaceViewInnerListener
(
this
);
...
@@ -69,6 +70,16 @@ public class FTXSurfaceView extends SurfaceView implements FTXRenderCarrier {
...
@@ -69,6 +70,16 @@ public class FTXSurfaceView extends SurfaceView implements FTXRenderCarrier {
}
}
}
}
@Override
public
void
notifyTextureRotation
(
float
rotation
)
{
if
(
mRotation
!=
rotation
)
{
mRotation
=
rotation
;
if
(
null
!=
mRender
)
{
mRender
.
updateRotation
(
rotation
);
}
}
}
@Override
@Override
protected
void
onDetachedFromWindow
()
{
protected
void
onDetachedFromWindow
()
{
super
.
onDetachedFromWindow
();
super
.
onDetachedFromWindow
();
...
@@ -121,9 +132,11 @@ public class FTXSurfaceView extends SurfaceView implements FTXRenderCarrier {
...
@@ -121,9 +132,11 @@ public class FTXSurfaceView extends SurfaceView implements FTXRenderCarrier {
mRenderMode
=
surfaceHost
.
getPlayerRenderMode
();
mRenderMode
=
surfaceHost
.
getPlayerRenderMode
();
mVideoWidth
=
surfaceHost
.
getVideoWidth
();
mVideoWidth
=
surfaceHost
.
getVideoWidth
();
mVideoHeight
=
surfaceHost
.
getVideoHeight
();
mVideoHeight
=
surfaceHost
.
getVideoHeight
();
mRotation
=
surfaceHost
.
getRotation
();
updateVideoRenderMode
();
updateVideoRenderMode
();
notifyTextureRotation
(
mRotation
);
LiteavLog
.
i
(
TAG
,
"updateSize, mVideoWidth:"
+
mVideoWidth
+
",mVideoHeight:"
LiteavLog
.
i
(
TAG
,
"updateSize, mVideoWidth:"
+
mVideoWidth
+
",mVideoHeight:"
+
mVideoHeight
+
",renderMode:"
+
mRenderMode
);
+
mVideoHeight
+
",renderMode:"
+
mRenderMode
+
",mRotation:"
+
mRotation
);
}
}
}
}
...
...
Flutter/android/src/main/java/com/tencent/vod/flutter/ui/render/FTXTextureView.java
浏览文件 @
bad4fb1d
...
@@ -31,6 +31,7 @@ public class FTXTextureView extends TextureView implements FTXRenderCarrier {
...
@@ -31,6 +31,7 @@ public class FTXTextureView extends TextureView implements FTXRenderCarrier {
private
int
mVideoHeight
=
0
;
private
int
mVideoHeight
=
0
;
private
int
mViewWidth
=
0
;
private
int
mViewWidth
=
0
;
private
int
mViewHeight
=
0
;
private
int
mViewHeight
=
0
;
private
float
mRotation
=
0
;
private
FTXEGLRender
mRender
;
private
FTXEGLRender
mRender
;
private
final
Object
mLayoutLock
=
new
Object
();
private
final
Object
mLayoutLock
=
new
Object
();
private
final
TextureViewInnerListener
mSurfaceListenerDelegate
=
new
TextureViewInnerListener
(
this
);
private
final
TextureViewInnerListener
mSurfaceListenerDelegate
=
new
TextureViewInnerListener
(
this
);
...
@@ -70,6 +71,16 @@ public class FTXTextureView extends TextureView implements FTXRenderCarrier {
...
@@ -70,6 +71,16 @@ public class FTXTextureView extends TextureView implements FTXRenderCarrier {
}
}
}
}
@Override
public
void
notifyTextureRotation
(
float
rotation
)
{
if
(
mRotation
!=
rotation
)
{
mRotation
=
rotation
;
if
(
null
!=
mRender
)
{
mRender
.
updateRotation
(
rotation
);
}
}
}
@Override
@Override
public
void
updateRenderMode
(
long
renderMode
)
{
public
void
updateRenderMode
(
long
renderMode
)
{
if
(
mRenderMode
!=
renderMode
)
{
if
(
mRenderMode
!=
renderMode
)
{
...
@@ -111,7 +122,11 @@ public class FTXTextureView extends TextureView implements FTXRenderCarrier {
...
@@ -111,7 +122,11 @@ public class FTXTextureView extends TextureView implements FTXRenderCarrier {
mRenderMode
=
surfaceHost
.
getPlayerRenderMode
();
mRenderMode
=
surfaceHost
.
getPlayerRenderMode
();
mVideoWidth
=
surfaceHost
.
getVideoWidth
();
mVideoWidth
=
surfaceHost
.
getVideoWidth
();
mVideoHeight
=
surfaceHost
.
getVideoHeight
();
mVideoHeight
=
surfaceHost
.
getVideoHeight
();
mRotation
=
surfaceHost
.
getRotation
();
updateVideoRenderMode
();
updateVideoRenderMode
();
notifyTextureRotation
(
mRotation
);
LiteavLog
.
i
(
TAG
,
"updateSize, mVideoWidth:"
+
mVideoWidth
+
",mVideoHeight:"
+
mVideoHeight
+
",renderMode:"
+
mRenderMode
+
",mRotation:"
+
mRotation
);
}
}
}
}
...
...
Flutter/ios/super_player.podspec
浏览文件 @
bad4fb1d
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
#
#
Pod
::
Spec
.
new
do
|
s
|
Pod
::
Spec
.
new
do
|
s
|
s
.
name
=
'super_player'
s
.
name
=
'super_player'
s
.
version
=
'12.7.
1
'
s
.
version
=
'12.7.
2
'
s
.
summary
=
'The super_player Flutter plugin is one of the sub-product SDKs of the audio/video terminal SDK (Tencent Cloud Video on Demand).'
s
.
summary
=
'The super_player Flutter plugin is one of the sub-product SDKs of the audio/video terminal SDK (Tencent Cloud Video on Demand).'
s
.
description
=
<<-
DESC
s
.
description
=
<<-
DESC
player plugin.
player plugin.
...
@@ -26,7 +26,7 @@ player plugin.
...
@@ -26,7 +26,7 @@ player plugin.
# Player_Premium SDK: s.dependency 'TXLiteAVSDK_Player_Premium'
# Player_Premium SDK: s.dependency 'TXLiteAVSDK_Player_Premium'
# Professional SDK: s.dependency 'TXLiteAVSDK_Professional'
# Professional SDK: s.dependency 'TXLiteAVSDK_Professional'
# If you want to specify the SDK version(eg 11.6.15041), use: s.dependency 'TXLiteAVSDK_Player','11.6.15041'
# If you want to specify the SDK version(eg 11.6.15041), use: s.dependency 'TXLiteAVSDK_Player','11.6.15041'
s
.
dependency
'TXLiteAVSDK_Player'
,
'12.7.19
272
'
s
.
dependency
'TXLiteAVSDK_Player'
,
'12.7.19
324
'
# s.dependency 'FTXPiPKit'
# s.dependency 'FTXPiPKit'
s
.
vendored_frameworks
=
[
s
.
vendored_frameworks
=
[
'localdep/FTXPiPKit.xcframework'
'localdep/FTXPiPKit.xcframework'
...
...
Flutter/lib/Core/common/common_config.dart
浏览文件 @
bad4fb1d
...
@@ -2,5 +2,5 @@
...
@@ -2,5 +2,5 @@
part of
SuperPlayer
;
part of
SuperPlayer
;
abstract
class
FPlayerPckInfo
{
abstract
class
FPlayerPckInfo
{
static
const
String
PLAYER_VERSION
=
"12.7.
1
"
;
static
const
String
PLAYER_VERSION
=
"12.7.
2
"
;
}
}
\ No newline at end of file
Flutter/pubspec.yaml
浏览文件 @
bad4fb1d
name
:
super_player
name
:
super_player
description
:
The super_player Flutter plugin is one of the sub-product SDKs of the audio/video terminal SDK (Tencent Cloud Video on Demand).
description
:
The super_player Flutter plugin is one of the sub-product SDKs of the audio/video terminal SDK (Tencent Cloud Video on Demand).
version
:
12.7.
1
version
:
12.7.
2
homepage
:
https://github.com/LiteAVSDK/Player_Flutter
homepage
:
https://github.com/LiteAVSDK/Player_Flutter
environment
:
environment
:
...
...
FlutterWidget/superplayer_widget/lib/common/player_constants.dart
浏览文件 @
bad4fb1d
...
@@ -3,5 +3,5 @@ part of demo_super_player_lib;
...
@@ -3,5 +3,5 @@ part of demo_super_player_lib;
class
PlayerConstants
{
class
PlayerConstants
{
static
const
PKG_NAME
=
"superplayer_widget"
;
static
const
PKG_NAME
=
"superplayer_widget"
;
static
const
String
PLAYER_WIDGET_VERSION
=
"12.7.
1
"
;
static
const
String
PLAYER_WIDGET_VERSION
=
"12.7.
2
"
;
}
}
FlutterWidget/superplayer_widget/pubspec.yaml
浏览文件 @
bad4fb1d
name
:
superplayer_widget
name
:
superplayer_widget
description
:
superplayer,base on vodplayer
description
:
superplayer,base on vodplayer
version
:
12.7.
1
version
:
12.7.
2
environment
:
environment
:
sdk
:
'
>=2.17.0
<4.0.0'
sdk
:
'
>=2.17.0
<4.0.0'
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论