jack: add jack source and sink

Makes a device with a source and sink that automatically
proxies all physical ports from jack. Jack then drives our
PipeWire pipeline from its own thread.
This commit is contained in:
Wim Taymans 2019-08-20 20:35:41 +02:00
parent d00c641559
commit 5b9869200f
15 changed files with 2433 additions and 1 deletions

View file

@ -638,6 +638,7 @@ struct spa_node_methods {
/** node keys */
#define SPA_KEY_NODE_NAME "node.name" /**< a node name */
#define SPA_KEY_NODE_DRIVER "node.driver" /**< the node can be a driver */
#define SPA_KEY_NODE_PAUSE_ON_IDLE "node.pause-on-idle" /**< if the node should be paused
* immediately when idle. */

View file

@ -78,6 +78,10 @@ extern "C" {
#define SPA_KEY_API_BLUEZ5_TRANSPORT "api.bluez5.transport" /**< an internal bluez5 transport */
#define SPA_KEY_API_BLUEZ5_ADDRESS "api.bluez5.address" /**< a bluetooth address */
/** keys for jack api */
#define SPA_KEY_API_JACK "api.jack" /**< key for the JACK api */
#define SPA_KEY_API_JACK_SERVER "api.jack.server" /**< a jack server name */
#define SPA_KEY_API_JACK_CLIENT "api.jack.client" /**< an internal jack client */
#ifdef __cplusplus
} /* extern "C" */

View file

@ -97,6 +97,11 @@ extern "C" {
#define SPA_NAME_API_V4L2_DEVICE "api.v4l2.device" /**< a v4l2 Device interface */
#define SPA_NAME_API_V4L2_SOURCE "api.v4l2.source" /**< a v4l2 Node interface for
* capturing */
/** keys for jack factory names */
#define SPA_NAME_API_JACK_DEVICE "api.jack.device" /**< a jack device. This is a
* client connected to a server */
#define SPA_NAME_API_JACK_SOURCE "api.jack.source" /**< a jack source */
#define SPA_NAME_API_JACK_SINK "api.jack.sink" /**< a jack sink */
#ifdef __cplusplus
} /* extern "C" */