This is an automatic generated email to let you know that the following patch 
were queued at the 
http://git.linuxtv.org/v4l-utils.git tree:

Subject: qv4l2: add channel detection.
Author:  Hans Verkuil <[email protected]>
Date:    Sun Jun 10 11:25:35 2012 +0200

Signed-off-by: Hans Verkuil <[email protected]>

 utils/qv4l2/general-tab.cpp |   30 ++++++++++++++++++++++++++++++
 utils/qv4l2/general-tab.h   |    3 +++
 2 files changed, 33 insertions(+), 0 deletions(-)

---

http://git.linuxtv.org/v4l-utils.git?a=commitdiff;h=bf26c5c5946b4e0a9ae91e020cbc33720e545675

diff --git a/utils/qv4l2/general-tab.cpp b/utils/qv4l2/general-tab.cpp
index a68d9aa..784d19c 100644
--- a/utils/qv4l2/general-tab.cpp
+++ b/utils/qv4l2/general-tab.cpp
@@ -227,6 +227,12 @@ GeneralTab::GeneralTab(const QString &device, v4l2 &fd, 
int n, QWidget *parent)
                        if (m_audioModes[i] == m_tuner.audmode)
                                m_audioMode->setCurrentIndex(i);
                connect(m_audioMode, SIGNAL(activated(int)), 
SLOT(audioModeChanged(int)));
+               m_subchannels = new QLabel("", parent);
+               addWidget(m_subchannels, Qt::AlignRight);
+               m_detectSubchans = new QPushButton("Refresh Tuner Status", 
parent);
+               addWidget(m_detectSubchans);
+               connect(m_detectSubchans, SIGNAL(clicked()), 
SLOT(detectSubchansClicked()));
+               detectSubchansClicked();
        }
 
        if (isRadio())
@@ -416,6 +422,30 @@ void GeneralTab::audioModeChanged(int)
        s_tuner(m_tuner);
 }
 
+void GeneralTab::detectSubchansClicked()
+{
+       QString chans;
+
+       g_tuner(m_tuner);
+       if (m_tuner.rxsubchans & V4L2_TUNER_SUB_MONO)
+               chans += "Mono ";
+       if (m_tuner.rxsubchans & V4L2_TUNER_SUB_STEREO)
+               chans += "Stereo ";
+       if (m_tuner.rxsubchans & V4L2_TUNER_SUB_LANG1)
+               chans += "Lang1 ";
+       if (m_tuner.rxsubchans & V4L2_TUNER_SUB_LANG2)
+               chans += "Lang2 ";
+       if (m_tuner.rxsubchans & V4L2_TUNER_SUB_RDS)
+               chans += "RDS ";
+       chans += "(" + QString::number((int)(m_tuner.signal / 655.35 + 0.5)) + 
"%";
+       if (m_tuner.afc < 0)
+               chans += " too low";
+       else if (m_tuner.afc > 0)
+               chans += " too high";
+       chans += ")";
+       m_subchannels->setText(chans);
+}
+
 void GeneralTab::vidCapFormatChanged(int idx)
 {
        v4l2_fmtdesc desc;
diff --git a/utils/qv4l2/general-tab.h b/utils/qv4l2/general-tab.h
index aa1b8c4..8805ed7 100644
--- a/utils/qv4l2/general-tab.h
+++ b/utils/qv4l2/general-tab.h
@@ -60,6 +60,7 @@ private slots:
        void freqChannelChanged(int);
        void freqChanged();
        void audioModeChanged(int);
+       void detectSubchansClicked();
        void vidCapFormatChanged(int);
        void frameWidthChanged();
        void frameHeightChanged();
@@ -126,6 +127,8 @@ private:
        QComboBox *m_freqTable;
        QComboBox *m_freqChannel;
        QComboBox *m_audioMode;
+       QLabel *m_subchannels;
+       QPushButton *m_detectSubchans;
        QComboBox *m_vidCapFormats;
        QComboBox *m_frameSize;
        QSpinBox *m_frameWidth;

_______________________________________________
linuxtv-commits mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to