Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
isequencer.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2023 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_packet/isequencer.h
10
//! @brief Packet sequencer.
11
12
#ifndef ROC_PACKET_ISEQUENCER_H_
13
#define ROC_PACKET_ISEQUENCER_H_
14
15
#include "
roc_core/time.h
"
16
#include "
roc_packet/packet.h
"
17
18
namespace
roc
{
19
namespace
packet {
20
21
//! Packet sequencer.
22
//! Fills protocol-specific packet headers to form a continous sequence.
23
//! For example, RTP sequencer fills packet seqnums and timestamps.
24
class
ISequencer
{
25
public
:
26
virtual
~
ISequencer
();
27
28
//! Fill next packet.
29
virtual
void
30
next
(
Packet
& packet,
core::nanoseconds_t
capture_ts,
stream_timestamp_t
duration) = 0;
31
};
32
33
}
// namespace packet
34
}
// namespace roc
35
36
#endif
// ROC_PACKET_ISEQUENCER_H_
roc::packet::ISequencer
Packet sequencer. Fills protocol-specific packet headers to form a continous sequence....
Definition:
isequencer.h:24
roc::packet::ISequencer::next
virtual void next(Packet &packet, core::nanoseconds_t capture_ts, stream_timestamp_t duration)=0
Fill next packet.
roc::packet::Packet
Packet.
Definition:
packet.h:39
roc::core::nanoseconds_t
int64_t nanoseconds_t
Nanoseconds.
Definition:
time.h:58
roc::packet::stream_timestamp_t
uint32_t stream_timestamp_t
Packet stream timestamp.
Definition:
units.h:36
roc
Root namespace.
packet.h
Packet.
time.h
Time definitions.
roc_packet
isequencer.h
Generated by
1.9.1