vdr: fix possible division bu zero

closes #3776
This commit is contained in:
Stefan Saraev 2015-01-12 14:07:22 +02:00
parent 73f974aa59
commit 525d656c9e

View 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)