+
+ /* now interpret as planar */
+
+ gst_audio_info_init (&info);
+ gst_audio_info_set_format (&info, GST_AUDIO_FORMAT_S32, 44100,
+ tests[i].channels, NULL);
+ info.layout = GST_AUDIO_LAYOUT_NON_INTERLEAVED;
+
+ gst_buffer_add_audio_meta (buf, &info,
+ sizeof (tests[i].in) / (tests[i].channels * sizeof (gint32)), NULL);
+
+ fail_unless (gst_audio_buffer_reorder_channels (buf, GST_AUDIO_FORMAT_S32,
+ tests[i].channels, tests[i].from, tests[i].to));
+
+ fail_unless (gst_audio_buffer_map (&abuf, &info, buf, GST_MAP_READ));
+ fail_unless_equals_int (abuf.n_planes, tests[i].channels);
+ fail_unless_equals_int (GST_AUDIO_BUFFER_PLANE_SIZE (&abuf),
+ sizeof (tests[i].in) / tests[i].channels);
+ for (j = 0; j < abuf.n_planes; j++) {
+ fail_unless_equals_pointer (abuf.planes[j],
+ abuf.map_infos[0].data +
+ tests[i].plane_offsets[j] * GST_AUDIO_BUFFER_PLANE_SIZE (&abuf));
+ }
+ gst_audio_buffer_unmap (&abuf);