final class HLSConnectionHolder extends ConnectionHolder
| Modifier and Type | Class and Description |
|---|---|
private class |
HLSConnectionHolder.Playlist |
private static class |
HLSConnectionHolder.PlaylistParser |
private class |
HLSConnectionHolder.PlaylistThread |
private static class |
HLSConnectionHolder.VariantPlaylist |
| Modifier and Type | Field and Description |
|---|---|
private static java.lang.String |
CHARSET_US_ASCII |
private static java.lang.String |
CHARSET_UTF_8 |
private HLSConnectionHolder.Playlist |
currentPlaylist |
private static int |
HLS_PROP_GET_DURATION |
private static int |
HLS_PROP_GET_HLS_MODE |
private static int |
HLS_PROP_GET_MIMETYPE |
private static long |
HLS_VALUE_FLOAT_MULTIPLIER |
private static int |
HLS_VALUE_MIMETYPE_MP2T |
private static int |
HLS_VALUE_MIMETYPE_MP3 |
private boolean |
isBitrateAdjustable |
private boolean |
isPlaylistClosed |
private java.util.concurrent.Semaphore |
liveSemaphore |
private int |
mediaFileIndex |
private HLSConnectionHolder.PlaylistThread |
playlistThread |
private java.util.concurrent.CountDownLatch |
readySignal |
private long |
startTime |
private java.net.URLConnection |
urlConnection |
private HLSConnectionHolder.VariantPlaylist |
variantPlaylist |
buffer, channel| Constructor and Description |
|---|
HLSConnectionHolder(java.net.URI uri) |
| Modifier and Type | Method and Description |
|---|---|
private void |
adjustBitrate(long readTime) |
void |
closeConnection()
Closes connection when done.
|
(package private) int |
getStreamSize()
Get stream size.
|
private void |
init() |
(package private) boolean |
isRandomAccess()
Detects whether the source is a random access source.
|
(package private) boolean |
isSeekable()
Detects whether the source is seekable.
|
private int |
loadNextSegment() |
(package private) boolean |
needBuffer()
Detects whether this source needs buffering at the pipeline level.
|
private java.nio.channels.ReadableByteChannel |
openChannel() |
(package private) int |
property(int prop,
int value)
Get or set properties.
|
(package private) int |
readBlock(long position,
int size)
Reads a block of data from the arbitrary position of the opened stream.
|
int |
readNextBlock()
Reads a block of data from the current position of the opened stream.
|
private void |
resetConnection() |
long |
seek(long position)
Performs a seek request to the desired position.
|
private static java.lang.String |
stripParameters(java.lang.String mediaFile) |
createFileConnectionHolder, createHLSConnectionHolder, createMemoryConnectionHolder, createURIConnectionHolder, getBufferprivate java.net.URLConnection urlConnection
private HLSConnectionHolder.PlaylistThread playlistThread
private HLSConnectionHolder.VariantPlaylist variantPlaylist
private HLSConnectionHolder.Playlist currentPlaylist
private int mediaFileIndex
private java.util.concurrent.CountDownLatch readySignal
private java.util.concurrent.Semaphore liveSemaphore
private boolean isPlaylistClosed
private boolean isBitrateAdjustable
private long startTime
private static final long HLS_VALUE_FLOAT_MULTIPLIER
private static final int HLS_PROP_GET_DURATION
private static final int HLS_PROP_GET_HLS_MODE
private static final int HLS_PROP_GET_MIMETYPE
private static final int HLS_VALUE_MIMETYPE_MP2T
private static final int HLS_VALUE_MIMETYPE_MP3
private static final java.lang.String CHARSET_UTF_8
private static final java.lang.String CHARSET_US_ASCII
HLSConnectionHolder(java.net.URI uri)
throws java.io.IOException
java.io.IOExceptionprivate void init()
public int readNextBlock()
throws java.io.IOException
ConnectionHolderreadNextBlock in class ConnectionHolderjava.nio.channels.ClosedChannelException - if an attempt is made to read after
closeConnection has been calledjava.io.IOExceptionint readBlock(long position,
int size)
throws java.io.IOException
ConnectionHolderreadBlock in class ConnectionHolderjava.nio.channels.ClosedChannelException - if an attempt is made to read after
closeConnection has been calledjava.io.IOExceptionboolean needBuffer()
ConnectionHolderneedBuffer in class ConnectionHolderboolean isSeekable()
ConnectionHolderisSeekable in class ConnectionHolderboolean isRandomAccess()
ConnectionHolderisRandomAccess in class ConnectionHolderpublic long seek(long position)
ConnectionHolderseek in class ConnectionHolderpublic void closeConnection()
ConnectionHoldercloseConnection in class ConnectionHolderint property(int prop,
int value)
ConnectionHolderproperty in class ConnectionHolderprop - - Property ID.value - - Depends on property ID.int getStreamSize()
ConnectionHoldergetStreamSize in class ConnectionHolderprivate void resetConnection()
private int loadNextSegment()
private java.nio.channels.ReadableByteChannel openChannel()
throws java.io.IOException
java.io.IOExceptionprivate void adjustBitrate(long readTime)
private static java.lang.String stripParameters(java.lang.String mediaFile)