High Level Audio API and Policy Proposal. October 19th, 2017 François Thibault, Audiokinetic Tai Vuong, Audiokinetic

Similar documents
ENGINEERING COMMITTEE Energy Management Subcommittee SCTE STANDARD SCTE

Digital Front End (DFE) Training. DFE Overview

Micro Services Architecture: Spring Boot and Netflix Infrastructure

INSTALATION AND OPERATION MANUAL ABYSSAL OS Overlay Module Version 1.0.1

FOSS PLATFORM FOR CLOUD BASED IOT SOLUTIONS

C Module Description

ITU-T Y.4552/Y.2078 (02/2016) Application support models of the Internet of things

The Backlog The Scope The Approach The Trends

TABLE OF CONTENTS 1. OVERVIEW INSTALLATION DA-3G CONNECTIONS SPECIFICATIONS SERIAL VIDEO INPUT...

INSTALATION AND OPERATION MANUAL ABYSSAL OS Overlay Module Version 1.3

Using the Renesas Graphics API to Create a User Interface

administration access control A security feature that determines who can edit the configuration settings for a given Transmitter.

Kolding June 12, 2018

SPG700 Multiformat Reference Sync Generator Release Notes

ANSI/SCTE

Next Generation Interactive Experience

S I N E V I B E S FRACTION AUDIO SLICING WORKSTATION

Avigilon View Software Release Notes

SPG8000A Master Sync / Clock Reference Generator Release Notes

ADVANCED EMERGENCY ALERTING RICH CHERNOCK

IoT State of the Union

ITU-T Y Reference architecture for Internet of things network capability exposure

Recomm I n t e r n a t i o n a l T e l e c o m m u n i c a t i o n U n i o n

IQDEC01. Composite Decoder, Synchronizer, Audio Embedder with Noise Reduction - 12 bit. Does this module suit your application?

GUIX Synergy Port Framework Module Guide

Electrical and Telecommunications Engineering Technology_TCET3122/TC520. NEW YORK CITY COLLEGE OF TECHNOLOGY The City University of New York

PROTOTYPING AN AMBIENT LIGHT SYSTEM - A CASE STUDY

COPYRIGHT 2018 AXON DIGITAL DESIGN BV ALL RIGHTS RESERVED NO PART OF THIS DOCUMENT MAY BE REPRODUCED IN ANY FORM WITHOUT THE PERMISSION OF

IoT Strategy Roadmap

Broadcast Graphics ACSR BG400 Webinar Table Of Content

This document contains the latest information about the new Polycom VS4000 TM model, running 5.1 software.

Digilent Nexys-3 Cellular RAM Controller Reference Design Overview

Synchronous Sequential Logic

Low Cost, High Speed Spectrum Analyzers For RF Manufacturing APPLICATION NOTE

C8000. switch over & ducking

T : Internet Technologies for Mobile Computing

C Module Description

Business Case for CloudTV

New Technologies: 4G/LTE, IOTs & OTTS WORKSHOP

Designing for the Internet of Things with Cadence PSpice A/D Technology

Configuring and Troubleshooting Set-Top Boxes

ITU-T Y Functional framework and capabilities of the Internet of things

5620 SERVICE AWARE MANAGER. NTP Driver Version Guide

The word digital implies information in computers is represented by variables that take a limited number of discrete values.

Bridging the Interoperability Gap of the Internet of Things. BIG IoT Project. Rosa Ma Martin (inlab FIB, UPC) JORNADAS TÉCNICAS RedIRIS 2017

THE LXI IVI PROGRAMMING MODEL FOR SYNCHRONIZATION AND TRIGGERING

C8000. sync interface. External sync auto format sensing : AES, Word Clock, Video Reference

Building Intelligent Edge Solutions with Microsoft IoT

The features shown in the following graphics may not appear on all Desire Series fixtures. LCD Power In DMX In

Parade Application. Overview

IoT Software Platforms

Risk Risk Title Severity (1-10) Probability (0-100%) I FPGA Area II Timing III Input Distortion IV Synchronization 9 60

TECHNICAL MANUAL. Cheetah VIDEO MATRIX ROUTERS 3G VIDEO INPUT CARD WITH AUDIO DE-EMBEDDING AND 3G VIDEO OUTPUT CARD WITH AUDIO EMBEDDING

User Instruction Manual IQSDA30/IQSDA32. Intelligent Reclocking High Performance HD-SDI/SD-SDI Distribution Amplifiers. snellgroup.

