/*
* @(#)VFWCapture.java 1.16 03/04/25
*
* Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved.
*/
package com.sun.media.protocol.vfw;
import java.awt.*;
import java.util.*;
import javax.media.*;
import com.sun.media.vfw.*;
public class VFWCapture {
private static int globalnID = 0x00022100;
static {
com.sun.media.JMFSecurityManager.loadLibrary("jmvfw");
cacheFieldIDs();
}
public static synchronized int getNextID() {
return globalnID++;
}
static native boolean cacheFieldIDs();
static native int capSetWindowPos(int hWnd,
int x, int y,
int width, int height);
public static native int capCreateCaptureWindow(String title,
int parentHandle,
int x, int y,
int width, int height,
int nID);
public static native String capGetDriverDescriptionName(int driverID);
static native String capGetDriverDescriptionDesc(int driverID);
static native boolean capCaptureAbort(int hWnd);
static native boolean capCaptureGetSetup(int hWnd,
CaptureParms cp);
static native boolean capCaptureSetSetup(int hWnd,
CaptureParms cp);
static native boolean capCaptureSequence(int hWnd);
static native boolean capCaptureSequenceNoFile(int hWnd);
static native boolean capCaptureStop(int hWnd);
static native boolean capDlgVideoCompression(int hWnd);
static native boolean capDlgVideoDisplay(int hWnd);
public static native boolean capDlgVideoFormat(int hWnd);
static native boolean capDlgVideoSource(int hWnd);
public static native boolean capDriverConnect(int hWnd, int driverIndex);
public static native boolean capDriverDisconnect(int hWnd);
static native boolean capDriverGetCaps(int hWnd, CapDriverCaps cp);
public static native String capDriverGetName(int hWnd);
static native String capDriverGetVersion(int hWnd);
static native boolean capGetAudioFormat(int hWnd, WaveFormatEx wfe);
static native boolean capGetStatus(int hWnd, CapStatus cs);
public static native boolean capGetVideoFormat(int hWnd, BitMapInfo bmi);
static native boolean capOverlay(int hWnd, boolean overlay);
static native boolean capPreview(int hWnd, boolean preview);
static native boolean capPreviewRate(int hWnd, int millis);
static native boolean capPreviewScale(int hWnd, boolean scale);
static native boolean capSetAudioFormat(int hWnd, WaveFormatEx wfe);
static native boolean capSetVideoFormat(int hWnd, BitMapInfo bmi);
static native int createFrameCallback(int hWnd);
static native void startFrameCallback(int hWnd, int cbHandle);
static native void stopFrameCallback(int hWnd, int cbHandle);
static native void destroyFrameCallback(int hWnd, int cbHandle);
static native int getAvailableData(int hWnd, int cbHandle,
Object data, long dataBytes,
int dataLength,
long [] resultTimeStamp);
static native void destroyWindow(int hWnd);
static native int createWindow(String title);
// value = 0 for hide, 1 for minimal, 2 for normal
static native void showWindow(int hWnd, int value, int width, int height);
static native int peekWindowLoop(int window);
}
|