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 }, const SpaFormat p = { { sizeof (SpaFormatBody), SPA_POD_TYPE_OBJECT },
{ { 0, 0 }, { { 0, 0 },
{ { sizeof (uint32_t), SPA_POD_TYPE_INT }, media_type }, 0, { { sizeof (uint32_t), SPA_POD_TYPE_INT }, media_type },
{ { sizeof (uint32_t), SPA_POD_TYPE_INT }, media_subtype }, 0 } }; { { sizeof (uint32_t), SPA_POD_TYPE_INT }, media_subtype } } };
return spa_pod_builder_push (builder, frame, &p.pod, return spa_pod_builder_push (builder, frame, &p.pod,
spa_pod_builder_raw (builder, &p, sizeof(p))); spa_pod_builder_raw (builder, &p, sizeof(p)));
} }

View file

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

View file

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