sarxos / webcam-capture

The goal of this project is to allow integrated or USB-connected webcams to be accessed directly from Java. Using provided libraries users are able to read camera images and detect motion. Main project consist of several sub projects - the root one, which contains required classes, build-in webcam driver compatible with Windows, Linux and Mac OS, which can stream images as fast as your camera can serve them (up to 50 FPS). Main project can be used standalone, but user is able to replace build-in driver with different one - such as OpenIMAJ, GStreamer, V4L4j, JMF, LTI-CIVIL, FMJ, etc.
http://webcam-capture.sarxos.pl
MIT License
2.26k stars 1.11k forks source link

Rasbian OS : Cannot take image #243

Open Sarachiel opened 10 years ago

Sarachiel commented 10 years ago

Hello there,

I've been struggling with library for a while, most of my problems were solved by responses to other issues, but now I'm stuck at the dead end. After starting my jar, I see that USB came is detected. After it is supposedly opened, but disposed a moment later. (And I receive error that image that I try to save is null).

Here is an error I've been receiving

262839 [atomic-processor-1] INFO com.github.sarxos.webcam.ds.cgt.WebcamOpenTask - Opening webcam A4 TECH USB2.0 PC Camera J /dev/video0
270023 [webcam-discovery-service] INFO com.github.sarxos.webcam.Webcam - Disposing webcam A4 TECH USB2.0 PC Camera J /dev/video0
270079 [AWT-EventQueue-0] WARN com.github.sarxos.webcam.Webcam - Cannot get image, webcam has been already disposed
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: image == null!
    at javax.imageio.ImageTypeSpecifier.createFromRenderedImage(ImageTypeSpecifier.java:925)
    at javax.imageio.ImageIO.getWriter(ImageIO.java:1591)
    at javax.imageio.ImageIO.write(ImageIO.java:1520)
    at main.ShowMenu.take_picture(ShowMenu.java:1142)
    at main.ShowMenu.drawPageRules(ShowMenu.java:642)
    at main.ShowMenu.SetMenuImage(ShowMenu.java:126)
    at main.ShowMenu.keyPressed(ShowMenu.java:770)
    at java.awt.Component.processKeyEvent(Component.java:6474)
    at java.awt.Component.processEvent(Component.java:6293)
    at java.awt.Container.processEvent(Container.java:2229)
    at java.awt.Window.processEvent(Window.java:2022)
    at java.awt.Component.dispatchEventImpl(Component.java:4872)
    at java.awt.Container.dispatchEventImpl(Container.java:2287)
    at java.awt.Window.dispatchEventImpl(Window.java:2719)
    at java.awt.Component.dispatchEvent(Component.java:4698)
    at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1887)
    at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:762)
    at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1027)
    at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:899)
    at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:727)
    at java.awt.Component.dispatchEventImpl(Component.java:4742)
    at java.awt.Container.dispatchEventImpl(Container.java:2287)
    at java.awt.Window.dispatchEventImpl(Window.java:2719)
    at java.awt.Component.dispatchEvent(Component.java:4698)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
    at java.awt.EventQueue.access$200(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:694)
    at java.awt.EventQueue$3.run(EventQueue.java:692)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
    at java.awt.EventQueue$4.run(EventQueue.java:708)
    at java.awt.EventQueue$4.run(EventQueue.java:706)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

Got openjdk-7-jre on my Raspberry PI with Rasbian OS. Using default driver. No .so files outside the jar.

Party of my used dependencies

      <dependency>
            <groupId>com.github.sarxos</groupId>
            <artifactId>webcam-capture</artifactId>
            <version>0.3.10-RC6</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.6.1</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>1.6.1</version>
        </dependency>
        <dependency>
            <groupId>com.nativelibs4java</groupId>
            <artifactId>bridj</artifactId>
            <version>0.6.3-SNAPSHOT</version>
        </dependency>

How can I overcome this issue ? Is there any confirmed way to make it run on Rasbian OS?

Thanks in advance for Your help :)

sarxos commented 10 years ago

Hi @Sarachiel

Basing on the log entries:

262839 [atomic-processor-1] INFO com.github.sarxos.webcam.ds.cgt.WebcamOpenTask - Opening webcam A4 TECH USB2.0 PC Camera J /dev/video0
270023 [webcam-discovery-service] INFO com.github.sarxos.webcam.Webcam - Disposing webcam A4 TECH USB2.0 PC Camera J /dev/video0
270079 [AWT-EventQueue-0] WARN com.github.sarxos.webcam.Webcam - Cannot get image, webcam has been already disposed
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: image == null!
...

We can conclude that the error is thrown because webcam has been already disposed before taking image. Can you share some source code?

Dependencies in your POM seems to be incorrect because you are using both bridj v0.7 SNAPSHOT inherited from webcam-capture 0.3.10 RC6 and bridj v0.6 SNAPSHOT from your dependency. This should rather be:

      <dependency>
            <groupId>com.github.sarxos</groupId>
            <artifactId>webcam-capture</artifactId>
            <version>0.3.10-RC6</version>
            <exclusions>
              <exclusion>
                <groupId>com.nativelibs4java</groupId>
                <artifactId>bridj</artifactId>
              </exclusion>
           </exclusions>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>1.6.1</version>
        </dependency>
        <dependency>
            <groupId>com.nativelibs4java</groupId>
            <artifactId>bridj</artifactId>
            <version>0.6.3-SNAPSHOT</version>
        </dependency>

It would be good to share complete debug output:

https://github.com/sarxos/webcam-capture/wiki/How-To-Enable-Dubug-Logs

In case of debug logs, please replace slf4j-simple with logback.

sarxos commented 10 years ago

@Sarachiel, I had to update my answer above. Now it's ok.

Sarachiel commented 10 years ago

Thanks for fast answer and correcting my pom file :)

The idea of the programm is that user browses through pages ( for example page 1, page 2, page 3). If he changes page for one with higher number, camera should make a photo and save it to desired folder :

    private void take_picture(String catalog)
    {
        File dir = new File(catalog);
        if (dir.exists() != true) {
            dir.mkdir();
        }
        //camera.open();
        String loc = catalog+"/"+photo_number+".png";
        try {
            ImageIO.write(camera.getImage(), "PNG", new File(loc));
        } catch (IOException e) {
            e.printStackTrace();
        }
        photo_number++;
        //camera.close();
    }

Before in take_picture function I used to open/close camera each time I took photo, but it takes a while to connect to camera, so I put it in another part of the code. Before loading to RPI, the code was tested in W7 x64 and it works great.

While user changes page from 1 to 2, the camera is opened :

camera.open();
take_picture(catalog);

Camera is closed in code only while returning to page 1 :

camera.close();

There are no other places where camera is closed. And as I wrote above, the programm works fine on Windows, so maybe there is something else that might make it crash.

I can't share now whole debug logs, since I don't have my RPI with me right now. I will correct dependencies and try to do it tommorow.

sarxos commented 10 years ago

Ok, please fix the dependencies and post complete debug output.

Sarachiel commented 10 years ago

Unfortunately fixing dependencies didnt help.

Here is the log :

.java:615)
    at java.lang.Thread.run(Thread.java:745)
Jul 31, 2014 11:39:06 AM org.bridj.BridJ log
INFO: Symbol parsing failed : Parsing error at position 2: Expected char 'Z', found 'x' 
    __xstat
      ^ (in symbol '__xstat')
Jul 31, 2014 11:39:06 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="__xstat", address=b6e994bc, demangled="null"
Jul 31, 2014 11:39:06 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="_Z13getDeviceInfoPKc", address=a063268c, demangled="null getDeviceInfo(byte*)"
org.bridj.demangling.Demangler$DemanglingException: Parsing error at position 2: Expected a number 
    _Znwj
      ^ (in symbol '_Znwj')
    at org.bridj.demangling.Demangler.error(Demangler.java:249)
    at org.bridj.demangling.GCC4Demangler.parseName(GCC4Demangler.java:234)
    at org.bridj.demangling.GCC4Demangler.parseNonCompoundIdent(GCC4Demangler.java:372)
    at org.bridj.demangling.GCC4Demangler.parseSimpleOrComplexIdentInto(GCC4Demangler.java:257)
    at org.bridj.demangling.GCC4Demangler.parseSymbol(GCC4Demangler.java:421)
    at org.bridj.NativeLibrary.parseSymbol(NativeLibrary.java:397)
    at org.bridj.demangling.Demangler$Symbol.parse(Demangler.java:355)
    at org.bridj.demangling.Demangler$Symbol.getParsedRef(Demangler.java:349)
    at org.bridj.NativeLibrary.scanSymbols(NativeLibrary.java:379)
    at org.bridj.NativeLibrary.getSymbol(NativeLibrary.java:286)
    at org.bridj.NativeLibrary.getSymbol(NativeLibrary.java:216)
    at org.bridj.cpp.CPPRuntime.registerNativeMethod(CPPRuntime.java:288)
    at org.bridj.CRuntime.register(CRuntime.java:402)
    at org.bridj.CRuntime.register(CRuntime.java:306)
    at org.bridj.BridJ.register(BridJ.java:336)
    at org.bridj.BridJ.register(BridJ.java:192)
    at com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.<clinit>(OpenIMAJGrabber.java:60)
    at com.github.sarxos.webcam.ds.buildin.WebcamDefaultDriver$WebcamNewGrabberTask.handle(WebcamDefaultDriver.java:56)
    at com.github.sarxos.webcam.WebcamProcessor$AtomicProcessor.run(WebcamProcessor.java:66)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Jul 31, 2014 11:39:06 AM org.bridj.BridJ log
