From dac58fdd2a84e2e00a90f3c568c57972c0be0b6f Mon Sep 17 00:00:00 2001 From: Vedant Paranjape Date: Sat, 21 Aug 2021 18:42:02 +0530 Subject: test: gstreamer: Clean up memory management This patch simplifies memory management, i.e., by replacing bare pointers with g_autoptr or g_autofree according to use case. While at it also update time representation of timeout variable with GST_SECOND. Signed-off-by: Vedant Paranjape Reviewed-by: Laurent Pinchart Signed-off-by: Laurent Pinchart --- test/gstreamer/gstreamer_single_stream_test.cpp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'test/gstreamer/gstreamer_single_stream_test.cpp') diff --git a/test/gstreamer/gstreamer_single_stream_test.cpp b/test/gstreamer/gstreamer_single_stream_test.cpp index a805fb8a..349dcfa4 100644 --- a/test/gstreamer/gstreamer_single_stream_test.cpp +++ b/test/gstreamer/gstreamer_single_stream_test.cpp @@ -55,12 +55,10 @@ protected: setenv("ASAN_OPTIONS", "verify_asan_link_order=0", 1); /* Initialize GStreamer */ - GError *errInit = nullptr; + g_autoptr(GError) errInit = NULL; if (!gst_init_check(nullptr, nullptr, &errInit)) { g_printerr("Could not initialize GStreamer: %s\n", errInit ? errInit->message : "unknown error"); - if (errInit) - g_error_free(errInit); return TestFail; } @@ -138,7 +136,7 @@ protected: /* Wait until error or EOS or timeout after 2 seconds */ constexpr GstMessageType msgType = static_cast(GST_MESSAGE_ERROR | GST_MESSAGE_EOS); - constexpr GstClockTime timeout = 2000000000; + constexpr GstClockTime timeout = 2 * GST_SECOND; g_autoptr(GstBus) bus = gst_element_get_bus(pipeline_); g_autoptr(GstMessage) msg = gst_bus_timed_pop_filtered(bus, timeout, msgType); @@ -167,16 +165,14 @@ protected: private: void gstreamer_print_error(GstMessage *msg) { - GError *err; - gchar *debug_info; + g_autoptr(GError) err = NULL; + g_autofree gchar *debug_info = NULL; gst_message_parse_error(msg, &err, &debug_info); g_printerr("Error received from element %s: %s\n", GST_OBJECT_NAME(msg->src), err->message); g_printerr("Debugging information: %s\n", debug_info ? debug_info : "none"); - g_clear_error(&err); - g_free(debug_info); } GstElement *pipeline_; -- cgit v1.2.1