riff: fix compilation on big-endian

Update to new gst_buffer_map() API
This commit is contained in:
Tim-Philipp Müller 2012-02-22 21:22:06 +00:00
parent 7d58b0aa0b
commit 6cd3faaa65

View file

@ -926,16 +926,19 @@ gst_riff_create_video_caps (guint32 codec_fcc,
#if (G_BYTE_ORDER == G_BIG_ENDIAN) #if (G_BYTE_ORDER == G_BIG_ENDIAN)
{ {
guint8 *data, *p; GstMapInfo palette_mapinfo;
guint8 *p;
gint n; gint n;
data = p = gst_buffer_map (copy, NULL, NULL, GST_MAP_READWRITE); gst_buffer_map (copy, &palette_mapinfo, GST_MAP_READWRITE);
/* own endianness */ /* own endianness */
p = palette_mapinfo.data;
for (n = 0; n < num_colors; n++) { for (n = 0; n < num_colors; n++) {
GST_WRITE_UINT32_BE (p, GST_READ_UINT32_LE (p)); GST_WRITE_UINT32_BE (p, GST_READ_UINT32_LE (p));
p += sizeof (guint32); p += sizeof (guint32);
} }
gst_buffer_unmap (copy, data, -1); gst_buffer_unmap (copy, &palette_mapinfo);
} }
#endif #endif
gst_caps_set_simple (caps, "palette_data", GST_TYPE_BUFFER, copy, NULL); gst_caps_set_simple (caps, "palette_data", GST_TYPE_BUFFER, copy, NULL);