From b38b204b1c06e4af845a1082ba6824e924294baf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com>
Date: Tue, 18 Dec 2018 14:53:49 -0500
Subject: [PATCH] media: fix compilation warnings

Change-Id: I17acc6e9d3c8c0db3978d09b2d3606c7d7b28904
---
 src/client/videomanager.cpp        | 2 +-
 src/media/audio/audio_input.cpp    | 2 --
 src/media/audio/jack/jacklayer.cpp | 2 +-
 src/media/audio/ringbuffer.cpp     | 6 +++---
 src/media/audio/ringbufferpool.cpp | 1 -
 src/media/media_filter.cpp         | 8 ++++++--
 6 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/src/client/videomanager.cpp b/src/client/videomanager.cpp
index a0a93751e7..556fa81388 100644
--- a/src/client/videomanager.cpp
+++ b/src/client/videomanager.cpp
@@ -362,7 +362,7 @@ startLocalRecorder(const bool& audioOnly, const std::string& filepath)
 
     try {
         ring::LocalRecorderManager::instance().insertRecorder(path, std::move(rec));
-    } catch (std::invalid_argument) {
+    } catch (const std::invalid_argument&) {
         return "";
     }
 
diff --git a/src/media/audio/audio_input.cpp b/src/media/audio/audio_input.cpp
index 268fb392b7..4a6409f16b 100644
--- a/src/media/audio/audio_input.cpp
+++ b/src/media/audio/audio_input.cpp
@@ -120,8 +120,6 @@ AudioInput::readFromFile()
 
     auto frame = std::make_unique<AudioFrame>();
     const auto ret = decoder_->decode(*frame);
-    const auto inFmt = AudioFormat((unsigned)frame->pointer()->sample_rate, (unsigned)frame->pointer()->channels, (AVSampleFormat)frame->pointer()->format);
-
     switch(ret) {
     case MediaDecoder::Status::ReadError:
     case MediaDecoder::Status::DecodeError:
diff --git a/src/media/audio/jack/jacklayer.cpp b/src/media/audio/jack/jacklayer.cpp
index 78a97d24f4..05a9547384 100644
--- a/src/media/audio/jack/jacklayer.cpp
+++ b/src/media/audio/jack/jacklayer.cpp
@@ -231,7 +231,7 @@ JackLayer::JackLayer(const AudioPreference &p) :
     const auto playRate = jack_get_sample_rate(playbackClient_);
     const auto captureRate = jack_get_sample_rate(captureClient_);
 
-    audioInputFormat_ = {captureRate, in_ringbuffers_.size()};
+    audioInputFormat_ = {captureRate, (unsigned)in_ringbuffers_.size()};
     hardwareFormatAvailable(AudioFormat(playRate, out_ringbuffers_.size()));
     hardwareInputFormatAvailable(audioInputFormat_);
     jack_on_shutdown(playbackClient_, onShutdown, this);
diff --git a/src/media/audio/ringbuffer.cpp b/src/media/audio/ringbuffer.cpp
index 137549275b..b688779453 100644
--- a/src/media/audio/ringbuffer.cpp
+++ b/src/media/audio/ringbuffer.cpp
@@ -39,13 +39,13 @@ namespace ring {
 // corresponds to 160 ms (about 5 rtp packets)
 static const size_t MIN_BUFFER_SIZE = 1024;
 
-RingBuffer::RingBuffer(const std::string& rbuf_id, size_t size, AudioFormat format)
+RingBuffer::RingBuffer(const std::string& rbuf_id, size_t /*size*/, AudioFormat format)
     : id(rbuf_id)
     , endPos_(0)
+    , format_(format)
     , lock_()
     , not_empty_()
     , readoffsets_()
-    , format_(format)
     , resizer_(format_, format_.sample_rate / 50, [this](std::shared_ptr<AudioFrame>&& frame){
         putToBuffer(std::move(frame));
     })
@@ -121,7 +121,7 @@ RingBuffer::createReadOffset(const std::string &call_id)
 {
     std::lock_guard<std::mutex> l(lock_);
     if (!hasThisReadOffset(call_id))
-        readoffsets_.emplace(call_id, ReadOffset {endPos_});
+        readoffsets_.emplace(call_id, ReadOffset {endPos_, {}});
 }
 
 
diff --git a/src/media/audio/ringbufferpool.cpp b/src/media/audio/ringbufferpool.cpp
index ef01ce3f94..0fd4ab98b2 100644
--- a/src/media/audio/ringbufferpool.cpp
+++ b/src/media/audio/ringbufferpool.cpp
@@ -271,7 +271,6 @@ RingBufferPool::getData(const std::string& call_id)
     if (bindings->size() == 1)
         return (*bindings->cbegin())->get(call_id);
 
-    size_t size = 0;
     auto mixBuffer = std::make_unique<AudioFrame>(internalAudioFormat_);
     for (const auto& rbuf : *bindings) {
         if (auto b = rbuf->get(call_id)) {
diff --git a/src/media/media_filter.cpp b/src/media/media_filter.cpp
index 8bc730e65c..d0cfc25246 100644
--- a/src/media/media_filter.cpp
+++ b/src/media/media_filter.cpp
@@ -216,8 +216,12 @@ MediaFilter::readOutput()
 void
 MediaFilter::flush()
 {
-    for (size_t i = 0; i < inputs_.size(); ++i)
-        av_buffersrc_add_frame_flags(inputs_[i], nullptr, 0);
+    for (size_t i = 0; i < inputs_.size(); ++i) {
+        int ret = av_buffersrc_add_frame_flags(inputs_[i], nullptr, 0);
+        if (ret < 0) {
+            RING_ERR() << "Failed to flush filter '" << inputParams_[i].name << "': " << libav_utils::getError(ret);
+        }
+    }
 }
 
 int
-- 
GitLab