+2004-09-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
+
+ * gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream),
+ (qtdemux_parse_trak):
+ Don't crash by dividing by zero (see sample movie in #126922).
+
2004-09-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/qtdemux/qtdemux.c: (qtdemux_audio_caps):
g_print ("setting caps %s\n", gst_caps_to_string (stream->caps));
gst_pad_set_explicit_caps (stream->pad, stream->caps);
- GST_DEBUG ("adding pad %p to qtdemux %p", stream->pad, qtdemux);
+ GST_DEBUG ("adding pad %s %p to qtdemux %p",
+ gst_pad_get_name (stream->pad), stream->pad, qtdemux);
gst_element_add_pad (GST_ELEMENT (qtdemux), stream->pad);
}
}
samples[j].chunk = j;
samples[j].offset = chunk_offset;
- samples[j].size =
- samples_per_chunk * stream->bytes_per_frame /
- stream->samples_per_packet / stream->compression;
+ if (stream->samples_per_packet * stream->compression != 0)
+ samples[j].size =
+ samples_per_chunk * stream->bytes_per_frame /
+ stream->samples_per_packet / stream->compression;
+ else
+ samples[j].size = 0;
samples[j].duration =
samples_per_chunk * GST_SECOND / (stream->rate / 2);
samples[j].timestamp = timestamp;