de.humatic.dsj.src
Class PSNetworkSource

java.lang.Object
  extended by de.humatic.dsj.src.Source
      extended by de.humatic.dsj.src.NetworkSource
          extended by de.humatic.dsj.src.PSNetworkSource
All Implemented Interfaces:
MPEGSource

public class PSNetworkSource
extends NetworkSource
implements MPEGSource

PSNetworkSource reads MPEG program streams from tcp network connections.


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, 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
 
Fields inherited from interface de.humatic.dsj.util.MPEGSource
NO_AUDIO, RESOLVE
 
Constructor Summary
PSNetworkSource(java.net.URL url, int srcFlags, java.beans.PropertyChangeListener listener)
          Opens a program stream transmitted via http.
 
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 getPMT_PID()
          Returns the PMT PID of the currently playing program.
 int[] getProgramPIDs()
          Returns the elementary stream PIDs of the currently playing program.
 MPEGProgram[] getPrograms()
          Returns an array of all programs seen in a stream.
 java.lang.String getServerInfo()
           
 int[] getStreamTypes()
          Returns the elementary streamtypes of the currently playing program.
 byte[] read()
          When in PULL mode, the source filter calls this method to pull data from the source.
static void setBufferSizes(int socketReceiveBufferSize, int reqPacketSize)
           
 
Methods inherited from class de.humatic.dsj.src.NetworkSource
configurePasswordDialog, getDefaultInterfaceAddress, getPasswordDialogOptions, 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, getMinBufferTime, getNumChannels, getOffsetTime, getPath, getSourceDuration, getSourceFilter, getSourceFilters, getSourceFlags, getSourceTime, getTransport, getType, isLive, notifyChannelFailure, queryParameter_int, 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

PSNetworkSource

public PSNetworkSource(java.net.URL url,
                       int srcFlags,
                       java.beans.PropertyChangeListener listener)
                throws java.lang.Exception
Opens a program stream transmitted via http.

Throws:
java.lang.Exception
Method Detail

setBufferSizes

public static void setBufferSizes(int socketReceiveBufferSize,
                                  int reqPacketSize)

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)
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

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

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

getPMT_PID

public int getPMT_PID()
Description copied from interface: MPEGSource
Returns the PMT PID of the currently playing program.

Specified by:
getPMT_PID in interface MPEGSource

getProgramPIDs

public int[] getProgramPIDs()
Description copied from interface: MPEGSource
Returns the elementary stream PIDs of the currently playing program.

Specified by:
getProgramPIDs in interface MPEGSource

getStreamTypes

public int[] getStreamTypes()
Description copied from interface: MPEGSource
Returns the elementary streamtypes of the currently playing program.

Specified by:
getStreamTypes in interface MPEGSource

getPrograms

public MPEGProgram[] getPrograms()
Description copied from interface: MPEGSource
Returns an array of all programs seen in a stream. This is primarily used with multi program broadcasts. Only the playing stream may have all fields set unless the source class has been instructed to uncover all stream PIDs and types.

Specified by:
getPrograms in interface MPEGSource

getServerInfo

public java.lang.String getServerInfo()
Overrides:
getServerInfo in class NetworkSource

read

public byte[] read()
Description copied from class: Source
When in PULL mode, the source filter calls this method to pull data from the source. This method is called by non-async sources, that read a fix number of bytes on every read. The byte[] is allocated by the source (usually allocated once and then reused).

Overrides:
read in class Source