diff options
Diffstat (limited to 'tuner.c')
-rw-r--r-- | tuner.c | 34 |
1 files changed, 18 insertions, 16 deletions
@@ -104,22 +104,6 @@ static unsigned long tuner_get_tuned_freq() return v4l_to_hz(t_freq.frequency); } -static uint16_t tuner_get_signal() -{ - struct v4l2_tuner t_tuner = { - .index = TUNER_DEVICE_ID - }; - - g_return_val_if_fail(tuner_is_open(), 0); - - if (ioctl(tuner_fd, VIDIOC_G_TUNER, &t_tuner) < 0) { - g_warning("Failed to get signal level: %s", strerror(errno)); - return 0; - } - - return t_tuner.signal; -} - bool configure_tuner(bool on) { if (on) { @@ -182,6 +166,7 @@ bool tuner_set_frequency(double mhz) g_message("Tuned to %.1f Mhz", mhz); server_notify_tuned(mhz); tuner_freq = hz; + signal_reset(); rds_reset(); return true; } @@ -189,6 +174,22 @@ bool tuner_set_frequency(double mhz) return false; } +uint16_t tuner_get_signal() +{ + struct v4l2_tuner t_tuner = { + .index = TUNER_DEVICE_ID + }; + + g_return_val_if_fail(tuner_is_open(), 0); + + if (ioctl(tuner_fd, VIDIOC_G_TUNER, &t_tuner) < 0) { + g_warning("Failed to get signal level: %s", strerror(errno)); + return 0; + } + + return t_tuner.signal; +} + bool tuner_search(bool forward) { struct v4l2_hw_freq_seek t_freq_seek = { @@ -213,6 +214,7 @@ bool tuner_search(bool forward) // Got new frequency, fire signals. tuner_freq = hz; server_notify_tuned(hz_to_mhz(hz)); + signal_reset(); rds_reset(); return true; } |