INFO: Symbol parsing failed : Parsing error at position 2: Expected a number 
    _Znwj
      ^ (in symbol '_Znwj')
Jul 31, 2014 11:39:06 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="_Znwj", address=a06349c8, demangled="null"
Jul 31, 2014 11:39:06 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="_ZN10DeviceList9getDeviceEi", address=a06329ec, demangled="null DeviceList.getDevice(int)"
org.bridj.demangling.Demangler$DemanglingException: Parsing error at position 2: Expected char 'Z', found 'b' 
    __bss_start__
      ^ (in symbol '__bss_start__')
    at org.bridj.demangling.Demangler.error(Demangler.java:249)
    at org.bridj.demangling.Demangler.error(Demangler.java:241)
    at org.bridj.demangling.Demangler.expectChars(Demangler.java:169)
    at org.bridj.demangling.GCC4Demangler.parseSymbol(GCC4Demangler.java:385)
    at org.bridj.NativeLibrary.parseSymbol(NativeLibrary.java:397)
    at org.bridj.demangling.Demangler$Symbol.parse(Demangler.java:355)
    at org.bridj.demangling.Demangler$Symbol.getParsedRef(Demangler.java:349)
    at org.bridj.NativeLibrary.scanSymbols(NativeLibrary.java:379)
    at org.bridj.NativeLibrary.getSymbol(NativeLibrary.java:286)
    at org.bridj.NativeLibrary.getSymbol(NativeLibrary.java:216)
    at org.bridj.cpp.CPPRuntime.registerNativeMethod(CPPRuntime.java:288)
    at org.bridj.CRuntime.register(CRuntime.java:402)
    at org.bridj.CRuntime.register(CRuntime.java:306)
    at org.bridj.BridJ.register(BridJ.java:336)
    at org.bridj.BridJ.register(BridJ.java:192)
    at com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.<clinit>(OpenIMAJGrabber.java:60)
    at com.github.sarxos.webcam.ds.buildin.WebcamDefaultDriver$WebcamNewGrabberTask.handle(WebcamDefaultDriver.java:56)
    at com.github.sarxos.webcam.WebcamProcessor$AtomicProcessor.run(WebcamProcessor.java:66)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Jul 31, 2014 11:39:06 AM org.bridj.BridJ log
INFO: Symbol parsing failed : Parsing error at position 2: Expected char 'Z', found 'b' 
    __bss_start__
      ^ (in symbol '__bss_start__')
Jul 31, 2014 11:39:06 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="__bss_start__", address=a063cebc, demangled="null"
Jul 31, 2014 11:39:06 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="_ZN15OpenIMAJGrabber8getImageEv", address=a0632bcc, demangled="null OpenIMAJGrabber.getImage()"
Jul 31, 2014 11:39:06 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="v4l2_mmap", address=a0617dcc, demangled="null v4l2_mmap()"
Jul 31, 2014 11:39:06 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="v4l2_open", address=a0615d44, demangled="null v4l2_open()"
Jul 31, 2014 11:39:06 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="fprintf", address=b6e25cb8, demangled="null fprintf()"
Jul 31, 2014 11:39:06 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="_ZN6Device13getIdentifierEv", address=a0632a50, demangled="null Device.getIdentifier()"
org.bridj.demangling.Demangler$DemanglingException: Parsing error at position 2: Expected char 'Z', found 'e' 
    __errno_location
      ^ (in symbol '__errno_location')
    at org.bridj.demangling.Demangler.error(Demangler.java:249)
    at org.bridj.demangling.Demangler.error(Demangler.java:241)
    at org.bridj.demangling.Demangler.expectChars(Demangler.java:169)
    at org.bridj.demangling.GCC4Demangler.parseSymbol(GCC4Demangler.java:385)
    at org.bridj.NativeLibrary.parseSymbol(NativeLibrary.java:397)
    at org.bridj.demangling.Demangler$Symbol.parse(Demangler.java:355)
    at org.bridj.demangling.Demangler$Symbol.getParsedRef(Demangler.java:349)
    at org.bridj.NativeLibrary.scanSymbols(NativeLibrary.java:379)
    at org.bridj.NativeLibrary.getSymbol(NativeLibrary.java:286)
    at org.bridj.NativeLibrary.getSymbol(NativeLibrary.java:216)
    at org.bridj.cpp.CPPRuntime.registerNativeMethod(CPPRuntime.java:288)
    at org.bridj.CRuntime.register(CRuntime.java:402)
    at org.bridj.CRuntime.register(CRuntime.java:306)
    at org.bridj.BridJ.register(BridJ.java:336)
    at org.bridj.BridJ.register(BridJ.java:192)
    at com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.<clinit>(OpenIMAJGrabber.java:60)
    at com.github.sarxos.webcam.ds.buildin.WebcamDefaultDriver$WebcamNewGrabberTask.handle(WebcamDefaultDriver.java:56)
    at com.github.sarxos.webcam.WebcamProcessor$AtomicProcessor.run(WebcamProcessor.java:66)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Jul 31, 2014 11:39:06 AM org.bridj.BridJ log
INFO: Symbol parsing failed : Parsing error at position 2: Expected char 'Z', found 'e' 
    __errno_location
      ^ (in symbol '__errno_location')
Jul 31, 2014 11:39:06 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="__errno_location", address=b6df5c00, demangled="null"
Jul 31, 2014 11:39:07 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="_ZN6Device7getNameEv", address=a0632a28, demangled="null Device.getName()"
Jul 31, 2014 11:39:07 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="stderr", address=b6f09958, demangled="null stderr()"
Jul 31, 2014 11:39:07 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="_ZN15OpenIMAJGrabber9nextFrameEv", address=a0632bf8, demangled="null OpenIMAJGrabber.nextFrame()"
Jul 31, 2014 11:39:07 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="_ZN15OpenIMAJGrabber11stopSessionEv", address=a0632e64, demangled="null OpenIMAJGrabber.stopSession()"
Jul 31, 2014 11:39:07 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="_ZN6DeviceD2Ev", address=a0632900, demangled="null Device.()"
Jul 31, 2014 11:39:07 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="_ZN10DeviceListC2EPP6Devicei", address=a0632940, demangled="null DeviceList.(Device**, int)"
Jul 31, 2014 11:39:07 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="_Z11init_deviceP13_VideoGrabber", address=a06342d0, demangled="null init_device(_VideoGrabber*)"
Jul 31, 2014 11:39:07 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="_Z13process_imageP13_VideoGrabberPvj", address=a0632f38, demangled="null process_image(_VideoGrabber*, void*, int)"
Jul 31, 2014 11:39:07 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="write", address=b6e9a330, demangled="null write()"
org.bridj.demangling.Demangler$DemanglingException: Parsing error at position 1: Expected char 'Z', found 'i' 
    _init
     ^ (in symbol '_init')
    at org.bridj.demangling.Demangler.error(Demangler.java:249)
    at org.bridj.demangling.Demangler.error(Demangler.java:241)
    at org.bridj.demangling.Demangler.expectChars(Demangler.java:169)
    at org.bridj.demangling.GCC4Demangler.parseSymbol(GCC4Demangler.java:385)
    at org.bridj.NativeLibrary.parseSymbol(NativeLibrary.java:397)
    at org.bridj.demangling.Demangler$Symbol.parse(Demangler.java:355)
    at org.bridj.demangling.Demangler$Symbol.getParsedRef(Demangler.java:349)
    at org.bridj.NativeLibrary.scanSymbols(NativeLibrary.java:379)
    at org.bridj.NativeLibrary.getSymbol(NativeLibrary.java:286)
    at org.bridj.NativeLibrary.getSymbol(NativeLibrary.java:216)
    at org.bridj.cpp.CPPRuntime.registerNativeMethod(CPPRuntime.java:288)
    at org.bridj.CRuntime.register(CRuntime.java:402)
    at org.bridj.CRuntime.register(CRuntime.java:306)
    at org.bridj.BridJ.register(BridJ.java:336)
    at org.bridj.BridJ.register(BridJ.java:192)
    at com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.<clinit>(OpenIMAJGrabber.java:60)
    at com.github.sarxos.webcam.ds.buildin.WebcamDefaultDriver$WebcamNewGrabberTask.handle(WebcamDefaultDriver.java:56)
    at com.github.sarxos.webcam.WebcamProcessor$AtomicProcessor.run(WebcamProcessor.java:66)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Jul 31, 2014 11:39:07 AM org.bridj.BridJ log
INFO: Symbol parsing failed : Parsing error at position 1: Expected char 'Z', found 'i' 
    _init
     ^ (in symbol '_init')
