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 <grpcpp/channel.h>
7
8#include <viam/api/component/audioin/v1/audioin.grpc.pb.h>
9
11
12namespace viam {
13namespace sdk {
14namespace impl {
15
19class AudioInClient : public AudioIn {
20 public:
21 using interface_type = AudioIn;
22 AudioInClient(std::string name, std::shared_ptr<grpc::Channel> channel);
23
24 void get_audio(std::string const& codec,
25 std::function<bool(audio_chunk&& chunk)> const& chunk_handler,
26 double const& duration_seconds,
27 int64_t const& previous_timestamp,
28 const ProtoStruct& extra) override;
29
30 audio_properties get_properties(const ProtoStruct& extra) override;
31 ProtoStruct do_command(const ProtoStruct& command) override;
32 std::vector<GeometryConfig> get_geometries(const ProtoStruct& extra) override;
33
37
38 private:
39 using StubType = viam::component::audioin::v1::AudioInService::StubInterface;
40 std::unique_ptr<StubType> stub_;
41 std::shared_ptr<grpc::Channel> channel_;
42};
43
44} // namespace impl
45} // namespace sdk
46} // 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.
gRPC client implementation of a AudioIn component.
Definition audio_in_client.hpp:19
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