OK.

In order to get the correct info from a v4l2-ctl --all:
Format:
        Type            : VBI Capture
        Sampling Rate   : 27000000 Hz
        Offset          : 248 samples (9.18519e-06 secs after leading edge)
        Samples per Line: 1440
        Sample Format   : GREY
        Start 1st Field : 6
        Count 1st Field : 18
        Start 2nd Field : 318
        Count 2nd Field : 18
Video input : 0 (Tuner 1)
Audio input : 0 (Tuner 1)
Frequency: 1440000 (90.000000 MHz)
Video standard = 0x000000ff
        PAL-B/B1/G/H/I/D/D1/K
Tuner:
        Capabilities         : @@ -881,12 +881,19 @@
 bool cPvrDevice::Tune(int freq)
 {
        struct v4l2_frequency vf;
+        int freqaux = freq;

        memset(&vf, 0, sizeof(vf));
        vf.tuner = 0;
-       vf.type = V4L2_TUNER_ANALOG_TV;
+        if (freq < 88000000)
+                vf.type = V4L2_TUNER_ANALOG_TV;
+        else
+        {
+               log(3, "Changing to RADIO");
+                vf.type = V4L2_TUNER_RADIO;
+                freqaux = freq * 1000;
+        }
        vf.frequency = (int) ((double) freq * 16.0 / 1000.0 + 0.5);
-
        if (IOCTL(video_fd, VIDIOC_S_FREQUENCY, &vf) != 0)
        {
                log(0, "Error tuning to %d: %s", freq, strerror(errno));
62.5 Hz stereo
        Frequency range      : 65.0 MHz - 108.0 MHz
        Signal strength      : 50%
        Current audio mode   : stereo
        Available subchannels: stereo



I patched as follows:



> Thanks Jose - that's a great help!
>
>> El Martes, 13 de Febrero de 2007 12:16, Jose Alberto Reguero escribió:
>>> I use this modified code in device.c (pvrinput):
>>>
>>> bool cPvrDevice::Tune(int freq)
>>> {
>>>         struct v4l2_frequency vf;
>>>         int freqaux = freq;
>>>
>>>         memset(&vf, 0, sizeof(vf));
>>>         vf.tuner = 0;
>>>         if (freq > 180000)
>>>                 vf.type = V4L2_TUNER_ANALOG_TV;
>>>         else
>>>         {
>>>                 vf.type = V4L2_TUNER_RADIO;
>>>                 freqaux = freq * 1000;
>>>         }
>>>         vf.frequency = (int) ((double) freqaux * 16.0 / 1000.0 + 0.5);
>>>
>>>         if (IOCTL(video_fd, VIDIOC_S_FREQUENCY, &vf) != 0)
>>>         {
>>>                 log(0, "Error tuning to %d: %s", freq,
>>> strerror(errno));
>>>                 return false;
>>>         }
>>>         frequency = freq;
>>>         return true;
>>> }
>>>
>>> But I have some problems with radio(pvrinput), and xineliboutput.
>>
>> The problem I have is that after a while sound is distorted an finally
>> sound
>> stop. There is not any messages in the log. I don't know if is pvrinput
>> or
>> xineliboutput fault.
>>
>> Jose Alberto
>>
>>>
>>> Jose Alberto
>>>
>>> El Martes, 13 de Febrero de 2007 11:01, Simon Baxter escribió:
>>> > It looks like this plugin does something wrong with the analog radio
>>> on
>>> > the OEM PVR-150 card.
>>> >
>>> > With channels.conf set to:
>>> > Radio 91ZM:90900:I999C0:C:0:0:300:305:A1:12003:1:1007:0
>>> >
>>> > v4l2-ctl --all   looks like this:
>>> >
>>> > Audio input : 0 (Tuner 1)
>>> > Frequency: 1454 (90.875000 MHz)
>>> > Video standard = 0x000000ff
>>> >         PAL-B/B1/G/H/I/D/D1/K
>>> > Tuner:
>>> >         Capabilities         : 62.5 kHz multi-standard
>>> >         Frequency range      : 44.0 MHz - 958.0 MHz
>>> >         Signal strength      : 0%
>>> >         Current audio mode   : mono
>>> >         Available subchannels:
>>> >
>>> >
>>> > Where ivtv-radio -f90   looks like this:
>>> >
>>> > Audio input : 0 (Tuner 1)
>>> > Frequency: 1454400 (90.900000 MHz)
>>> > Video standard = 0x000000ff
>>> >         PAL-B/B1/G/H/I/D/D1/K
>>> > Tuner:
>>> >         Capabilities         : 62.5 Hz stereo
>>> >         Frequency range      : 65.0 MHz - 108.0 MHz
>>> >         Signal strength      : 50%
>>> >         Current audio mode   : stereo
>>> >         Available subchannels: stereo
>>> >
>>> >
>>> > it appears pvrinput isn't setting the right audio mode/sub channels
>>> etc??
>>> >
>>> >
>>> > Any ideas?
>>> >
>>> > PS.  It looks like analogradio  plugin is no longer supported?  Is
>>> also
>>> > doesn't support ALSA.
>>> >
>>> > ?
>>> >
>>> > > I've asked this before, last year, but never had a response.
>>> > >
>>> > > How do I configure radio channels in VDR.
>>> > >
>>> > > My channels.conf has:
>>> > >
>>> > > Classic Hits:90000:I999C0:C:0:0:300:305:A1:12003:1:1006:0
>>> > >
>>> > > But I think I'm picking up the wrong device, as I hear no audio.  I
>>> > > have a single PVR-150 with ivtv and the following devices:
>>> > >
>>> > > /dev/video0
>>> > > /dev/video24
>>> > > /dev/video32
>>> > >
>>> > > When I do a 'ivtv-radio -f90000' I see:
>>> > > aplay -f dat < /dev/video24    #which works
>>> > >
>>> > > So....what should my Parameters be??
>>> > >
>>> > >   C0   - Input 0
>>> > >   C12  - Input 1
>>> > >   C23  - Input 2
>>> > >   C34  - Input 3
>>> > >   C45  - Input 4
>>> > >   C56  - Input 5
>>> > >   C67  - Input 6
>>> > >   C78  - Input 7
>>> > >   C89  - Input 8
>>> > >   C999 - Input 9
>>> > >
>>> > >
>>> > > Thanks - in advance!
>>> > >
>>> > >
>>> > >
>>> > > _______________________________________________
>>> > > vdr mailing list
>>> > > vdr@linuxtv.org
>>> > > http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
>>> >
>>> > _______________________________________________
>>> > vdr mailing list
>>> > vdr@linuxtv.org
>>> > http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
>>>
>>> _______________________________________________
>>> vdr mailing list
>>> vdr@linuxtv.org
>>> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
>>
>> _______________________________________________
>> vdr mailing list
>> vdr@linuxtv.org
>> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
>>
>
>
>
> _______________________________________________
> vdr mailing list
> vdr@linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
>



_______________________________________________
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr

Reply via email to