Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
Loading...
Searching...
No Matches
populator.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2022 Roc Streaming authors
3 *
4 * This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
7 */
8
9//! @file roc_rtp/populator.h
10//! @brief RTP populator.
11
12#ifndef ROC_RTP_POPULATOR_H_
13#define ROC_RTP_POPULATOR_H_
14
18#include "roc_packet/ireader.h"
19
20namespace roc {
21namespace rtp {
22
23//! RTP populator.
25public:
26 //! Initialize.
28 audio::IFrameDecoder& decoder,
29 const audio::SampleSpec& sample_spec);
30
31 //! Read next packet.
33
34private:
35 packet::IReader& reader_;
36 audio::IFrameDecoder& decoder_;
37 const audio::SampleSpec sample_spec_;
38};
39
40} // namespace rtp
41} // namespace roc
42
43#endif // ROC_RTP_POPULATOR_H_
Audio frame decoder interface.
Sample stream specification. Defines sample rate and channel layout.
Definition sample_spec.h:24
Base class for non-copyable objects.
Definition noncopyable.h:23
Packet reader interface.
Definition ireader.h:21
RTP populator.
Definition populator.h:24
virtual packet::PacketPtr read()
Read next packet.
Populator(packet::IReader &reader, audio::IFrameDecoder &decoder, const audio::SampleSpec &sample_spec)
Initialize.
Audio frame decoder interface.
Packet reader interface.
Root namespace.
Non-copyable object.
Sample specifications.