[sip-comm-dev] V4L2 uvc webcam issue


#1

My quick search on the bug tracker didn't yield anything, so I thought I'd
mention this here.

With 1.0-alpha3-nightly.build.2666 my HP Webcam (video4linux2 uvc camera) is
detected as follows:

···

-----------
21:24:35.238 INFO:
impl.neomedia.device.DeviceConfiguration.extractConfiguredVideoCaptureDevice().344
Found HP Webcam (/dev/video0) as a AVF
RAME, class net.java.sip.communicator.impl.neomedia.codec.video.AVFrame Video
Device.
21:24:35.261 SEVERE:
impl.neomedia.device.DeviceConfiguration.registerCustomRenderers().1017
Failed to register custom Renderer net.java.sip.
communicator.impl.neomedia.jmfext.media.renderer.video.JAWTRenderer with JMF.
-----------

Video preview fails with this exception:

-----------
21:26:22.056 SEVERE:
impl.neomedia.MediaConfigurationPanel.actionPerformed().583 Failed to create
preview for device HP Webcam (/dev/video0) : video4linux2:/dev/video0
AVFRAME, class net.java.sip.communicator.impl.neomedia.codec.video.AVFrame

javax.media.NoDataSourceException: Error instantiating class:
net.java.sip.communicator.impl.neomedia.jmfext.media.protocol.video4linux2.DataSource :
java.io.IOException: ioctl: request= VIDIOC_S_FMT, width= 640, height= 480,
pixelformat= 1448695129
        at javax.media.Manager.createDataSource(Manager.java:1012)
        at
net.java.sip.communicator.impl.neomedia.MediaConfigurationPanel.createPreview(MediaConfigurationPanel.java:499)
        at
net.java.sip.communicator.impl.neomedia.MediaConfigurationPanel.access$500
(MediaConfigurationPanel.java:30)
        at
net.java.sip.communicator.impl.neomedia.MediaConfigurationPanel$7.actionPerformed(MediaConfigurationPanel.java:570)
        at
net.java.sip.communicator.impl.neomedia.MediaConfigurationPanel$8.hierarchyChanged(MediaConfigurationPanel.java:612)
        at java.awt.Component.processHierarchyEvent(Component.java:6273)
        at java.awt.Component.processEvent(Component.java:5892)
        at java.awt.Container.processEvent(Container.java:2105)
        at java.awt.Component.dispatchEventImpl(Component.java:4467)
        at java.awt.Container.dispatchEventImpl(Container.java:2163)
        at java.awt.Component.dispatchEvent(Component.java:4293)
        at java.awt.Component.addNotify(Component.java:6550)
        at java.awt.Container.addNotify(Container.java:2632)
        at javax.swing.JComponent.addNotify(JComponent.java:4696)
        at java.awt.Container.addNotify(Container.java:2639)
        at javax.swing.JComponent.addNotify(JComponent.java:4696)
        at java.awt.Container.addNotify(Container.java:2639)
        at javax.swing.JComponent.addNotify(JComponent.java:4696)
        at java.awt.Container.addNotify(Container.java:2639)
        at javax.swing.JComponent.addNotify(JComponent.java:4696)
        at java.awt.Container.addImpl(Container.java:1101)
        at java.awt.Container.add(Container.java:942)
        at
net.java.sip.communicator.impl.gui.main.configforms.ConfigurationFrame.showFormContent(ConfigurationFrame.java:138)
        at
net.java.sip.communicator.impl.gui.main.configforms.ConfigFormList.valueChanged(ConfigFormList.java:106)
        at javax.swing.JList.fireSelectionValueChanged(JList.java:1782)
        at
javax.swing.JList$ListSelectionHandler.valueChanged(JList.java:1796)
        at
javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:184)
        at
javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:154)
        at
javax.swing.DefaultListSelectionModel.setValueIsAdjusting(DefaultListSelectionModel.java:685)
        at javax.swing.JList.setValueIsAdjusting(JList.java:2127)
        at
javax.swing.plaf.basic.BasicListUI$Handler.mouseReleased(BasicListUI.java:2787)
        at
java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290)
        at java.awt.Component.processMouseEvent(Component.java:6106)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3276)
        at java.awt.Component.processEvent(Component.java:5871)
        at java.awt.Container.processEvent(Container.java:2105)
        at java.awt.Component.dispatchEventImpl(Component.java:4467)
        at java.awt.Container.dispatchEventImpl(Container.java:2163)
        at java.awt.Component.dispatchEvent(Component.java:4293)
        at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4461)
        at
java.awt.LightweightDispatcher.processMouseEvent(Container.java:4125)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055)
        at java.awt.Container.dispatchEventImpl(Container.java:2149)
        at java.awt.Window.dispatchEventImpl(Window.java:2478)
        at java.awt.Component.dispatchEvent(Component.java:4293)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:604)
        at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
        at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
        at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
        at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
        at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
-----------

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#2

Because the format of your webcam seems to be supported already, could
you please:

- provide the output of the v4l-info command? Alternatively, if you
have mplayer installed already, the output of 'mplayer tv://
tv=driver:v4l2' should also suffice.

- make sure that you select the video device in the Media
configuration form, close the application and open the Media
configuration form after starting the application again without making
calls, switching between various configuration forms or video devices,
etc. This is to isolate erroneous cases where the same video device is
used multiple times.

