diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | gst/avi/gstavidemux.c | 15 |
2 files changed, 18 insertions, 6 deletions
@@ -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]; |