11#include <promeki/config.h>
12#if PROMEKI_ENABLE_NETWORK
25PROMEKI_NAMESPACE_BEGIN
48struct RtpAncPacketizerContext {
60 uint32_t clockRateHz = 90000;
64 RtpPayloadAnc *payload =
nullptr;
70 Queue<RtpPacketBatch> *txPacketQueue =
nullptr;
84 RtpPayloadAnc::FieldIndication keepAliveField =
85 RtpPayloadAnc::FieldIndication::Progressive;
100 bool lltmEnabled =
false;
111 const RtpMediaClock *mediaClock =
nullptr;
120 Duration trOffset = Duration::zero();
132 Duration tD = Duration::zero();
167class RtpAncPacketizerThread :
public RtpPacketizerThread {
181 RtpAncPacketizerThread(
182 RtpAncPacketizerContext ctx,
183 const String &name = String(
"RtpAncPkt"),
184 size_t depth = DefaultPayloadQueueDepth);
186 ~RtpAncPacketizerThread()
override;
188 RtpAncPacketizerThread(
const RtpAncPacketizerThread &) =
delete;
189 RtpAncPacketizerThread &operator=(
const RtpAncPacketizerThread &) =
delete;
193 void packetizeForTest(
const RtpFrameWork &work) { packetize(work); }
196 const RtpAncPacketizerContext &context()
const {
return _ctx; }
199 void packetize(
const RtpFrameWork &work)
override;
202 RtpAncPacketizerContext _ctx;