Jul 31, 2014 11:39:07 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="_init", address=a0632320, demangled="null"
org.bridj.demangling.Demangler$DemanglingException: Parsing error at position 2: Expected char 'Z', found 'c' 
    __cxa_finalize
      ^ (in symbol '__cxa_finalize')
    at org.bridj.demangling.Demangler.error(Demangler.java:249)
    at org.bridj.demangling.Demangler.error(Demangler.java:241)
    at org.bridj.demangling.Demangler.expectChars(Demangler.java:169)
    at org.bridj.demangling.GCC4Demangler.parseSymbol(GCC4Demangler.java:385)
    at org.bridj.NativeLibrary.parseSymbol(NativeLibrary.java:397)
    at org.bridj.demangling.Demangler$Symbol.parse(Demangler.java:355)
    at org.bridj.demangling.Demangler$Symbol.getParsedRef(Demangler.java:349)
    at org.bridj.NativeLibrary.scanSymbols(NativeLibrary.java:379)
    at org.bridj.NativeLibrary.getSymbol(NativeLibrary.java:286)
    at org.bridj.NativeLibrary.getSymbol(NativeLibrary.java:216)
    at org.bridj.cpp.CPPRuntime.registerNativeMethod(CPPRuntime.java:288)
    at org.bridj.CRuntime.register(CRuntime.java:402)
    at org.bridj.CRuntime.register(CRuntime.java:306)
    at org.bridj.BridJ.register(BridJ.java:336)
    at org.bridj.BridJ.register(BridJ.java:192)
    at com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.<clinit>(OpenIMAJGrabber.java:60)
    at com.github.sarxos.webcam.ds.buildin.WebcamDefaultDriver$WebcamNewGrabberTask.handle(WebcamDefaultDriver.java:56)
    at com.github.sarxos.webcam.WebcamProcessor$AtomicProcessor.run(WebcamProcessor.java:66)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Jul 31, 2014 11:39:07 AM org.bridj.BridJ log
INFO: Symbol parsing failed : Parsing error at position 2: Expected char 'Z', found 'c' 
    __cxa_finalize
      ^ (in symbol '__cxa_finalize')
Jul 31, 2014 11:39:07 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="__cxa_finalize", address=b6e10424, demangled="null"
Jul 31, 2014 11:39:07 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="getenv", address=b6e0f590, demangled="null getenv()"
Jul 31, 2014 11:39:07 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="printf", address=b6e25ce8, demangled="null printf()"
org.bridj.demangling.Demangler$DemanglingException: Parsing error at position 2: Expected char 'Z', found 'b' 
    __bss_end__
      ^ (in symbol '__bss_end__')
    at org.bridj.demangling.Demangler.error(Demangler.java:249)
    at org.bridj.demangling.Demangler.error(Demangler.java:241)
    at org.bridj.demangling.Demangler.expectChars(Demangler.java:169)
    at org.bridj.demangling.GCC4Demangler.parseSymbol(GCC4Demangler.java:385)
    at org.bridj.NativeLibrary.parseSymbol(NativeLibrary.java:397)
    at org.bridj.demangling.Demangler$Symbol.parse(Demangler.java:355)
    at org.bridj.demangling.Demangler$Symbol.getParsedRef(Demangler.java:349)
    at org.bridj.NativeLibrary.scanSymbols(NativeLibrary.java:379)
    at org.bridj.NativeLibrary.getSymbol(NativeLibrary.java:286)
    at org.bridj.NativeLibrary.getSymbol(NativeLibrary.java:216)
    at org.bridj.cpp.CPPRuntime.registerNativeMethod(CPPRuntime.java:288)
    at org.bridj.CRuntime.register(CRuntime.java:402)
    at org.bridj.CRuntime.register(CRuntime.java:306)
    at org.bridj.BridJ.register(BridJ.java:336)
    at org.bridj.BridJ.register(BridJ.java:192)
    at com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.<clinit>(OpenIMAJGrabber.java:60)
    at com.github.sarxos.webcam.ds.buildin.WebcamDefaultDriver$WebcamNewGrabberTask.handle(WebcamDefaultDriver.java:56)
    at com.github.sarxos.webcam.WebcamProcessor$AtomicProcessor.run(WebcamProcessor.java:66)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Jul 31, 2014 11:39:07 AM org.bridj.BridJ log
INFO: Symbol parsing failed : Parsing error at position 2: Expected char 'Z', found 'b' 
    __bss_end__
      ^ (in symbol '__bss_end__')
Jul 31, 2014 11:39:07 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="__bss_end__", address=a063cec4, demangled="null"
Jul 31, 2014 11:39:07 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="strerror", address=b6e5566c, demangled="null strerror()"
Jul 31, 2014 11:39:07 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="_ZN15OpenIMAJGrabber8getWidthEv", address=a0632ee0, demangled="null OpenIMAJGrabber.getWidth()"
org.bridj.demangling.Demangler$DemanglingException: Parsing error at position 1: Expected char 'Z', found 'b' 
    _bss_end__
     ^ (in symbol '_bss_end__')
    at org.bridj.demangling.Demangler.error(Demangler.java:249)
    at org.bridj.demangling.Demangler.error(Demangler.java:241)
    at org.bridj.demangling.Demangler.expectChars(Demangler.java:169)
    at org.bridj.demangling.GCC4Demangler.parseSymbol(GCC4Demangler.java:385)
    at org.bridj.NativeLibrary.parseSymbol(NativeLibrary.java:397)
    at org.bridj.demangling.Demangler$Symbol.parse(Demangler.java:355)
    at org.bridj.demangling.Demangler$Symbol.getParsedRef(Demangler.java:349)
    at org.bridj.NativeLibrary.scanSymbols(NativeLibrary.java:379)
    at org.bridj.NativeLibrary.getSymbol(NativeLibrary.java:286)
    at org.bridj.NativeLibrary.getSymbol(NativeLibrary.java:216)
    at org.bridj.cpp.CPPRuntime.registerNativeMethod(CPPRuntime.java:288)
    at org.bridj.CRuntime.register(CRuntime.java:402)
    at org.bridj.CRuntime.register(CRuntime.java:306)
    at org.bridj.BridJ.register(BridJ.java:336)
    at org.bridj.BridJ.register(BridJ.java:192)
    at com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.<clinit>(OpenIMAJGrabber.java:60)
    at com.github.sarxos.webcam.ds.buildin.WebcamDefaultDriver$WebcamNewGrabberTask.handle(WebcamDefaultDriver.java:56)
    at com.github.sarxos.webcam.WebcamProcessor$AtomicProcessor.run(WebcamProcessor.java:66)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Jul 31, 2014 11:39:07 AM org.bridj.BridJ log
INFO: Symbol parsing failed : Parsing error at position 1: Expected char 'Z', found 'b' 
    _bss_end__
     ^ (in symbol '_bss_end__')
Jul 31, 2014 11:39:08 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="_bss_end__", address=a063cec4, demangled="null"
Jul 31, 2014 11:39:08 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="_ZdaPv", address=a0634a24, demangled="null delete[]()"
Jul 31, 2014 11:39:08 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="v4l2_munmap", address=a0618110, demangled="null v4l2_munmap()"
Jul 31, 2014 11:39:08 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="emulate_cc_delete", address=a0634a24, demangled="null emulate_cc_delete()"
Jul 31, 2014 11:39:08 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="access", address=b6e9a3c0, demangled="null access()"
Jul 31, 2014 11:39:08 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="_ZN15OpenIMAJGrabber10setTimeoutEi", address=a0632c28, demangled="null OpenIMAJGrabber.setTimeout(int)"
org.bridj.demangling.Demangler$DemanglingException: Parsing error at position 1: Expected char 'Z', found 'e' 
    _edata
     ^ (in symbol '_edata')
    at org.bridj.demangling.Demangler.error(Demangler.java:249)
    at org.bridj.demangling.Demangler.error(Demangler.java:241)
    at org.bridj.demangling.Demangler.expectChars(Demangler.java:169)
    at org.bridj.demangling.GCC4Demangler.parseSymbol(GCC4Demangler.java:385)
    at org.bridj.NativeLibrary.parseSymbol(NativeLibrary.java:397)
    at org.bridj.demangling.Demangler$Symbol.parse(Demangler.java:355)
    at org.bridj.demangling.Demangler$Symbol.getParsedRef(Demangler.java:349)
    at org.bridj.NativeLibrary.scanSymbols(NativeLibrary.java:379)
    at org.bridj.NativeLibrary.getSymbol(NativeLibrary.java:286)
    at org.bridj.NativeLibrary.getSymbol(NativeLibrary.java:216)
    at org.bridj.cpp.CPPRuntime.registerNativeMethod(CPPRuntime.java:288)
    at org.bridj.CRuntime.register(CRuntime.java:402)
    at org.bridj.CRuntime.register(CRuntime.java:306)
    at org.bridj.BridJ.register(BridJ.java:336)
    at org.bridj.BridJ.register(BridJ.java:192)
    at com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.<clinit>(OpenIMAJGrabber.java:60)
    at com.github.sarxos.webcam.ds.buildin.WebcamDefaultDriver$WebcamNewGrabberTask.handle(WebcamDefaultDriver.java:56)
    at com.github.sarxos.webcam.WebcamProcessor$AtomicProcessor.run(WebcamProcessor.java:66)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Jul 31, 2014 11:39:08 AM org.bridj.BridJ log
INFO: Symbol parsing failed : Parsing error at position 1: Expected char 'Z', found 'e' 
    _edata
     ^ (in symbol '_edata')
