[sip-comm] Video hardware detection problem


#1

Hi,

sip-communicator hangs for about 90 seconds during startup in Windows XP, while trying to initialize my laptop's camera.

The delay occurs in class impl.media.device.VFWAuto.autoDetectDevices() method. Specifically, the call to com.sun.media.protocol.vfw.VFWSourceStream.autoDetect(i) takes forever for the "Microsoft WDM Image Capture (Win32)" device.

Here's the output log with the timestamps:

[...]
14:04:39.609 INFO: impl.media.device.JavaSoundAuto.<init>().69 JavaSoundAuto: Committed ok
14:04:39.609 INFO: impl.media.device.JmfDeviceDetector.detectCaptureDevices().122 Looking for video capture devices
14:04:39.625 FINE: impl.media.device.VFWAuto.autoDetectDevices().61 Found device Microsoft WDM Image Capture (Win32)
14:04:39.625 FINE: impl.media.device.VFWAuto.autoDetectDevices().62 Querying device. Please wait...
14:06:55.125 INFO: impl.media.device.JmfDeviceDetector.detectCaptureDevices().129 Detected 0 VFW video capture device(s).
14:06:55.140 INFO: impl.media.device.JmfDeviceDetector.detectCaptureDevices().144 Detected 0 SUN Video capture device(s).
14:06:55.156 INFO: impl.media.device.JmfDeviceDetector.detectCaptureDevices().159 Detected 0 SUN Video Plus device(s).
14:06:55.156 FINE: impl.media.device.JmfDeviceDetector.detectCaptureDevices().179 No V4l video detected: com/sun/media/protocol/v4l/V4LDeviceQuery
14:06:55.156 FINEST: impl.media.device.JmfDeviceDetector.setupJMF().345 [exit] setupJMF
14:06:55.156 INFO: impl.media.device.DeviceConfiguration.extractConfiguredCaptureDevices().81 Scanning for configured Audio Devices.
[...]

I've now added a "if (!name.equals("Microsoft WDM Image Capture (Win32)")..." there to work around the problem. Is sip-communicator supposed to work with video on XP? Any pointers on how to fix this?

···

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


#2

Hi Alexandros,

Yes this is a know problem. I had tried a fix some time ago that was
starting device detection in a separate thread, but I didn't have enough
time to test it so it is not currently activated.

You could give it a try if you wish. All it takes is changing

(sip-communicator/src/)net.java.sip.communicator.impl.media.MediaServiceImpl

Line 220:
    public void start()
    {
- new DeviceConfigurationThread().run();
+ new DeviceConfigurationThread().start();
    }

I'd appreciate any feedback if you have the time to test this.

Cheers
Emil

Alexandros Karypidis wrote:

···

Hi,

sip-communicator hangs for about 90 seconds during startup in Windows
XP, while trying to initialize my laptop's camera.

The delay occurs in class impl.media.device.VFWAuto.autoDetectDevices()
method. Specifically, the call to
com.sun.media.protocol.vfw.VFWSourceStream.autoDetect(i) takes forever
for the "Microsoft WDM Image Capture (Win32)" device.

Here's the output log with the timestamps:

[...]
14:04:39.609 INFO: impl.media.device.JavaSoundAuto.<init>().69
JavaSoundAuto: Committed ok
14:04:39.609 INFO:
impl.media.device.JmfDeviceDetector.detectCaptureDevices().122 Looking
for video capture devices
14:04:39.625 FINE: impl.media.device.VFWAuto.autoDetectDevices().61
Found device Microsoft WDM Image Capture (Win32)
14:04:39.625 FINE: impl.media.device.VFWAuto.autoDetectDevices().62
Querying device. Please wait...
14:06:55.125 INFO:
impl.media.device.JmfDeviceDetector.detectCaptureDevices().129 Detected
0 VFW video capture device(s).
14:06:55.140 INFO:
impl.media.device.JmfDeviceDetector.detectCaptureDevices().144 Detected
0 SUN Video capture device(s).
14:06:55.156 INFO:
impl.media.device.JmfDeviceDetector.detectCaptureDevices().159 Detected
0 SUN Video Plus device(s).
14:06:55.156 FINE:
impl.media.device.JmfDeviceDetector.detectCaptureDevices().179 No V4l
video detected: com/sun/media/protocol/v4l/V4LDeviceQuery
14:06:55.156 FINEST: impl.media.device.JmfDeviceDetector.setupJMF().345
[exit] setupJMF
14:06:55.156 INFO:
impl.media.device.DeviceConfiguration.extractConfiguredCaptureDevices().81
Scanning for configured Audio Devices.
[...]

I've now added a "if (!name.equals("Microsoft WDM Image Capture
(Win32)")..." there to work around the problem. Is sip-communicator
supposed to work with video on XP? Any pointers on how to fix this?

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

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


#3

Hello Emil,

Thanks for this workaround, it is much better than the hard-coded "if" I used. However, it is still not a solution to the problem. As would be expected, it is impossible to place SIP calls before the media bundle finishes initialization. I tried calling into sip-communicator as soon as the GUI popped up and the behaviour was:

a) the incoming call was presented but there was no audible ringing
b) pressing the "accept" button had no effect

A redial, after the media bundle finished starting worked successfully...

Emil Ivov wrote:

···

Hi Alexandros,

