You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Updates to v3.9.6 (FlyleafLib) / v1.5.6 (FlyleafME) / v1.2.6 (FlyleafHost.WinUI)
- Player: Fixes an issue with TaskSnapshot
- Renderer.VideoProcessor: Prioritize user's VP selection instead of supported features by VPs
- VideoDecoder: Reimplementation of the main decoding loop which now respects MaxVideoFrames/ExtraFrames
* It could cause unexpected results with FFmpeg's HW surface pool
- VideoDecoder: Handles internally the key frame validation instead of Config.Decoder.KeyFrameValidation
* To be able to support both cases dynamically. Might restore config with Auto if required/requested
- Samples.FlyleafPlayer: Fixes an issue with key bindings restore during Image/Video views
[Breaking Changes]
- Config.Decoder: Deprecates KeyFrameValidation (will be handled automatically from the decoder)
- Config.Decoder: MaxErrors will be reset on the first successful decoding (instead on each Start of the decoder)
* Might add MaxTotalErrors if required/requested
Copy file name to clipboardExpand all lines: FlyleafLib/MediaFramework/MediaContext/DecoderContext.cs
+22-95Lines changed: 22 additions & 95 deletions
Original file line number
Diff line number
Diff line change
@@ -487,8 +487,7 @@ public void Flush()
487
487
DataDecoder.Flush();
488
488
}
489
489
490
-
// !!! NEEDS RECODING
491
-
publiclongGetVideoFrame(longtimestamp=-1)
490
+
publicvoidGetVideoFrame(longtimestamp=-1)
492
491
{
493
492
// TBR: Between seek and GetVideoFrame lockCodecCtx is lost and if VideoDecoder is running will already have decoded some frames (Currently ensure you pause VideDecoder before seek)
494
493
@@ -508,11 +507,11 @@ public long GetVideoFrame(long timestamp = -1)
508
507
if(ret!=0)
509
508
{
510
509
av_packet_free(&packet);
511
-
return-1;
510
+
return;
512
511
}
513
512
}
514
513
else
515
-
packet=VideoDemuxer.VideoPackets.Dequeue();
514
+
packet=VideoDemuxer.VideoPackets.Dequeue();// TBR: This comes after seek, we shouldn't have packets here?*
0 commit comments