Integrating Device Connectivity in IoT & Embedded devices

NI-DAQmx Key Concepts

Manual FERROFISH A16 MK-II. advanced audio applications. professional 16 channel AD/DA converter

TIME-COMPENSATED REMOTE PRODUCTION OVER IP

MULTIMIX 8/4 DIGITAL AUDIO-PROCESSING

Digital Video Engineering Professional Certification Competencies

How to overcome/avoid High Frequency Effects on Debug Interfaces Trace Port Design Guidelines

DEVELOPING IN THE IOT SPACE

WHITEPAPER. Customer Insights: A European Pay-TV Operator s Transition to Test Automation

Integrate IR Trans with digitalstrom Developer Days Hackaton ( ) Team: Goran Petrovikj Tomasz Hasinski Jurica Mihačić Krzysztof Klimek

Re: ENSC 370 Project Physiological Signal Data Logger Functional Specifications

Audio Watermarking (NexTracker )

Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

Detecting Bosch IVA Events with Milestone XProtect

Classroom Setup... 2 PC... 2 Document Camera... 3 DVD... 4 Auxiliary... 5

ITU-T J.205. Corrigendum 1 (01/2013)

SELF STORAGE. Self Service Kiosks for. Always on Duty! 24 Hour Sales & Support Remote Monitoring Added Security

SIX STEPS TO BUYING DATA LOSS PREVENTION PRODUCTS

Autotask Integration Guide

Oscilloscopes for debugging automotive Ethernet networks

Obtain Power Measurements of a DOCSIS Downstream Signal Using a Spectrum Analyzer

STANC0. Stereo HD-PA digitally programmable active noise cancelling audio engine. Features. System. Input and output.

RADview-PC/TDM. Network Management System for TDM Applications Megaplex RAD Data Communications Publication No.

What is sync? Why is sync important? How can sync signals be compromised within an A/V system?... 3

OPERATING INSTRUCTIONS

User Manual K.M.E. Dante Module

Model- based design of energy- efficient applications for IoT systems

The Art of Low-Cost IoT Solutions

TSIU03, SYSTEM DESIGN. How to Describe a HW Circuit

CS3350B Computer Architecture Winter 2015

Privacy Level Indicating Data Leakage Prevention System

SAP Edge Services Edge Services Overview Guide Version 1711

Foundations in Data Semantics. Chapter 4

DIGITAL MEDIA BRIDGE SCREEN BUILDER USER S GUIDE

Introduction to Aspect Signaling with JMRI/PanelPro

2 Work Package and Work Unit descriptions. 2.8 WP8: RF Systems (R. Ruber, Uppsala)

MOB501. SAP Omnichannel Banking 8.3 SP01 PL03 Development COURSE OUTLINE. Course Version: 03 Course Duration: 4 Day(s)

Getting Started with Launchpad and Grove Starter Kit. Franklin Cooper University Marketing Manager

HCS-4100/20 Series Application Software

Case study WWAY station in a box

C8188 C8000 1/10. digital audio modular processing system. 4 Channel AES/EBU I/O. features. block diagram. 4 balanced AES inputs

Logic Analyzer Triggering Techniques to Capture Elusive Problems

Sapera LT 8.0 Acquisition Parameters Reference Manual

SERIAL DIGITAL VIDEO FIBER OPTIC TRANSPORT & DISTRIBUTION MODULAR SYSTEM FOR HDTV & SDTV

Introduction How to operate Cable Test Limit mode Log & EDID Troubleshooting. HDMI Diagnostics and Troubleshooting

Recording KARMA OASYS (KO) Software into Cubase Setup and Workflow

Transcription:

High Level Audio API and Policy Proposal October 19th, 2017 François Thibault, Audiokinetic Tai Vuong, Audiokinetic

HW Audio Architecture Proposal Overview Application UI Bindings Application Bindings Application Interface Binding Audio Policy Binding Hardware Abstraction Binding HW-specific Bindings Kernel Drivers AGL Audio Agent App Hardware AGL AMM Dresden 2

