forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
media-libs/gst-plugins-good: fix potential 32bit test failures
Closes: https://bugs.gentoo.org/661528 Package-Manager: Portage-2.3.43, Repoman-2.3.10
- Loading branch information
Showing
2 changed files
with
114 additions
and
0 deletions.
There are no files selected for viewing
112 changes: 112 additions & 0 deletions
112
media-libs/gst-plugins-good/files/1.14.1-fix-32bit-rtpstorage-test.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,112 @@ | ||
From 48dd93662d6c16fc5967ef4386a63db41683142d Mon Sep 17 00:00:00 2001 | ||
From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= | ||
Date: Sun, 27 May 2018 20:29:47 +0100 | ||
Subject: tests: rtpstorage: fix potential crashes / test failures on 32-bit | ||
|
||
Pass 64 bits to g_object_set() for 64-bit integer properties like | ||
rtpstorage's "size-time" property. | ||
|
||
https://bugzilla.gnome.org/show_bug.cgi?id=796429 | ||
--- | ||
tests/check/elements/rtpstorage.c | 21 +++++++++++---------- | ||
tests/check/elements/rtpulpfec.c | 3 ++- | ||
2 files changed, 13 insertions(+), 11 deletions(-) | ||
|
||
diff --git a/tests/check/elements/rtpstorage.c b/tests/check/elements/rtpstorage.c | ||
index 4a1d60f..e80b212 100644 | ||
--- a/tests/check/elements/rtpstorage.c | ||
+++ b/tests/check/elements/rtpstorage.c | ||
@@ -98,16 +98,17 @@ GST_START_TEST (rtpstorage_resize) | ||
guint i, j; | ||
GstBuffer *bufin, *bufout, *bufs[10]; | ||
GstHarness *h = gst_harness_new ("rtpstorage"); | ||
+ | ||
gst_harness_set_src_caps_str (h, "application/x-rtp"); | ||
|
||
- g_object_set (h->element, "size-time", 0, NULL); | ||
+ g_object_set (h->element, "size-time", (guint64) 0, NULL); | ||
bufin = create_rtp_packet (96, 0xabe2b0b, 0x111111, 0); | ||
bufout = gst_harness_push_and_pull (h, bufin); | ||
fail_unless (bufin == bufout); | ||
fail_unless (gst_buffer_is_writable (bufout)); | ||
|
||
- g_object_set (h->element, "size-time", | ||
- (G_N_ELEMENTS (bufs) - 1) * RTP_PACKET_DUR, NULL); | ||
+ g_object_set (h->element, | ||
+ "size-time", (guint64) (G_N_ELEMENTS (bufs) - 1) * RTP_PACKET_DUR, NULL); | ||
|
||
// Pushing 10 buffers all of them should have ref. count =2 | ||
for (i = 0; i < G_N_ELEMENTS (bufs); ++i) { | ||
@@ -139,7 +140,7 @@ GST_START_TEST (rtpstorage_stop_redundant_packets) | ||
GstHarness *h = gst_harness_new ("rtpstorage"); | ||
GstBuffer *bufinp; | ||
|
||
- g_object_set (h->element, "size-time", 2 * RTP_PACKET_DUR, NULL); | ||
+ g_object_set (h->element, "size-time", (guint64) 2 * RTP_PACKET_DUR, NULL); | ||
gst_harness_set_src_caps_str (h, "application/x-rtp"); | ||
|
||
bufinp = create_rtp_packet (96, 0xabe2b0b, 0x111111, 0); | ||
@@ -159,7 +160,7 @@ GST_START_TEST (rtpstorage_unknown_ssrc) | ||
{ | ||
GstBufferList *bufs_out; | ||
GstHarness *h = gst_harness_new ("rtpstorage"); | ||
- g_object_set (h->element, "size-time", RTP_PACKET_DUR, NULL); | ||
+ g_object_set (h->element, "size-time", (guint64) RTP_PACKET_DUR, NULL); | ||
gst_harness_set_src_caps_str (h, "application/x-rtp"); | ||
|
||
/* No packets has been pushed through yet */ | ||
@@ -182,7 +183,7 @@ GST_START_TEST (rtpstorage_packet_not_lost) | ||
GstBuffer *buf; | ||
GstBufferList *bufs_out; | ||
GstHarness *h = gst_harness_new ("rtpstorage"); | ||
- g_object_set (h->element, "size-time", 10 * RTP_PACKET_DUR, NULL); | ||
+ g_object_set (h->element, "size-time", (guint64) 10 * RTP_PACKET_DUR, NULL); | ||
gst_harness_set_src_caps_str (h, "application/x-rtp"); | ||
|
||
/* Pushing through 2 frames + 2 FEC */ | ||
@@ -212,7 +213,7 @@ GST_START_TEST (test_rtpstorage_put_recovered_packet) | ||
GstBuffer *bufs_in[4]; | ||
GstBufferList *bufs_out; | ||
GstHarness *h = gst_harness_new ("rtpstorage"); | ||
- g_object_set (h->element, "size-time", 10 * RTP_PACKET_DUR, NULL); | ||
+ g_object_set (h->element, "size-time", (guint64) 10 * RTP_PACKET_DUR, NULL); | ||
gst_harness_set_src_caps_str (h, "application/x-rtp"); | ||
|
||
/* Pushing through 2 frames + 2 FEC | ||
@@ -331,7 +332,7 @@ _multiple_ssrcs_test (guint16 nth_to_loose, | ||
guint16 stream0_seq_start = 200; | ||
guint16 stream1_seq_start = 65529; | ||
GstHarness *h = gst_harness_new ("rtpstorage"); | ||
- g_object_set (h->element, "size-time", 12 * RTP_PACKET_DUR, NULL); | ||
+ g_object_set (h->element, "size-time", (guint64) 12 * RTP_PACKET_DUR, NULL); | ||
gst_harness_set_src_caps_str (h, "application/x-rtp"); | ||
|
||
_single_ssrc_test (h, 0x0abe2b0b, stream0_seq_start, | ||
@@ -453,8 +454,8 @@ GST_START_TEST (rtpstorage_stress) | ||
StressTestData test_data; | ||
guint seed, i, total, requested; | ||
GstHarness *h = gst_harness_new ("rtpstorage"); | ||
- g_object_set (h->element, "size-time", | ||
- STRESS_TEST_STORAGE_DEPTH * RTP_PACKET_DUR, NULL); | ||
+ g_object_set (h->element, | ||
+ "size-time", (guint64) STRESS_TEST_STORAGE_DEPTH * RTP_PACKET_DUR, NULL); | ||
|
||
/* The stress test pushes buffers with STRESS_TEST_SSRCS different | ||
* ssrcs from one thread and requests packets for FEC recovery from | ||
diff --git a/tests/check/elements/rtpulpfec.c b/tests/check/elements/rtpulpfec.c | ||
index e0fa972..57de5cd 100644 | ||
--- a/tests/check/elements/rtpulpfec.c | ||
+++ b/tests/check/elements/rtpulpfec.c | ||
@@ -154,7 +154,8 @@ harness_rtpulpfecdec (guint32 ssrc, guint8 lost_pt, guint8 fec_pt) | ||
g_strdup_printf ("application/x-rtp,ssrc=(uint)%u,payload=(int)%u", | ||
ssrc, lost_pt); | ||
|
||
- gst_harness_set (h, "rtpstorage", "size-time", 200 * RTP_PACKET_DUR, NULL); | ||
+ gst_harness_set (h, "rtpstorage", "size-time", (guint64) 200 * RTP_PACKET_DUR, | ||
+ NULL); | ||
gst_harness_get (h, "rtpstorage", "internal-storage", &internal_storage, | ||
NULL); | ||
gst_harness_set (h, "rtpulpfecdec", "storage", internal_storage, "pt", fec_pt, | ||
-- | ||
cgit v1.1 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters