fix: set defailt time to 10 seconds if the video duration is null & avoid un-necessary playbackCallback is isFromMemories is true

This commit is contained in:
AmanRajSinghMourya
2025-06-09 16:33:05 +05:30
parent 3facf47540
commit 19eb3a5141
2 changed files with 8 additions and 3 deletions

View File

@@ -262,8 +262,11 @@ class _VideoWidgetMediaKitNewState extends State<VideoWidgetMediaKitNew>
}
player.open(Media(url), play: _isAppInFG);
});
final duration = controller!.player.state.duration.inSeconds;
widget.onFinalFileLoad?.call(
int duration = controller!.player.state.duration.inSeconds;
if (duration == 0) {
duration = 10;
}
widget.onFinalFileLoad?.call(
memoryDuration: duration,
);
}

View File

@@ -465,6 +465,7 @@ class _VideoWidgetNativeState extends State<VideoWidgetNative>
}
void _seekListener() {
if (widget.isFromMemories) return;
if (!_isSeeking.value &&
_controller?.playbackStatus == PlaybackStatus.playing) {
_debouncer.run(() async {
@@ -483,6 +484,7 @@ class _VideoWidgetNativeState extends State<VideoWidgetNative>
}
void _onPlaybackStatusChanged() {
if (widget.isFromMemories) return;
final duration = widget.file.duration != null
? widget.file.duration! * 1000
: _controller?.videoInfo?.durationInMilliseconds;
@@ -527,7 +529,7 @@ class _VideoWidgetNativeState extends State<VideoWidgetNative>
Future<void> _onPlaybackReady() async {
if (_isPlaybackReady.value) return;
await _controller!.play();
final durationInSeconds = durationToSeconds(duration) ?? 0;
final durationInSeconds = durationToSeconds(duration) ?? 10;
widget.onFinalFileLoad?.call(memoryDuration: durationInSeconds);
unawaited(_controller!.setVolume(1));
_isPlaybackReady.value = true;