Yes this is a know problem. I had tried a fix some time ago that was
starting device detection in a separate thread, but I didn't have enough
time to test it so it is not currently activated.

You could give it a try if you wish. All it takes is changing

(sip-communicator/src/)net.java.sip.communicator.impl.media.MediaServiceImpl

Line 220:
    public void start()
    {
- new DeviceConfigurationThread().run();
+ new DeviceConfigurationThread().start();
    }

I'd appreciate any feedback if you have the time to test this.

Cheers
Emil

Alexandros Karypidis wrote:
  

Hi,

sip-communicator hangs for about 90 seconds during startup in Windows XP, while trying to initialize my laptop's camera.

The delay occurs in class impl.media.device.VFWAuto.autoDetectDevices() method. Specifically, the call to com.sun.media.protocol.vfw.VFWSourceStream.autoDetect(i) takes forever for the "Microsoft WDM Image Capture (Win32)" device.

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


#4

Hello Alexandros and Emil!

I think this problem should go away when SIP-Communicator switches from JMF
to FMJ. I've earlier tried the lti-civil video driver which is part of FMJ
and it detects the camera devices in an instant. So IMHO there is no need to
spend too much time on a workaround.

Regards
Michael Koch

Von: Alexandros Karypidis [mailto:akarypid@yahoo.gr]
Gesendet: Samstag, 1. September 2007 18:21
An: users@sip-communicator.dev.java.net
Betreff: Re: [sip-comm] Video hardware detection problem

Hello Emil,

Thanks for this workaround, it is much better than the
hard-coded "if" I
used. However, it is still not a solution to the problem. As would be
expected, it is impossible to place SIP calls before the media bundle
finishes initialization. I tried calling into
sip-communicator as soon
as the GUI popped up and the behaviour was:

a) the incoming call was presented but there was no audible ringing
b) pressing the "accept" button had no effect

A redial, after the media bundle finished starting worked
successfully...

Emil Ivov wrote:
> Hi Alexandros,
>
> Yes this is a know problem. I had tried a fix some time ago that was
> starting device detection in a separate thread, but I
didn't have enough
> time to test it so it is not currently activated.
>
> You could give it a try if you wish. All it takes is changing
>
>
(sip-communicator/src/)net.java.sip.communicator.impl.media.Me

diaServiceImpl

···

-----Ursprüngliche Nachricht-----
>
> Line 220:
> public void start()
> {
> - new DeviceConfigurationThread().run();
> + new DeviceConfigurationThread().start();
> }
>
> I'd appreciate any feedback if you have the time to test this.
>
> Cheers
> Emil
>
> Alexandros Karypidis wrote:
>
>> Hi,
>>
>> sip-communicator hangs for about 90 seconds during startup
in Windows
>> XP, while trying to initialize my laptop's camera.
>>
>> The delay occurs in class
impl.media.device.VFWAuto.autoDetectDevices()
>> method. Specifically, the call to
>> com.sun.media.protocol.vfw.VFWSourceStream.autoDetect(i)
takes forever
>> for the "Microsoft WDM Image Capture (Win32)" device.
>>
>> [...]
>>

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


#5

Oh, great tip!

Thanks for shairing it. Let's hope that we'll be able to do the change
soon then.

Emil

Koch Michael wrote:

···

Hello Alexandros and Emil!

I think this problem should go away when SIP-Communicator switches from JMF
to FMJ. I've earlier tried the lti-civil video driver which is part of FMJ
and it detects the camera devices in an instant. So IMHO there is no need to
spend too much time on a workaround.

Regards
Michael Koch

-----Urspr�ngliche Nachricht-----
Von: Alexandros Karypidis [mailto:akarypid@yahoo.gr]
Gesendet: Samstag, 1. September 2007 18:21
An: users@sip-communicator.dev.java.net
Betreff: Re: [sip-comm] Video hardware detection problem

Hello Emil,

Thanks for this workaround, it is much better than the
hard-coded "if" I
used. However, it is still not a solution to the problem. As would be
expected, it is impossible to place SIP calls before the media bundle
finishes initialization. I tried calling into
sip-communicator as soon
as the GUI popped up and the behaviour was:

a) the incoming call was presented but there was no audible ringing
b) pressing the "accept" button had no effect

A redial, after the media bundle finished starting worked
successfully...

Emil Ivov wrote:

Hi Alexandros,

Yes this is a know problem. I had tried a fix some time ago that was
starting device detection in a separate thread, but I

didn't have enough

time to test it so it is not currently activated.

You could give it a try if you wish. All it takes is changing

(sip-communicator/src/)net.java.sip.communicator.impl.media.Me

diaServiceImpl

Line 220:
    public void start()
    {
- new DeviceConfigurationThread().run();
+ new DeviceConfigurationThread().start();
    }

I'd appreciate any feedback if you have the time to test this.

Cheers
Emil

Alexandros Karypidis wrote:
  

Hi,

sip-communicator hangs for about 90 seconds during startup

in Windows

XP, while trying to initialize my laptop's camera.

The delay occurs in class

impl.media.device.VFWAuto.autoDetectDevices()

method. Specifically, the call to
com.sun.media.protocol.vfw.VFWSourceStream.autoDetect(i)

takes forever

for the "Microsoft WDM Image Capture (Win32)" device.

[...]
    

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

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