gst/avi/gstavimux.c: Fix VPRP chunk setup in avimux.

Original commit message from CVS:
* gst/avi/gstavimux.c:
Fix VPRP chunk setup in avimux.
Fixes: #556010
Patch By: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
This commit is contained in:
Mark Nauwelaerts 2008-10-21 12:42:45 +00:00 committed by Jan Schmidt
parent 8508561fcc
commit 772201830f
2 changed files with 12 additions and 4 deletions

View file

@ -1,3 +1,10 @@
2008-10-21 Jan Schmidt <jan.schmidt@sun.com>
* gst/avi/gstavimux.c:
Fix VPRP chunk setup in avimux.
Fixes: #556010
Patch By: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
2008-10-21 Jan Schmidt <jan.schmidt@sun.com> 2008-10-21 Jan Schmidt <jan.schmidt@sun.com>
* gst/videobox/gstvideobox.c: * gst/videobox/gstvideobox.c:

View file

@ -990,6 +990,7 @@ gst_avi_mux_riff_get_avi_header (GstAviMux * avimux)
+ (g_slist_length (avimux->sinkpads) * (100 + sizeof (gst_riff_strh_full) + (g_slist_length (avimux->sinkpads) * (100 + sizeof (gst_riff_strh_full)
+ sizeof (gst_riff_strf_vids) + sizeof (gst_riff_strf_vids)
+ sizeof (gst_riff_vprp) + sizeof (gst_riff_vprp)
+ sizeof (gst_riff_vprp_video_field_desc) * 2
+ sizeof (gst_riff_strf_auds) + 2 + ODML_SUPERINDEX_SIZE)); + sizeof (gst_riff_strf_auds) + 2 + ODML_SUPERINDEX_SIZE));
buffer = gst_buffer_new_and_alloc (size); buffer = gst_buffer_new_and_alloc (size);
buffdata = GST_BUFFER_DATA (buffer); buffdata = GST_BUFFER_DATA (buffer);
@ -1135,8 +1136,8 @@ gst_avi_mux_riff_get_avi_header (GstAviMux * avimux)
GST_WRITE_UINT32_LE (buffdata + 32, vidpad->vprp.width); GST_WRITE_UINT32_LE (buffdata + 32, vidpad->vprp.width);
GST_WRITE_UINT32_LE (buffdata + 36, vidpad->vprp.height); GST_WRITE_UINT32_LE (buffdata + 36, vidpad->vprp.height);
GST_WRITE_UINT32_LE (buffdata + 40, vidpad->vprp.fields); GST_WRITE_UINT32_LE (buffdata + 40, vidpad->vprp.fields);
buffdata += codec_size + 44; buffdata += 44;
highmark += codec_size + 44; highmark += 44;
for (f = 0; f < vidpad->vprp.fields; ++f) { for (f = 0; f < vidpad->vprp.fields; ++f) {
gst_riff_vprp_video_field_desc *fd; gst_riff_vprp_video_field_desc *fd;
@ -1149,8 +1150,8 @@ gst_avi_mux_riff_get_avi_header (GstAviMux * avimux)
GST_WRITE_UINT32_LE (buffdata + 20, fd->valid_bm_y_offset); GST_WRITE_UINT32_LE (buffdata + 20, fd->valid_bm_y_offset);
GST_WRITE_UINT32_LE (buffdata + 24, fd->video_x_t_offset); GST_WRITE_UINT32_LE (buffdata + 24, fd->video_x_t_offset);
GST_WRITE_UINT32_LE (buffdata + 28, fd->video_y_start); GST_WRITE_UINT32_LE (buffdata + 28, fd->video_y_start);
buffdata += codec_size + 32; buffdata += 32;
highmark += codec_size + 32; highmark += 32;
} }
} }
} else { } else {