rtpmp4gdepay: avoid division by 0
authorWim Taymans <wim.taymans@collabora.co.uk>
Mon, 22 Feb 2010 11:24:14 +0000 (12:24 +0100)
committerWim Taymans <wim.taymans@collabora.co.uk>
Tue, 23 Feb 2010 11:58:03 +0000 (12:58 +0100)
Avoid a division by 0 when no constantDuration was specified and when out two
timestamps are equal.

Fixes #610265

gst/rtp/gstrtpmp4gdepay.c

index 887a917..939e3f1 100644 (file)
@@ -546,8 +546,12 @@ gst_rtp_mp4g_depay_process (GstBaseRTPDepayload * depayload, GstBuffer * buf)
                   rtpmp4gdepay->constantDuration);
             }
 
-            /* get the number of packets by dividing with the duration */
-            diff /= rtpmp4gdepay->constantDuration;
+            if (rtpmp4gdepay->constantDuration > 0) {
+              /* get the number of packets by dividing with the duration */
+              diff /= rtpmp4gdepay->constantDuration;
+            } else {
+              diff = 0;
+            }
 
             rtpmp4gdepay->last_AU_index += diff;
             rtpmp4gdepay->prev_AU_index = AU_index;