Jul 31, 2014 11:39:08 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="_edata", address=a063cebc, demangled="null"
Jul 31, 2014 11:39:08 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="_Z13grabNextFrameP13_VideoGrabber", address=a06335cc, demangled="null grabNextFrame(_VideoGrabber*)"
Jul 31, 2014 11:39:08 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="_ZN15OpenIMAJGrabber9getHeightEv", address=a0632f0c, demangled="null OpenIMAJGrabber.getHeight()"
Jul 31, 2014 11:39:08 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="getpagesize", address=b6ea1bc0, demangled="null getpagesize()"
Jul 31, 2014 11:39:08 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="strcpy", address=b6e55478, demangled="null strcpy()"
Jul 31, 2014 11:39:08 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="_Z13uninit_deviceP13_VideoGrabber", address=a0633a84, demangled="null uninit_device(_VideoGrabber*)"
Jul 31, 2014 11:39:08 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="strdup", address=b6e55604, demangled="null strdup()"
Jul 31, 2014 11:39:08 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="_ZN10DeviceListC1EPP6Devicei", address=a0632940, demangled="null DeviceList.DeviceList(Device**, int)"
Jul 31, 2014 11:39:08 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="emulate_cc_new", address=a06349c8, demangled="null emulate_cc_new()"
Jul 31, 2014 11:39:08 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="_ZN6DeviceC2EPKcS1_", address=a06328a8, demangled="null Device.(byte*, byte*)"
Jul 31, 2014 11:39:08 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="v4l2_ioctl", address=a06160c8, demangled="null v4l2_ioctl()"
Jul 31, 2014 11:39:08 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="_ZN15OpenIMAJGrabber15getVideoDevicesEv", address=a0632ae8, demangled="null OpenIMAJGrabber.getVideoDevices()"
org.bridj.demangling.Demangler$DemanglingException: Parsing error at position 2: Expected char 'Z', found 'b' 
    __bss_start
      ^ (in symbol '__bss_start')
    at org.bridj.demangling.Demangler.error(Demangler.java:249)
    at org.bridj.demangling.Demangler.error(Demangler.java:241)
    at org.bridj.demangling.Demangler.expectChars(Demangler.java:169)
    at org.bridj.demangling.GCC4Demangler.parseSymbol(GCC4Demangler.java:385)
    at org.bridj.NativeLibrary.parseSymbol(NativeLibrary.java:397)
    at org.bridj.demangling.Demangler$Symbol.parse(Demangler.java:355)
    at org.bridj.demangling.Demangler$Symbol.getParsedRef(Demangler.java:349)
    at org.bridj.NativeLibrary.scanSymbols(NativeLibrary.java:379)
    at org.bridj.NativeLibrary.getSymbol(NativeLibrary.java:286)
    at org.bridj.NativeLibrary.getSymbol(NativeLibrary.java:216)
    at org.bridj.cpp.CPPRuntime.registerNativeMethod(CPPRuntime.java:288)
    at org.bridj.CRuntime.register(CRuntime.java:402)
    at org.bridj.CRuntime.register(CRuntime.java:306)
    at org.bridj.BridJ.register(BridJ.java:336)
    at org.bridj.BridJ.register(BridJ.java:192)
    at com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.<clinit>(OpenIMAJGrabber.java:60)
    at com.github.sarxos.webcam.ds.buildin.WebcamDefaultDriver$WebcamNewGrabberTask.handle(WebcamDefaultDriver.java:56)
    at com.github.sarxos.webcam.WebcamProcessor$AtomicProcessor.run(WebcamProcessor.java:66)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Jul 31, 2014 11:39:08 AM org.bridj.BridJ log
INFO: Symbol parsing failed : Parsing error at position 2: Expected char 'Z', found 'b' 
    __bss_start
      ^ (in symbol '__bss_start')
