format: use padding attribute

This commit is contained in:
Wim Taymans 2017-03-15 17:09:28 +01:00
parent c951264fff
commit b1f7df52e3
3 changed files with 7 additions and 9 deletions

View file

@ -37,8 +37,8 @@ spa_pod_builder_push_format (SpaPODBuilder *builder,
{
const SpaFormat p = { { sizeof (SpaFormatBody), SPA_POD_TYPE_OBJECT },
{ { 0, 0 },
{ { sizeof (uint32_t), SPA_POD_TYPE_INT }, media_type }, 0,
{ { sizeof (uint32_t), SPA_POD_TYPE_INT }, media_subtype }, 0 } };
{ { sizeof (uint32_t), SPA_POD_TYPE_INT }, media_type },
{ { sizeof (uint32_t), SPA_POD_TYPE_INT }, media_subtype } } };
return spa_pod_builder_push (builder, frame, &p.pod,
spa_pod_builder_raw (builder, &p, sizeof(p)));
}

View file

@ -91,10 +91,8 @@ typedef enum {
typedef struct {
SpaPODObjectBody obj_body;
SpaPODInt media_type;
uint32_t pad1;
SpaPODInt media_subtype;
uint32_t pad2;
SpaPODInt media_type SPA_ALIGNED (8);
SpaPODInt media_subtype SPA_ALIGNED (8);
/* contents follow, series of SpaPODProp */
} SpaFormatBody;
@ -120,7 +118,7 @@ struct _SpaFormat {
static inline SpaPODProp *
spa_format_find_prop (const SpaFormat *format, uint32_t key)
{
return spa_pod_contents_find_prop (&format->pod, sizeof (SpaFormat), key);
return spa_pod_contents_find_prop (&format->pod, SPA_ROUND_UP_N (sizeof (SpaFormat), 8), key);
}
static inline SpaResult

View file

@ -88,8 +88,8 @@ static const struct _test_format {
} test_format = {
{ { sizeof (test_format.props) + sizeof (SpaFormatBody), SPA_POD_TYPE_OBJECT },
{ { 0, 0 },
{ { sizeof (uint32_t), SPA_POD_TYPE_INT }, SPA_MEDIA_TYPE_VIDEO }, 0,
{ { sizeof (uint32_t), SPA_POD_TYPE_INT }, SPA_MEDIA_SUBTYPE_RAW }, 0 },
{ { sizeof (uint32_t), SPA_POD_TYPE_INT }, SPA_MEDIA_TYPE_VIDEO },
{ { sizeof (uint32_t), SPA_POD_TYPE_INT }, SPA_MEDIA_SUBTYPE_RAW } },
}, {
{ { sizeof (test_format.props.format_vals) + sizeof (SpaPODPropBody),
SPA_POD_TYPE_PROP } ,