|
||||||||||
| 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.HTTPStreamingSource
public class HTTPStreamingSource
HTTPStreamingSource plays streams as specified in Apple's IETF draft for HTTPStreaming.
This approach uses segmented mpeg2 transport, program or audio elementary streams, mostly carrying H264/AVC
video and AAC audio payloads. Streams are described by m3u playlists and can be served by most regular webservers.
This is Apple's bid for the html video tag and will likely become "the standard" for Mac users for the next couple
of years, but Apple is also using its latest iPhone OS to push the technology and is expected to also support it in Safari for Windows.
For a quick conceptual overview see Apple's iPhone streaming media overview
dsj currently only supports transportstream content and it has to be noted that some DirectShow AAC decoders seem to have
problems with AAC in transportstreams. libfaad and realaac based decoders in ffdShow & CoreAAC do not
seem to work for these streams' audio at the time being. Commercial decoders from Elecard and MainConcept do work, as does the Monogram decoder.
To cirumvent DirectShow's intelligent connect, consider using the createGraph method that takes decoder arguments.
| 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 | |
|---|---|
HTTPStreamingSource(java.net.URL m3uURL,
int flags,
java.beans.PropertyChangeListener listener)
Opens the m3u playlist at the given http:// URL. |
|
| Method Summary | |
|---|---|
boolean |
canSeek()
Overridden to return false, this source can not seek. |
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 |
getNumChannels()
Returns the number of media channels this source delivers (and thus the number of CompressedJavaSource filters it will create). |
int |
getSourceTime()
|
void |
selectStream(java.lang.String bandWidthSpecificPath)
To select a bandwith specific stream, this method can be called in reaction to a PLAYLIST_PARSED event, which will pass a String[] describing available streams. |
| 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, createSourceFilter_async, createSourceFilter, getAvailable, getBuffered, getGraph, getID, getMaxTimeLoaded, getMinBufferTime, getOffsetTime, getPath, getSourceDuration, getSourceFilter, getSourceFilters, getSourceFlags, 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 |
|---|
public HTTPStreamingSource(java.net.URL m3uURL,
int flags,
java.beans.PropertyChangeListener listener)
throws java.lang.Exception
java.lang.Exception| Method Detail |
|---|
public void closeSource(boolean terminate)
Source
closeSource in class Sourcepublic int getNumChannels()
Source
getNumChannels in class Sourcepublic boolean canSeek()
canSeek in class Sourcepublic int getSourceTime()
getSourceTime in class Sourcepublic DSGraph createGraph(int graphFlags)
Source
createGraph in class Source
public DSGraph createGraph(int graphFlags,
DSFilterInfo videoDecoder,
DSFilterInfo audioDecoder)
Source
createGraph in class Sourcepublic DSMediaType[] getMediaTypes()
Source
getMediaTypes in class Sourcepublic void selectStream(java.lang.String bandWidthSpecificPath)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||