de.humatic.dsj.com
Class DMO

java.lang.Object
  extended by de.humatic.dsj.com.DMO
All Implemented Interfaces:
COMObject
Direct Known Subclasses:
DMOAudioEffect, DMOVideoEffect

public class DMO
extends java.lang.Object
implements COMObject

Baseclass for DMO (DirectX Media Object) implementations. DMO's are media processing units that can be hosted in various architectures (DirectShow, WindowsMedia FormatSDK, MediaFoundation). In DirectShow they are used via a DMOWrapperFilter and - apart from parameter control, which this class or its subclasses provide - can be mostly treated like classic DirectShow filters. To get hold of a DMO object use COMFactory.queryInterface(..) on the wrapper filter with an interface ID of IID_IMediaObject and cast the returned COMObject to either DMO, DMOAudio- or DMOVideoEffect.
Windows uses a unified parameter type, defined as MP_DATA, with DMOs which always is 32 bit long, but may be interpreted as int, float, bool etc. dsj uses floats instead, because most parameters actually take float values. You can simply cast int values to float and use 1 for true / 0 for for false where needed.


Nested Class Summary
 class DMO.DMOParameterInfo
           
 
Field Summary
static int CURVE_INVSQUARE
           
static int CURVE_JUMP
           
static int CURVE_LINEAR
           
static int CURVE_SINE
           
static int CURVE_SQUARE
           
static int MPT_BOOL
          Parameter types for DMOParameterInfos
static int MPT_ENUM
          Parameter types for DMOParameterInfos
static int MPT_FLOAT
          Parameter types for DMOParameterInfos
static int MPT_INT
          Parameter types for DMOParameterInfos
static int READ_ONLY
           
 
Method Summary
 float getParameter(int pIndex)
           
 float getParameter(java.lang.String pName)
           
 DMO.DMOParameterInfo[] getParameterInfo()
           
 void release()
           
 void setParameter(int pIndex, float pValue)
           
 void setParameter(java.lang.String pName, float pValue)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

READ_ONLY

public static final int READ_ONLY
See Also:
Constant Field Values

CURVE_JUMP

public static final int CURVE_JUMP
See Also:
Constant Field Values

CURVE_LINEAR

public static final int CURVE_LINEAR
See Also:
Constant Field Values

CURVE_SQUARE

public static final int CURVE_SQUARE
See Also:
Constant Field Values

CURVE_INVSQUARE

public static final int CURVE_INVSQUARE
See Also:
Constant Field Values

CURVE_SINE

public static final int CURVE_SINE
See Also:
Constant Field Values

MPT_INT

public static final int MPT_INT
Parameter types for DMOParameterInfos

See Also:
Constant Field Values

MPT_FLOAT

public static final int MPT_FLOAT
Parameter types for DMOParameterInfos

See Also:
Constant Field Values

MPT_BOOL

public static final int MPT_BOOL
Parameter types for DMOParameterInfos

See Also:
Constant Field Values

MPT_ENUM

public static final int MPT_ENUM
Parameter types for DMOParameterInfos

See Also:
Constant Field Values
Method Detail

getParameterInfo

public DMO.DMOParameterInfo[] getParameterInfo()

setParameter

public void setParameter(java.lang.String pName,
                         float pValue)

setParameter

public void setParameter(int pIndex,
                         float pValue)

getParameter

public float getParameter(int pIndex)

getParameter

public float getParameter(java.lang.String pName)

release

public void release()
Specified by:
release in interface COMObject