Viam C++ SDK current
Loading...
Searching...
No Matches
audio_in_client.hpp
Go to the documentation of this file.
1
4#pragma once
5
6#include <viam/api/component/audioin/v1/audioin.grpc.pb.h>
7
9#include <viam/sdk/rpc/dial.hpp>
10
11namespace viam {
12namespace sdk {
13namespace impl {
14
18class AudioInClient : public AudioIn {
19 public:
20 using interface_type = AudioIn;
21 AudioInClient(std::string name, const ViamChannel& channel);
22
23 const ViamChannel& channel() const {
24 return *channel_;
25 }
26
27 void get_audio(std::string const& codec,
28 std::function<bool(audio_chunk&& chunk)> const& chunk_handler,
29 double const& duration_seconds,
30 int64_t const& previous_timestamp,
31 const ProtoStruct& extra) override;
32
33 audio_properties get_properties(const ProtoStruct& extra) override;
34 ProtoStruct do_command(const ProtoStruct& command) override;
35 std::vector<GeometryConfig> get_geometries(const ProtoStruct& extra) override;
36
40
41 private:
42 using StubType = viam::component::audioin::v1::AudioInService::StubInterface;
43 std::unique_ptr<StubType> stub_;
44 const ViamChannel* channel_;
45};
46
47} // namespace impl
48} // namespace sdk
49} // namespace viam
Defines a AudioIn component.
An AudioIn is a deivce that can take audio input.
Definition audio_in.hpp:24
audio_properties get_properties()
Returns properties of the audio in device (supported codecs, sample rate, number of channels)
Definition audio_in.hpp:74
std::vector< GeometryConfig > get_geometries()
Returns GeometryConfigs associated with the calling AudioIn.
Definition audio_in.hpp:90
void get_audio(std::string const &codec, std::function< bool(audio_chunk &&chunk)> const &chunk_handler, double const &duration_seconds, int64_t const &previous_timestamp)
Get a stream of audio from the device until completed or cancelled.
Definition audio_in.hpp:48
virtual std::string name() const
Return the resource's name.
Definition dial.hpp:25
gRPC client implementation of a AudioIn component.
Definition audio_in_client.hpp:18
ProtoStruct do_command(const ProtoStruct &command) override
void get_audio(std::string const &codec, std::function< bool(audio_chunk &&chunk)> const &chunk_handler, double const &duration_seconds, int64_t const &previous_timestamp, const ProtoStruct &extra) override
Get a stream of audio from the device until completed or cancelled.
audio_properties get_properties(const ProtoStruct &extra) override
Returns properties of the audio in device (supported codecs, sample rate, number of channels)
std::vector< GeometryConfig > get_geometries(const ProtoStruct &extra) override
Returns GeometryConfigs associated with the calling AudioIn.
A sequential chunk of audio data with timing information for continuous audio streams.
Definition audio_in.hpp:29
Properties of an audio component (input or output)
Definition audio.hpp:24