[jitsi-dev] [libjitsi] MJPG: Failed to initialize DirectShowSystem


#1

Hello,

I´ve downloaded libjitsi 283 source code and I´m trying to execute
AVTransmit2 example.

There seems to be a problem with the MJPG support built in recently.

Did I forget something to configure in eclipse?

Native path with all dll´s is correct and dll´s are found as only this
specific function seems not to be found in the jndirectshow.dll.

Thanks in advance.

René

INFO: Initializing video devices

Okt 29, 2013 7:57:14 PM org.jitsi.util.Logger warn

WARNING: Failed to initialize
org.jitsi.impl.neomedia.device.DirectShowSystem

java.lang.reflect.UndeclaredThrowableException

       at
org.jitsi.impl.neomedia.device.DeviceSystem.invokeDeviceSystemInitialize(Dev
iceSystem.java:424)

       at
org.jitsi.impl.neomedia.device.DeviceSystem.invokeDeviceSystemInitialize(Dev
iceSystem.java:331)

       at
org.jitsi.impl.neomedia.device.DeviceSystem.<init>(DeviceSystem.java:476)

       at
org.jitsi.impl.neomedia.device.DeviceSystem.<init>(DeviceSystem.java:458)

       at
org.jitsi.impl.neomedia.device.DirectShowSystem.<init>(DirectShowSystem.java
:52)

       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)

       at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAcces
sorImpl.java:57)

       at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstruc
torAccessorImpl.java:45)

       at java.lang.reflect.Constructor.newInstance(Constructor.java:525)

       at java.lang.Class.newInstance0(Class.java:374)

       at java.lang.Class.newInstance(Class.java:327)

       at
org.jitsi.impl.neomedia.device.DeviceSystem.initializeDeviceSystems(DeviceSy
stem.java:271)

       at
org.jitsi.impl.neomedia.device.DeviceSystem.initializeDeviceSystems(DeviceSy
stem.java:217)

       at
org.jitsi.impl.neomedia.device.DeviceSystem.initializeDeviceSystems(DeviceSy
stem.java:161)

       at
org.jitsi.impl.neomedia.device.DeviceConfiguration.<init>(DeviceConfiguratio
n.java:336)

       at
org.jitsi.impl.neomedia.MediaServiceImpl.<init>(MediaServiceImpl.java:135)

       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)

       at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAcces
sorImpl.java:57)

       at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstruc
torAccessorImpl.java:45)

       at java.lang.reflect.Constructor.newInstance(Constructor.java:525)

       at java.lang.Class.newInstance0(Class.java:374)

       at java.lang.Class.newInstance(Class.java:327)

       at
org.jitsi.impl.libjitsi.LibJitsiImpl.getService(LibJitsiImpl.java:133)

       at
org.jitsi.service.libjitsi.LibJitsi.invokeGetServiceOnImpl(LibJitsi.java:163
)

       at
org.jitsi.service.libjitsi.LibJitsi.getMediaService(LibJitsi.java:115)

       at org.jitsi.examples.AVTransmit2.start(AVTransmit2.java:95)

       at org.jitsi.examples.AVTransmit2.main(AVTransmit2.java:342)

Caused by: java.lang.UnsatisfiedLinkError:
org.jitsi.impl.neomedia.jmfext.media.protocol.directshow.DSFormat.MJPG()I

       at
org.jitsi.impl.neomedia.jmfext.media.protocol.directshow.DSFormat.MJPG(Nativ
e Method)

       at
org.jitsi.impl.neomedia.jmfext.media.protocol.directshow.DSFormat.<clinit>(D
SFormat.java:83)

       at
org.jitsi.impl.neomedia.jmfext.media.protocol.directshow.DSCaptureDevice.get
SupportedFormats(Native Method)

       at
org.jitsi.impl.neomedia.jmfext.media.protocol.directshow.DSCaptureDevice.get
SupportedFormats(DSCaptureDevice.java:145)

       at
org.jitsi.impl.neomedia.device.DirectShowSystem.doInitialize(DirectShowSyste
m.java:71)

       at
org.jitsi.impl.neomedia.device.DeviceSystem.initialize(DeviceSystem.java:625
)

       at
org.jitsi.impl.neomedia.device.DeviceSystem$1.run(DeviceSystem.java:376)


#2

Hello,

I´ve rebuilt the libjitsi.jar using 283 source code removing the MJPG
support in the directshow protocol.

Using this jar everything works as expected.

I guess the current windows binary (at least x86) of jndirectshow.dll from
release 282 and 283 doesn´t match the source code.

Maybe the jndirectshow.dll wasn´t rebuilt when adding MJPG support?

Cheers,

René

···

Von: dev-bounces@jitsi.org [mailto:dev-bounces@jitsi.org] Im Auftrag von
Rene Lamotte
Gesendet: Dienstag, 29. Oktober 2013 20:44
An: dev@jitsi.org
Betreff: [jitsi-dev] [libjitsi] MJPG: Failed to initialize DirectShowSystem

