|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectde.humatic.dsj.src.Source
de.humatic.dsj.src.NetworkSource
de.humatic.dsj.src.RTPSource
public class RTPSource
Source for raw RTPStreams. This is kind of a stripped down version of the RTSPSource, that operates without any
out of band format negotiation. Because it needs to be able to determine required information from the streams alone, it
depends on the information in the RTP headers, namely the payload type. It therefore can not support
dynamic payload types as used for most recent mpeg4 formats, but only (some of) those defined in RFC 3551.
Using dsj internal RTP handlers it will work with the following formats / payload types:
Audio:
0 - PCMU, ulaw
8 - PCMA, alaw
5, 6, 16 and 17 - DVI4
14 - MPA
Video:
26 - JPEG
32 - MPV
34 - H263
36 - H263-1998
Both:
33 - MP2T (Transportstream may carry mpeg1, 2, or 4-10 video and mp3 or AAC audio. AAC in transport streams won't work with all AAC decoders, see HTTPStreamingSource).
Related RFCs:
RFC 1889 (RTP, RTCP)
RFC 1890 (RTP Profile for Audio and Video Conferences with Minimal Control)
dsj 0_8_63 adds an additional constructor that partly loosens the above restrictions.
| Field Summary | |
|---|---|
static int |
FORCE_SDP_FRAMERATE
|
static int |
NO_RTCP
|
| 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 | |
|---|---|
RTPSource(java.lang.String[] URLs,
int[] localPorts,
int flags,
java.beans.PropertyChangeListener listener)
Tries to connect to the rtp streams at the given URLs, which must contain ip and port numbers (example: {"230.0.0.1:40050", "230.0.0.1:40052"} or {"192.168.0.1:4050"}). |
|
RTPSource(java.lang.String[] URLs,
int[] localPorts,
java.beans.PropertyChangeListener listener)
|
|
RTPSource(java.lang.String[] URLs,
java.beans.PropertyChangeListener listener)
|
|
RTPSource(java.lang.String sdpPath,
int flags,
java.beans.PropertyChangeListener listener)
Special case constructor for "direct RTP" connections to sources using mediatypes that are not covered by fixed payload ID mappings. |
|
| Method Summary | |
|---|---|
void |
closeSource(boolean terminate)
Closes down the source. |
DSGraph |
createGraph(int graphFlags)
Use this to create a filtergraph from the 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. |
CompressedJavaSource |
createSourceFilter(int sf,
DSMediaType mediaType)
This is called by the various source implementations once they have determined, what kind of media they deal with etc. It basically calls through to DSGraph.insertCompressedSourceFilter(...). |
DSMediaType[] |
getMediaTypes()
Returns the media types created by this source. |
int |
getMinBufferTime()
Returns this Source's minimum buffer requirements in msec worth of data. |
CompressedJavaSource[] |
getSourceFilters()
Returns all the CompressedJavaSource filters, that the Source created. |
int |
getSourceTime()
|
void |
notifyChannelFailure(int severity,
int chNr,
int cause,
java.lang.String desc)
|
static void |
setMinBufferTime(int time)
|
static void |
setReceiveBufferSize(int socketReceiveBufferSize)
|
void |
setSourceRate(float rate)
Starts and pauses the source, application code should rather not use this method directly, but stick with DSFiltergraph methods. |
void |
setSourceTime(int time)
Repositions the source, application code should rather not use this method directly, but stick with DSFiltergraph methods. |
| 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, getAvailable, getBuffered, getGraph, getID, getMaxTimeLoaded, getNumChannels, getOffsetTime, getPath, getSourceDuration, getSourceFilter, getSourceFlags, getTransport, getType, isLive, queryParameter_int, read, sendEvent, setOffsetTime, streamSeek, syncRead |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final int NO_RTCP
public static final int FORCE_SDP_FRAMERATE
| Constructor Detail |
|---|
public RTPSource(java.lang.String[] URLs,
java.beans.PropertyChangeListener listener)
throws java.lang.Exception
java.lang.Exception
public RTPSource(java.lang.String[] URLs,
int[] localPorts,
java.beans.PropertyChangeListener listener)
throws java.lang.Exception
java.lang.Exception
public RTPSource(java.lang.String[] URLs,
int[] localPorts,
int flags,
java.beans.PropertyChangeListener listener)
throws java.lang.Exception
java.lang.Exception
public RTPSource(java.lang.String sdpPath,
int flags,
java.beans.PropertyChangeListener listener)
throws java.lang.Exception
java.lang.Exception| Method Detail |
|---|
public static void setMinBufferTime(int time)
public int getMinBufferTime()
Source
getMinBufferTime in class Sourcepublic static void setReceiveBufferSize(int socketReceiveBufferSize)
public void closeSource(boolean terminate)
Source
closeSource in class Sourcepublic int getSourceTime()
getSourceTime in class Sourcepublic void setSourceTime(int time)
Source
setSourceTime in class Sourcepublic void setSourceRate(float rate)
Source
setSourceRate in class Source
public DSGraph createGraph(int graphFlags)
throws DSJException
createGraph in class SourceDSJException
public DSGraph createGraph(int graphFlags,
DSFilterInfo videoDecoder,
DSFilterInfo audioDecoder)
throws DSJException
Source
createGraph in class SourceDSJExceptionpublic DSMediaType[] getMediaTypes()
Source
getMediaTypes in class Source
public CompressedJavaSource createSourceFilter(int sf,
DSMediaType mediaType)
Source
createSourceFilter in class Sourcepublic CompressedJavaSource[] getSourceFilters()
Source
getSourceFilters in class Source
public void notifyChannelFailure(int severity,
int chNr,
int cause,
java.lang.String desc)
notifyChannelFailure in class Source
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||