diff mbox series

[FFmpeg-devel,06/18] avradio/sdrinradio: Factor print_and_free_list() out

Message ID 20230708212530.109692-6-michael@niedermayer.cc
State New
Headers show
Series [FFmpeg-devel,01/18] avradio/sdrdemux: Fix uninitialized access | expand

Checks

Context Check Description
yinshiyou/configure_loongarch64 warning Failed to apply patch
andriy/configure_x86 warning Failed to apply patch

Commit Message

Michael Niedermayer July 8, 2023, 9:25 p.m. UTC
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 libavradio/sdrinradio.c | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)
diff mbox series

Patch

diff --git a/libavradio/sdrinradio.c b/libavradio/sdrinradio.c
index 052e2298da..e4f17f4bc9 100644
--- a/libavradio/sdrinradio.c
+++ b/libavradio/sdrinradio.c
@@ -93,6 +93,17 @@  static int sdrindev_set_frequency_callback(SDRContext *sdr, int64_t freq)
     return 0;
 }
 
+static void print_and_free_list(AVFormatContext *s, char** names, size_t length, const char *title)
+{
+    if (length) {
+        av_log(s, AV_LOG_INFO, "%s:", title);
+        for (int i = 0; i < length; i++)
+            av_log(s, AV_LOG_INFO, "%c%s", ", "[!i], names[i]);
+        av_log(s, AV_LOG_INFO, "\n");
+    }
+    SoapySDRStrings_clear(&names, length);
+}
+
 /**
  * Initial setup of SDR HW through soapy.
  * This will go over available settings and match them up with what the user requested
@@ -162,19 +173,11 @@  static int sdrindev_initial_hw_setup(AVFormatContext *s)
 
     //Go over all Antennas and print them
     names = SoapySDRDevice_listAntennas(soapy, SOAPY_SDR_RX, 0, &length);
-    av_log(s, AV_LOG_INFO, "Antennas: ");
-    for (i = 0; i < length; i++)
-        av_log(s, AV_LOG_INFO, "%s, ", names[i]);
-    av_log(s, AV_LOG_INFO, "\n");
-    SoapySDRStrings_clear(&names, length);
+    print_and_free_list(s, names, length, "Antennas");
 
     //Go over all Gain Elements and print them
     names = SoapySDRDevice_listGains(soapy, SOAPY_SDR_RX, 0, &length);
-    av_log(s, AV_LOG_INFO, "Rx Gain Elements: ");
-    for (i = 0; i < length; i++)
-        av_log(s, AV_LOG_INFO, "%s, ", names[i]);
-    av_log(s, AV_LOG_INFO, "\n");
-    SoapySDRStrings_clear(&names, length);
+    print_and_free_list(s, names, length, "Rx Gain Elements");
 
     //Inform the user if AGC is supported and setup AGC as requested by the user
     has_agc = SoapySDRDevice_hasGainMode(soapy, SOAPY_SDR_RX, 0);