summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--gst/avi/gstavidemux.c15
2 files changed, 18 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 828166a2..92120ada 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,15 @@
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data),
(gst_riff_create_video_template_caps):
+ Add wing commander format mimetype/fourccs.
+ * gst/avi/gstavidemux.c: (gst_avi_demux_massage_index):
+ Don't crash if some value is 0.
+
+2004-10-02 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
+
+ * gst-libs/gst/riff/riff-media.c:
+ (gst_riff_create_video_caps_with_data),
+ (gst_riff_create_video_template_caps):
Add DIB fourcc (raw, palettized 8-bit RGB).
* gst-libs/gst/riff/riff-read.c:
(gst_riff_read_strf_vids_with_data):
diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c
index bfe1c706..4ec1d890 100644
--- a/gst/avi/gstavidemux.c
+++ b/gst/avi/gstavidemux.c
@@ -1369,12 +1369,15 @@ gst_avi_demux_massage_index (GstAviDemux * avi)
/* init frames */
for (i = 0; i < avi->num_streams; i++) {
stream = &avi->stream[i];
- if (stream->strh->type == GST_RIFF_FCC_vids)
- stream->delay = stream->strh->init_frames * GST_SECOND *
- stream->strh->scale / stream->strh->rate;
- else
- stream->delay = GST_SECOND * stream->strh->init_frames *
- stream->strh->length / (stream->total_frames * stream->bitrate);
+ if (stream->strh->type == GST_RIFF_FCC_vids) {
+ if (stream->strh->rate != 0)
+ stream->delay = stream->strh->init_frames * GST_SECOND *
+ stream->strh->scale / stream->strh->rate;
+ } else {
+ if (stream->total_frames * stream->bitrate != 0)
+ stream->delay = GST_SECOND * stream->strh->init_frames *
+ stream->strh->length / (stream->total_frames * stream->bitrate);
+ }
}
for (i = 0; i < avi->index_size; i++) {
entry = &avi->index_entries[i];