From b2721c5abcc9dc8ef1d123106abe1ed472e4e433 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Wed, 13 Aug 2025 10:25:13 -0400 Subject: [PATCH] MT#63317 update payload lengths to size_t Change-Id: Ib00570198103f93416c1b639777e30755a93646c --- daemon/codec.c | 16 ++++++++-------- daemon/media_player.c | 2 +- include/codec.h | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/daemon/codec.c b/daemon/codec.c index b00b8f6c4..c9f4e5cb1 100644 --- a/daemon/codec.c +++ b/daemon/codec.c @@ -204,7 +204,7 @@ struct codec_ssrc_handler { format_t encoder_format; int bitrate; int ptime; - int bytes_per_packet; + size_t bytes_per_packet; struct codec_scheduler csch; GString *sample_buffer; struct dtx_buffer *dtx_buffer; @@ -286,7 +286,7 @@ static tc_code (*__rtp_decode)(struct codec_ssrc_handler *ch, struct codec_ssrc_ struct transcode_packet *packet, struct media_packet *mp); static void transcode_job_free(struct transcode_job *j); static void packet_encoded_tx(struct codec_ssrc_handler *ch, struct media_packet *mp, - str *inout, char *buf, unsigned int pkt_len, int64_t pts, int64_t duration, + str *inout, char *buf, size_t pkt_len, int64_t pts, int64_t duration, const struct fraction *cr_fact); static void codec_output_rtp_seq_passthrough(struct media_packet *mp, struct codec_scheduler *csch, @@ -2439,7 +2439,7 @@ out_ch: void codec_output_rtp(struct media_packet *mp, struct codec_scheduler *csch, struct codec_handler *handler, char *buf, // bufferpool_alloc'd, room for rtp_header + filled-in payload - unsigned int payload_len, + size_t payload_len, unsigned long payload_ts, int marker, int seq, int seq_inc, int payload_type, unsigned long ts_delay) @@ -4453,7 +4453,7 @@ static struct ssrc_entry *__ssrc_handler_transcode_new(void *p) { * h->dest_pt.codec_def->bits_per_sample / 8; ilogs(codec, LOG_DEBUG, "Encoder created with clockrate %i, %i channels, using sample format %i " - "(ptime %i for %i samples per frame and %i samples (%i bytes) per packet, bitrate %i)", + "(ptime %i for %i samples per frame and %i samples (%zu bytes) per packet, bitrate %i)", ch->encoder_format.clockrate, ch->encoder_format.channels, ch->encoder_format.format, ch->ptime, ch->encoder->samples_per_frame, ch->encoder->samples_per_packet, ch->bytes_per_packet, ch->bitrate); @@ -4523,7 +4523,7 @@ static void __free_ssrc_handler(struct codec_ssrc_handler *ch) { void packet_encoded_packetize(AVPacket *pkt, struct codec_ssrc_handler *ch, struct media_packet *mp, packetizer_f pkt_f, void *pkt_f_data, const struct fraction *cr_fact, void (*tx_f)(struct codec_ssrc_handler *, struct media_packet *, str *, - char *, unsigned int, int64_t pts, int64_t duration, + char *, size_t, int64_t pts, int64_t duration, const struct fraction *cr_fact)) { // run this through our packetizer @@ -4531,9 +4531,9 @@ void packet_encoded_packetize(AVPacket *pkt, struct codec_ssrc_handler *ch, stru while (true) { // figure out how big of a buffer we need - unsigned int payload_len = MAX(MAX(pkt->size, ch->bytes_per_packet), + size_t payload_len = MAX(MAX(pkt->size, ch->bytes_per_packet), sizeof(struct telephone_event_payload)); - unsigned int pkt_len = sizeof(struct rtp_header) + payload_len + RTP_BUFFER_TAIL_ROOM; + size_t pkt_len = sizeof(struct rtp_header) + payload_len + RTP_BUFFER_TAIL_ROOM; // prepare our buffers char *buf = bufferpool_alloc(media_bufferpool, pkt_len); char *payload = buf + sizeof(struct rtp_header); @@ -4604,7 +4604,7 @@ static void codec_output_rtp_seq_own(struct media_packet *mp, struct codec_sched } static void packet_encoded_tx(struct codec_ssrc_handler *ch, struct media_packet *mp, - str *inout, char *buf, unsigned int pkt_len, int64_t pts, int64_t duration, + str *inout, char *buf, size_t pkt_len, int64_t pts, int64_t duration, const struct fraction *cr_fact) { // check special payloads diff --git a/daemon/media_player.c b/daemon/media_player.c index 0d27635ff..dc4a66b98 100644 --- a/daemon/media_player.c +++ b/daemon/media_player.c @@ -840,7 +840,7 @@ static void media_player_cache_entry_decoder_thread(void *p) { } static void packet_encoded_cache(struct codec_ssrc_handler *ch, struct media_packet *mp, - str *s, char *buf, unsigned int pkt_len, + str *s, char *buf, size_t pkt_len, int64_t pts, int64_t dur, const struct fraction *cr_fact) { struct media_player_cache_entry *entry = mp->cache_entry; diff --git a/include/codec.h b/include/codec.h index 7b0a762c4..b27fb8e1a 100644 --- a/include/codec.h +++ b/include/codec.h @@ -255,12 +255,12 @@ void codec_handlers_stop(codec_handlers_q *, struct call_media *sink, bool clear void packet_encoded_packetize(AVPacket *pkt, struct codec_ssrc_handler *ch, struct media_packet *mp, packetizer_f pkt_f, void *pkt_f_data, const struct fraction *cr_fact, void (*tx_f)(struct codec_ssrc_handler *, struct media_packet *, str *, - char *, unsigned int, int64_t pts, int64_t duration, + char *, size_t, int64_t pts, int64_t duration, const struct fraction *cr_fact)); void codec_output_rtp(struct media_packet *mp, struct codec_scheduler *, struct codec_handler *handler, // normally == ch->handler except for DTMF char *buf, // malloc'd, room for rtp_header + filled-in payload - unsigned int payload_len, + size_t payload_len, unsigned long payload_ts, int marker, int seq, int seq_inc, int payload_type, unsigned long ts_delay);