uint32_t timestamp;
};
-static PayloadContext *h261_new_context(void)
+static av_cold PayloadContext *h261_new_context(void)
{
return av_mallocz(sizeof(PayloadContext));
}
*dyn_buf = NULL;
}
-static void h261_free_context(PayloadContext *pl_ctx)
+static av_cold void h261_free_context(PayloadContext *pl_ctx)
{
/* return if context is invalid */
if (!pl_ctx)
int sbit, ebit, gobn, mbap, quant;
int res;
- //av_log(ctx, AV_LOG_DEBUG, "got h261 RTP packet with time: %u\n", timestamp);
-
/* drop data of previous packets in case of non-continuous (loss) packet stream */
if (data->buf && data->timestamp != *timestamp) {
h261_free_dyn_buffer(&data->buf);
}
- /* sanity check for size of input packet */
- if (len < 5 /* 4 bytes header and 1 byte payload at least */) {
- av_log(ctx, AV_LOG_ERROR, "Too short H.261 RTP packet\n");
+ /* sanity check for size of input packet: 1 byte payload at least */
+ if (len < RTP_H261_PAYLOAD_HEADER_SIZE + 1) {
+ av_log(ctx, AV_LOG_ERROR, "Too short RTP/H.261 packet, got %d bytes\n", len);
return AVERROR_INVALIDDATA;
}