blob: 3ac94aa96fb8d5d78684a2a04c1628d02453c804 [file] [log] [blame]
// Copyright 2022 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
library fuchsia.hardware.audio.signalprocessing;
/// For an overview of the signal processing protocols see
/// [Audio Signal Processing](//docs/concepts/drivers/driver_architectures/audio_drivers/audio_signal_processing.md)
closed protocol Connector {
/// Connect to a `SignalProcessing` protocol.
/// Multiple connections may be supported, if a new connection request is not supported, i.e.
/// the maximum number of connections have already been created, for instance one, then the
/// `protocol` channel (not the channel upon which `SignalProcessingConnect` is being called)
/// will be closed with a `ZX_ERR_ALREADY_BOUND` epitaph.
/// If signal processing is not supported at all, then the `protocol` channel (again, not the
/// channel upon which `SignalProcessingConnect` is being called) will be closed with a
/// `ZX_ERR_NOT_SUPPORTED` epitaph.
/// This method is named `SignalProcessingConnect` instead of `Connect` because this protocol
/// is intended to be composed, and hence the more verbose name allows differentiation and
/// improved clarity.
strict SignalProcessingConnect(resource struct {
protocol server_end:SignalProcessing;
});
};
service ConnectorService {
connector client_end:Connector;
};