Jul 31, 2014 11:39:09 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="__bss_start", address=a063cebc, demangled="null"
Jul 31, 2014 11:39:09 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="abort", address=b6e0e7e4, demangled="null abort()"
Jul 31, 2014 11:39:09 AM org.bridj.BridJ log
INFO: DEBUG(BridJ): library="/tmp/BridJExtractedLibraries5111328596982574975/OpenIMAJGrabber.so", symbol="_ZN10DeviceList13getNumDevicesEv", address=a06329c4, demangled="null DeviceList.getNumDevices()"
Jul 31, 2014 11:39:09 AM org.bridj.BridJ log
INFO: Registering public native void com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.setTimeout(int) as C++ method _ZN15OpenIMAJGrabber10setTimeoutEi
Jul 31, 2014 11:39:09 AM org.bridj.BridJ log
INFO: Analyzing com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.getImage
Jul 31, 2014 11:39:09 AM org.bridj.BridJ log
INFO: Runtime for org.bridj.TimeT : org.bridj.CRuntime
Jul 31, 2014 11:39:10 AM org.bridj.BridJ log
INFO: CallIO : org.bridj.CallIO$GenericPointerHandler@8e4c52
Jul 31, 2014 11:39:10 AM org.bridj.BridJ log
INFO:   returns ePointerValue
Jul 31, 2014 11:39:10 AM org.bridj.BridJ log
INFO:   -> direct false
Jul 31, 2014 11:39:10 AM org.bridj.BridJ log
INFO:   -> javaSignature ()Lorg/bridj/Pointer;
Jul 31, 2014 11:39:10 AM org.bridj.BridJ log
INFO:   -> callIOs [org.bridj.CallIO$GenericPointerHandler@8e4c52]
Jul 31, 2014 11:39:10 AM org.bridj.BridJ log
INFO:   -> asmSignature ()Lorg/bridj/Pointer<*Ljava/lang/Byte;>
Jul 31, 2014 11:39:10 AM org.bridj.BridJ log
INFO:   -> dcSignature pp)p
Jul 31, 2014 11:39:10 AM org.bridj.BridJ log
INFO: [not mappable as direct] public native org.bridj.Pointer com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.getImage()
Jul 31, 2014 11:39:10 AM org.bridj.BridJ log
INFO: Registering public native org.bridj.Pointer com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.getImage() as C++ method _ZN15OpenIMAJGrabber8getImageEv
Jul 31, 2014 11:39:10 AM org.bridj.BridJ log
INFO: Analyzing com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.getWidth
Jul 31, 2014 11:39:10 AM org.bridj.BridJ log
INFO:   returns eIntValue
Jul 31, 2014 11:39:10 AM org.bridj.BridJ log
INFO:   -> direct false
Jul 31, 2014 11:39:10 AM org.bridj.BridJ log
INFO:   -> javaSignature ()I
Jul 31, 2014 11:39:10 AM org.bridj.BridJ log
INFO:   -> callIOs null
Jul 31, 2014 11:39:10 AM org.bridj.BridJ log
INFO:   -> asmSignature ()I
Jul 31, 2014 11:39:10 AM org.bridj.BridJ log
INFO:   -> dcSignature pp)i
Jul 31, 2014 11:39:10 AM org.bridj.BridJ log
INFO: [not mappable as direct] public native int com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.getWidth()
Jul 31, 2014 11:39:10 AM org.bridj.BridJ log
INFO: Registering public native int com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.getWidth() as C++ method _ZN15OpenIMAJGrabber8getWidthEv
Jul 31, 2014 11:39:10 AM org.bridj.BridJ log
INFO: Analyzing com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.getHeight
Jul 31, 2014 11:39:10 AM org.bridj.BridJ log
INFO:   returns eIntValue
Jul 31, 2014 11:39:10 AM org.bridj.BridJ log
INFO:   -> direct false
Jul 31, 2014 11:39:10 AM org.bridj.BridJ log
INFO:   -> javaSignature ()I
Jul 31, 2014 11:39:11 AM org.bridj.BridJ log
INFO:   -> callIOs null
Jul 31, 2014 11:39:11 AM org.bridj.BridJ log
INFO:   -> asmSignature ()I
Jul 31, 2014 11:39:11 AM org.bridj.BridJ log
INFO:   -> dcSignature pp)i
Jul 31, 2014 11:39:11 AM org.bridj.BridJ log
INFO: [not mappable as direct] public native int com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.getHeight()
Jul 31, 2014 11:39:11 AM org.bridj.BridJ log
INFO: Registering public native int com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.getHeight() as C++ method _ZN15OpenIMAJGrabber9getHeightEv
Jul 31, 2014 11:39:11 AM org.bridj.BridJ log
INFO: Analyzing com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.nextFrame
Jul 31, 2014 11:39:11 AM org.bridj.BridJ log
INFO:   returns eIntValue
Jul 31, 2014 11:39:11 AM org.bridj.BridJ log
INFO:   -> direct false
Jul 31, 2014 11:39:11 AM org.bridj.BridJ log
INFO:   -> javaSignature ()I
Jul 31, 2014 11:39:11 AM org.bridj.BridJ log
INFO:   -> callIOs null
Jul 31, 2014 11:39:11 AM org.bridj.BridJ log
INFO:   -> asmSignature ()I
Jul 31, 2014 11:39:11 AM org.bridj.BridJ log
INFO:   -> dcSignature pp)i
Jul 31, 2014 11:39:11 AM org.bridj.BridJ log
INFO: [not mappable as direct] public native int com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.nextFrame()
Jul 31, 2014 11:39:11 AM org.bridj.BridJ log
INFO: Registering public native int com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.nextFrame() as C++ method _ZN15OpenIMAJGrabber9nextFrameEv
Jul 31, 2014 11:39:11 AM org.bridj.BridJ log
INFO: Analyzing com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.getVideoDevices
Jul 31, 2014 11:39:11 AM org.bridj.BridJ log
INFO: CallIO : org.bridj.CallIO$GenericPointerHandler@ffdb0b
Jul 31, 2014 11:39:11 AM org.bridj.BridJ log
INFO:   returns ePointerValue
Jul 31, 2014 11:39:12 AM org.bridj.BridJ log
INFO:   -> direct false
Jul 31, 2014 11:39:12 AM org.bridj.BridJ log
INFO:   -> javaSignature ()Lorg/bridj/Pointer;
Jul 31, 2014 11:39:12 AM org.bridj.BridJ log
INFO:   -> callIOs [org.bridj.CallIO$GenericPointerHandler@ffdb0b]
Jul 31, 2014 11:39:12 AM org.bridj.BridJ log
INFO:   -> asmSignature ()Lorg/bridj/Pointer<*Lcom/github/sarxos/webcam/ds/buildin/natives/DeviceList;>
Jul 31, 2014 11:39:12 AM org.bridj.BridJ log
INFO:   -> dcSignature pp)p
Jul 31, 2014 11:39:12 AM org.bridj.BridJ log
INFO: [not mappable as direct] public native org.bridj.Pointer com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.getVideoDevices()
Jul 31, 2014 11:39:12 AM org.bridj.BridJ log
INFO: Registering public native org.bridj.Pointer com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.getVideoDevices() as C++ method _ZN15OpenIMAJGrabber15getVideoDevicesEv
Jul 31, 2014 11:39:12 AM org.bridj.BridJ log
INFO: Analyzing com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.startSession
Jul 31, 2014 11:39:12 AM org.bridj.BridJ log
INFO:   param eIntValue
Jul 31, 2014 11:39:12 AM org.bridj.BridJ log
INFO:   param eIntValue
Jul 31, 2014 11:39:12 AM org.bridj.BridJ log
INFO:   param eDoubleValue
Jul 31, 2014 11:39:12 AM org.bridj.BridJ log
INFO:   returns eBooleanValue
Jul 31, 2014 11:39:12 AM org.bridj.BridJ log
INFO:   -> direct false
Jul 31, 2014 11:39:12 AM org.bridj.BridJ log
INFO:   -> javaSignature (IID)Z
Jul 31, 2014 11:39:12 AM org.bridj.BridJ log
INFO:   -> callIOs null
Jul 31, 2014 11:39:12 AM org.bridj.BridJ log
INFO:   -> asmSignature (IID)Z
Jul 31, 2014 11:39:12 AM org.bridj.BridJ log
INFO:   -> dcSignature ppiid)B
Jul 31, 2014 11:39:12 AM org.bridj.BridJ log
INFO: [not mappable as direct] public native boolean com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.startSession(int,int,double)
Jul 31, 2014 11:39:12 AM org.bridj.BridJ log
INFO: Registering public native boolean com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.startSession(int,int,double) as C++ method _ZN15OpenIMAJGrabber12startSessionEiid
Jul 31, 2014 11:39:12 AM org.bridj.BridJ log
INFO: Analyzing com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.startSession
Jul 31, 2014 11:39:12 AM org.bridj.BridJ log
INFO:   param eIntValue
Jul 31, 2014 11:39:12 AM org.bridj.BridJ log
INFO:   param eIntValue
Jul 31, 2014 11:39:12 AM org.bridj.BridJ log
INFO:   param eDoubleValue
Jul 31, 2014 11:39:12 AM org.bridj.BridJ log
INFO: CallIO : org.bridj.CallIO$GenericPointerHandler@1c898a2
Jul 31, 2014 11:39:12 AM org.bridj.BridJ log
INFO:   param ePointerValue
Jul 31, 2014 11:39:12 AM org.bridj.BridJ log
INFO:   returns eBooleanValue
Jul 31, 2014 11:39:13 AM org.bridj.BridJ log
INFO:   -> direct false
Jul 31, 2014 11:39:13 AM org.bridj.BridJ log
INFO:   -> javaSignature (IIDLorg/bridj/Pointer;)Z
Jul 31, 2014 11:39:13 AM org.bridj.BridJ log
INFO:   -> callIOs [org.bridj.CallIO$GenericPointerHandler@1c898a2]
Jul 31, 2014 11:39:13 AM org.bridj.BridJ log
INFO:   -> asmSignature (IIDLorg/bridj/Pointer;)Z
Jul 31, 2014 11:39:13 AM org.bridj.BridJ log
INFO:   -> dcSignature ppiidp)B
Jul 31, 2014 11:39:13 AM org.bridj.BridJ log
INFO: [not mappable as direct] public native boolean com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.startSession(int,int,double,org.bridj.Pointer)
Jul 31, 2014 11:39:13 AM org.bridj.BridJ log
INFO: Not enough args for null OpenIMAJGrabber.startSession(int, int, double)
Jul 31, 2014 11:39:13 AM org.bridj.BridJ log
INFO: Symbol _ZN15OpenIMAJGrabber12startSessionEiid was a good candidate but expected demangled signature null OpenIMAJGrabber.startSession(int, int, double) did not match the method public native boolean com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.startSession(int,int,double,org.bridj.Pointer)
Jul 31, 2014 11:39:13 AM org.bridj.BridJ log
INFO: Registering public native boolean com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.startSession(int,int,double,org.bridj.Pointer) as C++ method _ZN15OpenIMAJGrabber12startSessionEiidP6Device
Jul 31, 2014 11:39:13 AM org.bridj.BridJ log
INFO: Analyzing com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.stopSession
Jul 31, 2014 11:39:13 AM org.bridj.BridJ log
INFO:   returns eVoidValue
Jul 31, 2014 11:39:13 AM org.bridj.BridJ log
INFO:   -> direct false
Jul 31, 2014 11:39:13 AM org.bridj.BridJ log
INFO:   -> javaSignature ()V
Jul 31, 2014 11:39:13 AM org.bridj.BridJ log
INFO:   -> callIOs null
Jul 31, 2014 11:39:13 AM org.bridj.BridJ log
INFO:   -> asmSignature ()V
Jul 31, 2014 11:39:13 AM org.bridj.BridJ log
INFO:   -> dcSignature pp)v
Jul 31, 2014 11:39:13 AM org.bridj.BridJ log
INFO: [not mappable as direct] public native void com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.stopSession()
Jul 31, 2014 11:39:13 AM org.bridj.BridJ log
INFO: Registering public native void com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.stopSession() as C++ method _ZN15OpenIMAJGrabber11stopSessionEv
Jul 31, 2014 11:39:14 AM org.bridj.BridJ log
INFO: // size = 0, alignment = -1
struct OpenIMAJGrabber { 
}
Jul 31, 2014 11:39:14 AM org.bridj.BridJ log
INFO: Creating C++ instance of type class com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber with args []
Jul 31, 2014 11:39:14 AM org.bridj.BridJ log
INFO: Registering destructor of com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber as _ZN15OpenIMAJGrabberD1Ev
Jul 31, 2014 11:39:14 AM org.bridj.BridJ log
INFO: Runtime for org.bridj.cpp.CPPRuntime$CPPDestructor : org.bridj.CRuntime
Jul 31, 2014 11:39:14 AM org.bridj.BridJ log
INFO: // size = 0, alignment = -1
struct CPPDestructor { 
}
Jul 31, 2014 11:39:14 AM org.bridj.BridJ log
INFO: No fields found in org.bridj.cpp.CPPRuntime$CPPDestructor (maybe they weren't declared as public ?)
Jul 31, 2014 11:39:14 AM org.bridj.BridJ log
INFO: Analyzing org.bridj.cpp.CPPRuntime$CPPDestructor.destroy
Jul 31, 2014 11:39:14 AM org.bridj.BridJ log
INFO:   param eLongValue
Jul 31, 2014 11:39:14 AM org.bridj.BridJ log
INFO:   returns eVoidValue
Jul 31, 2014 11:39:14 AM org.bridj.BridJ log
INFO:   -> direct false
Jul 31, 2014 11:39:14 AM org.bridj.BridJ log
INFO:   -> javaSignature (J)V
Jul 31, 2014 11:39:14 AM org.bridj.BridJ log
INFO:   -> callIOs null
Jul 31, 2014 11:39:14 AM org.bridj.BridJ log
INFO:   -> asmSignature (J)V
Jul 31, 2014 11:39:14 AM org.bridj.BridJ log
INFO:   -> dcSignature l)v
Jul 31, 2014 11:39:14 AM org.bridj.BridJ log
INFO: [not mappable as direct] public abstract void org.bridj.cpp.CPPRuntime$CPPDestructor.destroy(long)
Jul 31, 2014 11:39:15 AM org.bridj.BridJ log
INFO: Analyzing org.bridj.cpp.CPPRuntime_CPPDestructor_NativeImpl.destroy
Jul 31, 2014 11:39:15 AM org.bridj.BridJ log
INFO:   param eLongValue
Jul 31, 2014 11:39:15 AM org.bridj.BridJ log
INFO:   returns eVoidValue
Jul 31, 2014 11:39:15 AM org.bridj.BridJ log
INFO:   -> direct false
Jul 31, 2014 11:39:15 AM org.bridj.BridJ log
INFO:   -> javaSignature (J)V
Jul 31, 2014 11:39:15 AM org.bridj.BridJ log
INFO:   -> callIOs null
Jul 31, 2014 11:39:15 AM org.bridj.BridJ log
INFO:   -> asmSignature (J)V
Jul 31, 2014 11:39:15 AM org.bridj.BridJ log
INFO:   -> dcSignature ppl)v
Jul 31, 2014 11:39:15 AM org.bridj.BridJ log
INFO: [not mappable as direct] public native void org.bridj.cpp.CPPRuntime_CPPDestructor_NativeImpl.destroy(long)
Jul 31, 2014 11:39:15 AM org.bridj.BridJ log
INFO: Registering java -> native callback : public native void org.bridj.cpp.CPPRuntime_CPPDestructor_NativeImpl.destroy(long)
Jul 31, 2014 11:39:15 AM org.bridj.BridJ log
INFO: Runtime for org.bridj.cpp.CPPRuntime_CPPDestructor_NativeImpl : org.bridj.CRuntime
Jul 31, 2014 11:39:15 AM org.bridj.BridJ log
INFO: // size = 0, alignment = -1
struct CPPRuntime_CPPDestructor_NativeImpl { 
}
Jul 31, 2014 11:39:16 AM org.bridj.BridJ log
INFO: No fields found in org.bridj.cpp.CPPRuntime_CPPDestructor_NativeImpl (maybe they weren't declared as public ?)
Jul 31, 2014 11:39:16 AM org.bridj.BridJ log
INFO: Created native object from pointer Pointer(peer = 0xa0632aa8, targetType = org.bridj.cpp.CPPRuntime$CPPDestructor, order = LITTLE_ENDIAN)
Jul 31, 2014 11:39:16 AM org.bridj.BridJ log
INFO: Found constructor for com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber : public com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber()
Jul 31, 2014 11:39:16 AM org.bridj.BridJ log
INFO: Registering constructor public com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber() as _ZN15OpenIMAJGrabberC1Ev
Jul 31, 2014 11:39:16 AM org.bridj.BridJ log
INFO: Analyzing org.bridj.dyncallbacks.PointerToVoid_0.apply
Jul 31, 2014 11:39:16 AM org.bridj.BridJ log
INFO: CallIO : org.bridj.CallIO$GenericPointerHandler@189f531
Jul 31, 2014 11:39:16 AM org.bridj.BridJ log
INFO:   param ePointerValue
Jul 31, 2014 11:39:16 AM org.bridj.BridJ log
INFO:   returns eVoidValue
Jul 31, 2014 11:39:16 AM org.bridj.BridJ log
INFO:   -> direct false
Jul 31, 2014 11:39:16 AM org.bridj.BridJ log
INFO:   -> javaSignature (Lorg/bridj/Pointer;)V
Jul 31, 2014 11:39:16 AM org.bridj.BridJ log
INFO:   -> callIOs [org.bridj.CallIO$GenericPointerHandler@189f531]
Jul 31, 2014 11:39:16 AM org.bridj.BridJ log
INFO:   -> asmSignature (Lorg/bridj/Pointer;)V
Jul 31, 2014 11:39:16 AM org.bridj.BridJ log
INFO:   -> dcSignature ppp)v
Jul 31, 2014 11:39:16 AM org.bridj.BridJ log
INFO: [not mappable as direct] public native void org.bridj.dyncallbacks.PointerToVoid_0.apply(org.bridj.Pointer)
Jul 31, 2014 11:39:16 AM org.bridj.BridJ log
INFO: Analyzing org.bridj.dyncallbacks.PointerToVoid_0.apply
Jul 31, 2014 11:39:16 AM org.bridj.BridJ log
INFO: CallIO : org.bridj.CallIO$GenericPointerHandler@4c6693
Jul 31, 2014 11:39:16 AM org.bridj.BridJ log
INFO:   param ePointerValue
Jul 31, 2014 11:39:16 AM org.bridj.BridJ log
INFO:   returns eVoidValue
Jul 31, 2014 11:39:16 AM org.bridj.BridJ log
INFO:   -> direct false
Jul 31, 2014 11:39:16 AM org.bridj.BridJ log
INFO:   -> javaSignature (Lorg/bridj/Pointer;)V
Jul 31, 2014 11:39:16 AM org.bridj.BridJ log
INFO:   -> callIOs [org.bridj.CallIO$GenericPointerHandler@4c6693]
Jul 31, 2014 11:39:16 AM org.bridj.BridJ log
INFO:   -> asmSignature (Lorg/bridj/Pointer;)V
Jul 31, 2014 11:39:16 AM org.bridj.BridJ log
INFO:   -> dcSignature ppp)v
Jul 31, 2014 11:39:17 AM org.bridj.BridJ log
INFO: [not mappable as direct] public native void org.bridj.dyncallbacks.PointerToVoid_0.apply(org.bridj.Pointer)
Jul 31, 2014 11:39:17 AM org.bridj.BridJ log
INFO: Registering java -> native callback : public native void org.bridj.dyncallbacks.PointerToVoid_0.apply(org.bridj.Pointer)
Jul 31, 2014 11:39:17 AM org.bridj.BridJ log
INFO: Runtime for org.bridj.dyncallbacks.PointerToVoid_0 : org.bridj.CRuntime
Jul 31, 2014 11:39:17 AM org.bridj.BridJ log
INFO: // size = 0, alignment = -1
struct PointerToVoid_0 { 
}
Jul 31, 2014 11:39:17 AM org.bridj.BridJ log
INFO: No fields found in org.bridj.dyncallbacks.PointerToVoid_0 (maybe they weren't declared as public ?)
Jul 31, 2014 11:39:17 AM org.bridj.BridJ log
INFO: Calling method public native void org.bridj.dyncallbacks.PointerToVoid_0.apply(org.bridj.Pointer)
Jul 31, 2014 11:39:17 AM org.bridj.BridJ log
INFO: Calling method public native org.bridj.Pointer com.github.sarxos.webcam.ds.buildin.natives.OpenIMAJGrabber.getVideoDevices()
Jul 31, 2014 11:39:17 AM org.bridj.BridJ log
INFO: // size = 0, alignment = -1
struct DeviceList { 
}
Jul 31, 2014 11:39:17 AM org.bridj.BridJ log
INFO: Runtime for com.github.sarxos.webcam.ds.buildin.natives.DeviceList : org.bridj.cpp.CPPRuntime
Jul 31, 2014 11:39:17 AM org.bridj.BridJ log
INFO: Analyzing com.github.sarxos.webcam.ds.buildin.natives.DeviceList.getDevice
Jul 31, 2014 11:39:17 AM org.bridj.BridJ log
INFO:   param eIntValue
Jul 31, 2014 11:39:17 AM org.bridj.BridJ log
INFO: CallIO : org.bridj.CallIO$GenericPointerHandler@1e504a4
Jul 31, 2014 11:39:17 AM org.bridj.BridJ log
INFO:   returns ePointerValue
Jul 31, 2014 11:39:17 AM org.bridj.BridJ log
INFO:   -> direct false
Jul 31, 2014 11:39:17 AM org.bridj.BridJ log
INFO:   -> javaSignature (I)Lorg/bridj/Pointer;
Jul 31, 2014 11:39:17 AM org.bridj.BridJ log
INFO:   -> callIOs [org.bridj.CallIO$GenericPointerHandler@1e504a4]
Jul 31, 2014 11:39:18 AM org.bridj.BridJ log
INFO:   -> asmSignature (I)Lorg/bridj/Pointer<*Lcom/github/sarxos/webcam/ds/buildin/natives/Device;>
Jul 31, 2014 11:39:18 AM org.bridj.BridJ log
INFO:   -> dcSignature ppi)p
Jul 31, 2014 11:39:18 AM org.bridj.BridJ log
INFO: [not mappable as direct] public native org.bridj.Pointer com.github.sarxos.webcam.ds.buildin.natives.DeviceList.getDevice(int)
Jul 31, 2014 11:39:18 AM org.bridj.BridJ log
INFO: Symbol _Z13getDeviceInfoPKc was a good candidate but expected demangled signature null getDeviceInfo(byte*) did not match the method public native org.bridj.Pointer com.github.sarxos.webcam.ds.buildin.natives.DeviceList.getDevice(int)
Jul 31, 2014 11:39:18 AM org.bridj.BridJ log
INFO: Registering public native org.bridj.Pointer com.github.sarxos.webcam.ds.buildin.natives.DeviceList.getDevice(int) as C++ method _ZN10DeviceList9getDeviceEi
Jul 31, 2014 11:39:18 AM org.bridj.BridJ log
INFO: Analyzing com.github.sarxos.webcam.ds.buildin.natives.DeviceList.getNumDevices
Jul 31, 2014 11:39:18 AM org.bridj.BridJ log
INFO:   returns eIntValue
Jul 31, 2014 11:39:18 AM org.bridj.BridJ log
INFO:   -> direct false
Jul 31, 2014 11:39:18 AM org.bridj.BridJ log
INFO:   -> javaSignature ()I
Jul 31, 2014 11:39:18 AM org.bridj.BridJ log
INFO:   -> callIOs null
Jul 31, 2014 11:39:18 AM org.bridj.BridJ log
INFO:   -> asmSignature ()I
Jul 31, 2014 11:39:18 AM org.bridj.BridJ log
INFO:   -> dcSignature pp)i
Jul 31, 2014 11:39:18 AM org.bridj.BridJ log
INFO: [not mappable as direct] public native int com.github.sarxos.webcam.ds.buildin.natives.DeviceList.getNumDevices()
Jul 31, 2014 11:39:18 AM org.bridj.BridJ log
INFO: Registering public native int com.github.sarxos.webcam.ds.buildin.natives.DeviceList.getNumDevices() as C++ method _ZN10DeviceList13getNumDevicesEv
Jul 31, 2014 11:39:18 AM org.bridj.BridJ log
INFO: Created native object from pointer Pointer(peer = 0x112eb98, targetType = com.github.sarxos.webcam.ds.buildin.natives.DeviceList, order = LITTLE_ENDIAN)
Jul 31, 2014 11:39:18 AM org.bridj.BridJ log
INFO: Calling method public native int com.github.sarxos.webcam.ds.buildin.natives.DeviceList.getNumDevices()
Jul 31, 2014 11:39:18 AM org.bridj.BridJ log
INFO: Calling method public native org.bridj.Pointer com.github.sarxos.webcam.ds.buildin.natives.DeviceList.getDevice(int)
Jul 31, 2014 11:39:18 AM org.bridj.BridJ log
INFO: // size = 0, alignment = -1
struct Device { 
}
Jul 31, 2014 11:39:18 AM org.bridj.BridJ log
INFO: Runtime for com.github.sarxos.webcam.ds.buildin.natives.Device : org.bridj.cpp.CPPRuntime
Jul 31, 2014 11:39:18 AM org.bridj.BridJ log
INFO: Analyzing com.github.sarxos.webcam.ds.buildin.natives.Device.getIdentifier
Jul 31, 2014 11:39:18 AM org.bridj.BridJ log
INFO: CallIO : org.bridj.CallIO$GenericPointerHandler@93db24
Jul 31, 2014 11:39:18 AM org.bridj.BridJ log
INFO:   returns ePointerValue
Jul 31, 2014 11:39:18 AM org.bridj.BridJ log
INFO:   -> direct false
Jul 31, 2014 11:39:18 AM org.bridj.BridJ log
INFO:   -> javaSignature ()Lorg/bridj/Pointer;
Jul 31, 2014 11:39:18 AM org.bridj.BridJ log
INFO:   -> callIOs [org.bridj.CallIO$GenericPointerHandler@93db24]
Jul 31, 2014 11:39:18 AM org.bridj.BridJ log
INFO:   -> asmSignature ()Lorg/bridj/Pointer<*Ljava/lang/Byte;>
Jul 31, 2014 11:39:18 AM org.bridj.BridJ log
INFO:   -> dcSignature pp)p
Jul 31, 2014 11:39:19 AM org.bridj.BridJ log
INFO: [not mappable as direct] protected native org.bridj.Pointer com.github.sarxos.webcam.ds.buildin.natives.Device.getIdentifier()
Jul 31, 2014 11:39:19 AM org.bridj.BridJ log
INFO: Registering protected native org.bridj.Pointer com.github.sarxos.webcam.ds.buildin.natives.Device.getIdentifier() as C++ method _ZN6Device13getIdentifierEv
Jul 31, 2014 11:39:19 AM org.bridj.BridJ log
INFO: Analyzing com.github.sarxos.webcam.ds.buildin.natives.Device.getName
Jul 31, 2014 11:39:19 AM org.bridj.BridJ log
INFO: CallIO : org.bridj.CallIO$GenericPointerHandler@1184d18
Jul 31, 2014 11:39:19 AM org.bridj.BridJ log
INFO:   returns ePointerValue
Jul 31, 2014 11:39:19 AM org.bridj.BridJ log
INFO:   -> direct false
Jul 31, 2014 11:39:19 AM org.bridj.BridJ log
INFO:   -> javaSignature ()Lorg/bridj/Pointer;
Jul 31, 2014 11:39:19 AM org.bridj.BridJ log
INFO:   -> callIOs [org.bridj.CallIO$GenericPointerHandler@1184d18]
Jul 31, 2014 11:39:19 AM org.bridj.BridJ log
INFO:   -> asmSignature ()Lorg/bridj/Pointer<*Ljava/lang/Byte;>
Jul 31, 2014 11:39:19 AM org.bridj.BridJ log
INFO:   -> dcSignature pp)p
Jul 31, 2014 11:39:19 AM org.bridj.BridJ log
INFO: [not mappable as direct] protected native org.bridj.Pointer com.github.sarxos.webcam.ds.buildin.natives.Device.getName()
Jul 31, 2014 11:39:19 AM org.bridj.BridJ log
INFO: Registering protected native org.bridj.Pointer com.github.sarxos.webcam.ds.buildin.natives.Device.getName() as C++ method _ZN6Device7getNameEv
Jul 31, 2014 11:39:19 AM org.bridj.BridJ log
INFO: Created native object from pointer Pointer(peer = 0x116d5e8, targetType = com.github.sarxos.webcam.ds.buildin.natives.Device, order = LITTLE_ENDIAN)
Jul 31, 2014 11:39:19 AM org.bridj.BridJ log
INFO: Calling method public native int com.github.sarxos.webcam.ds.buildin.natives.DeviceList.getNumDevices()
Jul 31, 2014 11:39:19 AM org.bridj.BridJ log
INFO: Calling method protected native org.bridj.Pointer com.github.sarxos.webcam.ds.buildin.natives.Device.getName()
Jul 31, 2014 11:39:19 AM org.bridj.BridJ log
INFO: Calling method protected native org.bridj.Pointer com.github.sarxos.webcam.ds.buildin.natives.Device.getIdentifier()
11:39:19.823 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video0
WYSYLAM 4 !
041407311139
KONIEC 4 !
11:05:57.085 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:05:57.134 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video0
11:06:00.139 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:06:00.184 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video0
11:06:03.192 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:06:03.248 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video0
11:06:06.251 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:06:06.306 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video0
11:06:09.311 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:06:09.345 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video0
11:06:12.364 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:06:12.414 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video0
11:06:15.425 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:06:15.485 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video0
11:06:18.495 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:06:18.584 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video0
11:06:21.588 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:06:21.634 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video0
11:06:24.638 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:06:24.704 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video0
11:06:27.708 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:06:27.731 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video0
11:06:30.735 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:06:30.757 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video0
11:06:33.761 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:06:33.783 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video0
11:06:36.788 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:06:36.805 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video0
11:06:39.814 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:06:39.894 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video0
11:06:42.898 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:06:42.920 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video0
11:06:45.926 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:06:45.946 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video0
11:06:48.953 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:06:48.975 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video0
11:06:51.979 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:06:52.001 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video0
11:06:55.006 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:06:55.025 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video0
11:06:58.032 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:06:58.055 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video0
11:07:01.059 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:07:01.073 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video0
11:07:04.086 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:07:04.164 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video0
11:07:07.169 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:07:07.215 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video0
11:07:10.219 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:07:10.284 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video0
11:07:13.288 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:07:13.350 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video0
11:07:16.354 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:07:16.404 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video0
11:07:18.054 [AWT-EventQueue-0] DEBUG com.github.sarxos.webcam.WebcamLock - Lock Webcam A4 TECH USB2.0 PC Camera J /dev/video0
11:07:18.126 [atomic-processor-1] INFO  c.g.s.webcam.ds.cgt.WebcamOpenTask - Opening webcam A4 TECH USB2.0 PC Camera J /dev/video0
11:07:18.146 [atomic-processor-1] DEBUG c.g.s.w.d.b.WebcamDefaultDevice - Opening webcam device A4 TECH USB2.0 PC Camera J /dev/video0
11:07:18.156 [atomic-processor-1] DEBUG c.g.s.w.d.b.WebcamDefaultDevice - Webcam device /dev/video0 starting session, size java.awt.Dimension[width=176,height=144]
11:07:18.247 [atomic-processor-1] DEBUG c.g.s.w.d.b.WebcamDefaultDevice - Webcam device session started
11:07:18.258 [atomic-processor-1] DEBUG c.g.s.w.d.b.WebcamDefaultDevice - Initialize buffer
11:07:19.415 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:07:25.349 [atomic-processor-1] DEBUG c.g.s.w.d.b.WebcamDefaultDevice - Webcam device com.github.sarxos.webcam.ds.buildin.WebcamDefaultDevice@1524a61 is now open
11:07:25.370 [AWT-EventQueue-0] DEBUG com.github.sarxos.webcam.Webcam - Webcam is now open A4 TECH USB2.0 PC Camera J /dev/video0
11:07:25.435 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video1
11:07:25.441 [webcam-discovery-service] INFO  com.github.sarxos.webcam.Webcam - Disposing webcam A4 TECH USB2.0 PC Camera J /dev/video0
11:07:25.490 [AWT-EventQueue-0] WARN  com.github.sarxos.webcam.Webcam - Cannot get image, webcam has been already disposed
11:07:25.525 [atomic-processor-1] DEBUG c.g.s.w.d.b.WebcamDefaultDevice - Disposing webcam device A4 TECH USB2.0 PC Camera J /dev/video0
11:07:25.530 [atomic-processor-1] DEBUG c.g.s.w.d.b.WebcamDefaultDevice - Closing webcam device
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: image == null!
    at javax.imageio.ImageTypeSpecifier.createFromRenderedImage(ImageTypeSpecifier.java:925)
    at javax.imageio.ImageIO.getWriter(ImageIO.java:1591)
    at javax.imageio.ImageIO.write(ImageIO.java:1520)
    at main.ShowMenu.take_picture(ShowMenu.java:1144)
    at main.ShowMenu.drawPageRules(ShowMenu.java:644)
    at main.ShowMenu.SetMenuImage(ShowMenu.java:128)
    at main.ShowMenu.keyPressed(ShowMenu.java:772)
    at java.awt.Component.processKeyEvent(Component.java:6474)
    at java.awt.Component.processEvent(Component.java:6293)
    at java.awt.Container.processEvent(Container.java:2229)
    at java.awt.Window.processEvent(Window.java:2022)
    at java.awt.Component.dispatchEventImpl(Component.java:4872)
    at java.awt.Container.dispatchEventImpl(Container.java:2287)
    at java.awt.Window.dispatchEventImpl(Window.java:2719)
    at java.awt.Component.dispatchEvent(Component.java:4698)
    at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1887)
    at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:762)
    at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1027)
    at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:899)
    at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:727)
    at java.awt.Component.dispatchEventImpl(Component.java:4742)
    at java.awt.Container.dispatchEventImpl(Container.java:2287)
    at java.awt.Window.dispatchEventImpl(Window.java:2719)
    at java.awt.Component.dispatchEvent(Component.java:4698)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)11:07:25.661 [webcam-discovery-service] DEBUG com.github.sarxos.webcam.Webcam - Webcam disposed A4 TECH USB2.0 PC Camera J /dev/video0

    at java.awt.EventQueue.access$200(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:694)
    at java.awt.EventQueue$3.run(EventQueue.java:692)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
    at java.awt.EventQueue$4.run(EventQueue.java:708)
    at java.awt.EventQueue$4.run(EventQueue.java:706)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
