From 629e387411636c2f8d64cad3cb89feb86ec72819 Mon Sep 17 00:00:00 2001 From: halx99 Date: Sun, 14 Apr 2024 22:49:02 +0800 Subject: [PATCH] Fix video player crash on apple platforms --- core/media/AvfMediaEngine.mm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/media/AvfMediaEngine.mm b/core/media/AvfMediaEngine.mm index 5394ed1bd0be..8a6a8c52d7f3 100644 --- a/core/media/AvfMediaEngine.mm +++ b/core/media/AvfMediaEngine.mm @@ -369,7 +369,8 @@ - (void)observeValueForKeyPath:(NSString*)keyPath auto UVDataLen = UVPitch * UVHeight; // 1920x1080: UVDataLen=1036800 auto frameYData = (uint8_t*)CVPixelBufferGetBaseAddressOfPlane(videoFrame, 0); auto frameCbCrData = (uint8_t*)CVPixelBufferGetBaseAddressOfPlane(videoFrame, 1); - assert(YASIO_SZ_ALIGN(videoDim.x, 32) * videoDim.y * 3 / 2 == YDataLen + UVDataLen); + assert(YASIO_SZ_ALIGN(videoDim.x, 32) * videoDim.y * 3 / 2 == YDataLen + UVDataLen || + (32 - videoDim.x % 32 + videoDim.x) * videoDim.y * 3 / 2 == YDataLen + UVDataLen); // Apple: both H264, HEVC(H265) bufferDimX=ALIGN(videoDim.x, 32), bufferDimY=videoDim.y // Windows: // - H264: BufferDimX align videoDim.x with 16, BufferDimY as-is