janus: refactoring

This commit is contained in:
Maxim Devaev
2026-05-15 21:15:50 +03:00
parent 6d63f8e5d2
commit f32e2569d2

View File

@@ -101,20 +101,17 @@ void us_rtpv_wrap(us_rtpv_s *rtpv, const us_frame_s *frame, bool zero_playout_de
void _rtpv_process_nalu(us_rtpv_s *rtpv, const u8 *data, uz size, u32 pts, bool marked) { void _rtpv_process_nalu(us_rtpv_s *rtpv, const u8 *data, uz size, u32 pts, bool marked) {
const uint ref_idc = (data[0] >> 5) & 3; const uint ref_idc = (data[0] >> 5) & 3;
const uint type = data[0] & 0x1F; const uint type = data[0] & 0x1F;
u8 *dg = rtpv->rtp->datagram; us_rtp_s *rtp = rtpv->rtp;
u8 *dg = rtp->datagram;
if (size + US_RTP_HEADER_SIZE <= US_RTP_TOTAL_SIZE) { if (size + US_RTP_HEADER_SIZE <= US_RTP_TOTAL_SIZE) {
us_rtp_write_header(rtpv->rtp, pts, marked); us_rtp_write_header(rtp, pts, marked);
memcpy(dg + US_RTP_HEADER_SIZE, data, size); memcpy(dg + US_RTP_HEADER_SIZE, data, size);
rtpv->rtp->used = size + US_RTP_HEADER_SIZE; rtp->used = size + US_RTP_HEADER_SIZE;
if (type == 7 || type == 8) { // SPS || PPS const bool sps_or_pps = (type == 7 || type == 8);
rtpv->rtp->first_of_frame = false; rtp->first_of_frame = !sps_or_pps;
rtpv->rtp->last_of_frame = false; rtp->last_of_frame = !sps_or_pps;
} else { rtpv->callback(rtp);
rtpv->rtp->first_of_frame = true;
rtpv->rtp->last_of_frame = true;
}
rtpv->callback(rtpv->rtp);
return; return;
} }
@@ -131,7 +128,7 @@ void _rtpv_process_nalu(us_rtpv_s *rtpv, const u8 *data, uz size, u32 pts, bool
frag_size = remaining; frag_size = remaining;
} }
us_rtp_write_header(rtpv->rtp, pts, (marked && last)); us_rtp_write_header(rtp, pts, (marked && last));
dg[US_RTP_HEADER_SIZE] = 28 | (ref_idc << 5); dg[US_RTP_HEADER_SIZE] = 28 | (ref_idc << 5);
@@ -145,10 +142,10 @@ void _rtpv_process_nalu(us_rtpv_s *rtpv, const u8 *data, uz size, u32 pts, bool
dg[US_RTP_HEADER_SIZE + 1] = fu; dg[US_RTP_HEADER_SIZE + 1] = fu;
memcpy(dg + fu_overhead, src, frag_size); memcpy(dg + fu_overhead, src, frag_size);
rtpv->rtp->used = fu_overhead + frag_size; rtp->used = fu_overhead + frag_size;
rtpv->rtp->first_of_frame = first; rtp->first_of_frame = first;
rtpv->rtp->last_of_frame = last; rtp->last_of_frame = last;
rtpv->callback(rtpv->rtp); rtpv->callback(rtp);
src += frag_size; src += frag_size;
remaining -= frag_size; remaining -= frag_size;