Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/third_party/pipewire/spa/utils/   (Firefox Browser Version 153.0.1©)  Datei vom 27.6.2026 mit Größe 7 kB image not shown  

Quelle  keys.h

  Sprache: C
 

/* Simple Plugin API */
/* SPDX-FileCopyrightText: Copyright © 2019 Wim Taymans */
/* SPDX-License-Identifier: MIT */

#ifndef SPA_UTILS_KEYS_H
#define SPA_UTILS_KEYS_H

#ifdef __cplusplus
extern "C" {
#endif

/** \defgroup spa_keys  Key Names
 * Key names used by SPA plugins
 */


/**
 * \addtogroup spa_keys
 * \{
 */


/** for objects */
#define SPA_KEY_OBJECT_PATH  "object.path"   /**< a unique path to
  *  identity the object */


#define SPA_KEY_MEDIA_CLASS  "media.class"   /**< Media class
           *  Ex. "Audio/Device",
  *  "Video/Source",... */

#define SPA_KEY_MEDIA_ROLE  "media.role"   /**< Role: Movie, Music, Camera,
           *  Screen, Communication, Game,
           *  Notification, DSP, Production,
  *  Accessibility, Test */

/** keys for udev api */
#define SPA_KEY_API_UDEV  "api.udev"   /**< key for the udev api */
#define SPA_KEY_API_UDEV_MATCH  "api.udev.match"  /**< udev subsystem match */

/** keys for alsa api */
#define SPA_KEY_API_ALSA  "api.alsa"   /**< key for the alsa api */
#define SPA_KEY_API_ALSA_PATH  "api.alsa.path"   /**< alsa device path as can be
           *  used in snd_pcm_open() and
  *  snd_ctl_open(). */

#define SPA_KEY_API_ALSA_CARD  "api.alsa.card"   /**< alsa card number */
#define SPA_KEY_API_ALSA_USE_UCM "api.alsa.use-ucm"  /**< if UCM should be used */
#define SPA_KEY_API_ALSA_IGNORE_DB "api.alsa.ignore-dB"  /**< if decibel info should be ignored */
#define SPA_KEY_API_ALSA_OPEN_UCM "api.alsa.open.ucm"  /**< if UCM should be opened card */
#define SPA_KEY_API_ALSA_DISABLE_LONGNAME \
     "api.alsa.disable-longname" /**< if card long name should not be passed to MIDI port */
#define SPA_KEY_API_ALSA_BIND_CTLS "api.alsa.bind-ctls"  /**< alsa controls to bind as params */
#define SPA_KEY_API_ALSA_SPLIT_ENABLE "api.alsa.split-enable"  /**< For UCM devices with split PCMs, don't split to
          * multiple PCMs using alsa-lib plugins, but instead
          * add api.alsa.split properties to emitted nodes
          * with PCM splitting information.
 */

#define SPA_KEY_API_ALSA_SPLIT_PARENT "api.alsa.split.parent"  /**< PCM is UCM SplitPCM parent PCM,
          * to be opened with SplitPCM set.
 */


/** info from alsa card_info */
#define SPA_KEY_API_ALSA_CARD_ID "api.alsa.card.id"  /**< id from card_info */
#define SPA_KEY_API_ALSA_CARD_COMPONENTS \
     "api.alsa.card.components" /**< components from card_info */
#define SPA_KEY_API_ALSA_CARD_DRIVER "api.alsa.card.driver"  /**< driver from card_info */
#define SPA_KEY_API_ALSA_CARD_NAME "api.alsa.card.name"  /**< name from card_info */
#define SPA_KEY_API_ALSA_CARD_LONGNAME "api.alsa.card.longname" /**< longname from card_info */
#define SPA_KEY_API_ALSA_CARD_MIXERNAME "api.alsa.card.mixername" /**< mixername from card_info */

/** info from alsa pcm_info */
#define SPA_KEY_API_ALSA_PCM_ID  "api.alsa.pcm.id"  /**< id from pcm_info */
#define SPA_KEY_API_ALSA_PCM_CARD "api.alsa.pcm.card"  /**< card from pcm_info */
#define SPA_KEY_API_ALSA_PCM_NAME "api.alsa.pcm.name"  /**< name from pcm_info */
#define SPA_KEY_API_ALSA_PCM_SUBNAME "api.alsa.pcm.subname"  /**< subdevice_name from pcm_info */
#define SPA_KEY_API_ALSA_PCM_STREAM "api.alsa.pcm.stream"  /**< stream type from pcm_info */
#define SPA_KEY_API_ALSA_PCM_CLASS "api.alsa.pcm.class"  /**< class from pcm_info as string */
#define SPA_KEY_API_ALSA_PCM_DEVICE "api.alsa.pcm.device"  /**< device from pcm_info */
#define SPA_KEY_API_ALSA_PCM_SUBDEVICE "api.alsa.pcm.subdevice" /**< subdevice from pcm_info */
#define SPA_KEY_API_ALSA_PCM_SUBCLASS "api.alsa.pcm.subclass"  /**< subclass from pcm_info as string */
#define SPA_KEY_API_ALSA_PCM_SYNC_ID "api.alsa.pcm.sync-id"  /**< sync id */

#define SPA_KEY_API_ALSA_SPLIT_POSITION "api.alsa.split.position" /**< (SPA JSON list) If present, this is a
          * virtual device corresponding to a subset of
          * channels in an underlying PCM, listed in this
          * property. The \ref SPA_KEY_API_ALSA_PATH
 * contains the underlying split PCM. */

#define SPA_KEY_API_ALSA_SPLIT_HW_POSITION \
     "api.alsa.split.hw-position" /**< (SPA JSON list) Channel map of the
 * underlying split PCM. */


/** keys for v4l2 api */
#define SPA_KEY_API_V4L2  "api.v4l2"   /**< key for the v4l2 api */
#define SPA_KEY_API_V4L2_PATH  "api.v4l2.path"   /**< v4l2 device path as can be
  *  used in open() */


/** keys for libcamera api */
#define SPA_KEY_API_LIBCAMERA  "api.libcamera"   /**< key for the libcamera api */
#define SPA_KEY_API_LIBCAMERA_PATH "api.libcamera.path" /**< libcamera device path as can be
  *  used in open() */

#define SPA_KEY_API_LIBCAMERA_LOCATION "api.libcamera.location" /**< location of the camera:
  * "front", "back" or "external" */

#define SPA_KEY_API_LIBCAMERA_ROTATION "api.libcamera.rotation" /**< rotation of the camera:
  * "0", "90", "180" or "270" */


/** info from libcamera_capability */
#define SPA_KEY_API_LIBCAMERA_CAP_DRIVER "api.libcamera.cap.driver" /**< driver from capbility */
#define SPA_KEY_API_LIBCAMERA_CAP_CARD "api.libcamera.cap.card"  /**< caps from capability */
#define SPA_KEY_API_LIBCAMERA_CAP_BUS_INFO "api.libcamera.cap.bus_info"/**< bus_info from capability */
#define SPA_KEY_API_LIBCAMERA_CAP_VERSION "api.libcamera.cap.version" /**< version from capability as %u.%u.%u */
#define SPA_KEY_API_LIBCAMERA_CAP_CAPABILITIES \
     "api.libcamera.cap.capabilities" /**< capabilities from capability */
#define SPA_KEY_API_LIBCAMERA_CAP_DEVICE_CAPS \
     "api.libcamera.cap.device-caps" /**< device_caps from capability */
/** info from v4l2_capability */
#define SPA_KEY_API_V4L2_CAP_DRIVER "api.v4l2.cap.driver"  /**< driver from capbility */
#define SPA_KEY_API_V4L2_CAP_CARD "api.v4l2.cap.card"  /**< caps from capability */
#define SPA_KEY_API_V4L2_CAP_BUS_INFO "api.v4l2.cap.bus_info"  /**< bus_info from capability */
#define SPA_KEY_API_V4L2_CAP_VERSION "api.v4l2.cap.version"  /**< version from capability as %u.%u.%u */
#define SPA_KEY_API_V4L2_CAP_CAPABILITIES \
     "api.v4l2.cap.capabilities" /**< capabilities from capability */
#define SPA_KEY_API_V4L2_CAP_DEVICE_CAPS \
     "api.v4l2.cap.device-caps" /**< device_caps from capability */


/** keys for bluez5 api */
#define SPA_KEY_API_BLUEZ5  "api.bluez5"   /**< key for the bluez5 api */
#define SPA_KEY_API_BLUEZ5_PATH  "api.bluez5.path"  /**< a bluez5 path */
#define SPA_KEY_API_BLUEZ5_DEVICE "api.bluez5.device"  /**< an internal bluez5 device */
#define SPA_KEY_API_BLUEZ5_CONNECTION "api.bluez5.connection"  /**< bluez5 device connection status */
#define SPA_KEY_API_BLUEZ5_TRANSPORT "api.bluez5.transport"  /**< an internal bluez5 transport */
#define SPA_KEY_API_BLUEZ5_PROFILE "api.bluez5.profile"  /**< a bluetooth profile */
#define SPA_KEY_API_BLUEZ5_ADDRESS "api.bluez5.address"  /**< a bluetooth address */
#define SPA_KEY_API_BLUEZ5_CODEC "api.bluez5.codec"  /**< a bluetooth codec */
#define SPA_KEY_API_BLUEZ5_CLASS "api.bluez5.class"  /**< a bluetooth class */
#define SPA_KEY_API_BLUEZ5_ICON  "api.bluez5.icon"  /**< a bluetooth icon */
#define SPA_KEY_API_BLUEZ5_ROLE  "api.bluez5.role"  /**< "client" or "server" */

/** 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 */

/** keys for glib api */
#define SPA_KEY_API_GLIB_MAINLOOP "api.glib.mainloop"  /**< whether glib mainloop runs
 * in same thread as PW loop */


/**
 * \}
 */


#ifdef __cplusplus
}  /* extern "C" */
#endif

#endif /* SPA_UTILS_KEYS_H */

Messung V0.5 in Prozent
C=89 H=90 G=89

¤ Dauer der Verarbeitung: 0.4 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.