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

Michael Niedermayer michael at niedermayer.cc
Sun Jul 9 00:25:18 EEST 2023


Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
---
 libavradio/sdrinradio.c | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

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);
-- 
2.31.1



More information about the ffmpeg-devel mailing list