UNPKG

pw-client

Version:

Node.js wrapper for developing PipeWire clients

444 lines (443 loc) 18.2 kB
export var Client; (function (Client) { /** protocol used for connection */ Client["Protocol"] = "pipewire.protocol"; /** how the client access is controlled */ Client["Access"] = "pipewire.access"; /** how the client wants to be access controlled **/ Client["ClientAccess"] = "pipewire.client.access"; })(Client || (Client = {})); export var Security; (function (Security) { /** Various keys related to the identity of a client process and its security. */ Security["Pid"] = "pipewire.sec.pid"; /** Client uid, set by protocol. */ Security["Uid"] = "pipewire.sec.uid"; /** client gid, set by protocol **/ Security["Gid"] = "pipewire.sec.gid"; /** client security label, set by protocol */ Security["Label"] = "pipewire.sec.label"; /** client socket name, set by protocol */ Security["Socket"] = "pipewire.sec.socket"; /** client secure context engine, set by protocol. */ Security["Engine"] = "pipewire.sec.engine"; /** client secure application id */ Security["AppId"] = "pipewire.sec.app-id"; /** client secure instance id */ Security["InstanceId"] = "pipewire.sec.instance-id"; })(Security || (Security = {})); export var LibraryName; (function (LibraryName) { /** name of the system library to use */ LibraryName["System"] = "library.name.system"; /** name of the loop library to use */ LibraryName["Loop"] = "library.name.loop"; /** name of the dbus library to use */ LibraryName["Dbus"] = "library.name.dbus"; })(LibraryName || (LibraryName = {})); export var Object; (function (Object) { /** object properties */ Object["Path"] = "object.path"; /** a global object id */ Object["Id"] = "object.id"; /** a 64 bit object serial number. */ Object["Serial"] = "object.serial"; /** the object lives on even after the client that created it has been destroyed */ Object["Linger"] = "object.linger"; /** If the object should be registered. */ Object["Register"] = "object.register"; /** If the object should be exported, since 0.3.72. */ Object["Export"] = "object.export"; })(Object || (Object = {})); export var ConfigFile; (function (ConfigFile) { /** a config prefix directory */ ConfigFile["Prefix"] = "config.prefix"; /** a config file name */ ConfigFile["Name"] = "config.name"; /** a config override prefix directory */ ConfigFile["OverridePrefix"] = "config.override.prefix"; /** a config override file name */ ConfigFile["OverrideName"] = "config.override.name"; })(ConfigFile || (ConfigFile = {})); export var Loop; (function (Loop) { /** the name of a loop */ Loop["Name"] = "loop.name"; /** the classes this loop handles, array of strings */ Loop["Class"] = "loop.class"; /** realtime priority of the loop */ Loop["RealtimePriority"] = "loop.rt-prio"; /** if the loop can be canceled */ Loop["Cancelable"] = "loop.cancel"; })(Loop || (Loop = {})); export var Core; (function (Core) { /** The name of the core. */ Core["Name"] = "core.name"; /** The version of the core. */ Core["Version"] = "core.version"; /** If the core is listening for connections. */ Core["IsDaemon"] = "core.daemon"; /** the core id */ Core["Id"] = "core.id"; /** the apis monitored by core. */ Core["Monitors"] = "core.monitors"; })(Core || (Core = {})); export var Context; (function (Context) { /** The user name that runs pipewire. */ Context["UserName"] = "context.user-name"; /** The host name of the machine. */ Context["HostName"] = "context.host-name"; })(Context || (Context = {})); export var CPU; (function (CPU) { /** maximum alignment needed to support all CPU optimizations */ CPU["CpuMaxAlignment"] = "cpu.max-align"; /** number of cores */ CPU["CpuCores"] = "cpu.cores"; })(CPU || (CPU = {})); export var Priority; (function (Priority) { /** priority in session manager */ Priority["Session"] = "priority.session"; /** priority to be a driver */ Priority["Driver"] = "priority.driver"; })(Priority || (Priority = {})); export var Remote; (function (Remote) { /** The name of the remote to connect to, default pipewire-0, overwritten by env(PIPEWIRE_REMOTE). */ Remote["Name"] = "remote.name"; /** The intention of the remote connection, "generic", "screencast", "manager". */ Remote["Intention"] = "remote.intention"; })(Remote || (Remote = {})); export var Process; (function (Process) { /** process id (pid) */ Process["Id"] = "application.process.id"; /** binary name */ Process["Binary"] = "application.process.binary"; /** user name */ Process["UserName"] = "application.process.user"; /** host name */ Process["HostName"] = "application.process.host"; /** the D-Bus host id the application runs on */ Process["MachineId"] = "application.process.machine-id"; /** login session of the application, on Unix the value of $XDG_SESSION_ID. */ Process["SessionId"] = "application.process.session-id"; })(Process || (Process = {})); export var Application; (function (Application) { /** application keys */ Application["Name"] = "application.name"; /** a textual id for identifying an application logically. */ Application["Id"] = "application.id"; /** application version. */ Application["Version"] = "application.version"; /** aa base64 blob with PNG image data */ Application["Icon"] = "application.icon"; /** an XDG icon name for the application. */ Application["IconName"] = "application.icon-name"; /** application language if applicable, in standard POSIX format. */ Application["Language"] = "application.language"; /** window system */ Application["X11Display"] = "window.x11.display"; })(Application || (Application = {})); (function (Client) { /** Client properties. */ Client["Id"] = "client.id"; /** the client name */ Client["Name"] = "client.name"; /** the client api used to access PipeWire */ Client["Api"] = "client.api"; })(Client || (Client = {})); export var Node; (function (Node) { /** Node keys. */ Node["Id"] = "node.id"; /** node name */ Node["Name"] = "node.name"; /** short node name */ Node["Nickname"] = "node.nick"; /** localized human readable node one-line description. */ Node["Description"] = "node.description"; /** when the node was created. */ Node["Plugged"] = "node.plugged"; /** the session id this node is part of */ Node["SessionId"] = "node.session"; /** the group id this node is part of. */ Node["GroupId"] = "node.group"; /** the sync group this node is part of. */ Node["SyncGroup"] = "node.sync-group"; /** if the sync-group is active or not */ Node["SyncGroupActive"] = "node.sync"; /** if the transport is active or not */ Node["TransportActive"] = "node.transport"; /** node wants exclusive access to resources */ Node["IsExclusive"] = "node.exclusive"; /** node wants to be automatically connected to a compatible node */ Node["Autoconnect"] = "node.autoconnect"; /** the requested latency of the node as a fraction. */ Node["Latency"] = "node.latency"; /** the maximum supported latency of the node as a fraction. */ Node["MaxLatency"] = "node.max-latency"; /** don't change quantum when this node is active */ Node["LockQuantum"] = "node.lock-quantum"; /** force a quantum while the node is active */ Node["ForceQuantum"] = "node.force-quantum"; /** the requested rate of the graph as a fraction. */ Node["Rate"] = "node.rate"; /** don't change rate when this node is active */ Node["LockRate"] = "node.lock-rate"; /** force a rate while the node is active. */ Node["ForceRate"] = "node.force-rate"; /** don't reconnect this node. */ Node["DoNotReconnect"] = "node.dont-reconnect"; /** process even when unlinked */ Node["AlwaysProcess"] = "node.always-process"; /** the node wants to be grouped with a driver node in order to schedule the graph. */ Node["WantsDriver"] = "node.want-driver"; /** pause the node when idle */ Node["PauseOnIdle"] = "node.pause-on-idle"; /** suspend the node when idle */ Node["SuspendOnIdle"] = "node.suspend-on-idle"; /** cache the node params */ Node["CacheParams"] = "node.cache-params"; /** the node handles transport sync */ Node["TransportSync"] = "node.transport.sync"; /** node can drive the graph. */ Node["IsDriver"] = "node.driver"; /** the node can be a lazy driver. */ Node["IsLazyDriver"] = "node.supports-lazy"; /** The node supports emiting RequestProcess events when it wants the graph to be scheduled. */ Node["SupportsRequest"] = "node.supports-request"; /** the node id of the node assigned as driver for this node */ Node["DriverId"] = "node.driver-id"; /** the node wants async scheduling */ Node["AsyncScheduling"] = "node.async"; /** the loop name fnmatch pattern to run in */ Node["LoopName"] = "node.loop.name"; /** the loop class fnmatch pattern to run in */ Node["LoopClass"] = "node.loop.class"; /** node is a stream, the server side should add a converter */ Node["IsStream"] = "node.stream"; /** the node is some sort of virtual object */ Node["IsVirtual"] = "node.virtual"; /** indicate that a node wants passive links on output/input/all ports when the value is "out"/"in"/"true" respectively */ Node["PassiveLinks"] = "node.passive"; /** the node is internally linked to nodes with the same link-group. */ Node["LinkGroup"] = "node.link-group"; /** the node is on a network */ Node["OnNetwork"] = "node.network"; /** the node is not scheduled automatically based on the dependencies in the graph but it will be triggered explicitly. */ Node["ExplicitlyTriggered"] = "node.trigger"; /** names of node's channels (unrelated to positions) */ Node["ChannelNames"] = "node.channel-names"; /** override port name prefix for device ports, like capture and playback or disable the prefix completely if an empty string is provided */ Node["DevicePortPrefix"] = "node.device-port-name-prefix"; })(Node || (Node = {})); export var Port; (function (Port) { /** Port keys. */ Port["Id"] = "port.id"; /** port name */ Port["Name"] = "port.name"; /** the port direction, one of "in" or "out" or "control" and "notify" for control ports */ Port["Direction"] = "port.direction"; /** port alias */ Port["Alias"] = "port.alias"; /** if this is a physical port */ Port["IsPhysical"] = "port.physical"; /** if this port consumes the data */ Port["IsTerminal"] = "port.terminal"; /** if this port is a control port */ Port["IsControl"] = "port.control"; /** if this port is a monitor port */ Port["IsMonitor"] = "port.monitor"; /** cache the node port params */ Port["CacheParams"] = "port.cache-params"; /** api specific extra port info, API name should be prefixed. */ Port["Extra"] = "port.extra"; /** the ports wants passive links, since 0.3.67 */ Port["PassiveLinks"] = "port.passive"; /** latency ignored by peers, since 0.3.71 */ Port["IgnoreLatency"] = "port.ignore-latency"; /** the port group of the port 1.2.0 */ Port["PortGroup"] = "port.group"; })(Port || (Port = {})); export var Link; (function (Link) { /** link properties */ Link["Id"] = "link.id"; /** input node id of a link */ Link["InputNodeId"] = "link.input.node"; /** input port id of a link */ Link["InputPortId"] = "link.input.port"; /** output node id of a link */ Link["OutputNodeId"] = "link.output.node"; /** output port id of a link */ Link["OutputPortId"] = "link.output.port"; /** indicate that a link is passive and does not cause the graph to be runnable. */ Link["IsPassive"] = "link.passive"; /** indicate that a link is a feedback link and the target will receive data in the next cycle */ Link["IsFeedback"] = "link.feedback"; /** the link is using async io */ Link["IsAsync"] = "link.async"; /** a target object to link to. */ Link["TargetObject"] = "target.object"; })(Link || (Link = {})); export var Device; (function (Device) { /** device properties */ Device["Id"] = "device.id"; /** device name */ Device["Name"] = "device.name"; /** when the device was created. */ Device["Plugged"] = "device.plugged"; /** a short device nickname */ Device["Nickname"] = "device.nick"; /** device string in the underlying layer's format. */ Device["String"] = "device.string"; /** API this device is accessed with. */ Device["Api"] = "device.api"; /** localized human readable device one-line description. */ Device["Description"] = "device.description"; /** bus path to the device in the OS' format. */ Device["BusPath"] = "device.bus-path"; /** Serial number if applicable. */ Device["SerialNumber"] = "device.serial"; /** vendor ID if applicable */ Device["VendorId"] = "device.vendor.id"; /** vendor name if applicable */ Device["VendorName"] = "device.vendor.name"; /** product ID if applicable */ Device["ProductId"] = "device.product.id"; /** product name if applicable */ Device["ProductName"] = "device.product.name"; /** device class */ Device["Class"] = "device.class"; /** form factor if applicable. */ Device["FormFactor"] = "device.form-factor"; /** bus of the device if applicable. */ Device["Bus"] = "device.bus"; /** device subsystem */ Device["Subsystem"] = "device.subsystem"; /** device sysfs path */ Device["FsPath"] = "device.sysfs.path"; /** icon for the device. */ Device["Icon"] = "device.icon"; /** an XDG icon name for the device. */ Device["IconName"] = "device.icon-name"; /** intended use. */ Device["IntendedRoles"] = "device.intended-roles"; /** cache the device spa params */ Device["CacheParams"] = "device.cache-params"; })(Device || (Device = {})); export var Module; (function (Module) { /** module properties */ Module["Id"] = "module.id"; /** the name of the module */ Module["Name"] = "module.name"; /** the author's name */ Module["Author"] = "module.author"; /** a human readable one-line description of the module's purpose. */ Module["Description"] = "module.description"; /** a human readable usage description of the module's arguments. */ Module["Usage"] = "module.usage"; /** a version string for the module. */ Module["Version"] = "module.version"; /** the module is deprecated with this message */ Module["Deprecated"] = "module.deprecated"; })(Module || (Module = {})); export var Factory; (function (Factory) { /** Factory properties. */ Factory["Id"] = "factory.id"; /** the name of the factory */ Factory["Name"] = "factory.name"; /** the usage of the factory */ Factory["Usage"] = "factory.usage"; /** the name of the type created by a factory */ Factory["TypeName"] = "factory.type.name"; /** the version of the type created by a factory */ Factory["TypeVersion"] = "factory.type.version"; })(Factory || (Factory = {})); export var Stream; (function (Stream) { /** Stream properties. */ Stream["IsLive"] = "stream.is-live"; /** The minimum latency of the stream. */ Stream["LatencyMin"] = "stream.latency.min"; /** The maximum latency of the stream. */ Stream["LatencyMax"] = "stream.latency.max"; /** Indicates that the stream is monitoring and might select a less accurate but faster conversion algorithm. */ Stream["IsMonitoring"] = "stream.monitor"; /** don't remix channels */ Stream["DoNotRemix"] = "stream.dont-remix"; /** Try to capture the sink output instead of source output. */ Stream["CaptureSink"] = "stream.capture.sink"; })(Stream || (Stream = {})); export var Media; (function (Media) { /** Media. */ Media["Type"] = "media.type"; /** Media Category: Playback, Capture, Duplex, Monitor, Manager. */ Media["Category"] = "media.category"; /** Role: Movie, Music, Camera, Screen, Communication, Game, Notification, DSP, Production, Accessibility, Test. */ Media["Role"] = "media.role"; /** class Ex: "Video/Source" */ Media["Class"] = "media.class"; /** media name. */ Media["Name"] = "media.name"; /** title. */ Media["Title"] = "media.title"; /** artist. */ Media["Artist"] = "media.artist"; /** album. */ Media["Album"] = "media.album"; /** copyright string */ Media["Copyright"] = "media.copyright"; /** generator software */ Media["Software"] = "media.software"; /** language in POSIX format. */ Media["Language"] = "media.language"; /** filename */ Media["Filename"] = "media.filename"; /** icon for the media, a base64 blob with PNG image data */ Media["Icon"] = "media.icon"; /** an XDG icon name for the media. */ Media["IconName"] = "media.icon-name"; /** extra comment */ Media["Comment"] = "media.comment"; /** date of the media */ Media["Date"] = "media.date"; /** format of the media */ Media["Format"] = "media.format"; /** format related properties */ Media["Dsp"] = "format.dsp"; })(Media || (Media = {})); export var Audio; (function (Audio) { /** audio related properties */ Audio["Channel"] = "audio.channel"; /** an audio samplerate */ Audio["SampleRate"] = "audio.rate"; /** number of audio channels */ Audio["NumChannels"] = "audio.channels"; /** an audio format. */ Audio["Format"] = "audio.format"; /** a list of allowed samplerates ex. */ Audio["AllowedRates"] = "audio.allowed-rates"; })(Audio || (Audio = {})); export var Video; (function (Video) { /** video related properties */ Video["Rate"] = "video.framerate"; /** a video format */ Video["Format"] = "video.format"; /** a video size as "<width>x<height" */ Video["Size"] = "video.size"; })(Video || (Video = {}));