1 /* Simple Plugin API 2 * 3 * Copyright © 2018 Wim Taymans 4 * 5 * Permission is hereby granted, free of charge, to any person obtaining a 6 * copy of this software and associated documentation files (the "Software"), 7 * to deal in the Software without restriction, including without limitation 8 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 9 * and/or sell copies of the Software, and to permit persons to whom the 10 * Software is furnished to do so, subject to the following conditions: 11 * 12 * The above copyright notice and this permission notice (including the next 13 * paragraph) shall be included in all copies or substantial portions of the 14 * Software. 15 * 16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 19 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22 * DEALINGS IN THE SOFTWARE. 23 */ 24 25 #ifndef SPA_PARAM_PROPS_H 26 #define SPA_PARAM_PROPS_H 27 28 #ifdef __cplusplus 29 extern "C" { 30 #endif 31 32 /** 33 * \addtogroup spa_param 34 * \{ 35 */ 36 37 #include <spa/param/param.h> 38 39 /** properties of SPA_TYPE_OBJECT_PropInfo */ 40 enum spa_prop_info { 41 SPA_PROP_INFO_START, 42 SPA_PROP_INFO_id, /**< associated id of the property */ 43 SPA_PROP_INFO_name, /**< name of the property */ 44 SPA_PROP_INFO_type, /**< type and range/enums of property */ 45 SPA_PROP_INFO_labels, /**< labels of property if any, this is a 46 * struct with pairs of values, the first one 47 * is of the type of the property, the second 48 * one is a string with a user readable label 49 * for the value. */ 50 SPA_PROP_INFO_container, /**< type of container if any (Id) */ 51 SPA_PROP_INFO_params, /**< is part of params property (Bool) */ 52 SPA_PROP_INFO_description, /**< User readable description */ 53 }; 54 55 /** predefined properties for SPA_TYPE_OBJECT_Props */ 56 enum spa_prop { 57 SPA_PROP_START, 58 59 SPA_PROP_unknown, /**< an unknown property */ 60 61 SPA_PROP_START_Device = 0x100, /**< device related properties */ 62 SPA_PROP_device, 63 SPA_PROP_deviceName, 64 SPA_PROP_deviceFd, 65 SPA_PROP_card, 66 SPA_PROP_cardName, 67 68 SPA_PROP_minLatency, 69 SPA_PROP_maxLatency, 70 SPA_PROP_periods, 71 SPA_PROP_periodSize, 72 SPA_PROP_periodEvent, 73 SPA_PROP_live, 74 SPA_PROP_rate, 75 SPA_PROP_quality, 76 SPA_PROP_bluetoothAudioCodec, 77 78 SPA_PROP_START_Audio = 0x10000, /**< audio related properties */ 79 SPA_PROP_waveType, 80 SPA_PROP_frequency, 81 SPA_PROP_volume, /**< a volume (Float), 0.0 silence, 1.0 normal */ 82 SPA_PROP_mute, /**< mute (Bool) */ 83 SPA_PROP_patternType, 84 SPA_PROP_ditherType, 85 SPA_PROP_truncate, 86 SPA_PROP_channelVolumes, /**< a volume array, one volume per 87 * channel (Array of Float) */ 88 SPA_PROP_volumeBase, /**< a volume base (Float) */ 89 SPA_PROP_volumeStep, /**< a volume step (Float) */ 90 SPA_PROP_channelMap, /**< a channelmap array 91 * (Array (Id enum spa_audio_channel)) */ 92 SPA_PROP_monitorMute, /**< mute (Bool) */ 93 SPA_PROP_monitorVolumes, /**< a volume array, one volume per 94 * channel (Array of Float) */ 95 SPA_PROP_latencyOffsetNsec, /**< delay adjustment */ 96 SPA_PROP_softMute, /**< mute (Bool) */ 97 SPA_PROP_softVolumes, /**< a volume array, one volume per 98 * channel (Array of Float) */ 99 100 SPA_PROP_iec958Codecs, /**< enabled IEC958 (S/PDIF) codecs, 101 * (Array (Id enum spa_audio_iec958_codec) */ 102 103 SPA_PROP_START_Video = 0x20000, /**< video related properties */ 104 SPA_PROP_brightness, 105 SPA_PROP_contrast, 106 SPA_PROP_saturation, 107 SPA_PROP_hue, 108 SPA_PROP_gamma, 109 SPA_PROP_exposure, 110 SPA_PROP_gain, 111 SPA_PROP_sharpness, 112 113 SPA_PROP_START_Other = 0x80000, /**< other properties */ 114 SPA_PROP_params, /**< simple control params 115 * (Struct( 116 * (String : key, 117 * Pod : value)*)) */ 118 119 120 SPA_PROP_START_CUSTOM = 0x1000000, 121 }; 122 123 /** 124 * \} 125 */ 126 127 #ifdef __cplusplus 128 } /* extern "C" */ 129 #endif 130 131 #endif /* SPA_PARAM_PROPS_H */ 132