提交 d04ded8d authored 作者: kongdywang's avatar kongdywang

Fix some live streaming APIs that lacked instantiation checks, causing errors…

Fix some live streaming APIs that lacked instantiation checks, causing errors when calling the APIs directly on a just-initialized player due to "not instantiated" issues.
上级 a245e83a
...@@ -288,6 +288,7 @@ class TXLivePlayerController extends ChangeNotifier implements ValueListenable<T ...@@ -288,6 +288,7 @@ class TXLivePlayerController extends ChangeNotifier implements ValueListenable<T
@override @override
Future<void> exitPictureInPictureMode() async { Future<void> exitPictureInPictureMode() async {
if (_isNeedDisposed) return; if (_isNeedDisposed) return;
await _initPlayer.future;
if (defaultTargetPlatform == TargetPlatform.android) { if (defaultTargetPlatform == TargetPlatform.android) {
await _livePlayerApi.exitPictureInPictureMode(PlayerMsg() await _livePlayerApi.exitPictureInPictureMode(PlayerMsg()
..playerId = _playerId); ..playerId = _playerId);
...@@ -311,6 +312,7 @@ class TXLivePlayerController extends ChangeNotifier implements ValueListenable<T ...@@ -311,6 +312,7 @@ class TXLivePlayerController extends ChangeNotifier implements ValueListenable<T
/// ///
Future<int> enableReceiveSeiMessage(bool isEnabled, int payloadType) async { Future<int> enableReceiveSeiMessage(bool isEnabled, int payloadType) async {
if (_isNeedDisposed) return -1; if (_isNeedDisposed) return -1;
await _initPlayer.future;
return await _livePlayerApi.enableReceiveSeiMessage(PlayerMsg(playerId: _playerId), return await _livePlayerApi.enableReceiveSeiMessage(PlayerMsg(playerId: _playerId),
isEnabled, payloadType); isEnabled, payloadType);
} }
...@@ -324,6 +326,7 @@ class TXLivePlayerController extends ChangeNotifier implements ValueListenable<T ...@@ -324,6 +326,7 @@ class TXLivePlayerController extends ChangeNotifier implements ValueListenable<T
/// ///
Future<void> showDebugView(bool isShow) async { Future<void> showDebugView(bool isShow) async {
if (_isNeedDisposed) return; if (_isNeedDisposed) return;
await _initPlayer.future;
await _livePlayerApi.showDebugView(PlayerMsg(playerId: _playerId), isShow); await _livePlayerApi.showDebugView(PlayerMsg(playerId: _playerId), isShow);
} }
...@@ -348,6 +351,7 @@ class TXLivePlayerController extends ChangeNotifier implements ValueListenable<T ...@@ -348,6 +351,7 @@ class TXLivePlayerController extends ChangeNotifier implements ValueListenable<T
/// ///
Future<int> setProperty(String key, Object value) async { Future<int> setProperty(String key, Object value) async {
if (_isNeedDisposed) return -1; if (_isNeedDisposed) return -1;
await _initPlayer.future;
return await _livePlayerApi.setProperty(PlayerMsg(playerId: _playerId), key, value); return await _livePlayerApi.setProperty(PlayerMsg(playerId: _playerId), key, value);
} }
...@@ -358,6 +362,7 @@ class TXLivePlayerController extends ChangeNotifier implements ValueListenable<T ...@@ -358,6 +362,7 @@ class TXLivePlayerController extends ChangeNotifier implements ValueListenable<T
/// ///
Future<List<FSteamInfo>> getSupportedBitrate() async { Future<List<FSteamInfo>> getSupportedBitrate() async {
if (_isNeedDisposed) return []; if (_isNeedDisposed) return [];
await _initPlayer.future;
ListMsg listMsg = await _livePlayerApi.getSupportedBitrate(PlayerMsg(playerId: _playerId)); ListMsg listMsg = await _livePlayerApi.getSupportedBitrate(PlayerMsg(playerId: _playerId));
List<FSteamInfo> steamList = []; List<FSteamInfo> steamList = [];
if (null != listMsg.value) { if (null != listMsg.value) {
...@@ -391,6 +396,7 @@ class TXLivePlayerController extends ChangeNotifier implements ValueListenable<T ...@@ -391,6 +396,7 @@ class TXLivePlayerController extends ChangeNotifier implements ValueListenable<T
/// ///
Future<int> setCacheParams(double minTime, double maxTime) async { Future<int> setCacheParams(double minTime, double maxTime) async {
if (_isNeedDisposed) return -1; if (_isNeedDisposed) return -1;
await _initPlayer.future;
return await _livePlayerApi.setCacheParams(PlayerMsg(playerId: _playerId), minTime, maxTime); return await _livePlayerApi.setCacheParams(PlayerMsg(playerId: _playerId), minTime, maxTime);
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论