VISR
0.11.7
Versatile Interactive Scene Renderer
audio_network_encoder.hpp
Go to the documentation of this file.
1
/* Copyright Institute of Sound and Vibration Research - All rights reserved */
2
3
#ifndef VISR_APPS_AUDIO_NETWORK_STREAMER_AUDIO_NETWORK_ENCODER_HPP_INCLUDED
4
#define VISR_APPS_AUDIO_NETWORK_STREAMER_AUDIO_NETWORK_ENCODER_HPP_INCLUDED
5
6
#include <
libvisr/constants.hpp
>
7
#include <
libvisr/atomic_component.hpp
>
8
#include <
libvisr/audio_input.hpp
>
9
#include <
libvisr/parameter_output.hpp
>
10
11
#include <
libpml/message_queue_protocol.hpp
>
12
#include <
libpml/string_parameter.hpp
>
13
14
#include <memory>
// for std::unique_ptr
15
#include <vector>
16
17
namespace
visr
18
{
19
// forward declarations
20
namespace
pml
21
{
22
class
StringParameter
;
23
}
24
namespace
apps
25
{
26
namespace
audio_network_streamer
27
{
28
31
class
AudioNetworkEncoder
:
public
AtomicComponent
32
{
33
public
:
40
explicit
AudioNetworkEncoder
(
SignalFlowContext
const
& context,
41
char
const
*
name
,
42
CompositeComponent
* parent );
43
47
~AudioNetworkEncoder
();
48
52
void
setup
( std::size_t width, std::size_t blockLength );
53
57
void
process
()
override
;
58
59
private
:
60
64
std::string encodeSignal(
SampleType
const
* signal, std::size_t length );
65
69
AudioInput
mInput;
70
71
using
OutputType
=
ParameterOutput<pml::MessageQueueProtocol, pml::StringParameter >
;
72
73
std::vector<std::unique_ptr<OutputType> > mMessageOutputs;
74
75
std::size_t mBlockLength;
76
};
77
78
}
// audio_network_streamer
79
}
// namespace apps
80
}
// namespace visr
81
82
#endif // #ifndef VISR_APPS_AUDIO_NETWORK_STREAMER_AUDIO_NETWORK_ENCODER_HPP_INCLUDED
visr::ParameterOutput
Definition:
parameter_output.hpp:45
visr::apps::audio_network_streamer::AudioNetworkEncoder::setup
void setup(std::size_t width, std::size_t blockLength)
Definition:
audio_network_encoder.cpp:26
visr::apps::audio_network_streamer::AudioNetworkEncoder
Definition:
audio_network_encoder.hpp:31
string_parameter.hpp
visr::Component::name
std::string const & name() const
Definition:
component.cpp:52
visr
Definition:
options.cpp:10
visr::AtomicComponent
Definition:
atomic_component.hpp:21
visr::CompositeComponent
Definition:
composite_component.hpp:29
visr::apps::audio_network_streamer::AudioNetworkEncoder::process
void process() override
Definition:
audio_network_encoder.cpp:35
parameter_output.hpp
visr::apps::audio_network_streamer::AudioNetworkEncoder::~AudioNetworkEncoder
~AudioNetworkEncoder()
visr::SignalFlowContext
Definition:
signal_flow_context.hpp:15
visr::AudioInputT< SampleType >
visr::pml::StringParameter
Definition:
string_parameter.hpp:28
constants.hpp
visr::apps::audio_network_streamer::AudioNetworkEncoder::AudioNetworkEncoder
AudioNetworkEncoder(SignalFlowContext const &context, char const *name, CompositeComponent *parent)
Definition:
audio_network_encoder.cpp:16
atomic_component.hpp
message_queue_protocol.hpp
visr::SampleType
float SampleType
Definition:
constants.hpp:14
audio_input.hpp
src
apps
network_audio_streamer
audio_network_encoder.hpp
Generated on Mon Nov 12 2018 12:57:38 for VISR by
1.8.14