diff options
author | Tai Vuong <tvuong@audiokinetic.com> | 2017-11-01 18:08:22 -0400 |
---|---|---|
committer | Tai Vuong <tvuong@audiokinetic.com> | 2017-11-01 18:08:22 -0400 |
commit | d0a169abb8d3069f311bab522b2c43bc295ed36e (patch) | |
tree | 1e04f8a38ebd562be8032b6dd9404915151cf8dc /src/ahl-binding.h | |
parent | 74658c8befeb312e8e2e9ffaf5bfa6f8d7615612 (diff) |
API change with API simplification and streamID optional for Stream Open and Close
Diffstat (limited to 'src/ahl-binding.h')
-rw-r--r-- | src/ahl-binding.h | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/src/ahl-binding.h b/src/ahl-binding.h index 9b4c37e..c6f0846 100644 --- a/src/ahl-binding.h +++ b/src/ahl-binding.h @@ -28,7 +28,6 @@ #include "ahl-interface.h" #include "ahl-policy-utils.h" - #ifndef PUBLIC #define PUBLIC #endif @@ -39,9 +38,36 @@ #define AHL_ACCESS_CONTROL_GRANTED 1 #define AHL_ACCESS_CONTROL_DENIED 0 -#define AHL_UNDEFINED -1 #define AHL_STR_MAX_LENGTH 256 - + +typedef struct EndpointInfo +{ + endpointID_t endpointID; // Unique endpoint ID (per type) + EndpointTypeT type; // Source or sink device + char * gsDeviceName; // Unique device card name + char * gsDisplayName; // Application display name + char * gsDeviceURI; // Associated URI + char * gsDeviceDomain; // Device URI domain (e.g. alsa or pulse) + char * pRoleName; // Role assigned to this endpoint + DeviceURITypeT deviceURIType; // Device URI type (includes audio domain information) + char * gsHALAPIName; // HAL associated with the device (for volume control) + AlsaDeviceInfoT alsaInfo; // ALSA specific device information + AudioFormatT format; // Preferred audio format supported (later could be array of supported formats) + int iVolume; // Storage for current endpoint volume (policy effected). + GHashTable * pPropTable; // Storage for array of properties (policy effected) +} EndpointInfoT; + +typedef struct StreamInfo { + streamID_t streamID; // Stream unique ID + EndpointInfoT * pEndpointInfo; // Associated endpoint information (reference) + StreamStateT streamState; // Stream activity state + StreamMuteT streamMute; // Stream mute state + struct afb_event streamStateEvent; // Stream specific event for stream state changes + EndpointSelectionModeT endpointSelMode; // Automatic (priority based) or manual endpoint selection + char * pRoleName; // Role string identifier (from role config but could be programatically overriden later) + int iPriority; // Role normalized priority (0-100) (from role config but could be programatically overriden later) + InterruptBehaviorT eInterruptBehavior; // Role behavior when interrupting lower priority streams (from role config but could be programatically overriden later) +} StreamInfoT; typedef struct RoleInfo { char * pRoleName; // Role string identifier |