diff --git a/packages/multimedia/vdr/patches/vdr-11-div0.patch b/packages/multimedia/vdr/patches/vdr-11-div0.patch new file mode 100644 index 0000000000..bc8947ee88 --- /dev/null +++ b/packages/multimedia/vdr/patches/vdr-11-div0.patch @@ -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)