···

On Sun, May 23, 2010 at 10:57 PM, Simeon Miteff <simeon.miteff@gmail.com> wrote:

My quick search on the bug tracker didn't yield anything, so I thought I'd
mention this here.

With 1.0-alpha3-nightly.build.2666 my HP Webcam (video4linux2 uvc camera) is
detected as follows:

-----------
21:24:35.238 INFO:
impl.neomedia.device.DeviceConfiguration.extractConfiguredVideoCaptureDevice().344
Found HP Webcam (/dev/video0) as a AVF
RAME, class net.java.sip.communicator.impl.neomedia.codec.video.AVFrame Video
Device.
21:24:35.261 SEVERE:
impl.neomedia.device.DeviceConfiguration.registerCustomRenderers().1017
Failed to register custom Renderer net.java.sip.
communicator.impl.neomedia.jmfext.media.renderer.video.JAWTRenderer with JMF.
-----------

Video preview fails with this exception:

-----------
21:26:22.056 SEVERE:
impl.neomedia.MediaConfigurationPanel.actionPerformed().583 Failed to create
preview for device HP Webcam (/dev/video0) : video4linux2:/dev/video0
AVFRAME, class net.java.sip.communicator.impl.neomedia.codec.video.AVFrame

javax.media.NoDataSourceException: Error instantiating class:
net.java.sip.communicator.impl.neomedia.jmfext.media.protocol.video4linux2.DataSource :
java.io.IOException: ioctl: request= VIDIOC_S_FMT, width= 640, height= 480,
pixelformat= 1448695129
at javax.media.Manager.createDataSource(Manager.java:1012)
at
net.java.sip.communicator.impl.neomedia.MediaConfigurationPanel.createPreview(MediaConfigurationPanel.java:499)
at
net.java.sip.communicator.impl.neomedia.MediaConfigurationPanel.access$500
(MediaConfigurationPanel.java:30)
at
net.java.sip.communicator.impl.neomedia.MediaConfigurationPanel$7.actionPerformed(MediaConfigurationPanel.java:570)
at
net.java.sip.communicator.impl.neomedia.MediaConfigurationPanel$8.hierarchyChanged(MediaConfigurationPanel.java:612)
at java.awt.Component.processHierarchyEvent(Component.java:6273)
at java.awt.Component.processEvent(Component.java:5892)
at java.awt.Container.processEvent(Container.java:2105)
at java.awt.Component.dispatchEventImpl(Component.java:4467)
at java.awt.Container.dispatchEventImpl(Container.java:2163)
at java.awt.Component.dispatchEvent(Component.java:4293)
at java.awt.Component.addNotify(Component.java:6550)
at java.awt.Container.addNotify(Container.java:2632)
at javax.swing.JComponent.addNotify(JComponent.java:4696)
at java.awt.Container.addNotify(Container.java:2639)
at javax.swing.JComponent.addNotify(JComponent.java:4696)
at java.awt.Container.addNotify(Container.java:2639)
at javax.swing.JComponent.addNotify(JComponent.java:4696)
at java.awt.Container.addNotify(Container.java:2639)
at javax.swing.JComponent.addNotify(JComponent.java:4696)
at java.awt.Container.addImpl(Container.java:1101)
at java.awt.Container.add(Container.java:942)
at
net.java.sip.communicator.impl.gui.main.configforms.ConfigurationFrame.showFormContent(ConfigurationFrame.java:138)
at
net.java.sip.communicator.impl.gui.main.configforms.ConfigFormList.valueChanged(ConfigFormList.java:106)
at javax.swing.JList.fireSelectionValueChanged(JList.java:1782)
at
javax.swing.JList$ListSelectionHandler.valueChanged(JList.java:1796)
at
javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:184)
at
javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:154)
at
javax.swing.DefaultListSelectionModel.setValueIsAdjusting(DefaultListSelectionModel.java:685)
at javax.swing.JList.setValueIsAdjusting(JList.java:2127)
at
javax.swing.plaf.basic.BasicListUI$Handler.mouseReleased(BasicListUI.java:2787)
at
java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290)
at java.awt.Component.processMouseEvent(Component.java:6106)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3276)
at java.awt.Component.processEvent(Component.java:5871)
at java.awt.Container.processEvent(Container.java:2105)
at java.awt.Component.dispatchEventImpl(Component.java:4467)
at java.awt.Container.dispatchEventImpl(Container.java:2163)
at java.awt.Component.dispatchEvent(Component.java:4293)
at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4461)
at
java.awt.LightweightDispatcher.processMouseEvent(Container.java:4125)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055)
at java.awt.Container.dispatchEventImpl(Container.java:2149)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4293)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:604)
at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#3

When I started sip-communicator the next day it Just Worked, so I think this
was exactly the case you describe.

Please let me know if you still want v4l-info output.

Thanks :slight_smile:

···

On Tuesday 25 May 2010 11:52:52 Lubomir Marinov wrote:

- provide the output of the v4l-info command? Alternatively, if you
have mplayer installed already, the output of 'mplayer tv://
tv=driver:v4l2' should also suffice.

- make sure that you select the video device in the Media
configuration form, close the application and open the Media
configuration form after starting the application again without making
calls, switching between various configuration forms or video devices,
etc. This is to isolate erroneous cases where the same video device is
used multiple times.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net