diff --git a/src/examples/export-sink.c b/src/examples/export-sink.c index afe7cd1bb..f390aa32b 100644 --- a/src/examples/export-sink.c +++ b/src/examples/export-sink.c @@ -37,12 +37,8 @@ #define M_PI_M2 ( M_PI + M_PI ) struct type { - uint32_t format; - uint32_t props; uint32_t prop_param; uint32_t io_prop_param; - struct spa_type_meta meta; - struct spa_type_data data; struct spa_type_media_type media_type; struct spa_type_media_subtype media_subtype; struct spa_type_format_video format_video; @@ -51,12 +47,8 @@ struct type { static inline void init_type(struct type *type, struct spa_type_map *map) { - type->format = spa_type_map_get_id(map, SPA_TYPE__Format); - type->props = spa_type_map_get_id(map, SPA_TYPE__Props); type->prop_param = spa_type_map_get_id(map, SPA_TYPE_PROPS__contrast); type->io_prop_param = spa_type_map_get_id(map, SPA_TYPE_IO_PROP_BASE "contrast"); - spa_type_meta_map(map, &type->meta); - spa_type_data_map(map, &type->data); spa_type_media_type_map(map, &type->media_type); spa_type_media_subtype_map(map, &type->media_subtype); spa_type_format_video_map(map, &type->format_video); @@ -295,7 +287,7 @@ static int port_enum_formats(struct spa_node *node, SDL_GetRendererInfo(d->renderer, &info); spa_pod_builder_push_object(builder, - d->t->param.idEnumFormat, d->type.format); + d->t->param.idEnumFormat, d->t->spa_format); spa_pod_builder_id(builder, d->type.media_type.video); spa_pod_builder_id(builder, d->type.media_subtype.raw); @@ -347,7 +339,7 @@ static int port_get_format(struct spa_node *node, return 0; *result = spa_pod_builder_object(builder, - d->t->param.idFormat, d->type.format, + d->t->param.idFormat, d->t->spa_format, "I", d->type.media_type.video, "I", d->type.media_subtype.raw, ":", d->type.format_video.format, "I", d->format.format, @@ -514,12 +506,12 @@ static int do_render(struct spa_loop *loop, bool async, uint32_t seq, buf = d->buffers[d->io->buffer_id]; - if (buf->datas[0].type == d->type.data.MemFd || - buf->datas[0].type == d->type.data.DmaBuf) { + if (buf->datas[0].type == d->t->data.MemFd || + buf->datas[0].type == d->t->data.DmaBuf) { map = mmap(NULL, buf->datas[0].maxsize + buf->datas[0].mapoffset, PROT_READ, MAP_PRIVATE, buf->datas[0].fd, 0); sdata = SPA_MEMBER(map, buf->datas[0].mapoffset, uint8_t); - } else if (buf->datas[0].type == d->type.data.MemPtr) { + } else if (buf->datas[0].type == d->t->data.MemPtr) { map = NULL; sdata = buf->datas[0].data; } else diff --git a/src/examples/export-source.c b/src/examples/export-source.c index 90384fec2..459c75520 100644 --- a/src/examples/export-source.c +++ b/src/examples/export-source.c @@ -34,12 +34,8 @@ #define M_PI_M2 ( M_PI + M_PI ) struct type { - uint32_t format; - uint32_t props; uint32_t prop_volume; uint32_t io_prop_volume; - struct spa_type_meta meta; - struct spa_type_data data; struct spa_type_media_type media_type; struct spa_type_media_subtype media_subtype; struct spa_type_format_audio format_audio; @@ -48,12 +44,8 @@ struct type { static inline void init_type(struct type *type, struct spa_type_map *map) { - type->format = spa_type_map_get_id(map, SPA_TYPE__Format); - type->props = spa_type_map_get_id(map, SPA_TYPE__Props); type->prop_volume = spa_type_map_get_id(map, SPA_TYPE_PROPS__volume); type->io_prop_volume = spa_type_map_get_id(map, SPA_TYPE_IO_PROP_BASE "volume"); - spa_type_meta_map(map, &type->meta); - spa_type_data_map(map, &type->data); spa_type_media_type_map(map, &type->media_type); spa_type_media_subtype_map(map, &type->media_subtype); spa_type_format_audio_map(map, &type->format_audio); @@ -206,7 +198,7 @@ static int port_enum_formats(struct spa_node *node, return 0; *param = spa_pod_builder_object(builder, - d->t->param.idEnumFormat, d->type.format, + d->t->param.idEnumFormat, d->t->spa_format, "I", d->type.media_type.audio, "I", d->type.media_subtype.raw, ":", d->type.format_audio.format, "I", d->type.audio_format.S16, @@ -234,7 +226,7 @@ static int port_get_format(struct spa_node *node, return 0; *param = spa_pod_builder_object(builder, - d->t->param.idFormat, d->type.format, + d->t->param.idFormat, d->t->spa_format, "I", d->type.media_type.audio, "I", d->type.media_subtype.raw, ":", d->type.format_audio.format, "I", d->format.format, @@ -390,8 +382,8 @@ static int impl_port_use_buffers(struct spa_node *node, enum spa_direction direc b->ptr = datas[0].data; b->mapped = false; } - else if (datas[0].type == d->type.data.MemFd || - datas[0].type == d->type.data.DmaBuf) { + else if (datas[0].type == d->t->data.MemFd || + datas[0].type == d->t->data.DmaBuf) { b->ptr = mmap(NULL, datas[0].maxsize + datas[0].mapoffset, PROT_WRITE, MAP_SHARED, datas[0].fd, 0); if (b->ptr == MAP_FAILED) { diff --git a/src/examples/local-v4l2.c b/src/examples/local-v4l2.c index 0e91f0a51..ecf56b21f 100644 --- a/src/examples/local-v4l2.c +++ b/src/examples/local-v4l2.c @@ -34,10 +34,6 @@ #include struct type { - uint32_t format; - uint32_t props; - struct spa_type_meta meta; - struct spa_type_data data; struct spa_type_media_type media_type; struct spa_type_media_subtype media_subtype; struct spa_type_format_video format_video; @@ -46,10 +42,6 @@ struct type { static inline void init_type(struct type *type, struct spa_type_map *map) { - type->format = spa_type_map_get_id(map, SPA_TYPE__Format); - type->props = spa_type_map_get_id(map, SPA_TYPE__Props); - spa_type_meta_map(map, &type->meta); - spa_type_data_map(map, &type->data); spa_type_media_type_map(map, &type->media_type); spa_type_media_subtype_map(map, &type->media_subtype); spa_type_format_video_map(map, &type->format_video); @@ -254,7 +246,7 @@ static int port_enum_formats(struct spa_node *node, SDL_GetRendererInfo(d->renderer, &info); spa_pod_builder_push_object(builder, - d->t->param.idEnumFormat, d->type.format); + d->t->param.idEnumFormat, d->t->spa_format); spa_pod_builder_id(builder, d->type.media_type.video); spa_pod_builder_id(builder, d->type.media_subtype.raw); @@ -403,12 +395,12 @@ static int do_render(struct spa_loop *loop, bool async, uint32_t seq, buf = d->buffers[d->io->buffer_id]; - if (buf->datas[0].type == d->type.data.MemFd || - buf->datas[0].type == d->type.data.DmaBuf) { + if (buf->datas[0].type == d->t->data.MemFd || + buf->datas[0].type == d->t->data.DmaBuf) { map = mmap(NULL, buf->datas[0].maxsize + buf->datas[0].mapoffset, PROT_READ, MAP_PRIVATE, buf->datas[0].fd, 0); sdata = SPA_MEMBER(map, buf->datas[0].mapoffset, uint8_t); - } else if (buf->datas[0].type == d->type.data.MemPtr) { + } else if (buf->datas[0].type == d->t->data.MemPtr) { map = NULL; sdata = buf->datas[0].data; } else diff --git a/src/examples/video-play.c b/src/examples/video-play.c index 7fea4b076..64647978b 100644 --- a/src/examples/video-play.c +++ b/src/examples/video-play.c @@ -32,11 +32,6 @@ #include struct type { - uint32_t format; - uint32_t props; - struct spa_type_param param; - struct spa_type_meta meta; - struct spa_type_data data; struct spa_type_media_type media_type; struct spa_type_media_subtype media_subtype; struct spa_type_format_video format_video; @@ -45,11 +40,6 @@ struct type { static inline void init_type(struct type *type, struct spa_type_map *map) { - type->format = spa_type_map_get_id(map, SPA_TYPE__Format); - type->props = spa_type_map_get_id(map, SPA_TYPE__Props); - spa_type_param_map(map, &type->param); - spa_type_meta_map(map, &type->meta); - spa_type_data_map(map, &type->data); spa_type_media_type_map(map, &type->media_type); spa_type_media_subtype_map(map, &type->media_subtype); spa_type_format_video_map(map, &type->format_video); @@ -111,12 +101,12 @@ do_render(struct spa_loop *loop, bool async, uint32_t seq, handle_events(data); - if (buf->datas[0].type == data->type.data.MemFd || - buf->datas[0].type == data->type.data.DmaBuf) { + if (buf->datas[0].type == data->t->data.MemFd || + buf->datas[0].type == data->t->data.DmaBuf) { map = mmap(NULL, buf->datas[0].maxsize + buf->datas[0].mapoffset, PROT_READ, MAP_PRIVATE, buf->datas[0].fd, 0); sdata = SPA_MEMBER(map, buf->datas[0].mapoffset, uint8_t); - } else if (buf->datas[0].type == data->type.data.MemPtr) { + } else if (buf->datas[0].type == data->t->data.MemPtr) { map = NULL; sdata = buf->datas[0].data; } else @@ -331,7 +321,7 @@ static void on_state_changed(void *_data, enum pw_remote_state old, enum pw_remo SDL_GetRendererInfo(data->renderer, &info); spa_pod_builder_push_object(&b, - data->type.param.idEnumFormat, data->type.format); + data->t->param.idEnumFormat, data->t->spa_format); spa_pod_builder_id(&b, data->type.media_type.video); spa_pod_builder_id(&b, data->type.media_subtype.raw); diff --git a/src/examples/video-src.c b/src/examples/video-src.c index c351eaf40..832e878b6 100644 --- a/src/examples/video-src.c +++ b/src/examples/video-src.c @@ -31,11 +31,6 @@ #include struct type { - uint32_t format; - uint32_t props; - struct spa_type_param param; - struct spa_type_meta meta; - struct spa_type_data data; struct spa_type_media_type media_type; struct spa_type_media_subtype media_subtype; struct spa_type_format_video format_video; @@ -44,11 +39,6 @@ struct type { static inline void init_type(struct type *type, struct spa_type_map *map) { - type->format = spa_type_map_get_id(map, SPA_TYPE__Format); - type->props = spa_type_map_get_id(map, SPA_TYPE__Props); - spa_type_param_map(map, &type->param); - spa_type_meta_map(map, &type->meta); - spa_type_data_map(map, &type->data); spa_type_media_type_map(map, &type->media_type); spa_type_media_subtype_map(map, &type->media_subtype); spa_type_format_video_map(map, &type->format_video); @@ -93,7 +83,8 @@ static void on_timeout(void *userdata, uint64_t expirations) buf = pw_stream_peek_buffer(data->stream, id); - if (buf->datas[0].type == data->type.data.MemFd) { + if (buf->datas[0].type == data->t->data.MemFd || + buf->datas[0].type == data->t->data.DmaBuf) { map = mmap(NULL, buf->datas[0].maxsize + buf->datas[0].mapoffset, PROT_READ | PROT_WRITE, MAP_SHARED, buf->datas[0].fd, 0); @@ -102,13 +93,13 @@ static void on_timeout(void *userdata, uint64_t expirations) return; } p = SPA_MEMBER(map, buf->datas[0].mapoffset, uint8_t); - } else if (buf->datas[0].type == data->type.data.MemPtr) { + } else if (buf->datas[0].type == data->t->data.MemPtr) { map = NULL; p = buf->datas[0].data; } else return; - if ((h = spa_buffer_find_meta(buf, data->type.meta.Header))) { + if ((h = spa_buffer_find_meta(buf, data->t->meta.Header))) { #if 0 struct timespec now; clock_gettime(CLOCK_MONOTONIC, &now); @@ -229,7 +220,7 @@ static void on_state_changed(void *_data, enum pw_remote_state old, enum pw_remo data->stream = pw_stream_new(remote, "video-src", NULL); params[0] = spa_pod_builder_object(&b, - data->type.param.idEnumFormat, data->type.format, + data->t->param.idEnumFormat, data->t->spa_format, "I", data->type.media_type.video, "I", data->type.media_subtype.raw, ":", data->type.format_video.format, "I", data->type.video_format.RGB,