8#include <boost/optional/optional.hpp>
10#include <viam/sdk/common/audio.hpp>
11#include <viam/sdk/common/proto_value.hpp>
12#include <viam/sdk/common/utils.hpp>
13#include <viam/sdk/config/resource.hpp>
34 inline void play(std::vector<uint8_t>
const& audio_data, boost::optional<audio_info> info) {
35 return play(audio_data, info, {});
43 virtual void play(std::vector<uint8_t>
const& audio_data,
44 boost::optional<audio_info> info,
45 const ProtoStruct& extra) = 0;
61 virtual ProtoStruct
do_command(
const ProtoStruct& command) = 0;
72 virtual std::vector<GeometryConfig>
get_geometries(
const ProtoStruct& extra) = 0;
Definition resource_api.hpp:21
An AudioOut is a device that can output audio.
Definition audio_out.hpp:26
virtual void play(std::vector< uint8_t > const &audio_data, boost::optional< audio_info > info, const ProtoStruct &extra)=0
Play audio through the audioout component.
API api() const override
Returns the API associated with a particular resource.
void play(std::vector< uint8_t > const &audio_data, boost::optional< audio_info > info)
Play audio data.
Definition audio_out.hpp:34
std::vector< GeometryConfig > get_geometries()
Definition audio_out.hpp:65
virtual audio_properties get_properties(const ProtoStruct &extra)=0
Returns properties of the audio out device (supported codecs, sample rate, number of channels)
virtual ProtoStruct do_command(const ProtoStruct &command)=0
Send/receive arbitrary commands to the resource.
audio_properties get_properties()
Returns properties of the audio out device (supported codecs, sample rate, number of channels)
Definition audio_out.hpp:49
virtual std::vector< GeometryConfig > get_geometries(const ProtoStruct &extra)=0
Returns GeometryConfigs associated with the calling audioout.
Definition component.hpp:10
virtual std::string name() const
Return the resource's name.
Definition resource_api.hpp:46
Information about a piece of audio data.
Definition audio.hpp:32
Properties of an audio component (input or output)
Definition audio.hpp:24