diff --git a/lib/source_impl.cc b/lib/source_impl.cc
index a5da6728f436fb21703a8cb5fb3b2b66cd851ac4..01488365453a76ede8af638af434f05a3849e309 100644
--- a/lib/source_impl.cc
+++ b/lib/source_impl.cc
@@ -189,6 +189,18 @@ namespace gr {
device_->set_gain(gain,name,chan) : 0;
}
+ double source_impl::get_gain(size_t chan)
+ {
+ return chan < get_num_channels() ?
+ device_->get_gain(chan) : 0;
+ }
+
+ double source_impl::get_gain(const std::string &name, size_t chan)
+ {
+ return chan < get_num_channels() ?
+ device_->get_gain(name, chan) : 0;
+ }
+
double source_impl::set_if_gain(double gain, size_t chan)
{
return 0;
diff --git a/lib/source_impl.h b/lib/source_impl.h
index 706bf40e47cdb0b20014d3d1bba014b38120cfea..36d4722668b792e674a15566534e6b35a9beddf0 100644
--- a/lib/source_impl.h
+++ b/lib/source_impl.h
@@ -72,7 +72,7 @@ namespace gr {
const std::string & name,
size_t chan = 0 ) override;
- double get_gain( size_t chan = 0 )override;
+ double get_gain( size_t chan = 0 ) override;
double get_gain( const std::string & name, size_t chan = 0 ) override;