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