mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-28 04:31:06 +00:00
rtpjitterbuffer: fix crash on some 32-bit systems
Make sure to pass right number of bits to gst_structure_new() which is a vararg function. Fixes elements/rtpaux unit test on ppc32.
This commit is contained in:
parent
146702e226
commit
b02d73a0ed
1 changed files with 12 additions and 6 deletions
|
@ -2757,7 +2757,8 @@ do_expected_timeout (GstRtpJitterBuffer * jitterbuffer, TimerData * timer,
|
||||||
{
|
{
|
||||||
GstRtpJitterBufferPrivate *priv = jitterbuffer->priv;
|
GstRtpJitterBufferPrivate *priv = jitterbuffer->priv;
|
||||||
GstEvent *event;
|
GstEvent *event;
|
||||||
guint delay;
|
guint delay, delay_ms, avg_rtx_rtt_ms;
|
||||||
|
guint rtx_retry_timeout_ms, rtx_retry_period_ms;
|
||||||
GstClockTime rtx_retry_period;
|
GstClockTime rtx_retry_period;
|
||||||
GstClockTime rtx_retry_timeout;
|
GstClockTime rtx_retry_timeout;
|
||||||
GstClock *clock;
|
GstClock *clock;
|
||||||
|
@ -2773,18 +2774,23 @@ do_expected_timeout (GstRtpJitterBuffer * jitterbuffer, TimerData * timer,
|
||||||
GST_TIME_ARGS (rtx_retry_period));
|
GST_TIME_ARGS (rtx_retry_period));
|
||||||
|
|
||||||
delay = timer->rtx_delay + timer->rtx_retry;
|
delay = timer->rtx_delay + timer->rtx_retry;
|
||||||
|
|
||||||
|
delay_ms = GST_TIME_AS_MSECONDS (delay);
|
||||||
|
rtx_retry_timeout_ms = GST_TIME_AS_MSECONDS (rtx_retry_timeout);
|
||||||
|
rtx_retry_period_ms = GST_TIME_AS_MSECONDS (rtx_retry_period);
|
||||||
|
avg_rtx_rtt_ms = GST_TIME_AS_MSECONDS (priv->avg_rtx_rtt);
|
||||||
|
|
||||||
event = gst_event_new_custom (GST_EVENT_CUSTOM_UPSTREAM,
|
event = gst_event_new_custom (GST_EVENT_CUSTOM_UPSTREAM,
|
||||||
gst_structure_new ("GstRTPRetransmissionRequest",
|
gst_structure_new ("GstRTPRetransmissionRequest",
|
||||||
"seqnum", G_TYPE_UINT, (guint) timer->seqnum,
|
"seqnum", G_TYPE_UINT, (guint) timer->seqnum,
|
||||||
"running-time", G_TYPE_UINT64, timer->rtx_base,
|
"running-time", G_TYPE_UINT64, timer->rtx_base,
|
||||||
"delay", G_TYPE_UINT, GST_TIME_AS_MSECONDS (delay),
|
"delay", G_TYPE_UINT, delay_ms,
|
||||||
"retry", G_TYPE_UINT, timer->num_rtx_retry,
|
"retry", G_TYPE_UINT, timer->num_rtx_retry,
|
||||||
"frequency", G_TYPE_UINT, GST_TIME_AS_MSECONDS (rtx_retry_timeout),
|
"frequency", G_TYPE_UINT, rtx_retry_timeout_ms,
|
||||||
"period", G_TYPE_UINT, GST_TIME_AS_MSECONDS (rtx_retry_period),
|
"period", G_TYPE_UINT, rtx_retry_period_ms,
|
||||||
"deadline", G_TYPE_UINT, priv->latency_ms,
|
"deadline", G_TYPE_UINT, priv->latency_ms,
|
||||||
"packet-spacing", G_TYPE_UINT64, priv->packet_spacing,
|
"packet-spacing", G_TYPE_UINT64, priv->packet_spacing,
|
||||||
"avg-rtt", G_TYPE_UINT, GST_TIME_AS_MSECONDS (priv->avg_rtx_rtt),
|
"avg-rtt", G_TYPE_UINT, avg_rtx_rtt_ms, NULL));
|
||||||
NULL));
|
|
||||||
|
|
||||||
priv->num_rtx_requests++;
|
priv->num_rtx_requests++;
|
||||||
timer->num_rtx_retry++;
|
timer->num_rtx_retry++;
|
||||||
|
|
Loading…
Reference in a new issue