MillicastSDK
2.7.0
Toggle main menu visibility
Loading...
Searching...
No Matches
encoded_frames.h
Go to the documentation of this file.
1
#ifndef MILLICAST_API_FRAME_TRANSFORMER_H
2
#define MILLICAST_API_FRAME_TRANSFORMER_H
3
4
#ifdef __cplusplus
5
6
#include <functional>
7
#include <optional>
8
9
#include "
exports.h
"
10
#include "
span.h
"
11
12
namespace
millicast {
13
14
class
MILLICAST_API
EncodedFrame {
15
public
:
20
[[nodiscard]]
virtual
Span<const uint8_t> data()
const
= 0;
21
29
virtual
void
set_metadata(Span<const uint8_t> metadata) = 0;
30
37
[[nodiscard]]
virtual
Span<const uint8_t> metadata()
const
= 0;
38
43
[[nodiscard]]
virtual
uint32_t timestamp()
const
= 0;
44
49
[[nodiscard]]
virtual
uint32_t ssrc()
const
= 0;
50
};
51
52
class
MILLICAST_API
EncodedVideoFrame :
public
EncodedFrame {
53
public
:
54
virtual
~EncodedVideoFrame() =
default
;
55
60
[[nodiscard]]
virtual
int
width()
const
= 0;
61
66
[[nodiscard]]
virtual
int
height()
const
= 0;
67
72
[[nodiscard]]
virtual
bool
is_keyframe()
const
= 0;
73
78
[[nodiscard]]
virtual
int64_t frame_id()
const
= 0;
79
85
[[nodiscard]]
virtual
int
temporal_index()
const
= 0;
86
92
[[nodiscard]]
virtual
int
spatial_index()
const
= 0;
93
};
94
95
class
MILLICAST_API
EncodedAudioFrame :
public
EncodedFrame {
96
public
:
97
virtual
~EncodedAudioFrame() =
default
;
98
103
[[nodiscard]]
virtual
uint16_t sequence_number()
const
= 0;
104
113
[[nodiscard]]
virtual
uint64_t absolute_capture_time()
const
= 0;
114
};
115
119
using
EncodedVideoFrameCallback = std::function<void(EncodedVideoFrame&)>;
120
using
EncodedAudioFrameCallback = std::function<void(EncodedAudioFrame&)>;
121
};
// namespace millicast
122
123
#endif
// __cplusplus
124
#endif
/* MILLICAST_API_FRAME_TRANSFORMER_H */
exports.h
MILLICAST_API
#define MILLICAST_API
Definition
exports.h:51
span.h
api
millicast-sdk
encoded_frames.h
Generated by
1.18.0