Go to the documentation of this file.
25 #ifndef SPA_BUFFER_TYPES_H
26 #define SPA_BUFFER_TYPES_H
41 #define SPA_TYPE_INFO_Buffer SPA_TYPE_INFO_POINTER_BASE "Buffer"
42 #define SPA_TYPE_INFO_BUFFER_BASE SPA_TYPE_INFO_Buffer ":"
45 #define SPA_TYPE_INFO_Data SPA_TYPE_INFO_ENUM_BASE "Data"
46 #define SPA_TYPE_INFO_DATA_BASE SPA_TYPE_INFO_Data ":"
49 #define SPA_TYPE_INFO_DATA_Fd SPA_TYPE_INFO_DATA_BASE "Fd"
50 #define SPA_TYPE_INFO_DATA_FD_BASE SPA_TYPE_INFO_DATA_Fd ":"
61 #define SPA_TYPE_INFO_Meta SPA_TYPE_INFO_POINTER_BASE "Meta"
62 #define SPA_TYPE_INFO_META_BASE SPA_TYPE_INFO_Meta ":"
64 #define SPA_TYPE_INFO_META_Array SPA_TYPE_INFO_META_BASE "Array"
65 #define SPA_TYPE_INFO_META_ARRAY_BASE SPA_TYPE_INFO_META_Array ":"
67 #define SPA_TYPE_INFO_META_Region SPA_TYPE_INFO_META_BASE "Region"
68 #define SPA_TYPE_INFO_META_REGION_BASE SPA_TYPE_INFO_META_Region ":"
70 #define SPA_TYPE_INFO_META_ARRAY_Region SPA_TYPE_INFO_META_ARRAY_BASE "Region"
71 #define SPA_TYPE_INFO_META_ARRAY_REGION_BASE SPA_TYPE_INFO_META_ARRAY_Region ":"
#define PW_DIRECTION_INPUT
Definition: port.h:57
@ SPA_VIDEO_FORMAT_BGRx
Definition: video/raw.h:66
#define PW_KEY_MEDIA_ROLE
Role: Movie, Music, Camera, Screen, Communication, Game, Notification, DSP, Production,...
Definition: src/pipewire/keys.h:281
struct pw_stream * pw_stream_new_simple(struct pw_loop *loop, const char *name, struct pw_properties *props, const struct pw_stream_events *events, void *data)
Definition: stream.c:1357
@ SPA_FORMAT_mediaType
media type (Id enum spa_media_type)
Definition: param/format.h:102
@ SPA_META_Cursor
struct spa_meta_cursor
Definition: meta.h:46
#define PW_VERSION_CLIENT_EVENTS
Definition: client.h:78
#define SPA_TYPE_INFO_META_BASE
Definition: buffer/type-info.h:62
const char * key
Definition: utils/dict.h:42
#define spa_zero(x)
Definition: defs.h:303
@ SPA_TYPE_OBJECT_Format
Definition: build-12775836/doc/spa/utils/type.h:90
const struct spa_type_info spa_type_data_type[]
Definition: buffer/type-info.h:52
struct pw_context * pw_context_new(struct pw_loop *main_loop, struct pw_properties *props, size_t user_data_size)
Make a new context object for a given main_loop.
Definition: context.c:249
@ SPA_META_Invalid
Definition: meta.h:41
void pw_init(int *argc, char **argv[])
Initialize PipeWire.
Definition: pipewire.c:483
#define SPA_TYPE_INFO_DATA_FD_BASE
Definition: buffer/type-info.h:50
@ SPA_TYPE_Int
Definition: build-12775836/doc/spa/utils/type.h:48
@ SPA_META_VideoCrop
struct spa_meta_region with cropping data
Definition: meta.h:43
#define SPA_POD_CHOICE_RANGE_Fraction(def, min, max)
Definition: vararg.h:93
user data to add to an object
Definition: filter.c:75
@ SPA_DATA_DmaBuf
fd to dmabuf memory
Definition: buffer/buffer.h:50
Definition: build-12775836/doc/spa/utils/type.h:137
#define SPA_FRACTION(num, denom)
Definition: defs.h:103
@ SPA_META_VideoDamage
array of struct spa_meta_region with damage
Definition: meta.h:44
Definition: src/pipewire/loop.h:47
@ SPA_VIDEO_FORMAT_YUY2
Definition: video/raw.h:62
#define PW_VERSION_STREAM_EVENTS
Definition: stream.h:212
void pw_proxy_destroy(struct pw_proxy *proxy)
destroy a proxy
Definition: proxy.c:229
struct pw_main_loop * pw_main_loop_new(const struct spa_dict *props)
Create a new main loop.
Definition: main-loop.c:86
@ SPA_FORMAT_VIDEO_size
size (Rectangle)
Definition: param/format.h:117
Definition: pipewire.c:68
@ PW_STREAM_FLAG_AUTOCONNECT
try to automatically connect this stream
Definition: stream.h:249
#define SPA_POD_BUILDER_INIT(buffer, size)
Definition: builder.h:71
Definition: utils/dict.h:41
#define SPA_RECTANGLE(width, height)
Definition: defs.h:85
struct pw_core * pw_context_connect(struct pw_context *context, struct pw_properties *properties, size_t user_data_size)
Connect to a PipeWire instance.
Definition: core.c:401
@ SPA_PARAM_Format
configured format as SPA_TYPE_OBJECT_Format
Definition: param.h:48
Definition: impl-metadata.c:49
@ SPA_TYPE_Pointer
Definition: build-12775836/doc/spa/utils/type.h:61
@ SPA_VIDEO_FORMAT_RGBx
Definition: video/raw.h:65
uint32_t id
id of the global
Definition: client.h:56
struct pw_loop * pw_main_loop_get_loop(struct pw_main_loop *loop)
Get the loop implementation.
Definition: main-loop.c:119
@ SPA_META_Busy
don't write to buffer when count > 0
Definition: meta.h:49
#define SPA_TYPE_INFO_META_REGION_BASE
Definition: buffer/type-info.h:68
const struct spa_type_info spa_type_meta_type[]
Definition: buffer/type-info.h:73
int pw_main_loop_run(struct pw_main_loop *loop)
Run a main loop.
Definition: main-loop.c:145
#define SPA_TYPE_INFO_DATA_BASE
Definition: buffer/type-info.h:46
#define spa_dict_for_each(item, dict)
Definition: utils/dict.h:58
void pw_stream_destroy(struct pw_stream *stream)
Destroy a stream.
Definition: stream.c:1419
The client information.
Definition: client.h:55
int spa_format_video_raw_parse(const struct spa_pod *format, struct spa_video_info_raw *info)
Definition: video/format-utils.h:42
struct spa_dict * props
extra properties
Definition: client.h:60
@ SPA_MEDIA_TYPE_video
Definition: param/format.h:43
int pw_core_disconnect(struct pw_core *core)
disconnect and destroy a core
Definition: core.c:488
int pw_stream_connect(struct pw_stream *stream, enum pw_direction direction, uint32_t target_id, enum pw_stream_flags flags, const struct spa_pod **params, uint32_t n_params)
Connect a stream for input or output on port_path.
Definition: stream.c:1602
@ SPA_FORMAT_mediaSubtype
media subtype (Id enum spa_media_subtype)
Definition: param/format.h:103
#define PW_VERSION_REGISTRY
Definition: core.h:59
Definition: utils/dict.h:48
#define PW_KEY_MEDIA_TYPE
Media.
Definition: src/pipewire/keys.h:277
@ SPA_FORMAT_VIDEO_framerate
frame rate (Fraction)
Definition: param/format.h:118
@ SPA_VIDEO_FORMAT_RGBA
Definition: video/raw.h:69
#define PW_KEY_MEDIA_CATEGORY
Media Category: Playback, Capture, Duplex, Monitor, Manager.
Definition: src/pipewire/keys.h:279
@ SPA_DATA_MemId
memory is identified with an id
Definition: buffer/buffer.h:51
size_t size
Definition: media-session.c:112
const struct spa_type_info spa_type_video_format[]
Definition: param/video/type-info.h:41
@ SPA_PARAM_EnumFormat
available formats as SPA_TYPE_OBJECT_Format
Definition: param.h:47
int pw_main_loop_quit(struct pw_main_loop *loop)
Quit a main loop.
Definition: main-loop.c:131
#define SPA_POD_CHOICE_RANGE_Rectangle(def, min, max)
Definition: vararg.h:88
const char * value
Definition: utils/dict.h:43
@ SPA_FORMAT_VIDEO_format
video format (Id enum spa_video_format)
Definition: param/format.h:115
@ SPA_META_Bitmap
struct spa_meta_bitmap
Definition: meta.h:45
int spa_format_parse(const struct spa_pod *format, uint32_t *media_type, uint32_t *media_subtype)
Definition: format-utils.h:42
void pw_context_destroy(struct pw_context *context)
destroy a context object, all resources except the main_loop will be destroyed
Definition: context.c:464
Definition: module-protocol-native.c:103
#define PW_ID_ANY
Definition: core.h:69
@ SPA_DATA_MemFd
generic fd, mmap to get to memory
Definition: buffer/buffer.h:49
@ SPA_VIDEO_FORMAT_RGB
Definition: video/raw.h:73
#define PW_TYPE_INTERFACE_Client
Definition: client.h:46
@ SPA_DATA_MemPtr
pointer to memory, the data field in struct spa_data is set.
Definition: buffer/buffer.h:47
Definition: module-protocol-native.c:126
Definition: pipewire.c:76
#define spa_pod_builder_add_object(b, type, id,...)
Definition: builder.h:650
Client events.
Definition: client.h:77
@ SPA_VIDEO_FORMAT_I420
Definition: video/raw.h:60
uint32_t size
Definition: builder.h:65
#define SPA_TYPE_INFO_META_ARRAY_REGION_BASE
Definition: buffer/type-info.h:71
#define SPA_POD_CHOICE_ENUM_Id(n_vals,...)
Definition: vararg.h:57
struct spa_loop * loop
wrapped loop
Definition: src/pipewire/loop.h:49
int pw_stream_queue_buffer(struct pw_stream *stream, struct pw_buffer *buffer)
Submit a buffer for playback or recycle a buffer for capture.
Definition: stream.c:2044
@ PW_STREAM_FLAG_MAP_BUFFERS
mmap the buffers except DmaBuf
Definition: stream.h:254
#define SPA_POD_Id(val)
Definition: vararg.h:56
#define PW_VERSION_CLIENT
Definition: client.h:48
@ SPA_META_Header
struct spa_meta_header
Definition: meta.h:42
struct pw_properties * pw_properties_new(const char *key,...) 1
Make a new properties object.
Definition: properties.c:98
@ SPA_META_Control
metadata contains a spa_meta_control associated with the data
Definition: meta.h:47
@ SPA_MEDIA_SUBTYPE_raw
Definition: param/format.h:53
struct spa_thread_utils_methods methods
Definition: thread.c:68
struct pw_context * context
Definition: filter.c:76
#define pw_client_add_listener(c,...)
Definition: client.h:169
#define pw_registry_add_listener(p,...)
Registry.
Definition: core.h:507
const char * spa_debug_type_find_name(const struct spa_type_info *info, uint32_t type)
Definition: types.h:68
Events for a stream.
Definition: stream.h:211
void pw_main_loop_destroy(struct pw_main_loop *loop)
Destroy a loop.
Definition: main-loop.c:96
@ SPA_DATA_Invalid
Definition: buffer/buffer.h:46