6#include <viam/api/component/audioout/v1/audioout.grpc.pb.h>
9#include <viam/sdk/rpc/dial.hpp>
28 void play(std::vector<uint8_t>
const& audio_data,
29 boost::optional<audio_info> info,
30 const ProtoStruct& extra)
override;
33 std::function<boost::optional<std::vector<uint8_t>>()> chunk_source,
34 const ProtoStruct& extra)
override;
38 ProtoStruct
do_command(
const ProtoStruct& command)
override;
41 std::vector<GeometryConfig>
get_geometries(
const ProtoStruct& extra)
override;
49 using StubType = viam::component::audioout::v1::AudioOutService::StubInterface;
50 std::unique_ptr<StubType> stub_;
Defines an AudioOut component.
An AudioOut is a device that can output audio.
Definition audio_out.hpp:28
void play(std::vector< uint8_t > const &audio_data, boost::optional< audio_info > info)
Play audio data.
Definition audio_out.hpp:36
std::vector< GeometryConfig > get_geometries()
Definition audio_out.hpp:89
void play_stream(audio_info info, std::function< boost::optional< std::vector< uint8_t > >()> chunk_source)
Stream audio chunks to the audioout component for playback.
Definition audio_out.hpp:53
audio_properties get_properties()
Returns properties of the audio out device (supported codecs, sample rate, number of channels)
Definition audio_out.hpp:69
virtual std::string name() const
Return the resource's name.
gRPC client implementation of an AudioOut component.
Definition audio_out_client.hpp:18
ProtoStruct do_command(const ProtoStruct &command) override
Send/receive arbitrary commands to the resource.
void play_stream(audio_info info, std::function< boost::optional< std::vector< uint8_t > >()> chunk_source, const ProtoStruct &extra) override
Stream audio chunks to the audioout component for playback.
audio_properties get_properties(const ProtoStruct &extra) override
Returns properties of the audio out device (supported codecs, sample rate, number of channels)
std::vector< GeometryConfig > get_geometries(const ProtoStruct &extra) override
Returns GeometryConfigs associated with the calling audioout.
void play(std::vector< uint8_t > const &audio_data, boost::optional< audio_info > info, const ProtoStruct &extra) override
Play audio through the audioout component.
ProtoStruct get_status() override
Get the status of the audio_out.
Information about a piece of audio data.
Definition audio.hpp:32
Properties of an audio component (input or output)
Definition audio.hpp:24