From ace2c55eff8e8cfb9abd450e6dd93bdb00358c95 Mon Sep 17 00:00:00 2001 From: zhaohappy <2281756061@qq.com> Date: Wed, 22 Jan 2025 17:47:57 +0800 Subject: [PATCH] =?UTF-8?q?fix(mse):=20=E4=B8=80=E4=BA=9B=E8=BE=B9?= =?UTF-8?q?=E7=95=8C=E6=9D=A1=E4=BB=B6=E5=88=A4=E6=96=AD=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/avplayer/mse/MSEPipeline.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/avplayer/mse/MSEPipeline.ts b/src/avplayer/mse/MSEPipeline.ts index 35add8dc..14d98b27 100644 --- a/src/avplayer/mse/MSEPipeline.ts +++ b/src/avplayer/mse/MSEPipeline.ts @@ -798,7 +798,7 @@ export default class MSEPipeline extends Pipeline { if (resource.backPacket > 0) { startDTS = resource.backPacket.dts startPTS = resource.backPacket.pts - if (startTimestamp > 0n) { + if (startTimestamp > startPTS) { cacheDuration += startTimestamp - avRescaleQ(startDTS, timeBase, AV_MILLI_TIME_BASE_Q) } @@ -808,7 +808,7 @@ export default class MSEPipeline extends Pipeline { resource.backPacket = nullptr } - while (startDTS < 0n || avRescaleQ((lastDTS - startDTS), timeBase, AV_MILLI_TIME_BASE_Q) < cacheDuration) { + while (startDTS === NOPTS_VALUE_BIGINT || avRescaleQ((lastDTS - startDTS), timeBase, AV_MILLI_TIME_BASE_Q) < cacheDuration) { avpacket = await this.pullAVPacket(resource, task) if (avpacket < 0) { @@ -817,7 +817,7 @@ export default class MSEPipeline extends Pipeline { } lastDTS = avpacket.dts - if (startDTS < 0n) { + if (startDTS === NOPTS_VALUE_BIGINT) { startDTS = lastDTS startPTS = avpacket.pts }