de.humatic.dsj.src
Class HTTPAudioSource

java.lang.Object
  extended by de.humatic.dsj.src.Source
      extended by de.humatic.dsj.src.NetworkSource
          extended by de.humatic.dsj.src.HTTPAudioSource

public class HTTPAudioSource
extends NetworkSource

HTTPAudioSource reads single and multipart audio streams from http connections and is primaily intended for receiving audio streams from (typically MotionJPG) IP-cameras. Currently supports G711 ulaw and G726-32 encodings (where the latter requires a third party ACM codec available from Sharp) as well as AAC (singlepart only).


Field Summary
 
Fields inherited from class de.humatic.dsj.src.NetworkSource
BUFFER_OVERFLOW, CONNECTION_TIMEOUT, FASTSTART, H264_FASTSTART, H264_FORCE_INLINE_SPS, H264_OMMIT_SPS, H264_PASS_INLINE_SPS, IDLE_TIMEOUT, KF_NOTIFY, LIVE_SRC, MAX_BUFFER_TIME, MAX_DURATION, MAX_FRAME_TIME, NO_USER_PROMPT, READ_USER_DATA, RECEIVE_TIMEOUT, RTCP_RECEIVE_ERROR, SEEK_FAILURE, SOCKET_ERROR, STARVING, UDP_UNCONNECTED
 
Fields inherited from class de.humatic.dsj.src.Source
ASYNC, AUTO_GC, DIRECT, ES, FILTER_SETUP_ERROR, FLV, HTTP, HTTP_AUDIO, JAS, MJPG, MKV, MP4, PSNET, PULL, PUSH, RAW, RTMP, RTP, RTSP, SHOUTCAST, SS_CLOSED, SS_CONNECT, SS_CONNECTED, SS_DONE, SS_EOS, SS_FORMAT_READ, SS_RUNNING, SS_SEEKING, SS_SETUP, SS_STREAMS_READ, SS_TCP_ROLLOVER, TIMEOUT, TSFILE, TSNET, UNKNOWN
 
Constructor Summary
HTTPAudioSource(java.lang.String path, int flags, java.beans.PropertyChangeListener listener)
          Anonymously connects to the stream at the given address.
HTTPAudioSource(java.lang.String path, java.lang.String userName, java.lang.String password, int flags, java.beans.PropertyChangeListener listener)
          Connects to the stream at the given address using the supplied authorization.
There are currently no flags defined for this class.
HTTPAudioSource(java.net.URL url, int flags, java.beans.PropertyChangeListener listener)
          Anonymously connects to the stream at the given URL.
 
Method Summary
 void closeSource(boolean terminate)
          Closes down the source.
 DSGraph createGraph(int graphFlags)
          Creates a DSGraph object with CompressedJavaSource filters that are fed from this source.
 DSGraph createGraph(int graphFlags, DSFilterInfo videoDecoder, DSFilterInfo audioDecoder)
          Creates a DSGraph object with CompressedJavaSource filters, fed from this source and the given video and audio decoders.
 DSMediaType[] getMediaTypes()
          Returns the media types created by this source.
 int getMinBufferTime()
          Returns this Source's minimum buffer requirements in msec worth of data.
static void setMinBufferTime(int time)
           
 
Methods inherited from class de.humatic.dsj.src.NetworkSource
configurePasswordDialog, getDefaultInterfaceAddress, getPasswordDialogOptions, getServerInfo, getTimeConstraint, setConnectionTimeout, setHTTPConnector, setNetworkInterface, setSocketFactory, setTimeConstraint, setUserAgent
 
Methods inherited from class de.humatic.dsj.src.Source
addSourceFilter, asyncRead, canSeek, createSourceFilter_async, createSourceFilter, getAvailable, getBuffered, getGraph, getID, getMaxTimeLoaded, getNumChannels, getOffsetTime, getPath, getSourceDuration, getSourceFilter, getSourceFilters, getSourceFlags, getSourceTime, getTransport, getType, isLive, notifyChannelFailure, queryParameter_int, read, sendEvent, setOffsetTime, setSourceRate, setSourceTime, streamSeek, syncRead
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HTTPAudioSource

public HTTPAudioSource(java.lang.String path,
                       int flags,
                       java.beans.PropertyChangeListener listener)
                throws java.lang.Exception
Anonymously connects to the stream at the given address. If the stream requires authorization a password dialog will be brought up. Alternatively credentials can be given with the url, either as a query string (rtsp://...?username=xyz&password=abc) or in VLC style (rtsp://username:password@...)
There are currently no flags defined for this class.

Throws:
java.lang.Exception

HTTPAudioSource

public HTTPAudioSource(java.net.URL url,
                       int flags,
                       java.beans.PropertyChangeListener listener)
                throws java.lang.Exception
Anonymously connects to the stream at the given URL. If the stream requires authorization a password dialog will be brought up. Alternatively credentials can be given with the url, either as a query string (rtsp://...?username=xyz&password=abc) or in VLC style (rtsp://username:password@...)
There are currently no flags defined for this class.

Throws:
java.lang.Exception

HTTPAudioSource

public HTTPAudioSource(java.lang.String path,
                       java.lang.String userName,
                       java.lang.String password,
                       int flags,
                       java.beans.PropertyChangeListener listener)
                throws java.lang.Exception
Connects to the stream at the given address using the supplied authorization.
There are currently no flags defined for this class.

Throws:
java.lang.Exception
Method Detail

closeSource

public void closeSource(boolean terminate)
Description copied from class: Source
Closes down the source. When %terminate is true, all socket and stream resources etc. will also be freed. This method is called internally when disposing off the graph that was using this source and is not normally used by application code.

Overrides:
closeSource in class Source

createGraph

public DSGraph createGraph(int graphFlags)
Description copied from class: Source
Creates a DSGraph object with CompressedJavaSource filters that are fed from this source.

Overrides:
createGraph in class Source

createGraph

public DSGraph createGraph(int graphFlags,
                           DSFilterInfo videoDecoder,
                           DSFilterInfo audioDecoder)
                    throws DSJException
Description copied from class: Source
Creates a DSGraph object with CompressedJavaSource filters, fed from this source and the given video and audio decoders. This is for special use cases where you know exactly what media formats to expect. Any decoder you do not want to specify may be null or DSFilterInfo.doNotRender(). Failure to put a given decoder into the graph will be announced via GRAPH_ERROR events and dsj will try to automatically pick an alternative (no exception will be thrown!).

Overrides:
createGraph in class Source
Throws:
DSJException

getMediaTypes

public DSMediaType[] getMediaTypes()
Description copied from class: Source
Returns the media types created by this source. Depending on the time of calling, this method needs to be taken with care as during format negotiation mediatype information may not yet or only be partially available.

Overrides:
getMediaTypes in class Source

setMinBufferTime

public static void setMinBufferTime(int time)

getMinBufferTime

public int getMinBufferTime()
Description copied from class: Source
Returns this Source's minimum buffer requirements in msec worth of data. Usually only PUSH mode network sources work with buffers.

Overrides:
getMinBufferTime in class Source