11:07:28.668 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:07:28.695 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video1
11:07:31.716 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:07:31.736 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video1

Wasn't able to retrieve everything (just too much lines due to other packages like pi4j and hsqldb), but I hope that this will be enough.

sarxos commented 10 years ago

@Sarachiel

This part is VERY interesting:

11:07:16.354 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:07:16.404 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video0
11:07:18.054 [AWT-EventQueue-0] DEBUG com.github.sarxos.webcam.WebcamLock - Lock Webcam A4 TECH USB2.0 PC Camera J /dev/video0
11:07:18.126 [atomic-processor-1] INFO  c.g.s.webcam.ds.cgt.WebcamOpenTask - Opening webcam A4 TECH USB2.0 PC Camera J /dev/video0
11:07:18.146 [atomic-processor-1] DEBUG c.g.s.w.d.b.WebcamDefaultDevice - Opening webcam device A4 TECH USB2.0 PC Camera J /dev/video0
11:07:18.156 [atomic-processor-1] DEBUG c.g.s.w.d.b.WebcamDefaultDevice - Webcam device /dev/video0 starting session, size java.awt.Dimension[width=176,height=144]
11:07:18.247 [atomic-processor-1] DEBUG c.g.s.w.d.b.WebcamDefaultDevice - Webcam device session started
11:07:18.258 [atomic-processor-1] DEBUG c.g.s.w.d.b.WebcamDefaultDevice - Initialize buffer
11:07:19.415 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
11:07:25.349 [atomic-processor-1] DEBUG c.g.s.w.d.b.WebcamDefaultDevice - Webcam device com.github.sarxos.webcam.ds.buildin.WebcamDefaultDevice@1524a61 is now open
11:07:25.370 [AWT-EventQueue-0] DEBUG com.github.sarxos.webcam.Webcam - Webcam is now open A4 TECH USB2.0 PC Camera J /dev/video0
11:07:25.435 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device A4 TECH USB2.0 PC Camera J /dev/video1
11:07:25.441 [webcam-discovery-service] INFO  com.github.sarxos.webcam.Webcam - Disposing webcam A4 TECH USB2.0 PC Camera J /dev/video0
11:07:25.490 [AWT-EventQueue-0] WARN  com.github.sarxos.webcam.Webcam - Cannot get image, webcam has been already disposed
11:07:25.525 [atomic-processor-1] DEBUG c.g.s.w.d.b.WebcamDefaultDevice - Disposing webcam device A4 TECH USB2.0 PC Camera J /dev/video0
11:07:25.530 [atomic-processor-1] DEBUG c.g.s.w.d.b.WebcamDefaultDevice - Closing webcam device

