From 9b6b6d1fd52839008635d38c82662d544a70a4ed Mon Sep 17 00:00:00 2001 From: Josep Torra Date: Sun, 24 Jul 2016 10:00:48 +0200 Subject: [PATCH] sidplay: fix compiler warnings when building with -O3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Avoid compiler warnings "‘foo’ may be used uninitialized in this function" when building with -O3 by checking the return bool value of format conversion function. https://bugzilla.gnome.org/show_bug.cgi?id=769116 --- ext/sidplay/gstsiddec.cc | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/ext/sidplay/gstsiddec.cc b/ext/sidplay/gstsiddec.cc index 93bf8d7b56..65d25c032b 100644 --- a/ext/sidplay/gstsiddec.cc +++ b/ext/sidplay/gstsiddec.cc @@ -21,15 +21,15 @@ /** * SECTION:element-siddec * - * This element decodes .sid files to raw audio. .sid files are in fact - * small Commodore 64 programs that are executed on an emulated 6502 CPU and a + * This element decodes .sid files to raw audio. .sid files are in fact + * small Commodore 64 programs that are executed on an emulated 6502 CPU and a * MOS 6581 sound chip. - * + * * This plugin will first load the complete program into memory before starting * the emulator and producing output. - * + * * Seeking is not (and cannot be) implemented. - * + * * * Example pipelines * |[ @@ -394,7 +394,7 @@ play_loop (GstPad * pad) GstSidDec *siddec; GstBuffer *out; GstMapInfo outmap; - gint64 value, offset, time; + gint64 value, offset, time = 0; GstFormat format; siddec = GST_SIDDEC (gst_pad_get_parent (pad)); @@ -408,29 +408,29 @@ play_loop (GstPad * pad) /* get offset in samples */ format = GST_FORMAT_DEFAULT; - gst_siddec_src_convert (siddec->srcpad, - GST_FORMAT_BYTES, siddec->total_bytes, &format, &offset); - GST_BUFFER_OFFSET (out) = offset; + if (gst_siddec_src_convert (siddec->srcpad, + GST_FORMAT_BYTES, siddec->total_bytes, &format, &offset)) + GST_BUFFER_OFFSET (out) = offset; /* get current timestamp */ format = GST_FORMAT_TIME; - gst_siddec_src_convert (siddec->srcpad, - GST_FORMAT_BYTES, siddec->total_bytes, &format, &time); - GST_BUFFER_TIMESTAMP (out) = time; + if (gst_siddec_src_convert (siddec->srcpad, + GST_FORMAT_BYTES, siddec->total_bytes, &format, &time)) + GST_BUFFER_TIMESTAMP (out) = time; /* update position and get new timestamp to calculate duration */ siddec->total_bytes += siddec->blocksize; /* get offset in samples */ format = GST_FORMAT_DEFAULT; - gst_siddec_src_convert (siddec->srcpad, - GST_FORMAT_BYTES, siddec->total_bytes, &format, &value); - GST_BUFFER_OFFSET_END (out) = value; + if (gst_siddec_src_convert (siddec->srcpad, + GST_FORMAT_BYTES, siddec->total_bytes, &format, &value)) + GST_BUFFER_OFFSET_END (out) = value; format = GST_FORMAT_TIME; - gst_siddec_src_convert (siddec->srcpad, - GST_FORMAT_BYTES, siddec->total_bytes, &format, &value); - GST_BUFFER_DURATION (out) = value - time; + if (gst_siddec_src_convert (siddec->srcpad, + GST_FORMAT_BYTES, siddec->total_bytes, &format, &value)) + GST_BUFFER_DURATION (out) = value - time; if ((ret = gst_pad_push (siddec->srcpad, out)) != GST_FLOW_OK) goto pause;