// Copyright 2019 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;

[Layout = "Simple"]
protocol Device {
    // Note: this method obtains a channel to the codec device which
    // communicates using a legacy custom binary serialized format.  Once the
    // system has been updated to use FIDL as its serialization format instead
    // of the legacy custom format, this method can be updated to use an
    // interface request instead of returning a channel.
    GetChannel() -> (handle<channel> ch);
};
