[FFmpeg-cvslog] [ffmpeg-radio] 01/13: avradio/avformat/sdrdemux: Move agc_gain into local variable

Michael Niedermayer ffmpeg-git at ffmpeg.org
Sat Sep 16 21:38:17 EEST 2023


This is an automated email from the git hooks/post-receive script.

Git pushed a commit to branch master
in repository libavradio.

commit 7191efa1224ed205155145cbeeed7bf33a7b85df
Author:     Michael Niedermayer <michael at niedermayer.cc>
AuthorDate: Fri Jul 28 18:18:25 2023 +0200
Commit:     Michael Niedermayer <michael at niedermayer.cc>
CommitDate: Sun Jul 30 23:10:56 2023 +0200

    avradio/avformat/sdrdemux: Move agc_gain into local variable
    
    Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
---
 libavformat/sdr.h      | 1 -
 libavformat/sdrdemux.c | 7 ++++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/libavformat/sdr.h b/libavformat/sdr.h
index 77278ada67..1f2d3a49ab 100644
--- a/libavformat/sdr.h
+++ b/libavformat/sdr.h
@@ -161,7 +161,6 @@ typedef struct SDRContext {
     float agc_max_headroom;
     float agc_max_headroom_time;
     int agc_low_time;
-    float agc_gain;                         ///< current gain, should be accessed only by buffer thread after init
     atomic_int wanted_gain;
     int sdr_adcc;
     int64_t bandwidth;
diff --git a/libavformat/sdrdemux.c b/libavformat/sdrdemux.c
index 0dc89041c5..4bde431e17 100644
--- a/libavformat/sdrdemux.c
+++ b/libavformat/sdrdemux.c
@@ -1475,6 +1475,7 @@ static void *soapy_needs_bigger_buffers_worker(SDRContext *sdr)
     unsigned block_counter = 0;
     int64_t local_wanted_freq = 0;
     int64_t last_wanted_freq = 0;
+    float agc_gain = 0;
 
     sdr->remaining_file_block_size = 0;
 
@@ -1529,16 +1530,16 @@ static void *soapy_needs_bigger_buffers_worker(SDRContext *sdr)
             block_counter = 0; // we just changed the frequency, do not trust the next blocks content
         }
         if (sdr->sdr_gain == GAIN_SW_AGC &&
-            fabs(wanted_gain - sdr->agc_gain) > 0.001 &&
+            fabs(wanted_gain - agc_gain) > 0.001 &&
             sdr->set_gain_callback
         ) {
             sdr->set_gain_callback(sdr, wanted_gain);
-            sdr->agc_gain = wanted_gain;
+            agc_gain = wanted_gain;
         }
         pthread_mutex_unlock(&sdr->mutex);
 
         fifo_element.center_frequency = block_counter > 0 ? sdr->freq : 0;
-        fifo_element.gain             = sdr->agc_gain; //we make only small changes so slightly mixing should be ok
+        fifo_element.gain             = agc_gain; //we make only small changes so slightly mixing should be ok
 
         remaining = sdr->block_size;
         while (remaining && !atomic_load(&sdr->close_requested)) {



More information about the ffmpeg-cvslog mailing list