mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-20 06:59:58 -05:00
Change the GenericFd data type to SyncObj. It's probably better to explicitly state the data type than to make something generic. Otherwise we would need to transfer the specific fd type somewhere else and there is no room for that in the buffer and the the metadata is not a good idea either because it can be modified and corrupted at runtime. Add the SyncTimeline metadata. This contains 2 points on two timelines (SyncObj datas in the buffer). The buffer can be accessed when the acquire_point is signaled on the timeline and when the buffer can be released, the release_point on the timeline should be signaled.
53 lines
1.5 KiB
C
53 lines
1.5 KiB
C
/* Simple Plugin API */
|
|
/* SPDX-FileCopyrightText: Copyright © 2018 Wim Taymans */
|
|
/* SPDX-License-Identifier: MIT */
|
|
|
|
#ifndef SPA_PARAM_BUFFERS_H
|
|
#define SPA_PARAM_BUFFERS_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
* \addtogroup spa_param
|
|
* \{
|
|
*/
|
|
|
|
#include <spa/param/param.h>
|
|
|
|
/** properties for SPA_TYPE_OBJECT_ParamBuffers */
|
|
enum spa_param_buffers {
|
|
SPA_PARAM_BUFFERS_START,
|
|
SPA_PARAM_BUFFERS_buffers, /**< number of buffers (Int) */
|
|
SPA_PARAM_BUFFERS_blocks, /**< number of data blocks per buffer (Int) */
|
|
SPA_PARAM_BUFFERS_size, /**< size of a data block memory (Int)*/
|
|
SPA_PARAM_BUFFERS_stride, /**< stride of data block memory (Int) */
|
|
SPA_PARAM_BUFFERS_align, /**< alignment of data block memory (Int) */
|
|
SPA_PARAM_BUFFERS_dataType, /**< possible memory types (flags choice Int, mask of enum spa_data_type) */
|
|
SPA_PARAM_BUFFERS_metaType, /**< required meta data types (Int, mask of enum spa_meta_type) */
|
|
};
|
|
|
|
/** properties for SPA_TYPE_OBJECT_ParamMeta */
|
|
enum spa_param_meta {
|
|
SPA_PARAM_META_START,
|
|
SPA_PARAM_META_type, /**< the metadata, one of enum spa_meta_type (Id enum spa_meta_type) */
|
|
SPA_PARAM_META_size, /**< the expected maximum size the meta (Int) */
|
|
};
|
|
|
|
/** properties for SPA_TYPE_OBJECT_ParamIO */
|
|
enum spa_param_io {
|
|
SPA_PARAM_IO_START,
|
|
SPA_PARAM_IO_id, /**< type ID, uniquely identifies the io area (Id enum spa_io_type) */
|
|
SPA_PARAM_IO_size, /**< size of the io area (Int) */
|
|
};
|
|
|
|
/**
|
|
* \}
|
|
*/
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif
|
|
|
|
#endif /* SPA_PARAM_BUFFERS_H */
|