mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 13:46:49 +00:00
parent
73f974aa59
commit
525d656c9e
19
packages/multimedia/vdr/patches/vdr-11-div0.patch
Normal file
19
packages/multimedia/vdr/patches/vdr-11-div0.patch
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
diff --git a/remux.c b/remux.c
|
||||||
|
index 87ed469..a30d6e7 100644
|
||||||
|
--- a/remux.c
|
||||||
|
+++ b/remux.c
|
||||||
|
@@ -1511,7 +1511,13 @@ int cFrameDetector::Analyze(const uchar *Data, int Length)
|
||||||
|
for (int i = 0; i < numPtsValues; i++)
|
||||||
|
ptsValues[i] = ptsValues[i + 1] - ptsValues[i];
|
||||||
|
qsort(ptsValues, numPtsValues, sizeof(uint32_t), CmpUint32);
|
||||||
|
- uint32_t Delta = ptsValues[0] / (framesPerPayloadUnit + parser->IFrameTemporalReferenceOffset());
|
||||||
|
+ int Div = framesPerPayloadUnit;
|
||||||
|
+ if (framesPerPayloadUnit > 1) {
|
||||||
|
+ Div += parser->IFrameTemporalReferenceOffset();
|
||||||
|
+ if (Div <= 0)
|
||||||
|
+ Div = 1;
|
||||||
|
+ }
|
||||||
|
+ uint32_t Delta = ptsValues[0] / Div;
|
||||||
|
// determine frame info:
|
||||||
|
if (isVideo) {
|
||||||
|
if (abs(Delta - 3600) <= 1)
|
Loading…
x
Reference in New Issue
Block a user