[mythtv] [PATCH] Re: ivtv settings patch (revisited)

Geoffrey Hausheer ou401cru02 at sneakemail.com
Tue Sep 23 16:44:37 EDT 2003


On Tue, 23 Sep 2003 22:04:12 +0200, "Thomas Husemann
thomas-at-thusemann.dyndns.org |mythtv/1.0-Allow|"
<d55yhlons20t at sneakemail.com> said:
> Hi Geoffrey,
> 
> the patch does not work for me :-(
> 
> 2003-09-23 20:17:27 Changing from None to WatchingLiveTV
> Error setting codec params
> VIDIOC_S_CTRL:: Das Argument ist ungültig (sorry for the german locale)
> 
> dmesg:
> ...
> saa7115[1] set audio: 0x02
> saa7115[0]: decoder set norm PAL
> saa7115[0] set audio: 0x02
> ivtv: ivtv-api.c: unknown ioctl 0x4008561c
> ivtv: ivtv-api.c: unknown ioctl 0x4008561c
> ivtv: ivtv-api.c: unknown ioctl 0x4008561c
> ivtv: ivtv-api.c: unknown ioctl 0x4008561c
> saa7115[0]: decoder set size
> Setting full PAL width
> Setting full PAL height
> ivtv: ivtv-api.c: unknown ioctl 0x4008561c

What version of the ivtv drivers are you using.  I didn't modify the
ivtv-ext-api.h file, which is included with mythtv.  I use the 'alpha'
drivers from ivtv.sf.net. , and it may be that your drivers are older.

The failure in ivtv-api should have gone to the 'case VIDIOC_S_CTRL:'
statement, but fell-through somehow.  the only way that should happen is
if the definition of the #define were different in the caller (mythtv)
and the receiver (ivtv-api.c).  I don't see how that is possible.

Which kernel are you using?  Have you patched v4l2 into it?  can you diff
libs/libmythtv/videodev2_myth.h with the videodev2.h you used to build
the ivtv drivers?

This doesn't really look like a problem with my patch, since the ioctl
call itself failed,and not the parsing of the arguments (which would have
been more understandable, since I haven't tested PAL mode stuff.  But
this doesn't seem to be related to that).

You can try commenting out the following lines in mpegrecorder.cpp:
    struct v4l2_control ctrl;
    ctrl.id = V4L2_CID_AUDIO_VOLUME;
    ctrl.value = 65536 / 100 *audvolume;

    if (ioctl(chanfd, VIDIOC_S_CTRL, &ctrl) < 0)
    {
        cerr << "Error setting codec params\n";
        perror("VIDIOC_S_CTRL:");
        return;
    }

This will ignore the volume control settings.

.Geoff




More information about the mythtv-dev mailing list