de.humatic.dsj.sink
Class Sink

java.lang.Object
  extended by de.humatic.dsj.sink.Sink
Direct Known Subclasses:
DumpSink, FileSink, NetworkSink, PlayoutSink

public class Sink
extends java.lang.Object

Base class for sink objects. Unlike JSink subclasses, sinks are only descriptive structures, holding information on DirectShow filters to be added to a filtergraph. After calling DSFiltergraph.connectSink(..) use DSFilter methods if you need to further interact with the filters that make up the sink.


Field Summary
 boolean connected
           
static int CONTROLABLE
           
static int DISPLAY_LOCAL
           
static int DS_NETWORK
           
static int DUAL_OUTPUT
           
static int DUMP
           
static int FILE
           
 int flags
           
static int FORCE_PREVIEW_BRANCH
           
static int LOCAL
           
 int majorType
           
static int NO_CONTROLS
           
static int NO_TRANSCODE
           
static int PLAY_OUT
           
static int PREVIEW
           
static int SHOW_DIALOGS
           
static int SHOW_DLG_SAVE
           
 int subType
           
static int WM_NETWORK
           
 
Constructor Summary
Sink()
           
 
Method Summary
 DSFilterInfo getAudioEncoderInfo()
           
 int getFlags()
           
 DSFilterInfo getMultiplexerInfo()
           
 java.lang.String getOutputPath()
           
 DSFilterInfo getVideoEncoderInfo()
           
 DSFilterInfo getWriterInfo()
           
 void setAudioEncoder(DSFilterInfo encoderInfo)
          Set the audio encoder used by this sink.
 void setFlags(int flagBits)
          Controls some aspects of connection etc.
 void setMultiplexer(DSFilterInfo muxerInfo)
          Set the multiplexer filter used by this sink, some multiplexers may include encoders and / or a filewriter.
 void setVideoEncoder(DSFilterInfo encoderInfo)
          Set the video encoder used by this sink.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOCAL

public static final int LOCAL
See Also:
Constant Field Values

PREVIEW

public static final int PREVIEW
See Also:
Constant Field Values

DISPLAY_LOCAL

public static final int DISPLAY_LOCAL
See Also:
Constant Field Values

SHOW_DIALOGS

public static final int SHOW_DIALOGS
See Also:
Constant Field Values

SHOW_DLG_SAVE

public static final int SHOW_DLG_SAVE
See Also:
Constant Field Values

NO_TRANSCODE

public static final int NO_TRANSCODE
See Also:
Constant Field Values

DUAL_OUTPUT

public static final int DUAL_OUTPUT
See Also:
Constant Field Values

NO_CONTROLS

public static final int NO_CONTROLS
See Also:
Constant Field Values

FORCE_PREVIEW_BRANCH

public static final int FORCE_PREVIEW_BRANCH
See Also:
Constant Field Values

majorType

public int majorType

subType

public int subType

flags

public int flags

connected

public boolean connected

WM_NETWORK

public static final int WM_NETWORK
See Also:
Constant Field Values

DS_NETWORK

public static final int DS_NETWORK
See Also:
Constant Field Values

FILE

public static final int FILE
See Also:
Constant Field Values

PLAY_OUT

public static final int PLAY_OUT
See Also:
Constant Field Values

DUMP

public static final int DUMP
See Also:
Constant Field Values

CONTROLABLE

public static final int CONTROLABLE
See Also:
Constant Field Values
Constructor Detail

Sink

public Sink()
Method Detail

setAudioEncoder

public void setAudioEncoder(DSFilterInfo encoderInfo)
Set the audio encoder used by this sink. For codecs that use the AudioCompressionManager make sure that you pass in a DSFilterInfo as returned from DSFilterInfo.filterInfoForName("..codecName..") instead of one returned from filterInfoForCLSID(CLSID of the ACM Wrapper filter).


setVideoEncoder

public void setVideoEncoder(DSFilterInfo encoderInfo)
Set the video encoder used by this sink. For codecs that use the ImageCompressionManager make sure that you pass in a DSFilterInfo as returned from DSFilterInfo.filterInfoForName("..codecName..") instead of one returned from filterInfoForCLSID(CLSID of the ICM Wrapper filter).


setMultiplexer

public void setMultiplexer(DSFilterInfo muxerInfo)
Set the multiplexer filter used by this sink, some multiplexers may include encoders and / or a filewriter. With the DUAL_OUTPUT flag set, the multiplexer field can be used to set an audio output filter.


setFlags

public void setFlags(int flagBits)
Controls some aspects of connection etc. Possible OR combineable values are:
DISPLAY_LOCAL - keep a preview going
SHOW_DIALOGS - show encoder and multiplexer filter configuration dialogs
SHOW_DLG_SAVE - shows filter configuration dialogs and saves the configured filter states to a temp. directory accessible via DSEnvironment.getProperty(DSEnvironment.SP_FILTERSTATE_DIR). The saved state will usually be named according to the filter's friendly name + a .stg ending. In case the friendly name can not be retrieved it may be substituted by the CLSID.
NO_TRANSCODE - signal repackaging mode
DUAL_OUTPUT - enables use of the Multiplexer field for a separate audio output (for hardware sinks).
NO_CONTROLS - reject the separate recording control option with capture graphs.
FORCE_PREVIEW_BRANCH - connect the sink to preview pins on capture graphs.


getFlags

public int getFlags()

getAudioEncoderInfo

public DSFilterInfo getAudioEncoderInfo()

getVideoEncoderInfo

public DSFilterInfo getVideoEncoderInfo()

getMultiplexerInfo

public DSFilterInfo getMultiplexerInfo()

getWriterInfo

public DSFilterInfo getWriterInfo()

getOutputPath

public java.lang.String getOutputPath()