The above means that discovery service (thread designed to detect newly connected webcam devices) is suddenly disposing previously allocated instance which was in-use, because it detected that it has been disconnected from USB.

  1. Discovery found /dev/video0
  2. User open /dev/video0
  3. Discovery found /dev/video1 and no /dev/video0
  4. Because /dev/video0 was not found, discovery suppose it has been disconnected and perform cleanup (by disposing the instance).
  5. After webcam is disposed it cannot be used any more and returns null on the getImage(..) call.

Can you please perform small experiment and verify if /dev/video0 disappear, and /dev/video1 appear when the problem is detected (by doing ls -la /dev | grep -i video)? I suppose this may be some bug, but I would like to have clean view in the situation.

Ah, I almost forget - to w/a your problem you can disable discovery service:

Webcam.getDiscoveryService().setEnabled(false);

By doing the above you will tell the Webcam class to not start discovery service at all. Therefore, it will not dispose webcam instance which is in use.

Sarachiel commented 10 years ago

Sorry for such late response - I was on a business trip.

I was thinking about what You've wrote in last post and came to simply different conclusion. Before I used a USB HUB to connect the camera to the RPI. I thought that it might cause problems for the lib. I connected it directly and run the program again. It worked well this time, camera was detected and made photos - tho small ones.

Did the small experiment and that's what I've got. The "====" separates test before running program and after it.