AGL Audio Agent Layers Proposal High Level Audio Binding Single entry point for all audio applications needs with simple, stable interface Expose all device capabilities in uniform way to applications Allow fine grain security permissions control, policy enforcement and provide isolation between different application audio stream controls Priority-based and audio role specific endpoint selection / stream routings (automatic or explicit) and aggregation of different audio domains (ALSA, Pulse) Audio stream and endpoint controls (volume, mute, state, properties) Audio Policy Binding Customized audio business logic (audio role specific ducking rules, interrupt behaviors, ) Implement audio actions influenced by vehicle information (e.g. ALC) Dispatch policy actions to different low-level audio frameworks HW Abstraction Binding Provide portability of audio implementation across different audio hardware HW control ID mappings to expose standard control set Dispatch to HW specific binding for additional functionalities Hardware Control Bindings ALSA core generic ALSA hardware controls Implement/expose additional hardware capabilities (e.g. ADSP or Unicens) AGL AMM Dresden 3

AGL Audio Agent Architecture Proposal 4

High-level Audio Binding API Concepts Audio roles (e.g. entertainment, warning, communications, etc.) Audio endpoints (source and sink endpoints) Provide applications display name for device (e.g. UI selection) Provide applications device URI to stream to selected endpoint Automatically retrieve associated volume control for ALSA softvol URI Volume and properties (numeric (e.g. balance, EQ), or string (e.g. preset)) Audio streams (audio role assignment) Stream state (e.g. idle/running/suspended) Stream mute state Sound events (audio role assignment) Integrate sound generation with audio stream management Connect to a custom renderer (e.g. HMI events, startup/ending sound, etc., AVAS, ) AGL AMM Dresden 5

High Level Audio Binding Audio Routings Audio role specific audio endpoint enumeration and monitoring Device routings (automatic or explicit) Provided with audio role and endpoint type Selected according to config priority (and optionally current state/concurrency information) Return appropriate device URI to application Return target endpoint for volume/property changes Dynamic device handling and re-routing currently missing AGL AMM Dresden 6

High-level Audio Binding Configuration Simple audio role based configuration Preferred routings (for automatic endpoint selection) Interrupt behaviors Role priorities Supported events AGL AMM Dresden 7

Permissions, Role Privileges and Access Controls API verbs permissions Stream control Stream start/pause/resume/mute/unmute, Audio streaming Stream open/close Sound event Trigger/notify about audio asset playback Currently monitoring is allowed for everyone (but can be changed) Role privileges Different levels of privileges based on roles also possible Access controls Application can only control/affect stream and endpoints on which they have ownership Reduce potential side effects, enforce role of policy AGL AMM Dresden 8

High-level Audio Binding Policy Module Audio role specific priorities and interrupt behaviors provided by high-level binding config file HLB expose relevant state information to policy module API verbs that affect state of audio streams or endpoints must go through policy first Policy can accept or reject the change Policy implements custom business logic e.g. ducking, state changes, forbidden behaviors etc. Policy actions are dispatched to appropriate low-level technology AGL AMM Dresden 9

API Overview Endpoint enumeration GetSources / GetSinks for explicit routing Stream and routing management StreamOpen / StreamClose application streaming (e.g. media player) Stream open with source and sink can be used for routings (e.g. handsfree) Stream control Get/SetStreamState Transitions from idle, running, suspended Get/SetStreamMute Endpoints (source or sinks) Set/Get Volume Set/Get Properties GetListProperties capabilities Sound events PostSoundEvent Sound generation services GetListEvents Configuration defined available audio events Events Endpoints volume/status/property changes (e.g. from policy application) Endpoint availability changes Audio streaming changes (start/stop/pause/resume, etc.) Stream/routing activity changes (endpoint URI changes) AGL AMM Dresden 10

Simple API Usage (Start Playback) AGL AMM Dresden 11

Simple API Usage (Stop Playback) Pause/Resume sequences would be similar (without stream close) AGL AMM Dresden 12

Demo Architecture 13

Demo Use of audio role specific software volume controls Endpoint / zone selection with configurable device priorities Audio role priorities (ducking and interrupt behaviors) Sample policy Volume management Volume acceleration Active source change Active source locking Source interrupts Requirements and scenarios from https://wiki.automotivelinux.org/eg-ui-graphics-req-audiorouting AGL AMM Dresden 14

Q&A High-level audio binding and sample policy https://github.com/audiokinetic-automotive/afb-audiohighlevel Sample configuration and demonstration UI and assets https://github.com/audiokinetic-automotive/ak-demo Demonstration audio back-end (simple ALSA renderer) https://github.com/audiokinetic-automotive/afb-audiobackend Some changes and additional HAL implementation for demo https://github.com/huetaivuong/afb-aaaa Please provide feedback! AGL AMM Dresden 15