Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Jan 2013 20:10:57 +0200
From:      Markiyan Kushnir <markiyan.kushnir@gmail.com>
To:        Juergen Lock <nox@jelal.kn-bremen.de>
Cc:        nox@freebsd.org, stable@freebsd.org, netchild@freebsd.org
Subject:   Re: VIDIOC_ENUM_FRAMESIZES in linux_ioctl.c
Message-ID:  <50F2F8B1.5010702@gmail.com>
In-Reply-To: <20130113164838.GA73810@triton8.kn-bremen.de>
References:  <50F2DCA1.8080208@gmail.com> <20130113164838.GA73810@triton8.kn-bremen.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On 13.01.2013 18:48, Juergen Lock wrote:
> On Sun, Jan 13, 2013 at 06:11:13PM +0200, Markiyan Kushnir wrote:
>> Hi,
>>
>> Any reason why LINUX_VIDIOC_ENUM_FRAMESIZES,
>> LINUX_VIDIOC_ENUM_FRAMEINTERVALS, LINUX_VIDIOC_ENCODER_CMD, and
>> LINUX_VIDIOC_TRY_ENCODER_CMD in compat/linux/linux_ioctl.c have been p=
ut
>> under #ifdef VIDIOC_ENUM_FRAMESIZES (looks like it's been there since
>> rev. 221426, when the v4l2 support was introduced) ?
>>
>> I've just hit an issue with the current Skypes in the ports tree (both=

>> 2.1.0.81 and 2.2.0.35) trying to call at least the
>> LINUX_VIDIOC_ENUM_FRAMESIZES ioctl, so I re-built linux.ko with
>> -DVIDIOC_ENUM_FRAMESIZES and found no visible issues on my desktop so
>> far beyond that my skype started to send video.
>>
>> If there is some reason, it would be good to let people know why these=

>> ioctls are turned off by default.
>>
> IIRC netchild's concern was that these were not in Linux 2.6.16 that
> our Linuxolator defaults to emulating, so I put them under #ifdef.
> Did you find that skype video doesn't work without them?  Back when
> I tested it it didn't seem to make a difference...  (Tho I never
> could get skype 2.2.0.35 to work with video, I think because it
> tries to use inotify() which we don't emulate.)
>

ok, I see now. On my desktop, when trying to test skype video, I had=20
been getting:

Jan 13 15:54:40 mkushnir kernel: linux: pid 48266 (skype): ioctl fd=3D44,=
=20
cmd=3D0x564a ('V',74) is not implemented

I was confused by that pwcview worked for me, but skype didn't. I found=20
that 0x564a is in that bunch of those under #ifdef ...

I then recompiled the linux module with VIDIOC_ENUM_FRAMESIZES defined,=20
and skype started to send video. Yes, skype still tries to call=20
inotify_init() at startup, and one of its child processes dies desperatel=
y:

Jan 13 20:01:58 mkushnir kernel: linux: pid 84673 (skype): ioctl fd=3D26,=
=20
cmd=3D0x8b01 ('=EF=BF=BD',1) is not implemented
Jan 13 20:01:58 mkushnir last message repeated 9 times
Jan 13 20:01:58 mkushnir kernel: linux: pid 84673 (skype): ioctl fd=3D27,=
=20
cmd=3D0x8b01 ('=EF=BF=BD',1) is not implemented
Jan 13 20:01:58 mkushnir last message repeated 9 times
Jan 13 20:01:58 mkushnir kernel: linux: pid 84682 (skype): syscall=20
inotify_init not implemented
Jan 13 20:01:59 mkushnir kernel: Failed to write core file for process=20
skype (error 14)
Jan 13 20:01:59 mkushnir kernel: pid 84681 (skype), uid 1001: exited on=20
signal 6


but then video test passes OK, and I can actually send/receive video in=20
a session.


I don't know if this breaks other things, so the ioctls probably should=20
be kept closed.

--
Markiyan.

>   HTH,
> 	Juergen
>





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?50F2F8B1.5010702>