PipeWire
0.3.27
|
Data Structures | |
struct | buffer |
struct | queue |
struct | data |
struct | param |
struct | control |
struct | stream |
Macros | |
#define | NAME "stream" |
#define | MAX_BUFFERS 64 |
#define | MASK_BUFFERS (MAX_BUFFERS-1) |
#define | MAX_PORTS 1 |
#define | BUFFER_FLAG_MAPPED (1 << 0) |
#define | BUFFER_FLAG_QUEUED (1 << 1) |
#define | BUFFER_FLAG_ADDED (1 << 2) |
#define | PARAM_FLAG_LOCKED (1 << 0) |
Functions | |
SPA_EXPORT struct pw_stream * | pw_stream_new (struct pw_core *core, const char *name, struct pw_properties *props) |
SPA_EXPORT 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) |
SPA_EXPORT const char * | pw_stream_state_as_string (enum pw_stream_state state) |
SPA_EXPORT void | pw_stream_destroy (struct pw_stream *stream) |
SPA_EXPORT void | pw_stream_add_listener (struct pw_stream *stream, struct spa_hook *listener, const struct pw_stream_events *events, void *data) |
SPA_EXPORT enum pw_stream_state | pw_stream_get_state (struct pw_stream *stream, const char **error) |
SPA_EXPORT const char * | pw_stream_get_name (struct pw_stream *stream) |
SPA_EXPORT const struct pw_properties * | pw_stream_get_properties (struct pw_stream *stream) |
SPA_EXPORT int | pw_stream_update_properties (struct pw_stream *stream, const struct spa_dict *dict) |
SPA_EXPORT struct pw_core * | pw_stream_get_core (struct pw_stream *stream) |
SPA_EXPORT 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) |
SPA_EXPORT uint32_t | pw_stream_get_node_id (struct pw_stream *stream) |
SPA_EXPORT int | pw_stream_disconnect (struct pw_stream *stream) |
SPA_EXPORT int | pw_stream_set_error (struct pw_stream *stream, int res, const char *error,...) |
SPA_EXPORT int | pw_stream_update_params (struct pw_stream *stream, const struct spa_pod **params, uint32_t n_params) |
SPA_EXPORT int | pw_stream_set_control (struct pw_stream *stream, uint32_t id, uint32_t n_values, float *values,...) |
Set control values. More... | |
SPA_EXPORT const struct pw_stream_control * | pw_stream_get_control (struct pw_stream *stream, uint32_t id) |
SPA_EXPORT int | pw_stream_set_active (struct pw_stream *stream, bool active) |
SPA_EXPORT int | pw_stream_get_time (struct pw_stream *stream, struct pw_time *time) |
SPA_EXPORT struct pw_buffer * | pw_stream_dequeue_buffer (struct pw_stream *stream) |
Get a buffer that can be filled for playback streams or consumed for capture streams. More... | |
SPA_EXPORT int | pw_stream_queue_buffer (struct pw_stream *stream, struct pw_buffer *buffer) |
Submit a buffer for playback or recycle a buffer for capture. More... | |
SPA_EXPORT int | pw_stream_flush (struct pw_stream *stream, bool drain) |
Flush a stream. More... | |
#define BUFFER_FLAG_ADDED (1 << 2) |
#define BUFFER_FLAG_MAPPED (1 << 0) |
#define BUFFER_FLAG_QUEUED (1 << 1) |
#define MASK_BUFFERS (MAX_BUFFERS-1) |
#define MAX_BUFFERS 64 |
#define MAX_PORTS 1 |
#define NAME "stream" |
#define PARAM_FLAG_LOCKED (1 << 0) |
SPA_EXPORT void pw_stream_add_listener | ( | struct pw_stream * | stream, |
struct spa_hook * | listener, | ||
const struct pw_stream_events * | events, | ||
void * | data | ||
) |
Referenced by pw_stream_new_simple().
SPA_EXPORT 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 | ||
) |
References stream::change_mask_all, stream::context, pw_properties::dict, stream::direction, stream::disconnect_core, stream::disconnecting, stream::flags, stream::impl_node, stream::info, stream::media_subtype, stream::media_type, NAME, stream::node, stream::node_methods, stream::params, stream::port_change_mask_all, stream::port_info, stream::port_params, stream::port_props, stream::process_rt, pw_context_connect(), pw_impl_node::pw_context_create_node(), pw_context::pw_context_find_factory(), pw_core_add_listener, pw_core_export(), PW_DIRECTION_INPUT, PW_ID_ANY, pw_impl_factory_create_object(), pw_impl_node_add_listener(), pw_impl_node_set_active(), pw_impl_node_set_implementation(), PW_KEY_FORMAT_DSP, PW_KEY_MEDIA_CLASS, PW_KEY_MEDIA_TYPE, PW_KEY_NODE_AUTOCONNECT, PW_KEY_NODE_DONT_RECONNECT, PW_KEY_NODE_DRIVER, PW_KEY_NODE_EXCLUSIVE, PW_KEY_NODE_TARGET, PW_KEY_STREAM_MONITOR, pw_log::pw_log_debug, pw_log::pw_log_error, pw_properties::pw_properties_copy(), pw_properties::pw_properties_free(), pw_properties::pw_properties_get(), pw_properties::pw_properties_set(), pw_properties::pw_properties_setf(), pw_proxy_add_listener(), PW_STREAM_FLAG_ALLOC_BUFFERS, PW_STREAM_FLAG_AUTOCONNECT, PW_STREAM_FLAG_DONT_RECONNECT, PW_STREAM_FLAG_DRIVER, PW_STREAM_FLAG_EXCLUSIVE, PW_STREAM_FLAG_INACTIVE, PW_STREAM_FLAG_RT_PROCESS, PW_STREAM_STATE_CONNECTING, PW_TYPE_INTERFACE_Node, PW_VERSION_NODE, res, and stream::warn_mlock.
Get a buffer that can be filled for playback streams or consumed for capture streams.
References buffer::busy, stream::dequeued, stream::direction, buffer::id, NAME, pw_log::pw_log_trace, res, and buffer::this.
SPA_EXPORT void pw_stream_destroy | ( | struct pw_stream * | stream | ) |
SPA_EXPORT int pw_stream_disconnect | ( | struct pw_stream * | stream | ) |
SPA_EXPORT int pw_stream_flush | ( | struct pw_stream * | stream, |
bool | drain | ||
) |
Flush a stream.
When drain is true, the drained callback will be called when all data is played or recorded
References stream::context, stream::node, and pw_loop_invoke.
SPA_EXPORT const struct pw_stream_control* pw_stream_get_control | ( | struct pw_stream * | stream, |
uint32_t | id | ||
) |
References control::control.
SPA_EXPORT struct pw_core* pw_stream_get_core | ( | struct pw_stream * | stream | ) |
SPA_EXPORT const char* pw_stream_get_name | ( | struct pw_stream * | stream | ) |
SPA_EXPORT uint32_t pw_stream_get_node_id | ( | struct pw_stream * | stream | ) |
SPA_EXPORT const struct pw_properties* pw_stream_get_properties | ( | struct pw_stream * | stream | ) |
SPA_EXPORT enum pw_stream_state pw_stream_get_state | ( | struct pw_stream * | stream, |
const char ** | error | ||
) |
SPA_EXPORT struct pw_stream* pw_stream_new | ( | struct pw_core * | core, |
const char * | name, | ||
struct pw_properties * | props | ||
) |
References pw_core_add_listener, and stream::this.
SPA_EXPORT 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 | ||
) |
loop | a pw_loop to use |
name | a stream media name |
props | stream properties, ownership is taken |
events | stream events |
data | data passed to events |
References data::context, stream::data, pw_context_destroy(), pw_context_new(), pw_properties::pw_properties_free(), pw_properties::pw_properties_new(), pw_stream_add_listener(), res, data::stream_listener, and stream::this.
Submit a buffer for playback or recycle a buffer for capture.
References buffer::busy, buffer::id, NAME, pw_log::pw_log_trace, stream::queued, and res.
SPA_EXPORT int pw_stream_set_active | ( | struct pw_stream * | stream, |
bool | active | ||
) |
References NAME, stream::node, pw_impl_node_set_active(), and pw_log::pw_log_debug.
SPA_EXPORT int pw_stream_set_control | ( | struct pw_stream * | stream, |
uint32_t | id, | ||
uint32_t | n_values, | ||
float * | values, | ||
... | |||
) |
Set control values.
References control::container, NAME, stream::node, pw_impl_node_set_param(), pw_log::pw_log_debug, pw_log::pw_log_warn, va_end(), and va_start().
SPA_EXPORT int pw_stream_set_error | ( | struct pw_stream * | stream, |
int | res, | ||
const char * | error, | ||
... | |||
) |
References args, pw_proxy_error(), PW_STREAM_STATE_ERROR, r, res, va_end(), and va_start().
SPA_EXPORT const char* pw_stream_state_as_string | ( | enum pw_stream_state | state | ) |
SPA_EXPORT int pw_stream_update_params | ( | struct pw_stream * | stream, |
const struct spa_pod ** | params, | ||
uint32_t | n_params | ||
) |
References NAME, pw_log::pw_log_debug, and res.
SPA_EXPORT int pw_stream_update_properties | ( | struct pw_stream * | stream, |
const struct spa_dict * | dict | ||
) |
References stream::node, pw_impl_node_update_properties(), pw_properties::pw_properties_update(), and res.