crw-rw---T   1 root video    29,   0 Jan  1  1970 fb0
crw-rw---T   1 root video   250,   0 Jan  1  1970 vchiq
crw-rw---T+  1 root video    81,   0 Jan  1  1970 video0
===================
crw-rw---T   1 root video    29,   0 Jan  1  1970 fb0
crw-rw---T   1 root video   250,   0 Jan  1  1970 vchiq
crw-rw---T+  1 root video    81,   0 Jan  1  1970 video0

So it seems rather ok.

The "Webcam.getDiscoveryService().setEnabled(false);" procedure isn't correct - my IDE discards the setEnabled() function. Did You mean "Webcam.getDiscoveryService().stop();" ? Btw, is there any way to tell the camera to make shots at certain resolution? And circa how long it takes at RPI to make such photo ?

I ask since it seems that I have problems with HSQLDB at RPI, cause it might be the reason why my program runs so slowly.

Thanks again for Your answer. The given hint alllowed me to overcome the problem :)

sarxos commented 10 years ago

Hi @Sarachiel,

Thank you for the details. I was not aware of the USB hub issue. I was testing Webcam Capture API with some cheap one I bought in Netto and had no issues with such configuration. I suppose that video1 suddenly spawned because of the hub connected in the middle, but I have no idea why this happened.

my IDE discards the setEnabled() function. Did You mean "Webcam.getDiscoveryService().stop();" ?

Nope, I meant Webcam.getDiscoveryService().setEnabled(false). This method has been added in RC7 (see d36900b258ab9bf04409e6a5009c4dd6c47b8394) and you are using RC6.

is there any way to tell the camera to make shots at certain resolution?

Indeed, there is. By default the following resolutions are supported: QQVGA, QVGA, VGA. However you can use any resolution you want, but you first need to "register" it:

Webcam w = Webcam.getDefault();
w.setViewSize(WebcamResolution.VGA.getSize()); // this will capture 640x480
w.open();

For non-default resolutions:

Dimension resolution = new Dimension(1024, 768); // for example
Webcam w = Webcam.getDefault();
w.setCustomViewSizes(new Dimension[] { resolution });
w.setViewSize(resolution); // this will capture 1024x768 if camera support it, interpolate to closest size if given resolution is not supported
w.open();

And circa how long it takes at RPI to make such photo?

At my RasPi model B it took ~3 seconds to open the camera, and then I was able to take single picture once per 500 or 200 ms (depending on light and pi gpio usage). As I remember correctly I was trying VGA, but I may be wrong. Smaller image takes less time to capture. I found some more details in older issues. People reported such speed on RasPi:

302_240 nearly 7~ FPS, 1024_768 nearly 2-4 FPS

Sarachiel commented 9 years ago

Hi @sarxos ,

I've changed the working platform from Raspberry PI to DN2800MT (with 32 bit Win 7). The library works great (only opening camera takes some time, but that;s not a problem).

I've noticed, that after I set custom dimension it is transformed to the closest one supported by camera device (If I set 5000 x 5000 it scales it to 1024 x 768). But here is my question. 1024 x 768 gives around 1 MP, while my built-in camera can support up to 2 MP. Am I doing something wrong? Or I need to get another driver ? (using default one). If so, how can I easily add it to the camera ? Tried with few, but wasn't able to do it correctly.

Thanks in advance for Your answer :)

sarxos commented 9 years ago

@Sarachiel,

Yes, approximation is done in native videoinput library (the Java side of Webcam capture API do not handle this), however, if you know exact resolution, you should be able to set it by calling:

Dimension resolution = new Dimension(2048, 1024); // your exact 2MB resolution, for example
Webcam w = Webcam.getDefault();
w.setCustomViewSizes(new Dimension[] { resolution });
w.setViewSize(resolution);

In console you can see what resolution are detected by videoinput by setting this environment variable to true (and running your app from command line, for more details please see):

C:\>set OPENIMAJ_GRABBER_VERBOSE=true

The output should be similar to:

VIDEOINPUT SPY MODE!

SETUP: Looking For Capture Devices
SETUP: 0) Trust Webcam 14839 
SETUP: 1 Device(s) found

SETUP: Setting up device 0
SETUP: Trust Webcam 14839
SETUP: Couldn't find preview pin using SmartTee
SETUP: Default Format is set to 640 by 480 
SETUP: trying format RGB24 @ 1024 by 768
SETUP: trying format RGB32 @ 1024 by 768
SETUP: trying format RGB555 @ 1024 by 768
SETUP: trying format RGB565 @ 1024 by 768
SETUP: trying format YUY2 @ 1024 by 768
SETUP: trying format YVYU @ 1024 by 768
SETUP: trying format YUYV @ 1024 by 768
SETUP: trying format IYUV @ 1024 by 768
SETUP: trying format UYVY @ 1024 by 768
SETUP: trying format YV12 @ 1024 by 768
SETUP: trying format YVU9 @ 1024 by 768
SETUP: trying format Y411 @ 1024 by 768
SETUP: trying format Y41P @ 1024 by 768
SETUP: trying format Y211 @ 1024 by 768
SETUP: trying format AYUV @ 1024 by 768
SETUP: trying format Y800 @ 1024 by 768
SETUP: trying format Y8 @ 1024 by 768