Hello,

I´ve downloaded libjitsi 283 source code and I´m trying to execute
AVTransmit2 example.

There seems to be a problem with the MJPG support built in recently.

Did I forget something to configure in eclipse?

Native path with all dll´s is correct and dll´s are found as only this
specific function seems not to be found in the jndirectshow.dll.

Thanks in advance.

René

INFO: Initializing video devices

Okt 29, 2013 7:57:14 PM org.jitsi.util.Logger warn

WARNING: Failed to initialize
org.jitsi.impl.neomedia.device.DirectShowSystem

java.lang.reflect.UndeclaredThrowableException

       at
org.jitsi.impl.neomedia.device.DeviceSystem.invokeDeviceSystemInitialize(Dev
iceSystem.java:424)

       at
org.jitsi.impl.neomedia.device.DeviceSystem.invokeDeviceSystemInitialize(Dev
iceSystem.java:331)

       at
org.jitsi.impl.neomedia.device.DeviceSystem.<init>(DeviceSystem.java:476)

       at
org.jitsi.impl.neomedia.device.DeviceSystem.<init>(DeviceSystem.java:458)

       at
org.jitsi.impl.neomedia.device.DirectShowSystem.<init>(DirectShowSystem.java
:52)

       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)

       at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAcces
sorImpl.java:57)

       at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstruc
torAccessorImpl.java:45)

       at java.lang.reflect.Constructor.newInstance(Constructor.java:525)

       at java.lang.Class.newInstance0(Class.java:374)

       at java.lang.Class.newInstance(Class.java:327)

       at
org.jitsi.impl.neomedia.device.DeviceSystem.initializeDeviceSystems(DeviceSy
stem.java:271)

       at
org.jitsi.impl.neomedia.device.DeviceSystem.initializeDeviceSystems(DeviceSy
stem.java:217)

       at
org.jitsi.impl.neomedia.device.DeviceSystem.initializeDeviceSystems(DeviceSy
stem.java:161)

       at
org.jitsi.impl.neomedia.device.DeviceConfiguration.<init>(DeviceConfiguratio
n.java:336)

       at
org.jitsi.impl.neomedia.MediaServiceImpl.<init>(MediaServiceImpl.java:135)

       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)

       at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAcces
sorImpl.java:57)

       at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstruc
torAccessorImpl.java:45)

       at java.lang.reflect.Constructor.newInstance(Constructor.java:525)

       at java.lang.Class.newInstance0(Class.java:374)

       at java.lang.Class.newInstance(Class.java:327)

       at
org.jitsi.impl.libjitsi.LibJitsiImpl.getService(LibJitsiImpl.java:133)

       at
org.jitsi.service.libjitsi.LibJitsi.invokeGetServiceOnImpl(LibJitsi.java:163
)

       at
org.jitsi.service.libjitsi.LibJitsi.getMediaService(LibJitsi.java:115)

       at org.jitsi.examples.AVTransmit2.start(AVTransmit2.java:95)

       at org.jitsi.examples.AVTransmit2.main(AVTransmit2.java:342)

Caused by: java.lang.UnsatisfiedLinkError:
org.jitsi.impl.neomedia.jmfext.media.protocol.directshow.DSFormat.MJPG()I

       at
org.jitsi.impl.neomedia.jmfext.media.protocol.directshow.DSFormat.MJPG(Nativ
e Method)

       at
org.jitsi.impl.neomedia.jmfext.media.protocol.directshow.DSFormat.<clinit>(D
SFormat.java:83)

       at
org.jitsi.impl.neomedia.jmfext.media.protocol.directshow.DSCaptureDevice.get
SupportedFormats(Native Method)

       at
org.jitsi.impl.neomedia.jmfext.media.protocol.directshow.DSCaptureDevice.get
SupportedFormats(DSCaptureDevice.java:145)

       at
org.jitsi.impl.neomedia.device.DirectShowSystem.doInitialize(DirectShowSyste
m.java:71)

       at
org.jitsi.impl.neomedia.device.DeviceSystem.initialize(DeviceSystem.java:625
)

       at
org.jitsi.impl.neomedia.device.DeviceSystem$1.run(DeviceSystem.java:376)


#3

Thank you, René!

It seems that the up-to-date binaries of jndirectshow.dll were
committed in jitsi/jitsi and not in jitsi/libjitsi. Commit
4a1bb6d42479921fcc4c53e1f0b06514383a65b1 in jitsi/libjitsi should fix
the issue.

···

2013/10/29 Rene Lamotte <chummer25@gmx.net>:

Caused by: java.lang.UnsatisfiedLinkError:
org.jitsi.impl.neomedia.jmfext.media.protocol.directshow.DSFormat.MJPG()I