WowzaMediaServer ServerSideAPI
WowzaMediaServer ServerSideAPI
Server-Side API
Wowza Media Server 3:
Server-Side API
Version 3.6.4
Page 2 of 1585
This document is for informational purposes only and in no way shall be
interpreted or construed to create any warranties of any kind, either express
or implied, regarding the information contained herein.
Trademarks
Wowza, Wowza Media Systems, Wowza Media Server and related logos are either registered trademarks or trademarks of Wowza
Media System, LLC in the United States and/or other countries.
Adobe and Flash are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other
countries.
Microsoft and Silverlight are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other
countries.
QuickTime, iPhone, iPad and iPod touch are either registered trademarks or trademarks of Apple, Inc. in the United States and/or
other countries.
Other product names, logos, designs, titles, words or phrases mentioned may be third party registered trademarks or trademarks in the
United States and/or other countries.
Third party trademarks are used solely to identify and describe third party products as being compatible with Wowza products. Wowza
is in no way sponsored, endorsed by or otherwise affiliated with any such third party trademark owners.
Apache Commons Modeler Component: Copyright © 2002-2008, The Apache Software Foundation
Bouncy Castle Crypto APIs: Copyright © 2000 – 2008, Legion of the Bouncy Castle
Java ID3 Tag Library and JLayer 1.0 (classic): Copyright © 1991, 1999, Free Software Foundation, Inc.
Libgcc_s-4 library and Libstdc++ library: Copyright © 2011, Free Software Foundation, Inc.
Copyright © 2006 - 2014 Wowza Media Systems, LLC. All rights reserved.
Page 3 of 1585
Speex Codec: Copyright © 2002-2003, Jean-Marc Valin/[Link] Foundation
WebM VP8 Codec libraries: Copyright © 2010, Google Inc. All rights reserved.
Copyright © 2006 - 2014 Wowza Media Systems, LLC. All rights reserved.
Page 4 of 1585
Document History
Version Description Release date
Doc v3.5.0 Initial document release for Wowza Media Server 3.5 11-08-2012
Note
A more recent version of this document may be available online. See the Wowza Media Systems
Documentation webpage ([Link] for the latest updates.
Copyright © 2006 - 2014 Wowza Media Systems, LLC. All rights reserved.
Page 5 of 1585
Package
[Link]
Page 6 of 1585
[Link]
[Link]
Interface IRandomAccessReader
Field Summary
public static final FORWARD
Value: 1
Value: -1
Method Summary
void close()
Close the media asset
boolean exists()
Does the media asset exist
String getBasePath()
Get the basePath for the random access reader
int getDirecton()
Get the current direction hint for the random access reader.
long getFilePointer()
Get the current byte location in the media asset
String getMediaExtension()
Get the media extension
String getMediaName()
Get the media name
String getPath()
Get the unique path to the media asset item
boolean isOpen()
Is the media asset open
long lastModified()
Return the lastModified date (same format as [Link])
long length()
Get the media asset length in bytes
Page 7 of 1585
[Link]
void open()
Open the media asset
Fields
FORWARD
public static final int FORWARD
Constant value: 1
REVERSE
public static final int REVERSE
Constant value: -1
Methods
init
public void init(IApplicationInstance appInstance,
IMediaStream stream,
String basePath,
String mediaName,
String mediaExtension)
Intialize RandomAccessReader
Parameters:
appInstance - application instance
stream - parent stream if one exists
basePath - basePath for IApplicationInstance
mediaName - media name
mediaExtension - media extension from mediaReaders
open
public void open()
throws [Link]
Throws:
IOException
Page 8 of 1585
[Link]
close
public void close()
throws [Link]
Throws:
IOException
isOpen
public boolean isOpen()
Returns:
true if media asset is open
getFilePointer
public long getFilePointer()
Returns:
current byte location in the media asset
seek
public void seek(long pos)
Parameters:
pos - position to seek to
read
public int read(byte[] buf,
int off,
int size)
Parameters:
buf - buffer to fill
off - offset in buffer
size - size of block to read
Returns:
number of bytes read, -1 if failure
getDirecton
public int getDirecton()
Page 9 of 1585
[Link]
Get the current direction hint for the random access reader. The underlying system will call setDirection to hint at the current
direction the media assets is being read.
Returns:
current direction hint for the random access reader
setDirecton
public void setDirecton(int directon)
Parameters:
directon - current direction hint for the random access reader
getBasePath
public String getBasePath()
Returns:
basePath for the random access reader
getMediaName
public String getMediaName()
Returns:
media name
getMediaExtension
public String getMediaExtension()
Returns:
media extension
exists
public boolean exists()
Returns:
true if media assets exists
lastModified
public long lastModified()
Returns:
lastModified date (same format as [Link])
Page 10 of 1585
[Link]
length
public long length()
Returns:
media asset length in bytes
getPath
public String getPath()
Returns:
unique path to the media asset item
Page 11 of 1585
Package
[Link]
Page 12 of 1585
[Link]
[Link]
Class AMFUtils
[Link]
|
+-[Link]
Constructor Summary
public AMFUtils()
Method Summary
static AMFData[] convertParams(Object[] params)
Converts an array of Java native data values and class to AMF data types.
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
AMFUtils
public AMFUtils()
Methods
convertParams
public static AMFData[] convertParams(Object[] params)
Page 13 of 1585
[Link]
Converts an array of Java native data values and class to AMF data types. It will box primitive data types into wrapper classes.
Supported input data types are:
• null
• Double
• Float
• Long
• Integer
• Short
• Byte
• Number
• Date
• Boolean
• String
• StringBuffer
• byte[] - assumed to be raw AMFData
• ByteBuffer - assumed to be raw AMFData
• AMFData
• AMFDataMixedArray
• AMFDataArray
• AMFDataItem
• AMFDataList
• AMFDataObj
Parameters:
params - Array of Java
Returns:
Array of AMFData[] objects
Page 14 of 1585
[Link].Base64
[Link]
Class Base64
[Link]
|
+-[Link].Base64
Homepage: [Link]
Change Log:
• v2.2.1 - Fixed bug using URL_SAFE and ORDERED encodings. Fixed bug when using very small files (~< 40 bytes).
• v2.2 - Added some helper methods for encoding/decoding directly from one file to the next. Also added a main() method to
support command line encoding/decoding from one file to the next. Also added these Base64 dialects:
1. The default is RFC3548 format.
2. Calling [Link](Base64.BASE64_FORMAT.URLSAFE_FORMAT) generates URL and file name friendly format
as described in Section 4 of RFC3548. [Link]
3. Calling [Link](Base64.BASE64_FORMAT.ORDERED_FORMAT) generates URL and file name friendly format
that preserves lexical ordering as described in [Link]
Special thanks to Jim Kellerman at [Link] for contributing the new Base64 dialects.
• v2.1 - Cleaned up javadoc comments and unused variables and methods. Added some convenience methods for reading and
writing to and from files.
• v2.0.2 - Now specifies UTF-8 encoding in places where the code fails on systems with other encodings (like EBCDIC).
• v2.0.1 - Fixed an error when decoding a single byte, that is, when the encoded data was a single byte.
• v2.0 - I got rid of methods that used booleans to set options. Now everything is more consolidated and cleaner. The code now
detects when data that's being decoded is gzip-compressed and will decompress it automatically. Generally things are cleaner.
You'll probably have to change some method calls that you were making to support the new options format (ints that you "OR"
together).
• v1.5.1 - Fixed bug when decompressing and decoding to a byte[] using decode( String s, boolean gzipCompressed ). Added the
ability to "suspend" encoding in the Output Stream so you can turn on and off the encoding if you need to embed base64 data in
an otherwise "normal" stream (like an XML file).
• v1.5 - Output stream pases on flush() command but doesn't do anything itself. This helps when using GZIP streams. Added the
ability to GZip-compress objects before encoding them.
• v1.4 - Added helper methods to read/write files.
• v1.3.6 - Fixed [Link]() so that 'position' is reset.
• v1.3.5 - Added flag to turn on and off line breaks. Fixed bug in input stream where last buffer being read, if not completely full,
was not returned.
• v1.3.4 - Fixed when "improperly padded stream" error was thrown at the wrong time.
• v1.3.3 - Fixed I/O streams which were totally messed up.
I am placing this code in the Public Domain. Do with it as you will. This software comes with no guarantees or warranties but with
plenty of well-wishing instead! Please visit [Link] periodically to check for updates or to contribute improvements.
class [Link]
[Link]
Page 15 of 1585
[Link].Base64
Field Summary
public static final DECODE
Specify decoding.
Value: 0
Method Summary
static byte[] decode(byte[] source, int off, int len, int options)
Very low-level access to decoding ASCII characters in the form of a byte array.
Page 16 of 1585
[Link].Base64
static String encodeBytes(byte[] source, int off, int len, int options)
Encodes a byte array into Base64 notation.
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
NO_OPTIONS
public static final int NO_OPTIONS
ENCODE
public static final int ENCODE
Specify encoding.
Constant value: 1
Page 17 of 1585
[Link].Base64
DECODE
public static final int DECODE
Specify decoding.
Constant value: 0
GZIP
public static final int GZIP
DONT_BREAK_LINES
public static final int DONT_BREAK_LINES
URL_SAFE
public static final int URL_SAFE
Encode using Base64-like encoding that is URL- and Filename-safe as described in Section 4 of RFC3548:
[Link] It is important to note that data encoded this way is not officially valid Base64, or at
the very least should not be called Base64 without also specifying that is was encoded using the URL- and Filename-safe dialect.
Constant value: 16
ORDERED
public static final int ORDERED
Encode using the special "ordered" dialect of Base64 described here: [Link]
Constant value: 32
Methods
main
public final static void main(String[] args)
Encodes or decodes two files from the command line; feel free to delete this method (in fact you probably should) if you're
embedding this code into a larger program.
encodeObject
public static String encodeObject([Link] serializableObject)
Serializes an object and returns the Base64-encoded version of that serialized object. If the object cannot be serialized or there
is another error, the method will return null. The object is not GZip-compressed before being encoded.
Parameters:
serializableObject - The object to encode
Returns:
The Base64-encoded object
Page 18 of 1585
[Link].Base64
encodeObject
public static String encodeObject([Link] serializableObject,
int options)
Serializes an object and returns the Base64-encoded version of that serialized object. If the object cannot be serialized or there
is another error, the method will return null.
Valid options:
Parameters:
serializableObject - The object to encode
options - Specified options
Returns:
The Base64-encoded object
See Also:
GZIP
DONT_BREAK_LINES
encodeBytes
public static String encodeBytes(byte[] source)
Encodes a byte array into Base64 notation. Does not GZip-compress data.
Parameters:
source - The data to convert
encodeBytes
public static String encodeBytes(byte[] source,
int options)
Page 19 of 1585
[Link].Base64
Valid options:
Parameters:
source - The data to convert
options - Specified options
See Also:
GZIP
DONT_BREAK_LINES
encodeBytes
public static String encodeBytes(byte[] source,
int off,
int len)
Encodes a byte array into Base64 notation. Does not GZip-compress data.
Parameters:
source - The data to convert
off - Offset in array where conversion should begin
len - Length of data to convert
encodeBytes
public static String encodeBytes(byte[] source,
int off,
int len,
int options)
Encodes a byte array into Base64 notation.
Valid options:
Page 20 of 1585
[Link].Base64
Parameters:
source - The data to convert
off - Offset in array where conversion should begin
len - Length of data to convert
options - Specified options, alphabet type is pulled from this (standard, url-safe, ordered)
See Also:
GZIP
DONT_BREAK_LINES
decode
public static byte[] decode(byte[] source,
int off,
int len,
int options)
Very low-level access to decoding ASCII characters in the form of a byte array. Does not support automatically gunzipping or
any other "fancy" features.
Parameters:
source - The Base64 encoded data
off - The offset of where to begin decoding
len - The length of characters to decode
Returns:
decoded data
decode
public static byte[] decode(String s)
Decodes data from Base64 notation, automatically detecting gzip-compressed data and decompressing it.
Parameters:
s - the string to decode
Returns:
the decoded data
decode
public static byte[] decode(String s,
int options)
Decodes data from Base64 notation, automatically detecting gzip-compressed data and decompressing it.
Parameters:
s - the string to decode
options - encode options such as URL_SAFE
Returns:
the decoded data
decodeToObject
public static Object decodeToObject(String encodedObject)
Page 21 of 1585
[Link].Base64
Attempts to decode Base64 data and deserialize a Java Object within. Returns null if there was an error.
Parameters:
encodedObject - The Base64 data to decode
Returns:
The decoded and deserialized object
encodeToFile
public static boolean encodeToFile(byte[] dataToEncode,
String filename)
Parameters:
dataToEncode - byte array of data to encode in base64 form
filename - Filename for saving encoded data
Returns:
true if successful, false otherwise
decodeToFile
public static boolean decodeToFile(String dataToDecode,
String filename)
Parameters:
dataToDecode - Base64-encoded data as a string
filename - Filename for saving decoded data
Returns:
true if successful, false otherwise
decodeFromFile
public static byte[] decodeFromFile(String filename)
Parameters:
filename - Filename for reading encoded data
Returns:
decoded byte array or null if unsuccessful
encodeFromFile
public static String encodeFromFile(String filename)
Parameters:
filename - Filename for reading binary data
Returns:
base64-encoded string or null if unsuccessful
Page 22 of 1585
[Link].Base64
encodeFileToFile
public static void encodeFileToFile(String infile,
String outfile)
Parameters:
infile - Input file
outfile - Output file
encodeString
public static void encodeString(String inString)
Parameters:
inString - Input string
decodeString
public static void decodeString(String inString)
Parameters:
inString - Input string
decodeFileToFile
public static void decodeFileToFile(String infile,
String outfile)
Parameters:
infile - Input file
outfile - Output file
Page 23 of 1585
[Link]
[Link]
Class [Link]
[Link]
|
+-[Link]
|
+-[Link]
|
+-[Link]
All Implemented Interfaces:
[Link]
A [Link] will read data from another [Link], given in the constructor, and encode/decode to/from
Base64 notation on the fly.
See Also:
Base64
in
Constructor Summary
public [Link]([Link] in)
Constructs a [Link] in DECODE mode.
Method Summary
int read()
Reads enough of the input stream to convert to/from Base64 and returns the next byte.
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Page 24 of 1585
[Link]
close
Constructors
[Link]
public [Link]([Link] in)
Parameters:
in - the [Link] from which to read data.
[Link]
public [Link]([Link] in,
int options)
Constructs a [Link] in either ENCODE or DECODE mode.
Valid options:
Parameters:
in - the [Link] from which to read data.
options - Specified options
See Also:
[Link]
[Link]
Base64.DONT_BREAK_LINES
Methods
read
public int read()
throws [Link]
Reads enough of the input stream to convert to/from Base64 and returns the next byte.
Returns:
next byte
Page 25 of 1585
[Link]
read
public int read(byte[] dest,
int off,
int len)
throws [Link]
Calls read() repeatedly until the end of stream is reached or len bytes are read. Returns number of bytes read into array or -1
if end of stream is encountered.
Parameters:
dest - array to hold values
off - offset for array
len - max number of bytes to read into array
Returns:
bytes read into array or -1 if end of stream is encountered.
Page 26 of 1585
[Link]
[Link]
Class [Link]
[Link]
|
+-[Link]
|
+-[Link]
|
+-[Link]
All Implemented Interfaces:
[Link], [Link]
A [Link] will write data to another [Link], given in the constructor, and encode/decode to/from
Base64 notation on the fly.
See Also:
Base64
out
Constructor Summary
public [Link]([Link] out)
Constructs a [Link] in ENCODE mode.
Method Summary
void close()
Flushes and closes (I think, in the superclass) the stream.
void flushBase64()
Method added by PHIL.
void resumeEncoding()
Resumes encoding of the stream.
void suspendEncoding()
Suspends encoding of the stream.
Page 27 of 1585
[Link]
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
close
flush
Constructors
[Link]
public [Link]([Link] out)
Parameters:
out - the [Link] to which data will be written.
[Link]
public [Link]([Link] out,
int options)
Constructs a [Link] in either ENCODE or DECODE mode.
Valid options:
Parameters:
out - the [Link] to which data will be written.
options - Specified options.
Page 28 of 1585
[Link]
See Also:
[Link]
[Link]
Base64.DONT_BREAK_LINES
Methods
write
public void write(int theByte)
throws [Link]
Writes the byte to the output stream after converting to/from Base64 notation. When encoding, bytes are buffered three at a
time before the output stream actually gets a write() call. When decoding, bytes are buffered four at a time.
Parameters:
theByte - the byte to write
write
public void write(byte[] theBytes,
int off,
int len)
throws [Link]
Parameters:
theBytes - array from which to read bytes
off - offset for array
len - max number of bytes to read into array
flushBase64
public void flushBase64()
throws [Link]
Method added by PHIL. [Thanks, PHIL. -Rob] This pads the buffer without closing the stream.
close
public void close()
throws [Link]
suspendEncoding
public void suspendEncoding()
throws [Link]
Suspends encoding of the stream. May be helpful if you need to embed a piece of base640-encoded data in a stream.
resumeEncoding
public void resumeEncoding()
Resumes encoding of the stream. May be helpful if you need to embed a piece of base640-encoded data in a stream.
Page 29 of 1585
[Link]
[Link]
Class BufferUtils
[Link]
|
+-[Link]
BufferUtils: utilities for converting between binary data and Java primitive types. Faster than Java runtime equivalents
Field Summary
public static final alphas
Constructor Summary
public BufferUtils()
Method Summary
static int byteArrayToInt(byte[] b)
Convert byte array to int
Page 30 of 1585
[Link]
static int doCRC32(int crc, byte[] buffer, int offset, int len)
Calculate an IEEE CRC32 value for MPEG transport stream from a starting crc value
static void intToByteArray(int value, byte[] buffer, int offset, int size)
Convert a int value to a byte array in network order
static void intToByteArray(int value, byte[] buffer, int offset, int size, boolean
isReverse)
Convert a int value to a byte array in network order
static void longToByteArray(long value, byte[] buffer, int offset, int size)
Convert a long value to a byte array in network order
static void longToByteArray(long value, byte[] buffer, int offset, int size,
boolean isReverse)
Convert a long value to a byte array in network order
Page 31 of 1585
[Link]
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
hexadecimal
public static final [Link] hexadecimal
alphas
public static final [Link] alphas
Constructors
BufferUtils
public BufferUtils()
Methods
encodeHexString
public static String encodeHexString(byte[] bytes)
Parameters:
bytes - byte array
Returns:
string
encodeHexString
public static String encodeHexString(byte[] bytes,
int offset,
int len)
Parameters:
bytes - byte array
offset - offset
len - length
Page 32 of 1585
[Link]
Returns:
string
decodeHexString
public static byte[] decodeHexString(String hexStr)
Parameters:
hexStr - string
Returns:
byte array
byteArrayToString
public static String byteArrayToString(byte[] b)
Parameters:
b - byte array
Returns:
resultant string
byteArrayToString
public static String byteArrayToString(byte[] b,
int offset,
int count)
Parameters:
b - byte array
offset - offset
count - len
Returns:
resultant string
byteArrayToLong
public static long byteArrayToLong(byte[] b)
Parameters:
b - byte array (8 bytes)
Returns:
long value
Page 33 of 1585
[Link]
byteArrayToLong
public static long byteArrayToLong(byte[] b,
int offset)
Parameters:
b - byte array (8 bytes)
offset - offset
Returns:
long value
byteArrayToLong
public static long byteArrayToLong(byte[] b,
int offset,
int count)
Convert byte array to long with offset. Count is the number of bytes. Can be less than 8. If less than 8 just fills lower bits in
value.
Parameters:
b - byte array
offset - offset
count - number of bytes
Returns:
long value
byteArrayToLong
public static long byteArrayToLong(byte[] b,
int offset,
int count,
boolean isReverse)
Convert byte array to long with offset. Count is the number of bytes. Can be less than 8. If less than 8 just fills lower bits in
value. The reverse flag allows data to be in reverse order.
Parameters:
b - byte array
offset - offset
count - number of bytes
isReverse - is data in reverse order
Returns:
long value
byteArrayToInt
public static int byteArrayToInt(byte[] b)
Parameters:
b - byte array (4 bytes)
Returns:
Page 34 of 1585
[Link]
int value
byteArrayToInt
public static int byteArrayToInt(byte[] b,
int offset)
Parameters:
b - byte array (4 bytes)
offset - offset
Returns:
int value
byteArrayToInt
public static int byteArrayToInt(byte[] b,
int offset,
int count)
Convert byte array to int with offset. Count is the number of bytes. Can be less than 4. If less than 4 just fills lower bits in value.
Parameters:
b - byte array
offset - offset
count - number of bytes
Returns:
int value
byteArrayToInt
public static int byteArrayToInt(byte[] b,
int offset,
int count,
boolean isReverse)
Convert byte array to int with offset. Count is the number of bytes. Can be less than 4. If less than 4 just fills lower bits in value.
The reverse flag allows data to be in reverse order.
Parameters:
b - byte array
offset - offset
count - number of bytes
isReverse - is data in reverse order
Returns:
int value
byteArrayToShort
public static int byteArrayToShort(byte[] b)
Parameters:
b - byte array (2 bytes)
Page 35 of 1585
[Link]
Returns:
int value
byteArrayToShort
public static int byteArrayToShort(byte[] b,
int offset)
Parameters:
b - byte array (2 bytes)
offset - offset
Returns:
int value
byteArrayToShort
public static int byteArrayToShort(byte[] b,
int offset,
int count)
Convert byte array to int with offset. Count is the number of bytes. Can be less than 2. If less than 2 just fills lower bits in value.
Parameters:
b - byte array
offset - offset
count - number of bytes
Returns:
int value
byteArrayToShort
public static int byteArrayToShort(byte[] b,
int offset,
int count,
boolean isReverse)
Convert byte array to int with offset. Count is the number of bytes. Can be less than 2. If less than 2 just fills lower bits in value.
The reverse flag allows data to be in reverse order.
Parameters:
b - byte array
offset - offset
count - number of bytes
isReverse - is data in reverse order
Returns:
int value
intToByteArray
public static byte[] intToByteArray(int value)
Parameters:
value - value
Page 36 of 1585
[Link]
Returns:
4-byte array with value
intToByteArray
public static byte[] intToByteArray(int value,
int size)
Parameters:
value - value
size - size of resultant byte array
Returns:
size-byte array with value
intToByteArray
public static void intToByteArray(int value,
byte[] buffer,
int offset,
int size)
Parameters:
value - value
buffer - destination byte array
offset - starting offset in byte array
size - number of bytes to write
intToByteArray
public static void intToByteArray(int value,
byte[] buffer,
int offset,
int size,
boolean isReverse)
Parameters:
value - value
buffer - destination byte array
offset - starting offset in byte array
size - number of bytes to write
isReverse - is data in reverse order
longToByteArray
public static byte[] longToByteArray(long value)
Parameters:
value - value
Returns:
Page 37 of 1585
[Link]
longToByteArray
public static byte[] longToByteArray(long value,
int size)
Parameters:
value - value
size - size of resultant byte array
Returns:
size-byte array with value
longToByteArray
public static void longToByteArray(long value,
byte[] buffer,
int offset,
int size)
Parameters:
value - value
buffer - destination byte array
offset - starting offset in byte array
size - number of bytes to write
longToByteArray
public static void longToByteArray(long value,
byte[] buffer,
int offset,
int size,
boolean isReverse)
Parameters:
value - value
buffer - destination byte array
offset - starting offset in byte array
size - number of bytes to write
isReverse - is data in reverse order
getUnsignedShort
public static int getUnsignedShort([Link] buffer)
doCRC32
public static int doCRC32(int crc,
byte[] buffer,
int offset,
int len)
Page 38 of 1585
[Link]
Calculate an IEEE CRC32 value for MPEG transport stream from a starting crc value
Parameters:
crc - starting crc value
buffer - buffer
offset - offset
len - len
Returns:
crc value
indexOf
public static int indexOf(byte[] source,
byte[] pattern)
Note: If we want to improve the performance, we could implement the Knuth-Morris-Pratt algorithm. But I don't need the
speed nor do I have time today!
Parameters:
source - The source byte buffer
pattern - the pattern we're looking for.
Returns:
the index of source where the pattern is found, else -1
indexOfDifferent
public static int indexOfDifferent(byte[] buffer1,
byte[] buffer2)
Compare two byte buffers, and return the index of the first byte that is different.
Parameters:
buffer1 - byte array1
buffer2 - byte array2
Returns:
index where buffers differ, or -1.
startsWith
public static boolean startsWith(byte[] source,
byte[] pattern)
Page 39 of 1585
[Link]
[Link]
Class DebugUtils
[Link]
|
+-[Link]
Constructor Summary
public DebugUtils()
Method Summary
static [Link] byteArrayToFile(byte[] data, String filePath)
Dump a buffer of bytes to a file.
static String formatBytes(byte[] data, int offset, int len, boolean showIndex)
Format byte array for printing.
Page 40 of 1585
[Link]
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
DebugUtils
public DebugUtils()
Methods
formatBytesShort
public static String formatBytesShort(byte[] data)
Format byte array for printing. Simple format as rows of hex values (16 values per row)
Parameters:
data - byte array
Returns:
formatted string
formatBytesShort
public static String formatBytesShort(byte[] data,
int offset,
int len)
Page 41 of 1585
[Link]
Format byte array for printing. Simple format as rows of hex values (16 values per row)
Parameters:
data - byte array
offset - offset in array
len - data len
Returns:
formatted string
formatBytes
public static String formatBytes(byte[] data)
Format byte array for printing. Format as rows of hex values (16 values per row) along with text representation of data.
Parameters:
data - byte array
Returns:
formatted string
formatBytes
public static String formatBytes(byte[] data,
boolean showIndex)
Format byte array for printing. Format as rows of hex values (16 values per row) along with text representation of data.
Parameters:
data - byte array
Returns:
formatted string
formatBytes
public static String formatBytes(byte[] data,
int offset,
int len)
Format byte array for printing. Format as rows of hex values (16 values per row) along with text representation of data.
Parameters:
data - byte array
offset - start index in array
len - length to format
Returns:
formatted string
formatBytes
public static String formatBytes(byte[] data,
int offset,
int len,
boolean showIndex)
Format byte array for printing. Format as rows of hex values (16 values per row) along with text representation of data.
Page 42 of 1585
[Link]
Parameters:
data - byte array
offset - start index in array
len - length to format
Returns:
formatted string
formatBytesInSingleRow
public static String formatBytesInSingleRow(byte[] data,
int offset,
int len)
Format byte array for printing. Format as rows of hex values al in one row along with text representation of data.
Parameters:
data - byte array
offset - start index in array
len - length to format
Returns:
formatted string
formatBytesStruct
public static String formatBytesStruct(byte[] data)
formatBytesStruct
public static String formatBytesStruct(byte[] data,
int offset,
int len)
Format byte array for printing. Format as Java primitive byte values (8 per row).
Parameters:
data - byte array
Returns:
formatted string
toHex
public static String toHex(byte value)
Parameters:
value - byte value
Returns:
return string
toHex
public static String toHex(int value)
Page 43 of 1585
[Link]
Parameters:
value - int value
Returns:
return string
toLong
public static String toLong(long value)
Parameters:
value - long value
Returns:
return string
byteArrayToFile
public static [Link] byteArrayToFile(byte[] data,
String filePath)
Parameters:
data - a buffer of bytes
filePath - The path and filename
formatSeconds
public static String formatSeconds(long t)
Parameters:
t
Returns:
time representation
formatMilliseconds
public static String formatMilliseconds(long ms)
Parameters:
ms
Returns:
time representation
Page 44 of 1585
[Link]
formatUtcTime
public static String formatUtcTime(long utcTime)
stackTraceToString
public static String stackTraceToString(Throwable e)
Given an exception, return String representation. Note: this is the entire raw stack trace including tabs and line endings
Parameters:
e - throwable
Returns:
stack trace representation
stackTraceToSingleLineString
public static String stackTraceToSingleLineString(Throwable e,
int maxLines)
Given an exception, return single line String representation. Note: line endings are replaced with "|" character. Tabs are
removed.
Parameters:
e - throwable
maxLines - If greater than zero, returns only first maxLines of trace
Returns:
stack trace info
stackTraceToString
public static String stackTraceToString(Throwable e,
int maxLines,
String seperator)
Given an exception, return single line String representation. Note: line endings are replaced with "|" character. Tabs are
removed.
Parameters:
e - throwable
maxLines - If greater than zero, returns only first maxLines of trace
seperator - character to replace line endings with
Returns:
stack trace info
doesStackContainMethod
public static boolean doesStackContainMethod(String methodName)
Examine current stack trace to determine if the specified method name in the the trace.
Could be enhanced quite a bit by also checking for Class and method. But simple for now.
Parameters:
Page 45 of 1585
[Link]
Returns:
true if in trace, else false
Page 46 of 1585
[Link]
[Link]
Class ElapsedTimer
[Link]
|
+-[Link]
ElapsedTimer: Utility class for keep track of the duration an object has been in existence.
Constructor Summary
public ElapsedTimer()
Construct a new ElapsedTimer and start the clock
Method Summary
[Link] getDate()
Get the date the object was created
String getDateString()
Get the date object was created as formatted String
long getTime()
Get elapsed time object in existence (milliseconds)
double getTimeSeconds()
Get elapsed time object in seconds
String getTimeString()
Get elapsed time object in existence as formatted String (Ex: 3 days 2 minutes 5 seconds)
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
ElapsedTimer
public ElapsedTimer()
Methods
Page 47 of 1585
[Link]
getDate
public [Link] getDate()
Returns:
date object created
getDateString
public String getDateString()
Returns:
date object created as formatted String
getTime
public long getTime()
Returns:
elapsed time (milliseconds)
getTimeSeconds
public double getTimeSeconds()
Returns:
elapsed time in seconds
getTimeString
public String getTimeString()
Get elapsed time object in existence as formatted String (Ex: 3 days 2 minutes 5 seconds)
Returns:
elapsed time as formatted String
Page 48 of 1585
[Link]
[Link]
Class FileUtils
[Link]
|
+-[Link]
Constructor Summary
public FileUtils()
Method Summary
static void closeQuietly([Link] stream)
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Page 49 of 1585
[Link]
Constructors
FileUtils
public FileUtils()
Methods
fileToByteArray
public static byte[] fileToByteArray([Link] file)
streamNameToValidFilename
public static String streamNameToValidFilename(String name)
Parameters:
name - stream name
Returns:
encoded filename
toValidFilename
public static String toValidFilename(String name)
Parameters:
name
Returns:
encoded filename
copyFile
public static void copyFile([Link] fromFile,
[Link] toFile)
Parameters:
fromFile - from file
toFile - to file
Page 50 of 1585
[Link]
copyFile2
public static void copyFile2([Link] fromFile,
[Link] toFile)
throws [Link]
closeQuietly
public static void closeQuietly([Link] stream)
closeQuietly
public static void closeQuietly([Link] stream)
closeQuietly
public static void closeQuietly([Link] reader)
deleteDirectory
public static boolean deleteDirectory([Link] path)
versionFile
public static [Link] versionFile([Link] newFile)
Parameters:
newFile - input file
Returns:
renamed file
traverseDirectory
public static void traverseDirectory([Link] dir,
IFileProcess fileNotify)
Traverse a directory recursively calling fileNotify for each file and folder encountered
Parameters:
dir - starting directory
fileNotify - file notify object
deleteFolder
public static void deleteFolder([Link] folder)
Page 51 of 1585
[Link]
Page 52 of 1585
[Link]
[Link]
Class FLVUtils
[Link]
|
+-[Link]
Field Summary
public static final FLV_CHUNKHEADER_BUFFERSIZE
Size of temporary buffer needed for flv reading (byte[])
Value: 13
Page 53 of 1585
[Link]
Value: 0
Value: 2
Value: 1
Constructor Summary
public FLVUtils()
Method Summary
static long adjustFirstPacketTCs([Link] audioTCs, [Link] videoTCs,
[Link] dataTCs)
Align list of timecode for each data type.
Page 54 of 1585
[Link]
Page 55 of 1585
[Link]
Page 56 of 1585
[Link]
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
FLV_CHUNKHEADER_ITYPE
public static final int FLV_CHUNKHEADER_ITYPE
FLV_CHUNKHEADER_ISIZE
public static final int FLV_CHUNKHEADER_ISIZE
FLV_CHUNKHEADER_ITIMECODE
public static final int FLV_CHUNKHEADER_ITIMECODE
FLV_CHUNKHEADER_FIRSTBYTE
public static final int FLV_CHUNKHEADER_FIRSTBYTE
Page 57 of 1585
[Link]
FLV_CHUNKHEADER_SECONDBYTE
public static final int FLV_CHUNKHEADER_SECONDBYTE
FLV_CHUNKHEADER_HEADERSIZE
public static final int FLV_CHUNKHEADER_HEADERSIZE
FLV_CHUNKHEADER_BUFFERSIZE
public static final int FLV_CHUNKHEADER_BUFFERSIZE
FLV_CHUNKHEADER_VALUESIZE
public static final int FLV_CHUNKHEADER_VALUESIZE
FLV_UFRAME
public static final int FLV_UFRAME
FLV_KFRAME
public static final int FLV_KFRAME
FLV_DFRAME
public static final int FLV_DFRAME
FLV_PFRAME
public static final int FLV_PFRAME
FLV_TCINDEXAUDIO
public static final int FLV_TCINDEXAUDIO
Page 58 of 1585
[Link]
Constant value: 0
FLV_TCINDEXVIDEO
public static final int FLV_TCINDEXVIDEO
Constant value: 1
FLV_TCINDEXDATA
public static final int FLV_TCINDEXDATA
Constant value: 2
Constructors
FLVUtils
public FLVUtils()
Methods
streamCodecToString
public static String streamCodecToString(int codec)
Parameters:
codec - codec id defined IVHost.CODEC_STREAM_*
Returns:
codec name
audioCodecStringToId
public static int audioCodecStringToId(String codecString)
Parameters:
codecString - codec string
Returns:
codec ID
videoCodecToMetaDataString
public static String videoCodecToMetaDataString(int codec)
Get a printable string representation of the video codecs defined as IVHost.CODEC_VIDEO_* as the string used in the
onMetaData event
Page 59 of 1585
[Link]
Parameters:
codec - codec id defined IVHost.CODEC_VIDEO_*
Returns:
codec name
audioCodecToMetaDataString
public static String audioCodecToMetaDataString(int codec)
Get a printable string representation of the audio codecs defined as IVHost.CODEC_AUDIO_* as the string used in the
onMetaData event
Parameters:
codec - codec id defined IVHost.CODEC_AUDIO_*
Returns:
codec name
audioCodecToString
public static String audioCodecToString(int codec)
Parameters:
codec - codec id defined IVHost.CODEC_AUDIO_*
Returns:
codec name
videoCodecStringToId
public static int videoCodecStringToId(String codecString)
Parameters:
codecString - codec string
Returns:
codec ID
videoCodecToString
public static String videoCodecToString(int codec)
Parameters:
codec - codec id defined IVHost.CODEC_VIDEO_*
Returns:
codec name
frameTypeToString
public static String frameTypeToString(int frameType)
Page 60 of 1585
[Link]
getFrameType
public static int getFrameType(int[] values)
Given the headers values (including first byte of the packet), determine the type of video frame (FLV_*FRAME)
Parameters:
values - header values
Returns:
type of video frame (FLV_*FRAME)
getFrameType
public static int getFrameType(int value)
Given the first byte of a video packet, determine the frame type (FLV_*FRAME)
Parameters:
value - first byte of packet
Returns:
type of video frame (FLV_*FRAME)
getAudioCodec
public static int getAudioCodec(int value)
Return the codec portion of the first byte of an audio packet. Return should be one of IVHost.CODEC_AUDIO_*
Parameters:
value - first byte of audio packet
Returns:
codec id
getVideoCodec
public static int getVideoCodec(int value)
Return the codec portion of the first byte of an video packet. Return should be one of IVHost.CODEC_VIDEO_*
Parameters:
value - first byte of audio packet
Returns:
codec id
getFrameType
public static int getFrameType(byte value)
Given the first byte of a video packet, determine the frame type (FLV_*FRAME)
Parameters:
value - first byte of packet
Page 61 of 1585
[Link]
Returns:
type of video frame (FLV_*FRAME)
readChunk
public static AMFPacket readChunk([Link] is)
Read a packets worth of .flv data from an InputStream and return as an AMFPacket
Parameters:
is - InputStream
Returns:
AMFPacket of data or null if unsuccessful or end of file
readChunk
public static AMFPacket readChunk([Link] is)
Read a packets worth of .flv data from an InputStream and return as an AMFPacket
Parameters:
is - InputStream
Returns:
AMFPacket of data or null if unsuccessful or end of file
readPrevChunkHeader
public static void readPrevChunkHeader([Link] is,
byte[] buffer,
int[] values)
Back up one packet from current position in the file and read the packet header. This includes reading the first byte of the
packet data. The file pointer will be positioned at the first byte of the packet data. values[FLV_CHUNKHEADER_ITYPE]
will be set to 0x7f if failure or start of file.
Parameters:
is - RandomAccessFile
buffer - temporary buffer byte[FLV_CHUNKHEADER_BUFFERSIZE]
values - header values long[FLV_CHUNKHEADER_VALUESIZE]
readChunkHeader
public static void readChunkHeader([Link] is,
byte[] buffer,
int[] values)
Read packet header. This includes reading the first byte of the packet data. The file pointer will be positioned at the first byte of
the packet data. values[FLV_CHUNKHEADER_ITYPE] will be set to 0x7f if failure or end of file.
Parameters:
is - RandomAccessFile
buffer - temporary buffer byte[FLV_CHUNKHEADER_BUFFERSIZE]
values - header values long[FLV_CHUNKHEADER_VALUESIZE]
Page 62 of 1585
[Link]
readHeader
public static boolean readHeader([Link] is)
Read file header. Return true if successful. Basically this just skips first 13 bytes in file.
readHeader
public static boolean readHeader([Link] is)
Read file header. Return true if successful. Basically this just skips first 13 bytes in file.
writeShortHeader
public static void writeShortHeader([Link] ds)
Write just the FLV file header (without the metadata packet)
Parameters:
ds - OutputStream
writeShortHeader
public static void writeShortHeader([Link] ds)
writeHeader
public static void writeHeader([Link] ds,
double duration,
[Link] extraMetadata)
Parameters:
ds - OutputStream
duration - duration of .flv file in seconds
extraMetadata - Map of name/value pairs of metadata that will be appended to the onMetaData block
writeHeader
public static void writeHeader([Link] ds,
double duration,
int audiocodecid,
int videocodecid,
String createdBy,
[Link] extraMetadata)
Page 63 of 1585
[Link]
With this method you can provide a Map of metadata to write to the file. This map can include a mixture of simple types like:
int, long, String, boolean. These types will be wrapped in AMFData classes before they are written to the file. This map can also
contain AMFData items. For example if you wanted to insert and array of cuePoints the code would look like:
Parameters:
ds - OutputStream
duration - duration of .flv file in seconds
audiocodecid - audio codec ID see IVHost.CODEC_AUDIO_* (-1 for now audio)
videocodecid - video codec ID see IVHost.CODEC_VIDEO_* (-1 for now video)
createdBy - created by string (null for empty)
extraMetadata - Map of name/value pairs of metadata that will be appended to the onMetaData block
writeChunk
public static void writeChunk([Link] ds,
[Link] data,
int size,
long timecode,
byte type)
Parameters:
ds - OutputStream
data - packet data
size - size of the packet
timecode - timecode (milliseconds)
type - type of packet IVHost.CONTENTTYPE_*
writeChunk
public static void writeChunk([Link] ds,
[Link] data,
int size,
long timecode,
byte type)
Page 64 of 1585
[Link]
interleavePackets
public static [Link] interleavePackets([Link] audioPackets,
[Link] videoPackets,
[Link] dataPackets,
[Link] audioTCs,
[Link] videoTCs,
[Link] dataTCs,
long[] currentTCs)
This is a utility function primarily used for IMediaWriters. It is a way of taking the discrete audio/video/data packets and
timecodes and interleaving them into a single list of AMFPacket objects. The currentTCs array is an array of longs containing
the last timecode for each of the packet types FLV_TCINDEX* (long[3]). This array will be used to calculate the absolute
timecode for a given packet. For example if the relative timecode for an audio packet is 26 and the currentTCs value for the
audio channel is 1003 then the absolute timecode for that packet will be 1029. The currentTCs array will be updated after this
call to reflect the absolute timecode of the last packet processed of each type.
Parameters:
audioPackets - list of audio packets (ByteBuffer)
videoPackets - list of video packets (ByteBuffer)
dataPackets - list of data packets (ByteBuffer)
audioTCs - list of relative audio timecodes (Long)
videoTCs - list of relative video timecodes (Long)
dataTCs - list of relative data timecodes (Long)
currentTCs - array of longs containing last TCs written for each packet type FLV_TCINDEX* (long[3]). Last timecode
written for each packet type wil be returned in this same array.
Returns:
List of AMFPacket objects sorted by timecodes
interleavePackets
public static [Link] interleavePackets([Link] audioPackets,
[Link] videoPackets,
[Link] dataPackets,
[Link] audioTCs,
[Link] videoTCs,
[Link] dataTCs,
[Link] dataTypes,
long[] currentTCs)
This is a utility function primarily used for IMediaWriters. It is a way of taking the discrete audio/video/data packets and
timecodes and interleaving them into a single list of AMFPacket objects. The currentTCs array is an array of longs containing
the last timecode for each of the packet types FLV_TCINDEX* (long[3]). This array will be used to calculate the absolute
timecode for a given packet. For example if the relative timecode for an audio packet is 26 and the currentTCs value for the
audio channel is 1003 then the absolute timecode for that packet will be 1029. The currentTCs array will be updated after this
call to reflect the absolute timecode of the last packet processed of each type.
Parameters:
audioPackets - list of audio packets (ByteBuffer)
videoPackets - list of video packets (ByteBuffer)
dataPackets - list of data packets (ByteBuffer)
audioTCs - list of relative audio timecodes (Long)
videoTCs - list of relative video timecodes (Long)
dataTCs - list of relative data timecodes (Long)
dataTypes - list of integer packets types (IVHost.CONTENTTYPE_DATA0, IVHost.CONTENTTYPE_DATA3) - if
null assumed to be IVHost.CONTENTTYPE_DATA0
currentTCs - array of longs containing last TCs written for each packet type FLV_TCINDEX* (long[3]). Last timecode
written for each packet type wil be returned in this same array.
Returns:
List of AMFPacket objects sorted by timecodes
Page 65 of 1585
[Link]
writePackets
public static void writePackets([Link] ds,
[Link] packetList,
long tcOffset)
Write audio/video/data packets to an .flv file. They will be written in the packetList order.
Parameters:
ds - OutputStream
packetList - List of AMFPacket objects
tcOffset - timecode offset
writePackets
public static void writePackets([Link] ds,
[Link] audioPackets,
[Link] videoPackets,
[Link] dataPackets,
[Link] audioTCs,
[Link] videoTCs,
[Link] dataTCs,
long[] currentTCs)
Write a bunch of packets to .flv file all at once. The packets will be sorted by timecode as written
Parameters:
ds - OutputStream
audioPackets - list of audio packets (ByteBuffer)
videoPackets - list of video packets (ByteBuffer)
dataPackets - list of data packets (ByteBuffer)
audioTCs - list of relative audio timecodes (Long)
videoTCs - list of relative video timecodes (Long)
dataTCs - list of relative data timecodes (Long)
currentTCs - array of longs containing last TCs written for each packet type FLV_TCINDEX* (long[3]). Last timecode
written for each packet type wil be returned in this same array.
writePackets
public static void writePackets([Link] ds,
[Link] audioPackets,
[Link] videoPackets,
[Link] dataPackets,
[Link] audioTCs,
[Link] videoTCs,
[Link] dataTCs,
[Link] dataTypes,
long[] currentTCs)
Write a bunch of packets to .flv file all at once. The packets will be sorted by timecode as written
Parameters:
ds - OutputStream
audioPackets - list of audio packets (ByteBuffer)
videoPackets - list of video packets (ByteBuffer)
dataPackets - list of data packets (ByteBuffer)
audioTCs - list of relative audio timecodes (Long)
videoTCs - list of relative video timecodes (Long)
dataTCs - list of relative data timecodes (Long)
dataTypes - list of integer packets types (IVHost.CONTENTTYPE_DATA0, IVHost.CONTENTTYPE_DATA3) - if
null assumed to be IVHost.CONTENTTYPE_DATA0
Page 66 of 1585
[Link]
currentTCs - array of longs containing last TCs written for each packet type FLV_TCINDEX* (long[3]). Last timecode
written for each packet type wil be returned in this same array.
writePackets
public static void writePackets([Link] ds,
[Link] audioPackets,
[Link] videoPackets,
[Link] dataPackets,
[Link] audioTCs,
[Link] videoTCs,
[Link] dataTCs,
[Link] dataTypes,
long[] currentTCs,
IFLVWriterAdjustTimecode dataPacketTimecodeAdjuster)
Write a bunch of packets to .flv file all at once. The packets will be sorted by timecode as written
Parameters:
ds - OutputStream
audioPackets - list of audio packets (ByteBuffer)
videoPackets - list of video packets (ByteBuffer)
dataPackets - list of data packets (ByteBuffer)
audioTCs - list of relative audio timecodes (Long)
videoTCs - list of relative video timecodes (Long)
dataTCs - list of relative data timecodes (Long)
dataTypes - list of integer packets types (IVHost.CONTENTTYPE_DATA0, IVHost.CONTENTTYPE_DATA3) - if
null assumed to be IVHost.CONTENTTYPE_DATA0
currentTCs - array of longs containing last TCs written for each packet type FLV_TCINDEX* (long[3]). Last timecode
written for each packet type wil be returned
dataPacketTimecodeAdjuster - class that implements the IFLVWriterAdjustTimecode interface for adjusting
timecodes in this same array.
adjustFirstPacketTCs
public static long adjustFirstPacketTCs([Link] audioTCs,
[Link] videoTCs,
[Link] dataTCs)
Align list of timecode for each data type. Assume first entry in each list is absolute timecode. When done lowest entry in three
lists will be zero and other lists will be offset accordingly.
Parameters:
audioTCs - list of audio timecodes
videoTCs - list of video timecodes
dataTCs - list of data timecodes
Returns:
lowest of three absolute timecodes
writeDuration
public static void writeDuration([Link] file,
double duration)
Write the duration to an existing .flv file. This routine will hunt through the .flv file for the onMetaData packet and the duration
metadata. It will rewrite the value if found. If not found it will do nothing.
Parameters:
file - .flv file
duration - new duration value (seconds)
Page 67 of 1585
[Link]
getLastTC
public static long getLastTC([Link] file)
Get the duration of an .flv file. This routine will find the onMetaData packet and the duration metadata and return the value. If
not found it will read the last packet in the file and return the timecode of that packet.
Parameters:
file
Returns:
duration (milliseconds)
isVideoKeyFrame
public static boolean isVideoKeyFrame(AMFPacket packet)
Parameters:
packet - packet
Returns:
true if is video key frame
isVideoCodecConfig
public static boolean isVideoCodecConfig(AMFPacket packet)
Parameters:
packet
Returns:
true if the packet is a video codec config packet
isAudioCodecConfig
public static boolean isAudioCodecConfig(AMFPacket packet)
Parameters:
packet
Returns:
true if the packet is a video codec config packet
getAudioMP3Layer
public static int getAudioMP3Layer(AMFPacket packet)
Audio marked as MP3 is really MPEG1 Layer 1-3. Only MPEG1 Layer 3 is truely MP3. This function will return the layer
number for this packet.
Parameters:
packet - amf packet
Page 68 of 1585
[Link]
Returns:
layer number
getAudioCodec
public static int getAudioCodec(AMFPacket packet)
Get the codec id for this audio packet. Returns IVHost.CODEC_AUDIO_UNKNOWN is unknown or not audio packet
Parameters:
packet - packet
Returns:
codec id IVHost.CODEC_AUDIO_*
getVideoCodec
public static int getVideoCodec(AMFPacket packet)
Get the codec id for this video packet. Returns IVHost.CODEC_VIDEO_UNKNOWN is unknown or not video packet
Parameters:
packet - packet
Returns:
codec id IVHost.CODEC_VIDEO_*
getVideoFrameType
public static int getVideoFrameType(AMFPacket packet)
getVideoTimecodeOffset
public static int getVideoTimecodeOffset(AMFPacket packet)
Get the timecode offset in milliseconds between the PTS and DTS for this frame.
Parameters:
packet - AMFPacket
Returns:
timecode offset in milliseconds (can be negative)
getVideoTimecodeOffset
public static int getVideoTimecodeOffset(byte[] buffer)
Get the timecode offset in milliseconds between the PTS and DTS for this frame.
Parameters:
buffer - video packet buffer
Returns:
timecode offset in milliseconds (can be negative)
Page 69 of 1585
[Link]
isVideoKeyFrame
public static boolean isVideoKeyFrame([Link] buffer)
Parameters:
buffer - packet data (only need first two bytes of data)
Returns:
true if is video key frame
isVideoKeyFrame
public static boolean isVideoKeyFrame(byte[] buffer)
Parameters:
buffer - packet data (only need first two bytes of data)
Returns:
true if is video key frame
isVideoKeyFrame
public static boolean isVideoKeyFrame(int[] chunkHeaderValues)
Parameters:
chunkHeaderValues - chunk header values returned by [Link]
Returns:
true if is video key frame
updateOnCuePointTimecode
public static AMFPacket updateOnCuePointTimecode(AMFPacket packet,
long timecode)
updateOnCuePointTimecode
public static [Link] updateOnCuePointTimecode([Link] data,
int dataType,
long timecode)
isOnMetadataPacket
public static boolean isOnMetadataPacket(AMFPacket packet)
Parameters:
Page 70 of 1585
[Link]
packet - packet
Returns:
true if onMetaData packet
getOnMetadataData
public static OnMetadataBasic getOnMetadataData(AMFPacket metaDataPacket)
Page 71 of 1585
[Link]
[Link]
Class HTTPUtils
[Link]
|
+-[Link]
Field Summary
public static final COOKIEDATEFORMAT
Constructor Summary
public HTTPUtils()
Method Summary
static String assembleQueryStr([Link] queryMap)
Assemble a map of name value pairs into a single query string.
static String formatSetCookie(String name, String value, int timeoffset, String path,
String domain, boolean isSecure)
Format a HTTP header Set-Cookie value
Page 72 of 1585
[Link]
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
COOKIEDATEFORMAT
public static final [Link] COOKIEDATEFORMAT
Constructors
HTTPUtils
public HTTPUtils()
Methods
HTTPRequestToFile
public static boolean HTTPRequestToFile([Link] file,
String inUrl,
String method,
String data,
[Link] headers)
Parameters:
file - destination
inUrl - url (will work with http and https)
method - method (POST, GET)
data - post data
headers - map of headers (Content-type...)
Returns:
true if successful
HTTPRequestToByteArray
public static byte[] HTTPRequestToByteArray(String inUrl,
String method,
String data,
[Link] headers)
Parameters:
inUrl - url (will work with http and https)
Page 73 of 1585
[Link]
Returns:
byte array of result or null if not successful
HTTPRequestToByteArray
public static byte[] HTTPRequestToByteArray(String inUrl,
String method,
String data,
[Link] inHeaders,
[Link] outHeaders,
long dataLimit)
Parameters:
inUrl - url (will work with http and https)
method - method (POST, GET)
data - data
inHeaders - map of headers (Content-type...)
outHeaders - response headers
dataLimit - maximum number of bytes to read, zero for no limit
Returns:
byte array of result or null if not successful
assembleQueryStr
public static String assembleQueryStr([Link] queryMap)
Assemble a map of name value pairs into a single query string. URL encode query string values.
Parameters:
queryMap - name value pairs
Returns:
query string
splitQueryStr
public static [Link] splitQueryStr(String queryStr)
Split a query string into a map and URL decode the values
Parameters:
queryStr - query string
Returns:
map of name value pairs
splitPragmas
public static String[] splitPragmas(String str)
Page 74 of 1585
[Link]
Split HTTP Pragma values at commas that separate values. It deals with internal commas in strings. Example:
Result:
no-cache
client-id=1485578017
features="seekable,stridable"
timeout=6
Parameters:
str - Pragma value
Returns:
array of strings broken at commas
splitCookie
public static [Link] splitCookie(String str)
Breaks Cookies header value into a list of name/value pairs. The Cookie string: "name1=value1;name2;name1=value3" is
returned as: List(item({"name1", "value1"}), item("name2", null), item("name1", "value3"))
Parameters:
str - input string
Returns:
List of name value pairs
formatDeleteCookie
public static String formatDeleteCookie(String name,
String path,
String domain)
Parameters:
name - variable name
path - path
domain - domain
Returns:
formatted cookie string
Page 75 of 1585
[Link]
formatSetCookie
public static String formatSetCookie(String name,
String value,
int timeoffset,
String path,
String domain,
boolean isSecure)
Parameters:
name - variable name
value - variable value - null if no value
timeoffset - expiration time in seconds
path - cookie path
domain - cookie domain
isSecure - is cookie secure
Returns:
formatted cookie string
statusCodeToStr
public static String statusCodeToStr(int statusCode)
Parameters:
statusCode - HTTP status code
Returns:
string
Page 76 of 1585
[Link]
[Link]
Interface IBandwidthThrottler
Method Summary
long getByteAllocation(long request)
Requests bytes from the bandwidth throttler interface.
Methods
getByteAllocation
public long getByteAllocation(long request)
Requests bytes from the bandwidth throttler interface. Return value is the number of bytes allocated
Parameters:
request - request number of bytes
Returns:
allocated number of bytes
Page 77 of 1585
[Link]
[Link]
Interface IFileProcess
Used by [Link]
Method Summary
void onFile([Link] file)
Triggered for each file encountered in [Link]
Methods
onFile
public void onFile([Link] file)
Parameters:
file - file descriptor
Page 78 of 1585
[Link]
[Link]
Class IOPerformanceCounter
[Link]
|
+-[Link]
IOPerformanceCounter: data object that tracks the server performance of a particular component (client, vHost, server, stream). It
tracks bytes and messages sent to and from the object being measured.
Constructor Summary
public IOPerformanceCounter()
Create an empty performance counter.
Method Summary
void add(IOPerformanceCounter value)
Add (value) to this counter.
void clear()
Clear or reset this counter back to zero.
IOPerformanceCounter clone()
Create a deep clone (copy) if this object.
void dummy()
long getFileInBytes()
Get file in bytes
double getFileInBytesRate()
Get estimate of file byte-in byte rate.
long getFileOutBytes()
Get file byte-out bytes (not implemented)
double getFileOutBytesRate()
Get estimate of file byte-out message byte rate (not implemented).
long getMessagesInBytes()
Get byte-in bytes
double getMessagesInBytesRate()
Get estimate of byte-in message byte rate.
Page 79 of 1585
[Link]
long getMessagesInCount()
Get byte-in message count
long getMessagesInCountRate()
Get estimate of byte-in message count rate.
long getMessagesLossBytes()
Get byte-loss bytes
double getMessagesLossBytesRate()
Get estimate of byte-loss message byte rate.
long getMessagesLossCount()
Get byte-loss message count
long getMessagesLossCountRate()
Get estimate of byte-loss message count rate.
long getMessagesOutBytes()
Get byte-out bytes
double getMessagesOutBytesRate()
Get estimate of byte-out message byte rate.
long getMessagesOutCount()
Get byte-out message count
long getMessagesOutCountRate()
Get estimate of byte-out message count rate.
long incrementMessagesIn()
Increment byte-in message count by 1.
long incrementMessagesLoss()
Increment byte-loss message count by 1.
Page 80 of 1585
[Link]
long incrementMessagesOut()
Increment byte-out message count by 1.
boolean isDebugLog()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
IOPerformanceCounter
public IOPerformanceCounter()
Methods
clone
public IOPerformanceCounter clone()
addDifference
public void addDifference(IOPerformanceCounter current,
IOPerformanceCounter last)
Add the result of (current-last) to this counter. Used internally to efficiently track object performance on a timer.
Parameters:
current - current counter
last - last counter
clear
public void clear()
Page 81 of 1585
[Link]
add
public void add(IOPerformanceCounter value)
Parameters:
value - value to add
doSet
public void doSet(IOPerformanceCounter value)
Parameters:
value - value to set
incrementMessagesIn
public long incrementMessagesIn(long bytes)
Parameters:
bytes - number of bytes
Returns:
bytes-in bytes
incrementFileIn
public long incrementFileIn(long bytes)
Parameters:
bytes - number of bytes
Returns:
bytes-in bytes
incrementMessagesIn
public long incrementMessagesIn(long bytes,
long count)
Parameters:
bytes - number of bytes
count - number of messages
Returns:
bytes-in bytes
Page 82 of 1585
[Link]
incrementBytesIn
public long incrementBytesIn(long bytes)
Parameters:
bytes
Returns:
bytes-in bytes
incrementMessagesIn
public long incrementMessagesIn()
Returns:
bytes-in message count
incrementMessagesOut
public long incrementMessagesOut(long bytes)
Parameters:
bytes - number of bytes
Returns:
bytes-out bytes
incrementFileOut
public long incrementFileOut(long bytes)
Parameters:
bytes - number of bytes
Returns:
bytes-out bytes
incrementMessagesLoss
public long incrementMessagesLoss(long bytes)
Parameters:
bytes - number of bytes
Returns:
bytes-loss bytes
Page 83 of 1585
[Link]
incrementMessagesOut
public long incrementMessagesOut(long bytes,
long count)
Parameters:
bytes - number of bytes
count - number of messages
Returns:
bytes-out bytes
incrementMessagesLoss
public long incrementMessagesLoss(long bytes,
long count)
Parameters:
bytes - number of bytes
count - number of messages
Returns:
bytes-loss bytes
incrementBytesOut
public long incrementBytesOut(long bytes)
Parameters:
bytes
Returns:
bytes-out bytes
incrementBytesLoss
public long incrementBytesLoss(long bytes)
Parameters:
bytes
Returns:
bytes-loss bytes
incrementMessagesOut
public long incrementMessagesOut()
Returns:
Page 84 of 1585
[Link]
incrementMessagesLoss
public long incrementMessagesLoss()
Returns:
bytes-loss message count
getMessagesInCount
public long getMessagesInCount()
Returns:
byte-in message count
getMessagesOutCount
public long getMessagesOutCount()
Returns:
byte-out message count
getMessagesLossCount
public long getMessagesLossCount()
Returns:
byte-loss message count
getMessagesInBytes
public long getMessagesInBytes()
Returns:
byte-in bytes
getFileInBytes
public long getFileInBytes()
Returns:
file in bytes
Page 85 of 1585
[Link]
getMessagesOutBytes
public long getMessagesOutBytes()
Returns:
byte-out bytes
getFileOutBytes
public long getFileOutBytes()
Returns:
byte-out bytes
getMessagesLossBytes
public long getMessagesLossBytes()
Returns:
byte-loss bytes
getMessagesInCountRate
public long getMessagesInCountRate()
Returns:
estimate of byte-in message count rate (messages per second)
getMessagesOutCountRate
public long getMessagesOutCountRate()
Returns:
estimate of byte-out message count rate (messages per second)
getMessagesLossCountRate
public long getMessagesLossCountRate()
Returns:
estimate of byte-loss message count rate (messages per second)
getMessagesInBytesRate
public double getMessagesInBytesRate()
Page 86 of 1585
[Link]
Returns:
estimate of byte-in message byte rate (bytes per second)
getFileInBytesRate
public double getFileInBytesRate()
Returns:
estimate of file byte-in byte rate (bytes per second)
getMessagesOutBytesRate
public double getMessagesOutBytesRate()
Returns:
estimate of byte-out message byte rate (bytes per second)
getFileOutBytesRate
public double getFileOutBytesRate()
Returns:
estimate of file byte-out message byte rate (bytes per second)
getMessagesLossBytesRate
public double getMessagesLossBytesRate()
Returns:
estimate of byte-loss message byte rate (bytes per second)
dummy
public void dummy()
isDebugLog
public boolean isDebugLog()
setDebugLog
public void setDebugLog(boolean debugLog)
Page 87 of 1585
[Link].MD5DigestUtils
[Link]
Class MD5DigestUtils
[Link]
|
+-[Link].MD5DigestUtils
Field Summary
protected static md5Digest
Constructor Summary
public MD5DigestUtils()
Method Summary
static String generateAuth(String method, String uri, String username, String
password, String realm, String nonce)
Generate an HTTP authorization response
static String generateAuth(String a2Hash, String a1Hash, String realm, String nonce,
String qop, String nonceCount, String cnonce)
Generate an HTTP authorization response
static String generateAuth(String method, String uri, String a1Hash, String realm,
String nonce, String qop, String nonceCount, String cnonce)
Generate an HTTP authorization response
Page 88 of 1585
[Link].MD5DigestUtils
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
md5Digest
protected static [Link] md5Digest
md5Lock
protected static [Link] md5Lock
Constructors
MD5DigestUtils
public MD5DigestUtils()
Methods
generateAuth
public static String generateAuth(String method,
String uri,
String username,
String password,
String realm,
String nonce)
Parameters:
method - method
uri - URI
username - username
password - password
realm - realm
nonce - nonce
Returns:
auth response
Page 89 of 1585
[Link].MD5DigestUtils
generateAuth
public static String generateAuth(String method,
String uri,
String username,
String password,
String realm,
String nonce,
String qop,
String nonceCount,
String cnonce)
Parameters:
method - method
uri - URI
username - username
password - password
realm - realm
nonce - nonce
qop - qop
nonceCount - nonceCount
cnonce - cnonce
Returns:
auth response
generateAuthHTTP
public static String generateAuthHTTP(String method,
String uri,
String username,
String password,
String realm,
String nonce,
String qop,
String nonceCount,
String cnonce)
Parameters:
method - method
uri - URI
username - username
password - password
realm - realm
nonce - nonce
qop - qop
nonceCount - nonceCount
cnonce - cnonce
Returns:
response
Page 90 of 1585
[Link].MD5DigestUtils
generateAuth
public static String generateAuth(String method,
String uri,
String a1Hash,
String realm,
String nonce,
String qop,
String nonceCount,
String cnonce)
Parameters:
method - method
uri - URI
a1Hash - a1Hash
realm - realm
nonce - nonce
qop - qop
nonceCount - nonceCount
cnonce - cnonce
Returns:
auth
generateAuth
public static String generateAuth(String a2Hash,
String a1Hash,
String realm,
String nonce,
String qop,
String nonceCount,
String cnonce)
Parameters:
a2Hash - a2Hash
a1Hash - a1Hash
realm - realm
nonce - nonce
qop - qop
nonceCount - nonceCount
cnonce - cnonce
Returns:
auth
generateHashBytes
public static byte[] generateHashBytes(byte[] value)
Parameters:
value - byte array to hash
Returns:
byte array result
Page 91 of 1585
[Link].MD5DigestUtils
generateHashBytes
public static byte[] generateHashBytes(String value)
Parameters:
value - in string converted to byte array (UTF-8)
Returns:
byte array result
generateHash
public static String generateHash(String value)
Parameters:
value - in string converted to byte array (UTF-8)
Returns:
hash as binhex string
Page 92 of 1585
[Link]
[Link]
Class MediaUtils
[Link]
|
+-[Link]
Field Summary
public static final CODECSTR_FORMAT_VIDEO_POSTIOS4
Value: 2
Value: 1
Value: 0
Constructor Summary
public MediaUtils()
Method Summary
static String audioCodecTypeToString(int codecType)
Audio codec ID to string.
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
CODECSTR_FORMAT_VIDEO_UNKNOWN
public static final int CODECSTR_FORMAT_VIDEO_UNKNOWN
Constant value: 0
Page 93 of 1585
[Link]
CODECSTR_FORMAT_VIDEO_PREIOS4
public static final int CODECSTR_FORMAT_VIDEO_PREIOS4
Constant value: 1
CODECSTR_FORMAT_VIDEO_POSTIOS4
public static final int CODECSTR_FORMAT_VIDEO_POSTIOS4
Constant value: 2
Constructors
MediaUtils
public MediaUtils()
Methods
audioCodecTypeToString
public static String audioCodecTypeToString(int codecType)
Parameters:
codecType - codec id. See IVHost.CODEC_AUDIO_*
Returns:
codec string
videoCodecTypeToString
public static String videoCodecTypeToString(int codecType)
Parameters:
codecType - codec id. See IVHost.CODEC_VIDEO_*
Returns:
codec string
Page 94 of 1585
[Link]
[Link]
Class NetworkUtils
[Link]
|
+-[Link]
Constructor Summary
public NetworkUtils()
Method Summary
static boolean isAddressMulticast(String IpAddress)
Returns true if IP address is multicast address
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
NetworkUtils
public NetworkUtils()
Methods
isAddressMulticast
public static boolean isAddressMulticast(String IpAddress)
Parameters:
IpAddress - IP address
Returns:
true if IP address is multicast address
Page 95 of 1585
[Link]
socketAddressToUniqueStr
public static String socketAddressToUniqueStr([Link]
socketAddress)
Page 96 of 1585
[Link]
[Link]
Interface NoMBean
Annotation for excluding a method from the JMX interface. Below is an example of how it would be used
import [Link];
import [Link].*;
Page 97 of 1585
[Link]
[Link]
Class StringUtils
[Link]
|
+-[Link]
Constructor Summary
public StringUtils()
Method Summary
static boolean equals(String s1, String s2)
Checks if 2 strings are equals, accounting for null cases.
Page 98 of 1585
[Link]
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
StringUtils
public StringUtils()
Methods
intToStr
public static String intToStr(int value,
int strLen)
intToHexStr
public static String intToHexStr(int value,
int strLen)
longToStr
public static String longToStr(long value,
int strLen)
longToHexStr
public static String longToHexStr(long value,
int strLen)
isEmpty
public static boolean isEmpty(String s)
Parameters:
s
Returns:
Page 99 of 1585
[Link]
length
public static int length(String s)
Parameters:
s
Returns:
0 if string is null, or length of string.
valueOf
public static String valueOf(String s)
Parameters:
s
Returns:
"" if string is null, or string value.
stampToString
public static String stampToString(long stamp)
Parameters:
stamp - duration (milliseconds)
Returns:
formatted string (example: 3 days 4 minutes 1 seconds)
stampToStringNoUnits
public static String stampToStringNoUnits(long stamp)
Parameters:
stamp - duration (milliseconds)
Returns:
formatted string (example: 03:04:01.123 hours:minutes:[Link])
stringToMilliseconds
public static long stringToMilliseconds(String stamp)
Convert a hh:mm:[Link] string to milliseconds No validation that hh:mm:ss are valid ranges
Parameters:
stamp - string (hours:minutes:[Link])
Returns:
milliseconds, -1 is parse failed
equals
public static boolean equals(String s1,
String s2)
Checks if 2 strings are equals, accounting for null cases. If both are null, they are considered equal.
Parameters:
s1 - string one
s2 - string 2
Returns:
true is the strings are equal
toStringList
public static String toStringList(WMSProperties properties)
Parameters:
properties
Returns:
comma-separated string
toStringList
public static String toStringList([Link] strings)
Parameters:
strings
Returns:
comma-separated string
toStringList
public static String toStringList(String[] strings)
Parameters:
strings
Returns:
comma-separated string
[Link]
Class SystemUtils
[Link]
|
+-[Link]
Field Summary
public static final defaultLocale
Constructor Summary
public SystemUtils()
Method Summary
static void addBouncyCastleSecurityProvider()
Load bouncy castle providers, Internal use.
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
defaultTimeZone
public static final [Link] defaultTimeZone
gmtTimeZone
public static final [Link] gmtTimeZone
defaultLocale
public static final [Link] defaultLocale
msb0baseTime
protected static final long msb0baseTime
msb1baseTime
protected static final long msb1baseTime
Constructors
SystemUtils
public SystemUtils()
Methods
expandEnvironmentVariables
public static String expandEnvironmentVariables(String inValue)
Parameters:
inValue - string with properties
Returns:
expanded string
expandEnvironmentVariables
public static String expandEnvironmentVariables(String inValue,
[Link] valueMap)
Expand system level Java properties in a String in the form ${property-name}. You can also pass in a map of name/value pairs
that will expand the list of available properties
Parameters:
inValue - string with properties
valueMap - name/value pair map
Returns:
expanded string
getMACAddress
public static byte[] getMACAddress()
Returns:
MAC address of localhost interface
addBouncyCastleSecurityProvider
public static void addBouncyCastleSecurityProvider()
toNTPTime
public static long toNTPTime(long t)
Parameters:
t - timecode value in milliseconds
Returns:
NTP time
getCpuTime
public static long getCpuTime()
getUserTime
public static long getUserTime()
getSystemTime
public static long getSystemTime()
[Link]
Class [Link]
[Link]
|
+-[Link]
Field Summary
public end
public newValue
public start
Constructor Summary
public [Link](int start, int stop, String newValue)
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
start
public int start
end
public int end
newValue
public [Link] newValue
Constructors
[Link]
public [Link](int start,
int stop,
String newValue)
[Link]
Class URLUtils
[Link]
|
+-[Link]
Constructor Summary
public URLUtils()
Method Summary
static String appendParamsToUrl(String url, String params)
Convenience call to add parameters to a url.
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
URLUtils
public URLUtils()
Methods
pathToFileURL
public static String pathToFileURL(String basePath)
Parameters:
basePath - path
Returns:
file url
urlToId
public static String urlToId([Link] url)
Parameters:
url - url to hash
Returns:
hashed url
appendParamsToUrl
public static String appendParamsToUrl(String url,
String params)
Parameters:
url - input url
params - parameters in the form param1=val1¶m2=val2
Returns:
appended url
encodeValue
public static String encodeValue(String val)
Parameters:
val - value to encode
Returns:
encoded value
decodeValue
public static String decodeValue(String val)
Parameters:
val - value to decode
Returns:
decoded value
parseQueryStr
public static [Link] parseQueryStr(String queryString,
boolean doDecode)
Parse query string part of url into Map of Lists (to support multiple values) of query parameters
Parameters:
queryString - query string
doDecode - true to use [Link]() to decode parameters
Returns:
Map of Lists
getParamValue
public static String getParamValue([Link] params,
String key)
Helper funtion to get single value from multiple value parameter Map
Parameters:
params - params Map
key - key string
Returns:
first value
[Link]
Class XMLUtils
[Link]
|
+-[Link]
Constructor Summary
public XMLUtils()
Method Summary
static getNodeByTagName([Link] node, String name)
[Link]
Return a child Node by tag name.
static newXPathFactory()
[Link]
Factory Get a new XPath factory object.
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
XMLUtils
public XMLUtils()
Methods
getNodeValueByTagName
public static String getNodeValueByTagName([Link] node,
String name)
Get a child Node value by tag name. Return null if does not exist.
Parameters:
node - parent node
name - tag name
Returns:
node value or null if does not exist
getNodeByTagName
public static [Link] getNodeByTagName([Link] node,
String name)
Return a child Node by tag name. Return null if does not exist.
Parameters:
node - parent node
Returns:
Node or null if does not exist
getNodeValue
public static String getNodeValue([Link] node)
Return the text value of a node. Return concatenated value of all children nodes that are text nodes.
Parameters:
node - parent node
Returns:
concatenated text nodes or empty string if not found or no children
loadConfigProperies
public static void loadConfigProperies([Link] root,
String propertiesXPath,
WMSProperties properties)
Parameters:
root - root node
propertiesXPath - xpath to search for <Properties> element
properties - properties to add values to
loadConfigProperies
public static void loadConfigProperies([Link] resultList,
WMSProperties properties)
Parameters:
resultList - node list
properties - properties to add values to
getXMLPropertyStr
public static String getXMLPropertyStr([Link] xpath,
String xpathStr,
[Link] root)
Parameters:
xpath - XPath interface
xpathStr - xpath string
root - root node to start search
Returns:
single string value pointed to by xpath or null if not found
getXMLPropertyStr
public static String getXMLPropertyStr([Link] xpath,
String xpathStr,
[Link] root,
String defaultVal)
Parameters:
xpath - XPath interface
xpathStr - xpath string
root - node to start search
defaultVal - default value
Returns:
single string value pointed to by xpath or defaultVal if not found
getXMLPropertyExists
public static boolean getXMLPropertyExists([Link] xpath,
String xpathStr,
[Link] root)
getXMLPropertyInt
public static int getXMLPropertyInt([Link] xpath,
String xpathStr,
[Link] root,
int defaultVal)
Parameters:
xpath - XPath interface
xpathStr - xpath string
root - node to start search
defaultVal - default value
Returns:
int value or defaultVal if not found
getXMLPropertyIntSize
public static int getXMLPropertyIntSize([Link] xpath,
String xpathStr,
[Link] root,
int defaultVal)
getXMLPropertyLong
public static long getXMLPropertyLong([Link] xpath,
String xpathStr,
[Link] root,
long defaultVal)
Parameters:
xpath - XPath interface
xpathStr - xpath string
root - node to start search
defaultVal - default value
Returns:
long value or defaultVal if not found
getXMLPropertyLongSize
public static long getXMLPropertyLongSize([Link] xpath,
String xpathStr,
[Link] root,
long defaultVal)
getXMLPropertyDouble
public static double getXMLPropertyDouble([Link] xpath,
String xpathStr,
[Link] root,
double defaultVal)
Parameters:
xpath - XPath interface
xpathStr - xpath string
root - node to start search
defaultVal - default value
Returns:
double value or defaultVal if not found
getXMLPropertyBool
public static boolean getXMLPropertyBool([Link] xpath,
String xpathStr,
[Link] root,
boolean defaultVal)
Parameters:
xpath - XPath interface
xpathStr - xpath string
root - node to start search
defaultVal - default value
Returns:
boolean value or defaultVal if not found
newXPathFactory
public static [Link] newXPathFactory()
Get a new XPath factory object. There is a bug in certain implementations of the Sun VM that forces an explicit creation of the
"[Link]". This method will try the correct method for creation and if fails
will directly create "[Link]" object.
Returns:
XPathFactory or null if not found
[Link]
Class AMF3Utils
[Link]
|
+-[Link].AMF3Utils
AMF3 utilities
Constructor Summary
public AMF3Utils()
Method Summary
static [Link] deserializeDate([Link] data)
Deserialize date type
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
AMF3Utils
public AMF3Utils()
Methods
deserializeDate
public static [Link] deserializeDate([Link] data)
Parameters:
data - buffer
Returns:
date
serializeDate
public static int serializeDate([Link] out,
[Link] date)
Parameters:
out - output stream
date - date
Returns:
number of bytes written
deserializeInt
public static int deserializeInt([Link] data)
Deserialize int
Parameters:
data - buffer
Returns:
int value
serializeInt
public static int serializeInt([Link] out,
int val)
Parameters:
Returns:
number of bytes written
deserializeString
public static String deserializeString([Link] data,
AMFDataContextDeserialize context)
throws [Link]
Deserialize string
Parameters:
data - data
context - AMF context
Returns:
string value
Throws:
IOException
deserializeString
public static String deserializeString([Link] data)
throws [Link]
Deserialize string
Parameters:
data - data
Returns:
string value
Throws:
IOException
deserializeString
public static String deserializeString([Link] data,
int utflen)
throws [Link]
Deserialize string
Parameters:
data - data
utflen - len of the string
Returns:
string value
Throws:
IOException
serializeZeroLengthString
public static void serializeZeroLengthString([Link] out)
Parameters:
out - output stream
serializeStringNoLength
public static int serializeStringNoLength([Link] out,
String str)
throws [Link]
Parameters:
out - output stream
str - string value
Returns:
number of bytes written
Throws:
IOException
serializeString
public static int serializeString([Link] out,
String str)
throws [Link]
Parameters:
out - output stream
str - string value
Returns:
number of bytes written
Throws:
IOException
[Link]
Class AMFData
[Link]
|
+-[Link]
Direct Known Subclasses:
AMFDataObj, AMFDataList, AMFDataItem, AMFDataByteArray, AMFDataArray
Base abstract class for data in Action Message Format (AMF). Data is sent between the Flash client and the Wowza Media Server using
the AMF format. This class cannot be instantiated. It serves as the base class for all AMFData objects.
Field Summary
public static final AMF_LEVEL0
Value: 0
Value: 3
Value: 17
Value: 9
Value: 2
Value: 3
Value: 12
Value: 8
Value: 4
Value: 1
Value: 5
Value: 10
Value: 6
Value: 0
Value: 7
Value: 11
Value: 10
Value: 13
Value: 1
Value: 33
Value: 16
Value: 11
Value: 32
Value: 12
Value: 8
Value: 4
Value: 5
Value: 0
Value: 3
Value: 9
Value: 14
Value: 7
Value: 2
Value: 6
Value: -1
Value: 15
Value: 34
protected type
Constructor Summary
public AMFData()
Method Summary
static createContextDeserialize()
AMFDataContextDeseria
lize Create an AMF3 deserialization context
static createContextSerialize()
AMFDataContextSeriali
ze Create an AMF3 serialization context
int getType()
Returns the data type for this object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
DATA_TYPE_UNKNOWN
public static final byte DATA_TYPE_UNKNOWN
Constant value: -1
DATA_TYPE_NUMBER
public static final byte DATA_TYPE_NUMBER
Constant value: 0
DATA_TYPE_BOOLEAN
public static final byte DATA_TYPE_BOOLEAN
Constant value: 1
DATA_TYPE_STRING
public static final byte DATA_TYPE_STRING
Constant value: 2
DATA_TYPE_OBJECT
public static final byte DATA_TYPE_OBJECT
Constant value: 3
DATA_TYPE_MOVIE_CLIP
public static final byte DATA_TYPE_MOVIE_CLIP
Constant value: 4
DATA_TYPE_NULL
public static final byte DATA_TYPE_NULL
Constant value: 5
DATA_TYPE_UNDEFINED
public static final byte DATA_TYPE_UNDEFINED
Constant value: 6
DATA_TYPE_REFERENCE_OBJECT
public static final byte DATA_TYPE_REFERENCE_OBJECT
Constant value: 7
DATA_TYPE_MIXED_ARRAY
public static final byte DATA_TYPE_MIXED_ARRAY
Constant value: 8
DATA_TYPE_OBJECT_END
public static final byte DATA_TYPE_OBJECT_END
Constant value: 9
DATA_TYPE_ARRAY
public static final byte DATA_TYPE_ARRAY
Constant value: 10
DATA_TYPE_DATE
public static final byte DATA_TYPE_DATE
Constant value: 11
DATA_TYPE_LONG_STRING
public static final byte DATA_TYPE_LONG_STRING
Constant value: 12
DATA_TYPE_AS_OBJECT
public static final byte DATA_TYPE_AS_OBJECT
Constant value: 13
DATA_TYPE_RECORDSET
public static final byte DATA_TYPE_RECORDSET
Constant value: 14
DATA_TYPE_XML
public static final byte DATA_TYPE_XML
Constant value: 15
DATA_TYPE_CUSTOM_CLASS
public static final byte DATA_TYPE_CUSTOM_CLASS
Constant value: 16
DATA_TYPE_AMF3
public static final byte DATA_TYPE_AMF3
Constant value: 17
DATA_TYPE_INTEGER
public static final byte DATA_TYPE_INTEGER
Constant value: 32
DATA_TYPE_BYTEARRAY
public static final byte DATA_TYPE_BYTEARRAY
Constant value: 33
DATA_TYPE_XML_TOP
public static final byte DATA_TYPE_XML_TOP
Constant value: 34
DATA_TYPE_AMF3_UNDEFINED
public static final byte DATA_TYPE_AMF3_UNDEFINED
Constant value: 0
DATA_TYPE_AMF3_NULL
public static final byte DATA_TYPE_AMF3_NULL
Constant value: 1
DATA_TYPE_AMF3_BOOLEAN_FALSE
public static final byte DATA_TYPE_AMF3_BOOLEAN_FALSE
Constant value: 2
DATA_TYPE_AMF3_BOOLEAN_TRUE
public static final byte DATA_TYPE_AMF3_BOOLEAN_TRUE
Constant value: 3
DATA_TYPE_AMF3_INTEGER
public static final byte DATA_TYPE_AMF3_INTEGER
Constant value: 4
DATA_TYPE_AMF3_NUMBER
public static final byte DATA_TYPE_AMF3_NUMBER
Constant value: 5
DATA_TYPE_AMF3_STRING
public static final byte DATA_TYPE_AMF3_STRING
Constant value: 6
DATA_TYPE_AMF3_XML_LEGACY
public static final byte DATA_TYPE_AMF3_XML_LEGACY
Constant value: 7
DATA_TYPE_AMF3_DATE
public static final byte DATA_TYPE_AMF3_DATE
Constant value: 8
DATA_TYPE_AMF3_ARRAY
public static final byte DATA_TYPE_AMF3_ARRAY
Constant value: 9
DATA_TYPE_AMF3_OBJECT
public static final byte DATA_TYPE_AMF3_OBJECT
Constant value: 10
DATA_TYPE_AMF3_XML_TOP
public static final byte DATA_TYPE_AMF3_XML_TOP
Constant value: 11
DATA_TYPE_AMF3_BYTEARRAY
public static final byte DATA_TYPE_AMF3_BYTEARRAY
Constant value: 12
AMF_LEVEL0
public static final byte AMF_LEVEL0
Constant value: 0
AMF_LEVEL3
public static final byte AMF_LEVEL3
Constant value: 3
MILLS_PER_HOUR
public static final int MILLS_PER_HOUR
type
protected int type
Constructors
AMFData
public AMFData()
Methods
getType
public int getType()
Returns:
object type DATA_TYPE_*
setType
public void setType(int type)
Parameters:
type - type DATA_TYPE_*
testNextByte
public static boolean testNextByte([Link] data,
int test)
Peek at the next value in data to see if its the test value
Parameters:
data - binary data being deserialized
test - value being tested
Returns:
return true if the next byte in the buffer equals the test value
peekByte
public static int peekByte([Link] data)
Return the next byte in the buffer without incrementing the data position
Parameters:
data - binary data being deserialized
Returns:
next byte in buffer
skipByte
public static int skipByte([Link] data)
Parameters:
data - binary data being deserialized
Returns:
next byte in buffer
isObjStart
public static boolean isObjStart([Link] data,
AMFDataContextDeserialize context)
Parameters:
data - binary data being deserialized
context - deserialization context
Returns:
Returns true if next byte in data is object start
isAMF3Start
public static boolean isAMF3Start([Link] data,
AMFDataContextDeserialize context)
Parameters:
data - binary data being deserialized
context - deserialization context
Returns:
Returns true if next byte in data is object start
isArrayStart
public static boolean isArrayStart([Link] data,
AMFDataContextDeserialize context)
Parameters:
data - binary data being deserialized
context - deserialization context
Returns:
Returns true if next byte in data is and array start
isMixedArrayStart
public static boolean isMixedArrayStart([Link] data,
AMFDataContextDeserialize context)
Parameters:
data - binary data being deserialized
context - deserialization context
Returns:
Returns true if next byte in data is mixed array start
isObjEnd
public static boolean isObjEnd([Link] data,
AMFDataContextDeserialize context)
Parameters:
data - binary data being deserialized
context - deserialization context
Returns:
Returns true if next byte in object end
isByteArrayStart
public static boolean isByteArrayStart([Link] data,
AMFDataContextDeserialize context)
Parameters:
data - binary data being deserialized
context - deserialization context
Returns:
true if next byte in object end
getReference
public static AMFData getReference([Link] data,
AMFDataContextDeserialize context)
Parameters:
data - binary data being deserialized
context - deserialization context
Returns:
null if not a reference else referenced object
deserializeInnerObject
public static AMFData deserializeInnerObject([Link] data,
AMFDataContextDeserialize context)
throws [Link]
Parameters:
data - binary data being deserialized
context - deserialization context
Returns:
deserialized object
Throws:
IOException
createContextSerialize
public static AMFDataContextSerialize createContextSerialize()
Returns:
AMF3 serialization context
createContextSerialize
public static AMFDataContextSerialize createContextSerialize(int objectEncoding)
Parameters:
objectEncoding - object encoding level (see AMF_LEVEL*)
Returns:
AMF3 serialization context
createContextDeserialize
public static AMFDataContextDeserialize createContextDeserialize()
Returns:
AMF3 deserialization context
createContextDeserialize
public static AMFDataContextDeserialize createContextDeserialize(int objectEncoding)
Parameters:
objectEncoding - object encoding level (see AMF_LEVEL*)
Returns:
serialize
public abstract void serialize([Link] out)
Parameters:
out - Output stream
serialize
public abstract void serialize([Link] out,
int objectEncoding)
Parameters:
out - Output stream
objectEncoding - object encoding level (see AMF_LEVEL*)
serialize
public abstract void serialize([Link] out,
AMFDataContextSerialize context)
Parameters:
out - Output stream
context - serialization context used by AMF3
serialize
public abstract byte[] serialize()
Returns:
serialized byte array
serialize
public abstract byte[] serialize(int objectEncoding)
Parameters:
objectEncoding - object encoding level (see AMF_LEVEL*)
Returns:
serialized byte array
serialize
public abstract byte[] serialize(AMFDataContextSerialize context)
Parameters:
context - serialization context used by AMF3
Returns:
serialized byte array
deserialize
public abstract void deserialize([Link] data)
Parameters:
data - binary data
deserialize
public abstract void deserialize([Link] data,
AMFDataContextDeserialize context)
Parameters:
data - binary data
context - deserialization context used by AMF3
getValue
public abstract Object getValue()
Returns:
java native class
triggerAMF3Switch
public static boolean triggerAMF3Switch(AMFData data)
Parameters:
data - AMF object
Returns:
true if the object is serialized differently in AMF3
[Link]
Class AMFDataArray
[Link]
|
+-[Link]
|
+-[Link]
AMFDataArray: class for marshalling data between Wowza Pro server and Flash client. This class is a simple ordered array of items.
[Link]("item1");
[Link]("item2");
[Link]("item3");
AMFDataArray amfDataArray;
for(int i=0;i<[Link]();i++)
{
AMFData amfData = [Link](i);
[Link](null).debug("[Link](): "+[Link]());
}
NOTE: There is a slight difference between this class and AMFDataList. This class when serialized/deserialized does include the
DATA_TYPE_ARRAY header (byte) and array size (int).
NOTE: Simple arrays created in the Flash player client and sent to the Wowza Pro server are of type AMFDataMixedArray.
Constructor Summary
public AMFDataArray()
Create empty AMFDataArray object
Method Summary
void add(AMFData data)
Append a new item onto the array
Object getValue()
byte[] serialize()
int size()
Returns the number of items in array
String toString()
Return object as formatted string
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
AMFDataArray
public AMFDataArray()
AMFDataArray
public AMFDataArray(byte[] data)
Parameters:
data - binary data
AMFDataArray
public AMFDataArray(byte[] data,
int offset,
int size)
Deserialize data array starting at offest for size bytes and create AMFDataArray object
Parameters:
data - binary data
offset - starting offset into data
size - size of data to deserialize
AMFDataArray
public AMFDataArray([Link] data)
Parameters:
data - binary data
AMFDataArray
public AMFDataArray([Link] data,
AMFDataContextDeserialize context)
Methods
remove
public AMFData remove(int index)
Parameters:
index - index
Returns:
delete item or null if not found
size
public int size()
Returns:
number of items in array
add
public void add(AMFData data)
Parameters:
data - AMFData object
add
public void add(String data)
Parameters:
data - string value
add
public void add(double data)
Parameters:
data - double value
add
public void add(int data)
Parameters:
data - int value
add
public void add(long data)
Parameters:
data - long value
add
public void add([Link] data)
Parameters:
data - date value
add
public void add(boolean data)
Parameters:
data - boolean value
add
public void add(int index,
AMFData data)
Parameters:
index - index
data - AMFData object
add
public void add(int index,
String data)
Parameters:
index - index
data - string value
add
public void add(int index,
double data)
Parameters:
index - index
data - double value
add
public void add(int index,
int data)
Parameters:
index - index
data - int value
add
public void add(int index,
long data)
Parameters:
index - index
data - long value
add
public void add(int index,
[Link] data)
Parameters:
index - index
data - date value
add
public void add(int index,
boolean data)
Parameters:
index - index
data - boolean value
set
public void set(int index,
AMFData data)
Parameters:
index - index
data - AMFData object
set
public void set(int index,
String data)
Parameters:
index - index
data - string value
set
public void set(int index,
double data)
Parameters:
index - index
data - double value
set
public void set(int index,
int data)
Parameters:
index - index
data - int value
set
public void set(int index,
long data)
Parameters:
index - index
data - long value
set
public void set(int index,
[Link] data)
Parameters:
index - index
data - date value
set
public void set(int index,
boolean data)
Parameters:
index - index
data - boolean value
get
public AMFData get(int index)
Parameters:
index
Returns:
Returns AMFData object or null if out of bounds
getString
public String getString(int index)
Parameters:
index
Returns:
Return item as String or null if out of bounds
getInt
public int getInt(int index)
Parameters:
index
Returns:
Return item as int or 0 if out of bounds
getLong
public long getLong(int index)
Parameters:
index
Returns:
Return item as long or 0 if out of bounds
getShort
public short getShort(int index)
Parameters:
index
Returns:
Return item as short or 0 if out of bounds
getByte
public byte getByte(int index)
Parameters:
Returns:
Return item as byte or 0 if out of bounds
getBoolean
public boolean getBoolean(int index)
Parameters:
index
Returns:
Return item as boolean or false if out of bounds
getDate
public [Link] getDate(int index)
Parameters:
index
Returns:
Return item as Date or null if out of bounds
getObject
public AMFDataObj getObject(int index)
Parameters:
index
Returns:
Return item as AMFDataObj or null if out of bounds
getDouble
public double getDouble(int index)
Parameters:
index
Returns:
Return item as double or 0 if out of bounds
getFloat
public float getFloat(int index)
Parameters:
index
Returns:
Return item as float or 0 if out of bounds
deserialize
public void deserialize([Link] data)
deserialize
public void deserialize([Link] data,
AMFDataContextDeserialize context)
serialize
public void serialize([Link] out)
serialize
public void serialize([Link] out,
int objectEncoding)
serialize
public void serialize([Link] out,
AMFDataContextSerialize context)
serialize
public byte[] serialize()
serialize
public byte[] serialize(int objectEncoding)
serialize
public byte[] serialize(AMFDataContextSerialize context)
getValue
public Object getValue()
toString
public String toString()
[Link]
Class AMFDataByteArray
[Link]
|
+-[Link]
|
+-[Link]
AMFDataByteArray: class for marshalling data between Wowza Pro server and Flash client. This class is a simple byte array.
Constructor Summary
public AMFDataByteArray()
Create empty AMFDataByteArray object
Method Summary
int compress()
Compress the internal buffer using the ZLIB compression library
int decompress()
Decompress the internal buffer using the ZLIB compression library
Object getValue()
Returns the underlying byte[] data buffer
byte[] serialize()
int size()
Returns the number of bytes in the byte array
byte[] toArray()
Returns the underlying data buffer (not a copy)
[Link] toByteBuffer()
Wraps the underlying data buffer with a ByteBuffer object.
String toString()
Return object as formatted string
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
AMFDataByteArray
public AMFDataByteArray()
AMFDataByteArray
public AMFDataByteArray(byte[] data)
Deserialize entire byte array and create AMFDataByteArray object. Note: This is for AMF3 deserialization and cannot be used
to create an AMFDataByteArray with the passed in data. To create a new AMDDataByteArray from either a byte[] or
ByteBuffer, use the static wrap method.
Parameters:
data - binary data
AMFDataByteArray
public AMFDataByteArray(byte[] data,
int offset,
int size)
Deserialize data array starting at offest for size bytes and create AMFDataByteArray object. Note: This is for AMF3
deserialization and cannot be used to create an AMFDataByteArray with the passed in data. To create a new
AMDDataByteArray from either a byte[] or ByteBuffer, use the static wrap method.
Parameters:
data - binary data
offset - starting offset into data
size - size of data to deserialize
AMFDataByteArray
public AMFDataByteArray([Link] data)
Deserialize entire data array and create AMFDataByteArray object. Note: This is for AMF3 deserialization and cannot be used
to create an AMFDataByteArray with the passed in data. To create a new AMDDataByteArray from either a byte[] or
ByteBuffer, use the static wrap method.
Parameters:
data - binary data
AMFDataByteArray
public AMFDataByteArray([Link] data,
AMFDataContextDeserialize context)
Deserialize entire data array and create AMFDataByteArray object. Note: This is for AMF3 deserialization and cannot be used
to create an AMFDataByteArray with the passed in data. To create a new AMDDataByteArray from either a byte[] or
ByteBuffer, use the static wrap method.
Parameters:
data - binary data
context - deserialization context (used for AMF3 decoding)
Methods
size
public int size()
Returns:
number of bytes in the array
toArray
public byte[] toArray()
Returns:
data buffer (not a copy)
toByteBuffer
public [Link] toByteBuffer()
Returns:
byte[] wrapped as ByteBuffer
wrap
public static AMFDataByteArray wrap(byte[] data)
Wraps a byte[] into a AMFDataByteArray. Note: This method does not copy the array.
Parameters:
data - byte[] data
Returns:
wrapped byte[]
wrap
public static AMFDataByteArray wrap([Link] data)
Wraps a ByteBuffer into a AMFDataByteArray. Note: This method only copies the ByteBuffer data if the [Link]()
method fails.
Parameters:
data - ByteBuffer data
Returns:
wrapped ByteBuffer
getValue
public Object getValue()
deserialize
public void deserialize([Link] data)
deserialize
public void deserialize([Link] data,
AMFDataContextDeserialize context)
serialize
public void serialize([Link] out)
serialize
public void serialize([Link] out,
int objectEncoding)
serialize
public void serialize([Link] out,
AMFDataContextSerialize context)
serialize
public byte[] serialize()
serialize
public byte[] serialize(int objectEncoding)
serialize
public byte[] serialize(AMFDataContextSerialize context)
compress
public int compress()
Returns:
decompress
public int decompress()
Returns:
size of decompressed buffer
toString
public String toString()
[Link]
Class AMFDataContextDeserialize
[Link]
|
+-[Link]
Constructor Summary
public AMFDataContextDeserialize()
Constructor
Method Summary
void addObject(Object obj)
Add an object to the object cache
int clearIntData()
Internal use, get and clear int data
int getIntData()
Internal use, get int data
int getObjectEncoding()
Get object encoding, see AMFData.AMF_LEVEL*
boolean isAMF0()
Is context AMF0
boolean isAMF3()
Is context AMF3
boolean isIntData()
Internal use, get int data
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
AMFDataContextDeserialize
public AMFDataContextDeserialize()
Constructor
AMFDataContextDeserialize
public AMFDataContextDeserialize(int objectEncoding)
Parameters:
objectEncoding - object encoding, see AMFData.AMF_LEVEL*
Methods
isIntData
public boolean isIntData()
Returns:
returns true if pending int data
setIntData
public void setIntData(int intData)
Parameters:
intData - int data
getIntData
public int getIntData()
Returns:
int data
clearIntData
public int clearIntData()
Returns:
int data
getObjectEncoding
public int getObjectEncoding()
Returns:
object encoding, see AMFData.AMF_LEVEL*
setObjectEncoding
public void setObjectEncoding(int objectEncoding)
Parameters:
objectEncoding - object encoding, see AMFData.AMF_LEVEL*
isAMF3
public boolean isAMF3()
Is context AMF3
Returns:
true, if AMF3
isAMF0
public boolean isAMF0()
Is context AMF0
Returns:
true, if AMF0
addString
public void addString(String str)
Parameters:
str - string value
getString
public String getString(int index)
throws IndexOutOfBoundsException
Parameters:
index - index
Returns:
string value
Throws:
IndexOutOfBoundsException
addObject
public void addObject(Object obj)
Parameters:
obj - object value
getObject
public Object getObject(int index)
throws IndexOutOfBoundsException
Parameters:
index - index
Returns:
object value
Throws:
IndexOutOfBoundsException
addTrait
public void addTrait(AMFDataTrait obj)
Parameters:
obj - trait object
getTrait
public AMFDataTrait getTrait(int index)
throws IndexOutOfBoundsException
Parameters:
index - index
Returns:
trait object
Throws:
IndexOutOfBoundsException
[Link]
Class AMFDataContextSerialize
[Link]
|
+-[Link]
Constructor Summary
public AMFDataContextSerialize()
Constructor
Method Summary
int getObjectEncoding()
Get object encoding, see AMFData.AMF_LEVEL*
int getTargetEncoding()
Get target encoding, see AMFData.AMF_LEVEL*
boolean isAMF0()
Is context AMF0
boolean isAMF3()
Is context AMF3
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
AMFDataContextSerialize
public AMFDataContextSerialize()
Constructor
AMFDataContextSerialize
public AMFDataContextSerialize(int objectEncoding)
Parameters:
objectEncoding - object encoding, see AMFData.AMF_LEVEL*
Methods
getObjectEncoding
public int getObjectEncoding()
Returns:
object encoding, see AMFData.AMF_LEVEL*
setObjectEncoding
public void setObjectEncoding(int objectEncoding)
Parameters:
objectEncoding - object encoding, see AMFData.AMF_LEVEL*
getTargetEncoding
public int getTargetEncoding()
Returns:
target encoding, see AMFData.AMF_LEVEL*
setTargetEncoding
public void setTargetEncoding(int targetEncoding)
Parameters:
targetEncoding - target encoding, , see AMFData.AMF_LEVEL*
isAMF3
public boolean isAMF3()
Is context AMF3
Returns:
true, if AMF3
isAMF0
public boolean isAMF0()
Is context AMF0
Returns:
true, if AMF0
getStringReference
public int getStringReference(String str)
Parameters:
str - string value
Returns:
index
getObjectReference
public int getObjectReference(Object obj)
Parameters:
obj - object value
Returns:
index
getTraitReference
public int getTraitReference(AMFDataTrait obj)
Parameters:
obj - trait object
Returns:
index
writeString
public void writeString([Link] out,
String str)
Parameters:
out - output buffer
str - string value
[Link]
Class AMFDataItem
[Link]
|
+-[Link]
|
+-[Link]
AMFDataItem: class for marshalling data between Wowza Pro server and Flash client. The type wraps native Java data types.
Field Summary
public static final DATEFORMAT
protected fastDateFormat
Constructor Summary
public AMFDataItem()
Construct AMF type DATA_TYPE_NULL object
Method Summary
boolean booleanValue()
Return object as boolean.
byte byteValue()
Return object as byte.
[Link] dateValue()
Return object as Date.
double doubleValue()
Return object as double.
float floatValue()
Return object as float.
Object getValue()
Return value as Java class
int intValue()
Return object as int.
long longValue()
Return object as long.
byte[] serialize()
short shortValue()
Return object as short.
String toString()
Return object as formatted string
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
DATEFORMAT
public static final [Link] DATEFORMAT
fastDateFormat
protected [Link] fastDateFormat
Constructors
AMFDataItem
public AMFDataItem()
AMFDataItem
public AMFDataItem(String value)
Parameters:
value - String value
AMFDataItem
public AMFDataItem(int value)
Parameters:
value - int value
AMFDataItem
public AMFDataItem(long value)
Parameters:
value - long value
AMFDataItem
public AMFDataItem(double value)
Parameters:
value - double value
AMFDataItem
public AMFDataItem(boolean value)
Parameters:
value - boolean value
AMFDataItem
public AMFDataItem([Link] value)
Parameters:
value - Date value
AMFDataItem
public AMFDataItem(byte[] data)
Parameters:
data - binary data
AMFDataItem
public AMFDataItem(byte[] data,
int offset,
int size)
Deserialize data array starting at offest for size bytes and create AMFDataItem object
Parameters:
data - binary data
offset - starting offset into data
size - size of data to deserialize
AMFDataItem
public AMFDataItem([Link] data)
Parameters:
data - binary data
AMFDataItem
public AMFDataItem([Link] data,
AMFDataContextDeserialize context)
Methods
longValue
public long longValue()
Return object as long. Valid object types are DATA_TYPE_NUMBER and DATA_TYPE_STRING.
Returns:
long value or 0 if failure
intValue
public int intValue()
Return object as int. Valid object types are DATA_TYPE_NUMBER and DATA_TYPE_STRING.
Returns:
int value or 0 if failure
doubleValue
public double doubleValue()
Return object as double. Valid object types are DATA_TYPE_NUMBER and DATA_TYPE_STRING.
Returns:
double value or 0 if failure
floatValue
public float floatValue()
Return object as float. Valid object types are DATA_TYPE_NUMBER and DATA_TYPE_STRING.
Returns:
float value or 0 if failure
shortValue
public short shortValue()
Return object as short. Valid object types are DATA_TYPE_NUMBER and DATA_TYPE_STRING.
Returns:
short value or 0 if failure
byteValue
public byte byteValue()
Return object as byte. Valid object types are DATA_TYPE_NUMBER and DATA_TYPE_STRING.
Returns:
byte value or 0 if failure
dateValue
public [Link] dateValue()
Returns:
Date value or null if failure
booleanValue
public boolean booleanValue()
Return object as boolean. Valid object types are DATA_TYPE_BOOLEAN and DATA_TYPE_STRING.
Returns:
boolean value or false if failure
deserialize
public void deserialize([Link] data)
deserialize
public void deserialize([Link] data,
AMFDataContextDeserialize context)
getValue
public Object getValue()
toString
public String toString()
serialize
public void serialize([Link] out)
serialize
public void serialize([Link] out,
int objectEncoding)
serialize
public void serialize([Link] out,
AMFDataContextSerialize context)
serialize
public byte[] serialize()
serialize
public byte[] serialize(int objectEncoding)
serialize
public byte[] serialize(AMFDataContextSerialize context)
[Link]
Class AMFDataList
[Link]
|
+-[Link]
|
+-[Link]
AMFDataItem: class for marshalling data between Wowza Pro server and Flash client. This class is for internal server marshalling of
AMF event messages between the Flash client and Wowza Pro server.
NOTE: There is a slight difference between this class and AMFDataArray. This class when serialized/deserialized does NOT include
the DATA_TYPE_ARRAY header (byte) and array size (int). AMF formatted functions use this class since they do not include these
elements.
Constructor Summary
public AMFDataList()
Create empty AMFDataList object
Method Summary
void add(AMFData data)
Append a new item onto the array
Object getValue()
byte[] serialize()
int size()
Returns the number of items in array
String toString()
Return object as formatted string
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
AMFDataList
public AMFDataList()
AMFDataList
public AMFDataList(byte[] data)
Parameters:
data - binary data
AMFDataList
public AMFDataList(byte[] data,
int offset,
int size)
Deserialize data array starting at offest for size bytes and create AMFDataList object
Parameters:
data - binary data
offset - starting offset into data
AMFDataList
public AMFDataList([Link] data)
Parameters:
data - binary data
AMFDataList
public AMFDataList([Link] data,
AMFDataContextDeserialize context)
Methods
remove
public AMFData remove(int index)
Parameters:
index - index
Returns:
removed element
size
public int size()
Returns:
number of items in array
add
public void add(AMFData data)
Parameters:
data - AMFData object
add
public void add(String data)
Parameters:
data - string value
add
public void add(double data)
Parameters:
data - double value
add
public void add(int data)
Parameters:
data - int value
add
public void add(long data)
Parameters:
data - long value
add
public void add([Link] data)
Parameters:
data - date value
add
public void add(boolean data)
Parameters:
data - boolean value
add
public void add(int index,
AMFData data)
Parameters:
index - index
data - AMFData object
add
public void add(int index,
String data)
Parameters:
index - index
data - string value
add
public void add(int index,
double data)
Parameters:
index - index
data - double value
add
public void add(int index,
int data)
Parameters:
index - index
data - int value
add
public void add(int index,
long data)
Parameters:
index - index
data - long value
add
public void add(int index,
[Link] data)
Parameters:
index - index
data - date value
add
public void add(int index,
boolean data)
Parameters:
index - index
data - boolean value
set
public void set(int index,
AMFData data)
Parameters:
data - AMFData object
set
public void set(int index,
String data)
Parameters:
index - index
data - string value
set
public void set(int index,
double data)
Parameters:
index - index
data - double value
set
public void set(int index,
int data)
Parameters:
index - index
data - int value
set
public void set(int index,
long data)
Parameters:
index - index
data - long value
set
public void set(int index,
[Link] data)
Parameters:
index - index
data - date value
set
public void set(int index,
boolean data)
Parameters:
index - index
data - boolean value
getType
public int getType(int index)
Get type of item at index. Return AMFData.DATA_TYPE_UNKNOWN if item does not exist
Parameters:
index
Returns:
type of item at index
get
public AMFData get(int index)
Parameters:
index
Returns:
Returns AMFData object or null if out of bounds
getString
public String getString(int index)
Parameters:
index
Returns:
Return item as String or null if out of bounds
getInt
public int getInt(int index)
Parameters:
index
Returns:
Return item as int or 0 if out of bounds
getLong
public long getLong(int index)
Parameters:
index
Returns:
Return item as long or 0 if out of bounds
getDouble
public double getDouble(int index)
Parameters:
index
Returns:
Return item as double or 0 if out of bounds
getFloat
public float getFloat(int index)
Parameters:
index
Returns:
Return item as float or 0 if out of bounds
getShort
public short getShort(int index)
Parameters:
index
Returns:
Return item as short or 0 if out of bounds
getByte
public byte getByte(int index)
Parameters:
index
Returns:
Return item as byte or 0 if out of bounds
getBoolean
public boolean getBoolean(int index)
Parameters:
index
Returns:
Return item as boolean or false if out of bounds
getDate
public [Link] getDate(int index)
Parameters:
index
Returns:
Return item as Date or null if out of bounds
getObject
public AMFDataObj getObject(int index)
Parameters:
index
Returns:
Return item as AMFDataObj or null if out of bounds
deserialize
public void deserialize([Link] data)
deserialize
public void deserialize([Link] data,
AMFDataContextDeserialize context)
serialize
public void serialize([Link] out)
serialize
public void serialize([Link] out,
int objectEncoding)
serialize
public void serialize([Link] out,
AMFDataContextSerialize context)
serialize
public void serialize([Link] out,
AMFDataContextSerialize context,
byte[] prepend)
serialize
public byte[] serialize()
serialize
public byte[] serialize(int objectEncoding)
serialize
public byte[] serialize(AMFDataContextSerialize context)
serialize
public byte[] serialize(AMFDataContextSerialize context,
byte[] prepend)
getValue
public Object getValue()
toString
public String toString()
[Link]
Class AMFDataMixedArray
[Link]
|
+-[Link]
|
+-[Link]
|
+-[Link]
All Implemented Interfaces:
IAMFDataObj
AMFDataMixedArray: class for marshalling data between Wowza Pro server and Flash client. Array of mixed data types. An Array
object created in the Flash client is wrapped in this data type when sent to the Wowza Pro server.
[Link]("0", "item1");
[Link]("1", "item2");
[Link]("2", "item3");
AMFDataMixedArray amfDataMixedArray;
NOTE: A AMFDataMixedArray is exactly the same as a AMFDataObj except its type is DATA_TYPE_MIXED_ARRAY.
This objects acts like a Map and a List at the same time. As items are added by key the order and position of each object is recorded.
Objects can be retrieved either by key or by index.
Constructor Summary
public AMFDataMixedArray()
Create empty AMFDataMixedArray object
Method Summary
void deserialize([Link] data)
String toString()
Return object as formatted string
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
AMFDataMixedArray
public AMFDataMixedArray()
AMFDataMixedArray
public AMFDataMixedArray(byte[] data)
Parameters:
data - binary data
AMFDataMixedArray
public AMFDataMixedArray(byte[] data,
int offset,
int size)
Deserialize data array starting at offest for size bytes and create AMFDataMixedArray object
Parameters:
data - binary data
AMFDataMixedArray
public AMFDataMixedArray([Link] data)
Parameters:
data - binary data
AMFDataMixedArray
public AMFDataMixedArray([Link] data,
AMFDataContextDeserialize context)
Methods
deserialize
public void deserialize([Link] data)
deserialize
public void deserialize([Link] data,
AMFDataContextDeserialize context)
serialize
public void serialize([Link] out)
serialize
public void serialize([Link] out,
int objectEncoding)
serialize
public void serialize([Link] out,
AMFDataContextSerialize context)
toString
public String toString()
[Link]
Class AMFDataObj
[Link]
|
+-[Link]
|
+-[Link]
All Implemented Interfaces:
IAMFDataObj
AMFDataObj: class for marshalling data between Wowza Pro server and Flash client. Object with attributes. Implementation is very
similar to a [Link]. Each parameter is an item in the map.
Create AMFDataObj
[Link]("key1", "item1");
[Link]("key2", "item2");
[Link]("key3", "item3");
Iterate AMFDataObj
AMFDataObj amfDataObj;
AMFDataObj amfDataObj;
NOTE: A AMFDataObj is exactly the same as a AMFDataMixedArray except its type is DATA_TYPE_OBJECT.
Field Summary
public static final DECODE_OBJ_REF
Value: 1
Value: 4
Value: 3
Value: 2
Value: 0
protected members
protected order
protected trait
Constructor Summary
public AMFDataObj()
Create empty AMFDataObj object
Method Summary
boolean containsKey(String name)
String getClassName()
[Link] getKeys()
AMFDataTrait getTrait()
Object getValue()
byte[] serialize()
int size()
Return the number of members of this object/array
String toString()
Return object as formatted string
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
DECODE_UNDEFINED
public static final int DECODE_UNDEFINED
Constant value: 0
DECODE_OBJ_REF
public static final int DECODE_OBJ_REF
Constant value: 1
DECODE_TRAITS_REF
public static final int DECODE_TRAITS_REF
Constant value: 2
DECODE_TRAITS_EXT
public static final int DECODE_TRAITS_EXT
Constant value: 3
DECODE_TRAITS
public static final int DECODE_TRAITS
Constant value: 4
members
protected [Link] members
order
protected [Link] order
trait
protected [Link] trait
Constructors
AMFDataObj
public AMFDataObj()
AMFDataObj
public AMFDataObj(byte[] data)
Parameters:
data - binary data
AMFDataObj
public AMFDataObj(byte[] data,
int offset,
int size)
Deserialize data array starting at offest for size bytes and create AMFDataObj object
Parameters:
data - binary data
offset - starting offset into data
size - size of data to deserialize
AMFDataObj
public AMFDataObj([Link] data)
Parameters:
AMFDataObj
public AMFDataObj([Link] data,
AMFDataContextDeserialize context)
Methods
size
public int size()
Returns:
number of members
containsKey
public boolean containsKey(String name)
put
public void put(String name,
AMFData data)
put
public void put(String name,
String data)
put
public void put(String name,
double data)
put
public void put(String name,
int data)
put
public void put(String name,
long data)
put
public void put(String name,
[Link] data)
put
public void put(String name,
boolean data)
getKeys
public [Link] getKeys()
getKey
public String getKey(int index)
get
public AMFData get(String name)
get
public AMFData get(int index)
remove
public AMFData remove(String name)
remove
public AMFData remove(int index)
getString
public String getString(String name)
getInt
public int getInt(String name)
getLong
public long getLong(String name)
getShort
public short getShort(String name)
getDouble
public double getDouble(String name)
getFloat
public float getFloat(String name)
getByte
public byte getByte(String name)
getBoolean
public boolean getBoolean(String name)
getDate
public [Link] getDate(String name)
getObject
public AMFDataObj getObject(String name)
getString
public String getString(int index)
getInt
public int getInt(int index)
getLong
public long getLong(int index)
getShort
public short getShort(int index)
getByte
public byte getByte(int index)
getDouble
public double getDouble(int index)
getFloat
public float getFloat(int index)
getBoolean
public boolean getBoolean(int index)
getDate
public [Link] getDate(int index)
getObject
public AMFDataObj getObject(int index)
deserialize
public void deserialize([Link] data)
deserialize
public void deserialize([Link] data,
AMFDataContextDeserialize context)
serialize
public void serialize([Link] out)
serialize
public void serialize([Link] out,
int objectEncoding)
serialize
public void serialize([Link] out,
AMFDataContextSerialize context)
serialize
public byte[] serialize()
serialize
public byte[] serialize(int objectEncoding)
serialize
public byte[] serialize(AMFDataContextSerialize context)
getValue
public Object getValue()
toString
public String toString()
getClassName
public String getClassName()
setClassName
public void setClassName(String className)
getTrait
public AMFDataTrait getTrait()
[Link]
Class AMFDataTrait
[Link]
|
+-[Link]
Constructor Summary
public AMFDataTrait()
Constructor
Method Summary
void addMember(String member)
Add a member
AMFDataTrait clone()
clone the trait
String getClassName()
Get class name
AMFData getInnerObj()
Get inner object
String getMember(int i)
Get member by index
int getMemberCount()
Get the number of members
[Link] getMembers()
Get a list of trait members
boolean isDynamic()
Is class dynamic
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
AMFDataTrait
public AMFDataTrait()
Constructor
Methods
clone
public AMFDataTrait clone()
addMember
public void addMember(String member)
Add a member
Parameters:
member - member name
isMember
public boolean isMember(String member)
Parameters:
member - member name
Returns:
true, if member
getMembers
public [Link] getMembers()
Returns:
list of trait members
getMemberCount
public int getMemberCount()
Returns:
number of members
getMember
public String getMember(int i)
Parameters:
i - index
Returns:
member name
getClassName
public String getClassName()
Returns:
class name
setClassName
public void setClassName(String className)
Parameters:
className - class name
isDynamic
public boolean isDynamic()
Is class dynamic
Returns:
true, if dynamic
setDynamic
public void setDynamic(boolean isDynamic)
Set isDynamic
Parameters:
isDynamic - true, if dynamic
getInnerObj
public AMFData getInnerObj()
Returns:
inner object
setInnerObj
public void setInnerObj(AMFData innerObj)
Parameters:
innerObj - inner object
[Link]
Class AMFObj
[Link]
|
+-[Link]
AMFObj: class that stores the state of channel between the client and the server.
Field Summary
public static final AMFDEBUGHEADERSIZE
Value: false
Value: false
Constructor Summary
public AMFObj(int id)
Create new AMFObj for a given channel (id)
Method Summary
void addChunk(byte[] buffer, int offset, int len)
Add a chunk to the chunk list
void clearByteContainer()
Clear the byte container
long getAbsTimecode()
Get the absolute time code
int getByteContainerLevel()
Fake container for processing
long getChunkCounter()
[Link] getChunks()
Get the chunks that make up this packet
int getId()
Get channel id
int getObjectEncoding()
int getSize()
Get packet size
int getSrc()
Get stream id (0 if not stream data)
long getTimecode()
Get timecode (milliseconds) sometimes relative
int getType()
Get content type IVHost.CONTENTTYPE_*
boolean isByteContainerEmpty()
Fake container for processing
boolean isByteContainerFull()
Fake container for processing
boolean isLastSentAbsTimecode()
boolean isLongTimecode()
Get is a 32 bit timecode
boolean isNew()
Is this a new packet.
boolean isObjectEncodingAMF0()
boolean isObjectEncodingAMF3()
String toString()
Return object as formatted string
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
AMFDEBUGHEADERSIZE
public static final boolean AMFDEBUGHEADERSIZE
WOWZDEBUGHEADERSIZE
public static final boolean WOWZDEBUGHEADERSIZE
Constructors
AMFObj
public AMFObj(int id)
Parameters:
id - channel id
AMFObj
public AMFObj(int id,
int objectEncoding)
Parameters:
id - channel id
objectEncoding - object encoding level (AMF0 or AMF3)
Methods
getChunks
public [Link] getChunks()
Returns:
chunks that make up this packet
addChunk
public void addChunk(byte[] buffer,
int offset,
int len)
Parameters:
buffer - buffer
offset - offset
len - length
getId
public int getId()
Get channel id
Returns:
channel id
setId
public void setId(int id)
Set channel id
Parameters:
id - channel id
getSize
public int getSize()
Returns:
packet size
setSize
public void setSize(int size)
Parameters:
size - packet size
getType
public int getType()
Returns:
content type
setType
public void setType(int type)
Parameters:
type - content type
getSrc
public int getSrc()
Returns:
stream id
setSrc
public void setSrc(int src)
Parameters:
src - stream id
toString
public String toString()
getTimecode
public long getTimecode()
Returns:
timecode (milliseconds)
setTimecode
public void setTimecode(long timecode)
Parameters:
timecode - timecode (milliseconds)
isNew
public boolean isNew()
Returns:
is new packet
setNew
public void setNew(boolean isNew)
Parameters:
isNew - is new packet
getAbsTimecode
public long getAbsTimecode()
Returns:
absolute timecode
setAbsTimecodeLong
public long setAbsTimecodeLong(long absTimecode)
Parameters:
absTimecode - absolute timecode
Returns:
absolute timecode
setAbsTimecodeShort
public long setAbsTimecodeShort(long absTimecode)
Parameters:
absTimecode
Returns:
absolute timecode
incAbsTimecode
public long incAbsTimecode(long absTimecode)
Parameters:
absTimecode - absolute timecode
Returns:
absolute timecode
getByteContainerLevel
public int getByteContainerLevel()
Returns:
current container level
clearByteContainer
public void clearByteContainer()
setByteContainerLevel
public void setByteContainerLevel(int byteContainerLevel)
Parameters:
byteContainerLevel - current container level
incByteContainerLevel
public void incByteContainerLevel(int byteContainerLevel)
Parameters:
byteContainerLevel - current container level
isByteContainerEmpty
public boolean isByteContainerEmpty()
Returns:
is container full
isByteContainerFull
public boolean isByteContainerFull()
Returns:
is container full
isLongTimecode
public boolean isLongTimecode()
Returns:
true if 32 bit timecode
setLongTimecode
public void setLongTimecode(boolean isLongTimecode)
Parameters:
isLongTimecode - is a 32 bit timecode
isLastSentAbsTimecode
public boolean isLastSentAbsTimecode()
setLastSentAbsTimecode
public void setLastSentAbsTimecode(boolean isLastSentAbsTimecode)
isObjectEncodingAMF3
public boolean isObjectEncodingAMF3()
isObjectEncodingAMF0
public boolean isObjectEncodingAMF0()
setObjectEncoding
public void setObjectEncoding(int objectEncoding)
getObjectEncoding
public int getObjectEncoding()
getChunkCounter
public long getChunkCounter()
setChunkCounter
public void setChunkCounter(long chunkCounter)
[Link]
Class AMFObjChunk
[Link]
|
+-[Link]
Field Summary
public buffer
public len
public offset
Constructor Summary
public AMFObjChunk(byte[] buffer, int offset, int len)
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
buffer
public byte buffer
offset
public int offset
len
public int len
Constructors
AMFObjChunk
public AMFObjChunk(byte[] buffer,
int offset,
int len)
[Link]
Class AMFPacket
[Link]
|
+-[Link]
AMFPacket: data container for data being transferred to and from the server from the Flash client. AMFPacket is also used to store
data read/written to/from an flv file.
Constructor Summary
public AMFPacket()
Create new empty packet
Method Summary
int addData(byte[] data, int offset, int size)
Add data to the packet
AMFPacket clone()
long getAbsTimecode()
Get absolute timecode (milliseconds)
byte[] getData()
Get data as byte[]
[Link] getDataBuffer()
Get data as ByteBuffer
int getFirstByte()
Get first byte of data (used to peek into packet)
int getMissing()
Get the number of bytes remaining unfilled in the packet
int getSecondByte()
Get second byte of data (used to peek into packet)
long getSeq()
Get packet sequence number.
int getSize()
Get packet size
int getSrc()
Get stream id (0 if not stream data)
long getTimecode()
Get timecode (milliseconds) relative to the previous packet.
int getType()
Get content type IVHost.CONTENTTYPE_*
boolean isAudio()
Is this an audio packet IVHost.CONTENTTYPE_AUDIO
boolean isVideo()
Is this an audio packet IVHost.CONTENTTYPE_VIDEO
String toString()
Return object as formatted string
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
AMFPacket
public AMFPacket()
AMFPacket
public AMFPacket(int type,
int src,
int size)
Parameters:
type - packet content type: IVHost.CONTENTTYPE_*
src - stream id
size - packet size (bytes)
AMFPacket
public AMFPacket(int type,
int src,
byte[] data)
Parameters:
type - packet content type: IVHost.CONTENTTYPE_*
src - stream id
data - data buffer
Methods
clone
public AMFPacket clone()
clone
public AMFPacket clone(boolean doCopy)
getSize
public int getSize()
Returns:
packet size
setSize
public void setSize(int size)
Parameters:
size - packet size
truncatePacket
public void truncatePacket(int newSize)
getMissing
public int getMissing()
Returns:
number of bytes unfilled in packet
setDataBuffer
public void setDataBuffer([Link] data)
Parameters:
data - byte buffer that holds packet data
setDataBuffer
public void setDataBuffer(byte[] data)
Parameters:
data - data buffer byte array
addData
public int addData(byte[] data,
int offset,
int size)
Parameters:
data - byte buffer with data
offset - offset in byte buffer
size - size of data
Returns:
number of bytes unfilled in packet
getType
public int getType()
Returns:
content type
setType
public void setType(int type)
Parameters:
type - content type
getSrc
public int getSrc()
Returns:
stream id
setSrc
public void setSrc(int src)
Parameters:
src - stream id
toString
public String toString()
getTimecode
public long getTimecode()
Returns:
timecode (milliseconds)
setTimecodes
public void setTimecodes(long timecode,
long absTimecode)
Parameters:
timecode - relative timecode (milliseconds)
absTimecode - absolute timecode (milliseconds)
setTimecode
public void setTimecode(long timecode)
Parameters:
timecode - timecode (milliseconds)
getAbsTimecode
public long getAbsTimecode()
Returns:
absolute timecode
setAbsTimecode
public void setAbsTimecode(long absTimecode)
Parameters:
absTimecode - absolute timecode
getSeq
public long getSeq()
Get packet sequence number. Used for live streams to keep track of packet ordering.
Returns:
packet sequence
setSeq
public void setSeq(long seq)
Set packet sequence. Used for live streams to keep track of packet ordering.
Parameters:
seq - packet sequence
isAudio
public boolean isAudio()
Returns:
true if audio packet
isVideo
public boolean isVideo()
Returns:
true if video packet
getDataBuffer
public [Link] getDataBuffer()
Returns:
data as ByteBuffer
getData
public byte[] getData()
Returns:
data as byte[] null if no data
getFirstByte
public int getFirstByte()
Returns:
first byte of data in packet
getSecondByte
public int getSecondByte()
Returns:
second byte of data in packet
calcTotalPacketSize
public static int calcTotalPacketSize(int packetSize,
int headerSize,
int chunkSize,
int amfNumber,
boolean isLongTimecode)
Parameters:
packetSize - data size
headerSize - header size
chunkSize - chunk size
amfNumber - amf number
isLongTimecode - is long timecode
Returns:
total bytes
addDataEx
public int addDataEx(byte[] srcData,
int srcOffset,
int destOffset,
int srcBytes)
Parameters:
srcData - - source byte buffer with data
srcOffset - - start copying from source buffer at this offset
destOffset - - copy into destination buffer from this offset
srcBytes - - size of data to copy
Returns:
number of bytes unfilled in packet
[Link]
Interface IAMFDataObj
All Known Implementing Classes:
AMFDataObj
Method Summary
boolean containsKey(String name)
Return true if the object/array contains key
[Link] getKeys()
Return a list of all the keys (the list is a copy)
Methods
containsKey
public boolean containsKey(String name)
Parameters:
name - key
Returns:
Return true the object/array contains key
put
public void put(String name,
AMFData data)
Parameters:
name - key
data - object
put
public void put(String name,
String data)
Put or replace string value at key (data will be wrapped in an AMFDataItem object)
Parameters:
name - key
data - string value
put
public void put(String name,
double data)
Put or replace double value at key (data will be wrapped in an AMFDataItem object)
Parameters:
name - key
data - double value
put
public void put(String name,
int data)
Put or replace int value at key (data will be wrapped in an AMFDataItem object)
Parameters:
name - key
data - int value
put
public void put(String name,
long data)
Put or replace long value at key (data will be wrapped in an AMFDataItem object)
Parameters:
name - key
data - long value
put
public void put(String name,
[Link] data)
Put or replace date value at key (data will be wrapped in an AMFDataItem object)
Parameters:
name - key
data - date value
put
public void put(String name,
boolean data)
Put or replace boolean value at key (data will be wrapped in an AMFDataItem object)
Parameters:
name - key
data - boolean value
getKeys
public [Link] getKeys()
Returns:
new list that contains one entry for each key
getKey
public String getKey(int index)
Parameters:
index
Returns:
Return key at index or null if out of bounds
get
public AMFData get(String name)
Parameters:
name - key
Returns:
Return object or null if out of bounds
get
public AMFData get(int index)
Parameters:
index - index
Returns:
Return object or null if out of bounds
remove
public AMFData remove(String name)
Parameters:
name - key
Returns:
removed object or null if not found
remove
public AMFData remove(int index)
Parameters:
index - index
Returns:
removed object or null if not found
getString
public String getString(String name)
Parameters:
name - key
Returns:
Return item as String or null if out of bounds
getInt
public int getInt(String name)
Parameters:
name - key
Returns:
Return item as int or 0 if out of bounds
getLong
public long getLong(String name)
Parameters:
name - key
Returns:
Return item as long or 0 if out of bounds
getShort
public short getShort(String name)
Parameters:
name - key
Returns:
Return item as short or 0 if out of bounds
getDouble
public double getDouble(String name)
Parameters:
name - key
Returns:
Return item as double or 0 if out of bounds
getFloat
public float getFloat(String name)
Parameters:
name - key
Returns:
Return item as float or 0 if out of bounds
getByte
public byte getByte(String name)
Parameters:
name - key
Returns:
Return item as byte or 0 if out of bounds
getBoolean
public boolean getBoolean(String name)
Parameters:
name - key
Returns:
Return item as boolean or false if out of bounds
getDate
public [Link] getDate(String name)
Parameters:
name - key
Returns:
Return item as Date or null if out of bounds
getObject
public AMFDataObj getObject(String name)
Parameters:
name - key
Returns:
Return item as AMFDataObj or null if out of bounds
getString
public String getString(int index)
Parameters:
index - index
Returns:
Return item as String or null if out of bounds
getInt
public int getInt(int index)
Parameters:
index - index
Returns:
Return item as int or 0 if out of bounds
getLong
public long getLong(int index)
Parameters:
index - index
Returns:
Return item as long or 0 if out of bounds
getShort
public short getShort(int index)
Parameters:
index - index
Returns:
Return item as short or 0 if out of bounds
getByte
public byte getByte(int index)
Parameters:
index - index
Returns:
Return item as byte or 0 if out of bounds
getDouble
public double getDouble(int index)
Parameters:
index - index
Returns:
Return item as double or 0 if out of bounds
getFloat
public float getFloat(int index)
Parameters:
index - index
Returns:
Return item as float or 0 if out of bounds
getBoolean
public boolean getBoolean(int index)
Parameters:
index - index
Returns:
Return item as boolean or false if out of bounds
getDate
public [Link] getDate(int index)
Parameters:
index - index
Returns:
Return item as Date or null if out of bounds
getObject
public AMFDataObj getObject(int index)
Parameters:
index - index
Returns:
Return item as AMFDataObj or null if out of bounds
[Link]
Interface IApplication
Field Summary
public static final DEFAULT_APPLICATION_NAME
Value: _defapp_
Method Summary
void addApplicationInstanceListener(IApplicationInstanceNotify
applicationInstanceListener)
Add applicationInstance listener.
[Link] getAppInstanceNames()
Get a list of application instance names
String getApplicationPath()
Get the root path for application
String getConfigPath()
Get full path to [Link] file
ConnectionCounter getConnectionCounter()
Get the connectionCounter for application
String getDateStarted()
Get date application started
IOPerformanceCounter getIoPerformanceCounter()
Get the performance counter for application
String getName()
Get the name of application
WMSProperties getProperties()
Get application properties
String getTimeRunning()
Get time application running
double getTimeRunningSeconds()
Get time running in seconds
IVHost getVHost()
Get the parent vHost object
boolean isRunning()
Returns true if the application is in running state
void removeApplicationInstanceListener(IApplicationInstanceNotify
applicationInstanceListener)
Remove applicationInstance listener.
Fields
DEFAULT_APPLICATION_NAME
public static final [Link] DEFAULT_APPLICATION_NAME
Methods
shutdown
public void shutdown(boolean isServerShutdown)
shutdown application
Parameters:
isServerShutdown - true if due to shutdown of server
getApplicationPath
public String getApplicationPath()
Returns:
root path for application
getConfigPath
public String getConfigPath()
Returns:
full path to [Link] file
getAppInstance
public IApplicationInstance getAppInstance(String name)
Parameters:
name - applicationInstance name
Returns:
appliationInstance object
isAppInstanceLoaded
public boolean isAppInstanceLoaded(String name)
Parameters:
name - applicationInstance name
Returns:
true if application instance is loaded
getName
public String getName()
Returns:
name of application
setName
public void setName(String name)
Parameters:
name - name of application
getVHost
public IVHost getVHost()
Returns:
parent vHost
getProperties
public WMSProperties getProperties()
Returns:
application properties
addApplicationInstanceListener
public void addApplicationInstanceListener(IApplicationInstanceNotify
applicationInstanceListener)
Parameters:
applicationInstanceListener - applicationInstance listener
removeApplicationInstanceListener
public void removeApplicationInstanceListener(IApplicationInstanceNotify
applicationInstanceListener)
Parameters:
applicationInstanceListener - applicationInstance listener
getConnectionCounter
public ConnectionCounter getConnectionCounter()
Returns:
connectionCounter for application
getConnectionCounter
public ConnectionCounterSimple getConnectionCounter(int counterIndex)
Get the connectionCounter for application for application for a specific technology (see IVHost.COUNTER_*)
Parameters:
counterIndex - counter index (see IVHost.COUNTER_*)
Returns:
connection ocunter
getIoPerformanceCounter
public IOPerformanceCounter getIoPerformanceCounter()
Returns:
performance counter for application
getIoPerformanceCounter
public IOPerformanceCounter getIoPerformanceCounter(int counterIndex)
Get the performance counter for application for a specific technology (see IVHost.COUNTER_*)
Parameters:
counterIndex - counter index (see IVHost.COUNTER_*)
Returns:
performance counter
getDateStarted
public String getDateStarted()
Returns:
date application started
getTimeRunning
public String getTimeRunning()
Returns:
time application running
getTimeRunningSeconds
public double getTimeRunningSeconds()
Returns:
time running in seconds
getAppInstanceNames
public [Link] getAppInstanceNames()
Returns:
list of application instance names
removeAppInstance
public void removeAppInstance(IApplicationInstance appInstance)
Disconnect all clients connected to an application instance and remove it from the IApplication application list. The proper way
to call this is:
[Link]([Link]).error("[Link]: "+
[Link]());
}
finally
{
[Link]().unlock();
}
}
Parameters:
appInstance - application instance to remove
shutdownAppInstance
public void shutdownAppInstance(String appInstanceName)
Shutdown an application instance by name. This will disconnect all clients connected to this application instance.
Parameters:
appInstanceName - application instance name
readAppConfig
public String readAppConfig(String sName)
writeAppConfig
public boolean writeAppConfig(String sName,
String data)
getProtocolUsage
public void getProtocolUsage(boolean[] protocolsInUse)
isRunning
public boolean isRunning()
Returns:
true if the application is in running state
[Link]
Interface IApplicationInstance
Field Summary
public static final DEFAULT_APPINSTANCE_NAME
Value: _definst_
Value: 7
Value: 10
Value: 15
Value: 18
Value: 17
Value: 16
Value: 0
Value: 4
Value: 2
Value: 1
Value: 5
Value: 3
Value: 6
Value: 9
Value: 8
Value: 19
Value: 11
Value: 12
Value: 13
Value: 14
Method Summary
void addClientListener(IClientNotify clientListener)
Add client listener.
void addLiveStreamPacketizerListener(ILiveStreamPacketizerActionNotify
liveStreamPacketizerListener)
Add a Live Stream Packetizer listener (see: ILiveStreamPacketizerActionNotify)
void addLiveStreamTranscoderListener(ILiveStreamTranscoderNotify
liveStreamTranscoderListener)
Add a live stream transcoder listener
void addRTPIncomingDatagramPortAll()
Allow all incoming RTP UDP ports for this application instance
String[] getAllowDomains()
Get the list of domain names used to control access to this application.
IApplication getApplication()
Get parent application
int getApplicationInstanceTouchTimeout()
Get the application instance touch timeout (milliseconds).
int getApplicationTimeout()
Get application timeout (milliseconds)
int getClientCount()
Get number of client connections currently connected to applicationInstance
int getClientCountTotal()
Get number of client connections in total that have connected to this applicationInstance
int getClientIdleFrequency()
Get default client idle frequency (milliseconds)
[Link] getClients()
Get the set of clients currently connected to this application instance (replaces getClient(index))
[Link] getClientsLockObj()
[Link]
[Link] Get the read/write lock for this application instance
teLock
ConnectionCounter getConnectionCounter()
Get the connectionCounter for applicationInstance
String getContextStr()
Returns the application context string in the form [application]/[appInstance].
String getDateStarted()
Get date applcationInstance started
DvrApplicationContext getDvrApplicationContext()
Get live stream dvr application context
WMSProperties getDvrProperties()
Get the property collection of DVR settings that are specific to this application instance.
String getDvrRecorderList()
Get the comma separated list of Dvr Recorder names being used by this application (see
conf/[Link])
String getHTTPStreamerList()
Get the comma separated list of HTTPStreamers names being used by this application (see
conf/[Link])
WMSProperties getHTTPStreamerProperties()
Get the property collection of HTTPStreamer settings that are specific to this application
instance
int getHTTPStreamerSessionCount()
Get the current number of HTTPStreamerSessions associated with this application instance
[Link] getHTTPStreamerSessions()
Get the HTTPStreamerSessions associated with this application instance
IOPerformanceCounter getIOPerformanceCounter()
Get the performance counter for applicationInstance
long getLastTouchTime()
Get the last time the instance was touched (milliseconds)
ILiveStreamDvrRecorde getLiveStreamDvrRecorderControl()
rControl
Get the Live Stream DVR Recorder Controller.
ILiveStreamPacketizer getLiveStreamPacketizerControl()
Control
Get the Live Stream Packetizer Controller.
String getLiveStreamPacketizerList()
Get the comma separated list of LiveStreamPacketizers names being used by this application
(see conf/[Link])
WMSProperties getLiveStreamPacketizerProperties()
Get the property collection of LiveStreamPacketizer settings that are specific to this application
instance
ILiveStreamTranscoder getLiveStreamTranscoderControl()
Control
Get the Live Stream Transcoder Contoller.
String getLiveStreamTranscoderList()
Get comma separated list of transcoders to use for this application instance
int getMaximumPendingReadBytes()
Set maximum number of bytes a client connection can have waiting to be written before the
connection is terminated.
int getMaximumPendingWriteBytes()
Get maximum number a bytes a client connection can have waiting to be sent before the
connection is terminated.
int getMaximumSetBufferTime()
Get maximum number of milliseconds allowed for the [Link](secs) call.
int getMaxStorageDirDepth()
Maximum folder depth allowed for the StreamStorageDir and SharedObjectStorageDir paths
WMSProperties getMediaCasterProperties()
Get the property collection of media caster settings that are specific to this application instance
int getMediacasterRTPRTSPRTPTransportMode()
RTP MediaCaster RTSP/RTP transport mode.
MediaCasterStreamMap getMediaCasterStreams()
Get the media caster streams attached to this application instance
IMediaCasterValidateM getMediaCasterValidator()
ediaCaster
Get the MediaCaster validator interface for this application instance
IMediaListProvider getMediaListProvider()
Get the current media list provider.
WMSProperties getMediaReaderProperties()
Get the property collection of media reader settings that are specific to this application instance
WMSProperties getMediaWriterProperties()
Get the property collection of media reader settings that are specific to this application instance
ModuleFunctions getModFunctions()
Get list of application modules
ModuleList getModuleList()
Get the list of loaded modules.
String getName()
Get applicationInstance name
int getPingTimeout()
Get ping timeout (milliseconds)
[Link] getPlayStreamCountsByName()
Get a map of stream names to number of Flash players playing the stream name
WMSProperties getProperties()
Get applicationInstance properties
boolean[] getProtocolUsage()
Get the protocols in use by this application instance (see
IApplicationInstance.PROTCOLUSAGE_*)
int getPublisherCount()
Get the current number of server side publishers
[Link] getPublishers()
Get the set of server side publishers
[Link] getPublishStreamNames()
Get the list of live stream names currently being published.
String getRepeaterOriginUrl()
Get the Repeater Origin URL used by the Live Stream Repeater
String getRepeaterQueryString()
Get the Repeater query string that is used to connect to the origin.
String getRsoStorageDir()
Get remote shared object storage path
String getRsoStoragePath()
Get the resolved storage path to the shared objects
int getRTPAVSyncMethod()
Get RTP audio/video sync method (RTPStream.AVSYNCMETHODS_SENDERREPORT,
RTPStream.AVSYNCMETHODS_SYSTEMCLOCK,
RTPStream.AVSYNCMETHODS_RTPTIMECODE)
int getRTPIdleFrequency()
Set the default RTP idle frequency (milliseconds)
int getRTPMaxRTCPWaitTime()
Get the maximum time to wait for RTCP packets (milliseconds)
String getRTPPlayAuthenticationMethod()
Get the RTP play authentication method (as defined in conf/[Link])
WMSProperties getRTPProperties()
Get the property collection of RTP settings that are specific to this application instance
String getRTPPublishAuthenticationMethod()
Get the RTP publish authentication method (as defined in conf/[Link])
int getRTPSessionCount()
Get the number of RTP sessions running under this application instance
[Link] getRTPSessionCountsByName()
Get a map of stream names and session counts of RTP sessions
[Link] getRTPSessions()
Get a list of RTP sessions running under this application instance
String getRTSPBindIpAddress()
Set the IP address to which UDP ports will be bound for RTSP/RTP sessions
String getRTSPConnectionAddressType()
Get the connection IP address type (IP4) to used in the Session Description Protocol data
exchanged for an RTSP/RTP session
String getRTSPConnectionIpAddress()
Get the connection IP address to used in the Session Description Protocol data exchanged for
an RTSP/RTP session
int getRTSPMaximumPendingWriteBytes()
Get the maximum number of pending write bytes for an RTSP session
String getRTSPOriginAddressType()
Get the origin IP address type (IP4) to used in the Session Description Protocol data
exchanged for an RTSP/RTP session
String getRTSPOriginIpAddress()
Get the origin IP address to used in the Session Description Protocol data exchanged for an
RTSP/RTP session
int getRTSPSessionTimeout()
Get the RTSP session timeout (milliseconds)
String getSharedObjectReadAccess()
Get the default shared object read access
ISharedObjects getSharedObjects()
Get non-peristent shared object collection
String getSharedObjectWriteAccess()
Get the default shared object write access
String getStreamAudioSampleAccess()
Get the default stream audio sample access
int getStreamCount()
Get the total number of open streams attached to this application instance
IMediaStreamFileMappe getStreamFileMapper()
r
Get the stream file mapper.
String getStreamKeyDir()
Get the stream key path
String getStreamKeyPath()
Get the resolved key path to the MediaStreams encryption keys
IMediaStreamNameAlias getStreamNameAliasProvider()
Provider
Get the stream name alias provider
WMSProperties getStreamProperties()
Get the property collection of stream settings that are specific to this application instance
String getStreamReadAccess()
Get the default stream read access
MediaStreamMap getStreams()
Get all the mediaStream objects attached to this applicationInstance
String getStreamStorageDir()
Get stream storage path
String getStreamStoragePath()
Get the resolved storage path to the MediaStreams
String getStreamType()
Get default streamType for application.
String getStreamVideoSampleAccess()
Get the default stream video sample access
String getStreamWriteAccess()
Get the default stream write access
WMSProperties getTimedTextProperties()
Get the property collection of timed text settings that are specific to this application instance.
String getTimeRunning()
Get time applcationInstance running
double getTimeRunningSeconds()
Get time running in seconds
LiveStreamTranscoderA getTranscoderApplicationContext()
pplicationContext
Get live stream transcoder application context
WMSProperties getTranscoderProperties()
Get the property collection of Transcoder settings that are specific to this application instance
int getValidationFrequency()
Get time between validation pings (milliseconds)
IVHost getVHost()
Get parent vHost
String getVODTimedTextProviderList()
Get the comma separated list of VODTimedTextProvider names being used by this application
(see conf/[Link])
[Link] getVODTimedTextProviderSet()
void incClientCountTotal()
Increment the total number of connected client counter by one
boolean isAcceptConnection()
Is auto accept connection on/off
boolean isDebugAppTimeout()
If true appTimeout processing will be logged.
boolean isValidateFMLEConnections()
Returns true if validating FMLE connection (default is false)
void notifyLiveStreamPacketizerCreate(ILiveStreamPacketizer
liveStreamPacketizer, String streamName)
Notify Live Stream Packetizer Create
void notifyLiveStreamPacketizerDestroy(ILiveStreamPacketizer
liveStreamPacketizer)
Notify Live Stream Packetizer Destory
void notifyLiveStreamPacketizerInit(ILiveStreamPacketizer
liveStreamPacketizer, String streamName)
Notify Live Stream Packetizer Init
void notifyLiveStreamTranscoderCreate(ILiveStreamTranscoder
liveStreamTranscoder, IMediaStream stream)
Notify live stream transcoder create
void notifyLiveStreamTranscoderDestroy(ILiveStreamTranscoder
liveStreamTranscoder, IMediaStream stream)
Notify live stream transcoder destroy
void notifyLiveStreamTranscoderInit(ILiveStreamTranscoder
liveStreamTranscoder, IMediaStream stream)
Notify live stream transcoder init
void removeLiveStreamPacketizerListener(ILiveStreamPacketizerActionNotify
liveStreamPacketizerListener)
Remove a Live Stream Packetizer listener (see: ILiveStreamPacketizerActionNotify)
void removeLiveStreamTranscoderListener(ILiveStreamTranscoderNotify
liveStreamTranscoderListener)
Remove a live stream transcoder listener
void setLiveStreamDvrRecorderControl(ILiveStreamDvrRecorderControl
controller)
Set the Live Stream DVR Controller.
void setLiveStreamPacketizerControl(ILiveStreamPacketizerControl
liveStreamPacketizerControl)
Set the Live Stream Packetizer Contoller.
void setLiveStreamTranscoderControl(ILiveStreamTranscoderControl
liveStreamTranscoderControl)
Set the Live Stream Transcoder Contoller.
void setMediacasterRTPRTSPRTPTransportMode(int
mediacasterRTPRTSPRTPTransportMode)
RTP MediaCaster RTSP/RTP transport mode.
void setMediaCasterValidator(IMediaCasterValidateMediaCaster
mediaCasterValidator)
Set the MediaCaster validator interface for this application instance
void setRTPPublishAuthenticationMethod(String
rtpPublishAuthenticationMethod)
Set the RTP publish authentication method (as defined in conf/[Link])
void setStreamNameAliasProvider(IMediaStreamNameAliasProvider
streamNameAliasProvider)
Set the stream name alias provider
void touch()
Touch the application instance so that it stays loaded for at least
applicationInstanceTouchTimeout
Fields
PROTCOLUSAGE_RTMP
public static final int PROTCOLUSAGE_RTMP
Constant value: 0
PROTCOLUSAGE_RTMPT
public static final int PROTCOLUSAGE_RTMPT
Constant value: 1
PROTCOLUSAGE_RTMPS
public static final int PROTCOLUSAGE_RTMPS
Constant value: 2
PROTCOLUSAGE_RTMPTS
public static final int PROTCOLUSAGE_RTMPTS
Constant value: 3
PROTCOLUSAGE_RTMPE
public static final int PROTCOLUSAGE_RTMPE
Constant value: 4
PROTCOLUSAGE_RTMPTE
public static final int PROTCOLUSAGE_RTMPTE
Constant value: 5
PROTCOLUSAGE_RTP
public static final int PROTCOLUSAGE_RTP
Constant value: 6
PROTCOLUSAGE_CUPERTINO
public static final int PROTCOLUSAGE_CUPERTINO
Constant value: 7
PROTCOLUSAGE_SMOOTH
public static final int PROTCOLUSAGE_SMOOTH
Constant value: 8
PROTCOLUSAGE_SANJOSE
public static final int PROTCOLUSAGE_SANJOSE
Constant value: 9
PROTCOLUSAGE_MPEGDASH
public static final int PROTCOLUSAGE_MPEGDASH
Constant value: 10
PROTCOLUSAGE_WEBM
public static final int PROTCOLUSAGE_WEBM
Constant value: 11
PROTCOLUSAGE_WOWZ
public static final int PROTCOLUSAGE_WOWZ
Constant value: 12
PROTCOLUSAGE_WOWZE
public static final int PROTCOLUSAGE_WOWZE
Constant value: 13
PROTCOLUSAGE_WOWZS
public static final int PROTCOLUSAGE_WOWZS
Constant value: 14
PROTCOLUSAGE_ORIGINCUPERTINO
public static final int PROTCOLUSAGE_ORIGINCUPERTINO
Constant value: 15
PROTCOLUSAGE_ORIGINSMOOTH
public static final int PROTCOLUSAGE_ORIGINSMOOTH
Constant value: 16
PROTCOLUSAGE_ORIGINSANJOSE
public static final int PROTCOLUSAGE_ORIGINSANJOSE
Constant value: 17
PROTCOLUSAGE_ORIGINMPEGDASH
public static final int PROTCOLUSAGE_ORIGINMPEGDASH
Constant value: 18
PROTCOLUSAGE_TOTAL
public static final int PROTCOLUSAGE_TOTAL
Constant value: 19
DEFAULT_APPINSTANCE_NAME
public static final [Link] DEFAULT_APPINSTANCE_NAME
Methods
shutdownClient
public void shutdownClient(IClient client)
Parameters:
client - client connection
shutdown
public void shutdown(boolean isServerShutdown,
boolean isAppShutdown)
shutdown applicationInstance
Parameters:
isServerShutdown - true if due to shutdown of server
isAppShutdown - true if due to shutdown of application
getApplication
public IApplication getApplication()
Returns:
parent application
getName
public String getName()
Returns:
applicationInstance name
setName
public void setName(String name)
Parameters:
name - applicationInstance name
getStreams
public MediaStreamMap getStreams()
Get all the mediaStream objects attached to this applicationInstance
IClient client;
int streamId;
Returns:
collection of mediaStream objects
getVHost
public IVHost getVHost()
Returns:
parent vHost
getProperties
public WMSProperties getProperties()
Returns:
applicationInstance properties
getStreamType
public String getStreamType()
Returns:
streamType name
setStreamType
public void setStreamType(String streamType)
Parameters:
streamType - streamType name
isAcceptConnection
public boolean isAcceptConnection()
Returns:
auto accept connection
setAcceptConnection
public void setAcceptConnection(boolean acceptConnection)
Parameters:
acceptConnection - auto accept connection
getClientCountTotal
public int getClientCountTotal()
Get number of client connections in total that have connected to this applicationInstance
Returns:
number of client connections
incClientCountTotal
public void incClientCountTotal()
getClientCount
public int getClientCount()
Returns:
number of client connections
getClientById
public IClient getClientById(int index)
Parameters:
index - client Id
Returns:
client connection
getClients
public [Link] getClients()
Get the set of clients currently connected to this application instance (replaces getClient(index))
Returns:
set of clients
getClient
public IClient getClient(int index)
Deprecated. Get the client connection at index. This method is deprecated. It is best to use getClient() to return a List objects.
Parameters:
index - index
Returns:
client connection
getSharedObjects
public ISharedObjects getSharedObjects()
Returns:
collection of non-persistent shared objects
getSharedObjects
public ISharedObjects getSharedObjects(boolean isPersistent)
Parameters:
isPersistent
Returns:
collection of shared objects
addClientListener
public void addClientListener(IClientNotify clientListener)
IApplicationInstance appInstance;
[Link](new ClientListener());
Parameters:
clientListener - client listener
removeClientListener
public void removeClientListener(IClientNotify clientListener)
Remove client listener. Listens for connects, disconnect, accepts and reject
Parameters:
clientListener - client listener
addMediaStreamListener
public void addMediaStreamListener(IMediaStreamNotify mediaStreamListener)
Add mediaStream listener. Listens for create and destroy
IApplicationInstance appInstance;
Parameters:
mediaStreamListener - mediaStream listener
removeMediaStreamListener
public void removeMediaStreamListener(IMediaStreamNotify mediaStreamListener)
Parameters:
mediaStreamListener - mediaStream listener
addSharedObjectListener
public void addSharedObjectListener(ISharedObjectNotify sharedObjectListener,
boolean isPersistent)
IApplicationInstance appInstance;
Parameters:
sharedObjectListener - sharedObject listener
isPersistent
removeSharedObjectListener
public void removeSharedObjectListener(ISharedObjectNotify sharedObjectListener,
boolean isPersistent)
Parameters:
addMediaCasterListener
public void addMediaCasterListener(IMediaCasterNotify mediaCasterListener)
Add mediaCaster listener. Listens for create, destroy, registerPlayer, unregisterPlayer, setSourceStream
Parameters:
mediaCasterListener
addMediaCasterListener
public void addMediaCasterListener(IMediaCasterNotify2 mediaCasterListener)
Add mediaCaster listener. Listens for create, destroy, registerPlayer, unregisterPlayer, setSourceStream
Parameters:
mediaCasterListener
removeMediaCasterListener
public void removeMediaCasterListener(IMediaCasterNotify mediaCasterListener)
Remove mediaCaster listener. Listens for create, destroy, registerPlayer, unregisterPlayer, setSourceStream
Parameters:
mediaCasterListener
getConnectionCounter
public ConnectionCounter getConnectionCounter()
Returns:
connection counter
getConnectionCounter
public ConnectionCounterSimple getConnectionCounter(int counterIndex)
Get the connectionCounter for applicationInstance for a specific technology (see IVHost.COUNTER_*)
Parameters:
counterIndex - counter index
Returns:
connection counter
getDateStarted
public String getDateStarted()
Returns:
getTimeRunning
public String getTimeRunning()
Returns:
time applcationInstance running
getTimeRunningSeconds
public double getTimeRunningSeconds()
Returns:
time running in seconds
broadcastMsg
public void broadcastMsg([Link] clientList,
String handlerName)
Parameters:
clientList - list of client
handlerName - handler name
broadcastMsg
public void broadcastMsg([Link] clientList,
String handlerName,
Object[] params)
Parameters:
clientList - list of client
handlerName - handler name
params - parameters
broadcastMsg
public void broadcastMsg(String handlerName,
Object[] params)
IApplicationInstance appInstance;
[Link]("onNotify", "Hello World", 1.2345, false, new Date());
Parameters:
handlerName - handler name
params - variable list of arguments (Java primitive and Strings will be wrapped in AMFData objects)
getIOPerformanceCounter
public IOPerformanceCounter getIOPerformanceCounter()
Returns:
io performance counter
getIOPerformanceCounter
public IOPerformanceCounter getIOPerformanceCounter(int counterIndex)
Get the performance counter for applicationInstance for a specific technology (see IVHost.COUNTER_*)
Parameters:
counterIndex - counter index (see IVHost.COUNTER_*)
Returns:
connection counter
addPlayStreamByName
public void addPlayStreamByName(IMediaStream stream,
String name)
Add a media stream to the list of streams that are listening for a published stream
Parameters:
stream - media stream
name - stream name
removePlayStreamByName
public void removePlayStreamByName(IMediaStream stream)
Remove media stream from the list of streams that are listening for a published stream
Parameters:
getPlayStreamCountsByName
public [Link] getPlayStreamCountsByName()
Get a map of stream names to number of Flash players playing the stream name
Returns:
map of stream names to number of Flash players playing the stream name
getPlayStreamCount
public int getPlayStreamCount(String streamName)
Parameters:
streamName - stream name
Returns:
number of players
getPlayStreamsByName
public [Link] getPlayStreamsByName(String name)
Get a list of media streams that are listening for published stream.
Parameters:
name - stream name
Returns:
list of streams or null if no listeners
getMediaCasterStreams
public MediaCasterStreamMap getMediaCasterStreams()
Returns:
media caster streams attached to this application instance
getStreamCount
public int getStreamCount()
Get the total number of open streams attached to this application instance
Returns:
the total number of open streams attached to this application instance
getModFunctions
public ModuleFunctions getModFunctions()
Returns:
list of application modules
addModuleListener
public void addModuleListener(IModuleNotify moduleListener)
Add module listener. Listens for onModuleLoad and onModuleUnload events. See IModuleNotify.
Parameters:
moduleListener - module listener
removeModuleListener
public void removeModuleListener(IModuleNotify moduleListener)
Parameters:
moduleListener - module listener
getModuleList
public ModuleList getModuleList()
Returns:
list of loaded modules
getModuleInstance
public Object getModuleInstance(String name)
Get the instance of the module class for this application instance.
Parameters:
name - module name as defined in [Link]
Returns:
instance of class for this application instance
getApplicationTimeout
public int getApplicationTimeout()
Returns:
application timeout (milliseconds)
setApplicationTimeout
public void setApplicationTimeout(int applicationTimeout)
Parameters:
applicationTimeout - application timeout (milliseconds)
getPingTimeout
public int getPingTimeout()
Returns:
ping timeout (milliseconds)
setPingTimeout
public void setPingTimeout(int pingTimeout)
Parameters:
pingTimeout - ping timeout (millseconds)
getValidationFrequency
public int getValidationFrequency()
Returns:
time between validation pings (milliseconds)
setValidationFrequency
public void setValidationFrequency(int validationFrequency)
Parameters:
validationFrequency - time between validation pings (milliseconds)
getMaximumPendingWriteBytes
public int getMaximumPendingWriteBytes()
Get maximum number a bytes a client connection can have waiting to be sent before the connection is terminated. If set to
zero this feature is turned off.
Returns:
maximum number a bytes a client connection can have waiting to be sent before the connection is terminated
setMaximumPendingWriteBytes
public void setMaximumPendingWriteBytes(int maximumPendingWriteBytes)
Set maximum number a bytes a client connection can have waiting to be sent before the connection is terminated. If set to zero
this feature is turned off.
Parameters:
maximumPendingWriteBytes - maximum number a bytes a client connection can have waiting to be sent before the
connection is terminated
getMaximumPendingReadBytes
public int getMaximumPendingReadBytes()
Set maximum number of bytes a client connection can have waiting to be written before the connection is terminated. If set to
zero this feature is off.
Returns:
maximum number of bytes a client connection can have waiting to be written before the connection is terminated
setMaximumPendingReadBytes
public void setMaximumPendingReadBytes(int maximumPendingReaderBytes)
Get maximum number of bytes a client connection can have waiting to be written before the connection is terminated. If set to
zero this feature is off.
Parameters:
maximumPendingReaderBytes - maximum number of bytes a client connection can have waiting to be written before
the connection is terminated
setMaximumSetBufferTime
public void setMaximumSetBufferTime(int maximumSetBufferTime)
Set maximum number of milliseconds allowed for the [Link](secs) call. If set to zero this feature is turned
off.
Parameters:
maximumSetBufferTime - maximum number of milliseconds allowed for the [Link](secs) call
getMaximumSetBufferTime
public int getMaximumSetBufferTime()
Get maximum number of milliseconds allowed for the [Link](secs) call. If set to zero this feature is turned
off.
Returns:
maximum number of milliseconds allowed for the [Link](secs) call
getRepeaterOriginUrl
public String getRepeaterOriginUrl()
Get the Repeater Origin URL used by the Live Stream Repeater
Returns:
URL used by the Live Stream Repeater
setRepeaterOriginUrl
public void setRepeaterOriginUrl(String repeaterOriginUrl)
Set the Repeater Origin URL used by the Live Stream Repeater
Parameters:
repeaterOriginUrl - URL used by the Live Stream Repeater
getRepeaterQueryString
public String getRepeaterQueryString()
Get the Repeater query string that is used to connect to the origin. This value can be used to pass secure URL parameters to the
origin for security validation.
Returns:
Repeater query string
setRepeaterQueryString
public void setRepeaterQueryString(String repeaterQueryString)
Set the Repeater query string that is used to connect to the origin. This value can be used to pass secure URL parameters to the
origin for security validation.
Parameters:
repeaterQueryString - Repeater query string
getAllowDomains
public String[] getAllowDomains()
Get the list of domain names used to control access to this application. Upon connection, if this list is non-null the
[Link] value is checked to make sure the referrer is from a domain in this list.
Returns:
list of domain names used to control access to this application
setAllowDomains
public void setAllowDomains(String[] domainFilter)
Set the list of domain names used to control access to this application. Upon connection, if this list is non-null the
[Link] value is checked to make sure the referrer is from a domain in this list.
Parameters:
domainFilter - list of domain names used to control access to this application
parseAllowDomains
public void parseAllowDomains(String domainFilterStr)
Parse a comma delimited list of domain names used to control access to this application. Upon connection, if this list is non-
null the [Link] value is checked to make sure the referrer is from a domain in this list.
Parameters:
domainFilterStr - comma delimited list of domain names
getClientIdleFrequency
public int getClientIdleFrequency()
Returns:
default client idle frequency (milliseconds)
setClientIdleFrequency
public void setClientIdleFrequency(int clientIdleFrequency)
Parameters:
clientIdleFrequency - default client idle frequency (milliseconds)
getRTPIdleFrequency
public int getRTPIdleFrequency()
Returns:
default RTP idle frequency (milliseconds)
setRTPIdleFrequency
public void setRTPIdleFrequency(int rtspIdleFrequency)
Parameters:
rtspIdleFrequency - default RTP idle frequency (milliseconds)
getStreamStorageDir
public String getStreamStorageDir()
Returns:
stream storage path
setStreamStorageDir
public void setStreamStorageDir(String streamStorageDir)
Parameters:
streamStorageDir - stream storage path
getStreamKeyDir
public String getStreamKeyDir()
Returns:
stream key path
setStreamKeyDir
public void setStreamKeyDir(String keyStorageDir)
Parameters:
keyStorageDir - stream key path
getRsoStorageDir
public String getRsoStorageDir()
Returns:
remote shared object storage path
setRsoStorageDir
public void setRsoStorageDir(String rsoStorageDir)
Parameters:
rsoStorageDir - remote shared object storage path
getStreamKeyPath
public String getStreamKeyPath()
Returns:
resolved key path to the MediaStreams encryption keys
getStreamStoragePath
public String getStreamStoragePath()
Returns:
resolved storage path to the MediaStreams
getRsoStoragePath
public String getRsoStoragePath()
Returns:
resolved storage path to the shared objects
getStreamVideoSampleAccess
public String getStreamVideoSampleAccess()
Returns:
default stream video sample access
See Also:
[Link]()
setStreamVideoSampleAccess
public void setStreamVideoSampleAccess(String streamVideoSampleAccess)
Parameters:
streamVideoSampleAccess - default stream video sample access
See Also:
[Link](String)
getStreamAudioSampleAccess
public String getStreamAudioSampleAccess()
Returns:
default stream audio sample access
See Also:
[Link]()
setStreamAudioSampleAccess
public void setStreamAudioSampleAccess(String streamAudioSampleAccess)
Parameters:
streamAudioSampleAccess
See Also:
[Link](String)
getStreamReadAccess
public String getStreamReadAccess()
Returns:
default stream read access
See Also:
[Link]()
setStreamReadAccess
public void setStreamReadAccess(String streamReadAccess)
Parameters:
streamReadAccess - default stream read access
See Also:
[Link](String)
getStreamWriteAccess
public String getStreamWriteAccess()
Returns:
default stream write access
See Also:
[Link]()
setStreamWriteAccess
public void setStreamWriteAccess(String streamWriteAccess)
Parameters:
streamWriteAccess - default stream write access
See Also:
[Link](String)
getSharedObjectReadAccess
public String getSharedObjectReadAccess()
Returns:
default shared object read access
See Also:
[Link]()
setSharedObjectReadAccess
public void setSharedObjectReadAccess(String sharedObjectReadAccess)
Parameters:
sharedObjectReadAccess - default shared object read access
See Also:
[Link](String)
getSharedObjectWriteAccess
public String getSharedObjectWriteAccess()
Returns:
default shared object write access
See Also:
[Link]()
setSharedObjectWriteAccess
public void setSharedObjectWriteAccess(String sharedObjectWriteAccess)
Parameters:
sharedObjectWriteAccess - default shared object write access
See Also:
[Link](String)
getRTPPublishAuthenticationMethod
public String getRTPPublishAuthenticationMethod()
Returns:
RTP publish authentication method
setRTPPublishAuthenticationMethod
public void setRTPPublishAuthenticationMethod(String rtpPublishAuthenticationMethod)
Parameters:
rtpPublishAuthenticationMethod - RTP publish authentication method
getRTPPlayAuthenticationMethod
public String getRTPPlayAuthenticationMethod()
Returns:
RTP play authentication method
setRTPPlayAuthenticationMethod
public void setRTPPlayAuthenticationMethod(String rtpPlayAuthenticationMethod)
Parameters:
rtpPlayAuthenticationMethod - RTP play authentication method
getRTPAVSyncMethod
public int getRTPAVSyncMethod()
Returns:
RTP audio/video sync method
setRTPAVSyncMethod
public void setRTPAVSyncMethod(int rtpAVSyncMethod)
Parameters:
rtpAVSyncMethod - RTP audio/video sync method
getRTPMaxRTCPWaitTime
public int getRTPMaxRTCPWaitTime()
Returns:
maximum time to wait for RTCP packets (milliseconds)
setRTPMaxRTCPWaitTime
public void setRTPMaxRTCPWaitTime(int rtpMaxRTCPWaitTime)
Parameters:
rtpMaxRTCPWaitTime - maximum time to wait for RTCP packets (milliseconds)
getRTPSessions
public [Link] getRTPSessions(String streamName)
Get a list of RTP sessions running under this application instance playing a given stream name
Parameters:
streamName - stream name
Returns:
list of RTP sessions running under this application instance playing a given stream name
getRTPSessions
public [Link] getRTPSessions()
Returns:
list of RTP sessions running under this application instance
getRTPSessionCountsByName
public [Link] getRTPSessionCountsByName()
Returns:
map of stream names and session counts
getRTPSessionCount
public int getRTPSessionCount(String streamName)
Get the number of RTP player streams playing a given stream name
Parameters:
streamName - strean name
Returns:
the number of RTP sessions
getRTPSessionCount
public int getRTPSessionCount()
Get the number of RTP sessions running under this application instance
Returns:
the number of RTP sessions running under this application instance
addRTPSession
public void addRTPSession(RTPSession rtpSession)
Parameters:
rtpSession - RTP session to add
registerPlayRTPSession
public void registerPlayRTPSession(RTPSession rtpSession)
Parameters:
rtpSession - RTP session to register
removeRTPSession
public void removeRTPSession(RTPSession rtpSession)
Parameters:
rtpSession - RTP session to remove
getClientsLockObj
public [Link]
getClientsLockObj()
Returns:
read/write lock for this application instance
getStreamProperties
public WMSProperties getStreamProperties()
Get the property collection of stream settings that are specific to this application instance
Returns:
property collection of stream settings
getMediaCasterProperties
public WMSProperties getMediaCasterProperties()
Get the property collection of media caster settings that are specific to this application instance
Returns:
property collection of media caster settings
getMediaReaderProperties
public WMSProperties getMediaReaderProperties()
Get the property collection of media reader settings that are specific to this application instance
Returns:
property collection of media reader settings
getMediaWriterProperties
public WMSProperties getMediaWriterProperties()
Get the property collection of media reader settings that are specific to this application instance
Returns:
property collection of media reader settings
getRTPProperties
public WMSProperties getRTPProperties()
Get the property collection of RTP settings that are specific to this application instance
Returns:
property collection of RTP settings
getLiveStreamPacketizerProperties
public WMSProperties getLiveStreamPacketizerProperties()
Get the property collection of LiveStreamPacketizer settings that are specific to this application instance
Returns:
property collection of LiveStreamPacketizer settings
getTranscoderProperties
public WMSProperties getTranscoderProperties()
Get the property collection of Transcoder settings that are specific to this application instance
Returns:
property collection of Transcoder settings
getHTTPStreamerProperties
public WMSProperties getHTTPStreamerProperties()
Get the property collection of HTTPStreamer settings that are specific to this application instance
Returns:
property collection of HTTPStreamer settings
getMaxStorageDirDepth
public int getMaxStorageDirDepth()
Maximum folder depth allowed for the StreamStorageDir and SharedObjectStorageDir paths
Returns:
folder depth
setMaxStorageDirDepth
public void setMaxStorageDirDepth(int maxStorageDirDepth)
Maximum folder depth allowed for the StreamStorageDir and SharedObjectStorageDir paths
Parameters:
maxStorageDirDepth - folder depth
getStreamFileMapper
public IMediaStreamFileMapper getStreamFileMapper()
Returns:
streamFileMapper stream file mapper
setStreamFileMapper
public void setStreamFileMapper(IMediaStreamFileMapper streamFileMapper)
Parameters:
streamFileMapper - stream file mapper
decodeStorageDir
public String decodeStorageDir(String storageDir)
This function will take a storage path that uses variables and expand the variables based on the context. It supports the
following variables (as well as any system variables): ${[Link]}: Application home directory
${[Link]}: Configuration home directory ${[Link]}: Virtual
configuration path ${[Link]}: Virtual host name ${[Link]}:
Application name ${[Link]}: Application instance name
getLiveStreamPacketizerList
public String getLiveStreamPacketizerList()
Get the comma separated list of LiveStreamPacketizers names being used by this application (see
conf/[Link])
Returns:
comma separated list of LiveStreamPacketizers names
getHTTPStreamerList
public String getHTTPStreamerList()
Get the comma separated list of HTTPStreamers names being used by this application (see conf/[Link])
Returns:
comma separated list of HTTPStreamers names
setLiveStreamPacketizerList
public void setLiveStreamPacketizerList(String liveStreamPacketizerList)
Set the comma separated list of LiveStreamPacketizers names being used by this application (see
conf/[Link])
Parameters:
liveStreamPacketizerList - comma separated list of LiveStreamPacketizers names
setHTTPStreamerList
public void setHTTPStreamerList(String httpStreamerList)
Set the comma separated list of HTTPStreamer names being used by this application (see conf/[Link])
Parameters:
httpStreamerList - comma separated list of HTTPStreamer names
containsHTTPStreamer
public boolean containsHTTPStreamer(String httpStreamer)
Parameters:
Returns:
true is this type of streaming is allowed
containsLiveStreamPacketizer
public boolean containsLiveStreamPacketizer(String liveStreamPacketizer)
Does this application instance contain a references to this live stream packetizer. If it is true we consider this a live stream
source for the HTTP streamer. If false then we consider this a video on demand source.
Parameters:
liveStreamPacketizer - live stream packetizer name
Returns:
true if contains reference to it
containsDvrRecorder
public boolean containsDvrRecorder(String dvrRecorder)
Does this application instance contain a references to this DVR recorder. If it is true we consider this a DVR source for the
HTTP streamer.
Parameters:
dvrRecorder - DVR recorder name
Returns:
true if contains reference to it
getVODTimedTextProviderList
public String getVODTimedTextProviderList()
Get the comma separated list of VODTimedTextProvider names being used by this application (see
conf/[Link])
Returns:
comma separated list of VODTimedTextProvider names
setVODTimedTextProviderList
public void setVODTimedTextProviderList(String timedTextProviderList)
Set the comma separated list of VODTimedTextProvider names being used by this application (see
conf/[Link])
Parameters:
timedTextProviderList - comma separated list of VODTimedTextProvider names
getVODTimedTextProviderSet
public [Link] getVODTimedTextProviderSet()
getTimedTextProperties
public WMSProperties getTimedTextProperties()
Get the property collection of timed text settings that are specific to this application instance. These are defined in
Application/TimedText/Properties tag in [Link]
Returns:
property collection of Timed Text settings
getStreamNameAliasProvider
public IMediaStreamNameAliasProvider getStreamNameAliasProvider()
Returns:
stream name alias provider
setStreamNameAliasProvider
public void setStreamNameAliasProvider(IMediaStreamNameAliasProvider
streamNameAliasProvider)
Parameters:
streamNameAliasProvider - stream name alias provider
getPublishers
public [Link] getPublishers()
Returns:
set of server side publishers
getPublisherCount
public int getPublisherCount()
Returns:
number of server side publishers
addPublisher
public void addPublisher(Publisher publisher)
Parameters:
publisher - server side publisher
removePublisher
public void removePublisher(Publisher publisher)
Parameters:
publisher - server side publisher
getHTTPStreamerSessions
public [Link] getHTTPStreamerSessions(int protocol,
String streamName)
Get the HTTPStreamerSessions associated with this application instance for a stream name by protocol. See
(IHTTPStreamerSession.SESSIONPROTOCOL_*) for protocols
Parameters:
protocol - streaming protocol (IHTTPStreamerSession.SESSIONPROTOCOL_*)
streamName - stream name
Returns:
HTTPStreamerSessions associated with this application instance
getHTTPStreamerSessions
public [Link] getHTTPStreamerSessions(String streamName)
Get the HTTPStreamerSessions associated with this application instance for a stream name
Parameters:
streamName - stream name
Returns:
HTTPStreamerSessions associated with this application instance
getHTTPStreamerSessionCountsByName
public [Link] getHTTPStreamerSessionCountsByName(int protocol)
Parameters:
protocol - streaming protocol (IHTTPStreamerSession.SESSIONPROTOCOL_*)
Returns:
map of session counts by name
getHTTPStreamerSessionCount
public int getHTTPStreamerSessionCount(String streamName)
Get the current number of HTTPStreamerSessions associated with this application instance and stream name
Parameters:
streamName - stream name
Returns:
number of HTTPStreamerSessions associated with this application instance
getHTTPStreamerSessionCount
public int getHTTPStreamerSessionCount(int protocol,
String streamName)
Get the current number of HTTPStreamerSessions associated with this application instance and stream name by protocol . See
(IHTTPStreamerSession.SESSIONPROTOCOL_*) for protocols
Parameters:
protocol - streaming protocol (IHTTPStreamerSession.SESSIONPROTOCOL_*)
streamName - stream name
Returns:
HTTPStreamerSessions associated with this application instance
getHTTPStreamerSessions
public [Link] getHTTPStreamerSessions()
Returns:
HTTPStreamerSessions associated with this application instance
getHTTPStreamerSessions
public [Link] getHTTPStreamerSessions(int protocol)
Get the HTTPStreamerSessions associated with this application instance by protocol. See
(IHTTPStreamerSession.SESSIONPROTOCOL_*) for protocols
Parameters:
protocol - streaming protocol (IHTTPStreamerSession.SESSIONPROTOCOL_*)
Returns:
HTTPStreamerSessions associated with this application instance
getHTTPStreamerSessionCount
public int getHTTPStreamerSessionCount()
Get the current number of HTTPStreamerSessions associated with this application instance
Returns:
current number of HTTPStreamerSessions associated with this application instance
getHTTPStreamerSessionCount
public int getHTTPStreamerSessionCount(int protocol)
Get the current number of HTTPStreamerSessions associated with this application instance by protocol. See
(IHTTPStreamerSession.SESSIONPROTOCOL_*) for protocols
Parameters:
protocol - streaming protocol (IHTTPStreamerSession.SESSIONPROTOCOL_*)
Returns:
current number of HTTPStreamerSessions associated with this application instance
addHTTPStreamerSession
public void addHTTPStreamerSession(IHTTPStreamerSession httpStreamerSession)
Parameters:
httpStreamerSession - HTTPStreamerSession
removeHTTPStreamerSession
public void removeHTTPStreamerSession(IHTTPStreamerSession httpStreamerSession)
Parameters:
httpStreamerSession - HTTPStreamerSession
getHTTPStreamerApplicationContext
public IHTTPStreamerApplicationContext getHTTPStreamerApplicationContext(String
httpStreamName,
boolean doCreate)
Parameters:
httpStreamName - HTTPStreamer adapter name
doCreate - create if it does not exist
Returns:
HTTPStreamer application context
addRTPIncomingDatagramPortRange
public void addRTPIncomingDatagramPortRange(int startPort,
int endPort)
Add a port range to the list of valid incoming RTP UDP ports
Parameters:
startPort - starting port number
endPort - end port number
addRTPIncomingDatagramPortAll
public void addRTPIncomingDatagramPortAll()
Allow all incoming RTP UDP ports for this application instance
isRTPIncomingDatagramPortValid
public boolean isRTPIncomingDatagramPortValid(int port)
Check a port number to be sure it is a valid RTP UDP port for this application instance
Parameters:
port - port number
Returns:
true if the port is valid
readAppInstConfig
public String readAppInstConfig(String sName)
writeAppInstConfig
public boolean writeAppInstConfig(String sName,
String data)
getLiveStreamPacketizerControl
public ILiveStreamPacketizerControl getLiveStreamPacketizerControl()
Get the Live Stream Packetizer Controller. This class will get called each time a stream is to be packetized using the
LiveStreamPacketizer mechanism.
Returns:
Live Stream Packetizer Controller
setLiveStreamPacketizerControl
public void setLiveStreamPacketizerControl(ILiveStreamPacketizerControl
liveStreamPacketizerControl)
Set the Live Stream Packetizer Contoller. This class will get called each time a stream is to be packetized using the
LiveStreamPacketizer mechanism.
Parameters:
liveStreamPacketizerControl - Live Stream Packetizer Contoller
resetMediaCasterStream
public boolean resetMediaCasterStream(String streamName)
Parameters:
streamName - stream name
Returns:
true if successful
resetMediaCasterStream
public boolean resetMediaCasterStream(String streamName,
String streamExt)
Parameters:
streamName - stream name
Returns:
true if successful
startMediaCasterStream
public boolean startMediaCasterStream(String streamName,
String streamExt,
String mediaCasterType)
Parameters:
streamName - stream name
streamExt - stream extension
mediaCasterType - media caster stream type
Returns:
true if successful
startMediaCasterStream
public boolean startMediaCasterStream(String streamName,
String mediaCasterType)
Parameters:
streamName - stream name
mediaCasterType - media caster stream type
Returns:
true if successful
stopMediaCasterStream
public void stopMediaCasterStream(String streamName)
Parameters:
streamName - stream name
getContextStr
public String getContextStr()
Returns:
application context string
getPublishStreamNames
public [Link] getPublishStreamNames()
Returns:
list of live stream names currently being published
addMediaWriterListener
public void addMediaWriterListener(IMediaWriterActionNotify listener)
Parameters:
listener - MediaWriter listener class
removeMediaWriterListener
public void removeMediaWriterListener(IMediaWriterActionNotify listener)
Parameters:
listener - MediaWriter listener class
notifyMediaWriterOnWriteComplete
public void notifyMediaWriterOnWriteComplete(IMediaStream stream,
[Link] file)
Parameters:
stream - media stream
file - file that was written
notifyMediaWriterOnFLVAddMetadata
public void notifyMediaWriterOnFLVAddMetadata(IMediaStream stream,
[Link] extraMetadata)
Parameters:
stream - media stream
extraMetadata - meta to add to the file
getMediaCasterValidator
public IMediaCasterValidateMediaCaster getMediaCasterValidator()
Returns:
MediaCaster validator interface
setMediaCasterValidator
public void setMediaCasterValidator(IMediaCasterValidateMediaCaster
mediaCasterValidator)
Parameters:
mediaCasterValidator - MediaCaster validator interface
touch
public void touch()
Touch the application instance so that it stays loaded for at least applicationInstanceTouchTimeout
getLastTouchTime
public long getLastTouchTime()
Returns:
last time the instance was touched (milliseconds)
getApplicationInstanceTouchTimeout
public int getApplicationInstanceTouchTimeout()
Returns:
application instance touch timeout (milliseconds)
setApplicationInstanceTouchTimeout
public void setApplicationInstanceTouchTimeout(int applicationInstanceTouchTimeout)
Parameters:
applicationInstanceTouchTimeout - application instance touch timeout (milliseconds)
getRTSPSessionTimeout
public int getRTSPSessionTimeout()
Returns:
RTSP session timeout (milliseconds)
setRTSPSessionTimeout
public void setRTSPSessionTimeout(int rtspSessionTimeout)
Parameters:
rtspSessionTimeout - RTSP session timeout (milliseconds)
getRTSPMaximumPendingWriteBytes
public int getRTSPMaximumPendingWriteBytes()
Get the maximum number of pending write bytes for an RTSP session
Returns:
maximum number of pending write bytes for an RTSP session
setRTSPMaximumPendingWriteBytes
public void setRTSPMaximumPendingWriteBytes(int rtspMaximumPendingWriteBytes)
Set the maximum number of pending write bytes for an RTSP session
Parameters:
rtspMaximumPendingWriteBytes - maximum number of pending write bytes for an RTSP session
addMediaReaderListener
public void addMediaReaderListener(IMediaReaderActionNotify mediaReaderListener)
Parameters:
mediaReaderListener - media reader listener
removeMediaReaderListener
public void removeMediaReaderListener(IMediaReaderActionNotify mediaReaderListener)
Parameters:
mediaReaderListener - media reader listener
notifyMediaReaderCreate
public void notifyMediaReaderCreate(IMediaReader mediaReader)
Parameters:
mediaReader - media reader
notifyMediaReaderInit
public void notifyMediaReaderInit(IMediaReader mediaReader,
IMediaStream stream)
Parameters:
mediaReader - media reader
stream - media stream
notifyMediaReaderOpen
public void notifyMediaReaderOpen(IMediaReader mediaReader,
IMediaStream stream)
Parameters:
mediaReader - media reader
stream - media stream
notifyMediaReaderExtractMetaData
public void notifyMediaReaderExtractMetaData(IMediaReader mediaReader,
IMediaStream stream)
Parameters:
mediaReader - media reader
stream - media stream
notifyMediaReaderClose
public void notifyMediaReaderClose(IMediaReader mediaReader,
IMediaStream stream)
Parameters:
mediaReader - media reader
stream - media stream
getRTSPBindIpAddress
public String getRTSPBindIpAddress()
Set the IP address to which UDP ports will be bound for RTSP/RTP sessions
Returns:
IP address to which UDP ports will be bound for RTSP/RTP sessions
setRTSPBindIpAddress
public void setRTSPBindIpAddress(String rtspBindIpAddress)
Get the IP address to which UDP ports will be bound for RTSP/RTP sessions
Parameters:
rtspBindIpAddress - IP address to which UDP ports will be bound for RTSP/RTP sessions
getRTSPConnectionIpAddress
public String getRTSPConnectionIpAddress()
Get the connection IP address to used in the Session Description Protocol data exchanged for an RTSP/RTP session
Returns:
connection IP address to used in the Session Description Protocol data exchanged for an RTSP/RTP session
setRTSPConnectionIpAddress
public void setRTSPConnectionIpAddress(String rtspConnectionIpAddress)
Set the connection IP address to used in the Session Description Protocol data exchanged for an RTSP/RTP session
Parameters:
rtspConnectionIpAddress - connection IP address to used in the Session Description Protocol data exchanged for
an RTSP/RTP session
getRTSPConnectionAddressType
public String getRTSPConnectionAddressType()
Get the connection IP address type (IP4) to used in the Session Description Protocol data exchanged for an RTSP/RTP
session
Returns:
the connection IP address type (IP4) to used in the Session Description Protocol data exchanged for an RTSP/RTP
session
setRTSPConnectionAddressType
public void setRTSPConnectionAddressType(String rtspConnectionAddressType)
Set the connection IP address type (IP4) to used in the Session Description Protocol data exchanged for an RTSP/RTP session
Parameters:
rtspConnectionAddressType
getRTSPOriginIpAddress
public String getRTSPOriginIpAddress()
Get the origin IP address to used in the Session Description Protocol data exchanged for an RTSP/RTP session
Returns:
origin IP address to used in the Session Description Protocol data exchanged for an RTSP/RTP session
setRTSPOriginIpAddress
public void setRTSPOriginIpAddress(String rtspOriginIpAddress)
Set the origin IP address to used in the Session Description Protocol data exchanged for an RTSP/RTP session
Parameters:
rtspOriginIpAddress - origin IP address to used in the Session Description Protocol data exchanged for an
RTSP/RTP session
getRTSPOriginAddressType
public String getRTSPOriginAddressType()
Get the origin IP address type (IP4) to used in the Session Description Protocol data exchanged for an RTSP/RTP session
Returns:
origin IP address type (IP4) to used in the Session Description Protocol data exchanged for an RTSP/RTP session
setRTSPOriginAddressType
public void setRTSPOriginAddressType(String rtspOriginAddressType)
Set the origin IP address type (IP4) to used in the Session Description Protocol data exchanged for an RTSP/RTP session
Parameters:
rtspOriginAddressType - origin IP address type (IP4) to used in the Session Description Protocol data exchanged for
an RTSP/RTP session
addLiveStreamPacketizerListener
public void addLiveStreamPacketizerListener(ILiveStreamPacketizerActionNotify
liveStreamPacketizerListener)
Parameters:
liveStreamPacketizerListener - Live Stream Packetizer listener
removeLiveStreamPacketizerListener
public void removeLiveStreamPacketizerListener(ILiveStreamPacketizerActionNotify
liveStreamPacketizerListener)
Parameters:
liveStreamPacketizerListener - Live Stream Packetizer listener
notifyLiveStreamPacketizerCreate
public void notifyLiveStreamPacketizerCreate(ILiveStreamPacketizer
liveStreamPacketizer,
String streamName)
Parameters:
liveStreamPacketizer - Live Stream Packetizer listener
notifyLiveStreamPacketizerDestroy
public void notifyLiveStreamPacketizerDestroy(ILiveStreamPacketizer
liveStreamPacketizer)
Parameters:
liveStreamPacketizer - Live Stream Packetizer listener
notifyLiveStreamPacketizerInit
public void notifyLiveStreamPacketizerInit(ILiveStreamPacketizer liveStreamPacketizer,
String streamName)
Parameters:
liveStreamPacketizer - Live Stream Packetizer listener
isValidateFMLEConnections
public boolean isValidateFMLEConnections()
Returns:
true if validating FMLE connection
setValidateFMLEConnections
public void setValidateFMLEConnections(boolean validateFMLEConnections)
Parameters:
validateFMLEConnections - true if validating FMLE connection
addLiveStreamTranscoderListener
public void addLiveStreamTranscoderListener(ILiveStreamTranscoderNotify
liveStreamTranscoderListener)
Parameters:
liveStreamTranscoderListener - live stream transcoder listener
removeLiveStreamTranscoderListener
public void removeLiveStreamTranscoderListener(ILiveStreamTranscoderNotify
liveStreamTranscoderListener)
Parameters:
liveStreamTranscoderListener - live stream transcoder listener
notifyLiveStreamTranscoderCreate
public void notifyLiveStreamTranscoderCreate(ILiveStreamTranscoder
liveStreamTranscoder,
IMediaStream stream)
Parameters:
liveStreamTranscoder - live stream transcoder
stream - stream
notifyLiveStreamTranscoderDestroy
public void notifyLiveStreamTranscoderDestroy(ILiveStreamTranscoder
liveStreamTranscoder,
IMediaStream stream)
Parameters:
liveStreamTranscoder - live stream transcoder
stream - stream
notifyLiveStreamTranscoderInit
public void notifyLiveStreamTranscoderInit(ILiveStreamTranscoder liveStreamTranscoder,
IMediaStream stream)
Parameters:
liveStreamTranscoder - live stream transcoder
stream - stream
containsLiveStreamTranscoder
public boolean containsLiveStreamTranscoder(String liveStreamTranscoder)
Parameters:
liveStreamTranscoder - transcoder name
Returns:
true if this application instance contains the transcoder name
getLiveStreamTranscoderList
public String getLiveStreamTranscoderList()
Get comma separated list of transcoders to use for this application instance
Returns:
comma separated list of transcoders
setLiveStreamTranscoderList
public void setLiveStreamTranscoderList(String liveStreamTranscoderList)
Set comma separated list of transcoders to use for this application instance
Parameters:
liveStreamTranscoderList - comma separated list of transcoders
getLiveStreamTranscoderControl
public ILiveStreamTranscoderControl getLiveStreamTranscoderControl()
Get the Live Stream Transcoder Contoller. This class will get called each time a stream is to be transcoded using the
LiveStreamTranscoder mechanism.
Returns:
Live Stream Transcoder Contoller
setLiveStreamTranscoderControl
public void setLiveStreamTranscoderControl(ILiveStreamTranscoderControl
liveStreamTranscoderControl)
Set the Live Stream Transcoder Contoller. This class will get called each time a stream is to be transcoded using the
LiveStreamTranscoder mechanism.
Parameters:
liveStreamTranscoderControl - Live Stream Transcoder Contoller
getTranscoderApplicationContext
public LiveStreamTranscoderApplicationContext getTranscoderApplicationContext()
Returns:
live stream transcoder application context
getDvrProperties
public WMSProperties getDvrProperties()
Get the property collection of DVR settings that are specific to this application instance. These are defined in
Application/DVR/Properties tag in [Link]
Returns:
property collection of DVR settings
getDvrApplicationContext
public DvrApplicationContext getDvrApplicationContext()
Returns:
live stream dvr application context
getLiveStreamDvrRecorderControl
public ILiveStreamDvrRecorderControl getLiveStreamDvrRecorderControl()
Get the Live Stream DVR Recorder Controller. This class will get called each time a stream is to be DVR-ed.
Returns:
Live Stream DVR Controller
setLiveStreamDvrRecorderControl
public void setLiveStreamDvrRecorderControl(ILiveStreamDvrRecorderControl controller)
Parameters:
controller - Live Stream DVR Controller
getDvrRecorderList
public String getDvrRecorderList()
Get the comma separated list of Dvr Recorder names being used by this application (see conf/[Link])
Returns:
comma separated list of Dvr Recorder names
setDvrRecorderList
public void setDvrRecorderList(String recorderList)
Set the comma separated list of Dvr Recorder names being used by this application (see conf/[Link])
Parameters:
recorderList - comma separated list of Dvr Recorder names
addDvrRecorderListener
public void addDvrRecorderListener(ILiveStreamDvrRecorderActionNotify listener)
Parameters:
listener - Dvr Recorder listener
removeDvrRecorderListener
public void removeDvrRecorderListener(ILiveStreamDvrRecorderActionNotify listener)
Parameters:
listener - Dvr Recorder listener
notifyLiveStreamDvrRecorderCreate
public void notifyLiveStreamDvrRecorderCreate(ILiveStreamDvrRecorder dvr,
String streamName)
Parameters:
dvr - DVR Recorder listener
streamName - stream Name
notifyLiveStreamDvrRecorderInit
public void notifyLiveStreamDvrRecorderInit(ILiveStreamDvrRecorder dvr,
String streamName)
Parameters:
dvr - DVR Recorder listener * @param streamName stream Name
notifyLiveStreamDvrRecorderDestroy
public void notifyLiveStreamDvrRecorderDestroy(ILiveStreamDvrRecorder dvr)
Parameters:
dvr - DVR Recorder listener
addDvrStreamManagerListener
public void addDvrStreamManagerListener(IDvrStreamManagerActionNotify listener)
Parameters:
listener - Dvr Application Store Manager listener
removeDvrStreamManagerListener
public void removeDvrStreamManagerListener(IDvrStreamManagerActionNotify listener)
Parameters:
listener - Dvr Application Store Manager listener
notifyDvrStreamManagerCreate
public void notifyDvrStreamManagerCreate(IDvrStreamManager dvrStoreManager,
String streamName)
Notify listeners that Dvr Application Store Manager has been created.
Parameters:
dvrStoreManager - Dvr Application Store Manager
streamName
notifyDvrStreamManagerInit
public void notifyDvrStreamManagerInit(IDvrStreamManager dvrStoreManager)
Notify listeners that Dvr Application Store Manager has been initialized.
Parameters:
dvrStoreManager - Dvr Application Store Manager
notifyDvrStreamManagerDestroy
public void notifyDvrStreamManagerDestroy(IDvrStreamManager dvrManager)
Notify listeners that Dvr Application Store Manager has been destroyed.
Parameters:
dvrManager - Dvr Application Store Manager
getMediaReaderContentType
public int getMediaReaderContentType(String mediaType)
Get the content type of a media stream name prefix (see IMediaReader.CONTENTTYPE_*)
Parameters:
mediaType - mediaType (such as flv or smil)
Returns:
content type (see IMediaReader.CONTENTTYPE_*)
getMediaListProvider
public IMediaListProvider getMediaListProvider()
Get the current media list provider. The media list provider is used to resolve amlst:streamname requests to a media list
(equivelent to a SMIL file).
Returns:
media list provider
setMediaListProvider
public void setMediaListProvider(IMediaListProvider mediaListProvider)
Set the current media list provider. The media list provider is used to resolve amlst:streamname requests to a media list
(equivelent to a SMIL file).
Parameters:
mediaListProvider - media list provider
getMediacasterRTPRTSPRTPTransportMode
public int getMediacasterRTPRTSPRTPTransportMode()
Returns:
RTP MediaCaster RTSP/RTP transport mode
setMediacasterRTPRTSPRTPTransportMode
public void setMediacasterRTPRTSPRTPTransportMode(int
mediacasterRTPRTSPRTPTransportMode)
Parameters:
mediacasterRTPRTSPRTPTransportMode - RTP MediaCaster RTSP/RTP transport mode
getProtocolUsage
public boolean[] getProtocolUsage()
Returns:
protocols in use by this application instance (see IApplicationInstance.PROTCOLUSAGE_*)
getProtocolUsage
public void getProtocolUsage(boolean[] protocolsInUse)
isDebugAppTimeout
public boolean isDebugAppTimeout()
Returns:
true appTimeout processing will be logged
setDebugAppTimeout
public void setDebugAppTimeout(boolean debugAppTimeout)
Parameters:
debugAppTimeout - true appTimeout processing will be logged
addRTPListener
public void addRTPListener(IRTPSessionNotify rtpListener)
Parameters:
rtpListener - RTP listener
removeRTPListener
public void removeRTPListener(IRTPSessionNotify rtpListener)
Parameters:
rtpListener - RTP listener
notifyRTPSessionCreate
public void notifyRTPSessionCreate(RTPSession rtpSession)
Parameters:
rtpSession - rtp session
notifyRTPSessionDestroy
public void notifyRTPSessionDestroy(RTPSession rtpSession)
Parameters:
rtpSession - rtp session
addHTTPListener
public void addHTTPListener(IHTTPSessionNotify httpListener)
Parameters:
httpListener - http listener
removeHTTPListener
public void removeHTTPListener(IHTTPSessionNotify httpListener)
Parameters:
httpListener - http listener
notifyHTTPSessionCreate
public void notifyHTTPSessionCreate(IHTTPStreamerSession httpSession)
Parameters:
httpSession - HTTP session
notifyHTTPSessionDestroy
public void notifyHTTPSessionDestroy(IHTTPStreamerSession httpSession)
Parameters:
httpSession - HTTP session
[Link]
Interface IApplicationInstanceNotify
Method Summary
void onApplicationInstanceCreate(IApplicationInstance applicationInstance)
Triggered when applicationInstance created
Methods
onApplicationInstanceCreate
public void onApplicationInstanceCreate(IApplicationInstance applicationInstance)
Parameters:
applicationInstance - applicationInstance
onApplicationInstanceDestroy
public void onApplicationInstanceDestroy(IApplicationInstance applicationInstance)
Parameters:
applicationInstance - applicationInstance
[Link]
Interface IApplicationNotify
Method Summary
void onApplicationCreate(IApplication application)
Triggered when application created
Methods
onApplicationCreate
public void onApplicationCreate(IApplication application)
Parameters:
application - application
onApplicationDestroy
public void onApplicationDestroy(IApplication application)
Parameters:
application - application
[Link]
Class WMSProperties
[Link]
|
+-[Link]
|
+-[Link]
|
+-[Link]
All Implemented Interfaces:
[Link], [Link], Cloneable, [Link]
WMSProperties: generic properties container used by many class to store extended property information. Acts like a simple Map with
some simple utilities for performing type conversion.
Constructor Summary
public WMSProperties()
Method Summary
static void cloneProperties(WMSProperties from, WMSProperties to)
Copy all properties from "from" properties object to "to" properties object.
String[] getAllAsStrings()
Return all properties as String[].
void putAll([Link] m)
String toString()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
WMSProperties
public WMSProperties()
Methods
putAll
public void putAll([Link] m)
cloneProperties
public static void cloneProperties(WMSProperties from,
WMSProperties to)
Copy all properties from "from" properties object to "to" properties object.
Parameters:
from - source properties
to - destination properties
setProperty
public void setProperty(String name,
Object value)
Parameters:
name - property name
value - value
getProperty
public Object getProperty(String name)
Parameters:
name - property name
Returns:
value, null if does not exist
getPropertyStr
public String getPropertyStr(String name)
Parameters:
name - property name
Returns:
value as String, null if does not exist
getPropertyStr
public String getPropertyStr(String name,
String defaultVal)
Parameters:
name - property name
defaultVal - default value
Returns:
value as String, defaultVal if does not exist
getPropertyBoolean
public boolean getPropertyBoolean(String name,
boolean defaultVal)
Parameters:
Returns:
value as boolean, defaultVal if does not exist
getPropertyInt
public int getPropertyInt(String name,
int defaultVal)
Parameters:
name - property name
defaultVal - default value
Returns:
value as boolean, defaultVal if does not exist
getPropertyLong
public long getPropertyLong(String name,
long defaultVal)
Parameters:
name - property name
defaultVal - default value
Returns:
value as long, defaultVal if does not exist
getPropertyDouble
public double getPropertyDouble(String name,
double defaultVal)
Parameters:
name - property name
defaultVal - default value
Returns:
value as double, defaultVal if does not exist
getAllAsStrings
public String[] getAllAsStrings()
Returns:
all properties as String[]
toString
public String toString()
[Link]
Class AuthenticateUsernamePasswordProviderBase
[Link]
|
+-[Link]
All Implemented Interfaces:
IAuthenticateUsernamePasswordProvider
Base class for implementing HTTP and RTSP based custom authentication class.
Field Summary
protected client
protected rtpSession
protected vhost
Constructor Summary
public AuthenticateUsernamePasswordProviderBase()
Method Summary
IClient getClient()
Get client
RTPSession getRTPSession()
Get RTP Session
IVHost getVHost()
Get vhost
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
vhost
protected [Link] vhost
client
protected [Link] client
rtpSession
protected [Link] rtpSession
Constructors
AuthenticateUsernamePasswordProviderBase
public AuthenticateUsernamePasswordProviderBase()
Methods
getVHost
public IVHost getVHost()
Get vhost
Returns:
vhost
setVHost
public void setVHost(IVHost vhost)
Set vhost
Parameters:
vhost - vhost
getRTPSession
public RTPSession getRTPSession()
Returns:
RTP Session
setRTPSession
public void setRTPSession(RTPSession rtpSession)
Parameters:
rtpSession - RTP Session
getClient
public IClient getClient()
Get client
Returns:
client
setClient
public void setClient(IClient client)
Set client
Parameters:
client - client
[Link]
Interface IAuthenticate
Field Summary
public static final PASSWORDFILEFORMAT_CLEAR
Value: 1
Value: 0
Method Summary
void init(IApplicationInstance appInstance, AuthenticationItem
authenticationItem)
Initialize authentication class when instantiated as part of an application instance
Fields
PASSWORDFILEFORMAT_UNKNOWN
public static final int PASSWORDFILEFORMAT_UNKNOWN
Constant value: 0
PASSWORDFILEFORMAT_CLEAR
public static final int PASSWORDFILEFORMAT_CLEAR
Constant value: 1
Methods
init
public void init(IApplicationInstance appInstance,
AuthenticationItem authenticationItem)
Parameters:
appInstance - application instance
authenticationItem - authentication item
init
public void init(IVHost vhost,
AuthenticationItem authenticationItem)
Parameters:
vhost - vhost
authenticationItem - authentication item
[Link]
Interface IAuthenticateHTTPProvider
Method Summary
boolean authenticateHTTPProvider(IVHost vhost, IHTTPRequest req, IHTTPResponse
resp)
Called for each HTTP authentication
Methods
authenticateHTTPProvider
public boolean authenticateHTTPProvider(IVHost vhost,
IHTTPRequest req,
IHTTPResponse resp)
Parameters:
vhost - virtual host
req - HTTP request
resp - HTTP response
Returns:
true if authentication was successful
[Link]
Interface IAuthenticateRTSP
Method Summary
boolean authenticateRTSP(RTPSession rtspSession,
[Link] req,
[Link] resp)
Called for each RTSP authentication
Methods
authenticateRTSP
public boolean authenticateRTSP(RTPSession rtspSession,
[Link] req,
[Link] resp)
Parameters:
rtspSession - RTP session
req - RTSP request
resp - RTSP response
Returns:
true if authentication was successful
[Link]
Interface IAuthenticateSIP
Method Summary
boolean authenticateSIP(RTPSession rtspSession,
[Link] req,
[Link] resp)
Called for each RTSP authentication
Methods
authenticateSIP
public boolean authenticateSIP(RTPSession rtspSession,
[Link] req,
[Link] resp)
Parameters:
rtspSession - RTP session
req - RTSP request
resp - RTSP response
Returns:
true if authentication was successful
[Link]
Interface IAuthenticateUsernamePasswordProvider
All Known Implementing Classes:
AuthenticateUsernamePasswordProviderBase
Method Summary
IClient getClient()
Get client
RTPSession getRTPSession()
Get RTP session
IVHost getVHost()
Get vhost
Methods
userExists
public boolean userExists(String username)
Parameters:
username - username
Returns:
true if user exists
getPassword
public String getPassword(String username)
Parameters:
username - username
Returns:
password
getVHost
public IVHost getVHost()
Get vhost
Returns:
vhost
setVHost
public void setVHost(IVHost vhost)
Set vhost
Parameters:
vhost - vhost
getClient
public IClient getClient()
Get client
Returns:
client
setClient
public void setClient(IClient client)
Set client
Parameters:
client - client
getRTPSession
public RTPSession getRTPSession()
Returns:
RTP session
setRTPSession
public void setRTPSession(RTPSession rtpSession)
Parameters:
rtpSession - RTP session
[Link]
Class ConnectionCounter
[Link]
|
+-[Link]
|
+-[Link]
Constructor Summary
public ConnectionCounter()
Create empty ConnectionCounter
Method Summary
void acceptConnection(ConnectionHolder connectionHolder, byte[] license)
Accept a new connection.
long getCurrent()
Get total number of client currently conencted to this object.
long getLastConnectAcceptedStamp()
Get time (milliseconds) of the last conenction to this object.
String getLastConnectAcceptedStampString()
Get time (milliseconds) of the last conenction to this object as formatted string.
[Link] getLastConnectAcceptedTime()
Get time (milliseconds) of the last accepeted conenction to this object.
String getLastConnectAcceptedTimeString()
Get time (milliseconds) of the last accepeted conenction to this object as formatted string.
long getLastConnectRejectedStamp()
Get time (milliseconds) of the last rejected conenction to this object.
String getLastConnectRejectedStampString()
Get time (milliseconds) of the last rejected conenction to this object as formatted string.
[Link] getLastConnectRejectedTime()
Get date and time of last rejected connection to this object as Date object.
String getLastConnectRejectedTimeString()
Get date and time of last rejected connection to this object as formated string.
long getLastDisconnectStamp()
Get time (milliseconds) of the last disconnected conenction to this object.
String getLastDisconnectStampString()
Get time (milliseconds) of the last disconnected conenction to this object as formatted string.
[Link] getLastDisconnectTime()
Get date and time of last disconnected connection to this object as Date object.
String getLastDisconnectTimeString()
Get date and time of last disconnected connection to this object as Date object as formatted
string.
long getTotal()
Get total number of connection attempts to this object.
long getTotalAccepted()
Get total number of accepted connections to this object.
long getTotalRejected()
Get total number of rejected connections to this object.
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
ConnectionCounter
public ConnectionCounter()
Methods
addConnectionListener
public void addConnectionListener(IConnectionNotify connectionNotify)
Add a connection listener. Receives following events: onClientConnect, onClientDisconnect, onClientAccept and
onClientReject.
Parameters:
connectionNotify - connection listener
removeConnectionListener
public void removeConnectionListener(IConnectionNotify connectionNotify)
Parameters:
connectionNotify - connection listener
setConnectionValidator
public void setConnectionValidator(IConnectionValidator connectionValidator)
Parameters:
connectionValidator - connection validator
validateNewConnection
public boolean validateNewConnection(ConnectionHolder connectionHolder,
byte[] license)
NOTE: This is a private internal call. Server will not work properly if this method is not called properly using internal security
mechanism.
Parameters:
connectionHolder - connection holder
license - security data
Returns:
true if connection is accepted
acceptConnection
public void acceptConnection(ConnectionHolder connectionHolder,
byte[] license)
NOTE: This is a private internal call. Server will not work properly if this method is not called properly using internal security
mechanism.
Parameters:
connectionHolder - connection holder
license - security data
incrementAccept
public void incrementAccept(ConnectionHolder connectionHolder,
[Link] date,
long stamp,
byte[] license)
NOTE: This is a private internal call. Server will not work properly if this method is not called properly using internal security
mechanism.
Parameters:
connectionHolder - connection holder
date - date the connection occured
stamp - time stamp connection occured (milliseconds)
license - security data
rejectConnection
public void rejectConnection(ConnectionHolder connectionHolder,
int reason,
byte[] license)
Reject connection.
NOTE: This is a private internal call. Server will not work properly if this method is not called properly using internal security
mechanism.
Parameters:
connectionHolder - connection holder
reason - reason the connection was refused. See REJECTREASON_*
license - security data
incrementReject
public void incrementReject(ConnectionHolder connectionHolder,
int reason,
[Link] date,
long stamp,
byte[] license)
NOTE: This is a private internal call. Server will not work properly if this method is not called properly using internal security
mechanism.
Parameters:
connectionHolder - connection holder
reason - reason the connection was refused. See REJECTREASON_*
date - date the connection occured
stamp - time stamp connection occured (milliseconds)
license - security data
disconnect
public void disconnect(ConnectionHolder connectionHolder,
byte[] license)
Disconnect connection.
NOTE: This is a private internal call. Server will not work properly if this method is not called properly using internal security
mechanism.
Parameters:
connectionHolder - connection holder
license - security data
decrement
public void decrement(ConnectionHolder connectionHolder,
boolean isValid,
[Link] date,
long stamp,
byte[] license)
NOTE: This is a private internal call. Server will not work properly if this method is not called properly using internal security
mechanism.
Parameters:
connectionHolder - connection holder
isValid - is a valid connection
date - date the connection occured
stamp - time stamp connection occured (milliseconds)
license - security data
getCurrent
public long getCurrent()
Returns:
total number of client currently conencted to this object
getLastConnectAcceptedStamp
public long getLastConnectAcceptedStamp()
Returns:
time (milliseconds) of the last conenction to this object
getLastConnectAcceptedStampString
public String getLastConnectAcceptedStampString()
Get time (milliseconds) of the last conenction to this object as formatted string.
Returns:
time (milliseconds) of the last conenction to this object as formatted string
getLastConnectAcceptedTime
public [Link] getLastConnectAcceptedTime()
Returns:
time (milliseconds) of the last accepeted conenction to this object
getLastConnectAcceptedTimeString
public String getLastConnectAcceptedTimeString()
Get time (milliseconds) of the last accepeted conenction to this object as formatted string.
Returns:
time (milliseconds) of the last accepeted conenction to this object as formatted string
getLastConnectRejectedStamp
public long getLastConnectRejectedStamp()
Returns:
time (milliseconds) of the last rejected conenction to this object
getLastConnectRejectedStampString
public String getLastConnectRejectedStampString()
Get time (milliseconds) of the last rejected conenction to this object as formatted string.
Returns:
time (milliseconds) of the last rejected conenction to this object as formatted string
getLastConnectRejectedTime
public [Link] getLastConnectRejectedTime()
Get date and time of last rejected connection to this object as Date object.
Returns:
date and time of last reject connection to this object as Date object
getLastConnectRejectedTimeString
public String getLastConnectRejectedTimeString()
Get date and time of last rejected connection to this object as formated string.
Returns:
date and time of last reject connection to this object as formated string
getLastConnectRejectedByReasonStampString
public String getLastConnectRejectedByReasonStampString(int reason)
Get time (milliseconds) of the last rejected conenction by reason to this object as formatted string.
Parameters:
reason - reason, see REJECTREASON_*
Returns:
time (milliseconds) of the last rejected conenction by reason to this object as formatted string
getLastConnectRejectedByReasonStamp
public long getLastConnectRejectedByReasonStamp(int reason)
Get time (milliseconds) of the last rejected conenction by reason to this object.
Parameters:
reason - reason, see REJECTREASON_*
Returns:
time (milliseconds) of the last rejected conenction by reason to this object
getLastConnectRejectedByReasonTime
public [Link] getLastConnectRejectedByReasonTime(int reason)
Get date and time of last rejected connection by reason to this object as Date object.
Parameters:
reason - reason, see REJECTREASON_*
Returns:
date and time of last reject connection by reason to this object as Date object
getLastConnectRejectedByReasonTimeString
public String getLastConnectRejectedByReasonTimeString(int reason)
Get date and time of last rejected connection by reason to this object as formated string.
Parameters:
reason - reason, see REJECTREASON_*
Returns:
date and time of last rejected connection by reason to this object as formated string
getLastDisconnectStampString
public String getLastDisconnectStampString()
Get time (milliseconds) of the last disconnected conenction to this object as formatted string.
Returns:
time (milliseconds) of the last disconnected conenction to this object as formatted string
getLastDisconnectStamp
public long getLastDisconnectStamp()
Returns:
time (milliseconds) of the last disconnected conenction to this object
getLastDisconnectTime
public [Link] getLastDisconnectTime()
Get date and time of last disconnected connection to this object as Date object.
Returns:
date and time of last disconnected connection to this object as Date object
getLastDisconnectTimeString
public String getLastDisconnectTimeString()
Get date and time of last disconnected connection to this object as Date object as formatted string.
Returns:
date and time of last disconnected connection to this object as Date object as formatted string
getTotal
public long getTotal()
Returns:
total number of connection attempts to this object
getTotalAccepted
public long getTotalAccepted()
Returns:
total number of accepted connections to this object
getTotalRejected
public long getTotalRejected()
Returns:
total number of rejected connections to this object
[Link]
Interface IClient
Field Summary
public static final AUDIOSAMPLE_ACCESS_ALL
Value: *
Value:
Value: *
Value:
Value: *
Value:
Value: *
Value:
Method Summary
void acceptConnection()
Accept connection
void clearFastPlaySettings()
Force clear the fastPlay settings
void fcUnSubscribeAll()
UnSubscribe to all streams that this client is current subscribed to
IApplicationInstance getAppInstance()
Get parent applicationInstance.
IApplication getApplication()
Get parent application.
int getBufferTime()
Get default buffer time for newly created mediaStream objects
int getClientId()
Get client id.
long getConnectTime()
Get time in milliseconds the client connected to the server.
String getDateStarted()
Get date and time of client connection
ElapsedTimer getElapsedTime()
Get elapsed time client has been connected.
FastPlaySettings getFastPlaySettings()
Get the current fastPlay settings.
String getFlashVer()
Get client flash version (same as FMS getAgent())
int getIdleFrequency()
Get client idle frequency (milliseconds)
String getIp()
Client ip address
long getLastValidateTime()
Get last time (millisecond) the connection was validated with a ping
int getLiveRepeaterCapabilities()
Get the live repeater capabilities of this connection
String getLiveStreamPacketizerList()
Get the comma separated list of LiveStreamPacketizers names being used by this client (see
conf/[Link])
String getLiveStreamTranscoderList()
Get the comma separated list of LiveStreamTranscoders names being used by this client (see
conf/[Link])
int getMaximumPendingWriteBytes()
Get maximum number a bytes a client connection can have waiting to be sent before the
connection is terminated.
int getMaximumSetBufferTime()
Get maximum number of milliseconds allowed for the [Link](secs) call.
IOPerformanceCounter getMediaIOPerformanceCounter()
Get performance counter for media bytes transferred to this client.
int getObjectEncoding()
Get the object encoding level
String getPageUrl()
Get the pageUrl for this connection.
long getPingRoundTripTime()
Get turn around time (milliseconds) of last ping request
int getPingTimeout()
Get the ping timeout (milliseconds)
[Link] getPlayStreams()
Get a collection of all play streams.
WMSProperties getProperties()
Get client properties
int getProtocol()
Get connection protocol (1 = RTMP, 3 = RTMPT)
[Link] getPublishStreams()
Get a collection of publish streams.
String getQueryStr()
Get the query string part of the connection string.
String getReferrer()
Get the referrer data for this connection.
String getRepeaterOriginUrl()
Get the origin URL used by the Live Stream Repeater
ResponseFunctions getRespFunctions()
Get client responseFunctions object.
RTPStream getRTPStream()
If this client was created due to an RTP connection to the server return the underlying
RTPStream object
HostPort getServerHostPort()
Get the hostPort object for the connection that is servicing this client
String getSharedObjectReadAccess()
Get the shared object read access value.
String getSharedObjectWriteAccess()
Get the shared object write access value.
String getStreamAudioSampleAccess()
Get the audio sample access value.
String getStreamReadAccess()
Get the stream read access value.
String getStreamType()
Get default streamType
String getStreamVideoSampleAccess()
Get the video sample access value.
String getStreamWriteAccess()
Get the stream write access value.
String getTimeRunning()
Get elapsed time of connection
double getTimeRunningSeconds()
Get time running in seconds
IOPerformanceCounter getTotalIOPerformanceCounter()
Get performance counter for all bytes transferred to this client.
String getUri()
Get the full URI of the connection string
IVHost getVHost()
Get parent vHost
[Link] getWowzSession()
[Link]
ClientWriteListener getWriteListener()
Object that tracks write operations
boolean isAcceptConnection()
Is auto accept connection
boolean isConnected()
Is this client connected
boolean isEncrypted()
Is this connection encrypted (RTMPE or RTMPTE)
boolean isFlashMediaLiveEncoder()
Returns true if this connection is the Flash Media Live Encoder
boolean isFlashVersion10()
Returns true if the Flash version is equal or greater than 10.x.x.x
boolean isFlashVersion90115()
Returns true if the Flash version is equal or greater than 9.0.115.x
boolean isFlashVersionH264Capable()
Returns true if the connected client is capable of playing H.264 video (Flash player 9.0.45.x or
greater)
boolean isLiveRepeater()
Returns true if this connection is from the live stream repeater
boolean isObjectEncodingAMF0()
Is the object encoding for this client AMF0
boolean isObjectEncodingAMF3()
Is the object encoding for this client AMF3
boolean isSecure()
Is this connection protected by either SSL or encryption (RTMPE, RTMPTE, RTMPS)
boolean isSSL()
Is this connection SSL (RTMPS)
boolean isValidateFMLEConnections()
Returns true if validating FMLE connection (default is false)
void rejectConnection()
Reject connection ([Link] handler returns [Link] of
[Link])
void setThreadContext()
Set the thread logging context to this client
void shutdownClient()
Gracefully shutdown a client.
void touch()
Update the last touch time for client
Fields
VIDEOSAMPLE_ACCESS_ALL
public static final [Link] VIDEOSAMPLE_ACCESS_ALL
Constant value: *
VIDEOSAMPLE_ACCESS_NONE
public static final [Link] VIDEOSAMPLE_ACCESS_NONE
Constant value:
AUDIOSAMPLE_ACCESS_ALL
public static final [Link] AUDIOSAMPLE_ACCESS_ALL
Constant value: *
AUDIOSAMPLE_ACCESS_NONE
public static final [Link] AUDIOSAMPLE_ACCESS_NONE
Constant value:
READ_ACCESS_ALL
public static final [Link] READ_ACCESS_ALL
Constant value: *
READ_ACCESS_NONE
public static final [Link] READ_ACCESS_NONE
Constant value:
WRITE_ACCESS_ALL
public static final [Link] WRITE_ACCESS_ALL
Constant value: *
WRITE_ACCESS_NONE
public static final [Link] WRITE_ACCESS_NONE
Constant value:
Methods
getClientId
public int getClientId()
Returns:
client id
getFlashVer
public String getFlashVer()
Returns:
client flash version string
setFlashVer
public void setFlashVer(String flashVer)
Parameters:
flashVer - client flash version string
getTotalIOPerformanceCounter
public IOPerformanceCounter getTotalIOPerformanceCounter()
Get performance counter for all bytes transferred to this client. This includes function calls.
Returns:
performance counter
getMediaIOPerformanceCounter
public IOPerformanceCounter getMediaIOPerformanceCounter()
Get performance counter for media bytes transferred to this client. Only includes bytes to mediaStream objects
Returns:
performance counter
getAppInstance
public IApplicationInstance getAppInstance()
Returns:
parent applicationInstance
getApplication
public IApplication getApplication()
Returns:
application
getPlayStreams
public [Link] getPlayStreams()
Get a collection of all play streams. Play streams are streams that are created due to a call to play.
IClient client;
Returns:
collection of play streams
getPublishStreams
public [Link] getPublishStreams()
IClient client;
Returns:
collection of publish stream
shutdownClient
public void shutdownClient()
Gracefully shutdown a client. Only use this method to shutdown a client if you know the client is connected to Wowza Pro. If
the client may be disconnected from Wowza Pro, use [Link](true)
touch
public void touch()
isConnected
public boolean isConnected()
Returns:
is connected
getProperties
public WMSProperties getProperties()
Returns:
collection of client properties
getStreamType
public String getStreamType()
Returns:
streamType
setStreamType
public void setStreamType(String streamType)
Parameters:
streamType - streamType
isAcceptConnection
public boolean isAcceptConnection()
Returns:
auto accept connection
acceptConnection
public void acceptConnection()
Accept connection
acceptConnection
public void acceptConnection(String successStr)
Accept connection
Parameters:
successStr - application property value added to [Link] event object
acceptConnection
public void acceptConnection(AMFData successObj)
Accept connection
Parameters:
successObj - application property value added to [Link] event object
rejectConnection
public void rejectConnection()
rejectConnection
public void rejectConnection(String errorStr)
Parameters:
errorStr - error (returned in onStatus handler in [Link] parameter)
rejectConnection
public void rejectConnection(AMFData errorObj)
Parameters:
errorObj - error AMFData (returned in onStatus handler in [Link] parameter)
rejectConnection
public void rejectConnection(String description,
String errorStr)
Parameters:
description - description (returned in onStatus handler in [Link] parameter)
errorStr - error (returned in onStatus handler in [Link] parameter)
rejectConnection
public void rejectConnection(String description,
AMFData errorObj)
Parameters:
description - description (returned in onStatus handler in [Link] parameter)
errorObj - error AMFData (returned in onStatus handler in [Link] parameter)
redirectConnection
public void redirectConnection(String url)
Parameters:
url - url (returned in onStatus handler in [Link] parameter)
redirectConnection
public void redirectConnection(String url,
String description)
Parameters:
redirectConnection
public void redirectConnection(String url,
String description,
String errorStr)
Parameters:
url - url (returned in onStatus handler in [Link] parameter)
description - description (returned in onStatus handler in [Link] parameter)
errorStr - error (returned in onStatus handler in [Link] parameter)
redirectConnection
public void redirectConnection(String url,
String description,
AMFData errorObj)
Redirection connection ([Link] handler returns [Link] of [Link] and
[Link] of 302). Code must be added client side to capture the [Link] message, look for the
[Link] value of 302 and attempt a reconnect to the [Link] url. Client side example:
Parameters:
url - url (returned in onStatus handler in [Link] parameter)
description - description (returned in onStatus handler in [Link] parameter)
errorObj - error AMFData (returned in onStatus handler in [Link] parameter)
getVHost
public IVHost getVHost()
Returns:
vHost object
call
public void call(String handlerName,
IModuleCallResult resultObj,
Object[] params)
Call client method/handler. You can call any method/handler attached to NetConnection object. Such as
[Link]
IClient client;
Parameters:
handlerName - handler name
resultObj - if client method returns data this object will receive callback, null if don't care or no return on client
method/handler.
params - variable list of argument. Will be automatically wrapped in AMFData objects
call
public void call(String handlerName)
Parameters:
handlerName - handler name
ping
public int ping(IModulePingResult pingResult)
Parameters:
pingResult - ping result object. Will receive callback on result of ping or timeout. Can be null.
Returns:
ping id
getIp
public String getIp()
Client ip address
Returns:
client ip address
getFastPlaySettings
public FastPlaySettings getFastPlaySettings()
Get the current fastPlay settings. FastPlay settings when set from the client are immediatly cleared on the next call to
seek/unpause/play.
Returns:
fastPlay settings
setFastPlaySettings
public void setFastPlaySettings(FastPlaySettings fastPlaySettings)
Parameters:
fastPlaySettings - fastPlay settings
clearFastPlaySettings
public void clearFastPlaySettings()
getRespFunctions
public ResponseFunctions getRespFunctions()
Get client responseFunctions object. The responseFunctions object is the method by which events are sent to the client. This
code snippet shows how to send an onStatus event for a mediaStream (stream) to the client.
[Link](resp);
Returns:
responseFunctions object
getConnectTime
public long getConnectTime()
Get time in milliseconds the client connected to the server. To get the duration of time in milliseconds that the client has been
connected to the server us the following formula: ([Link]() - [Link]())
Returns:
duration connected (millseconds)
getPingRoundTripTime
public long getPingRoundTripTime()
Returns:
time (milliseconds)
getDateStarted
public String getDateStarted()
Returns:
date and time of connection
getTimeRunning
public String getTimeRunning()
Returns:
elapsed time of connection
getTimeRunningSeconds
public double getTimeRunningSeconds()
Returns:
time running in seconds
getStreamFile
public [Link] getStreamFile(String streamName)
Get File object for stream with given name. Assumes file extension is .flv.
Parameters:
streamName - stream name
Returns:
file
getStreamFile
public [Link] getStreamFile(String streamName,
String streamExt)
IClient client;
File file = [Link]("test", "flv");
WMSLogger log = [Link](null);
if (file != null)
{
if ([Link]())
[Link]("getStreamFile: "+ [Link]());
}
Parameters:
streamName - stream name
streamExt - stream extension
Returns:
file
getStreamFile
public [Link] getStreamFile(String streamName,
String streamExt,
boolean doCreateFolder)
Get File object for stream with given name and extension. If doCreateFolder is true, create folder necessary to make path exist.
For example [Link] would be getStreamFile("test", "flv");
Parameters:
streamName - stream name
streamExt - stream extension
doCreateFolder - create folders if needed
Returns:
file
getBufferTime
public int getBufferTime()
Returns:
default buffer time (millseconds)
setBufferTime
public void setBufferTime(int bufferTime)
Parameters:
bufferTime - bufer time (milliseconds)
getResponseAMFObj
public AMFObj getResponseAMFObj(int index)
Parameters:
index - channel index
Returns:
AMFObj
getRespAMFAudioObj
public AMFObj getRespAMFAudioObj(IMediaStream stream)
Parameters:
stream - mediaStream
Returns:
response channel AMFObj
getRespAMFVideoObj
public AMFObj getRespAMFVideoObj(IMediaStream stream)
Parameters:
stream - mediaStream
Returns:
response channel AMFObj
getRespAMFDataObj
public AMFObj getRespAMFDataObj(IMediaStream stream)
Parameters:
stream - mediaStream
Returns:
response channel AMFObj
getQueryStr
public String getQueryStr()
Get the query string part of the connection string. If the connection string where:
rtmp://localhost/app/appInst?data1=myData1&data2=myData2, then query string would be
data1=myData1&data2=myData2
Returns:
query string
getReferrer
public String getReferrer()
Get the referrer data for this connection. The referrer in Wowza Media Server terms is the full url to the Flash movie that
connected to the server. Checking referre upon connection is a great way to secure server connections and only allow your
Flash movies to connect to the server.
Returns:
referrer
getPageUrl
public String getPageUrl()
Returns:
pageUrl for this connection
getUri
public String getUri()
Returns:
URI of connection string
getProtocol
public int getProtocol()
Returns:
connection protocol (1 = RTMP, 3 = RTMPT)
getServerHostPort
public HostPort getServerHostPort()
Get the hostPort object for the connection that is servicing this client
Returns:
vHost hostPort servicing request
isSecure
public boolean isSecure()
Returns:
is connection protected by either SSL or encryption (RTMPE, RTMPTE, RTMPS)
isSSL
public boolean isSSL()
Returns:
is connection (RTMPS)
isEncrypted
public boolean isEncrypted()
Returns:
is connection encrypted (RTMPE or RTMPTE)
getIdleFrequency
public int getIdleFrequency()
Returns:
client idle frequency (milliseconds)
setIdleFrequency
public void setIdleFrequency(int idleFrequency)
Parameters:
idleFrequency - client idle frequency (milliseconds)
getSharedObjectReadAccess
public String getSharedObjectReadAccess()
Get the shared object read access value. see setSharedObjectReadAccess for more information.
Returns:
shared object read access value
setSharedObjectReadAccess
public void setSharedObjectReadAccess(String sharedObjectReadAccess)
Set the shared object read access value. This list is a semi-colon delimeted list of shared objects that this client has access to. By
default the value is set to IClient.READ_ACCESS_ALL which indicates this client can read all shared objects. If you want to
disable read access to all shared objects set this value to IClient.READ_ACCESS_NONE. If this value is set to anything other
than IClient.READ_ACCESS_ALL or IClient.READ_ACCESS_NONE then each item in the semi-color delimited list is
compared against incoming shared object read requests. If any item in the list completely matches the shared object name or the
start of the shared object name, then access is allowed. For example, if the sharedObjectReadAccess list is set to
"testa/testb;testc" then the following requests would be granted the following access:
Parameters:
sharedObjectReadAccess - shared object read access value
getSharedObjectWriteAccess
public String getSharedObjectWriteAccess()
Get the shared object write access value. see setSharedObjectWriteAccess for more information.
Returns:
shared object write access value
setSharedObjectWriteAccess
public void setSharedObjectWriteAccess(String sharedObjectWriteAccess)
Parameters:
sharedObjectWriteAccess
getStreamVideoSampleAccess
public String getStreamVideoSampleAccess()
Get the video sample access value. see setVideoStreamAccess for more information.
Returns:
video sample access
setStreamVideoSampleAccess
public void setStreamVideoSampleAccess(String videoSampleAccess)
Set the stream video sample access value. This list is a semi-colon delimeted list of stream names that this client has access to.
By default the value is set to IClient.VIDEOSTREAM_ACCESS_NONE which indicates this client can access no stream data
client side. If you want to enable access to all stream names set this value to IClient.VIDEOSTREAM_ACCESS_ALL. If this
value is set to anything other than IClient.VIDEOSTREAM_ACCESS_ALL or IClient.VIDEOSTREAM_ACCESS_NONE
then each item in the semi-color delimited list is compared against incoming stream play requests. If any item in the list
completely matches the stream name or the start of the stream name, then access is allowed. For example, if the
streamVideoSampleAccess list is set to "testa/testb;testc" then the following play requests would be granted the following
access:
Parameters:
videoSampleAccess
getStreamAudioSampleAccess
public String getStreamAudioSampleAccess()
Get the audio sample access value. see setVideoStreamAccess for more information.
Returns:
setStreamAudioSampleAccess
public void setStreamAudioSampleAccess(String audioSampleAccess)
Set the stream audio sample access value. This list is a semi-colon delimeted list of stream names that this client has access to.
By default the value is set to IClient.AUDIOSTREAM_ACCESS_NONE which indicates this client can access no stream data
client side. If you want to enable access to all stream names set this value to IClient.AUDIOSTREAM_ACCESS_ALL. If this
value is set to anything other than IClient.AUDIOSTREAM_ACCESS_ALL or IClient.AUDIOSTREAM_ACCESS_NONE
then each item in the semi-color delimited list is compared against incoming stream play requests. If any item in the list
completely matches the stream name or the start of the stream name, then access is allowed. For example, if the
streamAudioSampleAccess list is set to "testa/testb;testc" then the following play requests would be granted the following
access:
Parameters:
audioSampleAccess
getStreamReadAccess
public String getStreamReadAccess()
Get the stream read access value. see setStreamReadAccess for more information.
Returns:
stream read access value
setStreamReadAccess
public void setStreamReadAccess(String streamReadAccess)
Set the stream object read access value. This list is a semi-colon delimeted list of stream names that this client has access to. By
default the value is set to IClient.READ_ACCESS_ALL which indicates this client can play all streams. If you want to disable
read access to all stream names set this value to IClient.READ_ACCESS_NONE. If this value is set to anything other than
IClient.READ_ACCESS_ALL or IClient.READ_ACCESS_NONE then each item in the semi-color delimited list is compared
against incoming stream play requests. If any item in the list completely matches the stream name or the start of the stream
name, then access is allowed. For example, if the streamReadAccess list is set to "testa/testb;testc" then the following play
requests would be granted the following access:
Parameters:
streamReadAccess - shared object read access value
getStreamWriteAccess
public String getStreamWriteAccess()
Get the stream write access value. see setStreamWriteAccess for more information.
Returns:
stream write access value
setStreamWriteAccess
public void setStreamWriteAccess(String streamWriteAccess)
Set the stream object write access value. This list is a semi-colon delimeted list of stream names that this client has access to. By
default the value is set to IClient.WRITE_ACCESS_ALL which indicates this client can play all streams. If you want to disable
write access to all stream names set this value to IClient.WRITE_ACCESS_NONE. If this value is set to anything other than
IClient.WRITE_ACCESS_ALL or IClient.WRITE_ACCESS_NONE then each item in the semi-color delimited list is
compared against incoming stream play requests. If any item in the list completely matches the stream name or the start of the
stream name, then access is allowed. For example, if the streamWriteAccess list is set to "testa/testb;testc" then the following
play requests would be granted the following access:
Parameters:
streamWriteAccess - shared object read access value
getWriteListener
public ClientWriteListener getWriteListener()
Returns:
Object that tracks write operations
addAcceptConnectionAttribute
public void addAcceptConnectionAttribute(String key,
AMFDataObj item)
Add and attribute to the resultObj that gets passed back to the client on successful connection
Parameters:
key - key
item - item to add
addAcceptConnectionAttribute
public void addAcceptConnectionAttribute(String key,
String item)
Add and attribute to the resultObj that gets passed back to the client on successful connection
Parameters:
key - key
item - item to add
getRepeaterOriginUrl
public String getRepeaterOriginUrl()
Returns:
URL used by the Live Stream Repeater
setRepeaterOriginUrl
public void setRepeaterOriginUrl(String repeaterOriginUrl)
Parameters:
repeaterOriginUrl - URL used by the Live Stream Repeater
getLastValidateTime
public long getLastValidateTime()
Get last time (millisecond) the connection was validated with a ping
Returns:
last time (millisecond) the connection was validated with a ping
setLastValidateTime
public void setLastValidateTime(long lastValidateTime)
Set the last time (milliseconds) the connection was validated with ping
Parameters:
lastValidateTime - last time (milliseconds) the connection was validated with ping
getPingTimeout
public int getPingTimeout()
Returns:
ping timeout (milliseconds)
isLiveRepeater
public boolean isLiveRepeater()
Returns:
true if this connection is from the live stream repeater
isFlashVersionH264Capable
public boolean isFlashVersionH264Capable()
Returns true if the connected client is capable of playing H.264 video (Flash player 9.0.45.x or greater)
Returns:
returns true if the connected client is capable of playing H.264 video (Flash player 9.0.45.x or greater)
isFlashVersion90115
public boolean isFlashVersion90115()
Returns:
returns true if the Flash version is equal or greater than 9.0.115.x
isFlashVersion10
public boolean isFlashVersion10()
Returns:
returns true if the Flash version is equal or greater than 10.x.x.x
isFlashMediaLiveEncoder
public boolean isFlashMediaLiveEncoder()
Returns:
true if this connection is the Flash Media Live Encoder
testFlashVersion
public int testFlashVersion(int[] version)
Test to see if the connected client flash version is equal to or greater than a given value. Example: int isGood =
testFlashVersion( { 9, 0, 5, 12} );
Parameters:
version - array of version values
Returns:
1 if greater, 0 if equal, -1 if less then
isObjectEncodingAMF3
public boolean isObjectEncodingAMF3()
Returns:
true of the object encoding for this client is AMF3
isObjectEncodingAMF0
public boolean isObjectEncodingAMF0()
Returns:
true of the object encoding for this client is AMF0
setObjectEncoding
public void setObjectEncoding(int objectEncoding)
Parameters:
objectEncoding - object encoding level
getObjectEncoding
public int getObjectEncoding()
Returns:
object encoding level
setAcceptConnectionObj
public void setAcceptConnectionObj(AMFData acceptConnectionObj)
Call this method from onConnect to add an "application" property to the info object that is passed back to the Flash client in
the onStatus handler.
Parameters:
acceptConnectionObj - connection object
setAcceptConnectionDescription
public void setAcceptConnectionDescription(String description)
Call this method from onConnect to set the [Link] property returned in NetConnection onStatus handler
Parameters:
description - description
setAcceptConnectionExObj
public void setAcceptConnectionExObj(AMFDataObj acceptConnectionExObj)
Call this method from onConnect to set the [Link] property returned in NetConnection onStatus handler
Parameters:
acceptConnectionExObj - exObj AMFData item return in [Link] propert of NetConnection onStatus handler
getRTPStream
public RTPStream getRTPStream()
If this client was created due to an RTP connection to the server return the underlying RTPStream object
Returns:
underlying RTPStream object
setAcceptConnection
public void setAcceptConnection(boolean acceptConnection)
Parameters:
acceptConnection - default for accept connection
setShutdownClient
public void setShutdownClient(boolean shutdownClient)
Parameters:
shutdownClient - set to true to gracefully and forecefully shutdown a client
reparentClient
public void reparentClient(IVHost vhost)
Move a client object to a new vhost. This can only be done right after the handshake process has completed. See
[Link].
Parameters:
vhost - new vhost
getMaximumSetBufferTime
public int getMaximumSetBufferTime()
Get maximum number of milliseconds allowed for the [Link](secs) call. If set to zero this feature is turned
off.
Returns:
maximum number of milliseconds allowed for the [Link](secs) call
getMaximumPendingWriteBytes
public int getMaximumPendingWriteBytes()
Get maximum number a bytes a client connection can have waiting to be sent before the connection is terminated. If set to
zero this feature is turned off.
Returns:
maximum number a bytes a client connection can have waiting to be sent before the connection is terminated
getLiveStreamPacketizerList
public String getLiveStreamPacketizerList()
Get the comma separated list of LiveStreamPacketizers names being used by this client (see conf/[Link])
Returns:
comma separated list of LiveStreamPacketizers names
setLiveStreamPacketizerList
public void setLiveStreamPacketizerList(String liveStreamPacketizerList)
Set the comma separated list of LiveStreamPacketizers names being used by this client (see conf/[Link])
Parameters:
liveStreamPacketizerList - comma separated list of LiveStreamPacketizers names
getLiveStreamTranscoderList
public String getLiveStreamTranscoderList()
Get the comma separated list of LiveStreamTranscoders names being used by this client (see conf/[Link])
Returns:
comma separated list of LiveStreamTranscoders names
setLiveStreamTranscoderList
public void setLiveStreamTranscoderList(String liveStreamTranscoderList)
Set the comma separated list of LiveStreamTranscoders names being used by this client (see conf/[Link])
Parameters:
liveStreamTranscoderList - comma separated list of LiveStreamTranscoders names
getElapsedTime
public ElapsedTimer getElapsedTime()
Returns:
elapsed time client has been connected.
getLiveRepeaterCapabilities
public int getLiveRepeaterCapabilities()
Returns:
live repeater capabilities of this connection
setLiveRepeaterCapabilities
public void setLiveRepeaterCapabilities(int liveRepeaterCapabilities)
Parameters:
liveRepeaterCapabilities - live repeater capabilities of this connection
fcSubscribe
public void fcSubscribe(String streamName)
Subscribe to a live stream (for live stream repeater to start start from edge to origin)
Parameters:
streamName - stream name
fcSubscribe
public void fcSubscribe(String streamName,
String mediaCasterType)
Parameters:
streamName - stream name
mediaCasterType - media caster type name
fcUnSubscribeAll
public void fcUnSubscribeAll()
fcUnSubscribe
public void fcUnSubscribe(String streamName)
Parameters:
streamName - stream name
isValidateFMLEConnections
public boolean isValidateFMLEConnections()
Returns:
true if validating FMLE connection
setValidateFMLEConnections
public void setValidateFMLEConnections(boolean validateFMLEConnections)
Parameters:
validateFMLEConnections - true if validating FMLE connection
setThreadContext
public void setThreadContext()
getWowzSession
public [Link] getWowzSession()
setWowzSession
public void setWowzSession([Link] wowzSession)
setSendCloseOnRejectConnection
public void setSendCloseOnRejectConnection(boolean sendCloseOnRejectConnection)
[Link]
Interface IClientNotify
Method Summary
void onClientAccept(IClient client)
Triggered when client connection accepted
Methods
onClientConnect
public void onClientConnect(IClient client)
Parameters:
client - client
onClientDisconnect
public void onClientDisconnect(IClient client)
Parameters:
client - client
onClientAccept
public void onClientAccept(IClient client)
Parameters:
client - client
onClientReject
public void onClientReject(IClient client)
Parameters:
client - client
[Link]
Interface IConnectionNotify
Method Summary
void onAcceptConnection(ConnectionCounter connectionCounter,
ConnectionHolder connectionHolder, [Link] date, long stamp)
Triggered when client connection accepted
Methods
onAcceptConnection
public void onAcceptConnection(ConnectionCounter connectionCounter,
ConnectionHolder connectionHolder,
[Link] date,
long stamp)
Parameters:
connectionCounter
connectionHolder
date
stamp
onRejectConnection
public void onRejectConnection(ConnectionCounter connectionCounter,
ConnectionHolder connectionHolder,
int reason,
[Link] date,
long stamp)
Parameters:
connectionCounter
connectionHolder
reason
onDisconnect
public void onDisconnect(ConnectionCounter connectionCounter,
ConnectionHolder connectionHolder,
boolean isValid,
[Link] date,
long stamp)
Parameters:
connectionCounter
connectionHolder
isValid
date
stamp
[Link].cea608
Class ClosedCaptionCEA608Utils
[Link]
|
+-[Link].cea608.CEA608Constants
|
+-[Link].cea608.ClosedCaptionCEA608Utils
|
+-[Link].cea608.ClosedCaptionCEA608Utils
CEA608_EXTENDED_FR_SP_MAP, CEA608_EXTENDED_NA_MAP,
CEA608_EXTENDED_PORT_GERMAN_DANISH_MAP, CEA608_MUSICAL_NOTE, CEA608_SOLID_BLOCK, CHANNEL1,
CHANNEL2, COL_0, COL_12, COL_16, COL_20, COL_24, COL_28, COL_4, COL_5, COL0_BLUE, COL0_CYAN,
COL0_GREEN, COL0_HIBYTE, COL0_LOWBYTE, COL0_MAGENTA, COL0_RED, COL0_WHITE, COL0_YELLOW,
COLN_LOWBYTE, CONTROLCODES_AOF, CONTROLCODES_AON, CONTROLCODES_BAO, CONTROLCODES_BAS,
CONTROLCODES_BBO, CONTROLCODES_BBS, CONTROLCODES_BCO, CONTROLCODES_BCS, CONTROLCODES_BGO,
CONTROLCODES_BGS, CONTROLCODES_BMO, CONTROLCODES_BMS, CONTROLCODES_BRO, CONTROLCODES_BRS,
CONTROLCODES_BS, CONTROLCODES_BT, CONTROLCODES_BWO, CONTROLCODES_BWS, CONTROLCODES_BYO,
CONTROLCODES_BYS, CONTROLCODES_CR, CONTROLCODES_DER, CONTROLCODES_EDM, CONTROLCODES_ENM,
CONTROLCODES_EOC, CONTROLCODES_FA, CONTROLCODES_FAU, CONTROLCODES_FON, CONTROLCODES_RCL,
CONTROLCODES_RDC, CONTROLCODES_RTD, CONTROLCODES_RU2, CONTROLCODES_RU3, CONTROLCODES_RU4,
CONTROLCODES_TO1, CONTROLCODES_TO2, CONTROLCODES_TO3, CONTROLCODES_TR, COUNT_COLS,
COUNT_ROWS, DONOTHING_BYTE, DONOTHING_SHORT, FORMAT_COLOR, FORMAT_FLASH, FORMAT_ITALICS,
FORMAT_ITALICS_UNDERLINE, LANG_ASCII, LANG_ASCII_DBL, LANG_GB231280, LANG_KSC56011987,
LANG_PRIV1, LANG_PRIV2, LANG_REG1, MAX_CCCOUNT, ODDPARITY, SEI_PAYLOADTYPE, SEI_STARTCODE,
SEI_USERDATATYPECODE, UTF8_BRITISH_POUND, UTF8_BULLET, UTF8_CENTS,
UTF8_CLOSING_DOUBLE_QUOTE, UTF8_CLOSING_GUILLEMETS, UTF8_CONNECTING_VERTICAL_BAR,
UTF8_COPYRIGHT, UTF8_CURRENCY, UTF8_DASH, UTF8_DEGREE, UTF8_DOUBLEQUOTE, UTF8_EM_DASH,
UTF8_EXCLAMATION, UTF8_GREATERTHAN, UTF8_INVERTED_EXCLAMATION, UTF8_LEFT_SINGLE_QUOTATION,
UTF8_LEFTPAREN, UTF8_LESSTHAN, UTF8_LOWER_A, UTF8_LOWER_A_WITH_CIRCUMFLEX,
UTF8_LOWER_A_WITH_DIAERESIS, UTF8_LOWER_A_WITH_GRAVE, UTF8_LOWER_A_WITH_RING,
UTF8_LOWER_A_WITH_TILDE, UTF8_LOWER_B, UTF8_LOWER_C, UTF8_LOWER_D, UTF8_LOWER_E,
UTF8_LOWER_E_WITH_CIRCUMFLEX, UTF8_LOWER_E_WITH_DIAERESIS, UTF8_LOWER_E_WITH_GRAVE,
UTF8_LOWER_F, UTF8_LOWER_G, UTF8_LOWER_H, UTF8_LOWER_I, UTF8_LOWER_I_WITH_CIRCUMFLEX,
UTF8_LOWER_I_WITH_DIAERESIS, UTF8_LOWER_I_WITH_GRAVE, UTF8_LOWER_J, UTF8_LOWER_K,
UTF8_LOWER_L, UTF8_LOWER_M, UTF8_LOWER_N, UTF8_LOWER_O, UTF8_LOWER_O_WITH_CIRCUMFLEX,
UTF8_LOWER_O_WITH_DIAERESIS, UTF8_LOWER_O_WITH_GRAVE, UTF8_LOWER_O_WITH_STROKE,
UTF8_LOWER_O_WITH_TILDE, UTF8_LOWER_P, UTF8_LOWER_Q, UTF8_LOWER_R, UTF8_LOWER_S,
UTF8_LOWER_T, UTF8_LOWER_U, UTF8_LOWER_U_WITH_CIRCUMFLEX, UTF8_LOWER_U_WITH_DIAERESIS,
UTF8_LOWER_U_WITH_GRAVE, UTF8_LOWER_V, UTF8_LOWER_W, UTF8_LOWER_X, UTF8_LOWER_Y,
UTF8_LOWER_Z, UTF8_MINUSHYPHEN, UTF8_MUSICAL_NOTE, UTF8_NBSP, UTF8_NOTMATCH, UTF8_ONE_HALF,
UTF8_OPENING_DOUBLE_QUOTE, UTF8_OPENING_GUILLEMETS, UTF8_PERIOD, UTF8_PIPE, UTF8_QUESTION,
UTF8_REGISTERED_MARK, UTF8_REVERSE_QUERY, UTF8_RIGHTPAREN, UTF8_SERVICE_MARK,
UTF8_SINGLEQUOTE, UTF8_SPACE, UTF8_TRADEMARK, UTF8_UNDERSCORE, UTF8_UPPER_A,
UTF8_UPPER_A_WITH_ACUTE, UTF8_UPPER_A_WITH_CURCUMFLEX, UTF8_UPPER_A_WITH_DIAERESIS,
UTF8_UPPER_A_WITH_GRAVE, UTF8_UPPER_A_WITH_RING, UTF8_UPPER_A_WITH_TILDE, UTF8_UPPER_B,
UTF8_UPPER_C, UTF8_UPPER_C_WITH_CEDILLA, UTF8_UPPER_D, UTF8_UPPER_E,
UTF8_UPPER_E_WITH_ACUTE, UTF8_UPPER_E_WITH_CIRCUMFLEX, UTF8_UPPER_E_WITH_DIAERESIS,
UTF8_UPPER_E_WITH_GRAVE, UTF8_UPPER_F, UTF8_UPPER_G, UTF8_UPPER_H, UTF8_UPPER_I,
UTF8_UPPER_I_WITH_CIRCUMFLEX, UTF8_UPPER_I_WITH_DIAERESIS, UTF8_UPPER_I_WITH_GRAVE,
UTF8_UPPER_I_WITH_TILDE, UTF8_UPPER_J, UTF8_UPPER_K, UTF8_UPPER_L, UTF8_UPPER_M,
UTF8_UPPER_N, UTF8_UPPER_O, UTF8_UPPER_O_WITH_ACUTE, UTF8_UPPER_O_WITH_CIRCUMFLEX,
UTF8_UPPER_O_WITH_DIAERESIS, UTF8_UPPER_O_WITH_GRAVE, UTF8_UPPER_O_WITH_STROKE,
UTF8_UPPER_O_WITH_TILDE, UTF8_UPPER_P, UTF8_UPPER_Q, UTF8_UPPER_R, UTF8_UPPER_S,
UTF8_UPPER_T, UTF8_UPPER_U, UTF8_UPPER_U_WITH_ACUTE, UTF8_UPPER_U_WITH_CIRCUMFLEX,
UTF8_UPPER_U_WITH_DIAERESIS, UTF8_UPPER_U_WITH_GRAVE, UTF8_UPPER_V, UTF8_UPPER_W,
UTF8_UPPER_X, UTF8_UPPER_Y, UTF8_UPPER_Z, UTF8_YEN, UTF8MAP, UTF8MAP_INDEX_OFFSET
Constructor Summary
public ClosedCaptionCEA608Utils()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
ClosedCaptionCEA608Utils
public ClosedCaptionCEA608Utils()
[Link]
Class DefaultDvrStreamVersionHandler
[Link]
|
+-[Link]
All Implemented Interfaces:
IDvrStreamVersionHandler
Constructor Summary
public DefaultDvrStreamVersionHandler()
Method Summary
IDvrStreamStore determineExistingStoreForPlaying(IDvrStreamManager dvrMgr, String
baseStreamName)
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
determineExistingStoreForPlaying, determineExistingStoreForRecording,
getArchiveStrategy, handleArchivedStream, shouldDeleteArchivedStream,
shouldLoadArchivedStream
Constructors
DefaultDvrStreamVersionHandler
public DefaultDvrStreamVersionHandler()
Methods
getArchiveStrategy
public String getArchiveStrategy(IDvrStreamManager dvrMgr,
String baseStreamName)
determineExistingStoreForRecording
public IDvrStreamStore determineExistingStoreForRecording(IDvrStreamManager dvrMgr,
String baseStreamName)
determineExistingStoreForPlaying
public IDvrStreamStore determineExistingStoreForPlaying(IDvrStreamManager dvrMgr,
String baseStreamName)
handleArchivedStream
public boolean handleArchivedStream(IDvrStreamManager dvrMgr,
String baseStreamName,
String vStreamName,
[Link] versions,
DvrManifestHolder manifestHolder)
shouldLoadArchivedStream
public boolean shouldLoadArchivedStream(IDvrStreamManager dvrMgr,
String baseStreamName,
String vStreamName,
[Link] versions,
DvrManifestHolder manifest)
shouldDeleteArchivedStream
public boolean shouldDeleteArchivedStream(IDvrStreamManager dvrMgr,
IDvrStreamStore store)
[Link]
Class DvrManifestChunkEntry
[Link]
|
+-[Link]
|
+-[Link]
Field Summary
protected artifact
protected encryptions
Constructor Summary
public DvrManifestChunkEntry(int type, int index, long dvrStart, long dvrStop,
long packetTime, long utcTime, DvrChunkArtifact artifact)
Constructor
Method Summary
String getArtifactsTextRepresentation()
DvrChunkArtifact getDvrArtifact()
Get DVR artifact reference.
DvrEncryptionInfoHold getEncryptions()
er
Get associated encryptions.
String getEncryptionsTextRepresentation()
String getManifestRepresentation()
String toString()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
artifact
protected [Link] artifact
encryptions
protected [Link] encryptions
Constructors
DvrManifestChunkEntry
public DvrManifestChunkEntry(int type,
int index,
long dvrStart,
long dvrStop,
long packetTime,
long utcTime,
DvrChunkArtifact artifact)
Constructor
Parameters:
type - type
index - manifest index
dvrStart - start time (ms in DVR time scale)
dvrStop - stop time (ms in DVR time scale)
utcTime
packetTime
artifact - reference to the chunk artifact
DvrManifestChunkEntry
public DvrManifestChunkEntry(int type,
int index,
long dvrStart,
long dvrStop,
long packetTime,
long utcTime,
DvrChunkArtifact artifact,
DvrEncryptionInfoHolder encryptions)
Constructor
Parameters:
type - type
index - manifest index
dvrStart - start time (ms in DVR time scale)
dvrStop - stop time (ms in DVR time scale)
utcTime
packetTime
artifact - reference to the chunk artifact
encryptions - associated encryptions
Methods
getDvrArtifact
public DvrChunkArtifact getDvrArtifact()
Returns:
DVR artifact reference.
setEncryptions
public void setEncryptions(DvrEncryptionInfoHolder encryptions)
Parameters:
encryptions - encryptions
getEncryptions
public DvrEncryptionInfoHolder getEncryptions()
Returns:
encryptions
serialize
public void serialize([Link] out)
getManifestRepresentation
public String getManifestRepresentation()
getEncryptionsTextRepresentation
protected String getEncryptionsTextRepresentation()
getArtifactsTextRepresentation
protected String getArtifactsTextRepresentation()
toString
public String toString()
[Link]
Class DvrManifestCodecEntry
[Link]
|
+-[Link]
|
+-[Link]
Constructor Summary
public DvrManifestCodecEntry(int index, long dvrStart, long packetTime, long
utcTime, [Link] audioCodec,
[Link] videoCodec)
Constructor
Method Summary
[Link].m getAudioCodec()
[Link]
dio Get audio codec information
String getManifestRepresentation()
[Link].m getVideoCodec()
[Link]
deo Get video codec information
String toString()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
DvrManifestCodecEntry
public DvrManifestCodecEntry(int index,
long dvrStart,
long packetTime,
long utcTime,
[Link] audioCodec,
[Link] videoCodec)
Constructor
Parameters:
index - manifest index
dvrStart - start time (ms in DVR time scale)
audioCodec - audio codec info
videoCodec - video codec info
Methods
getVideoCodec
public [Link] getVideoCodec()
Returns:
video codec information
getAudioCodec
public [Link] getAudioCodec()
Returns:
audio codec information
serialize
public void serialize([Link] out)
getManifestRepresentation
public String getManifestRepresentation()
toString
public String toString()
[Link]
Class DvrManifestEntry
[Link]
|
+-[Link]
Direct Known Subclasses:
DvrManifestTimeMapEntry, DvrManifestOnMetadataEntry, DvrManifestCodecEntry, DvrManifestChunkEntry
Field Summary
protected dvrStart
protected dvrStop
protected index
Value: artifact
Value: aCodec
Value: chunkIndex
Value: dvrTime
Value: enc
Value: index
Value: metadata
Value: name
Value: packetTime
Value: size
Value: start
Value: stop
Value: type
Value: utcTime
Value: vCodec
protected packetTime
protected type
protected utcTime
Constructor Summary
public DvrManifestEntry(int type, int index, long dvrStart, long dvrStop, long
packetTime, long utcTime)
Constructor Valid types include: IVHost.CONTENTTYPE_AUDIO,
IVHost.CONTENTTYPE_VIDEO, IVHost.CONTENTTYPE_DATA,
IDvrManifest.ON_METADATA_TYPE, IDvrManifest.CODEC_TYPE, or
IDvrManifest.TIME_MAP_TYPE
Method Summary
String encodeBytes(byte[] bytes)
Encode string of bytes as Base64.
String getCommonInitialTextRepString()
long getDuration()
Get duration
int getIndex()
Get manifest index.
long getPacketStartTime()
Get chunk start timecode in packetTime units.
long getStartTimecode()
Get start timecode.
long getStopTimecode()
Get stop timecode.
int getType()
Get type of manifest record.
long getUtcStartTime()
Get chunk start timecode in UTC units.
byte[] serialize()
Serialize manifest record.
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
MANIFESTFILE_KEY_INDEX
public static final [Link] MANIFESTFILE_KEY_INDEX
MANIFESTFILE_KEY_TYPE
public static final [Link] MANIFESTFILE_KEY_TYPE
MANIFESTFILE_KEY_START
public static final [Link] MANIFESTFILE_KEY_START
MANIFESTFILE_KEY_STOP
public static final [Link] MANIFESTFILE_KEY_STOP
MANIFESTFILE_KEY_SIZE
public static final [Link] MANIFESTFILE_KEY_SIZE
MANIFESTFILE_KEY_ARTIFACT
public static final [Link] MANIFESTFILE_KEY_ARTIFACT
MANIFESTFILE_KEY_DVRTIME
public static final [Link] MANIFESTFILE_KEY_DVRTIME
MANIFESTFILE_KEY_CHUNKINDEX
public static final [Link] MANIFESTFILE_KEY_CHUNKINDEX
MANIFESTFILE_KEY_PACKETTIME
public static final [Link] MANIFESTFILE_KEY_PACKETTIME
MANIFESTFILE_KEY_UTCTIME
public static final [Link] MANIFESTFILE_KEY_UTCTIME
MANIFESTFILE_KEY_NAME
public static final [Link] MANIFESTFILE_KEY_NAME
MANIFESTFILE_KEY_AUDIO_CODEC
public static final [Link] MANIFESTFILE_KEY_AUDIO_CODEC
MANIFESTFILE_KEY_VIDEO_CODEC
public static final [Link] MANIFESTFILE_KEY_VIDEO_CODEC
MANIFESTFILE_KEY_ENCRYPTIONS
public static final [Link] MANIFESTFILE_KEY_ENCRYPTIONS
MANIFESTFILE_KEY_METADATA
public static final [Link] MANIFESTFILE_KEY_METADATA
SERIALIZE_CURRENT_VERSION
protected static final byte SERIALIZE_CURRENT_VERSION
Constant value: 2
dvrStart
protected long dvrStart
dvrStop
protected long dvrStop
packetTime
protected long packetTime
utcTime
protected long utcTime
index
protected int index
type
protected int type
Constructors
DvrManifestEntry
public DvrManifestEntry(int type,
int index,
long dvrStart,
long dvrStop,
long packetTime,
long utcTime)
Parameters:
type - type
index - manifest index
dvrStart - start time (ms in DVR time scale)
dvrStop - stop time (ms in DVR time scale)
packetTime
utcTime
Methods
getStartTimecode
public long getStartTimecode()
Returns:
start time
getStopTimecode
public long getStopTimecode()
Returns:
stop time
getPacketStartTime
public long getPacketStartTime()
Returns:
packet start time
getUtcStartTime
public long getUtcStartTime()
Returns:
UTC start time
getDuration
public long getDuration()
Get duration
Returns:
duration in ms
getType
public int getType()
Returns:
type
getIndex
public int getIndex()
Returns:
index
serialize
public abstract void serialize([Link] out)
Parameters:
out - output stream
serialize
public byte[] serialize()
Returns:
serialized data
getManifestRepresentation
public abstract String getManifestRepresentation()
Returns:
textual representation of entry
getCommonInitialTextRepString
protected String getCommonInitialTextRepString()
encodeBytes
protected String encodeBytes(byte[] bytes)
Encode string of bytes as Base64. Provides check for null buffer or empty buffer.
Parameters:
bytes - buffer to encode.
Returns:
Base64 encoding or "".
[Link]
Class DvrManifestEntryFactory
[Link]
|
+-[Link]
Constructor Summary
public DvrManifestEntryFactory()
Method Summary
static deserialize(byte[] data)
DvrManifestEntry
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
DvrManifestEntryFactory
public DvrManifestEntryFactory()
Methods
deserialize
public static DvrManifestEntry deserialize(byte[] data)
deserialize
public static DvrManifestEntry deserialize([Link] buffer)
[Link]
Class DvrManifestEntryRange
[Link]
|
+-[Link]
Constructor Summary
public DvrManifestEntryRange(int type, int startIndex, int endIndex)
Construct a range of a given type.
Method Summary
void deserialize(byte[] data)
Deserialize.
int getEndIndex()
Get end index.
IndexRange getRange()
Get index range.
int getStartIndex()
Get start index.
int getType()
Get range type
boolean isEmpty()
byte[] serialize()
Serialize range.
String toString()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
DvrManifestEntryRange
public DvrManifestEntryRange(int type,
int startIndex,
int endIndex)
Parameters:
type - manifest type
startIndex - initial member of range
endIndex - final member of range
Methods
getType
public int getType()
Returns:
type.
getRange
public IndexRange getRange()
Returns:
index range
setRange
public void setRange(IndexRange range)
Parameters:
range - index range.
getStartIndex
public int getStartIndex()
Returns:
start index (or -1 if undefined)
getEndIndex
public int getEndIndex()
Returns:
end index (or -1 if undefined)
isInRange
public boolean isInRange(int index)
Is index in range.
Parameters:
index - index in question.
Returns:
true if part of range.
serialize
public byte[] serialize()
Serialize range.
Returns:
out buffer containing serialized range.
deserialize
public void deserialize(byte[] data)
Parameters:
data - buffer to deserialize.
isEmpty
public boolean isEmpty()
toString
public String toString()
[Link]
Class DvrManifestEntryRangeGroup
[Link]
|
+-[Link]
A group of Manifest Ranges. The group may contain ranges of different types.
Field Summary
public ranges
Constructor Summary
public DvrManifestEntryRangeGroup()
Method Summary
void addRange(DvrManifestEntryRange range)
Add an index range to the group.
boolean isEmpty()
Determine if group of ranges is empty
byte[] serialize()
Serialize range group
String toString()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
ranges
public [Link] ranges
Constructors
DvrManifestEntryRangeGroup
public DvrManifestEntryRangeGroup()
Methods
addRange
public void addRange(DvrManifestEntryRange range)
Parameters:
range
isInRange
public boolean isInRange(int type,
int index)
Parameters:
type - range type
index - index in question
Returns:
true iof in range.
isEmpty
public boolean isEmpty()
Returns:
true if empty
serialize
public byte[] serialize()
Returns:
bytes representing range group
deserialize
public void deserialize(byte[] data)
Parameters:
data - buffer to deserialize.
toString
public String toString()
[Link]
Class DvrManifestOnMetadataEntry
[Link]
|
+-[Link]
|
+-[Link]
Entry in DVR manifest that contains onMetadata information and associated onMetadata chunk.
Field Summary
protected artifact
protected data
Constructor Summary
public DvrManifestOnMetadataEntry(int index, long start, long packetTime, long
utcTime, DvrChunkArtifact artifact, byte[] data)
Constructor
Method Summary
String getArtifactsTextRepresentation()
byte[] getData()
Get onMetadata information.
DvrChunkArtifact getDvrArtifact()
String getManifestRepresentation()
String toString()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
artifact
protected [Link] artifact
data
protected byte data
Constructors
DvrManifestOnMetadataEntry
public DvrManifestOnMetadataEntry(int index,
long start,
long packetTime,
long utcTime,
DvrChunkArtifact artifact,
byte[] data)
Constructor
Parameters:
index - manifest index
start - start time (ms in DVR time scale)
utcTime
packetTime
artifact - reference to the chunk artifact
data - buffer of onMetadata information
Methods
getDvrArtifact
public DvrChunkArtifact getDvrArtifact()
getData
public byte[] getData()
Returns:
onMetadata information.
serialize
public void serialize([Link] out)
getManifestRepresentation
public String getManifestRepresentation()
getArtifactsTextRepresentation
protected String getArtifactsTextRepresentation()
toString
public String toString()
[Link]
Class DvrManifestTimeMapEntry
[Link]
|
+-[Link]
|
+-[Link]
Constructor Summary
public DvrManifestTimeMapEntry(int index, int chunkIndex, long start, long
packetTime, long utcTime, TimeMapRecord timeMap)
Constructor
Method Summary
int getChunkIndex()
Get chunk index that correlates to this time mapping
String getManifestRepresentation()
TimeMapRecord getTimeMapping()
Get time map record.
String toString()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
DvrManifestTimeMapEntry
public DvrManifestTimeMapEntry(int index,
int chunkIndex,
long start,
long packetTime,
long utcTime,
TimeMapRecord timeMap)
Constructor
Parameters:
index - manifest index
start - start time (ms in DVR time scale)
timeMap - time map record
Methods
getTimeMapping
public TimeMapRecord getTimeMapping()
Returns:
time map record
getChunkIndex
public int getChunkIndex()
Returns:
chunk index
getManifestRepresentation
public String getManifestRepresentation()
serialize
public void serialize([Link] out)
toString
public String toString()
[Link]
Interface IDvrChannelManifest
All Subinterfaces:
IDvrTimeMap
Method Summary
long expandEndTime(long dvrEndTime)
long getClosestStartTime(long t)
DvrManifestEntry getFirstEntry()
int getFirstIndex()
[Link] getIndexMap()
DvrManifestEntry getLastLiveEntry()
DvrManifestEntry getLastRecordedEntry()
int getLastRecordedIndex()
long getLiveDuration()
[Link] getLiveEntries()
long getRecordedDuration()
[Link] getRecordedEntries()
DvrManifestEntry getRecordedEntryByTimeKey(long t)
int getType()
boolean isEmpty()
Methods
isEmpty
public boolean isEmpty()
getType
public int getType()
getLastRecordedIndex
public int getLastRecordedIndex()
getRecordedEntries
public [Link] getRecordedEntries()
getRecordedEntriesInRange
public [Link] getRecordedEntriesInRange(int startIndex,
int endIndex)
getIndexMap
public [Link] getIndexMap()
getRecordedEntryByTimeKey
public DvrManifestEntry getRecordedEntryByTimeKey(long t)
getRecordedEntryByIndex
public DvrManifestEntry getRecordedEntryByIndex(int index)
getRecordedEntryStartingBeforeTime
public DvrManifestEntry getRecordedEntryStartingBeforeTime(long t,
boolean inclusive)
getRecordedEntries
public [Link] getRecordedEntries(long dvrStartTime)
getRecordedEntries
public [Link] getRecordedEntries(long dvrStartTime,
long dvrEndTime)
getRecordedEntriesWithLimit
public [Link] getRecordedEntriesWithLimit(long t,
int limit)
getRecordedDuration
public long getRecordedDuration()
getLiveDuration
public long getLiveDuration()
getClosestStartTime
public long getClosestStartTime(long t)
getLiveEntries
public [Link] getLiveEntries()
getLiveTailEntries
public [Link] getLiveTailEntries(int index)
getNumberLiveEntries
public int getNumberLiveEntries(long dvrStart)
getNumberLiveEntries
public int getNumberLiveEntries(long dvrStart,
long dvrEnd)
getNumberRecordedEntries
public int getNumberRecordedEntries(long dvrStart)
getNumberRecordedEntries
public int getNumberRecordedEntries(long dvrStart,
long dvrEnd)
getLiveEntries
public [Link] getLiveEntries(long startTime)
getLiveEntriesWithLimit
public [Link] getLiveEntriesWithLimit(long t,
int limit)
getFirstIndex
public int getFirstIndex()
getFirstEntry
public DvrManifestEntry getFirstEntry()
getLastLiveEntry
public DvrManifestEntry getLastLiveEntry()
getLastRecordedEntry
public DvrManifestEntry getLastRecordedEntry()
getLiveRangeEndingBeforeTime
public DvrManifestEntryRange getLiveRangeEndingBeforeTime(long time)
getLiveRangeEndingBeforeTime
public DvrManifestEntryRange getLiveRangeEndingBeforeTime(long time,
boolean skipFirst)
expandStartTime
public long expandStartTime(long dvrStartTime)
expandEndTime
public long expandEndTime(long dvrEndTime)
[Link]
Interface IDvrChunker
Method Summary
long calculateChunkGroupTime(long dvrTime)
int getChunkGroupDuration()
Methods
getChunkGroupDuration
public int getChunkGroupDuration()
determineChunkGroupIdentifier
public String determineChunkGroupIdentifier(long dvrTime)
calculateChunkGroupTime
public long calculateChunkGroupTime(long dvrTime)
setChunkGroupDuration
public void setChunkGroupDuration(int chunkGrouping)
[Link]
Interface IDvrChunkMemoryCache
All Superinterfaces:
IDvrRawChunkProvider
Interface for managing in-memory cache of chunks. The implementor is responsible for implementing the desired algorithm for
keeping DVR chunks in memory.
Method Summary
void addToCache(DvrManifestChunkEntry entry, DvrChunk chunk)
Provide in-memory cache the opportunity to add the DVR chunk to its cache.
retrieveRawChunk
Methods
init
public void init(IDvrStreamStore store)
Parameters:
store - The DVR stream store associated with this cache.
retrieveRawChunk
public DvrChunk retrieveRawChunk(DvrManifestChunkEntry entry)
addToCache
public void addToCache(DvrManifestChunkEntry entry,
DvrChunk chunk)
Provide in-memory cache the opportunity to add the DVR chunk to its cache. The implementation may choose to cache the
chunk or ignore it.
Parameters:
[Link]
Interface IDvrChunkUtcDelegate
Method Summary
long determineUtcTime(long currentUtc, long aChunkStartUtc, long
aFirstPacketUtc, AMFPacket aFirstPacket, long vChunkStartUtc, long
vFirstPacketUtc, AMFPacket vFirstPacket)
Methods
init
public void init(IDvrStreamStore store)
determineUtcTime
public long determineUtcTime(long currentUtc,
long aChunkStartUtc,
long aFirstPacketUtc,
AMFPacket aFirstPacket,
long vChunkStartUtc,
long vFirstPacketUtc,
AMFPacket vFirstPacket)
[Link]
Interface IDvrConstants
Field Summary
public static final ARCHIVE_STRATEGY_APPEND
Value: append
Value: delete
Value: version
Value: 200
Value: 4000
Value: true
Value: true
Value: 2
Value: 1
Value: true
Value: true
Value: true
Value: 0
Value: dvrPacketDeltaToNotify
Value: dvrStreamRecordedData
Fields
DVR_STREAMING_PACKETIZER_ID
public static final [Link] DVR_STREAMING_PACKETIZER_ID
DVR_REPEATER_PACKETIZER_ID
public static final [Link] DVR_REPEATER_PACKETIZER_ID
DVR_DEFAULT_RECORDER_ID
public static final [Link] DVR_DEFAULT_RECORDER_ID
DVR_DEFAULT_FILESTORE
public static final [Link] DVR_DEFAULT_FILESTORE
MEDIACACHE_PREFIX
public static final [Link] MEDIACACHE_PREFIX
See [Link]
Constant value: dvrorigin
PROPERTY_CHUNK_GROUPING_SECONDS
public static final [Link] PROPERTY_CHUNK_GROUPING_SECONDS
DVR Property "dvrChunkGroupingSeconds": for determining how many seconds of DVR are stored in each stores sub-
folder.
The directory naming convention is HHHH_MM_SS with H = hours, M = minutes, S = seconds. Using the defaults, first
directory would be named 0000_00_00 and the second directory would be named 0000_10_00, etc.
Valid values are integers greater than 60. Add the property to Application/DVR/Properties section of [Link].
Constant value: dvrChunkGroupingSeconds
See Also:
DEFAULT_PROPERTY_CHUNK_GROUPING_SECONDS
DEFAULT_PROPERTY_CHUNK_GROUPING_SECONDS
public static final int DEFAULT_PROPERTY_CHUNK_GROUPING_SECONDS
See Also:
PROPERTY_CHUNK_GROUPING_SECONDS
PROPERTY_APPEND_DISCONTINUITY_DELTA
public static final [Link] PROPERTY_APPEND_DISCONTINUITY_DELTA
DVR Property "dvrAppendDiscontinuityDelta": for specifying how many milliseconds of empty space are put between
individual recordings that when in append mode.
Valid values are integers greater than or equal to 0. Add the property to Application/DVR/Properties section of
[Link].
Constant value: dvrAppendDiscontinuityDelta
See Also:
DEFAULT_PROPERTY_APPEND_DISCONTINUITY_DELTA
DEFAULT_PROPERTY_APPEND_DISCONTINUITY_DELTA
public static final int DEFAULT_PROPERTY_APPEND_DISCONTINUITY_DELTA
Default value is 0.
Constant value: 0
See Also:
PROPERTY_WINDOW_DURATION
public static final [Link] PROPERTY_WINDOW_DURATION
DVR Property "dvrWindowDuration": for specifying the DVR window duration, in seconds.
See Also:
DVR_WINDOW_DURATION_UNLIMITED
DVR_WINDOW_DURATION_UNLIMITED
public static final int DVR_WINDOW_DURATION_UNLIMITED
Constant value: 0
PROPERTY_STORAGE_DIRECTORY
public static final [Link] PROPERTY_STORAGE_DIRECTORY
DVR Property "dvrStorageDirectory": for overriding the DVR storage directory location Typically this is defined
application-wide in [Link] under Application/DVR/StorageDirectory. However, to override this on a per stream
basis, the property may be set on the IDvrStreamManager after creation and before initialization.
Constant value: dvrStorageDirectory
See Also:
DEFAULT_PROPERTY_STORAGE_DIRECTORY
DEFAULT_PROPERTY_STORAGE_DIRECTORY
public static final [Link] DEFAULT_PROPERTY_STORAGE_DIRECTORY
See Also:
PROPERTY_STORAGE_DIRECTORY
PROPERTY_ARCHIVE_STRATEGY
public static final [Link] PROPERTY_ARCHIVE_STRATEGY
See Also:
ARCHIVE_STRATEGY_APPEND
ARCHIVE_STRATEGY_DELETE
public static final [Link] ARCHIVE_STRATEGY_DELETE
ARCHIVE_STRATEGY_VERSION
public static final [Link] ARCHIVE_STRATEGY_VERSION
ARCHIVE_STRATEGY_APPEND
public static final [Link] ARCHIVE_STRATEGY_APPEND
PROPERTY_CHUNK_READER_CLASS
public static final [Link] PROPERTY_CHUNK_READER_CLASS
DVR Property "dvrChunkReaderClass": for controlling the class responsible for reading DVR Chunks.
See Also:
[Link]
DEFAULT_PROPERTY_CHUNK_READER_CLASS
DEFAULT_PROPERTY_CHUNK_READER_CLASS
public static final [Link] DEFAULT_PROPERTY_CHUNK_READER_CLASS
See Also:
PROPERTY_CHUNK_READER_CLASS
PROPERTY_CHUNK_WRITER_CLASS
public static final [Link] PROPERTY_CHUNK_WRITER_CLASS
DVR Property "dvrChunkWriterClass": for controlling the class responsible for writing DVR Chunks.
See Also:
[Link]
DEFAULT_PROPERTY_CHUNK_WRITER_CLASS
DEFAULT_PROPERTY_CHUNK_WRITER_CLASS
public static final [Link] DEFAULT_PROPERTY_CHUNK_WRITER_CLASS
See Also:
PROPERTY_CHUNK_WRITER_CLASS
PROPERTY_FILE_SYSTEM_CLASS
public static final [Link] PROPERTY_FILE_SYSTEM_CLASS
DVR Property "dvrFileSystemClass": for controlling the class responsible for managing the DVR File System.
See Also:
[Link]
DEFAULT_PROPERTY_FILE_SYSTEM_CLASS
DEFAULT_PROPERTY_FILE_SYSTEM_CLASS
public static final [Link] DEFAULT_PROPERTY_FILE_SYSTEM_CLASS
See Also:
PROPERTY_FILE_SYSTEM_CLASS
PROPERTY_MANIFEST_PERSISTER_CLASS
public static final [Link] PROPERTY_MANIFEST_PERSISTER_CLASS
DVR Property "dvrManifestPersisterClass": for controlling the class responsible for persisting the manifest files.
See Also:
[Link]
DEFAULT_PROPERTY_MANIFEST_PERSISTER_CLASS
DEFAULT_PROPERTY_MANIFEST_PERSISTER_CLASS
public static final [Link] DEFAULT_PROPERTY_MANIFEST_PERSISTER_CLASS
See Also:
PROPERTY_MANIFEST_PERSISTER_CLASS
PROPERTY_CHUNK_CACHE_CLASS
public static final [Link] PROPERTY_CHUNK_CACHE_CLASS
DVR Property "dvrChunkMemoryCacheClass": for controlling the class responsible for caching DVR chunks in memory.
See Also:
IDvrChunkMemoryCache
DEFAULT_PROPERTY_CHUNK_CACHE_CLASS
DEFAULT_PROPERTY_CHUNK_CACHE_CLASS
public static final [Link] DEFAULT_PROPERTY_CHUNK_CACHE_CLASS
See Also:
PROPERTY_CHUNK_CACHE_CLASS
PROPERTY_RECORDINGS_LOADER_CLASS
public static final [Link] PROPERTY_RECORDINGS_LOADER_CLASS
DVR Property "dvrRecordingsLoaderClass": for controlling the class responsible for loading DVR recordings.
See Also:
IDvrRecordingsLoader
DEFAULT_PROPERTY_RECORDINGS_LOADER_CLASS
DEFAULT_PROPERTY_RECORDINGS_LOADER_CLASS
public static final [Link] DEFAULT_PROPERTY_RECORDINGS_LOADER_CLASS
See Also:
PROPERTY_RECORDINGS_LOADER_CLASS
PROPERTY_TEXT_WRITER_CLASS
public static final [Link] PROPERTY_TEXT_WRITER_CLASS
DVR Property "dvrTextWriterClass": for controlling the class responsible for writing DVR text files.
See Also:
IDvrTextWriter
DEFAULT_PROPERTY_TEXT_WRITER_CLASS
DEFAULT_PROPERTY_TEXT_WRITER_CLASS
public static final [Link] DEFAULT_PROPERTY_TEXT_WRITER_CLASS
See Also:
PROPERTY_TEXT_WRITER_CLASS
PROPERTY_TEXT_READER_CLASS
public static final [Link] PROPERTY_TEXT_READER_CLASS
DVR Property "dvrTextReaderClass": for controlling the class responsible for reading DVR text files.
See Also:
IDvrTextReader
DEFAULT_PROPERTY_TEXT_READER_CLASS
DEFAULT_PROPERTY_TEXT_READER_CLASS
public static final [Link] DEFAULT_PROPERTY_TEXT_READER_CLASS
See Also:
PROPERTY_TEXT_READER_CLASS
PROPERTY_ALLOWABLE_AV_PACKET_DELTA
public static final [Link] PROPERTY_ALLOWABLE_AV_PACKET_DELTA
DVR Property "dvrAllowableAVPacketDelta": for specifying how much audio and video packets may diverge before
triggering an error.
Wowza nDVR expects the incoming audio and video to be aligned. Through this parameter, Wowza nDVR will try to
compensate for out of alignment issues, but it cannot resolve them. This setting safeguards against audio and data video packets
that are not closely aligned. The units are in ms. The default value is 2000 ms. If audio and video are out of alignment by more
than this value, the audio and video chunks will be ignored in an attempt to get the streams back into alignment. If you already
have an out of alignment issue, increasing the default value is likely to cause more problems. Increasing this value will increase
the number of chunks not recorded which may cause the overall quality to be unacceptable.
See Also:
DEFAULT_PROPERTY_ALLOWABLE_AV_PACKET_DELTA
DEFAULT_PROPERTY_ALLOWABLE_AV_PACKET_DELTA
public static final int DEFAULT_PROPERTY_ALLOWABLE_AV_PACKET_DELTA
See Also:
PROPERTY_ALLOWABLE_AV_PACKET_DELTA
PROPERTY_PACKET_DELTA_TO_RESET_TIME
public static final [Link] PROPERTY_PACKET_DELTA_TO_RESET_TIME
DVR Property "dvrResetTimePacketDelta": for controlling how much Chunk start times must diverge from last chunk's
end time before the DVR time gets reset.
See Also:
DEFAULT_PROPERTY_PACKET_DELTA_TO_RESET_TIME
DEFAULT_PROPERTY_PACKET_DELTA_TO_RESET_TIME
public static final int DEFAULT_PROPERTY_PACKET_DELTA_TO_RESET_TIME
See Also:
PROPERTY_PACKET_DELTA_TO_RESET_TIME
PROPERTY_PACKET_DELTA_TO_NOTIFY
public static final [Link] PROPERTY_PACKET_DELTA_TO_NOTIFY
DEFAULT_PROPERTY_PACKET_DELTA_TO_NOTIFY
public static final int DEFAULT_PROPERTY_PACKET_DELTA_TO_NOTIFY
PROPERTY_RECORD_DATA
public static final [Link] PROPERTY_RECORD_DATA
Set property to: true to record data of incoming stream. Default is true. Set property to: false to ignore data packets during
recording.
Constant value: recordData
PROPERTY_RECORD_VIDEO
public static final [Link] PROPERTY_RECORD_VIDEO
Set property to: true to record video of incoming stream. Default is true. Set property to: false to ignore video packets during
recording. Either recordVideo or recordAudio property must be set to: true
Constant value: recordVideo
PROPERTY_RECORD_AUDIO
public static final [Link] PROPERTY_RECORD_AUDIO
Set property to: true to record audio of incoming stream. Default is true. Set property to: false to ignore audio packets during
recording. Either recordVideo or recordAudio property must be set to: true
Constant value: recordAudio
PROPERTY_START_RECORDING_ON_STARTUP
public static final [Link] PROPERTY_START_RECORDING_ON_STARTUP
DVR Property "startRecordingOnStartup": for determining if DVR recorder should start recording immediately.
Set property to: true (default) to start recording immediately when stream is detected. Set property to: false to init the DVR
recorder but to not start recording immediately when stream starts.
Constant value: startRecordingOnStartup
PROPERTY_AUDIO_ONLY_CHUNK_TARGET_DURATION
public static final [Link] PROPERTY_AUDIO_ONLY_CHUNK_TARGET_DURATION
Applies to recording an audio-only stream and is the target chunk duration. The unit is in ms. The default value is 2000 ms.
This setting is ignored if the stream contains video and audio, in which case the keyframe determines the chunk size.
See Also:
DEFAULT_PROPERTY_AUDIO_ONLY_CHUNK_TARGET_DURATION
public static final int DEFAULT_PROPERTY_AUDIO_ONLY_CHUNK_TARGET_DURATION
See Also:
PROPERTY_AUDIO_ONLY_CHUNK_TARGET_DURATION
PROPERTY_PACKET_SORT_TIME
public static final [Link] PROPERTY_PACKET_SORT_TIME
Valid values are a integer greater than equal to 0. Zero means no sorting occurs. Add the property to
Application/DVR/Properties section of [Link]
Constant value: dvrPacketSortTime
See Also:
DEFAULT_PROPERTY_PACKET_SORT_TIME
DEFAULT_PROPERTY_PACKET_SORT_TIME
public static final int DEFAULT_PROPERTY_PACKET_SORT_TIME
See Also:
PROPERTY_PACKET_SORT_TIME
PROPERTY_BREAK_ON_PTS
public static final [Link] PROPERTY_BREAK_ON_PTS
DVR Property "dvrChunkBreakOnPTS": for specifying that DVR should be broken on PTS.
Valid values are "true" or "false" Add the property to Application/DVR/Properties section of [Link]
Constant value: dvrChunkBreakOnPTS
See Also:
DEFAULT_PROPERTY_BREAK_ON_PTS
DEFAULT_PROPERTY_BREAK_ON_PTS
public static final boolean DEFAULT_PROPERTY_BREAK_ON_PTS
See Also:
PROPERTY_REPEATER_SHARED_SECRET
public static final [Link] PROPERTY_REPEATER_SHARED_SECRET
DVR Property "dvrEncryptionSharedSecret": for encryption shared secret between origins and edges. In Origin-Edge
scenarios when Wowza is using encryption, a shared secret must be defined for both origin and edges to encrypt the
information sent between origin and edge so that encryption information is not revealed.
A String values.
PROPERTY_REPEATER_HEARTBEAT_DURATION
public static final [Link] PROPERTY_REPEATER_HEARTBEAT_DURATION
A Integer Value.
DEFAULT_PROPERTY_REPEATER_HEARTBEAT_DURATION
public static final int DEFAULT_PROPERTY_REPEATER_HEARTBEAT_DURATION
PROPERTY_CHUNK_DURATION_MINIMUM
public static final [Link] PROPERTY_CHUNK_DURATION_MINIMUM
See Also:
DEFAULT_PROPERTY_CHUNK_DURATION_MINIMUM
DEFAULT_PROPERTY_CHUNK_DURATION_MINIMUM
public static final int DEFAULT_PROPERTY_CHUNK_DURATION_MINIMUM
See Also:
PROPERTY_CHUNK_DURATION_MINIMUM
PROPERTY_CHUNK_MEMORY_CACHESIZE
public static final [Link] PROPERTY_CHUNK_MEMORY_CACHESIZE
DEFAULT_CHUNK_MEMORY_CACHESIZE
public static final int DEFAULT_CHUNK_MEMORY_CACHESIZE
See Also:
PROPERTY_CHUNK_MEMORY_CACHESIZE
PROPERTY_MBR_USE_UTC_FOR_ALIGNMENT
public static final [Link] PROPERTY_MBR_USE_UTC_FOR_ALIGNMENT
DVR Property "dvrMbrUseUtcForAlignment": when doing mbr alignment use utc time for alignment
PROPERTY_MBR_MINIMIMUM_PACKETTIME_GAP_SIZE
public static final [Link] PROPERTY_MBR_MINIMIMUM_PACKETTIME_GAP_SIZE
DVR Property "dvrMbrMinimumPacketTimeGapSize": when doing mbr alignment gaps smaller than this are ignored.
See Also:
DEFAULT_PROPERTY_MBR_MINIMIMUM_PACKETTIME_GAP_SIZE
PROPERTY_MBR_ALTERNATIVE_MATCH_DELTA
public static final [Link] PROPERTY_MBR_ALTERNATIVE_MATCH_DELTA
DVR Property "dvrMbrAlternateMatchDelta": when finding alternative for a MBR gap, an alternate is considered a
match is within this many ms of the gap in question.
See Also:
DEFAULT_PROPERTY_MBR_ALTERNATIVE_MATCH_DELTA
DEFAULT_PROPERTY_MBR_ALTERNATIVE_MATCH_DELTA
public static final int DEFAULT_PROPERTY_MBR_ALTERNATIVE_MATCH_DELTA
See Also:
PROPERTY_MBR_ALTERNATIVE_MATCH_DELTA
PROPERTY_PACKET_DURATION_MAXIMUM
public static final [Link] PROPERTY_PACKET_DURATION_MAXIMUM
See Also:
DEFAULT_PROPERTY_PACKET_DURATION_MAXIMUM
DEFAULT_PROPERTY_PACKET_DURATION_MAXIMUM
public static final int DEFAULT_PROPERTY_PACKET_DURATION_MAXIMUM
See Also:
PROPERTY_PACKET_DURATION_MAXIMUM
DEFAULT_PROPERTY_MBR_MINIMIMUM_PACKETTIME_GAP_SIZE
public static final int DEFAULT_PROPERTY_MBR_MINIMIMUM_PACKETTIME_GAP_SIZE
See Also:
PROPERTY_MBR_MINIMIMUM_PACKETTIME_GAP_SIZE
PROPERTY_MBR_MINIMIMUM_UTCTIME_GAP_SIZE
public static final [Link] PROPERTY_MBR_MINIMIMUM_UTCTIME_GAP_SIZE
DVR Property "dvrMbrMinimumUtcTimeGapSize": when doing mbr alignment gaps smaller than this are ignored.
See Also:
DEFAULT_PROPERTY_MBR_MINIMIMUM_UTCTIME_GAP_SIZE
DEFAULT_PROPERTY_MBR_MINIMIMUM_UTCTIME_GAP_SIZE
public static final int DEFAULT_PROPERTY_MBR_MINIMIMUM_UTCTIME_GAP_SIZE
See Also:
PROPERTY_MBR_MINIMIMUM_UTCTIME_GAP_SIZE
PROPERTY_MAX_RECORDING_LENGTH
public static final [Link] PROPERTY_MAX_RECORDING_LENGTH
DVR Property "dvrMaximumRecordingLength": The maximum recording length in seconds. Recording stops when it
reaches this value.
Add the property to Application/DVR/Properties section of [Link] A value of zero means no maximum recording
length is enforced. If used in conjunction with DVRWindow, should be slightly larger (1-2%) than DVRWindow.
Constant value: dvrMaximumRecordingLength
See Also:
DEFAULT_PROPERTY_MAX_RECORDING_LENGTH
DEFAULT_PROPERTY_MAX_RECORDING_LENGTH
public static final long DEFAULT_PROPERTY_MAX_RECORDING_LENGTH
See Also:
PROPERTY_MAX_RECORDING_LENGTH
PROPERTY_MEDIACACHE_ENABLED
public static final [Link] PROPERTY_MEDIACACHE_ENABLED
PROPERTY_MEDIACACHE_READER_CLASS
public static final [Link] PROPERTY_MEDIACACHE_READER_CLASS
See Also:
DEFAULT_PROPERTY_MEDIACACHE_READER_CLASS
DEFAULT_PROPERTY_MEDIACACHE_READER_CLASS
public static final [Link] DEFAULT_PROPERTY_MEDIACACHE_READER_CLASS
See Also:
PROPERTY_MEDIACACHE_READER_CLASS
PROPERTY_DEBUG_LOG_INVALID_CHUNK_DETAILS
public static final [Link] PROPERTY_DEBUG_LOG_INVALID_CHUNK_DETAILS
DVR Property "dvrLogInvalidChunkDetails": to control detailed logging information of DVR invalid chunks
The default is false, meaning do not log invalid chunks. Add the property to Application/DVR/Properties section of
[Link]
Constant value: dvrLogInvalidChunkDetails
See Also:
PROPERTY_DEBUG_MAX_INVALID_CHUNKS_LOGGED
PROPERTY_DEBUG_LOG_INVALID_CHUNK_MATCHER
public static final [Link] PROPERTY_DEBUG_LOG_INVALID_CHUNK_MATCHER
DVR Property "dvrLogInvalidChunkMatcher": for matching stream names that will log chunk packets
See Also:
PROPERTY_DEBUG_MAX_INVALID_CHUNKS_LOGGED
PROPERTY_DEBUG_MAX_INVALID_CHUNKS_LOGGED
public static final [Link] PROPERTY_DEBUG_MAX_INVALID_CHUNKS_LOGGED
DVR Property "dvrMaxInvalidChunksLogged": for controlling maximum number of invalid DVR chunks logged.
The default is 10. Logging only occurs if property PROPERTY_DEBUG_LOG_INVALID_CHUNK_DETAILS is true. Add the
property to Application/DVR/Properties section of [Link]
Constant value: dvrMaxInvalidChunksLogged
See Also:
DEFAULT_PROPERTY_DEBUG_MAX_INVALID_CHUNKS_LOGGED
PROPERTY_DEBUG_LOG_INVALID_CHUNK_DETAILS
DEFAULT_PROPERTY_DEBUG_MAX_INVALID_CHUNKS_LOGGED
public static final int DEFAULT_PROPERTY_DEBUG_MAX_INVALID_CHUNKS_LOGGED
See Also:
PROPERTY_DEBUG_LOG_INVALID_CHUNK_DETAILS
PROPERTY_DEBUG_MAX_INVALID_CHUNKS_LOGGED
PROPERTY_DEBUG_LOG_VALID_CHUNK_DETAILS
public static final [Link] PROPERTY_DEBUG_LOG_VALID_CHUNK_DETAILS
DVR Property "dvrLogValidChunkDetails": to control detailed logging information of DVR valid chunks
The default is false, meaning do not log valid chunks. Add the property to Application/DVR/Properties section of
[Link]
Constant value: dvrLogValidChunkDetails
See Also:
PROPERTY_DEBUG_MAX_VALID_CHUNKS_LOGGED
PROPERTY_DEBUG_MAX_VALID_CHUNKS_LOGGED
public static final [Link] PROPERTY_DEBUG_MAX_VALID_CHUNKS_LOGGED
DVR Property "dvrMaxValidChunksLogged": for controlling maximum number of valid DVR chunks logged.
The default is 10. Logging only occurs if property PROPERTY_DEBUG_LOG_VALID_CHUNK_DETAILS is true. Add the
property to Application/DVR/Properties section of [Link]
Constant value: dvrMaxValidChunksLogged
See Also:
DEFAULT_PROPERTY_DEBUG_MAX_VALID_CHUNKS_LOGGED
PROPERTY_DEBUG_LOG_VALID_CHUNK_DETAILS
DEFAULT_PROPERTY_DEBUG_MAX_VALID_CHUNKS_LOGGED
public static final int DEFAULT_PROPERTY_DEBUG_MAX_VALID_CHUNKS_LOGGED
See Also:
PROPERTY_DEBUG_LOG_VALID_CHUNK_DETAILS
PROPERTY_DEBUG_MAX_VALID_CHUNKS_LOGGED
PROPERTY_DEBUG_LOG_VALID_CHUNK_MATCHER
public static final [Link] PROPERTY_DEBUG_LOG_VALID_CHUNK_MATCHER
DVR Property "dvrLogValidChunkMatcher": for matching stream names that will log chunk packets
See Also:
PROPERTY_DEBUG_MAX_VALID_CHUNKS_LOGGED
PROPERTY_DEBUG_TOSSED_HOLDERS
public static final [Link] PROPERTY_DEBUG_TOSSED_HOLDERS
DVR Property "dvrDebugTossedHolders": for turning on logging of packets that are being tossed.
PROPERTY_DEBUG_RAW_PACKETS
public static final [Link] PROPERTY_DEBUG_RAW_PACKETS
See Also:
DEFAULT_PROPERTY_DEBUG_RAW_PACKETS
public static final boolean DEFAULT_PROPERTY_DEBUG_RAW_PACKETS
See Also:
PROPERTY_DEBUG_RAW_PACKETS
PROPERTY_DEBUG_RAW_PACKETS_MATCHER
PROPERTY_DEBUG_RAW_PACKETS_MATCHER
public static final [Link] PROPERTY_DEBUG_RAW_PACKETS_MATCHER
DVR Property "dvrDebugRawPacketsMatcher": for matching stream names that will dump raw packet.
See Also:
PROPERTY_DEBUG_RAW_PACKETS
PROPERTY_DEBUG_MAXIMUM_RAW_PACKETS
public static final [Link] PROPERTY_DEBUG_MAXIMUM_RAW_PACKETS
DVR Property "dvrDebugMaximumRawPackets": for setting maximum number of logged raw packets.
See Also:
PROPERTY_DEBUG_RAW_PACKETS
DEFAULT_PROPERTY_DEBUG_MAX_RAW_PACKETS
public static final int DEFAULT_PROPERTY_DEBUG_MAX_RAW_PACKETS
See Also:
PROPERTY_DEBUG_MAXIMUM_RAW_PACKETS
PROPERTY_DEBUG_STATE_CHANGE
public static final [Link] PROPERTY_DEBUG_STATE_CHANGE
PROPERTY_DEBUG_CHUNK_RETRIEVALS
public static final [Link] PROPERTY_DEBUG_CHUNK_RETRIEVALS
PROPERTY_DEBUG_FAILED_CHUNK_RETRIEVALS
public static final [Link] PROPERTY_DEBUG_FAILED_CHUNK_RETRIEVALS
DVR Property "dvrDebugFailedChunkRetrievals": for logging info about each failed chunk retrieval
Constant value: dvrDebugFailedChunkRetrievals
PROPERTY_MAX_CHUNK_LOG
public static final [Link] PROPERTY_MAX_CHUNK_LOG
Maximum number of chunks to log recording information about in the wowzamedia_access.log file. As recording is continued
past this value, there is no feedback for normal operation in the log. View directories and files created in [install-dir]/dvr for on-
going feedback that recording is occurring. Add the property to Application/DVR/Properties section of [Link]
Constant value: dvrMaxChunkLogCount
See Also:
DEFAULT_PROPERTY_DVR_MAX_CHUNK_LOG
DEFAULT_PROPERTY_DVR_MAX_CHUNK_LOG
public static final int DEFAULT_PROPERTY_DVR_MAX_CHUNK_LOG
See Also:
PROPERTY_MAX_CHUNK_LOG
PROPERTY_MAX_RECALC_DURATION_LOG
public static final [Link] PROPERTY_MAX_RECALC_DURATION_LOG
DVR Property "dvrMaxRecountDurationLogCount": for maximum number of messages to log regarding recalculating
DVR chunk duration
Maximum number of log statements recorded regarding chunk duration being recalculated. A value less than 0 means all
statements will be logged with no limit.
Constant value: dvrMaxRecountDurationLogCount
See Also:
DEFAULT_PROPERTY_MAX_RECALC_DURATION_LOG
DEFAULT_PROPERTY_MAX_RECALC_DURATION_LOG
public static final int DEFAULT_PROPERTY_MAX_RECALC_DURATION_LOG
Constant value: 30
See Also:
PROPERTY_MAX_RECALC_DURATION_LOG
PROPERTY_DEBUG_METHODS
public static final [Link] PROPERTY_DEBUG_METHODS
PROPERTY_DEBUG_REPEATER
public static final [Link] PROPERTY_DEBUG_REPEATER
PROPERTY_DEBUG_PLAYER_ADAPTER
public static final [Link] PROPERTY_DEBUG_PLAYER_ADAPTER
HTTP Streamer Property "dvrDebugPlayerAdapter": for turning on DVR Player Adapter debug logging for all streamer
types.
PROPERTY_DEBUG_SMOOTH_PLAYER_ADAPTER
public static final [Link] PROPERTY_DEBUG_SMOOTH_PLAYER_ADAPTER
HTTP Streamer Property "dvrDebugSmoothPlayerAdapter": for turning on DVR Player Smooth Adapter debug logging.
PROPERTY_DEBUG_SANJOSE_PLAYER_ADAPTER
public static final [Link] PROPERTY_DEBUG_SANJOSE_PLAYER_ADAPTER
HTTP Streamer Property "dvrDebugSanJosePlayerAdapter": for turning on DVR Player San Jose Adapter debug
logging.
PROPERTY_DEBUG_CUPERTINO_PLAYER_ADAPTER
public static final [Link] PROPERTY_DEBUG_CUPERTINO_PLAYER_ADAPTER
HTTP Streamer Property "dvrDebugCupertinoPlayerAdapter": for turning on DVR Player Cupertino Adapter debug
logging.
PROPERTY_DEBUG_MBR_PLAYER_ADAPTER
public static final [Link] PROPERTY_DEBUG_MBR_PLAYER_ADAPTER
HTTP Streamer or DVR Property "dvrDebugMbrPlayerAdapter": for turning on DVR MBR Player Adapter debug
logging.
PROPERTY_DEBUG_MBR_PLAYER_ADAPTER_IF_SHIFTED_EMPTY
public static final [Link]
PROPERTY_DEBUG_MBR_PLAYER_ADAPTER_IF_SHIFTED_EMPTY
HTTP Streamer or DVR Property "dvrDebugMbrPlayerAdapter": for turning on DVR MBR Player Adapter debug
logging when null shifted entries is returned.
PROPERTY_DEBUG_MBR_DETAILS_WHEN_RECORD_DNE
public static final [Link] PROPERTY_DEBUG_MBR_DETAILS_WHEN_RECORD_DNE
HTTP Streamer or DVR Property "dvrDebugMbrDetailsWhenRecordDNE": for turning on DVR MBR Player Adapter
debug logging.
PROPERTY_DEBUG_MBR_ALIGNMENT
public static final [Link] PROPERTY_DEBUG_MBR_ALIGNMENT
HTTP Streamer or DVR Property "dvrDebugMbrAlignment": for turning on logging of mbr alignment
PROPERTY_DEBUG_MBR_ALIGNMENT_RESOLUTION
public static final [Link] PROPERTY_DEBUG_MBR_ALIGNMENT_RESOLUTION
DVR Property "dvrDebugMbrAlignmentResolution": for turning on logging of mbr alignment resolution (requested to
actual)
PROPERTY_DEBUG_PLAYLIST_REQUEST
public static final [Link] PROPERTY_DEBUG_PLAYLIST_REQUEST
PROPERTY_PLAYLIST_REQUEST_DELEGATE
public static final [Link] PROPERTY_PLAYLIST_REQUEST_DELEGATE
DVR Property "dvrPlaylistRequestDelegate": used to over-ride the class that generates a playlist request.
PROPERTY_ENCRYPTION_INFO_DELEGATE
public static final [Link] PROPERTY_ENCRYPTION_INFO_DELEGATE
DVR Property "dvrPlaylistEncryptionInfoDelegate": used to over-ride the encryption info on the playback side.
PROPERTY_SANJOSE_PLAYLIST_MIMETYPE
public static final [Link] PROPERTY_SANJOSE_PLAYLIST_MIMETYPE
DVR Property "dvrSanJosePlaylistMimeType": used to over-ride the mime type for DVR San Jose F4m playlists.
PROPERTY_SANJOSE_PLAYLIST_DELIVERYTYPE
public static final [Link] PROPERTY_SANJOSE_PLAYLIST_DELIVERYTYPE
DVR Property "dvrSanJosePlaylistDeliveryType": used to over-ride the mime type for DVR San Jose F4m playlists.
PROPERTY_SANJOSE_PLAYLIST_VERSION
public static final [Link] PROPERTY_SANJOSE_PLAYLIST_VERSION
DVR Property "dvrSanJosePlaylistVersion": used to over-ride the version of the San Jose f4m playlist.
See Also:
SANJOSE_F4M_VERSION_1_0
Add this to Application/DVR/Properties section of [Link]
PROPERTY_SANJOSE_PLAYLIST_RECORDED_STREAMTYPE
public static final [Link] PROPERTY_SANJOSE_PLAYLIST_RECORDED_STREAMTYPE
DVR Property "dvrSanJosePlaylistRecordedStreamType": used to over-ride the stream type for non-live (recorded)
DVR in San Jose f4m playlists.
See Also:
SANJOSE_F4M_STREAMTYPE_DVR
SANJOSE_F4M_STREAMTYPE_LIVE
SANJOSE_F4M_STREAMTYPE_LIVEORRECORDED
PROPERTY_SANJOSE_PLAYLIST_LIVE_STREAMTYPE
public static final [Link] PROPERTY_SANJOSE_PLAYLIST_LIVE_STREAMTYPE
DVR Property "dvrSanJosePlaylistLiveStreamType": used to over-ride the stream type for live DVR in San Jose f4m
playlists.
See Also:
SANJOSE_F4M_STREAMTYPE_DVR
SANJOSE_F4M_STREAMTYPE_LIVE
SANJOSE_F4M_STREAMTYPE_LIVEORRECORDED
SANJOSE_F4M_STREAMTYPE_DVR
public static final [Link] SANJOSE_F4M_STREAMTYPE_DVR
SANJOSE_F4M_STREAMTYPE_RECORDED
public static final [Link] SANJOSE_F4M_STREAMTYPE_RECORDED
SANJOSE_F4M_STREAMTYPE_LIVE
public static final [Link] SANJOSE_F4M_STREAMTYPE_LIVE
SANJOSE_F4M_STREAMTYPE_LIVEORRECORDED
public static final [Link] SANJOSE_F4M_STREAMTYPE_LIVEORRECORDED
SANJOSE_F4M_VERSION_1_0
public static final [Link] SANJOSE_F4M_VERSION_1_0
SANJOSE_F4M_VERSION_2_0
public static final [Link] SANJOSE_F4M_VERSION_2_0
SANJOSE_F4M_STREAMINGTYPE_STREAMING
public static final [Link] SANJOSE_F4M_STREAMINGTYPE_STREAMING
MIMETYPE_VIDEO_MP4
public static final [Link] MIMETYPE_VIDEO_MP4
PROPERTY_SANJOSE_ABST_TIMESCALE
public static final [Link] PROPERTY_SANJOSE_ABST_TIMESCALE
DVR Property "dvrSanJosePlaylistAbstTimescale": used to over-ride the time-scale for abst files.
PROPERTY_SANJOSE_ABST_DURATION_TOLERANCE
public static final [Link] PROPERTY_SANJOSE_ABST_DURATION_TOLERANCE
DEFAULT_PROPERTY_SANJOSE_ABST_TIMESCALE
public static final int DEFAULT_PROPERTY_SANJOSE_ABST_TIMESCALE
DEFAULT_PROPERTY_SANJOSE_ABST_DURATION_TOLERANCE
public static final int DEFAULT_PROPERTY_SANJOSE_ABST_DURATION_TOLERANCE
PROPERTY_CUPERTINO_PLAYLIST_FORCE_LIVE
public static final [Link] PROPERTY_CUPERTINO_PLAYLIST_FORCE_LIVE
DVR Property "dvrCupertinoPlaylistForceLive": used to override playlist request delegate logic that determines if
playlist is live.
PROPERTY_CUPERTINO_PLAYLIST_FORCE_NONLIVE
public static final [Link] PROPERTY_CUPERTINO_PLAYLIST_FORCE_NONLIVE
DVR Property "dvrCupertinoPlaylistForceLive": used to override playlist request delegate logic that determines if
playlist is live versus non-live.
PROPERTY_CUPERTINO_PLAYLIST_USE_GZIP
public static final [Link] PROPERTY_CUPERTINO_PLAYLIST_USE_GZIP
DVR Property "dvrCupertinoPlaylistUseGzip": used to force Cupertino playlist to use gzip if it is accepted
PROPERTY_CUPERTINO_PLAYLIST_GZIP_THRESHOLD
public static final [Link] PROPERTY_CUPERTINO_PLAYLIST_GZIP_THRESHOLD
DVR Property "dvrCupertinoPlaylistGzipThreshold": when playlist is larger than this number of bytes, and gzip is
enabled and accepted, the playlist will be compressed
DEFAULT_CUPERTINO_PLAYLIST_GZIP_THRESHOLD
public static final int DEFAULT_CUPERTINO_PLAYLIST_GZIP_THRESHOLD
PROPERTY_CUPERTINO_ON_CHUNK_START_RESET_COUNTER
public static final [Link] PROPERTY_CUPERTINO_ON_CHUNK_START_RESET_COUNTER
DVR Property "dvrCupertinoOnChunkStartResetCounter": when a new chunk starts, reset internal tsPacketizer
counters
PROPERTY_CUPERTINO_PLAYLIST_ALLOW_CACHING
public static final [Link] PROPERTY_CUPERTINO_PLAYLIST_ALLOW_CACHING
PROPERTY_CUPERTINO_PUT_END_TAG_BEFORE_CHUNKS
public static final [Link] PROPERTY_CUPERTINO_PUT_END_TAG_BEFORE_CHUNKS
DVR Property "dvrCupertinoPutEndTagBeforeChunks": if set to true, puts the EXT-X-ENDLIST before the DVR
chunks.
PROPERTY_SMOOTH_MANIFEST_LIVE_CAN_SEEK
public static final [Link] PROPERTY_SMOOTH_MANIFEST_LIVE_CAN_SEEK
DEFAULT_PROPERTY_SMOOTH_MANIFEST_LIVE_CAN_SEEK
public static final boolean DEFAULT_PROPERTY_SMOOTH_MANIFEST_LIVE_CAN_SEEK
PROPERTY_SMOOTH_MANIFEST_LIVE_CAN_PAUSE
public static final [Link] PROPERTY_SMOOTH_MANIFEST_LIVE_CAN_PAUSE
DEFAULT_PROPERTY_SMOOTH_MANIFEST_LIVE_CAN_PAUSE
public static final boolean DEFAULT_PROPERTY_SMOOTH_MANIFEST_LIVE_CAN_PAUSE
PROPERTY_SMOOTH_MANIFEST_RECORDED_CAN_SEEK
public static final [Link] PROPERTY_SMOOTH_MANIFEST_RECORDED_CAN_SEEK
DEFAULT_PROPERTY_SMOOTH_MANIFEST_RECORDED_CAN_SEEK
public static final boolean DEFAULT_PROPERTY_SMOOTH_MANIFEST_RECORDED_CAN_SEEK
PROPERTY_SMOOTH_MANIFEST_RECORDED_CAN_PAUSE
public static final [Link] PROPERTY_SMOOTH_MANIFEST_RECORDED_CAN_PAUSE
DEFAULT_PROPERTY_SMOOTH_MANIFEST_RECORDED_CAN_PAUSE
public static final boolean DEFAULT_PROPERTY_SMOOTH_MANIFEST_RECORDED_CAN_PAUSE
PROPERTY_SMOOTH_MANIFEST_RECORDED_SPECIFY_DURATION
public static final [Link]
PROPERTY_SMOOTH_MANIFEST_RECORDED_SPECIFY_DURATION
DEFAULT_PROPERTY_SMOOTH_MANIFEST_RECORDED_SPECIFY_DURATION
public static final boolean DEFAULT_PROPERTY_SMOOTH_MANIFEST_RECORDED_SPECIFY_DURATION
PROPERTY_SMOOTH_MANIFEST_MAJOR_VERSION
public static final [Link] PROPERTY_SMOOTH_MANIFEST_MAJOR_VERSION
DEFAULT_PROPERTY_SMOOTH_MANIFEST_MAJOR_VERSION
public static final int DEFAULT_PROPERTY_SMOOTH_MANIFEST_MAJOR_VERSION
Constant value: 2
PROPERTY_SMOOTH_MANIFEST_MINOR_VERSION
public static final [Link] PROPERTY_SMOOTH_MANIFEST_MINOR_VERSION
DEFAULT_PROPERTY_SMOOTH_MANIFEST_MINOR_VERSION
public static final int DEFAULT_PROPERTY_SMOOTH_MANIFEST_MINOR_VERSION
Constant value: 1
PROPERTY_SMOOTH_MANIFEST_VERBOSE_DURATION
public static final [Link] PROPERTY_SMOOTH_MANIFEST_VERBOSE_DURATION
DVR Property "dvrSmoothManifestVerboseDuration": used to force Smooth Manifest to include durations for each
record
PROPERTY_SMOOTH_MANIFEST_H264_CODEC
public static final [Link] PROPERTY_SMOOTH_MANIFEST_H264_CODEC
DVR Property "dvrSmoothManifestH264Codec": used to force Smooth Manifest to use this as its FourCC H264 codec
info.
PROPERTY_STREAM_DATA
public static final [Link] PROPERTY_STREAM_DATA
[Link]
Class [Link]
[Link]
|
+-[Link]
|
+-[Link]
All Implemented Interfaces:
[Link], Comparable
Field Summary
public static final DVR_TIME
Method Summary
static valueOf(String name)
[Link]
Scale
static values()
[Link]
Scale[]
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
compareTo
Fields
DVR_TIME
public static final [Link] DVR_TIME
PACKET_TIME
public static final [Link] PACKET_TIME
UTC_TIME
public static final [Link] UTC_TIME
Methods
values
public final static [Link][] values()
valueOf
public static [Link] valueOf(String name)
[Link]
Interface IDvrEncryptionInfo
Field Summary
public static final ENCRYPTION_TYPE_CUPERTINO
Cupertino AES encryption type.
Value: 1
Method Summary
Object clone()
int getEncryptionType()
Serialize encryption info.
int getSerializeSize()
Return number of bytes required to serialize this encryption info.
byte[] serialize()
Serialize the encryption info, returning a byte buffer containing the serialized data.
Fields
ENCRYPTION_TYPE_CUPERTINO
public static final int ENCRYPTION_TYPE_CUPERTINO
ENCRYPTION_TYPE_PLAYREADY
public static final int ENCRYPTION_TYPE_PLAYREADY
Constant value: 2
ENCRYPTION_TYPE_MPEGDASH
public static final int ENCRYPTION_TYPE_MPEGDASH
Methods
getSerializeSize
public int getSerializeSize()
Returns:
number of bytes to serialize.
getEncryptionType
public int getEncryptionType()
Serialize encryption info.
• version (1 byte)
• encryption type (1 byte)
• length of 'blob' (2 bytes)
• byte blob (n bytes)
Returns:
encryption type (constants defined in this class)
serialize
public int serialize(byte[] buffer,
int pos)
Parameters:
buffer - buffer to serialize to
pos - position to start serializing
Returns:
new position into buffer
serialize
public byte[] serialize()
Serialize the encryption info, returning a byte buffer containing the serialized data.
Returns:
clone
public Object clone()
throws CloneNotSupportedException
[Link]
Interface IDvrManifest
Interface for a DVR Store manifest. A DVR manifest collects type-specific manifest info, including:
• Audio manifest
• Video manifest
• data manifest
• time map manifest, to map DVR, packet and real time
• codec manifest to track codec information
• onMetadata manifest
The difference between retrieving 'recorded entries' and 'live entries' is an important one. Recorded Entries means every current
manifest entry. Live Entries refers to a subset of these because a playlist will not include the very last entries, as some chunks must be
available for buffering.
Field Summary
public static final CODEC_TYPE
Constant for codec manifest type.
Value: 999
Value: CanPlay
Value: CanRecord
Value: ChunkGrouping
Value: CurrentTime
Value: HasEncryption
Value: PurgeTime
Method Summary
void addToManifest([Link] entries)
Add manifest entries to the manifest
int getNextChunkIndex()
int getNextCodecIndex()
int getNextMetadataIndex()
int getNextTimeMapIndex()
IDvrTimeMap getTimeMap()
boolean hasAudio()
Does manifest contain audio.
boolean hasCodecData()
Does manifest contain codec data.
boolean hasData()
Does manifest contain data.
boolean hasOnMetadata()
Does manifest contain onMetadata.
boolean hasTimeMapData()
Does manifest contain time map info.
boolean hasVideo()
Does manifest contain video.
void initialize()
Initialize the manifest.
void refreshManifest()
Refresh the mainfest.
Fields
ON_METADATA_TYPE
public static final int ON_METADATA_TYPE
CODEC_TYPE
public static final int CODEC_TYPE
TIME_MAP_TYPE
public static final int TIME_MAP_TYPE
MANIFEST_TAGNAME_CAN_RECORD
public static final [Link] MANIFEST_TAGNAME_CAN_RECORD
MANIFEST_TAGNAME_CAN_PLAY
public static final [Link] MANIFEST_TAGNAME_CAN_PLAY
MANIFEST_TAGNAME_HAS_ENCRYPTION
public static final [Link] MANIFEST_TAGNAME_HAS_ENCRYPTION
MANIFEST_TAGNAME_CHUNK_GROUPING
public static final [Link] MANIFEST_TAGNAME_CHUNK_GROUPING
MANIFEST_TAGNAME_PURGE_TIME
public static final [Link] MANIFEST_TAGNAME_PURGE_TIME
MANIFEST_TAGNAME_CURRENT_TIME
public static final [Link] MANIFEST_TAGNAME_CURRENT_TIME
Methods
initialize
public void initialize()
Initialize the manifest. Called after the previous storage has been loaded but before any chunks are added.
refreshManifest
public void refreshManifest()
addToManifest
public void addToManifest([Link] entries)
Parameters:
entries - list of entries.
getRecordedEntries
public [Link] getRecordedEntries(int type)
Get a copy of all manifest entries of a given type. Valid types include: IVHost.CONTENTTYPE_AUDIO,
IVHost.CONTENTTYPE_VIDEO, IVHost.CONTENTTYPE_DATA, ON_METADATA_TYPE, CODEC_TYPE, or TIME_MAP_TYPE
Parameters:
Returns:
list of entries
getRecordedEntriesMap
public [Link] getRecordedEntriesMap(int type)
Get a copy of all manifest entries of a given type as a Map of indices. Valid types include: IVHost.CONTENTTYPE_AUDIO,
IVHost.CONTENTTYPE_VIDEO, IVHost.CONTENTTYPE_DATA, ON_METADATA_TYPE, CODEC_TYPE, or TIME_MAP_TYPE
Parameters:
type - the manifest type.
Returns:
map of entries
getRecordedEntriesInRange
public [Link] getRecordedEntriesInRange(DvrManifestEntryRange range)
Parameters:
range - a range (which consists of a manifest type and a start and end index)
Returns:
list of entries
getLastRecordedEntry
public DvrManifestEntry getLastRecordedEntry(int type)
"Recorded Entries" includes those entries after the end of the playlist.
Parameters:
type - the manifest type.
Returns:
manifest entry
getRecordedEntryByTimeKey
public DvrManifestEntry getRecordedEntryByTimeKey(int type,
long dvrTime)
Get the manifest entry given a manifest type and a time (in DVR units)
Parameters:
type - the manifest type.
dvrTime - DVR time
Returns:
manifest entry
getRecordedEntryByIndex
public DvrManifestEntry getRecordedEntryByIndex(int type,
int index)
Parameters:
type - the manifest type.
index - the index into the manifest
Returns:
manifest entry
getEntriesToPurge
public DvrManifestEntryRangeGroup getEntriesToPurge(long purgeTime)
Given a purge time, return a group of manifest ranges to purge. This method ensures that the purge entries are aligned by index
so that audio and video always remain index aligned.
Parameters:
purgeTime - The DVR time to purge
Returns:
a group of ranges.
purgeEntries
public [Link] purgeEntries(DvrManifestEntryRangeGroup ranges)
Parameters:
ranges - Group of ranges
Returns:
A list of the purged items.
getMetadataEntryForTime
public DvrManifestOnMetadataEntry getMetadataEntryForTime(long dvrTime)
Return most recent metadataEntry for a given DVR time. The manifest for metadata entries is sparse-- it only stores items
periodically. So for a given time t, the returned entry will exist at or before time t.
Parameters:
dvrTime - DVR time
Returns:
onMetadata Entry
getCodecEntryForTime
public DvrManifestCodecEntry getCodecEntryForTime(long dvrTime)
Return most recent codec entry for a given DVR time. The manifest for codec entries is sparse-- it only stores items
periodically. So for a given time t, the returned entry will exist at or before time t.
Parameters:
dvrTime - DVR time
Returns:
Codec Entry
getNumberLiveEntries
public int getNumberLiveEntries(int type,
long dvrStart)
Given manifest type and DVR time, get the number of live entries at the given time.
"Live Entries" means that a couple of the last entries will not be included as they are too close to the live point to be part of the
playlist.
Parameters:
type - the manifest type.
dvrStart - DVR time
Returns:
number of entries.
getNumberLiveEntries
public int getNumberLiveEntries(int type,
long dvrStart,
long dvrEnd)
Given manifest type and DVR time, get the number of live entries at the given time.
"Live Entries" means that a couple of the last entries will not be included as they are too close to the live point to be part of the
playlist.
Parameters:
type - the manifest type.
dvrStart - DVR time
dvrEnd - end DVR time
Returns:
number of entries.
getNumberRecordedEntries
public int getNumberRecordedEntries(int type,
long dvrStart)
Given manifest type and DVR time, get the number of entries at the given time.
"Recorded Entries" includes those entries after the end of the playlist.
Parameters:
type - the manifest type.
dvrStart - DVR time
Returns:
number of entries.
getNumberRecordedEntries
public int getNumberRecordedEntries(int type,
long dvrStart,
long dvrEnd)
Given manifest type and DVR time, get the number of live entries at the given time.
"Recorded Entries" includes those entries after the end of the playlist.
Parameters:
type - the manifest type.
dvrStart - DVR time
dvrEnd - end DVR time
Returns:
number of entries.
getFirstEntry
public DvrManifestEntry getFirstEntry(int type)
Parameters:
type - the manifest type.
Returns:
manifest entry
getLastLiveEntry
public DvrManifestEntry getLastLiveEntry(int type)
"Live Entries" means that a couple of the last entries will not be included as they are too close to the live point to be part of the
playlist.
Parameters:
type - the manifest type.
Returns:
manifest entry
getLiveEntries
public [Link] getLiveEntries(int type,
long dvrStart)
Given manifest type and DVR time, get a list of the live entries.
"Live Entries" means that a couple of the last entries will not be included as they are too close to the live point to be part of the
playlist.
Parameters:
type - the manifest type.
dvrStart - DVR time
Returns:
list of entries.
getLiveEntriesWithLimit
public [Link] getLiveEntriesWithLimit(int type,
long dvrTime,
int limit)
Given manifest type and DVR time, get a list of the live entries limiting number of returned items.
"Live Entries" means that a couple of the last entries will not be included as they are too close to the live point to be part of the
playlist.
Parameters:
type - the manifest type.
dvrTime - DVR time
limit - maximum number of returned items
Returns:
list of entries.
getRecordedEntriesWithLimit
public [Link] getRecordedEntriesWithLimit(int type,
long dvrTime,
int limit)
Given manifest type and DVR time, get a list of recorded entries limiting number of returned items.
"Recorded Entries" includes those entries after the end of the playlist.
Parameters:
type - the manifest type.
dvrTime - DVR time
limit - maximum number of returned items
Returns:
list of entries.
getRecordedEntries
public [Link] getRecordedEntries(int type,
long dvrStartTime)
Given manifest type and DVR time, get a list of recorded entries.
"Recorded Entries" includes those entries after the end of the playlist.
Parameters:
type - the manifest type.
dvrStartTime - DVR time
Returns:
list of entries.
getRecordedEntries
public [Link] getRecordedEntries(int type,
long dvrStartTime,
long dvrEndTime)
Given manifest type and DVR time, get a list of recorded entries.
"Recorded Entries" includes those entries after the end of the playlist.
Parameters:
type - the manifest type.
dvrStartTime - DVR time
dvrEndTime - DVR end time
Returns:
list of entries.
getRecordedDuration
public long getRecordedDuration(int type)
"Recorded Entries" includes those entries after the end of the "live" playlist.
Parameters:
type - the manifest type.
Returns:
duration in seconds
getLiveDuration
public long getLiveDuration(int type)
"Recorded Entries" includes those entries after the end of the "live" playlist.
Parameters:
type - the manifest type.
Returns:
duration in seconds
getDvrTime
public long getDvrTime(int type)
getLastRecordedIndex
public int getLastRecordedIndex(int type)
Parameters:
type
Returns:
index, or -1 if type does not exist
getNextChunkIndex
public int getNextChunkIndex()
getNextMetadataIndex
public int getNextMetadataIndex()
getNextCodecIndex
public int getNextCodecIndex()
getNextTimeMapIndex
public int getNextTimeMapIndex()
getManifestChannel
public DvrChannelManifest getManifestChannel(int type)
Parameters:
type
Returns:
channel manifest
importManifest
public void importManifest(IDvrManifest manifest,
boolean persist)
Parameters:
manifest
persist
getClosestStartTime
public long getClosestStartTime(int type,
long dvrTime)
Given a dvrTime and a manifest type, find the closest chunk starting time.
Parameters:
type - manifest type
dvrTime - DVR time
Returns:
time that corresponds to the closest start time of the given manifest type
expandEndTime
public long expandEndTime(int type,
long dvrEndTime)
expandStartTime
public long expandStartTime(int type,
long dvrStartTime)
hasVideo
public boolean hasVideo()
Returns:
true if it contains video.
hasAudio
public boolean hasAudio()
Returns:
true if it contains audio.
hasData
public boolean hasData()
Returns:
true if it contains data.
hasOnMetadata
public boolean hasOnMetadata()
Returns:
true if it contains onMetadata.
hasCodecData
public boolean hasCodecData()
Returns:
hasTimeMapData
public boolean hasTimeMapData()
Returns:
true if it contains time map info.
serialize
public byte[] serialize(boolean ignoreEntries)
Parameters:
ignoreEntries - If true, the individual manifest entries are not serialized.
Returns:
byte array of serialized data
deserialize
public void deserialize(byte[] bytes)
Deserialize the manifest. Should be called after default constructor for manifest has been called.
Parameters:
bytes - buffer of bytes to deserialize
getTimeMap
public IDvrTimeMap getTimeMap()
[Link]
Interface IDvrPacketConverter
Method Summary
DvrChunk createDvrAudioChunk(long dvrTime, int index, int duration,
DvrPacketHolder holder)
Create audio chunk from set of packets.
Methods
createDvrAudioChunk
public DvrChunk createDvrAudioChunk(long dvrTime,
int index,
int duration,
DvrPacketHolder holder)
Parameters:
dvrTime - DVR start time in milliseconds
index - index of DVR chunk
duration - Duration in milliseconds
holder - packet holder
Returns:
the created chunk or null if chunk not created.
createDvrVideoChunk
public DvrChunk createDvrVideoChunk(long dvrTime,
int index,
int duration,
DvrPacketHolder holder)
Parameters:
Returns:
the created chunk or null if chunk not created.
createDvrDataChunk
public DvrChunk createDvrDataChunk(long dvrTime,
int index,
int duration,
DvrPacketHolder holder)
Parameters:
dvrTime - DVR start time in milliseconds
index - index of DVR chunk
duration - Duration in milliseconds
holder - packet holder
Returns:
the created chunk or null if chunk not created.
createDvrOnMetadataChunk
public DvrChunk createDvrOnMetadataChunk(long dvrTime,
long pt,
AMFPacket metaPacket)
Parameters:
dvrTime - DVR start time in milliseconds
pt - Packet time
metaPacket - metadata packet
Returns:
the created chunk or null if chunk not created.
[Link]
Interface IDvrPacketWriter
Method Summary
void addToChunk(DvrPacketHolder holder)
boolean canRecordAudio()
boolean canRecordData()
boolean canRecordVideo()
void resetStream()
void setCodecInfoAudio([Link]
codecInfoAudio)
void setCodecInfoVideo([Link]
codecInfoVideo)
Methods
sendOnMetadata
public void sendOnMetadata(long pt,
AMFPacket metaPacket)
startChunk
public void startChunk(int streamMode,
int videoCodecId,
int audioCodecId,
long timecode,
long utcTimecode)
addToChunk
public void addToChunk(DvrPacketHolder holder)
endChunk
public void endChunk(long videoEndTime,
long audioEndTime)
setCodecInfoAudio
public void setCodecInfoAudio([Link]
codecInfoAudio)
setCodecInfoVideo
public void setCodecInfoVideo([Link]
codecInfoVideo)
resetStream
public void resetStream()
canRecordAudio
public boolean canRecordAudio()
canRecordVideo
public boolean canRecordVideo()
canRecordData
public boolean canRecordData()
[Link]
Interface IDvrPlayerAdapter
Field Summary
public static final QUERY_PARAM_DVR
Value: DVR
Method Summary
int calcBitrate(IDvrStreamStore store, int type, long t)
Fields
QUERY_PARAM_DVR
public static final [Link] QUERY_PARAM_DVR
Methods
isPlaylistReady
public boolean isPlaylistReady(IDvrStreamStore store,
DvrPlaylistRequest playlistRequest)
isPlaylistReady
public boolean isPlaylistReady([Link] stores,
DvrPlaylistRequest dvrPlaylistRequest)
determineStreamVersion
public String determineStreamVersion(IDvrStreamManager dvrMgr,
String baseStreamName)
calcBitrate
public int calcBitrate(IDvrStreamStore store,
int type,
long t)
getDvrPlaylistRequest
public DvrPlaylistRequest getDvrPlaylistRequest(IHTTPStreamerApplicationContext
appContext,
IDvrStreamStore store,
[Link] queryMap)
getDvrPlaylistRequest
public DvrPlaylistRequest getDvrPlaylistRequest(IHTTPStreamerApplicationContext
appContext,
[Link] stores,
[Link] queryMap)
getPlaylistAlignment
public IDvrMbrPlaylistAlignment getPlaylistAlignment(IHTTPStreamerSession
httpStreamerSession)
[Link]
Interface IDvrPurgeController
Interface for controlling DVR chunk purging. The purge controller is instantiated using a factory class DvrPurgeControllerFactory.
See Also:
[Link],
IDvrPrivateConstants.PROPERTY_PURGE_CONTROL_CLASS
Method Summary
long getCurrentTime()
Get current DVR time.
long getLastPurgeTime()
Get the DVR time when the last purge occurred.
boolean isPurgingEnabled()
Is Purging enabled for this controller.
Methods
init
public void init(IDvrStreamStore store)
Parameters:
store - the DVR stream store
isPurgingEnabled
public boolean isPurgingEnabled()
Returns:
true if purging is active, false otherwise.
setCurrentDvrTime
public void setCurrentDvrTime(long newDvrTime)
Set the current DVR time and perform purge if necessary. This method checks the DVR time against its internal rules for
purging and performs the purge. It is also responsible for setting the last purge time and the next purge time.
Parameters:
newDvrTime
getCurrentTime
public long getCurrentTime()
Get current DVR time. The store is responsible for setting the DVR time via setCurrentDvrTime.
Returns:
current DVR time.
getLastPurgeTime
public long getLastPurgeTime()
Returns:
DVR time of last purge
[Link]
Interface IDvrRawChunkProvider
All Subinterfaces:
IDvrChunkMemoryCache
Interface for providing raw DVR chunks based on a DVR manifest entry.
Method Summary
DvrChunk retrieveRawChunk(DvrManifestChunkEntry entry)
Given the specified manifest entry, return the raw DVR chunk.
Methods
retrieveRawChunk
public DvrChunk retrieveRawChunk(DvrManifestChunkEntry entry)
Given the specified manifest entry, return the raw DVR chunk.
Parameters:
entry - The DVR manifest entry
Returns:
the DVR chunk or null if not able to return the chunk.
[Link]
Interface IDvrRecordingListener
Method Summary
void recordingPaused(IDvrStreamStore store)
Callback when DVR moves to paused state.
Methods
recordingStarted
public void recordingStarted(IDvrStreamStore store)
Parameters:
store - stream store
recordingPaused
public void recordingPaused(IDvrStreamStore store)
Parameters:
store - stream store
recordingResumed
public void recordingResumed(IDvrStreamStore store)
Parameters:
store - stream store
recordingReset
public void recordingReset(IDvrStreamStore store)
Callback when DVR gets reset. For example, if the incoming stream resets.
Parameters:
store - stream store
recordingStopped
public void recordingStopped(IDvrStreamStore store)
Parameters:
store - stream store
timeReset
public void timeReset(IDvrStreamStore store,
long oldDvrTime,
long oldPacketTime,
TimeMapRecord newTime)
Parameters:
store - stream store
oldDvrTime
oldPacketTime - old packet time associated to oldDvrTime
newTime
[Link]
Interface IDvrRecordingsLoader
Method Summary
void init(IDvrStreamManager dvrMgr)
Initialize recordings loader
void loadArchivedRecordings()
Discover and load archived recording
Methods
init
public void init(IDvrStreamManager dvrMgr)
Parameters:
dvrMgr - the DVR Stream Manager
loadArchivedRecordings
public void loadArchivedRecordings()
shouldLoadStream
public boolean shouldLoadStream(String streamName,
[Link] versions)
Should the given archived streams be laoded. The method contains logic which determines if all versions of the given stream
Name should be loaded or not.
Parameters:
streamName - Stream name (unversioned)
versions - sorted set of available versions of this stream
Returns:
true if one or more of the streams should be laoded, false otherwise.
shouldLoadStreamVersion
public boolean shouldLoadStreamVersion(String streamName,
Integer version,
[Link] versions)
Should the given archived stream of specific version be laoded. The method contains logic which determines if all versions of
the given stream Name should be loaded or not.
Parameters:
streamName - Stream name (unversioned)
version - the specific version of the stream we are determining if we should laod
versions - sorted set of all available versions of this stream
Returns:
true if one or more of the streams should be laoded, false otherwise.
[Link]
Interface IDvrStoreChunkListener
Method Summary
void postChunkAdded(IDvrStreamStore store)
Callback after a chunk is written to DVR store
Methods
preChunkAdded
public void preChunkAdded(IDvrStreamStore store)
Parameters:
store - the stream store
postChunkAdded
public void postChunkAdded(IDvrStreamStore store)
Parameters:
store - the stream store
preChunksPurged
public void preChunksPurged(IDvrStreamStore store,
DvrManifestEntryRangeGroup entries)
Parameters:
store - the stream store
entries - list of DVR chunks to be purged
postChunksPurged
public void postChunksPurged(IDvrStreamStore store,
DvrManifestEntryRangeGroup entries,
[Link] deletedEntries)
Parameters:
store - the stream store
entries - list of DVR chunks purged
deletedEntries - list of entries deleted
[Link]
Interface IDvrStoreListener
Method Summary
void dvrStreamStorageDeleted(IDvrStreamStore store, IDvrFileSystem
fileSystem, boolean success)
Callback after DVR store is deleted from disk.
Methods
dvrStreamStoreCreate
public void dvrStreamStoreCreate(IDvrStreamStore store)
Parameters:
store - stream store
dvrStreamStoreInit
public void dvrStreamStoreInit(IDvrStreamStore store)
Parameters:
store - stream store
dvrStreamStoreDestroy
public void dvrStreamStoreDestroy(IDvrStreamStore store)
Parameters:
store - stream store
dvrStreamStorageLoaded
public void dvrStreamStorageLoaded(IDvrStreamManager dvrMgr,
IDvrStreamStore store)
Parameters:
dvrMgr - DVR Application Store Manager
store - stream store
dvrStreamStorageDeleted
public void dvrStreamStorageDeleted(IDvrStreamStore store,
IDvrFileSystem fileSystem,
boolean success)
Parameters:
store
fileSystem - stream store file system
success - whether delete succeeded or failed
[Link]
Interface IDvrStreamManager
All Superinterfaces:
ILiveStreamPacketizer
DVR Stream manager. Manages a live stream and associated DVR stores.
Method Summary
void addDvrRecordingListener(IDvrRecordingListener listener)
Add listener to DVR recording events.
void addRepeaterHeartBeatItem()
boolean canRecord()
Is this stream able to record.
String getArchiveStrategy()
Get the DVR archive strategy.
String getContextStr()
Get stream context string, useful for logging.
IDvrStreamStore getDefaultStreamingStore()
Get the store to be used for streaming.
String getDvrFileSystemClass()
Get the class used for the DVR file system.
String getDvrStorageDir()
Get the storage directory.
int getDvrStorageWindowSeconds()
Get DVR window size.
DvrBaseEncryptionInfo getEncryptionDelegate()
Delegate
Get the encryption delegate for providing streaming side encryption info objects.
String getEncryptionRepeaterSharedSecret()
Get the DVR encryption shared secret.
IDvrStreamStore getHighestVersionedStore()
Return stream store that is highest known version.
int getMinimumAvailableChunks()
Return number of chunks that must be available to stream.
String getPacketizerName()
Get live stream packetizer name.
IDvrStreamStore getRecordingStreamStore()
Get current recording store
String getStreamBaseName()
Get input streamName (no version info).
[Link] getStreamStores()
Get list of all stream stores known to this stream manager.
IDvrStreamVersionHand getStreamVersionHandler()
ler
Get the stream version handler object.
boolean isRecording()
Is this stream currently recording.
boolean isRecordingPaused()
Is this stream currently paused from recording.
IDvrStreamStore pauseRecording()
Request that stream recording pause.
void resetStream()
Reset the stream.
IDvrStreamStore resumeRecording()
Request that stream recording resume.
IDvrStreamStore startRecording()
Request that stream recording start.
IDvrStreamStore stopRecording()
Request that stream recording stop.
Methods
getContextStr
public String getContextStr()
Returns:
stream context string
getStreamBaseName
public String getStreamBaseName()
Returns:
unversioned incoming stream name
getStreamStore
public IDvrStreamStore getStreamStore(String vStreamName)
Given a stream name containing version info, return the associated stream store.
Parameters:
vStreamName - versioned stream name
Returns:
store or null
getPacketizerName
public String getPacketizerName()
Returns:
live stream packetizer name
getStreamStores
public [Link] getStreamStores()
Returns:
list of stream stores.
getHighestVersionedStore
public IDvrStreamStore getHighestVersionedStore()
Returns:
stream store
getMinimumAvailableChunks
public int getMinimumAvailableChunks()
Returns:
minimum available chunks
setRecordingStreamStore
public void setRecordingStreamStore(IDvrStreamStore store)
Parameters:
store - stream store, or null
getRecordingStreamStore
public IDvrStreamStore getRecordingStreamStore()
Returns:
current recording store (may be null)
setDefaultStreamingStore
public void setDefaultStreamingStore(IDvrStreamStore store)
Parameters:
store - store to stream.
getDefaultStreamingStore
public IDvrStreamStore getDefaultStreamingStore()
Returns:
store to stream.
getDvrStorageWindowSeconds
public int getDvrStorageWindowSeconds()
Returns:
window size in seconds (0 means infinite window size)
getDvrStorageDir
public String getDvrStorageDir()
Returns:
storage directory
getDvrFileSystemClass
public String getDvrFileSystemClass()
Returns:
fully qualified class name
getArchiveStrategy
public String getArchiveStrategy()
Returns:
The archive strategy
getEncryptionRepeaterSharedSecret
public String getEncryptionRepeaterSharedSecret()
Returns:
shared secret.
getEncryptionDelegate
public DvrBaseEncryptionInfoDelegate getEncryptionDelegate()
Get the encryption delegate for providing streaming side encryption info objects.
Returns:
delegate
getStreamVersionHandler
public IDvrStreamVersionHandler getStreamVersionHandler()
Returns:
stream version handler object.
setStreamVersionHandler
public void setStreamVersionHandler(IDvrStreamVersionHandler handler)
Set the stream version handler object. Must be called after the stream manager is created and before it is initialized.
Parameters:
handler - stream version handler object.
resetStream
public void resetStream()
canRecord
public boolean canRecord()
Returns:
true if this stream is recordable.
isRecording
public boolean isRecording()
Is this stream currently recording. If this stream is not recordable, the method returns false.
Returns:
true if has a recording stream and it is recording.
isRecordingPaused
public boolean isRecordingPaused()
Is this stream currently paused from recording. If this stream is not recording and not paused, the method returns false.
Returns:
true if has a recording is paused.
startRecording
public IDvrStreamStore startRecording()
Used internally. Clients should call [Link](). Note that this call places the DVR
stream store in the recording state. If the stream store is in the paused state, DVR recording will not occur.
If there is not currently a stream store for recording, one will attempt to be created. A successful start will result in registered
IDvrRecordingListeners to have their [Link](IDvrStreamStore)
method called.
Success only occurs if the stream canRecord [Link]() and the stream is not already in the
recording state.
Returns:
store if successful. null otherwise.
stopRecording
public IDvrStreamStore stopRecording()
Used internally. Clients should call [Link](). Note that this call places the DVR
stream in the not recording state.
Success only occurs if the stream is already in the recording state [Link]().
Returns:
store if successful. null otherwise.
pauseRecording
public IDvrStreamStore pauseRecording()
Used internally. Clients should call [Link](). The stream does not have to be
actively recording to be paused. For example, it could be paused before packets start flowing.
Returns:
store if successful. null otherwise.
resumeRecording
public IDvrStreamStore resumeRecording()
Used internally. Clients should call [Link](). The stream does not have to be
actively recording to be resumed. For example, it could have been paused before the stream started, and this call would move it
out of the paused state.
Returns:
store if successful. null otherwise.
loadArchivedStore
public IDvrStreamStore loadArchivedStore(String vStreamName,
DvrManifestHolder manifestHolder)
Parameters:
vStreamName - versioned stream Name (e.g. myStream.0)
manifestHolder - manifest holder containing list of manifest properties
Returns:
stream store
deleteArchivedStore
public void deleteArchivedStore(String vStreamName)
Parameters:
vStreamName - versioned stream Name (e.g. myStream.0)
addManifestEntries
public void addManifestEntries(String vStreamName,
[Link] entries)
Parameters:
vStreamName - versioned stream Name (e.g. myStream.0)
entries - list of manifest entries.
purgeManifestEntries
public void purgeManifestEntries(String vStreamName,
DvrManifestEntryRangeGroup rangeGroup)
Parameters:
vStreamName - versioned stream Name (e.g. myStream.0)
rangeGroup - set of ranges for purging
storeChunks
public DvrChunkStorageInfo storeChunks(int vDuration,
DvrPacketHolder vPackets,
int aDuration,
DvrPacketHolder aPackets,
int dDuration,
DvrPacketHolder dPackets)
storeOnMetadata
public boolean storeOnMetadata(long pt,
long utc,
AMFPacket metaPacket)
addDvrStoreListener
public void addDvrStoreListener(IDvrStoreListener listener)
Parameters:
listener - listener
removeDvrStoreListener
public void removeDvrStoreListener(IDvrStoreListener listener)
Parameters:
listener - listener
addDvrRecordingListener
public void addDvrRecordingListener(IDvrRecordingListener listener)
Parameters:
listener - listener
removeDvrRecordingListener
public void removeDvrRecordingListener(IDvrRecordingListener listener)
Parameters:
listener - listener
notifyDvrStreamStoreCreate
public void notifyDvrStreamStoreCreate(IDvrStreamStore store)
notifyDvrStreamStoreInit
public void notifyDvrStreamStoreInit(IDvrStreamStore store)
notifyDvrStreamStoreDestroy
public void notifyDvrStreamStoreDestroy(IDvrStreamStore store)
notifyDvrStreamStoreLoaded
public void notifyDvrStreamStoreLoaded(IDvrStreamStore store)
notifyDvrStreamStorageDeleted
public void notifyDvrStreamStorageDeleted(IDvrStreamStore store,
IDvrFileSystem fileSystem,
boolean success)
notifyTimeReset
public void notifyTimeReset(IDvrStreamStore store,
long oldDvrTime,
long oldPacketTime,
TimeMapRecord newTimeMapRecord)
getInitialRepeaterItems
public void getInitialRepeaterItems([Link] items)
When an edge initially requests the items, instead if sending the entire manifest and all repeater items up until that point, the
player sends a DvrRepeaterHolder.REPEATER_INITIAL_MANIFEST event followed by several
DvrRepeaterHolder.REPEATER_ADD_MANIFEST_ENTRIES events.
Parameters:
items
getRepeaterItemsDvr
public void getRepeaterItemsDvr([Link] items,
long lastSeq)
initialManifest
public void initialManifest(String vStreamName,
IDvrManifest manifest)
initialManifestEnd
public void initialManifestEnd(String vStreamName)
initialAttributes
public void initialAttributes(String vStreamName,
int dvrWindow)
stateChange
public void stateChange(String vStreamName,
DvrStreamStoreState state)
removeStreamStore
public void removeStreamStore(String vStreamName)
addRepeaterHeartBeatItem
public void addRepeaterHeartBeatItem()
[Link]
Interface IDvrStreamStore
Method Summary
void addDvrChunkListener(IDvrStoreChunkListener listener)
Add (very fine) listener for chunk events.
boolean canPlay()
Is this store capable of playing.
boolean canRecord()
Is this store capable of recording.
IApplicationInstance getAppInstance()
Get associated application instance.
IDvrChunker getChunker()
String getContextStr()
Get stream context string, useful for logging.
IDvrStreamManager getDvrManager()
Get DVR Stream Manager
int getDvrStorageWindowSeconds()
Get DVR window size.
IDvrFileSystem getFileSystem()
IDvrManifest getManifest()
Get manifest
WMSProperties getProperties()
Get stream store properties.
IDvrPurgeController getPurgeController()
Get purge controller for stream store.
String getStreamName()
Get versioned stream name.
DvrTimeMapper getTimeMapper()
Get time mapper, which maps between DVR, real and packet time.
boolean hasAudio()
Does this store have audio.
boolean hasData()
Does this store have data.
boolean hasEncryption()
Does this store contain encryption information
boolean hasOnMetadata()
Does this store have on metadata.
boolean hasVideo()
Does this store have video.
void init()
Initialize DVR stream store.
boolean isLive()
Is store currently live For an origin, isRecording() and isLive() will typically return the
same result.
boolean isLoaded()
boolean isRecording()
Is store currently recording.
boolean isRecordingPaused()
Is store currently paused while recording.
boolean pauseRecording()
Request that stream recording pause.
void reset()
boolean resumeRecording()
Request that stream recording resume.
void shutdown()
boolean startRecording()
Request that recording start.
boolean stopRecording()
Request that stream recording stop.
Methods
init
public void init()
reset
public void reset()
shutdown
public void shutdown()
getProperties
public WMSProperties getProperties()
Returns:
properties
getDvrStorageWindowSeconds
public int getDvrStorageWindowSeconds()
Get DVR window size. This may be set by setting the IDvrStreamStore's property
IDvrConstants.PROPERTY_WINDOW_DURATION after the store is created and before it is initialized by using the
[Link](IDvrStreamStore)
Returns:
window size in seconds (0 means infinite window size)
getStreamName
public String getStreamName()
Returns:
(versioned) stream name
getContextStr
public String getContextStr()
Returns:
stream context string
getDvrManager
public IDvrStreamManager getDvrManager()
Returns:
DVR Stream Manager
getAppInstance
public IApplicationInstance getAppInstance()
Returns:
application instance.
getManifest
public IDvrManifest getManifest()
Get manifest
Returns:
manifest
getTimeMapper
public DvrTimeMapper getTimeMapper()
Get time mapper, which maps between DVR, real and packet time.
Returns:
time mapper
getPurgeController
public IDvrPurgeController getPurgeController()
Returns:
purge controller
getFileSystem
public IDvrFileSystem getFileSystem()
getChunker
public IDvrChunker getChunker()
canRecord
public boolean canRecord()
Returns:
true if store can record
isLoaded
public boolean isLoaded()
setCanRecord
public void setCanRecord(boolean canRecord)
Parameters:
canRecord
canPlay
public boolean canPlay()
Returns:
true if store can play
setCanPlay
public void setCanPlay(boolean canPlay)
Parameters:
canPlay
setHasEncryption
public void setHasEncryption(boolean hasEncryption)
Parameters:
hasEncryption - if store has encryption
hasEncryption
public boolean hasEncryption()
Returns:
true if store contains encryption
hasVideo
public boolean hasVideo()
Returns:
true if store contains video, false otherwise.
hasAudio
public boolean hasAudio()
Returns:
true if store contains audio, false otherwise.
hasData
public boolean hasData()
Returns:
true if store contains data, false otherwise.
hasOnMetadata
public boolean hasOnMetadata()
Returns:
true if store contains on metadata, false otherwise.
startRecording
public boolean startRecording()
Success occurs if the stream canRecord canRecord() and the stream is not already in the recording state isRecording().
Returns:
true if successful.
pauseRecording
public boolean pauseRecording()
Returns:
true if successful.
resumeRecording
public boolean resumeRecording()
Returns:
true if successful.
stopRecording
public boolean stopRecording()
Request that stream recording stop. This shuts down saving of chunks
Success only occurs if the stream is already in the recording state isRecording().
Returns:
true if successful.
isRecordingPaused
public boolean isRecordingPaused()
Returns:
true if recording is paused.
isRecording
public boolean isRecording()
Returns:
true if recording
isLive
public boolean isLive()
Is store currently live For an origin, isRecording() and isLive() will typically return the same result. On an origin,
isRecording() will always be false. But isLive() will reflect the status of the repeated stream.
Returns:
true if live
storeChunks
public DvrChunkStorageInfo storeChunks(int vDuration,
DvrPacketHolder vPackets,
int aDuration,
DvrPacketHolder aPackets,
int dDuration,
DvrPacketHolder dPackets)
storeOnMetadata
public boolean storeOnMetadata(long pt,
long utc,
AMFPacket metaPacket)
purgeEntries
public void purgeEntries(DvrManifestEntryRangeGroup rangeGroup)
Parameters:
rangeGroup - s set of ranges for purging
addManifestEntries
public void addManifestEntries([Link] entries)
addDvrChunkListener
public void addDvrChunkListener(IDvrStoreChunkListener listener)
Parameters:
listener - listener
removeDvrChunkListener
public void removeDvrChunkListener(IDvrStoreChunkListener listener)
Parameters:
listener - listener
getRecordedEntriesWithLimit
public [Link] getRecordedEntriesWithLimit(int fragmentType,
long t,
int limit)
getRecordedEntryByIndex
public DvrManifestEntry getRecordedEntryByIndex(int fragmentType,
int index)
getRecordedEntryByTime
public DvrManifestEntry getRecordedEntryByTime(int fragmentType,
long t)
getDvrChunkByIndex
public DvrChunk getDvrChunkByIndex(int fragmentType,
int index)
getDvrChunkAtTime
public DvrChunk getDvrChunkAtTime(int fragmentType,
long t)
getDvrChunkNearTime
public DvrChunk getDvrChunkNearTime(int fragmentType,
long t,
long delta)
getClosestStartTime
public long getClosestStartTime(int type,
long t)
[Link]
Interface IDvrStreamVersionHandler
All Known Implementing Classes:
DefaultDvrStreamVersionHandler
Method Summary
IDvrStreamStore determineExistingStoreForPlaying(IDvrStreamManager dvrManager, String
baseStreamName)
When a session requests a stream store w/o specifying the version, we need gto determine the
version of the stream to store.
Methods
determineExistingStoreForRecording
public IDvrStreamStore determineExistingStoreForRecording(IDvrStreamManager
dvrManager,
String baseStreamName)
After a set of versioned streams are loaded from disk, one of them may be designated the stream that will be recorded to (i.e.
append mode).
The default implementation says that if append mode, then the highest versioned stream that has canRecord set to true is used.
But this API, allows for a more detailed logic.
Parameters:
dvrManager - The DVR Stream Manager
baseStreamName - The base stream name (no version info). e.g. myStream
Returns:
stream store to append to, null if no stream in the stream group is to be appended to.
See Also:
DefaultDvrStreamVersionHandler
determineExistingStoreForPlaying
public IDvrStreamStore determineExistingStoreForPlaying(IDvrStreamManager dvrManager,
String baseStreamName)
When a session requests a stream store w/o specifying the version, we need gto determine the version of the stream to store.
The default implementation first checks the recording stream. If it 'canPlay(), it is returned. Otherwise, the highest versioned
stream that canRecord set to true is used.
Parameters:
dvrManager - The DVR Stream Manager
baseStreamName - The base stream name (no version info). e.g. myStream
Returns:
stream store to stream, null if no stream in the stream group can be played.
See Also:
DefaultDvrStreamVersionHandler
getArchiveStrategy
public String getArchiveStrategy(IDvrStreamManager dvrManager,
String baseStreamName)
Typically, this returns the archive strategy as specified in [Link], but this API provides a hook for more detailed logic
in determining the strategy.
Parameters:
dvrManager - The DVR App Instance Manager
baseStreamName - The base stream name (no version info). e.g. myStream
Returns:
the archive strategy
See Also:
DefaultDvrStreamVersionHandler
IDvrConstants.ARCHIVE_STRATEGY_APPEND
IDvrConstants.ARCHIVE_STRATEGY_DELETE
IDvrConstants.ARCHIVE_STRATEGY_VERSION
handleArchivedStream
public boolean handleArchivedStream(IDvrStreamManager dvrManager,
String baseStreamName,
String version,
[Link] versions,
DvrManifestHolder manifest)
When a stream group inits, the file system is checked for older versions of the streams. This method is called to handle the
streams.
Parameters:
dvrManager - The DVR Stream Manager
baseStreamName - The base stream name (no version info). e.g. myStream
version - The version of the stream to be loaded.
versions - A sorted set of all the versions that are attempting to be loaded
manifest - The main manifest info of the stream
Returns:
true if handled in some manner, false if ignored (unhandled)
See Also:
DefaultDvrStreamVersionHandler
shouldLoadArchivedStream
public boolean shouldLoadArchivedStream(IDvrStreamManager dvrManager,
String baseStreamName,
String version,
[Link] versions,
DvrManifestHolder manifest)
Parameters:
dvrManager - The DVR Stream Manager
baseStreamName - The base stream name (no version info). e.g. myStream
version - The version of the stream to be loaded.
versions - A sorted set of all the versions that are attempting to be loaded
manifest - The main manifest info of the stream
Returns:
true if should be loaded. false if not.
See Also:
DefaultDvrStreamVersionHandler
shouldDeleteArchivedStream
public boolean shouldDeleteArchivedStream(IDvrStreamManager dvrManager,
IDvrStreamStore store)
Parameters:
dvrManager - The DVR Stream Manager
store - The DVR store
Returns:
true if should be deleted. false if not.
See Also:
DefaultDvrStreamVersionHandler
[Link]
Interface IDvrTextReader
Method Summary
void init(IApplicationInstance appInstance, IMediaStream stream,
IDvrFileSystem fileSystem, String artifactName)
Methods
init
public void init(IApplicationInstance appInstance,
IMediaStream stream,
IDvrFileSystem fileSystem,
String artifactName)
[Link]
Interface IDvrTextWriter
Method Summary
void init(IApplicationInstance appInstance, IMediaStream stream,
IDvrFileSystem fileSystem, String artifactName)
Methods
init
public void init(IApplicationInstance appInstance,
IMediaStream stream,
IDvrFileSystem fileSystem,
String artifactName)
[Link]
Interface IDvrTimeMap
All Superinterfaces:
IDvrChannelManifest
Method Summary
boolean containsTime(long startTime, [Link] timeScale)
[Link] getTimeMap()
[Link] getTimeMapEntries()
Methods
getTimeMap
public [Link] getTimeMap()
getTimeMapEntries
public [Link] getTimeMapEntries()
dvrToUtc
public long dvrToUtc(long dt)
dvrToPt
public long dvrToPt(long dt)
ptToDvr
public long ptToDvr(long pt)
utcToDvr
public long utcToDvr(long utc)
toDvr
public long toDvr(long t,
[Link] timeScale)
containsTime
public boolean containsTime(long startTime,
[Link] timeScale)
[Link]
Class HTTProvider2Base
[Link]
|
+-[Link].HTTProvider2Base
All Implemented Interfaces:
IHTTPProvider2
[Link]([Link]).error("HTTPHelloWowza: "+[Link]());
}
}
}
Field Summary
protected authenticateHandler
protected authenticateHTTPProviderHandler
protected authenticationMethod
protected filters
protected properties
protected requestFilters
Constructor Summary
public HTTProvider2Base()
Method Summary
boolean canHandle(String path)
Return true if can handle the request
String getAuthenticationMethod()
Get the authentication method: digest, basic, none...
String getRequestFilters()
Get the request filter
void init()
Initialize the HTTPProvider
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
properties
protected [Link] properties
filters
protected [Link] filters
requestFilters
protected [Link] requestFilters
authenticateHandler
protected [Link] authenticateHandler
authenticateHTTPProviderHandler
protected [Link]
authenticateHTTPProviderHandler
authenticationMethod
protected [Link] authenticationMethod
Constructors
HTTProvider2Base
public HTTProvider2Base()
Methods
init
public void init()
canHandle
public boolean canHandle(String path)
Parameters:
path - request path
Returns:
true, if can handle the request
getPath
public String getPath(IHTTPRequest req,
boolean removeFilter)
Parameters:
req - request
removeFilter - set to true to remove filter part of URL
Returns:
path
setRequestFilters
public void setRequestFilters(String requestFilters)
Parameters:
requestFilters - request filter
getRequestFilters
public String getRequestFilters()
Returns:
request filter
setProperties
public void setProperties(WMSProperties properties)
Set properties
Parameters:
properties - properties
onBind
public void onBind(IVHost vhost,
HostPort hostPort)
Parameters:
vhost - vhost
hostPort - host port
onUnbind
public void onUnbind(IVHost vhost,
HostPort hostPort)
Parameters:
vhost - vhost
hostPort - host port
getAuthenticationMethod
public String getAuthenticationMethod()
Returns:
authentication method
setAuthenticationMethod
public void setAuthenticationMethod(String authenticationMethod)
Parameters:
authenticationMethod - authentication method
doHTTPAuthentication
public boolean doHTTPAuthentication(IVHost vhost,
IHTTPRequest req,
IHTTPResponse resp)
Parameters:
vhost - vhost
req - request
resp - response
Returns:
true, if request should be handled by the HTTPProvider subclass
[Link]
Interface IHTTPProvider
All Subinterfaces:
IHTTPProvider2
IHTTPProvider: HTTP provider class for a given HostPort definition. Receive all HTTP requests that are not RTMPT requests. See
IHTTPProvider2 for the extended version of this interface.
Method Summary
void onBind(IVHost vhost, HostPort hostPort)
Triggered after hostPort binds to socket
Methods
onBind
public void onBind(IVHost vhost,
HostPort hostPort)
Parameters:
vhost - parent vhost
hostPort - host port definition
onHTTPRequest
public void onHTTPRequest(IVHost vhost,
IHTTPRequest req,
IHTTPResponse resp)
Triggered for each HTTP request to the given hostPort that is not an RTMPT request.
Parameters:
vhost - parent vhost
req - HTML requestion object
resp - HTML response object
onUnbind
public void onUnbind(IVHost vhost,
HostPort hostPort)
Parameters:
vhost - parent vhost
hostPort - host port definition
setProperties
public void setProperties(WMSProperties properties)
[Link]
Interface IHTTPProvider2
All Superinterfaces:
IHTTPProvider
IHTTPProvider2: Extension of IHTTPProvider that adds support for multiple HTTProviders attached to a single HostPort along with
authentication. Multiple HTTPProviders can be added to a HostPort definition. They are configured as follows:
<HTTPProvider>
<BaseClass>[Link]</BaseClass>
<RequestFilters>*serverversion</RequestFilters>
<AuthenticationMethod>none</AuthenticationMethod>
</HTTPProvider>
import [Link].*;
import [Link].*;
import [Link].*;
import [Link].*;
import [Link].*;
[Link]([Link]).error("HTMLServerVersion:
"+[Link]());
}
}
}
Method Summary
boolean canHandle(String path)
String getAuthenticationMethod()
String getRequestFilters()
void init()
Methods
canHandle
public boolean canHandle(String path)
setRequestFilters
public void setRequestFilters(String requestFilters)
getRequestFilters
public String getRequestFilters()
init
public void init()
getAuthenticationMethod
public String getAuthenticationMethod()
setAuthenticationMethod
public void setAuthenticationMethod(String authenticationMethod)
[Link]
Interface IHTTPRequest
Method Summary
int getContentLength()
Get the content length of the body of the message
String getContentType()
Get the request content type
byte[] getHeaderBytes()
Returns the header as bytes
[Link] getHeaderMap()
Get a copy of the HTTP request header map
[Link] getHeaderNames()
Get a Set of the header names
[Link] getInputStream()
Get the body of the message as an input stream
[Link] getLocale()
Get locale of request (Example: en-us)
String getMethod()
Get the method invokation method: GET, POST, HEAD
byte[] getMsgBytes()
Return the message bytes
[Link] getParameterMap()
Get the entire parameter Map
[Link] getParameterNames()
Get a Set of parameter names
String getPath()
Returns the HTTP path element of the request
String getProtocol()
Get the request protocol (example: HTTP/1.1)
String getQueryString()
Get the query string part of the url (everything after the ?)
String getRemoteAddr()
Get the remote ip address of the request
String getRemoteHost()
Get the remote host name (if known) if not return ip address
String getRequestURI()
Get the full request URI
String getRequestURL()
Get the request url (same as URI minus the query string)
String getScheme()
Get the request scheme (Example "http")
String getServerName()
Get the name of the server (Example: "Wowza Media Server Pro")
int getServerPort()
Get the port this request was received on
boolean isHeadRequest()
Returns true if the request is a HEAD request
boolean isSecure()
Returns true is the request is protected by SSL
void parseBodyForParams()
If the body of the message contains parameter data (data in name value pairs separated by &
character) call this routine to decode those parameters and add them to the parameter map.
Methods
getHeaderMap
public [Link] getHeaderMap()
Returns:
copy of the HTTP request header map
getHeader
public String getHeader(String name)
Parameters:
name - header name
Returns:
header value
getIntHeader
public int getIntHeader(String name)
Parameters:
name - header name
Returns:
header value
getHeaderNames
public [Link] getHeaderNames()
Returns:
Set of header names
getMethod
public String getMethod()
Returns:
method
getQueryString
public String getQueryString()
Get the query string part of the url (everything after the ?)
Returns:
query string
getContentLength
public int getContentLength()
Returns:
content length of the body of the message
getRequestURI
public String getRequestURI()
Returns:
full request URI
getRequestURL
public String getRequestURL()
Get the request url (same as URI minus the query string)
Returns:
request url
getContentType
public String getContentType()
Returns:
request content type
parseBodyForParams
public void parseBodyForParams(boolean doDecode)
If the body of the message contains parameter data (data in name value pairs separated by & character) call this routine to
decode those parameters and add them to the parameter map.
Parameters:
doDecode - true to decode the params as though they are url params
parseBodyForParams
public void parseBodyForParams()
If the body of the message contains parameter data (data in name value pairs separated by & character) call this routine to
decode those parameters and add them to the parameter map.
getParameter
public String getParameter(String name)
Parameters:
name - parameter name
Returns:
parameter value
getParameterNames
public [Link] getParameterNames()
Returns:
Set of parameter names
getParameterValues
public String[] getParameterValues(String name)
Parameters:
name - parameter name
Returns:
multi-value parameter as an array of String
getParameterMap
public [Link] getParameterMap()
Returns:
parameter Map
getInputStream
public [Link] getInputStream()
Returns:
body of the message as an input stream
getProtocol
public String getProtocol()
Returns:
request protocol
getScheme
public String getScheme()
Returns:
request scheme
getServerName
public String getServerName()
Get the name of the server (Example: "Wowza Media Server Pro")
Returns:
getServerPort
public int getServerPort()
Returns:
the port this request was received on
getRemoteAddr
public String getRemoteAddr()
Returns:
remote ip address of the request
getRemoteHost
public String getRemoteHost()
Get the remote host name (if known) if not return ip address
Returns:
remote host name
getLocale
public [Link] getLocale()
Returns:
locale of request
isSecure
public boolean isSecure()
Returns:
true is the request is protected by SSL
getPath
public String getPath()
Returns:
HTTP path element of the request
getHeaderBytes
public byte[] getHeaderBytes()
Returns:
header as bytes
getMsgBytes
public byte[] getMsgBytes()
Returns:
message bytes
isHeadRequest
public boolean isHeadRequest()
Returns:
true if the request is a HEAD request
[Link]
Interface IHTTPResponse
Method Summary
boolean containsHeader(String name)
Returns true if response header contains parameter name
[Link] getHeaders()
Get the current response headers as a map
int getHeaderSize()
Get the size in bytes of the HTTP header
[Link] getOutputStream()
Get the output stream for the response.
boolean isHeadResponse()
returns true if the response is due to a HEAD request
Methods
getOutputStream
public [Link] getOutputStream()
Get the output stream for the response. You can then write directly into the output stream.
Returns:
output stream for the response
containsHeader
public boolean containsHeader(String name)
Parameters:
name - header parameter name
Returns:
true if header contains value
setHeader
public void setHeader(String name,
String value)
Parameters:
name - header parameter name
value - parameter value
removeHeader
public void removeHeader(String name)
Parameters:
name - name
setIntHeader
public void setIntHeader(String name,
int value)
Parameters:
name - header parameter name
value - parameter value
getHeaders
public [Link] getHeaders()
Returns:
current response headers as a map
getHeader
public String getHeader(String name)
Parameters:
name - header parameter name
Returns:
parameter value
getIntHeader
public int getIntHeader(String name)
Parameters:
name - header parameter name
Returns:
parameter value
setResponseCode
public void setResponseCode(int responseCode)
Parameters:
responseCode - HTTP response code
getHeaderSize
public int getHeaderSize()
Returns:
header size in bytes
setHeadResponse
public void setHeadResponse(boolean isHeadResponse)
Parameters:
isHeadResponse - indicating if this is a response to a HEAD request
isHeadResponse
public boolean isHeadResponse()
Returns:
true if the response is due to a HEAD request
[Link]
Class HTTPStreamerSessionCupertino
[Link]
|
+-[Link]
|
+-
[Link]
All Implemented Interfaces:
IHTTPSessionNotify, IHTTPStreamerSession
SESSIONPROTOCOL_COUNT, SESSIONPROTOCOL_CUPERTINOSTREAMING,
SESSIONPROTOCOL_DIRECTSTREAMING, SESSIONPROTOCOL_DVRCHUNKSTREAMING,
SESSIONPROTOCOL_MPEGDASHSTREAMING, SESSIONPROTOCOL_SANJOSESTREAMING,
SESSIONPROTOCOL_SMOOTHSTREAMING, SESSIONPROTOCOL_UNKNOWN, SESSIONPROTOCOL_WEBMSTREAMING,
SESSIONTYPE_LIVE, SESSIONTYPE_LIVEDVR, SESSIONTYPE_UNKNOWN, SESSIONTYPE_VOD
Constructor Summary
public HTTPStreamerSessionCupertino()
Method Summary
void clearLoggingValues()
void shutdown()
void updateLoggingValues()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
notifyHTTPSessionCreate, notifyHTTPSessionDestroy
Constructors
HTTPStreamerSessionCupertino
public HTTPStreamerSessionCupertino()
Methods
shutdown
public void shutdown()
containsIndex
public boolean containsIndex(String streamName)
getIndex
public IHTTPStreamerCupertinoIndex getIndex(IHTTPStreamerApplicationContext
appContext,
IHTTPStreamerSession httpStreamerSession,
String rawStreamName,
String streamExt,
String streamName,
long playStart,
long playDuration,
TimedTextRequest captionRequest,
String vodTranscodeNGRP)
updateLoggingValues
public void updateLoggingValues()
clearLoggingValues
public void clearLoggingValues()
logLiveChunk
public void logLiveChunk(LiveStreamPacketizerCupertinoChunk chunk)
logVODChunk
public void logVODChunk(LiveStreamPacketizerCupertinoChunk chunk)
notifyHTTPSessionCreate
public void notifyHTTPSessionCreate(IApplicationInstance appInstance,
IHTTPStreamerSession httpStreamerSession)
notifyHTTPSessionDestroy
public void notifyHTTPSessionDestroy(IApplicationInstance appInstance,
IHTTPStreamerSession httpStreamerSession)
indexTranscoderVOD
public void indexTranscoderVOD(IHTTPStreamerApplicationContext appContext,
String vodTranscodeNGRP)
[Link]
Interface IHTTPStreamerCupertinoVODActionNotify
All Subinterfaces:
IHTTPStreamerCupertinoVODActionNotify2
Method Summary
void onCreate(IHTTPStreamerCupertinoIndex fileIndex,
IHTTPStreamerApplicationContext appContext, IHTTPStreamerSession
httpStreamerSession, String rawStreamName, String streamExt, String
streamName)
Called when file index created
Methods
onCreate
public void onCreate(IHTTPStreamerCupertinoIndex fileIndex,
IHTTPStreamerApplicationContext appContext,
IHTTPStreamerSession httpStreamerSession,
String rawStreamName,
String streamExt,
String streamName)
Parameters:
fileIndex - file index
appContext - HTTP application context
httpStreamerSession - HTTP streaming session
rawStreamName - stream name
streamExt - stream extension
streamName - adjusted stream name
onInit
public void onInit(IHTTPStreamerCupertinoIndex fileIndex,
IHTTPStreamerApplicationContext appContext,
IHTTPStreamerSession httpStreamerSession,
String rawStreamName,
String streamExt,
String streamName)
Parameters:
fileIndex - file index
appContext - HTTP application context
httpStreamerSession - HTTP streaming session
rawStreamName - stream name
streamExt - stream extension
streamName - adjusted stream name
onOpen
public void onOpen(IHTTPStreamerCupertinoIndex fileIndex,
IHTTPStreamerApplicationContext appContext,
IHTTPStreamerSession httpStreamerSession,
String rawStreamName,
String streamExt,
String streamName)
Parameters:
fileIndex - file index
appContext - HTTP application context
httpStreamerSession - HTTP streaming session
rawStreamName - stream name
streamExt - stream extension
streamName - adjusted stream name
onIndex
public void onIndex(IHTTPStreamerCupertinoIndex fileIndex,
IHTTPStreamerApplicationContext appContext,
IHTTPStreamerSession httpStreamerSession,
String rawStreamName,
String streamExt,
String streamName)
Parameters:
fileIndex - file index
appContext - HTTP application context
httpStreamerSession - HTTP streaming session
rawStreamName - stream name
streamExt - stream extension
streamName - adjusted stream name
onFillChunkStart
public void onFillChunkStart(IHTTPStreamerCupertinoIndex fileIndex,
IHTTPStreamerCupertinoIndexItem item,
LiveStreamPacketizerCupertinoChunk chunk,
boolean audioOnly)
Called each time a chunk is filled. Can be used to add ID3 data to the header of a chunk.
Parameters:
fileIndex - file index
item - index item
chunk - chunk being filled
audioOnly - is audio-only chunk
onFillChunkEnd
public void onFillChunkEnd(IHTTPStreamerCupertinoIndex fileIndex,
IHTTPStreamerCupertinoIndexItem item,
LiveStreamPacketizerCupertinoChunk chunk,
boolean audioOnly)
Called after each chunk is filled. Can be used to add ID3 data to the end of a chunk.
Parameters:
fileIndex - file index
item - index item
chunk - chunk being filled
audioOnly - is audio-only chunk
onDestroy
public void onDestroy(IHTTPStreamerCupertinoIndex fileIndex)
Parameters:
fileIndex - file index
[Link]
Interface IHTTPStreamerCupertinoVODActionNotify2
All Superinterfaces:
IHTTPStreamerCupertinoVODActionNotify
Method Summary
void onFillChunkDataPacket(IHTTPStreamerCupertinoIndex fileIndex,
IHTTPStreamerCupertinoIndexItem item,
LiveStreamPacketizerCupertinoChunk chunk, boolean audioOnly, AMFPacket
packet, ID3Frames id3Frames)
Called when data packet is encountered.
Methods
onFillChunkDataPacket
public void onFillChunkDataPacket(IHTTPStreamerCupertinoIndex fileIndex,
IHTTPStreamerCupertinoIndexItem item,
LiveStreamPacketizerCupertinoChunk chunk,
boolean audioOnly,
AMFPacket packet,
ID3Frames id3Frames)
Called when data packet is encountered. Used to convert AMF events into ID3 tags for iOS streaming
Parameters:
fileIndex - file index
item - item
chunk - chunk
audioOnly - is audio-only chunk
packet - amf packet
id3Frames - ID3 frames
[Link]
Class HTTPStreamerSessionDirect
[Link]
|
+-[Link]
|
+-
[Link]
All Implemented Interfaces:
IHTTPStreamerSession
SESSIONPROTOCOL_COUNT, SESSIONPROTOCOL_CUPERTINOSTREAMING,
SESSIONPROTOCOL_DIRECTSTREAMING, SESSIONPROTOCOL_DVRCHUNKSTREAMING,
SESSIONPROTOCOL_MPEGDASHSTREAMING, SESSIONPROTOCOL_SANJOSESTREAMING,
SESSIONPROTOCOL_SMOOTHSTREAMING, SESSIONPROTOCOL_UNKNOWN, SESSIONPROTOCOL_WEBMSTREAMING,
SESSIONTYPE_LIVE, SESSIONTYPE_LIVEDVR, SESSIONTYPE_UNKNOWN, SESSIONTYPE_VOD
Constructor Summary
public HTTPStreamerSessionDirect()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
HTTPStreamerSessionDirect
public HTTPStreamerSessionDirect()
[Link]
Interface IHTTPCryptoHolder
Method Summary
byte[] getBuffer()
int getOffset()
int getPacketType()
long getSample()
int getSize()
Methods
getBuffer
public byte[] getBuffer()
setBuffer
public void setBuffer(byte[] buffer)
getOffset
public int getOffset()
setOffset
public void setOffset(int offset)
getSize
public int getSize()
setSize
public void setSize(int size)
getPacketType
public int getPacketType()
setPacketType
public void setPacketType(int packetType)
getSample
public long getSample()
setSample
public void setSample(long sample)
[Link]
Interface IHTTPSessionFactory
Method Summary
IHTTPStreamerSession createHTTPSessionInstance()
Methods
createHTTPSessionInstance
public IHTTPStreamerSession createHTTPSessionInstance()
[Link]
Interface IHTTPSessionNotify
All Known Implementing Classes:
HTTPStreamerSessionSmoothStreamer, HTTPStreamerSessionSanJose, HTTPStreamerSessionCupertino
Method Summary
void notifyHTTPSessionCreate(IApplicationInstance appInstance,
IHTTPStreamerSession httpStreamerSession)
Methods
notifyHTTPSessionCreate
public void notifyHTTPSessionCreate(IApplicationInstance appInstance,
IHTTPStreamerSession httpStreamerSession)
notifyHTTPSessionDestroy
public void notifyHTTPSessionDestroy(IApplicationInstance appInstance,
IHTTPStreamerSession httpStreamerSession)
[Link]
Interface IHTTPStreamerAdapter
Method Summary
boolean canHandle(String path)
Return true if can handle request
String getAdapterName()
Get the name of this adapter
HTTPStreamerItem getHTTPStreamerItem()
Get the HTTP streamer item associated with this adapter
String getID()
Get the id of this adapter
int getIdleFrequency()
Get the idle frequency (milliseconds) for HTTP requests.
WMSProperties getProperties()
Get properties
int getSessionProtocol()
Set the adapter session protocol.
IVHost getVHost()
Get the vhost associated with this adapter
void init()
Initialize the HTTP streaming adapter
Methods
canHandle
public boolean canHandle(String path)
Parameters:
path - request path
Returns:
true if can handle request
service
public void service([Link] session,
RtmpRequestMessage req,
RtmpResponseMessage resp)
Parameters:
session - io session
req - request
resp - response
getProperties
public WMSProperties getProperties()
Get properties
Returns:
properties
setProperties
public void setProperties(WMSProperties properties)
Set properties
Parameters:
properties - properties
getHTTPStreamerItem
public HTTPStreamerItem getHTTPStreamerItem()
Returns:
setHTTPStreamerItem
public void setHTTPStreamerItem(HTTPStreamerItem httpStreamerItem)
Parameters:
httpStreamerItem - HTTP streamer item
getVHost
public IVHost getVHost()
Returns:
vhost
setVHost
public void setVHost(IVHost vhost)
Parameters:
vhost - vhost
init
public void init()
shutdownSession
public void shutdownSession(IApplicationInstance appInstance,
IHTTPStreamerSession session)
Parameters:
session - HTTP streaming session
getIdleFrequency
public int getIdleFrequency()
Get the idle frequency (milliseconds) for HTTP requests. This is how often the session is called back while active.
Returns:
idle frequency (milliseconds)
getAdapterName
public String getAdapterName()
Returns:
name of this adapter
getID
public String getID()
Returns:
id of this adapter
setID
public void setID(String id)
Parameters:
id - id of this adapter
getSessionProtocol
public int getSessionProtocol()
Returns:
adapter session protocol
setSessionProtocol
public void setSessionProtocol(int sessionProtocol)
Parameters:
sessionProtocol - adapter session protocol
[Link]
Interface IHTTPStreamerApplicationContext
IHTTPStreamerApplicationContext: HTTP streamer application context interface. Used by HTTP streaming adapter to store per-
application information.
Field Summary
public static final HTTPORIGINMODE_AUTO
Value: 1
Value: 0
Value: 2
Method Summary
void addQueryStrRemoveList(String name)
Add a name to the list of query string parameters that will not be copied to the media URLs for
HTTP streaming
IApplicationInstance getAppInstance()
Get application instance
String getCacheControlStatus4xx()
int getHTTPOriginMode()
Get current HTTP origin mode.
WMSProperties getProperties()
Get properties
MediaCasterItem getRepeaterMediaCasterDef()
Get the live repeater media caster definition
String getStreamTypeStr()
Get stream type
[Link] getUserHTTPHeaders()
Get user HTTP headers.
IVHost getVHost()
Get vhost
boolean isHTTPOriginOn()
Returns true if HTTP origin mode is set to ON.
boolean isStreamDomainProtectionActive()
Return true if stream domain protection is on
Fields
HTTPORIGINMODE_OFF
public static final int HTTPORIGINMODE_OFF
Constant value: 0
HTTPORIGINMODE_AUTO
public static final int HTTPORIGINMODE_AUTO
Constant value: 1
HTTPORIGINMODE_ON
public static final int HTTPORIGINMODE_ON
Constant value: 2
Methods
init
public void init(IApplicationInstance appInstance,
HTTPStreamerItem httpStreamerItem)
Initialize context
Parameters:
appInstance - application instance
httpStreamerItem - HTTP streamer
getProperties
public WMSProperties getProperties()
Get properties
Returns:
properties
getAppInstance
public IApplicationInstance getAppInstance()
Returns:
application instance
getVHost
public IVHost getVHost()
Get vhost
Returns:
vhost
getRepeaterMediaCasterDef
public MediaCasterItem getRepeaterMediaCasterDef()
Returns:
live repeater media caster definition
setRepeaterMediaCasterDef
public void setRepeaterMediaCasterDef(MediaCasterItem repeaterMediaCasterDef)
Parameters:
repeaterMediaCasterDef - live repeater media caster definition
getStreamTypeStr
public String getStreamTypeStr()
Returns:
stream type
setStreamTypeStr
public void setStreamTypeStr(String streamTypeStr)
Parameters:
streamTypeStr - stream type
isStreamDomainProtectionActive
public boolean isStreamDomainProtectionActive()
Returns:
true if stream domain protection is on
setStreamDomainProtectionActive
public void setStreamDomainProtectionActive(boolean streamDomainProtectionActive)
Parameters:
streamDomainProtectionActive - true if stream domain protection is on
getHTTPOriginMode
public int getHTTPOriginMode()
Get current HTTP origin mode. See HTTPORIGINMODE_ (auto is currently not supported)
Returns:
HTTP origin mode
setHTTPOriginMode
public void setHTTPOriginMode(int httpOriginMode)
Set current HTTP origin mode. See HTTPORIGINMODE_ (auto is currently not supported)
Parameters:
httpOriginMode - HTTP origin mode
isHTTPOriginOn
public boolean isHTTPOriginOn()
Returns:
true if HTTP origin mode is set to ON.
setUserHTTPHeader
public void setUserHTTPHeader(String name,
String value)
Add a user HTTP header to the header map. These headers will be added to every HTTP response.
Parameters:
name - name
value - value (null if no value)
getUserHTTPHeaders
public [Link] getUserHTTPHeaders()
Returns:
header map
addQueryStrRemoveList
public void addQueryStrRemoveList(String name)
Add a name to the list of query string parameters that will not be copied to the media URLs for HTTP streaming
Parameters:
name - query name
filterQueryStr
public [Link] filterQueryStr([Link] map)
Internal
Parameters:
map - query map
Returns:
query map
getCacheControlStatus4xx
public String getCacheControlStatus4xx()
setCacheControlStatus4xx
public void setCacheControlStatus4xx(String cacheControlStatus4xx)
[Link]
Interface IHTTPStreamerRepeater
Field Summary
public static final MSG_STARTSTREAM
Value: startStream
Value: switchStream
Fields
MSG_STARTSTREAM
public static final [Link] MSG_STARTSTREAM
MSG_SWITCHSTREAM
public static final [Link] MSG_SWITCHSTREAM
[Link]
Interface IHTTPStreamerSession
Field Summary
public static final SESSIONPROTOCOL_COUNT
Value: 7
Value: 1
Value: 6
Value: 5
Value: 4
Value: 2
Value: 0
Value: -1
Value: 3
Value: 1
Value: 3
Value: 0
Value: 2
Method Summary
void acceptSession()
Accept the HTTP session.
boolean checkAndSetPlayLogged()
If play has not been logged return false, else returns true, sets play has been logged
void clearLoggingValues()
Internal user, clear logging values
boolean getAndClearNotifyCreate()
IApplicationInstance getAppInstance()
Get the application instance associated with this HTTP session
ConnectionHolder getConnectionHolder()
Connection holder for this session
String getCookieStr()
Get cookie string
DvrSessionInfo getDvrSessionInfo()
This information is used to manage the connection to the DVR store.
ElapsedTimer getElapsedTime()
Get the elapsed timer to see how long this session has been running
[Link] getHTTPHeaderMap()
Get a copy of the HTTP request header map
[Link] getHTTPHeaderNames()
Get a Set of the header names
IHTTPStreamerAdapter getHTTPStreamerAdapter()
Get the HTTP streaming adapter associated with this HTTP session
IOPerformanceCounter getIOPerformanceCounter()
Get IO performance counter
String getIpAddress()
Get the IP address
long getLastRequest()
Get the last timestamp of the last Io request
String getLiveStreamingPacketizer()
Get the live stream packetizer name
Object getLock()
Get the synchronization lock for this HTTP session
long getPlayDuration()
Get the play duration (milliseconds) for video on demand playback.
long getPlayStart()
Get the play start time offset (milliseconds) for video on demand playback.
WMSProperties getProperties()
Get the properties associated with this session
String getQueryStr()
Get query string
byte[] getRedirectSessionBody()
Get redirect session body
int getRedirectSessionCode()
Get session redirect HTTP response code (default 302)
String getRedirectSessionContentType()
Get redirect session HTTP Content-Type
String getRedirectSessionURL()
Get redirect session URL
String getReferrer()
Get referrer
String getServerIp()
Get server IP address
int getServerPort()
Get server port
String getSessionId()
Get session id
int getSessionProtocol()
Get protocol, see SESSIONPROTOCOL_*
int getSessionTimeout()
Get the session timeout for this session (milliseconds)
int getSessionType()
Get session type: see SESSIONTYPE_*
IMediaStream getStream()
Get the IMediaStream associated with this HTTP session
String getStreamExt()
Get stream extension
String getStreamName()
Get stream name
long getStreamPosition()
Get stream position
String getTimeRunning()
Get the time this session has been running (milliseconds)
double getTimeRunningSeconds()
Get the time this session has been running (seconds)
IHTTPStreamerTranscod getTranscoderVODIndex()
erVODIndex
Get the VOD Transcoder index information
[Link] getTranscoderVODIndexDestinationsMap()
Get the VOD Transcoder destination map
[Link] getTranscoderVODIndexDestinationsOrder()
Get the list of VOD Transcoder destinations in playlist order
[Link] getTranscoderVODSession()
[Link]
Session Get the vod transcoder session associated with this HTTP session
String getUri()
Get the URI associated with initial request
String getUserAgent()
Get user agent
[Link] getUserHTTPHeaders()
Get user HTTP header.
String getUserQueryStr()
This query string will be added to URLs used in HTTP streaming
IVHost getVHost()
Get vhost
String getVODTranscodeNGRP()
Get the VOD Transcoder NGRP name
boolean isAcceptSession()
Return true if this session has not been rejected
boolean isActive()
Is this session active, false after shutdown
boolean isHTTPOrigin()
Return true if session in an HTTP origin session
boolean isPlayLogged()
true, if play has been logged
boolean isRedirectSession()
Is session redirect
boolean isTimeoutSession()
Get is session timeout.
boolean isValidated()
Has this session been validated
void rejectSession()
Reject this HTTP session.
void setTranscoderVODIndex(IHTTPStreamerTranscoderVODIndex
transcoderVODIndex)
Set the VOD Transcoder index information
void setTranscoderVODSession([Link]
on transcoderVODSession)
Set the vod transcoder session associated with this HTTP session
void shutdown()
Called then the HTTP session is shutting down
void updateLoggingValues()
Internal user, update logging values
String validStreamDomainToString()
Return the valid domain strings as a string
Fields
SESSIONTYPE_UNKNOWN
public static final int SESSIONTYPE_UNKNOWN
Constant value: 0
SESSIONTYPE_LIVE
public static final int SESSIONTYPE_LIVE
Constant value: 1
SESSIONTYPE_VOD
public static final int SESSIONTYPE_VOD
Constant value: 2
SESSIONTYPE_LIVEDVR
public static final int SESSIONTYPE_LIVEDVR
Constant value: 3
SESSIONPROTOCOL_UNKNOWN
public static final int SESSIONPROTOCOL_UNKNOWN
Constant value: -1
SESSIONPROTOCOL_SMOOTHSTREAMING
public static final int SESSIONPROTOCOL_SMOOTHSTREAMING
Constant value: 0
SESSIONPROTOCOL_CUPERTINOSTREAMING
public static final int SESSIONPROTOCOL_CUPERTINOSTREAMING
Constant value: 1
SESSIONPROTOCOL_SANJOSESTREAMING
public static final int SESSIONPROTOCOL_SANJOSESTREAMING
Constant value: 2
SESSIONPROTOCOL_WEBMSTREAMING
public static final int SESSIONPROTOCOL_WEBMSTREAMING
Constant value: 3
SESSIONPROTOCOL_MPEGDASHSTREAMING
public static final int SESSIONPROTOCOL_MPEGDASHSTREAMING
Constant value: 4
SESSIONPROTOCOL_DVRCHUNKSTREAMING
public static final int SESSIONPROTOCOL_DVRCHUNKSTREAMING
Constant value: 5
SESSIONPROTOCOL_DIRECTSTREAMING
public static final int SESSIONPROTOCOL_DIRECTSTREAMING
Constant value: 6
SESSIONPROTOCOL_COUNT
public static final int SESSIONPROTOCOL_COUNT
Constant value: 7
Methods
getSessionId
public String getSessionId()
Get session id
Returns:
session id
setSessionId
public void setSessionId(String sessionId)
Set session id
Parameters:
sessionId - session id
getVHost
public IVHost getVHost()
Get vhost
Returns:
vhost
setVHost
public void setVHost(IVHost vhost)
Set vhost
Parameters:
vhost - vhost
touch
public void touch(long timecode)
Parameters:
timecode - timecode of touch - [Link]();
isTimeout
public boolean isTimeout(long timecode)
Parameters:
timecode - last touch - [Link]();
Returns:
true, if timed out
getLock
public Object getLock()
Returns:
synchronization lock
shutdown
public void shutdown()
isActive
public boolean isActive()
Returns:
true if session is active
setActive
public void setActive(boolean isActive)
Parameters:
isActive - session active
getStream
public IMediaStream getStream()
Returns:
IMediaStream associated with this HTTP session
setStream
public void setStream(IMediaStream stream)
Parameters:
stream - IMediaStream associated with this HTTP session
isTimeoutSession
public boolean isTimeoutSession()
Returns:
setTimeoutSession
public void setTimeoutSession(boolean timeoutSession)
Parameters:
timeoutSession - true if this session is timed out
getSessionTimeout
public int getSessionTimeout()
Returns:
session timeout for this session (milliseconds)
setSessionTimeout
public void setSessionTimeout(int sessionTimeout)
Parameters:
sessionTimeout - session timeout for this session (milliseconds)
isValidated
public boolean isValidated()
Returns:
true, if validated
checkAndSetPlayLogged
public boolean checkAndSetPlayLogged()
If play has not been logged return false, else returns true, sets play has been logged
Returns:
true, if play has been logged
isPlayLogged
public boolean isPlayLogged()
Returns:
true, if play has been logged
setPlayLogged
public void setPlayLogged(boolean isPlayLogged)
Parameters:
isPlayLogged - true, if play has been logged
addIOPerformance
public void addIOPerformance(IOPerformanceCounter totalIOPerformanceResult)
Parameters:
totalIOPerformanceResult - IO performance
addIOPerformance2
public void addIOPerformance2(IOPerformanceCounter totalIOPerformanceResult)
Parameters:
totalIOPerformanceResult - IO performance
getConnectionHolder
public ConnectionHolder getConnectionHolder()
Returns:
connection holder
getHTTPStreamerAdapter
public IHTTPStreamerAdapter getHTTPStreamerAdapter()
Get the HTTP streaming adapter associated with this HTTP session
Returns:
HTTP streaming adapter
setHTTPStreamerAdapter
public void setHTTPStreamerAdapter(IHTTPStreamerAdapter httpStreamerAdapter)
Set the HTTP streaming adapter associated with this HTTP session
Parameters:
httpStreamerAdapter - HTTP streaming adapter
getAppInstance
public IApplicationInstance getAppInstance()
Returns:
application instance associated with this HTTP session
setAppInstance
public void setAppInstance(IApplicationInstance appInstance)
Parameters:
appInstance - application instance associated with this HTTP session
getSessionType
public int getSessionType()
Returns:
session type: see SESSIONTYPE_*
setSessionType
public void setSessionType(int sessionType)
Parameters:
sessionType - session type: see SESSIONTYPE_*
getLiveStreamingPacketizer
public String getLiveStreamingPacketizer()
Returns:
live stream packetizer name
setLiveStreamingPacketizer
public void setLiveStreamingPacketizer(String liveStreamingPacketizer)
Parameters:
liveStreamingPacketizer - live stream packetizer name
getIpAddress
public String getIpAddress()
Returns:
IP address
setIpAddress
public void setIpAddress(String ipAddress)
Parameters:
ipAddress - IP address
updateLoggingValues
public void updateLoggingValues()
clearLoggingValues
public void clearLoggingValues()
getSessionProtocol
public int getSessionProtocol()
Returns:
protocol, see SESSIONPROTOCOL_*
setSessionProtocol
public void setSessionProtocol(int sessionProtocol)
Parameters:
sessionProtocol - protocol, see SESSIONPROTOCOL_*
getServerIp
public String getServerIp()
Returns:
server IP address
setServerIp
public void setServerIp(String serverIp)
Parameters:
serverIp - server IP address
getServerPort
public int getServerPort()
Returns:
server port
setServerPort
public void setServerPort(int serverPort)
Parameters:
serverPort - server port
getUserAgent
public String getUserAgent()
Returns:
user agent
setUserAgent
public void setUserAgent(String userAgent)
Parameters:
userAgent - user agent
getUri
public String getUri()
Returns:
URI associated with initial request
setUri
public void setUri(String uri)
Parameters:
uri - URI associated with initial request
getReferrer
public String getReferrer()
Get referrer
Returns:
referrer
setReferrer
public void setReferrer(String referrer)
Set referrer
Parameters:
referrer - referrer
getQueryStr
public String getQueryStr()
Returns:
query string
setQueryStr
public void setQueryStr(String queryStr)
Parameters:
queryStr - query string
lockRepeaterStreams
public void lockRepeaterStreams([Link] streamNames,
String liveStreamPacketizer,
String liveStreamRepeater,
String streamTypeStr)
Parameters:
streamNames - list of stream names
liveStreamPacketizer - live stream packetizer name
liveStreamRepeater - live repeater name
streamTypeStr - stream type
rejectSession
public void rejectSession()
acceptSession
public void acceptSession()
isAcceptSession
public boolean isAcceptSession()
Returns:
true if this session has not been rejected
setAcceptSession
public void setAcceptSession(boolean acceptSession)
Parameters:
acceptSession - false to reject session
getCookieStr
public String getCookieStr()
Returns:
cookie string
setCookieStr
public void setCookieStr(String cookieStr)
Parameters:
cookieStr - cookie string
getStreamName
public String getStreamName()
Returns:
stream name
setStreamName
public void setStreamName(String streamName)
Parameters:
streamName - stream name
getStreamExt
public String getStreamExt()
Returns:
stream extension
setStreamExt
public void setStreamExt(String streamExt)
Parameters:
streamExt - stream extension
getStreamNameParts
public HTTPStreamerStreamNameParts getStreamNameParts(String streamName)
Parameters:
streamName - stream name
Returns:
stream name parts
containsStreamNameParts
public boolean containsStreamNameParts(String streamName)
Parameters:
streamName - stream name
Returns:
true if stream name in stream name parts
putStreamNameParts
public void putStreamNameParts(String streamName,
HTTPStreamerStreamNameParts streamNameParts)
Parameters:
streamName - stream name
streamNameParts - stream name parts
getStreamPosition
public long getStreamPosition()
Returns:
stream position
setStreamPosition
public void setStreamPosition(long streamPosition)
Parameters:
streamPosition - stream position
getIOPerformanceCounter
public IOPerformanceCounter getIOPerformanceCounter()
Returns:
IO performance counter
getFileInfo
public HTTPStreamerFileInfo getFileInfo(String streamName)
Parameters:
streamName - stream name
Returns:
file information
putFileInfo
public void putFileInfo(String streamName,
HTTPStreamerFileInfo fileInfo)
Parameters:
streamName - stream name
fileInfo - file information
isFileInfo
public boolean isFileInfo(String streamName)
Parameters:
streamName - stream name
Returns:
true if the is file information for a given stream name
isValidStreamDomainStr
public boolean isValidStreamDomainStr(String streamDomainStr)
Parameters:
streamDomainStr - stream name
Returns:
true if valid
validStreamDomainToString
public String validStreamDomainToString()
Returns:
valid domain strings as a string
containsStreamDomainStr
public boolean containsStreamDomainStr(String streamDomainStr)
Parameters:
streamDomainStr - stream name
Returns:
true if valid
removeStreamDomainStr
public void removeStreamDomainStr(String streamDomainStr)
Parameters:
streamDomainStr - stream name
addStreamDomainStr
public void addStreamDomainStr(String streamDomainStr)
Parameters:
streamDomainStr - stream name
addStreamDomainStrs
public void addStreamDomainStrs([Link] streamNames)
Parameters:
streamNames - stream names
getElapsedTime
public ElapsedTimer getElapsedTime()
Get the elapsed timer to see how long this session has been running
Returns:
elapsed timer (milliseconds)
getTimeRunning
public String getTimeRunning()
Returns:
time this session has been running (milliseconds)
getTimeRunningSeconds
public double getTimeRunningSeconds()
Returns:
time this session has been running (seconds)
getProperties
public WMSProperties getProperties()
Returns:
properties
getUserQueryStr
public String getUserQueryStr()
Returns:
user query string
setUserQueryStr
public void setUserQueryStr(String userQueryStr)
Parameters:
userQueryStr - user query string
setDvrSessionInfo
public void setDvrSessionInfo(DvrSessionInfo dvr)
Parameters:
dvr - The DVR session info.
getDvrSessionInfo
public DvrSessionInfo getDvrSessionInfo()
Returns:
DVR session info.
extractHTTPRequestInfo
public void extractHTTPRequestInfo(IHTTPRequest req)
Parameters:
req - HTTP request
getHTTPHeaderMap
public [Link] getHTTPHeaderMap()
Returns:
copy of the HTTP request header map
getHTTPHeader
public String getHTTPHeader(String name)
Parameters:
name - header name
Returns:
header value
getHTTPIntHeader
public int getHTTPIntHeader(String name)
Parameters:
name - header name
Returns:
header value
getHTTPHeaderNames
public [Link] getHTTPHeaderNames()
Returns:
Set of header names
getPlayStart
public long getPlayStart()
Get the play start time offset (milliseconds) for video on demand playback.
Returns:
play start time offset (milliseconds)
setPlayStart
public void setPlayStart(long playStart)
Set the play start time offset (milliseconds) for video on demand playback.
Parameters:
playStart - play start time offset (milliseconds)
getPlayDuration
public long getPlayDuration()
Get the play duration (milliseconds) for video on demand playback. A values of -1 means play to end.
Returns:
play duration (milliseconds)
setPlayDuration
public void setPlayDuration(long playDuration)
Set the play duration (milliseconds) for video on demand playback. A values of -1 means play to end.
Parameters:
playDuration - play duration (milliseconds)
setUserHTTPHeader
public void setUserHTTPHeader(String name,
String value)
Set user HTTP header. This header value will be added to all HTTP responses
Parameters:
name - name
value - value
getUserHTTPHeaders
public [Link] getUserHTTPHeaders()
Get user HTTP header. This header value will be added to all HTTP responses
Returns:
header map
addUserHTTPHeaders
public void addUserHTTPHeaders(IHTTPResponse resp)
Internal
Parameters:
resp - response
doSessionRedirect
public void doSessionRedirect(IHTTPResponse resp)
Internal
Parameters:
resp - response
doSessionRedirect
public void doSessionRedirect(IHTTPResponse resp,
String redirectSessionURL,
String redirectSessionContentType,
int redirectSessionCode)
Internal
Parameters:
resp - response
redirectSessionURL - redirect session URL
redirectSessionContentType
redirectSessionCode - redirect session response code (default 302)
isRedirectSession
public boolean isRedirectSession()
Is session redirect
Returns:
session redirect
setRedirectSession
public void setRedirectSession(boolean redirectSession)
Parameters:
redirectSession - session redirect
getRedirectSessionCode
public int getRedirectSessionCode()
Returns:
setRedirectSessionCode
public void setRedirectSessionCode(int redirectSessionCode)
Parameters:
redirectSessionCode - session redirect HTTP response code
getRedirectSessionURL
public String getRedirectSessionURL()
Returns:
redirect session URL
setRedirectSessionURL
public void setRedirectSessionURL(String redirectSessionURL)
Parameters:
redirectSessionURL - redirect session URL
redirectSession
public void redirectSession(String redirectSessionURL)
Redirect session
Parameters:
redirectSessionURL - redirect session URL
redirectSession
public void redirectSession(String redirectSessionURL,
int redirectSessionCode)
Redirect session
Parameters:
redirectSessionURL - redirect session URL
redirectSessionCode - redirect session response code (default 302)
getRedirectSessionBody
public byte[] getRedirectSessionBody()
Returns:
redirect session body
setRedirectSessionBody
public void setRedirectSessionBody(byte[] redirectSessionBody)
Parameters:
redirectSessionBody - redirect session body
getRedirectSessionContentType
public String getRedirectSessionContentType()
Returns:
redirect session HTTP Content-Type
setRedirectSessionContentType
public void setRedirectSessionContentType(String redirectSessionContentType)
Parameters:
redirectSessionContentType
getLastRequest
public long getLastRequest()
Returns:
last timestamp of the last Io request (milliseconds)
isHTTPOrigin
public boolean isHTTPOrigin()
Returns:
true if session in an HTTP origin session
setHTTPOrigin
public void setHTTPOrigin(boolean isHTTPOrigin)
Parameters:
isHTTPOrigin - true if HTTP origin session
getAndClearNotifyCreate
public boolean getAndClearNotifyCreate()
getTranscoderVODSession
public [Link] getTranscoderVODSession()
Get the vod transcoder session associated with this HTTP session
Returns:
vod transcoder session
setTranscoderVODSession
public void setTranscoderVODSession([Link]
transcoderVODSession)
Set the vod transcoder session associated with this HTTP session
Parameters:
transcoderVODSession - vod transcoder session
getVODTranscodeNGRP
public String getVODTranscodeNGRP()
Returns:
VOD Transcoder NGRP name
setVODTranscodeNGRP
public void setVODTranscodeNGRP(String vodTranscodeNGRP)
Parameters:
vodTranscodeNGRP - VOD Transcoder NGRP name
getTranscoderVODIndex
public IHTTPStreamerTranscoderVODIndex getTranscoderVODIndex()
Returns:
VOD Transcoder index
setTranscoderVODIndex
public void setTranscoderVODIndex(IHTTPStreamerTranscoderVODIndex transcoderVODIndex)
Parameters:
transcoderVODIndex - VOD Transcoder index
getTranscoderVODIndexDestinationsOrder
public [Link] getTranscoderVODIndexDestinationsOrder()
Returns:
list of VOD Transcoder destinations
getTranscoderVODIndexDestinationsMap
public [Link] getTranscoderVODIndexDestinationsMap()
Returns:
VOD Transcoder destination map
indexTranscoderVOD
public void indexTranscoderVOD(IHTTPStreamerApplicationContext appContext,
String vodTranscodeNGRP)
Parameters:
appContext - application context
vodTranscodeNGRP - transcoder name group
getTranscoderVODIndex
public IHTTPStreamerTranscoderVODDestinationIndex getTranscoderVODIndex(String
bitrateStr)
Parameters:
bitrateStr - bitrate string
Returns:
VOD transcoder index
[Link]
Interface IHTTPStreamerSessionNotify
Method Summary
void onHTTPStreamerSessionCreate(IHTTPStreamerSession httpStreamerSession)
Called when an HTTP streaming session is created
Methods
onHTTPStreamerSessionCreate
public void onHTTPStreamerSessionCreate(IHTTPStreamerSession httpStreamerSession)
Parameters:
httpStreamerSession - HTTP streaming session
onHTTPStreamerSessionDestroy
public void onHTTPStreamerSessionDestroy(IHTTPStreamerSession httpStreamerSession)
Parameters:
httpStreamerSession - HTTP streaming session
[Link]
Interface IHTTPStreamerTranscoderVODDestinationIndex
Method Summary
int getBitrate()
[Link] getTranscoderVODDestination()
[Link]
Destination
void setTranscoderVODDestination([Link]
estination transcoderVODDestination)
Methods
getTranscoderVODDestination
public [Link]
getTranscoderVODDestination()
setTranscoderVODDestination
public void
setTranscoderVODDestination([Link]
transcoderVODDestination)
getBitrate
public int getBitrate()
setBitrate
public void setBitrate(int bitrate)
[Link]
Interface IHTTPStreamerTranscoderVODIndex
[Link]
Interface ILiveStreamPacketizerChunkWriter
Method Summary
void addToChunk(LiveStreamPacketizerPacketHolder holder)
boolean isPacketizeAudio()
boolean isPacketizeData()
boolean isPacketizeVideo()
void resetStream()
void setCodecInfoAudio([Link]
codecInfoAudio)
void setCodecInfoVideo([Link]
codecInfoVideo)
Methods
startChunk
public void startChunk(int streamMode,
int videoCodecId,
int audioCodecId,
long timecode)
endChunk
public void endChunk(long timecode)
addToChunk
public void addToChunk(LiveStreamPacketizerPacketHolder holder)
setCodecInfoAudio
public void setCodecInfoAudio([Link]
codecInfoAudio)
setCodecInfoVideo
public void setCodecInfoVideo([Link]
codecInfoVideo)
resetStream
public void resetStream()
isPacketizeAudio
public boolean isPacketizeAudio()
isPacketizeVideo
public boolean isPacketizeVideo()
isPacketizeData
public boolean isPacketizeData()
isValidAudioCodec
public boolean isValidAudioCodec(int codec)
isValidVideoCodec
public boolean isValidVideoCodec(int codec)
[Link]
Class HTTPStreamerSessionMPEGDash
[Link]
|
+-[Link]
|
+-
[Link]
All Implemented Interfaces:
IHTTPStreamerSession
SESSIONPROTOCOL_COUNT, SESSIONPROTOCOL_CUPERTINOSTREAMING,
SESSIONPROTOCOL_DIRECTSTREAMING, SESSIONPROTOCOL_DVRCHUNKSTREAMING,
SESSIONPROTOCOL_MPEGDASHSTREAMING, SESSIONPROTOCOL_SANJOSESTREAMING,
SESSIONPROTOCOL_SMOOTHSTREAMING, SESSIONPROTOCOL_UNKNOWN, SESSIONPROTOCOL_WEBMSTREAMING,
SESSIONTYPE_LIVE, SESSIONTYPE_LIVEDVR, SESSIONTYPE_UNKNOWN, SESSIONTYPE_VOD
Constructor Summary
public HTTPStreamerSessionMPEGDash()
Method Summary
void clearLoggingValues()
void shutdown()
void updateLoggingValues()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
HTTPStreamerSessionMPEGDash
public HTTPStreamerSessionMPEGDash()
Methods
shutdown
public void shutdown()
containsIndex
public boolean containsIndex(String streamName)
createIndexLive
public static IHTTPStreamerMPEGDashIndex
createIndexLive(IHTTPStreamerApplicationContext appContext,
IHTTPStreamerSession httpStreamerSession,
String rawStreamName,
String streamExt,
String streamName)
getIndexLive
public IHTTPStreamerMPEGDashIndex getIndexLive(IHTTPStreamerApplicationContext
appContext,
IHTTPStreamerSession httpStreamerSession,
String rawStreamName,
String streamExt,
String streamName)
getIndex
public IHTTPStreamerMPEGDashIndex getIndex(IHTTPStreamerApplicationContext appContext,
IHTTPStreamerSession httpStreamerSession,
String rawStreamName,
String streamExt,
String streamName,
long playStart,
long playDuration,
TimedTextRequest captionRequest,
String vodTranscodeNGRP)
updateLoggingValues
public void updateLoggingValues()
clearLoggingValues
public void clearLoggingValues()
logLiveChunk
public void logLiveChunk(MPEGDashDashChunk chunk)
logVODChunk
public void logVODChunk(MPEGDashDashChunk chunk)
notifyHTTPSessionCreate
public void notifyHTTPSessionCreate(IApplicationInstance appInstance,
IHTTPStreamerSession httpStreamerSession)
notifyHTTPSessionDestroy
public void notifyHTTPSessionDestroy(IApplicationInstance appInstance,
IHTTPStreamerSession httpStreamerSession)
indexTranscoderVOD
public void indexTranscoderVOD(IHTTPStreamerApplicationContext appContext,
String vodTranscodeNGRP)
[Link]
Class HTTPStreamerSessionSanJose
[Link]
|
+-[Link]
|
+-
[Link]
All Implemented Interfaces:
IHTTPSessionNotify, IHTTPStreamerSession
SESSIONPROTOCOL_COUNT, SESSIONPROTOCOL_CUPERTINOSTREAMING,
SESSIONPROTOCOL_DIRECTSTREAMING, SESSIONPROTOCOL_DVRCHUNKSTREAMING,
SESSIONPROTOCOL_MPEGDASHSTREAMING, SESSIONPROTOCOL_SANJOSESTREAMING,
SESSIONPROTOCOL_SMOOTHSTREAMING, SESSIONPROTOCOL_UNKNOWN, SESSIONPROTOCOL_WEBMSTREAMING,
SESSIONTYPE_LIVE, SESSIONTYPE_LIVEDVR, SESSIONTYPE_UNKNOWN, SESSIONTYPE_VOD
Constructor Summary
public HTTPStreamerSessionSanJose()
Method Summary
void addFirstABSTRequest(String streamName)
void clearLoggingValues()
void shutdown()
void updateLoggingValues()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
notifyHTTPSessionCreate, notifyHTTPSessionDestroy
Constructors
HTTPStreamerSessionSanJose
public HTTPStreamerSessionSanJose()
Methods
shutdown
public void shutdown()
containsIndex
public boolean containsIndex(String streamName)
createIndexLive
public static IHTTPStreamerSanJoseIndex
createIndexLive(IHTTPStreamerApplicationContext appContext,
IHTTPStreamerSession httpStreamerSession,
String rawStreamName,
String streamExt,
String streamName)
getIndexLive
public IHTTPStreamerSanJoseIndex getIndexLive(IHTTPStreamerApplicationContext
appContext,
IHTTPStreamerSession httpStreamerSession,
String rawStreamName,
String streamExt,
String streamName)
getIndex
public IHTTPStreamerSanJoseIndex getIndex(IHTTPStreamerApplicationContext appContext,
IHTTPStreamerSession httpStreamerSession,
String rawStreamName,
String streamExt,
String streamName,
long playStart,
long playDuration,
TimedTextRequest captionRequest,
String vodTranscodeNGRP)
updateLoggingValues
public void updateLoggingValues()
clearLoggingValues
public void clearLoggingValues()
logLiveChunk
public void logLiveChunk(LiveStreamPacketizerSanJoseChunk chunk)
logVODChunk
public void logVODChunk(LiveStreamPacketizerSanJoseChunk chunk)
isFirstABSTRequest
public boolean isFirstABSTRequest(String streamName)
addFirstABSTRequest
public void addFirstABSTRequest(String streamName)
notifyHTTPSessionCreate
public void notifyHTTPSessionCreate(IApplicationInstance appInstance,
IHTTPStreamerSession httpStreamerSession)
notifyHTTPSessionDestroy
public void notifyHTTPSessionDestroy(IApplicationInstance appInstance,
IHTTPStreamerSession httpStreamerSession)
indexTranscoderVOD
public void indexTranscoderVOD(IHTTPStreamerApplicationContext appContext,
String vodTranscodeNGRP)
[Link]
Class HTTPStreamerSessionSmoothStreamer
[Link]
|
+-[Link]
|
+-
[Link]
er
All Implemented Interfaces:
IHTTPSessionNotify, IHTTPStreamerSession
SESSIONPROTOCOL_COUNT, SESSIONPROTOCOL_CUPERTINOSTREAMING,
SESSIONPROTOCOL_DIRECTSTREAMING, SESSIONPROTOCOL_DVRCHUNKSTREAMING,
SESSIONPROTOCOL_MPEGDASHSTREAMING, SESSIONPROTOCOL_SANJOSESTREAMING,
SESSIONPROTOCOL_SMOOTHSTREAMING, SESSIONPROTOCOL_UNKNOWN, SESSIONPROTOCOL_WEBMSTREAMING,
SESSIONTYPE_LIVE, SESSIONTYPE_LIVEDVR, SESSIONTYPE_UNKNOWN, SESSIONTYPE_VOD
Constructor Summary
public HTTPStreamerSessionSmoothStreamer()
Method Summary
void clearLoggingValues()
SmoothStreamingLivePl getLivePlaylist()
aylist
void shutdown()
void updateLoggingValues()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
notifyHTTPSessionCreate, notifyHTTPSessionDestroy
Constructors
HTTPStreamerSessionSmoothStreamer
public HTTPStreamerSessionSmoothStreamer()
Methods
shutdown
public void shutdown()
containsIndex
public boolean containsIndex(String streamName)
getIndex
public IHTTPStreamerSmoothStreamerIndex getIndex(IHTTPStreamerSession
httpStreamerSession,
IHTTPStreamerApplicationContext appContext,
String streamExt,
String streamName,
long playStart,
long playDuration,
String vodTranscodeNGRP)
updateLoggingValues
public void updateLoggingValues()
clearLoggingValues
public void clearLoggingValues()
getLivePlaylist
public SmoothStreamingLivePlaylist getLivePlaylist()
setLivePlaylist
public void setLivePlaylist(SmoothStreamingLivePlaylist livePlaylist)
logLiveFragment
public void logLiveFragment(SmoothStreamerFragmentId fragmentId,
PacketFragmentList fragmentData)
logVODFragment
public void logVODFragment(SmoothStreamerFragmentId fragmentId,
PacketFragmentList fragmentData)
notifyHTTPSessionCreate
public void notifyHTTPSessionCreate(IApplicationInstance appInstance,
IHTTPStreamerSession httpStreamerSession)
notifyHTTPSessionDestroy
public void notifyHTTPSessionDestroy(IApplicationInstance appInstance,
IHTTPStreamerSession httpStreamerSession)
indexTranscoderVOD
public void indexTranscoderVOD(IHTTPStreamerApplicationContext appContext,
String vodTranscodeNGRP)
[Link]
Class HTTPStreamerSessionWebM
[Link]
|
+-[Link]
|
+-[Link]
All Implemented Interfaces:
IHTTPStreamerSession
SESSIONPROTOCOL_COUNT, SESSIONPROTOCOL_CUPERTINOSTREAMING,
SESSIONPROTOCOL_DIRECTSTREAMING, SESSIONPROTOCOL_DVRCHUNKSTREAMING,
SESSIONPROTOCOL_MPEGDASHSTREAMING, SESSIONPROTOCOL_SANJOSESTREAMING,
SESSIONPROTOCOL_SMOOTHSTREAMING, SESSIONPROTOCOL_UNKNOWN, SESSIONPROTOCOL_WEBMSTREAMING,
SESSIONTYPE_LIVE, SESSIONTYPE_LIVEDVR, SESSIONTYPE_UNKNOWN, SESSIONTYPE_VOD
Constructor Summary
public HTTPStreamerSessionWebM()
Method Summary
WebMPacketizerSession getSessionTracker()
Tracker
void shutdown()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
HTTPStreamerSessionWebM
public HTTPStreamerSessionWebM()
Methods
getSessionTracker
public WebMPacketizerSessionTracker getSessionTracker()
setSessionTracker
public void setSessionTracker(WebMPacketizerSessionTracker sessionTracker)
shutdown
public void shutdown()
[Link]
Class HTTPLiveStreamRecord
[Link]
|
+-[Link].HTTProvider2Base
|
+-[Link]
All Implemented Interfaces:
[Link],
IHTTPProvider2
Field Summary
public static final FORMAT_FLV
Value: 1
Value: 2
Value: 0
Constructor Summary
public HTTPLiveStreamRecord()
Method Summary
static String HTMLEncode(String s)
void init()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
FORMAT_UNKNOWN
public static final int FORMAT_UNKNOWN
Constant value: 0
FORMAT_FLV
public static final int FORMAT_FLV
Constant value: 1
FORMAT_MP4
public static final int FORMAT_MP4
Constant value: 2
Constructors
HTTPLiveStreamRecord
public HTTPLiveStreamRecord()
Methods
HTMLEncode
public static String HTMLEncode(String s)
init
public void init()
onBind
public void onBind(IVHost vhost,
HostPort hostPort)
onHTTPRequest
public void onHTTPRequest(IVHost vhost,
IHTTPRequest req,
IHTTPResponse resp)
onStartRecord
public void onStartRecord(IApplicationInstance appInstance,
IMediaStream stream,
String streamName,
Object opaque)
onSwitchRecord
public void onSwitchRecord(IApplicationInstance appInstance,
IMediaStream streamOld,
IMediaStream streamNew,
String streamName,
Object opaque)
onStopRecord
public void onStopRecord(IApplicationInstance appInstance,
IMediaStream stream,
String streamName,
Object opaque)
[Link]
Interface ILiveStreamRecord
All Known Implementing Classes:
LiveStreamRecorderBase
Field Summary
public static final SPLIT_ON_DISCONTINUITY_ALWAYS
Value: 1
Value: 0
Value: 2
Value: 3
Value: 1
Value: 2
Value: 0
Method Summary
ILiveStreamRecordNoti addListener(ILiveStreamRecordNotify listener)
fy
String getBaseFilePath()
long getCurrentDuration()
String getCurrentFile()
long getCurrentSize()
String getFilePath()
ILiveStreamRecordFile getFileVersionDelegate()
VersionDelegate
long getSegmentDuration()
int getSegmentNumber()
CrontabEvent getSegmentSchedule()
long getSegmentSize()
int getSplitType()
[Link] getStartTime()
e
String getStreamName()
Object getWriteLock()
boolean isAppendFile()
boolean isMoveFirstVideoFrameToZero()
boolean isRecordData()
boolean isStartOnKeyFrame()
boolean isVersionFile()
void onPublish()
void onUnPublish()
void splitRecordingNow()
void stopRecording()
void work()
void workStop()
Fields
SPLIT_TYPE_NONE
public static final int SPLIT_TYPE_NONE
Constant value: 0
SPLIT_TYPE_BY_SCHEDULE
public static final int SPLIT_TYPE_BY_SCHEDULE
Constant value: 1
SPLIT_TYPE_BY_SIZE
public static final int SPLIT_TYPE_BY_SIZE
Constant value: 2
SPLIT_TYPE_BY_DURATION
public static final int SPLIT_TYPE_BY_DURATION
Constant value: 3
SPLIT_ON_DISCONTINUITY_DEFAULT
public static final int SPLIT_ON_DISCONTINUITY_DEFAULT
Constant value: 0
SPLIT_ON_DISCONTINUITY_ALWAYS
public static final int SPLIT_ON_DISCONTINUITY_ALWAYS
Constant value: 1
SPLIT_ON_DISCONTINUITY_NEVER
public static final int SPLIT_ON_DISCONTINUITY_NEVER
Constant value: 2
Methods
init
public void init(IApplicationInstance appInstance)
startRecording
public void startRecording(IMediaStream stream,
boolean append)
startRecording
public void startRecording(IMediaStream stream,
String filePath,
boolean append)
getFilePath
public String getFilePath()
isStartOnKeyFrame
public boolean isStartOnKeyFrame()
setStartOnKeyFrame
public void setStartOnKeyFrame(boolean startOnKeyFrame)
startRecording
public void startRecording(IMediaStream stream,
String filePath,
boolean append,
[Link] extraMetadata)
startRecording
public void startRecording(IMediaStream stream,
String filePath,
boolean append,
[Link] extraMetadata,
int splitOnTcDiscontiuity)
startRecordingSegmentBySize
public void startRecordingSegmentBySize(IMediaStream stream,
String filePath,
[Link] extraMetadata,
long size)
startRecordingSegmentByDuration
public void startRecordingSegmentByDuration(IMediaStream stream,
String filePath,
[Link] extraMetadata,
long duration)
startRecordingSegmentBySchedule
public void startRecordingSegmentBySchedule(IMediaStream stream,
String filePath,
[Link] extraMetadata,
String schedule)
stopRecording
public void stopRecording()
onPublish
public void onPublish()
onUnPublish
public void onUnPublish()
workStop
public void workStop()
work
public void work()
isRecordData
public boolean isRecordData()
setRecordData
public void setRecordData(boolean recordData)
isVersionFile
public boolean isVersionFile()
setVersionFile
public void setVersionFile(boolean versionFile)
isAppendFile
public boolean isAppendFile()
getWriteLock
public Object getWriteLock()
isMoveFirstVideoFrameToZero
public boolean isMoveFirstVideoFrameToZero()
setMoveFirstVideoFrameToZero
public void setMoveFirstVideoFrameToZero(boolean moveFirstVideoFrameToZero)
setFileVersionDelegate
public void setFileVersionDelegate(ILiveStreamRecordFileVersionDelegate delegate)
getFileVersionDelegate
public ILiveStreamRecordFileVersionDelegate getFileVersionDelegate()
splitRecordingNow
public void splitRecordingNow()
getSplitType
public int getSplitType()
getSegmentSize
public long getSegmentSize()
getSegmentDuration
public long getSegmentDuration()
getCurrentSize
public long getCurrentSize()
getCurrentDuration
public long getCurrentDuration()
setSegmentSize
public void setSegmentSize(long size)
setSegmentDuration
public void setSegmentDuration(long duration)
getBaseFilePath
public String getBaseFilePath()
getCurrentFile
public String getCurrentFile()
getSegmentSchedule
public CrontabEvent getSegmentSchedule()
getStreamName
public String getStreamName()
getSegmentNumber
public int getSegmentNumber()
getStartTime
public [Link] getStartTime()
addListener
public ILiveStreamRecordNotify addListener(ILiveStreamRecordNotify listener)
removeListener
public boolean removeListener(ILiveStreamRecordNotify listener)
[Link]
Interface ILiveStreamRecordFileVersionDelegate
All Known Implementing Classes:
LiveStreamRecordFileVersionDelegate
Method Summary
String getFilename(ILiveStreamRecord recorder)
Methods
getFilename
public String getFilename(ILiveStreamRecord recorder)
[Link]
Interface ILiveStreamRecordNotify
Method Summary
void onSegmentEnd(ILiveStreamRecord recorder)
Methods
onSegmentStart
public void onSegmentStart(ILiveStreamRecord recorder)
onSegmentEnd
public void onSegmentEnd(ILiveStreamRecord recorder)
[Link]
Class LiveStreamRecordActionNotifier
[Link]
|
+-[Link]
All Implemented Interfaces:
IMediaStreamActionNotify
Method Summary
void onPause(IMediaStream stream, boolean isPause, double location)
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Methods
onPause
public void onPause(IMediaStream stream,
boolean isPause,
double location)
onPlay
public void onPlay(IMediaStream stream,
String streamName,
double playStart,
double playLen,
int playReset)
onPublish
public void onPublish(IMediaStream stream,
String streamName,
boolean isRecord,
boolean isAppend)
onSeek
public void onSeek(IMediaStream stream,
double location)
onStop
public void onStop(IMediaStream stream)
onUnPublish
public void onUnPublish(IMediaStream stream,
String streamName,
boolean isRecord,
boolean isAppend)
[Link]
Class LiveStreamRecorderBase
[Link]
|
+-[Link]
All Implemented Interfaces:
ICrontabEventHandler, ILiveStreamRecord
Field Summary
protected appInstance
protected baseFilePath
protected contextStr
protected cronEventWorker
protected currentDuration
protected currentOutputFile
protected currentSize
protected debugLog
protected file
protected fileVersionDelegate
protected listeners
protected moveFirstVideoFrameToZero
protected recordStartTime
protected segmentNumber
protected splitNow
protected splitOnTcDiscontinuity
protected splitType
protected stream
protected streamNotifier
protected useMoreAccurateAudioTimecodes
protected useSimpleFileVersionNaming
protected worker
protected writeLock
SPLIT_ON_DISCONTINUITY_ALWAYS, SPLIT_ON_DISCONTINUITY_DEFAULT,
SPLIT_ON_DISCONTINUITY_NEVER, SPLIT_TYPE_BY_DURATION, SPLIT_TYPE_BY_SCHEDULE,
SPLIT_TYPE_BY_SIZE, SPLIT_TYPE_NONE
Constructor Summary
public LiveStreamRecorderBase()
Method Summary
ILiveStreamRecordNoti addListener(ILiveStreamRecordNotify listener)
fy
Add ILiveStreamRecordNotify listener
String getBaseFilePath()
long getCurrentDuration()
String getCurrentFile()
long getCurrentSize()
String getFilePath()
ILiveStreamRecordFile getFileVersionDelegate()
VersionDelegate
[Link] getLocalListeners()
Get a list of ILiveStreamRecordNotify listeners
long getSegmentDuration()
int getSegmentNumber()
CrontabEvent getSegmentSchedule()
long getSegmentSize()
int getSplitType()
[Link] getStartTime()
e
String getStreamName()
Object getWriteLock()
boolean isAppendFile()
boolean isMoveFirstVideoFrameToZero()
boolean isRecordData()
boolean isStartOnKeyFrame()
boolean isVersionFile()
void onPublish()
void onUnPublish()
void splitRecordingNow()
void stopRecording()
void work()
void workStop()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
onCronEvent
Fields
worker
protected [Link] worker
stream
protected [Link] stream
appInstance
protected [Link] appInstance
streamNotifier
protected [Link]
streamNotifier
writeLock
protected [Link] writeLock
moveFirstVideoFrameToZero
protected boolean moveFirstVideoFrameToZero
fileVersionDelegate
protected [Link]
fileVersionDelegate
baseFilePath
protected [Link] baseFilePath
splitType
protected int splitType
splitNow
protected boolean splitNow
currentSize
protected long currentSize
currentDuration
protected long currentDuration
cronEventWorker
protected [Link]
cronEventWorker
listeners
protected [Link] listeners
file
protected [Link] file
segmentNumber
protected int segmentNumber
recordStartTime
protected [Link] recordStartTime
debugLog
protected boolean debugLog
contextStr
protected [Link] contextStr
currentOutputFile
protected [Link] currentOutputFile
splitOnTcDiscontinuity
protected boolean splitOnTcDiscontinuity
useSimpleFileVersionNaming
protected boolean useSimpleFileVersionNaming
useMoreAccurateAudioTimecodes
protected boolean useMoreAccurateAudioTimecodes
Constructors
LiveStreamRecorderBase
public LiveStreamRecorderBase()
Methods
init
public void init(IApplicationInstance appInstance)
getSplitType
public int getSplitType()
getSegmentSize
public long getSegmentSize()
getSegmentDuration
public long getSegmentDuration()
getCurrentSize
public long getCurrentSize()
getCurrentDuration
public long getCurrentDuration()
setSegmentSize
public void setSegmentSize(long size)
Allows the changing of the segmentSize without the need to stop an active recording
Parameters:
size - long new maximum size for recording segments
setSegmentDuration
public void setSegmentDuration(long duration)
Allows the changing of the segmentDuration without the need to stop an active recording
Parameters:
duration - long new maximum duration for recording segments
createSegmentSchedule
public CrontabEvent createSegmentSchedule(String schedule,
ICrontabEventHandler handler,
boolean debug)
getSegmentSchedule
public CrontabEvent getSegmentSchedule()
getSegmentNumber
public int getSegmentNumber()
getBaseFilePath
public String getBaseFilePath()
setBaseFilePath
public void setBaseFilePath(String filePath)
getCurrentFile
public String getCurrentFile()
setFileVersionDelegate
public void setFileVersionDelegate(ILiveStreamRecordFileVersionDelegate delegate)
getFileVersionDelegate
public ILiveStreamRecordFileVersionDelegate getFileVersionDelegate()
getFilePath
public String getFilePath()
setFilePath
public void setFilePath(String filePath)
getStreamName
public String getStreamName()
getStartTime
public [Link] getStartTime()
isStartOnKeyFrame
public boolean isStartOnKeyFrame()
setStartOnKeyFrame
public void setStartOnKeyFrame(boolean startOnKeyFrame)
isRecordData
public boolean isRecordData()
setRecordData
public void setRecordData(boolean recordData)
isVersionFile
public boolean isVersionFile()
setVersionFile
public void setVersionFile(boolean versionFile)
isAppendFile
public boolean isAppendFile()
setAppendFile
public void setAppendFile(boolean appendFile)
getWriteLock
public Object getWriteLock()
isMoveFirstVideoFrameToZero
public boolean isMoveFirstVideoFrameToZero()
setMoveFirstVideoFrameToZero
public void setMoveFirstVideoFrameToZero(boolean moveFirstVideoFrameToZero)
splitRecordingNow
public void splitRecordingNow()
addListener
public ILiveStreamRecordNotify addListener(ILiveStreamRecordNotify listener)
Parameters:
listener - ILiveStreamRecordNotify listener
removeListener
public boolean removeListener(ILiveStreamRecordNotify listener)
Parameters:
listener - ILiveStreamRecordNotify listener
Returns:
true if removed
onCronEvent
public void onCronEvent(CrontabEvent event)
Parameters:
event - CrontabEvent which caused the timer to fire
getLocalListeners
protected [Link] getLocalListeners()
Returns:
list of ILiveStreamRecordNotify listeners
notifySegmentStart
protected void notifySegmentStart(ILiveStreamRecord recorder)
Parameters:
recorder - liveStreamRecord instance
notifySegmentEnd
protected void notifySegmentEnd(ILiveStreamRecord recorder)
Parameters:
recorder - liveStreamRecord instance
debug
protected void debug(Class c,
String string)
startRecording
public void startRecording(IMediaStream stream,
boolean append)
startRecording
public void startRecording(IMediaStream stream,
String filePath,
boolean append)
startRecording
public void startRecording(IMediaStream stream,
String filePath,
boolean append,
[Link] extraMetadata)
startRecording
public void startRecording(IMediaStream stream,
String filePath,
boolean append,
[Link] extraMetadata,
int splitOnTcDiscontinuity)
startRecordingSegmentBySize
public void startRecordingSegmentBySize(IMediaStream stream,
String filePath,
[Link] extraMetadata,
long size)
startRecordingSegmentByDuration
public void startRecordingSegmentByDuration(IMediaStream stream,
String filePath,
[Link] extraMetadata,
long duration)
startRecordingSegmentBySchedule
public void startRecordingSegmentBySchedule(IMediaStream stream,
String filePath,
[Link] extraMetadata,
String schedule)
stopRecording
public void stopRecording()
onPublish
public void onPublish()
onUnPublish
public void onUnPublish()
workStop
public void workStop()
work
public void work()
[Link]
Class LiveStreamRecorderFLV
[Link]
|
+-[Link]
|
+-[Link]
All Implemented Interfaces:
ICrontabEventHandler, ILiveStreamRecord
SPLIT_ON_DISCONTINUITY_ALWAYS, SPLIT_ON_DISCONTINUITY_DEFAULT,
SPLIT_ON_DISCONTINUITY_NEVER, SPLIT_TYPE_BY_DURATION, SPLIT_TYPE_BY_SCHEDULE,
SPLIT_TYPE_BY_SIZE, SPLIT_TYPE_NONE
Constructor Summary
public LiveStreamRecorderFLV()
Method Summary
[Link] getPlayPackets()
void onPublish()
void onUnPublish()
void stopRecording()
void work()
void workStop()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
onCronEvent
Constructors
LiveStreamRecorderFLV
public LiveStreamRecorderFLV()
Methods
startRecording
public void startRecording(IMediaStream stream,
boolean append)
startRecording
public void startRecording(IMediaStream stream,
String filePath,
boolean append)
startRecordingSegmentBySize
public void startRecordingSegmentBySize(IMediaStream stream,
String filePath,
[Link] extraMetadata,
long size)
startRecordingSegmentByDuration
public void startRecordingSegmentByDuration(IMediaStream stream,
String filePath,
[Link] extraMetadata,
long duration)
startRecordingSegmentBySchedule
public void startRecordingSegmentBySchedule(IMediaStream stream,
String filePath,
[Link] extraMetadata,
String schedule)
startRecording
public void startRecording(IMediaStream stream,
String filePath,
boolean append,
[Link] extraMetadata)
startRecording
public void startRecording(IMediaStream stream,
String filePath,
boolean append,
[Link] extraMetadata,
int splitOnTcDiscontinuity)
stopRecording
public void stopRecording()
onPublish
public void onPublish()
onUnPublish
public void onUnPublish()
workStop
public void workStop()
getPlayPackets
protected [Link] getPlayPackets()
work
public void work()
[Link]
Class LiveStreamRecorderMediaWriter
[Link]
|
+-[Link]
|
+-[Link]
All Implemented Interfaces:
ICrontabEventHandler, ILiveStreamRecord
SPLIT_ON_DISCONTINUITY_ALWAYS, SPLIT_ON_DISCONTINUITY_DEFAULT,
SPLIT_ON_DISCONTINUITY_NEVER, SPLIT_TYPE_BY_DURATION, SPLIT_TYPE_BY_SCHEDULE,
SPLIT_TYPE_BY_SIZE, SPLIT_TYPE_NONE
Constructor Summary
public LiveStreamRecorderMediaWriter()
Method Summary
[Link] getPlayPackets()
void onPublish()
void onUnPublish()
void splitRecordingNow()
void stopRecording()
void work()
void workStop()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
onCronEvent
Constructors
LiveStreamRecorderMediaWriter
public LiveStreamRecorderMediaWriter()
Methods
setMediaWriterType
public void setMediaWriterType(String mediaWriterType)
startRecording
public void startRecording(IMediaStream stream,
boolean append)
startRecording
public void startRecording(IMediaStream stream,
String filePath,
boolean append)
startRecordingSegmentBySize
public void startRecordingSegmentBySize(IMediaStream stream,
String filePath,
[Link] extraMetadata,
long size)
startRecordingSegmentByDuration
public void startRecordingSegmentByDuration(IMediaStream stream,
String filePath,
[Link] extraMetadata,
long duration)
startRecordingSegmentBySchedule
public void startRecordingSegmentBySchedule(IMediaStream stream,
String filePath,
[Link] extraMetadata,
String schedule)
startRecording
public void startRecording(IMediaStream stream,
String filePath,
boolean append,
[Link] extraMetadata,
int splitOnTcDiscontinuity)
startRecording
public void startRecording(IMediaStream stream,
String filePath,
boolean append,
[Link] extraMetadata)
stopRecording
public void stopRecording()
splitRecordingNow
public void splitRecordingNow()
onPublish
public void onPublish()
onUnPublish
public void onUnPublish()
workStop
public void workStop()
getPlayPackets
protected [Link] getPlayPackets()
work
public void work()
[Link]
Class LiveStreamRecorderMP4
[Link]
|
+-[Link]
|
+-[Link].LiveStreamRecorderMP4
All Implemented Interfaces:
ICrontabEventHandler, ILiveStreamRecord
SPLIT_ON_DISCONTINUITY_ALWAYS, SPLIT_ON_DISCONTINUITY_DEFAULT,
SPLIT_ON_DISCONTINUITY_NEVER, SPLIT_TYPE_BY_DURATION, SPLIT_TYPE_BY_SCHEDULE,
SPLIT_TYPE_BY_SIZE, SPLIT_TYPE_NONE
Constructor Summary
public LiveStreamRecorderMP4()
Method Summary
[Link] getPlayPackets()
boolean isRecordOnMetaData()
void onPublish()
void onUnPublish()
void stopRecording()
void work()
void workStop()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
onCronEvent
Constructors
LiveStreamRecorderMP4
public LiveStreamRecorderMP4()
Methods
onPublish
public void onPublish()
onUnPublish
public void onUnPublish()
startRecording
public void startRecording(IMediaStream stream,
boolean append)
startRecording
public void startRecording(IMediaStream stream,
String filePath,
boolean append)
startRecordingSegmentBySize
public void startRecordingSegmentBySize(IMediaStream stream,
String filePath,
[Link] extraMetadata,
long size)
startRecordingSegmentByDuration
public void startRecordingSegmentByDuration(IMediaStream stream,
String filePath,
[Link] extraMetadata,
long duration)
startRecordingSegmentBySchedule
public void startRecordingSegmentBySchedule(IMediaStream stream,
String filePath,
[Link] extraMetadata,
String schedule)
startRecording
public void startRecording(IMediaStream stream,
String filePath,
boolean append,
[Link] extraMetadata)
startRecording
public void startRecording(IMediaStream stream,
String filePath,
boolean append,
[Link] extraMetadata,
int splitOnTcDiscontinuity)
stopRecording
public void stopRecording()
workStop
public void workStop()
getPlayPackets
protected [Link] getPlayPackets()
work
public void work()
isRecordOnMetaData
public boolean isRecordOnMetaData()
setRecordOnMetaData
public void setRecordOnMetaData(boolean recordOnMetaData)
[Link]
Class LiveStreamRecordFileVersionDelegate
[Link]
|
+-[Link]
All Implemented Interfaces:
ILiveStreamRecordFileVersionDelegate
This delegate allows the configuration of a custom FileVersionName using a template string. The tags in the template string are replaced
with their associated values, to generate a filename.
Valid template tags are;
${SourceStreamName} - The name of the stream
${SegmentNumber} - An incrementing value representing the current number of segments which have been created for this recording,
starting at 0
${RecordingStartTime} - The time at which the recording was started
${SegmentTime} - Time time at which the segment was created
Field Summary
public static final BASE_NAME_TAG
Value: ${BaseFileName}
Value: ${SegmentNumber}
Value: ${SegmentTime}
Value: ${RecordingStartTime}
Value: ${SourceStreamName}
Constructor Summary
public LiveStreamRecordFileVersionDelegate()
Method Summary
String getFileTemplate()
Returns the current template string
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
getFilename
Fields
DATETIME_FORMAT
public static final [Link] DATETIME_FORMAT
STREAM_NAME_TAG
public static final [Link] STREAM_NAME_TAG
BASE_NAME_TAG
public static final [Link] BASE_NAME_TAG
SEGMENT_NUMBER_TAG
public static final [Link] SEGMENT_NUMBER_TAG
START_TIME_TAG
public static final [Link] START_TIME_TAG
SEGMENT_TIME_TAG
public static final [Link] SEGMENT_TIME_TAG
Constructors
LiveStreamRecordFileVersionDelegate
public LiveStreamRecordFileVersionDelegate()
Methods
getFilename
public String getFilename(ILiveStreamRecord recContext)
Parameters:
recContext - The LiveStreamRecord context
Returns:
String The versioned file name
setFileTemplate
public void setFileTemplate(String template)
Sets the template string for creating the versioned file name. If null is passed in, the template string reverts to the default
template string
Parameters:
template - new template String
getFileTemplate
public String getFileTemplate()
Returns:
String current template string
[Link]
Interface Constants
Field Summary
public static final ABSOLUTE_FORMAT
ABSOLUTE string literal.
Value: ABSOLUTE
Fields
LOG4J_PACKAGE_NAME
public static final [Link] LOG4J_PACKAGE_NAME
DEFAULT_REPOSITORY_NAME
public static final [Link] DEFAULT_REPOSITORY_NAME
APPLICATION_KEY
public static final [Link] APPLICATION_KEY
HOSTNAME_KEY
public static final [Link] HOSTNAME_KEY
RECEIVER_NAME_KEY
public static final [Link] RECEIVER_NAME_KEY
LOG4J_ID_KEY
public static final [Link] LOG4J_ID_KEY
TIMESTAMP_RULE_FORMAT
public static final [Link] TIMESTAMP_RULE_FORMAT
DEFAULT_CONFIGURATION_FILE
public static final [Link] DEFAULT_CONFIGURATION_FILE
DEFAULT_XML_CONFIGURATION_FILE
public static final [Link] DEFAULT_XML_CONFIGURATION_FILE
DEFAULT_CONFIGURATION_KEY
public static final [Link] DEFAULT_CONFIGURATION_KEY
CONFIGURATOR_CLASS_KEY
public static final [Link] CONFIGURATOR_CLASS_KEY
JNDI_CONTEXT_NAME
public static final [Link] JNDI_CONTEXT_NAME
TEMP_LIST_APPENDER_NAME
public static final [Link] TEMP_LIST_APPENDER_NAME
TEMP_CONSOLE_APPENDER_NAME
public static final [Link] TEMP_CONSOLE_APPENDER_NAME
CODES_HREF
public static final [Link] CODES_HREF
ABSOLUTE_FORMAT
public static final [Link] ABSOLUTE_FORMAT
ABSOLUTE_TIME_PATTERN
public static final [Link] ABSOLUTE_TIME_PATTERN
DATE_AND_TIME_FORMAT
public static final [Link] DATE_AND_TIME_FORMAT
DATE_AND_TIME_PATTERN
public static final [Link] DATE_AND_TIME_PATTERN
ISO8601_FORMAT
public static final [Link] ISO8601_FORMAT
ISO8601_PATTERN
public static final [Link] ISO8601_PATTERN
[Link]
Interface ILogNotify
All Known Implementing Classes:
LogNotifyCalculateIncremental
ILogNotify: Interface to add custom fields to the Wowza Pro log files. To add your own custom log fields, define a class that
implements this interface. The onLog method will be called each time the Wowza Pro server logs a message. Here is an example of a
simple ILogNotify class that logs the current system time in milliseconds as a Long (systime-long) and as a String (systime-string).
package [Link];
import [Link].log4j.*;
import [Link].*;
import [Link].*;
Note: To get any of the values currently being logged use the logging API
[Link](WMSLoggerIDs.FD_*)
To add your class to Wowza Pro, compile your class into a .class file, bind the class into a .jar file and copy the .jar file into the Wowza
Pro server /lib folder. Next, edit:
• [install-dir]/bin/[Link] (Windows)
• [install-dir]/bin/[Link] (Linux, OSX, Solaris)
Add -[Link]=[full-path-to-your-ILogNotify-class] to the JAVA_OPTS. For example for the class above
the JAVA_OPTS would look like:
Linux/OSX
JAVA_OPTS="-Xmx768M -
[Link]=[Link]"
Windows
JAVA_OPTS=-Xmx768M -
[Link]=[Link]
[Link].7=-
[Link]=[Link]
Next, edit [install-dir]/conf/[Link] and add the new field names to any [Link].[appender-name].[Link] fields
lists to which you want to log these values. For example:
[Link]=x-severity,x-category,x-event,x-ctx,x-comment,systime-
long,systime-string
Method Summary
void onLog([Link] level, String comment, IMediaStream
stream, String category, String event, int status, String context)
Called each time the server logs a message.
Methods
onLog
public void onLog([Link] level,
String comment,
IMediaStream stream,
String category,
String event,
int status,
String context)
Parameters:
level - log level as defined by ([Link])
comment - comment part of the log statement
stream - if stream category log message it's the source stream
[Link]
Class LogNotifyCalculateIncremental
[Link]
|
+-[Link]
All Implemented Interfaces:
ILogNotify
These are incremental versions of the regular log values. To add this to Wowza Pro edit:
• [install-dir]/bin/[Link] (Windows)
• [install-dir]/bin/[Link] (Linux, OSX)
NOTE: These new log values are only accurate if all the events are included for the session and stream log categories.
Field Summary
public static final FD_cs_bytes_inc
Value: cs-bytes-inc
Value: cs-stream-bytes-inc
Value: sc-bytes-inc
Value: sc-stream-bytes-inc
Value: x-duration-inc
Constructor Summary
public LogNotifyCalculateIncremental()
Method Summary
void onLog([Link] level, String comment, IMediaStream
stream, String category, String event, int status, String context)
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
onLog
Fields
FD_cs_bytes_inc
public static final [Link] FD_cs_bytes_inc
FD_sc_bytes_inc
public static final [Link] FD_sc_bytes_inc
FD_cs_stream_bytes_inc
public static final [Link] FD_cs_stream_bytes_inc
FD_sc_stream_bytes_inc
public static final [Link] FD_sc_stream_bytes_inc
FD_x_duration_inc
public static final [Link] FD_x_duration_inc
Constructors
LogNotifyCalculateIncremental
public LogNotifyCalculateIncremental()
Methods
onLog
public void onLog([Link] level,
String comment,
IMediaStream stream,
String category,
String event,
int status,
String context)
[Link]
Class UDPAppender
[Link]
|
+-[Link]
|
+-[Link]
All Implemented Interfaces:
PortBased, [Link], [Link]
The UDPAppender is meant to be used as a diagnostic logging tool so that logging can be monitored by a simple UDP client.
Messages are not sent as LoggingEvent objects but as text after applying the designated Layout.
The port and remoteHost properties can be set in configuration properties. By setting the remoteHost to a broadcast address any
number of clients can listen for log messages.
This was inspired and really extended/copied from SocketAppender. Please see the docs for the proper credit to the authors of that
class.
Field Summary
public static final DEFAULT_PORT
The default port number for the UDP packets, 9991.
Value: 9991
Constructor Summary
public UDPAppender()
Method Summary
void activateOptions()
Open the UDP sender for the RemoteHost and Port.
void cleanUp()
Close the UDP Socket and release the underlying connector thread if it has been created
void close()
Close this appender.
String getApplication()
Returns value of the App option.
String getEncoding()
Returns value of the Encoding option.
int getPort()
Returns value of the Port option.
String getRemoteHost()
Returns value of the RemoteHost option.
boolean isActive()
boolean requiresLayout()
The UDPAppender uses layouts.
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
activateOptions
getPort
getName, isActive
Fields
DEFAULT_PORT
public static final int DEFAULT_PORT
Constructors
UDPAppender
public UDPAppender()
UDPAppender
public UDPAppender([Link] address,
int port)
UDPAppender
public UDPAppender(String host,
int port)
Methods
activateOptions
public void activateOptions()
close
public void close()
This will mark the appender as closed and call then cleanUp() method.
cleanUp
public void cleanUp()
Close the UDP Socket and release the underlying connector thread if it has been created
append
public void append([Link] event)
isActive
public boolean isActive()
requiresLayout
public boolean requiresLayout()
setRemoteHost
public void setRemoteHost(String host)
The RemoteHost option takes a string value which should be the host name or ipaddress to send the UDP packets.
getRemoteHost
public String getRemoteHost()
setApplication
public void setApplication(String app)
The App option takes a string value which should be the name of the application getting logged. If property was already set (via
system property), don't set here.
getApplication
public String getApplication()
setEncoding
public void setEncoding(String encoding)
The Encoding option specifies how the bytes are encoded. If this option is not specified, the System encoding is used.
getEncoding
public String getEncoding()
setPort
public void setPort(int port)
The Port option takes a positive integer representing the port where UDP packets will be sent.
getPort
public int getPort()
[Link]
Class WMSLogger
[Link]
|
+-[Link]
|
+-[Link]
|
+-[Link]
All Implemented Interfaces:
[Link]
Constructor Summary
public WMSLogger(String name, [Link] tmpLogger)
Method Summary
void debug(Object o)
void debug(String comment, String category, String event, int status, String
context)
void error(Object o)
void error(String comment, String category, String event, int status, String
context)
void fatal(Object o)
void fatal(String comment, String category, String event, int status, String
context)
void info(Object o)
void info(String comment, String category, String event, int status, String
context)
boolean isDebugEnabled()
boolean isErrorEnabled()
boolean isInfoEnabled()
boolean isTraceEnabled()
boolean isWarnEnabled()
void warn(Object o)
void warn(String comment, String category, String event, int status, String
context)
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
WMSLogger
public WMSLogger(String name,
[Link] tmpLogger)
WMSLogger
public WMSLogger(String name)
Methods
getLogger
public static WMSLogger getLogger(String name)
isWarnEnabled
public boolean isWarnEnabled()
isErrorEnabled
public boolean isErrorEnabled()
isTraceEnabled
public boolean isTraceEnabled()
isDebugEnabled
public boolean isDebugEnabled()
isInfoEnabled
public boolean isInfoEnabled()
isEnabledFor
public boolean isEnabledFor([Link] level)
log
public void log([Link] level,
String comment,
IMediaStream stream,
String category,
String event,
int status,
String context,
Throwable e)
log
public void log([Link] level,
String comment,
IMediaStream stream,
String category,
String event,
int status,
String context)
log
public void log([Link] level,
String comment,
IMediaStream stream,
String category,
String event)
log
public void log([Link] level,
String comment,
String category,
String event)
log
public void log([Link] level,
String comment)
log
public void log([Link] level,
String comment,
IMediaStream stream)
info
public void info(Object o)
info
public void info(Object o,
Throwable e)
info
public void info(String comment)
info
public void info(String comment,
Throwable e)
info
public void info(String comment,
IMediaStream stream)
info
public void info(String comment,
String category,
String event)
info
public void info(String comment,
String category,
String event,
int status,
String context)
info
public void info(String comment,
IMediaStream stream,
String category,
String event,
int status,
String context)
error
public void error(Object o)
error
public void error(Object o,
Throwable e)
error
public void error(String comment)
error
public void error(String comment,
Throwable e)
error
public void error(String comment,
IMediaStream stream)
error
public void error(String comment,
String category,
String event)
error
public void error(String comment,
String category,
String event,
int status,
String context)
error
public void error(String comment,
IMediaStream stream,
String category,
String event,
int status,
String context)
fatal
public void fatal(Object o)
fatal
public void fatal(Object o,
Throwable e)
fatal
public void fatal(String comment)
fatal
public void fatal(String comment,
Throwable e)
fatal
public void fatal(String comment,
IMediaStream stream)
fatal
public void fatal(String comment,
String category,
String event)
fatal
public void fatal(String comment,
String category,
String event,
int status,
String context)
fatal
public void fatal(String comment,
IMediaStream stream,
String category,
String event,
int status,
String context)
debug
public void debug(Object o)
debug
public void debug(Object o,
Throwable e)
debug
public void debug(String comment)
debug
public void debug(String comment,
Throwable e)
debug
public void debug(String comment,
IMediaStream stream)
debug
public void debug(String comment,
String category,
String event)
debug
public void debug(String comment,
String category,
String event,
int status,
String context)
debug
public void debug(String comment,
IMediaStream stream,
String category,
String event,
int status,
String context)
warn
public void warn(Object o)
warn
public void warn(Object o,
Throwable e)
warn
public void warn(String comment)
warn
public void warn(String comment,
Throwable e)
warn
public void warn(String comment,
IMediaStream stream)
warn
public void warn(String comment,
String category,
String event)
warn
public void warn(String comment,
String category,
String event,
int status,
String context)
warn
public void warn(String comment,
IMediaStream stream,
String category,
String event,
int status,
String context)
[Link]
Class WMSLoggerFactory
[Link]
|
+-[Link]
All Implemented Interfaces:
[Link]
Field Summary
public static final LOGGERNAME_SERVER
Value: _Server_
Constructor Summary
public WMSLoggerFactory()
Method Summary
WMSLogger forceNewLoggerInstance(String name, [Link] tmpLogger)
static getInstance()
WMSLoggerFactory
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
makeNewLoggerInstance
Fields
LOGGERNAME_SERVER
public static final [Link] LOGGERNAME_SERVER
Constructors
WMSLoggerFactory
public WMSLoggerFactory()
Methods
getLoggerObj
public WMSLogger getLoggerObj(String name)
forceNewLoggerInstance
public WMSLogger forceNewLoggerInstance(String name,
[Link] tmpLogger)
getInstance
public static WMSLoggerFactory getInstance()
initContextLogging
public static void initContextLogging(IVHost vhost)
initContextLogging
public static void initContextLogging(IApplication application)
initContextLogging
public static void initContextLogging(IApplicationInstance appInstance)
initializeLogging
public static WMSLogger initializeLogging(String loggingConfigURL)
initializeLogging
public static WMSLogger initializeLogging(String loggingConfigURL,
IVHost vhost)
makeNewLoggerInstance
public [Link] makeNewLoggerInstance(String name)
resetMDC
public static void resetMDC()
removeGlobalLogValues
public static void removeGlobalLogValues()
removeGlobalLogValue
public static void removeGlobalLogValue(String key)
isGlobalLogValueSet
public static boolean isGlobalLogValueSet(String key)
putGlobalLogValue
public static void putGlobalLogValue(String key,
Object obj)
getGlobalLogValue
public static Object getGlobalLogValue(String key)
getLoggerObj
public static WMSLogger getLoggerObj(IVHost vhost)
getLoggerObj
public static WMSLogger getLoggerObj(IApplication application)
getLoggerObj
public static WMSLogger getLoggerObj(IApplicationInstance appInstance)
getLogger
public static WMSLogger getLogger(Class classObj)
[Link]
Class WMSLoggerIDs
[Link]
|
+-[Link]
Field Summary
public static final CAT_ALL
Value: application
Value: cupertino
Value: dvrchunk
Value: mpegdash
Value: rtsp
Value: sanjose
Value: server
Value: session
Value: smoothstreaming
Value: stream
Value: transcoder
Value: vhost
Value: webm
Value: CTRL-playlist-node
Value: announce
Value: app-start
Value: app-stop
Value: comment
Value: connect
Value: connect-burst
Value: connect-pending
Value: create
Value: decoder-audio-start
Value: decoder-audio-stop
Value: decoder-video-start
Value: decoder-video-stop
Value: describe
Value: destroy
Value: disconnect
Value: encoder-audio-start
Value: encoder-audio-stop
Value: encoder-video-start
Value: encoder-video-stop
Value: pause
Value: play
Value: publish
Value: record
Value: recordstop
Value: seek
Value: server-start
Value: server-stop
Value: setbuffertime
Value: setstreamtype
Value: stop
Value: unpause
Value: unpublish
Value: vhost-start
Value: vhost-stop
Value: c-client-id
Value: c-ip
Value: c-proto
Value: c-referrer
Value: c-user-agent
Value: cs-bytes
Value: cs-stream-bytes
Value: cs-uri-query
Value: cs-uri-stem
Value: date
Value: s-ip
Value: s-port
Value: s-uri
Value: sc-bytes
Value: sc-stream-bytes
Value: time
Value: tz
Value: x-app
Value: x-appinst
Value: x-category
Value: x-comment
Value: x-ctx
Value: x-ctx-override
Value: x-duration
Value: x-event
Value: x-file-ext
Value: x-file-length
Value: x-file-name
Value: x-file-size
Value: x-severity
Value: x-sname
Value: x-sname-query
Value: x-spos
Value: x-status
Value: x-stream-id
Value: x-suri
Value: x-suri-query
Value: x-suri-stem
Value: x-vhost
Value: rtmp
Value: rtmpe
Value: rtmps
Value: rtsp
Value: wowz
Value: wowze
Value: wowzs
Value: 302
Value: 404
Value: 502
Value: 500
Value: 413
Value: 100
Value: 302
Value: 401
Value: 403
Value: 409
Value: 503
Value: 200
Value: 400
Value: 500
Value: 200
Value: 400
Value: 500
Value: 401
Value: 403
Value: 404
Value: 200
Value: 415
Value: 400
Value: 409
Value: 500
Value: 401
Value: 200
Value: 415
Value: 408
Value: 200
Constructor Summary
public WMSLoggerIDs()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
FD_x_event
public static final [Link] FD_x_event
FD_x_category
public static final [Link] FD_x_category
FD_date
public static final [Link] FD_date
FD_time
public static final [Link] FD_time
FD_tz
public static final [Link] FD_tz
Constant value: tz
FD_x_ctx
public static final [Link] FD_x_ctx
FD_x_ctx_override
public static final [Link] FD_x_ctx_override
FD_x_vhost
public static final [Link] FD_x_vhost
FD_x_app
public static final [Link] FD_x_app
FD_x_appinst
public static final [Link] FD_x_appinst
FD_c_ip
public static final [Link] FD_c_ip
FD_c_proto
public static final [Link] FD_c_proto
FD_s_uri
public static final [Link] FD_s_uri
FD_c_referrer
public static final [Link] FD_c_referrer
FD_c_user_agent
public static final [Link] FD_c_user_agent
FD_c_client_id
public static final [Link] FD_c_client_id
FD_cs_bytes
public static final [Link] FD_cs_bytes
FD_sc_bytes
public static final [Link] FD_sc_bytes
FD_x_sname
public static final [Link] FD_x_sname
FD_x_file_size
public static final [Link] FD_x_file_size
FD_x_file_length
public static final [Link] FD_x_file_length
FD_x_spos
public static final [Link] FD_x_spos
FD_cs_stream_bytes
public static final [Link] FD_cs_stream_bytes
FD_sc_stream_bytes
public static final [Link] FD_sc_stream_bytes
FD_s_ip
public static final [Link] FD_s_ip
FD_x_duration
public static final [Link] FD_x_duration
FD_x_status
public static final [Link] FD_x_status
FD_cs_uri_stem
public static final [Link] FD_cs_uri_stem
FD_cs_uri_query
public static final [Link] FD_cs_uri_query
FD_x_sname_query
public static final [Link] FD_x_sname_query
FD_x_file_name
public static final [Link] FD_x_file_name
FD_x_file_ext
public static final [Link] FD_x_file_ext
FD_x_suri_query
public static final [Link] FD_x_suri_query
FD_x_suri_stem
public static final [Link] FD_x_suri_stem
FD_x_suri
public static final [Link] FD_x_suri
FD_x_severity
public static final [Link] FD_x_severity
FD_x_comment
public static final [Link] FD_x_comment
FD_s_port
public static final [Link] FD_s_port
FD_x_stream_id
public static final [Link] FD_x_stream_id
CAT_server
public static final [Link] CAT_server
CAT_vhost
public static final [Link] CAT_vhost
CAT_application
public static final [Link] CAT_application
CAT_session
public static final [Link] CAT_session
CAT_stream
public static final [Link] CAT_stream
CAT_rtsp
public static final [Link] CAT_rtsp
CAT_cupertino
public static final [Link] CAT_cupertino
CAT_sanjose
public static final [Link] CAT_sanjose
CAT_smoothstreaming
public static final [Link] CAT_smoothstreaming
CAT_dvrchunk
public static final [Link] CAT_dvrchunk
CAT_webm
public static final [Link] CAT_webm
CAT_transcoder
public static final [Link] CAT_transcoder
CAT_mpegdash
public static final [Link] CAT_mpegdash
EVT_connect_pending
public static final [Link] EVT_connect_pending
EVT_connect
public static final [Link] EVT_connect
EVT_connect_burst
public static final [Link] EVT_connect_burst
EVT_disconnect
public static final [Link] EVT_disconnect
EVT_publish
public static final [Link] EVT_publish
EVT_unpublish
public static final [Link] EVT_unpublish
EVT_play
public static final [Link] EVT_play
EVT_pause
public static final [Link] EVT_pause
EVT_setbuffertime
public static final [Link] EVT_setbuffertime
EVT_create
public static final [Link] EVT_create
EVT_destroy
public static final [Link] EVT_destroy
EVT_setstreamtype
public static final [Link] EVT_setstreamtype
EVT_unpause
public static final [Link] EVT_unpause
EVT_seek
public static final [Link] EVT_seek
EVT_stop
public static final [Link] EVT_stop
EVT_record
public static final [Link] EVT_record
EVT_recordstop
public static final [Link] EVT_recordstop
EVT_server_start
public static final [Link] EVT_server_start
EVT_server_stop
public static final [Link] EVT_server_stop
EVT_vhost_start
public static final [Link] EVT_vhost_start
EVT_vhost_stop
public static final [Link] EVT_vhost_stop
EVT_app_start
public static final [Link] EVT_app_start
EVT_app_stop
public static final [Link] EVT_app_stop
EVT_comment
public static final [Link] EVT_comment
EVT_announce
public static final [Link] EVT_announce
EVT_describe
public static final [Link] EVT_describe
EVT_decoderaudiostart
public static final [Link] EVT_decoderaudiostart
EVT_decoderaudiostop
public static final [Link] EVT_decoderaudiostop
EVT_decodervideostart
public static final [Link] EVT_decodervideostart
EVT_decodervideostop
public static final [Link] EVT_decodervideostop
EVT_encoderaudiostart
public static final [Link] EVT_encoderaudiostart
EVT_encoderaudiostop
public static final [Link] EVT_encoderaudiostop
EVT_encodervideostart
public static final [Link] EVT_encodervideostart
EVT_encodervideostop
public static final [Link] EVT_encodervideostop
CTRL_playlist_node
public static final [Link] CTRL_playlist_node
STAT_connect_pending_wating
public static final int STAT_connect_pending_wating
STAT_connect_successful
public static final int STAT_connect_successful
STAT_connect_application_not_available
public static final int STAT_connect_application_not_available
STAT_connect_unknown_protocol
public static final int STAT_connect_unknown_protocol
STAT_connect_rejected_by_application
public static final int STAT_connect_rejected_by_application
STAT_connect_rejected_by_module
public static final int STAT_connect_rejected_by_module
STAT_connect_application_not_found
public static final int STAT_connect_application_not_found
STAT_connect_resource_limit
public static final int STAT_connect_resource_limit
STAT_connect_license_limit
public static final int STAT_connect_license_limit
STAT_connect_redirect
public static final int STAT_connect_redirect
STAT_connect_internal_error
public static final int STAT_connect_internal_error
STAT_connect_bad_gateway
public static final int STAT_connect_bad_gateway
STAT_connect_service_unavailable
public static final int STAT_connect_service_unavailable
STAT_play_successful
public static final int STAT_play_successful
STAT_play_bad_request
public static final int STAT_play_bad_request
STAT_play_rejected_by_application
public static final int STAT_play_rejected_by_application
STAT_play_rejected_by_module
public static final int STAT_play_rejected_by_module
STAT_play_stream_not_found
public static final int STAT_play_stream_not_found
STAT_play_unsupported_media_type
public static final int STAT_play_unsupported_media_type
STAT_play_internal_error
public static final int STAT_play_internal_error
STAT_publish_successful
public static final int STAT_publish_successful
STAT_publish_bad_request
public static final int STAT_publish_bad_request
STAT_publish_rejected_by_application
public static final int STAT_publish_rejected_by_application
STAT_publish_in_use
public static final int STAT_publish_in_use
STAT_publish_unsupported_media_type
public static final int STAT_publish_unsupported_media_type
STAT_publish_internal_error
public static final int STAT_publish_internal_error
STAT_stop_successful
public static final int STAT_stop_successful
STAT_stop_client_disconnect
public static final int STAT_stop_client_disconnect
STAT_general_successful
public static final int STAT_general_successful
STAT_general_internal_error
public static final int STAT_general_internal_error
PROTO_RTMP
public static final [Link] PROTO_RTMP
PROTO_RTMPS
public static final [Link] PROTO_RTMPS
PROTO_RTMPT
public static final [Link] PROTO_RTMPT
PROTO_RTMPTS
public static final [Link] PROTO_RTMPTS
PROTO_RTMPE
public static final [Link] PROTO_RTMPE
PROTO_RTMPTE
public static final [Link] PROTO_RTMPTE
PROTO_WOWZ
public static final [Link] PROTO_WOWZ
PROTO_WOWZE
public static final [Link] PROTO_WOWZE
PROTO_WOWZS
public static final [Link] PROTO_WOWZS
PROTO_RTSP
public static final [Link] PROTO_RTSP
PROTO_HTTPSTREAMER
public static final [Link] PROTO_HTTPSTREAMER
PROTO_HTTPCUPERTINO
public static final [Link] PROTO_HTTPCUPERTINO
PROTO_HTTPSMOOTH
public static final [Link] PROTO_HTTPSMOOTH
PROTO_HTTPSANJOSE
public static final [Link] PROTO_HTTPSANJOSE
PROTO_HTTPDVRCHUNK
public static final [Link] PROTO_HTTPDVRCHUNK
PROTO_HTTPMPEGDASH
public static final [Link] PROTO_HTTPMPEGDASH
PROTO_HTTPSSTREAMER
public static final [Link] PROTO_HTTPSSTREAMER
PROTO_HTTPSCUPERTINO
public static final [Link] PROTO_HTTPSCUPERTINO
PROTO_HTTPSSMOOTH
public static final [Link] PROTO_HTTPSSMOOTH
PROTO_HTTPSSANJOSE
public static final [Link] PROTO_HTTPSSANJOSE
PROTO_HTTPSDVRCHUNK
public static final [Link] PROTO_HTTPSDVRCHUNK
FD_ALL
public static final [Link] FD_ALL
CAT_ALL
public static final [Link] CAT_ALL
EVT_ALL
public static final [Link] EVT_ALL
Constructors
WMSLoggerIDs
public WMSLoggerIDs()
[Link]
Class ID3Frames
[Link]
|
+-[Link].ID3Frames
Field Summary
public static final ID3FOOTER_SIZE
Value: 10
Value: 10
Value: 1024
Value: 0
Value: 32
Value: 64
Value: 16
Value: 128
Constructor Summary
public ID3Frames()
Method Summary
void clear()
[Link] getFrameMapIds()
[Link] getFrames()
Object getLock()
int getSize()
boolean isEmpty()
byte[] serialize()
static int serializeFooter(byte[] buffer, int offset, int flags, int size)
static int serializeHeader(byte[] buffer, int offset, int flags, int size)
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
ID3HEADER_VERSION
public static final int ID3HEADER_VERSION
ID3HEADER_SIZE
public static final int ID3HEADER_SIZE
Constant value: 10
ID3FOOTER_SIZE
public static final int ID3FOOTER_SIZE
Constant value: 10
ID3HEADERFLAGS_DEFAULT
public static final int ID3HEADERFLAGS_DEFAULT
Constant value: 0
ID3HEADERFLAGS_UNSYNC
public static final int ID3HEADERFLAGS_UNSYNC
ID3HEADERFLAGS_EXTENDED
public static final int ID3HEADERFLAGS_EXTENDED
Constant value: 64
ID3HEADERFLAGS_EXPERIMENTAL
public static final int ID3HEADERFLAGS_EXPERIMENTAL
Constant value: 32
ID3HEADERFLAGS_FOOTERPRESENT
public static final int ID3HEADERFLAGS_FOOTERPRESENT
Constant value: 16
Constructors
ID3Frames
public ID3Frames()
Methods
getLock
public Object getLock()
clear
public void clear()
isEmpty
public boolean isEmpty()
putFrame
public void putFrame(IID3V2Frame frame)
removeFrame
public IID3V2Frame removeFrame(IID3V2Frame frame)
getFrames
public [Link] getFrames()
getFrameMapIds
public [Link] getFrameMapIds()
getSize
public int getSize()
serializeTags
public int serializeTags(byte[] buffer,
int offset)
serializeHeader
public static int serializeHeader(byte[] buffer,
int offset,
int flags,
int size)
serializeFooter
public static int serializeFooter(byte[] buffer,
int offset,
int flags,
int size)
serialize
public byte[] serialize()
serialize
public byte[] serialize(boolean includeHeader,
boolean includeFooter,
int flags)
[Link]
Class ID3V2FrameAttachedPicture
[Link]
|
+-[Link].ID3V2FrameBase
|
+-[Link].ID3V2FrameAttachedPicture
All Implemented Interfaces:
IID3V2Frame
Field Summary
public static final MIMETYPES_JPEG
Value: image/jpeg
Value: image/png
Value: -->
Value: 19
Value: 4
Value: 3
Value: 1
Value: 18
Value: 16
Value: 0
Value: 2
Value: 20
Constructor Summary
public ID3V2FrameAttachedPicture(String idStr, int flags)
public ID3V2FrameAttachedPicture()
Method Summary
void deserializeBody(byte[] buffer, int offset, int len)
int getBodySize()
String getDescription()
String getMapIdStr()
String getMimeType()
byte[] getPictureData()
int getPictureType()
int getTextEncoding()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
PICTURETYPE_OTHER
public static final int PICTURETYPE_OTHER
Constant value: 0
PICTURETYPE_FILEICON
public static final int PICTURETYPE_FILEICON
Constant value: 1
PICTURETYPE_OTHERFILEICON
public static final int PICTURETYPE_OTHERFILEICON
Constant value: 2
PICTURETYPE_COVERFRONT
public static final int PICTURETYPE_COVERFRONT
Constant value: 3
PICTURETYPE_COVERBACK
public static final int PICTURETYPE_COVERBACK
Constant value: 4
PICTURETYPE_MOVIESCREENCAPTURE
public static final int PICTURETYPE_MOVIESCREENCAPTURE
Constant value: 16
PICTURETYPE_ILLUSTRATION
public static final int PICTURETYPE_ILLUSTRATION
Constant value: 18
PICTURETYPE_ARTISTLOGO
public static final int PICTURETYPE_ARTISTLOGO
Constant value: 19
PICTURETYPE_PUBLISHERLOGO
public static final int PICTURETYPE_PUBLISHERLOGO
Constant value: 20
MIMETYPES_JPEG
public static final [Link] MIMETYPES_JPEG
MIMETYPES_PNG
public static final [Link] MIMETYPES_PNG
MIMETYPES_URL
public static final [Link] MIMETYPES_URL
PICTUREMAXFILESIZE
public static long PICTUREMAXFILESIZE
Constructors
ID3V2FrameAttachedPicture
public ID3V2FrameAttachedPicture(String idStr,
int flags)
ID3V2FrameAttachedPicture
public ID3V2FrameAttachedPicture()
Methods
serializeBody
public int serializeBody(byte[] buffer,
int offset)
deserializeBody
public void deserializeBody(byte[] buffer,
int offset,
int len)
getMapIdStr
public String getMapIdStr()
getBodySize
public int getBodySize()
getTextEncoding
public int getTextEncoding()
setTextEncoding
public void setTextEncoding(int textEncoding)
getMimeType
public String getMimeType()
setMimeType
public void setMimeType(String mimeType)
getPictureType
public int getPictureType()
setPictureType
public void setPictureType(int pictureType)
getDescription
public String getDescription()
setDescription
public void setDescription(String description)
getPictureData
public byte[] getPictureData()
setPictureData
public void setPictureData(byte[] pictureData)
setPictureDataAsURL
public void setPictureDataAsURL(String urlStr)
loadFile
public boolean loadFile([Link] file)
[Link]
Class ID3V2FrameBase
[Link]
|
+-[Link].ID3V2FrameBase
All Implemented Interfaces:
IID3V2Frame
Field Summary
public static final FLAGS_DEFAULT
Value: 0
Value: 10
Value: APIC
Value: COMM
Value: LINK
Value: PRIV
Value: RBUF
Value: SYLT
Value: TALB
Value: TBPM
Value: TCOM
Value: TCON
Value: TCOP
Value: TDEN
Value: TDLY
Value: TDOR
Value: TDRC
Value: TDRL
Value: TDTG
Value: TENC
Value: TEXT
Value: TFLT
Value: TIPL
Value: TIT1
Value: TIT2
Value: TIT3
Value: TKEY
Value: TLAN
Value: TLEN
Value: TMCL
Value: TMED
Value: TMOO
Value: TOAL
Value: TOFN
Value: TOLY
Value: TOPE
Value: TOWN
Value: TPE1
Value: TPE2
Value: TPE3
Value: TPE4
Value: TPOS
Value: TPRO
Value: TPUB
Value: TRCK
Value: TRSN
Value: TRSO
Value: TSOA
Value: TSOP
Value: TSOT
Value: TSRC
Value: TSSE
Value: TSST
Value: TXXX
Value: UNKN
Value: WCOM
Value: WCOP
Value: WOAF
Value: WOAR
Value: WOAS
Value: WORS
Value: WPAY
Value: WPUB
Value: WXXX
Value: 0
Value: 1
Value: 2
Value: 3
Constructor Summary
public ID3V2FrameBase(String idStr, int flags)
Method Summary
static int byteStringLen(String value)
int getFlags()
String getIdStr()
String getMapIdStr()
int getSize()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
HEADERSIZE
public static final int HEADERSIZE
Constant value: 10
TEXTENCODING_ISO_8859_1
public static final int TEXTENCODING_ISO_8859_1
Constant value: 0
TEXTENCODING_UTF16
public static final int TEXTENCODING_UTF16
Constant value: 1
TEXTENCODING_UTF16BE
public static final int TEXTENCODING_UTF16BE
Constant value: 2
TEXTENCODING_UTF8
public static final int TEXTENCODING_UTF8
Constant value: 3
TAG_UNKN
public static final [Link] TAG_UNKN
TAG_PRIV
public static final [Link] TAG_PRIV
TAG_APIC
public static final [Link] TAG_APIC
TAG_LINK
public static final [Link] TAG_LINK
TAG_SYLT
public static final [Link] TAG_SYLT
TAG_RBUF
public static final [Link] TAG_RBUF
TAG_TALB
public static final [Link] TAG_TALB
TAG_TBPM
public static final [Link] TAG_TBPM
TAG_TCOM
public static final [Link] TAG_TCOM
TAG_TCON
public static final [Link] TAG_TCON
TAG_TCOP
public static final [Link] TAG_TCOP
TAG_TDEN
public static final [Link] TAG_TDEN
TAG_TDLY
public static final [Link] TAG_TDLY
TAG_TDOR
public static final [Link] TAG_TDOR
TAG_TDRC
public static final [Link] TAG_TDRC
TAG_TDRL
public static final [Link] TAG_TDRL
TAG_TDTG
public static final [Link] TAG_TDTG
TAG_TENC
public static final [Link] TAG_TENC
TAG_TEXT
public static final [Link] TAG_TEXT
TAG_TFLT
public static final [Link] TAG_TFLT
TAG_TIPL
public static final [Link] TAG_TIPL
TAG_TIT1
public static final [Link] TAG_TIT1
TAG_TIT2
public static final [Link] TAG_TIT2
TAG_TIT3
public static final [Link] TAG_TIT3
TAG_TKEY
public static final [Link] TAG_TKEY
TAG_TLAN
public static final [Link] TAG_TLAN
TAG_TLEN
public static final [Link] TAG_TLEN
TAG_TMCL
public static final [Link] TAG_TMCL
TAG_TMED
public static final [Link] TAG_TMED
TAG_TMOO
public static final [Link] TAG_TMOO
TAG_TOAL
public static final [Link] TAG_TOAL
TAG_TOFN
public static final [Link] TAG_TOFN
TAG_TOLY
public static final [Link] TAG_TOLY
TAG_TOPE
public static final [Link] TAG_TOPE
TAG_TOWN
public static final [Link] TAG_TOWN
TAG_TPE1
public static final [Link] TAG_TPE1
TAG_TPE2
public static final [Link] TAG_TPE2
TAG_TPE3
public static final [Link] TAG_TPE3
TAG_TPE4
public static final [Link] TAG_TPE4
TAG_TPOS
public static final [Link] TAG_TPOS
TAG_TPRO
public static final [Link] TAG_TPRO
TAG_TPUB
public static final [Link] TAG_TPUB
TAG_TRCK
public static final [Link] TAG_TRCK
TAG_TRSN
public static final [Link] TAG_TRSN
TAG_TRSO
public static final [Link] TAG_TRSO
TAG_TSOA
public static final [Link] TAG_TSOA
TAG_TSOP
public static final [Link] TAG_TSOP
TAG_TSOT
public static final [Link] TAG_TSOT
TAG_TSRC
public static final [Link] TAG_TSRC
TAG_TSSE
public static final [Link] TAG_TSSE
TAG_TSST
public static final [Link] TAG_TSST
TAGS_TEXTINFORMATION
public static final [Link] TAGS_TEXTINFORMATION
TAG_WCOM
public static final [Link] TAG_WCOM
TAG_WCOP
public static final [Link] TAG_WCOP
TAG_WOAF
public static final [Link] TAG_WOAF
TAG_WOAR
public static final [Link] TAG_WOAR
TAG_WOAS
public static final [Link] TAG_WOAS
TAG_WORS
public static final [Link] TAG_WORS
TAG_WPAY
public static final [Link] TAG_WPAY
TAG_WPUB
public static final [Link] TAG_WPUB
TAG_TXXX
public static final [Link] TAG_TXXX
TAG_COMM
public static final [Link] TAG_COMM
TAG_WXXX
public static final [Link] TAG_WXXX
FLAGS_DEFAULT
public static final int FLAGS_DEFAULT
Constant value: 0
Constructors
ID3V2FrameBase
public ID3V2FrameBase(String idStr,
int flags)
Methods
byteStringLen
public static int byteStringLen(String value)
serializeStringLen
public static int serializeStringLen(String value)
trimTrailingZero
public static String trimTrailingZero(String value)
serializeString
public static int serializeString(String value,
byte[] buffer,
int offset)
deserializeString
public static String deserializeString(byte[] buffer,
int offset,
int len)
deserializeFrame
public static ID3V2FrameBase deserializeFrame(byte[] buffer,
int offset,
int len)
serialize
public int serialize(byte[] buffer,
int offset)
getIdStr
public String getIdStr()
setIdStr
public void setIdStr(String idStr)
getFlags
public int getFlags()
setFlags
public void setFlags(int flags)
getSize
public int getSize()
getMapIdStr
public String getMapIdStr()
[Link]
Class ID3V2FrameComment
[Link]
|
+-[Link].ID3V2FrameBase
|
+-[Link].ID3V2FrameComment
All Implemented Interfaces:
IID3V2Frame
Constructor Summary
public ID3V2FrameComment(String idStr, int flags)
public ID3V2FrameComment()
Method Summary
void deserializeBody(byte[] buffer, int offset, int len)
int getBodySize()
String getDescription()
int getTextEncoding()
String getValue()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
ID3V2FrameComment
public ID3V2FrameComment(String idStr,
int flags)
ID3V2FrameComment
public ID3V2FrameComment(String idStr)
ID3V2FrameComment
public ID3V2FrameComment()
Methods
serializeBody
public int serializeBody(byte[] buffer,
int offset)
deserializeBody
public void deserializeBody(byte[] buffer,
int offset,
int len)
getBodySize
public int getBodySize()
getValue
public String getValue()
setValue
public void setValue(String value)
getTextEncoding
public int getTextEncoding()
setTextEncoding
public void setTextEncoding(int textEncoding)
getDescription
public String getDescription()
setDescription
public void setDescription(String description)
[Link]
Class ID3V2FrameLinkedInformation
[Link]
|
+-[Link].ID3V2FrameBase
|
+-[Link].ID3V2FrameLinkedInformation
All Implemented Interfaces:
IID3V2Frame
Constructor Summary
public ID3V2FrameLinkedInformation(String idStr, int flags)
public ID3V2FrameLinkedInformation()
Method Summary
void deserializeBody(byte[] buffer, int offset, int len)
int getBodySize()
byte[] getData()
String getDescription()
long getFrameIdentifier()
String getURL()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
ID3V2FrameLinkedInformation
public ID3V2FrameLinkedInformation(String idStr,
int flags)
ID3V2FrameLinkedInformation
public ID3V2FrameLinkedInformation()
Methods
serializeBody
public int serializeBody(byte[] buffer,
int offset)
deserializeBody
public void deserializeBody(byte[] buffer,
int offset,
int len)
getBodySize
public int getBodySize()
getDescription
public String getDescription()
setDescription
public void setDescription(String description)
getFrameIdentifier
public long getFrameIdentifier()
setFrameIdentifier
public void setFrameIdentifier(long frameIdentifier)
getURL
public String getURL()
setURL
public void setURL(String url)
getData
public byte[] getData()
setData
public void setData(byte[] data)
[Link]
Class ID3V2FramePrivate
[Link]
|
+-[Link].ID3V2FrameBase
|
+-[Link].ID3V2FramePrivate
All Implemented Interfaces:
IID3V2Frame
Constructor Summary
public ID3V2FramePrivate(String idStr, int flags)
public ID3V2FramePrivate()
Method Summary
void deserializeBody(byte[] buffer, int offset, int len)
int getBodySize()
byte[] getData()
String getOwnerIdentifier()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
ID3V2FramePrivate
public ID3V2FramePrivate(String idStr,
int flags)
ID3V2FramePrivate
public ID3V2FramePrivate()
Methods
serializeBody
public int serializeBody(byte[] buffer,
int offset)
deserializeBody
public void deserializeBody(byte[] buffer,
int offset,
int len)
getBodySize
public int getBodySize()
getOwnerIdentifier
public String getOwnerIdentifier()
setOwnerIdentifier
public void setOwnerIdentifier(String ownerIdentifier)
getData
public byte[] getData()
setData
public void setData(byte[] data)
[Link]
Class ID3V2FrameRawBytes
[Link]
|
+-[Link].ID3V2FrameBase
|
+-[Link].ID3V2FrameRawBytes
All Implemented Interfaces:
IID3V2Frame
Constructor Summary
public ID3V2FrameRawBytes(String idStr, int flags)
Method Summary
void deserializeBody(byte[] buffer, int offset, int len)
int getBodySize()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
ID3V2FrameRawBytes
public ID3V2FrameRawBytes(String idStr,
int flags)
ID3V2FrameRawBytes
public ID3V2FrameRawBytes(String idStr)
Methods
serializeBody
public int serializeBody(byte[] buffer,
int offset)
deserializeBody
public void deserializeBody(byte[] buffer,
int offset,
int len)
getBodySize
public int getBodySize()
[Link]
Class ID3V2FrameRecommendedBufferSize
[Link]
|
+-[Link].ID3V2FrameBase
|
+-[Link].ID3V2FrameRecommendedBufferSize
All Implemented Interfaces:
IID3V2Frame
Constructor Summary
public ID3V2FrameRecommendedBufferSize(String idStr, int flags)
public ID3V2FrameRecommendedBufferSize()
Method Summary
void deserializeBody(byte[] buffer, int offset, int len)
int getBodySize()
int getBufferSize()
byte getEmbeddedFlag()
long getOffsetToNextTag()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
ID3V2FrameRecommendedBufferSize
public ID3V2FrameRecommendedBufferSize(String idStr,
int flags)
ID3V2FrameRecommendedBufferSize
public ID3V2FrameRecommendedBufferSize()
Methods
serializeBody
public int serializeBody(byte[] buffer,
int offset)
deserializeBody
public void deserializeBody(byte[] buffer,
int offset,
int len)
getBodySize
public int getBodySize()
getBufferSize
public int getBufferSize()
setBufferSize
public void setBufferSize(int bufferSize)
getEmbeddedFlag
public byte getEmbeddedFlag()
setEmbeddedFlag
public void setEmbeddedFlag(byte embeddedFlag)
getOffsetToNextTag
public long getOffsetToNextTag()
setOffsetToNextTag
public void setOffsetToNextTag(long offsetToNextTag)
[Link]
Class ID3V2FrameSynchronizedText
[Link]
|
+-[Link].ID3V2FrameBase
|
+-[Link].ID3V2FrameSynchronizedText
All Implemented Interfaces:
IID3V2Frame
Field Summary
public static final CONTENTTYPE_CHORD
Value: 5
Value: 4
Value: 1
Value: 3
Value: 0
Value: 2
Value: 6
Value: 8
Value: 7
Value: 2
Value: 1
Constructor Summary
public ID3V2FrameSynchronizedText(String idStr, int flags)
public ID3V2FrameSynchronizedText()
Method Summary
void addContentDescriptor(ID3V2FrameSynchronizedTextDescriptor
contentDescriptor)
int getBodySize()
[Link] getContentDescriptors()
byte getContentType()
String getLanguage()
int getTextEncoding()
byte getTimeStampFormat()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
CONTENTTYPE_OTHER
public static final int CONTENTTYPE_OTHER
Constant value: 0
CONTENTTYPE_LYRICS
public static final int CONTENTTYPE_LYRICS
Constant value: 1
CONTENTTYPE_TRANSCRPTION
public static final int CONTENTTYPE_TRANSCRPTION
Constant value: 2
CONTENTTYPE_MOVEMENT
public static final int CONTENTTYPE_MOVEMENT
Constant value: 3
CONTENTTYPE_EVENTS
public static final int CONTENTTYPE_EVENTS
Constant value: 4
CONTENTTYPE_CHORD
public static final int CONTENTTYPE_CHORD
Constant value: 5
CONTENTTYPE_TRIVIA
public static final int CONTENTTYPE_TRIVIA
Constant value: 6
CONTENTTYPE_URLWEBPAGES
public static final int CONTENTTYPE_URLWEBPAGES
Constant value: 7
CONTENTTYPE_URLIMAGES
public static final int CONTENTTYPE_URLIMAGES
Constant value: 8
TIMESTAMPFORMAT_MPEG
public static final int TIMESTAMPFORMAT_MPEG
Constant value: 1
TIMESTAMPFORMAT_MILLISECONDS
public static final int TIMESTAMPFORMAT_MILLISECONDS
Constant value: 2
Constructors
ID3V2FrameSynchronizedText
public ID3V2FrameSynchronizedText(String idStr,
int flags)
ID3V2FrameSynchronizedText
public ID3V2FrameSynchronizedText()
Methods
serializeBody
public int serializeBody(byte[] buffer,
int offset)
deserializeBody
public void deserializeBody(byte[] buffer,
int offset,
int len)
getBodySize
public int getBodySize()
getTextEncoding
public int getTextEncoding()
setTextEncoding
public void setTextEncoding(int textEncoding)
getLanguage
public String getLanguage()
setLanguage
public void setLanguage(String language)
getTimeStampFormat
public byte getTimeStampFormat()
setTimeStampFormat
public void setTimeStampFormat(byte timeStampFormat)
getContentType
public byte getContentType()
setContentType
public void setContentType(byte contentType)
getContentDescriptors
public [Link] getContentDescriptors()
addContentDescriptor
public void addContentDescriptor(ID3V2FrameSynchronizedTextDescriptor
contentDescriptor)
addContentDescriptor
public void addContentDescriptor(long timecode,
String value)
[Link]
Class ID3V2FrameSynchronizedTextDescriptor
[Link]
|
+-[Link].ID3V2FrameSynchronizedTextDescriptor
Constructor Summary
public ID3V2FrameSynchronizedTextDescriptor()
Method Summary
long getTimecode()
String getValue()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
ID3V2FrameSynchronizedTextDescriptor
public ID3V2FrameSynchronizedTextDescriptor()
ID3V2FrameSynchronizedTextDescriptor
public ID3V2FrameSynchronizedTextDescriptor(long timecode,
String value)
Methods
getTimecode
public long getTimecode()
setTimecode
public void setTimecode(long timecode)
getValue
public String getValue()
setValue
public void setValue(String value)
[Link]
Class ID3V2FrameTextInformation
[Link]
|
+-[Link].ID3V2FrameBase
|
+-[Link].ID3V2FrameTextInformation
All Implemented Interfaces:
IID3V2Frame
Field Summary
protected addTrailingZero
Constructor Summary
public ID3V2FrameTextInformation(String idStr, int flags)
Method Summary
void deserializeBody(byte[] buffer, int offset, int len)
int getBodySize()
int getTextEncoding()
String getValue()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
addTrailingZero
protected boolean addTrailingZero
Constructors
ID3V2FrameTextInformation
public ID3V2FrameTextInformation(String idStr,
int flags)
ID3V2FrameTextInformation
public ID3V2FrameTextInformation(String idStr)
Methods
serializeBody
public int serializeBody(byte[] buffer,
int offset)
deserializeBody
public void deserializeBody(byte[] buffer,
int offset,
int len)
getBodySize
public int getBodySize()
getValue
public String getValue()
setValue
public void setValue(String value)
getTextEncoding
public int getTextEncoding()
setTextEncoding
public void setTextEncoding(int textEncoding)
[Link]
Class ID3V2FrameURLLink
[Link]
|
+-[Link].ID3V2FrameBase
|
+-[Link].ID3V2FrameURLLink
All Implemented Interfaces:
IID3V2Frame
Constructor Summary
public ID3V2FrameURLLink(String idStr, int flags)
Method Summary
void deserializeBody(byte[] buffer, int offset, int len)
int getBodySize()
int getTextEncoding()
String getURL()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
ID3V2FrameURLLink
public ID3V2FrameURLLink(String idStr,
int flags)
ID3V2FrameURLLink
public ID3V2FrameURLLink(String idStr)
Methods
serializeBody
public int serializeBody(byte[] buffer,
int offset)
deserializeBody
public void deserializeBody(byte[] buffer,
int offset,
int len)
getBodySize
public int getBodySize()
getURL
public String getURL()
setURL
public void setURL(String value)
getTextEncoding
public int getTextEncoding()
setTextEncoding
public void setTextEncoding(int textEncoding)
[Link]
Class ID3V2Utils
[Link]
|
+-[Link].ID3V2Utils
Constructor Summary
public ID3V2Utils()
Method Summary
static int byteArrayToIntSafeSync(byte[] b, int offset, int count)
static void intToByteArraySafeSync(int value, byte[] buffer, int offset, int size)
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
ID3V2Utils
public ID3V2Utils()
Methods
byteArrayToLongSafeSync
public static long byteArrayToLongSafeSync(byte[] b,
int offset,
int count)
byteArrayToIntSafeSync
public static int byteArrayToIntSafeSync(byte[] b,
int offset,
int count)
intToByteArraySafeSync
public static void intToByteArraySafeSync(int value,
byte[] buffer,
int offset,
int size)
[Link]
Interface IID3V2Frame
All Known Implementing Classes:
ID3V2FrameBase
Method Summary
void deserializeBody(byte[] buffer, int offset, int len)
int getBodySize()
int getFlags()
String getIdStr()
String getMapIdStr()
int getSize()
Methods
getIdStr
public String getIdStr()
setIdStr
public void setIdStr(String idStr)
getMapIdStr
public String getMapIdStr()
getFlags
public int getFlags()
setFlags
public void setFlags(int flags)
getSize
public int getSize()
getBodySize
public int getBodySize()
deserializeBody
public void deserializeBody(byte[] buffer,
int offset,
int len)
serializeBody
public int serializeBody(byte[] buffer,
int offset)
serialize
public int serialize(byte[] buffer,
int offset)
[Link]
Interface IMediaCaster
Field Summary
public static final MEDIACASTERTYPE_LIVEREPEATER
Value: 1
Value: 3
Value: 2
Value: 0
Value: 100
Value: 101
Value: 6
Value: 2
Value: 4
Value: 1
Value: 3
Value: 5
Value: 0
Method Summary
boolean doWatchdog()
Idle processor
void forceReset()
Force a reset/reconnect of this media caster
IApplicationInstance getAppInstance()
Get the application instance this media caster is associated with
long getConnectLastAttempt()
Get system time in milliseconds of last connection attempt
long getConnectLastForceReset()
Get system time in milliseconds of last time forceReset was called
long getConnectLastSuccess()
Get system time in milliseconds of last connection success
int getIdleTimeout()
Get the idle timeout for this media caster (milliseconds)
Object getLock()
Get the MediaCaster lock for an individual MediaCaster item.
MediaCasterItem getMediaCasterDef()
Get the media caster definition
String getMediaCasterId()
Get the media caster id
MediaCasterStreamItem getMediaCasterStreamItem()
Get the media caster item associated with this media caster
int getMediaCasterType()
Get the media caster type.
int getReconnectWaitTime()
Get the minimum time between reconnect attempts (milliseconds)
IMediaStream getStream()
Get the underlying stream being used by this media caster
long getStreamLastSeq()
Get the AMFPacket sequence number of last watchdog processed packet
long getStreamMissingTime()
Get the time in milliseconds the stream has been missing
int getStreamTimeout()
Get the watchdog stream timeout (milliseconds)
long getStreamTimeoutLastReset()
Get system time in milliseconds of last time stream was reset due to stream timeout (debug)
long getStreamTimeoutLastTime()
Get system time in milliseconds of last time stream was considered in missing state (debug)
int getStreamTimeoutReason()
Get the reason the stream is in timeout condition (debug)
IVHost getVHost()
Get the virtual host associated with this media caster
boolean isSession()
Is there current a session attached to this MediaCaster
boolean isStream()
Is there a stream associated with this MediaCaster
boolean isStreamIsRunning()
Return true if stream is currently running
Fields
STREAMTIMEOUTREASON_UNKNOWN
public static final int STREAMTIMEOUTREASON_UNKNOWN
Constant value: 0
STREAMTIMEOUTREASON_NOTIMEOUT
public static final int STREAMTIMEOUTREASON_NOTIMEOUT
Constant value: 1
STREAMTIMEOUTREASON_NOSESSION
public static final int STREAMTIMEOUTREASON_NOSESSION
Constant value: 2
STREAMTIMEOUTREASON_NOURL
public static final int STREAMTIMEOUTREASON_NOURL
Constant value: 3
STREAMTIMEOUTREASON_NOSTREAM
public static final int STREAMTIMEOUTREASON_NOSTREAM
Constant value: 4
STREAMTIMEOUTREASON_RECONNECTRUNNING
public static final int STREAMTIMEOUTREASON_RECONNECTRUNNING
Constant value: 5
STREAMTIMEOUTREASON_NORTSPSESSION
public static final int STREAMTIMEOUTREASON_NORTSPSESSION
Constant value: 6
STREAMTIMEOUTREASON_GOOD
public static final int STREAMTIMEOUTREASON_GOOD
STREAMTIMEOUTREASON_MISSING
public static final int STREAMTIMEOUTREASON_MISSING
MEDIACASTERTYPE_UNKNOWN
public static final int MEDIACASTERTYPE_UNKNOWN
Constant value: 0
MEDIACASTERTYPE_LIVEREPEATER
public static final int MEDIACASTERTYPE_LIVEREPEATER
Constant value: 1
MEDIACASTERTYPE_SHOUTCAST
public static final int MEDIACASTERTYPE_SHOUTCAST
Constant value: 2
MEDIACASTERTYPE_RTPLIVE
public static final int MEDIACASTERTYPE_RTPLIVE
Constant value: 3
Methods
init
public void init(MediaCasterStreamItem mediaCasterStreamItem,
MediaCasterItem mediaCasterDef,
IApplicationInstance appInstance,
String mediaCasterId,
String streamExt)
Parameters:
mediaCasterStreamItem - media caster item
mediaCasterDef - media caster definition
appInstance - application instance
mediaCasterId - media caster id
streamExt - stream ext or prefix
getVHost
public IVHost getVHost()
Returns:
virtual host associated with this media caster
getMediaCasterId
public String getMediaCasterId()
Returns:
media caster id
setMediaCasterId
public void setMediaCasterId(String mediaCasterId)
Parameters:
mediaCasterId - media caster id
getStream
public IMediaStream getStream()
Returns:
underlying stream being used by this media caster
setStream
public void setStream(IMediaStream stream)
Parameters:
stream - underlying stream being used by this media caster
getAppInstance
public IApplicationInstance getAppInstance()
Returns:
application instance this media caster is associated with
setAppInstance
public void setAppInstance(IApplicationInstance appInstance)
Parameters:
appInstance - application instance this media caster is assoicated with
getMediaCasterDef
public MediaCasterItem getMediaCasterDef()
Returns:
media caster definition
setMediaCasterDef
public void setMediaCasterDef(MediaCasterItem mediaCasterDef)
Parameters:
mediaCasterDef - media caster definition
shutdown
public void shutdown(boolean isAppInstanceShutdown)
Parameters:
isAppInstanceShutdown - is server shutdown
registerPlayer
public void registerPlayer(IMediaStreamPlay player)
Parameters:
player - player to register
unregisterPlayer
public void unregisterPlayer(IMediaStreamPlay player)
Parameters:
player - player to unregister
getIdleTimeout
public int getIdleTimeout()
Returns:
idle timeout for this media caster (milliseconds)
sessionOpened
public void sessionOpened([Link] session)
sessionOpened callback
Parameters:
session - IO Session
sessionClosed
public void sessionClosed([Link] session)
sessionClosed callback
Parameters:
session - IO Session
getMediaCasterStreamItem
public MediaCasterStreamItem getMediaCasterStreamItem()
Get the media caster item associated with this media caster
Returns:
media caster item associated with this media caster
forceReset
public void forceReset()
doWatchdog
public boolean doWatchdog()
Idle processor
Returns:
return true if media caster unloaded due to idle event
getStreamTimeout
public int getStreamTimeout()
Returns:
stream timeout
setStreamTimeout
public void setStreamTimeout(int streamTimeout)
Parameters:
streamTimeout - stream timeout
getStreamMissingTime
public long getStreamMissingTime()
Returns:
time in milliseconds the stream has been missing
getStreamLastSeq
public long getStreamLastSeq()
Returns:
AMFPacket sequence number
getStreamTimeoutReason
public int getStreamTimeoutReason()
Returns:
reason the stream is in timeout condition (debug)
getStreamTimeoutLastTime
public long getStreamTimeoutLastTime()
Get system time in milliseconds of last time stream was considered in missing state (debug)
Returns:
time in milliseconds of last time stream was considered in missing
getStreamTimeoutLastReset
public long getStreamTimeoutLastReset()
Get system time in milliseconds of last time stream was reset due to stream timeout (debug)
Returns:
time in milliseconds of last time stream was reset
isSession
public boolean isSession()
Returns:
true is MediaCaster has session
isStream
public boolean isStream()
Returns:
true if stream associated with this MediaCaster
getConnectLastAttempt
public long getConnectLastAttempt()
Returns:
system time in milliseconds of last connection attempt
getConnectLastSuccess
public long getConnectLastSuccess()
Returns:
system time in milliseconds of last connection success
getConnectLastForceReset
public long getConnectLastForceReset()
Returns:
system time in milliseconds of last time forceReset was called
isStreamIsRunning
public boolean isStreamIsRunning()
Returns:
true if stream is currently running
getReconnectWaitTime
public int getReconnectWaitTime()
Returns:
minimum time between reconnect attempts (milliseconds)
setReconnectWaitTime
public void setReconnectWaitTime(int reconnectWaitTime)
Parameters:
reconnectWaitTime - minimum time between reconnect attempts (milliseconds)
getMediaCasterType
public int getMediaCasterType()
Returns:
media caster type
setMediaCasterType
public void setMediaCasterType(int mediaCasterType)
Parameters:
mediaCasterType - media caster type
getLock
public Object getLock()
setStreamRunning
public void setStreamRunning(boolean streamRunning)
Parameters:
streamRunning - set to true if stream is running
[Link]
Interface IMediaCasterDataReceiver
Method Summary
void onData([Link] data)
Data callback
Methods
onData
public void onData([Link] data)
Data callback
Parameters:
data - data
[Link]
Interface IMediaCasterNetConnection
Method Summary
[Link] getNetConnection()
[Link]
Receives the INetConnection interface for a live repeater connection
Methods
getNetConnection
public [Link] getNetConnection()
Returns:
INetConnection interface
[Link]
Interface IMediaCasterNotify
All Subinterfaces:
IMediaCasterNotify2
Method Summary
void onMediaCasterCreate(IMediaCaster mediaCaster)
Invoked when mediaCaster created
Methods
onMediaCasterCreate
public void onMediaCasterCreate(IMediaCaster mediaCaster)
Parameters:
mediaCaster
onMediaCasterDestroy
public void onMediaCasterDestroy(IMediaCaster mediaCaster)
Parameters:
mediaCaster
onRegisterPlayer
public void onRegisterPlayer(IMediaCaster mediaCaster,
IMediaStreamPlay player)
Parameters:
mediaCaster
player
onUnRegisterPlayer
public void onUnRegisterPlayer(IMediaCaster mediaCaster,
IMediaStreamPlay player)
Parameters:
mediaCaster
player
onSetSourceStream
public void onSetSourceStream(IMediaCaster mediaCaster,
IMediaStream stream)
Invoked when soure stream is set (can be called with stream of null)
Parameters:
mediaCaster
stream
[Link]
Interface IMediaCasterNotify2
All Superinterfaces:
IMediaCasterNotify
Method Summary
void onConnectFailure(IMediaCaster mediaCaster)
Invoked when a connection or reconnection attempt fails
Methods
onConnectStart
public void onConnectStart(IMediaCaster mediaCaster)
Parameters:
mediaCaster
onConnectSuccess
public void onConnectSuccess(IMediaCaster mediaCaster)
Parameters:
mediaCaster
onConnectFailure
public void onConnectFailure(IMediaCaster mediaCaster)
Parameters:
mediaCaster
onStreamStart
public void onStreamStart(IMediaCaster mediaCaster)
Invoked when the stream starts receiving media data from the media source. This event will only be thrown if the MediaCaster
property streamTimeout is set to a non-zero value. NOTE: This is not implemented yet (coming soon)
Parameters:
mediaCaster
onStreamStop
public void onStreamStop(IMediaCaster mediaCaster)
Invoked when the stream stops receiving media data from the media source after the streamTimeout value has passed. This
event will only be thrown if the MediaCaster property streamTimeout is set to a non-zero value. NOTE: This is not
implemented yet (coming soon)
Parameters:
mediaCaster
[Link]
Interface IMediaCasterValidateMediaCaster
All Known Implementing Classes:
ModuleMediaCasterStreamMonitorAdvanced
Method Summary
boolean onResetMediaCaster(IApplicationInstance appInstance, IMediaCaster
mediaCaster)
Called when media caster is reset
Methods
onValidateMediaCastersStart
public void onValidateMediaCastersStart(IApplicationInstance appInstance)
Parameters:
appInstance - application instance
onValidateMediaCastersStop
public void onValidateMediaCastersStop(IApplicationInstance appInstance)
Parameters:
appInstance
onValidateMediaCaster
public boolean onValidateMediaCaster(IApplicationInstance appInstance,
IMediaCaster mediaCaster)
Called for each media caster to validate the media caster. Return true if valid.
Parameters:
appInstance - application instance
mediaCaster - media caster
Returns:
true, if valid
onResetMediaCaster
public boolean onResetMediaCaster(IApplicationInstance appInstance,
IMediaCaster mediaCaster)
Parameters:
appInstance - application instance
mediaCaster - media caster
Returns:
return true
[Link]
Class MediaCasterItem
[Link]
|
+-[Link]
Constructor Summary
public MediaCasterItem(String name, String streamType, String baseClass)
Media caster item constructor
Method Summary
void clearProperty(String name)
Clear property
String getBaseClass()
Get base class
int getConnectionTimeout()
Get connection timeout (milliseconds)
String getDescription()
Get description
int getKeepAliveTime()
Get keep alive time (milliseconds)
String getName()
Get name
WMSProperties getProperties()
Get properties collection
String getStreamType()
Get the stream type
String toString()
toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
MediaCasterItem
public MediaCasterItem(String name,
String streamType,
String baseClass)
Parameters:
name - media caster name
streamType - stream type
baseClass - base class
Methods
getStreamType
public String getStreamType()
Returns:
stream type
setStreamType
public void setStreamType(String streamType)
Parameters:
streamType - stream type
getName
public String getName()
Get name
Returns:
name
setName
public void setName(String name)
Set name
Parameters:
name - name
setProperty
public void setProperty(String name,
String value)
Set a property
Parameters:
name - name
value - value
clearProperty
public void clearProperty(String name)
Clear property
Parameters:
name - name
getProperty
public String getProperty(String name)
Parameters:
name - name
Returns:
property value
getProperties
public WMSProperties getProperties()
Returns:
properties collection
getDescription
public String getDescription()
Get description
Returns:
description
setDescription
public void setDescription(String description)
Set description
Parameters:
description - description
getBaseClass
public String getBaseClass()
Returns:
base class
setBaseClass
public void setBaseClass(String baseClass)
Parameters:
baseClass - base class
getConnectionTimeout
public int getConnectionTimeout()
Returns:
connection timeout (milliseconds)
setConnectionTimeout
public void setConnectionTimeout(int connectionTimeout)
Parameters:
connectionTimeout - connection timeout (milliseconds)
getKeepAliveTime
public int getKeepAliveTime()
Returns:
keep alive time (milliseconds)
setKeepAliveTime
public void setKeepAliveTime(int keepAliveTime)
Parameters:
keepAliveTime - keep alive time (milliseconds)
getIdString
public static String getIdString(String name,
String liveStreamPacketizer,
String liveStreamRepeater)
Get id string for this media caster item (not used - returns name unchanged)
Parameters:
name - name
Returns:
id string for this media caster item
parseIdString
public static MediaCasterStreamId parseIdString(String idString)
idStringToName
public String idStringToName(String idString)
Parameters:
idString - id string
Returns:
name
toString
public String toString()
toString
[Link]
Class MediaCasterList
[Link]
|
+-[Link]
Constructor Summary
public MediaCasterList()
Constructor
Method Summary
MediaCasterItem getMediaCasterDef(String name)
Get media caster definition by name
[Link] getMediaCasterDefs()
Get map of media caster items
[Link] getMediaCasterNames()
Get list of media caster names
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
MediaCasterList
public MediaCasterList()
Constructor
Methods
getMediaCasterDefs
public [Link] getMediaCasterDefs()
Returns:
map of media caster items
getMediaCasterNames
public [Link] getMediaCasterNames()
Returns:
list of media caster names
getMediaCasterDef
public MediaCasterItem getMediaCasterDef(String name)
Parameters:
name - name
Returns:
media caster definition
[Link]
Class MediaCasterSettings
[Link]
|
+-[Link]
Constructor Summary
public MediaCasterSettings()
Method Summary
HostPortConfig getMediaCasterHostPortConfig()
Get media caster host port config
int getMediaCasterProcessorCount()
Get the thread count use for this host port
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
MediaCasterSettings
public MediaCasterSettings()
Methods
getMediaCasterHostPortConfig
public HostPortConfig getMediaCasterHostPortConfig()
Returns:
host port config
setMediaCasterHostPortConfig
public void setMediaCasterHostPortConfig(HostPortConfig mediaCasterHostPortConfig)
Parameters:
mediaCasterHostPortConfig
getMediaCasterProcessorCount
public int getMediaCasterProcessorCount()
Returns:
thread count use for this host port
setMediaCasterProcessorCount
public void setMediaCasterProcessorCount(int mediaCasterProcessorCount)
Parameters:
mediaCasterProcessorCount - thread count use for this host port
[Link]
Class MediaCasterStreamItem
[Link]
|
+-[Link]
Constructor Summary
public MediaCasterStreamItem(long uniqueId)
Media caster item constructor
Method Summary
void acquire()
Increment acquire lock count for this media caster item
void acquireAndRelease()
Increment then decrement acquire lock count for this media caster item
boolean doWatchdog()
Do idle processing
String getLiveStreamPacketizer()
Get the live stream packetizer for this media caster stream item
String getLiveStreamRepeater()
Get the live stream repeater for this media caster stream item
Object getLock()
int getLockCount()
Get the current number of acquire locks on this media caster item
IMediaCaster getMediaCaster()
Get the underlying IMediaCaster interface for this MediaCaster
String getMediaCasterId()
Get this media caster item id
int getPlayerCount()
Get the current number of players associated with this media caster item
String getStreamExt()
long getUniqueId()
boolean isShutdownOnRelease()
On last release shutdown the stream even if clients are connected
boolean isValid()
void release()
Decrement acquire lock count for this media caster item
void reset()
Force a reconnect or reset for this media caster item
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
MediaCasterStreamItem
public MediaCasterStreamItem(long uniqueId)
Methods
getLock
public Object getLock()
getUniqueId
public long getUniqueId()
isValid
public boolean isValid()
setValid
public void setValid(boolean isValid)
init
public void init(String mediaCasterId,
String streamExt,
MediaCasterItem mediaCasterDef,
MediaCasterStreamMap parent,
String liveStreamPacketizer,
String liveStreamRepeater)
Parameters:
mediaCasterId - media caster id
streamExt - stream extension or prefix
mediaCasterDef - media caster definition
parent - parent map
getMediaCasterId
public String getMediaCasterId()
Returns:
media caster item id
getMediaCaster
public IMediaCaster getMediaCaster()
Returns:
underlying IMediaCaster interface
registerPlayer
public void registerPlayer(IMediaStreamPlay player)
Parameters:
player - player to register
unregisterPlayer
public void unregisterPlayer(IMediaStreamPlay player)
Parameters:
player - player to unregister
doWatchdog
public boolean doWatchdog()
Do idle processing
Returns:
return true if caused shutdown of item
reset
public void reset()
shutdown
public void shutdown(boolean isAppInstanceShutdown)
Parameters:
isAppInstanceShutdown - is this due to application shutdown
getPlayerCount
public int getPlayerCount()
Get the current number of players associated with this media caster item
Returns:
current number of players associated with this media caster item
getLockCount
public int getLockCount()
Get the current number of acquire locks on this media caster item
Returns:
current number of acquire locks on this media caster item
acquireAndRelease
public void acquireAndRelease()
Increment then decrement acquire lock count for this media caster item
acquire
public void acquire()
release
public void release()
getStreamExt
public String getStreamExt()
setStreamExt
public void setStreamExt(String streamExt)
isShutdownOnRelease
public boolean isShutdownOnRelease()
Returns:
true if shutting down on release
setShutdownOnRelease
public void setShutdownOnRelease(boolean shutdownOnRelease)
Parameters:
shutdownOnRelease - true if shutting down on release
getLiveStreamPacketizer
public String getLiveStreamPacketizer()
Get the live stream packetizer for this media caster stream item
Returns:
setLiveStreamPacketizer
public void setLiveStreamPacketizer(String liveStreamPacketizer)
Set the live stream packetizer for this media caster stream item
Parameters:
liveStreamPacketizer - live stream packetizer
getLiveStreamRepeater
public String getLiveStreamRepeater()
Get the live stream repeater for this media caster stream item
Returns:
live stream repeater
setLiveStreamRepeater
public void setLiveStreamRepeater(String liveStreamRepeater)
Set the live stream repeater for this media caster stream item
Parameters:
liveStreamRepeater - live stream repeater
[Link]
Class MediaCasterStreamManager
[Link]
|
+-[Link]
Constructor Summary
public MediaCasterStreamManager(MediaCasterStreamMap mediaCasterStreamMap)
Method Summary
String[] getStreamArray()
Get a list of active streams
[Link] getStreamList()
Get a list of active streams
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
MediaCasterStreamManager
public MediaCasterStreamManager(MediaCasterStreamMap mediaCasterStreamMap)
Methods
getStreamArray
public String[] getStreamArray()
Returns:
list of active streams
getStreamList
public [Link] getStreamList()
Returns:
list of active streams
streamExists
public boolean streamExists(String streamName)
Parameters:
streamName - stream name
Returns:
true if stream exists
stopStream
public boolean stopStream(String streamName)
Parameters:
streamName - stream name
Returns:
true is successful
startStream
public boolean startStream(String streamName,
String mediaCasterType)
Parameters:
streamName - stream name
mediaCasterType - MediaCaster type as defined in the name field of conf/[Link]
Returns:
true is successful
[Link]
Class MediaCasterStreamMap
[Link]
|
+-[Link]
Constructor Summary
public MediaCasterStreamMap(IApplicationInstance appInstance)
Create a new mediacaster map
Method Summary
MediaCasterStreamItem acquire(String streamName)
Increment the lock count for a media caster item (so that it remains loaded even if all listeners
go away).
void doWatchdog()
Do periodic idle time processing
IApplicationInstance getApplicationInstance()
Get the parent application instance for this map
[Link] getLock()
[Link]
[Link] Get the read/write lock for this interface
teLock
int getMediaCasterCount()
Get the number of mediacasters current running
[Link] getMediaCasterNames()
Get a list of all the currently running media caster names
MediaCasterStreamMana getStreamManager()
ger
Get the stream manager interface for managing the starting and stopping of streams
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
MediaCasterStreamMap
public MediaCasterStreamMap(IApplicationInstance appInstance)
Parameters:
appInstance - application instance
Methods
getLock
public [Link] getLock()
Returns:
read/write lock
getStreamManager
public MediaCasterStreamManager getStreamManager()
Get the stream manager interface for managing the starting and stopping of streams
Returns:
stream manager interface
getApplicationInstance
public IApplicationInstance getApplicationInstance()
Returns:
parent application instance for this map
getMediaCasterCount
public int getMediaCasterCount()
Returns:
number of mediacasters current running
doWatchdog
public void doWatchdog()
shutdown
public void shutdown(boolean isAppInstanceShutdown)
Shutdown this media caster and close all running media casters
Parameters:
isAppInstanceShutdown - is this due to application shutdown
getMediaCasterNames
public [Link] getMediaCasterNames()
Returns:
list of all the currently running media caster names
getMediaCaster
public MediaCasterStreamItem getMediaCaster(String streamName)
Parameters:
streamName - stream name
Returns:
media caster item
getMediaCaster
public MediaCasterStreamItem getMediaCaster(String streamName,
String liveStreamPacketizer,
String liveStreamRepeater)
Parameters:
streamName - stream name
liveStreamPacketizer - live stream packetizer name
liveStreamRepeater - live stream repeater name
Returns:
media caster item
acquire
public MediaCasterStreamItem acquire(String streamName,
String liveStreamPacketizer,
String liveStreamRepeater)
Increment the lock count for a media caster item (so that it remains loaded even if all listeners go away). Will load the media
caster if not already loaded. Uses default application instance stream type.
Parameters:
streamName - stream name
liveStreamPacketizer - live stream packetizer name
liveStreamRepeater - live stream repeater name
Returns:
media caster item
acquire
public MediaCasterStreamItem acquire(String streamName)
Increment the lock count for a media caster item (so that it remains loaded even if all listeners go away). Will load the media
caster if not already loaded. Uses default application instance stream type.
Parameters:
streamName - stream name
Returns:
media caster item
acquire
public MediaCasterStreamItem acquire(String inStreamName,
MediaCasterItem mediaCasterDef)
Increment the lock count for a media caster item (so that it remains loaded even if all listeners go away). Will load the media
caster if not already loaded. This API allow loading of a MediaCaster into a non-MediaCaster stream type such as the "live" or
"liverepeater-origin" stream type.
Parameters:
inStreamName - stream name
mediaCasterDef - MediaCaster definition
Returns:
media caster item
acquire
public MediaCasterStreamItem acquire(String inStreamName,
String liveStreamPacketizer,
String liveStreamRepeater,
MediaCasterItem mediaCasterDef)
Increment the lock count for a media caster item (so that it remains loaded even if all listeners go away). Will load the media
caster if not already loaded. This API allow loading of a MediaCaster into a non-MediaCaster stream type such as the "live" or
"liverepeater-origin" stream type.
Parameters:
inStreamName - stream name
liveStreamPacketizer - live stream packetizer name
liveStreamRepeater - live stream repeater name
mediaCasterDef - MediaCaster definition
Returns:
media caster item
acquireAndRelease
public MediaCasterStreamItem acquireAndRelease(String inStreamName,
String liveStreamPacketizer,
String liveStreamRepeater,
MediaCasterItem mediaCasterDef)
Increment and then decrement the lock count for a media caster item (so that it is loaded and will stay loaded for at least the
KeepAliveTime). Will load the media caster if not already loaded. This API allow loading of a MediaCaster into a non-
MediaCaster stream type such as the "live" or "liverepeater-origin" stream type.
Parameters:
inStreamName - stream name
liveStreamPacketizer - live stream packetizer name
liveStreamRepeater - live stream repeater name
mediaCasterDef - MediaCaster definition
Returns:
acquire
public MediaCasterStreamItem acquire(String inStreamName,
String streamType)
Increment the lock count for a media caster item (so that it remains loaded even if all listeners go away). Will load the media
caster if not already loaded.
Parameters:
inStreamName - stream name
streamType - stream type to use (null will use default application streamType)
Returns:
media caster item
acquire
public MediaCasterStreamItem acquire(String inStreamName,
String liveStreamPacketizer,
String liveStreamRepeater,
String streamType)
Increment the lock count for a media caster item (so that it remains loaded even if all listeners go away). Will load the media
caster if not already loaded.
Parameters:
inStreamName - stream name
liveStreamPacketizer - live stream packetizer name
liveStreamRepeater - live stream repeater name
streamType - stream type to use (null will use default application streamType)
Returns:
media caster item
release
public void release(MediaCasterStreamItem mediaCasterStreamItem)
Parameters:
mediaCasterStreamItem - media caster item to decrement
release
public void release(MediaCasterStreamItem mediaCasterStreamItem,
boolean removeIfZero)
remove
public void remove(MediaCasterStreamItem mediaCasterStreamItem)
streamSrcToMediaCaster
public String streamSrcToMediaCaster(long streamSrc)
addStreamSrcToMediaCaster
public void addStreamSrcToMediaCaster(long streamSrc,
String mediaCasterId)
clearStreamSrcToMediaCaster
public void clearStreamSrcToMediaCaster(long streamSrc)
registerPlayer
public void registerPlayer(IMediaStreamPlay player,
MediaCasterItem mediaCasterDef)
Parameters:
player - player to register
mediaCasterDef - media caster definition
unregisterPlayer
public void unregisterPlayer(IMediaStreamPlay player,
MediaCasterItem mediaCasterDef)
Parameters:
player - player to unregister
mediaCasterDef - media caster definition
[Link]
Class ModuleMediaCaster
[Link]
|
+-[Link]
|
+-[Link]
All Implemented Interfaces:
IModuleOnApp
Constructor Summary
public ModuleMediaCaster()
Method Summary
void acquireMediaCaster(IClient client,
[Link] function, AMFDataList params)
Increment the lock count of a media caster stream.
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
onAppStart, onAppStop
Constructors
ModuleMediaCaster
public ModuleMediaCaster()
Methods
onAppStart
public void onAppStart(IApplicationInstance appInstance)
onAppStart
onAppStop
public void onAppStop(IApplicationInstance appInstance)
onAppStop
getLockCount
public void getLockCount(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - {streamName}
getPlayerCount
public void getPlayerCount(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - {streamName}
getStreamNames
public void getStreamNames(IClient client,
[Link] function,
AMFDataList params)
Get an array of stream names that are media casters associate with this application instance (returned as AMFDataArray)
Parameters:
client - client
function - function
params - (no params)
resetStream
public void resetStream(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - {streamName}
shutdownStream
public void shutdownStream(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - {streamName}
acquireMediaCaster
public void acquireMediaCaster(IClient client,
[Link] function,
AMFDataList params)
Increment the lock count of a media caster stream. If the media caster does not exists create it and connect.
Parameters:
client - client
function - function
params - {streamName, streamType [optional]}
releaseMediaCaster
public void releaseMediaCaster(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - {streamName}
[Link]
Interface IRTPSessionDescriptionDataProvider
Method Summary
boolean doIdle(MediaCaster mediaCaster)
Methods
init
public void init(MediaCaster mediaCaster)
getSessionDescriptionData
public RTPSessionDescriptionData getSessionDescriptionData(IApplicationInstance
appInstance,
String streamName,
int retryCount,
IRTPSessionDescriptionSessionHandler handler,
IMediaCaster mediaCaster)
sessionStart
public void sessionStart(RTPSession rtpSession)
sessionStop
public void sessionStop(RTPSession rtpSession)
doIdle
public boolean doIdle(MediaCaster mediaCaster)
[Link]
Interface IRTPSessionDescriptionSessionHandler
Method Summary
void onDisconnect()
Methods
onDisconnect
public void onDisconnect()
[Link]
Interface IShoutCastFrameReceiver
Method Summary
void onCodecConfigAAC([Link] frame, byte[] buffer,
long offset)
void onTrim()
Methods
onFrameMP3
public void onFrameMP3(int frequency,
int samplesPerFrame,
int channels,
byte[] syncHeader,
byte[] packetHeader,
byte[] frameData)
onCodecConfigAAC
public void onCodecConfigAAC([Link] frame,
byte[] buffer,
long offset)
onFrameAAC
public void onFrameAAC([Link] frame,
byte[] buffer,
long offset)
onTrim
public void onTrim()
onHeaderData
public void onHeaderData([Link] headerMap)
onMetaData
public void onMetaData([Link] metaMap)
[Link]
Interface IShoutCastMetaDataListener
Method Summary
void addMetaDataListener(IShoutCastMetaDataNotify listener)
Methods
addMetaDataListener
public void addMetaDataListener(IShoutCastMetaDataNotify listener)
removeMetaDataListener
public boolean removeMetaDataListener(IShoutCastMetaDataNotify listener)
[Link]
Interface IShoutCastMetaDataNotify
Method Summary
void onAACEncodeInfo(IMediaCaster mediaCaster, int frequency, int channels,
int samplesPerFrame)
Methods
onHeaderData
public void onHeaderData(IMediaCaster mediaCaster,
[Link] headerMap)
onMetaData
public void onMetaData(IMediaCaster mediaCaster,
[Link] metaMap)
onAACEncodeInfo
public void onAACEncodeInfo(IMediaCaster mediaCaster,
int frequency,
int channels,
int samplesPerFrame)
onMP3EncodeInfo
public void onMP3EncodeInfo(IMediaCaster mediaCaster,
int frequency,
int channels,
int samplesPerFrame)
[Link]
Class MediaList
[Link]
|
+-[Link]
Field Summary
protected lock
protected name
protected properties
protected segments
Constructor Summary
public MediaList()
Method Summary
void addSegment(int index, MediaListSegment mediaListSegment)
void clearSegments()
MediaListSegment getFirstSegment()
Object getLock()
String getName()
WMSProperties getProperties()
[Link] getSegment()
void reset()
String toSMILString()
String toString()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
name
protected [Link] name
segments
protected [Link] segments
properties
protected [Link] properties
lock
protected [Link] lock
Constructors
MediaList
public MediaList()
Methods
toString
public String toString()
toSMILString
public String toSMILString()
reset
public void reset()
getSegment
public [Link] getSegment()
addSegment
public void addSegment(MediaListSegment mediaListSegment)
addSegment
public void addSegment(int index,
MediaListSegment mediaListSegment)
removeSegment
public void removeSegment(MediaListSegment mediaListSegment)
removeSegment
public MediaListSegment removeSegment(int index)
clearSegments
public void clearSegments()
getFirstSegment
public MediaListSegment getFirstSegment()
getSegment
public MediaListSegment getSegment(int index)
getLock
public Object getLock()
getProperties
public WMSProperties getProperties()
getProperties
public WMSProperties getProperties(boolean write)
getName
public String getName()
setName
public void setName(String name)
[Link]
Class MediaListRendition
[Link]
|
+-[Link]
Field Summary
protected audioCodecId
protected bitrateAudio
protected bitrateTotal
protected bitrateVideo
protected height
protected lock
protected mediaListSegment
protected name
protected playDuration
protected playStart
protected properties
protected type
protected videoCodecId
protected vodTranscodeNGRP
protected width
protected wowzaAudioOnly
Constructor Summary
public MediaListRendition()
Method Summary
String getAudioCodecId()
int getBitrateAudio()
int getBitrateTotal()
int getBitrateVideo()
String getCodecId()
int getHeight()
String getLanguage()
Object getLock()
MediaListSegment getMediaListSegment()
String getName()
long getPlayDuration()
long getPlayStart()
WMSProperties getProperties()
int[] getSize()
int getType()
String getTypeAsString()
String getVideoCodecId()
String getVODTranscodeNGRP()
int getWidth()
boolean isWowzaAudioOnly()
String toSMILString()
String toString()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
lock
protected [Link] lock
mediaListSegment
protected [Link] mediaListSegment
properties
protected [Link] properties
name
protected [Link] name
type
protected int type
bitrateTotal
protected int bitrateTotal
bitrateAudio
protected int bitrateAudio
bitrateVideo
protected int bitrateVideo
videoCodecId
protected [Link] videoCodecId
audioCodecId
protected [Link] audioCodecId
wowzaAudioOnly
protected boolean wowzaAudioOnly
width
protected int width
height
protected int height
playStart
protected long playStart
playDuration
protected long playDuration
vodTranscodeNGRP
protected [Link] vodTranscodeNGRP
Constructors
MediaListRendition
public MediaListRendition()
Methods
toString
public String toString()
toSMILString
public String toSMILString()
getTypeAsString
public String getTypeAsString()
getLock
public Object getLock()
setLock
public void setLock(Object lock)
getMediaListSegment
public MediaListSegment getMediaListSegment()
setMediaListSegment
public void setMediaListSegment(MediaListSegment mediaListSegment)
getProperties
public WMSProperties getProperties()
getProperties
public WMSProperties getProperties(boolean write)
getBitrateTotal
public int getBitrateTotal()
setBitrateTotal
public void setBitrateTotal(int bitrateTotal)
getBitrateAudio
public int getBitrateAudio()
setBitrateAudio
public void setBitrateAudio(int bitrateAudio)
getBitrateVideo
public int getBitrateVideo()
setBitrateVideo
public void setBitrateVideo(int bitrateVideo)
getVideoCodecId
public String getVideoCodecId()
setVideoCodecId
public void setVideoCodecId(String videoCodecId)
getCodecId
public String getCodecId()
getAudioCodecId
public String getAudioCodecId()
setAudioCodecId
public void setAudioCodecId(String audioCodecId)
isWowzaAudioOnly
public boolean isWowzaAudioOnly()
setWowzaAudioOnly
public void setWowzaAudioOnly(boolean wowzaAudioOnly)
getName
public String getName()
setName
public void setName(String name)
getType
public int getType()
setType
public void setType(int type)
getWidth
public int getWidth()
setWidth
public void setWidth(int width)
getHeight
public int getHeight()
setHeight
public void setHeight(int height)
setSize
public void setSize(int width,
int height)
getSize
public int[] getSize()
getPlayStart
public long getPlayStart()
setPlayStart
public void setPlayStart(long playStart)
getPlayDuration
public long getPlayDuration()
setPlayDuration
public void setPlayDuration(long playDuration)
getVODTranscodeNGRP
public String getVODTranscodeNGRP()
setVODTranscodeNGRP
public void setVODTranscodeNGRP(String vodTranscodeNGRP)
setLanguage
public void setLanguage(String language)
getLanguage
public String getLanguage()
parseCommaSeparatedLanguages
public static [Link] parseCommaSeparatedLanguages(String langStr)
[Link]
Class MediaListSegment
[Link]
|
+-[Link]
Field Summary
protected lock
protected mediaList
protected properties
protected renditions
Constructor Summary
public MediaListSegment()
Method Summary
void addRendition(int index, MediaListRendition mediaListRendition)
void clearSegments()
MediaListRendition getFirstRendition()
Object getLock()
MediaList getMediaList()
WMSProperties getProperties()
[Link] getRenditions()
String toSMILString()
String toString()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
lock
protected [Link] lock
mediaList
protected [Link] mediaList
renditions
protected [Link] renditions
properties
protected [Link] properties
Constructors
MediaListSegment
public MediaListSegment()
Methods
toString
public String toString()
toSMILString
public String toSMILString()
getRenditions
public [Link] getRenditions()
addRendition
public void addRendition(MediaListRendition mediaListRendition)
addRendition
public void addRendition(int index,
MediaListRendition mediaListRendition)
removeRendition
public void removeRendition(MediaListRendition mediaListRendition)
removeRendition
public MediaListRendition removeRendition(int index)
clearSegments
public void clearSegments()
getFirstRendition
public MediaListRendition getFirstRendition()
getRendition
public MediaListRendition getRendition(int index)
getLock
public Object getLock()
setLock
public void setLock(Object lock)
getMediaList
public MediaList getMediaList()
setMediaList
public void setMediaList(MediaList mediaList)
getProperties
public WMSProperties getProperties()
getProperties
public WMSProperties getProperties(boolean write)
[Link]
Interface IModuleCallResult
Method Summary
void onResult(IClient client, [Link]
function, AMFDataList params)
Triggered on client side result from call to [Link]
Methods
onResult
public void onResult(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function object
params - result parameters
[Link]
Interface IModuleNotify
IModuleNotify: listener interface for listening to module loading and unloading. See
[Link](IModuleNotify moduleListener)
Method Summary
void onModuleLoad(ModuleItem item)
Called when module loaded
Methods
onModuleLoad
public void onModuleLoad(ModuleItem item)
Parameters:
item - module
onModuleUnload
public void onModuleUnload(ModuleItem item)
Parameters:
item - module
[Link]
Interface IModuleOnApp
All Known Implementing Classes:
ModuleMediaCaster
Since module method must be implemented as static method a module cannot directly implements this interface. This interface only
serves as an example of the method names and call signature needed to implement these application methods.
Method Summary
void onAppStart(IApplicationInstance appInstance)
Invoked when an application instance is started.
Methods
onAppStart
public void onAppStart(IApplicationInstance appInstance)
Parameters:
appInstance - application instance
onAppStop
public void onAppStop(IApplicationInstance appInstance)
Parameters:
appInstance - application instance
[Link]
Interface IModuleOnCall
IModuleOnCall: method interface example for the catch-all method handler onCall.
Since module method must be implemented as static method a module cannot directly implements this interface. This interface only
serves as an example of the method name and call signature needed to implement this method. The onCall method, when defined in a
module, is invoked for all handlers that are undefined in a given module. The onCall handler can also be used to catch calls to server
side component calls.
Method Summary
void onCall(String handlerName, IClient client,
[Link] function, AMFDataList params)
Catch-all method handler.
Methods
onCall
public void onCall(String handlerName,
IClient client,
[Link] function,
AMFDataList params)
Catch-all method handler. The onCall method, when defined in a module, is invoked for all handlers that are undefined in a
given module.
Parameters:
handlerName - handler name
client - client
function - function object
params - function parameters
[Link]
Interface IModuleOnConnect
Since module method must be implemented as static method a module cannot directly implements this interface. This interface only
serves as an example of the method names and call signature needed to implement these client methods.
Method Summary
void onConnect(IClient client, [Link]
function, AMFDataList params)
Invoked when a client connection is initiated.
Methods
onConnect
public void onConnect(IClient client,
[Link] function,
AMFDataList params)
Invoked when a client connection is initiated. It is within this method that module can call to [Link] or
[Link].
Parameters:
client - client
function - function object
params - function parameters
onDisconnect
public void onDisconnect(IClient client)
Parameters:
client - client
onConnectAccept
public void onConnectAccept(IClient client)
Parameters:
client - client
onConnectReject
public void onConnectReject(IClient client)
Parameters:
client - client
[Link]
Interface IModuleOnHTTPCupertinoEncryption
Field Summary
public static final KEYDATA_MODE_ENCRYPT
Value: 3
Value: 1
Value: 2
Method Summary
void onHTTPCupertinoEncryptionKeyCreateLive(IApplicationInstance
appInstance, String streamName, byte[] encKey)
Called when live stream key is requested (per-published stream)
void onHTTPCupertinoEncryptionKeyCreateVOD(HTTPStreamerSessionCupertino
httpSession, byte[] encKey)
Called when video on demand key is requested (per-session)
void onHTTPCupertinoEncryptionKeyData(HTTPStreamerSessionCupertino
httpSession, IHTTPRequest req, IHTTPResponse resp, byte[] encKeyData)
Called when a key data is requested.
void onHTTPCupertinoEncryptionKeyLiveChunk(ILiveStreamPacketizer
liveStreamPacketizer, String streamName, CupertinoEncInfo encInfo, long
chunkId, int mode)
Called when live stream key is requested (per-published stream, per-chunk - for rotating keys)
void onHTTPCupertinoEncryptionKeyRequest(HTTPStreamerSessionCupertino
httpSession, IHTTPRequest req, IHTTPResponse resp)
Called when a key is requested.
void onHTTPCupertinoEncryptionKeyVODChunk(HTTPStreamerSessionCupertino
httpSession, IHTTPStreamerCupertinoIndex index, CupertinoEncInfo
encInfo, long chunkId, int mode)
Called when video on demand key is requested (per-session).
Fields
KEYDATA_MODE_INIT
public static final int KEYDATA_MODE_INIT
Constant value: 1
KEYDATA_MODE_PLAYLIST
public static final int KEYDATA_MODE_PLAYLIST
Constant value: 2
KEYDATA_MODE_ENCRYPT
public static final int KEYDATA_MODE_ENCRYPT
Constant value: 3
Methods
onHTTPCupertinoEncryptionKeyRequest
public void onHTTPCupertinoEncryptionKeyRequest(HTTPStreamerSessionCupertino
httpSession,
IHTTPRequest req,
IHTTPResponse resp)
Called when a key is requested. Call [Link] to reject the streaming session and stop delivery of the encryption
key.
Parameters:
httpSession - HTTP session
req - HTTP request
resp - HTTP response
onHTTPCupertinoEncryptionKeyData
public void onHTTPCupertinoEncryptionKeyData(HTTPStreamerSessionCupertino httpSession,
IHTTPRequest req,
IHTTPResponse resp,
byte[] encKeyData)
Called when a key data is requested. Set encKeyData to the key data to be sent to the client.
Parameters:
httpSession - HTTP session
req - request
resp - response
encKeyData - key data
onHTTPCupertinoEncryptionKeyCreateVOD
public void onHTTPCupertinoEncryptionKeyCreateVOD(HTTPStreamerSessionCupertino
httpSession,
byte[] encKey)
Parameters:
httpSession - HTTP session
encKey - encryption key
onHTTPCupertinoEncryptionKeyVODChunk
public void onHTTPCupertinoEncryptionKeyVODChunk(HTTPStreamerSessionCupertino
httpSession,
IHTTPStreamerCupertinoIndex index,
CupertinoEncInfo encInfo,
long chunkId,
int mode)
Called when video on demand key is requested (per-session). Allows setting of encryption key and URL.
Parameters:
httpSession - HTTP session
index - file index
encInfo - encryption key
mode - KEYDATA_MODE_*
onHTTPCupertinoEncryptionKeyCreateLive
public void onHTTPCupertinoEncryptionKeyCreateLive(IApplicationInstance appInstance,
String streamName,
byte[] encKey)
Parameters:
appInstance - application instance
streamName - stream name
encKey - encryption key
onHTTPCupertinoEncryptionKeyLiveChunk
public void onHTTPCupertinoEncryptionKeyLiveChunk(ILiveStreamPacketizer
liveStreamPacketizer,
String streamName,
CupertinoEncInfo encInfo,
long chunkId,
int mode)
Called when live stream key is requested (per-published stream, per-chunk - for rotating keys)
Parameters:
liveStreamPacketizer - live stream packetizer
streamName - stream name
encInfo - encryption info
chunkId - chunk ID, -1 for stream creation
mode - KEYDATA_MODE_*
[Link]
Interface IModuleOnHTTPCupertinoStreamingSession
Method Summary
void onHTTPCupertinoStreamingSessionCreate(HTTPStreamerSessionCupertino
httpCupertinoStreamingSession)
Invoked when an HTTP Cupertino Streaming session is created.
void onHTTPCupertinoStreamingSessionDestroy(HTTPStreamerSessionCupertino
httpCupertinoStreamingSession)
Invoked when an HTTP Cupertino Streaming session is destroyed.
Methods
onHTTPCupertinoStreamingSessionCreate
public void onHTTPCupertinoStreamingSessionCreate(HTTPStreamerSessionCupertino
httpCupertinoStreamingSession)
Parameters:
httpCupertinoStreamingSession - httpCupertinoStreamingSession
onHTTPCupertinoStreamingSessionDestroy
public void onHTTPCupertinoStreamingSessionDestroy(HTTPStreamerSessionCupertino
httpCupertinoStreamingSession)
Parameters:
httpCupertinoStreamingSession - httpCupertinoStreamingSession
[Link]
Interface IModuleOnHTTPSanJoseStreamingSession
Method Summary
void onHTTPSanJoseStreamingSessionCreate(HTTPStreamerSessionSanJose
httpSanJoseStreamingSession)
Invoked when an HTTP SanJose Streaming session is created.
void onHTTPSanJoseStreamingSessionDestroy(HTTPStreamerSessionSanJose
httpSanJoseStreamingSession)
Invoked when an HTTP SanJose Streaming session is destroyed.
Methods
onHTTPSanJoseStreamingSessionCreate
public void onHTTPSanJoseStreamingSessionCreate(HTTPStreamerSessionSanJose
httpSanJoseStreamingSession)
Parameters:
httpSanJoseStreamingSession - httpSanJoseStreamingSession
onHTTPSanJoseStreamingSessionDestroy
public void onHTTPSanJoseStreamingSessionDestroy(HTTPStreamerSessionSanJose
httpSanJoseStreamingSession)
Parameters:
httpSanJoseStreamingSession - httpSanJoseStreamingSession
[Link]
Interface IModuleOnHTTPSession
Method Summary
void onHTTPSessionCreate(IHTTPStreamerSession httpSession)
Invoked when an HTTP Session is created (both Smooth and Cupertino sessions).
Methods
onHTTPSessionCreate
public void onHTTPSessionCreate(IHTTPStreamerSession httpSession)
Invoked when an HTTP Session is created (both Smooth and Cupertino sessions).
Parameters:
httpSession - httpSession
onHTTPSessionDestroy
public void onHTTPSessionDestroy(IHTTPStreamerSession httpSession)
Invoked when an HTTP Session is destroyed (both Smooth and Cupertino sessions).
Parameters:
httpSession - httpSession
[Link]
Interface IModuleOnHTTPSmoothStreamingPlayReady
Method Summary
void onHTTPSmoothStreamingPlayReadyCreateLive(IApplicationInstance
appInstance, String streamName,
[Link] playReadyKeyInfo)
void onHTTPSmoothStreamingPlayReadyCreateVOD(HTTPStreamerSessionSmoothStream
er httpSession, [Link]
playReadyKeyInfo)
Methods
onHTTPSmoothStreamingPlayReadyCreateVOD
public void onHTTPSmoothStreamingPlayReadyCreateVOD(HTTPStreamerSessionSmoothStreamer
httpSession,
[Link] playReadyKeyInfo)
onHTTPSmoothStreamingPlayReadyCreateLive
public void onHTTPSmoothStreamingPlayReadyCreateLive(IApplicationInstance appInstance,
String streamName,
[Link] playReadyKeyInfo)
[Link]
Interface IModuleOnHTTPSmoothStreamingSession
Method Summary
void onHTTPSmoothStreamingSessionCreate(HTTPStreamerSessionSmoothStreamer
httpSmoothStreamingSession)
Invoked when an HTTP Smooth Streaming session is created.
void onHTTPSmoothStreamingSessionDestroy(HTTPStreamerSessionSmoothStreamer
httpSmoothStreamingSession)
Invoked when an HTTP Smooth Streaming session is destroyed.
Methods
onHTTPSmoothStreamingSessionCreate
public void onHTTPSmoothStreamingSessionCreate(HTTPStreamerSessionSmoothStreamer
httpSmoothStreamingSession)
Parameters:
httpSmoothStreamingSession - httpSmoothStreamingSession
onHTTPSmoothStreamingSessionDestroy
public void onHTTPSmoothStreamingSessionDestroy(HTTPStreamerSessionSmoothStreamer
httpSmoothStreamingSession)
Parameters:
httpSmoothStreamingSession - httpSmoothStreamingSession
[Link]
Interface IModuleOnRTPSession
Method Summary
void onRTPSessionCreate(RTPSession rtpSession)
Invoked when an RTP Session is created.
Methods
onRTPSessionCreate
public void onRTPSessionCreate(RTPSession rtpSession)
Parameters:
rtpSession - rtpSession
onRTPSessionDestroy
public void onRTPSessionDestroy(RTPSession rtpSession)
Parameters:
rtpSession - rtpSession
[Link]
Interface IModuleOnStream
Method Summary
void onStreamCreate(IMediaStream stream)
Invoked when a stream is created.
Methods
onStreamCreate
public void onStreamCreate(IMediaStream stream)
Parameters:
stream - stream object
onStreamDestroy
public void onStreamDestroy(IMediaStream stream)
Parameters:
stream - stream object
[Link]
Interface IModulePingResult
Method Summary
void onResult(IClient client, long pingTime, int pingId, boolean result)
Triggered on client side result from call to [Link].
Methods
onResult
public void onResult(IClient client,
long pingTime,
int pingId,
boolean result)
Triggered on client side result from call to [Link]. This method will be called on a success or failure (ping timeout) of a
ping.
Parameters:
client - client
pingTime - time in server time (milliseconds) when the ping was initiated
pingId - internal server id for the ping request
result - true is ping was successful false if failure (timeout)
[Link]
Class ModuleBase
[Link]
|
+-[Link]
Direct Known Subclasses:
ModuleProperties, ModuleMediaCasterStreamMonitorAdvanced, ModuleFastPlay, ModuleCore, ModuleClientLogging,
ModuleMediaCaster
ModuleBase: Base class that all server side modules should extend. Provides basic utility functionality for handling function parameters
and return data. Also provides a simplified API for logging.
Field Summary
public static final CALLBACK_PARAM1
Callback param: param1
Value: 1
Value: 0
Value: 2
Value: 1
Value: 3
Value: 10
Value: 12
Value: 13
Value: 14
Constructor Summary
public ModuleBase()
Method Summary
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
PARAMMETHODNAME
public static final int PARAMMETHODNAME
PARAM1
public static final int PARAM1
PARAM2
public static final int PARAM2
PARAM3
public static final int PARAM3
PARAM4
public static final int PARAM4
PARAM5
public static final int PARAM5
PARAM6
public static final int PARAM6
PARAM7
public static final int PARAM7
PARAM8
public static final int PARAM8
PARAM9
public static final int PARAM9
PARAM10
public static final int PARAM10
CALLBACK_PARAM1
public static final int CALLBACK_PARAM1
CALLBACK_PARAM2
public static final int CALLBACK_PARAM2
CALLBACK_PARAM3
public static final int CALLBACK_PARAM3
CALLBACK_PARAM4
public static final int CALLBACK_PARAM4
CALLBACK_PARAM5
public static final int CALLBACK_PARAM5
CALLBACK_PARAM6
public static final int CALLBACK_PARAM6
CALLBACK_PARAM7
public static final int CALLBACK_PARAM7
CALLBACK_PARAM8
public static final int CALLBACK_PARAM8
CALLBACK_PARAM9
public static final int CALLBACK_PARAM9
CALLBACK_PARAM10
public static final int CALLBACK_PARAM10
PLAYTRANSITIONSTR_APPEND
public static final [Link] PLAYTRANSITIONSTR_APPEND
PLAYTRANSITIONSTR_RESET
public static final [Link] PLAYTRANSITIONSTR_RESET
PLAYTRANSITIONSTR_STOP
public static final [Link] PLAYTRANSITIONSTR_STOP
PLAYTRANSITIONSTR_SWAP
public static final [Link] PLAYTRANSITIONSTR_SWAP
PLAYTRANSITIONSTR_SWITCH
public static final [Link] PLAYTRANSITIONSTR_SWITCH
PLAYTRANSITIONSTR_UNKNOWN
public static final [Link] PLAYTRANSITIONSTR_UNKNOWN
PLAYTRANSITION_APPEND
public static final int PLAYTRANSITION_APPEND
Constant value: 0
PLAYTRANSITION_RESET
public static final int PLAYTRANSITION_RESET
Constant value: 1
PLAYTRANSITION_APPEND_IMMEDIATE
public static final int PLAYTRANSITION_APPEND_IMMEDIATE
Constant value: 2
PLAYTRANSITION_RESET_IMMEDIATE
public static final int PLAYTRANSITION_RESET_IMMEDIATE
Constant value: 3
PLAYTRANSITION_STOP
public static final int PLAYTRANSITION_STOP
Constant value: 10
PLAYTRANSITION_SWAP
public static final int PLAYTRANSITION_SWAP
Constant value: 12
PLAYTRANSITION_SWITCH
public static final int PLAYTRANSITION_SWITCH
Constant value: 13
PLAYTRANSITION_UNKNOWN
public static final int PLAYTRANSITION_UNKNOWN
Constant value: 14
Constructors
ModuleBase
public ModuleBase()
Methods
getParamCount
protected static int getParamCount(AMFDataList params)
Parameters:
params - parameters
Returns:
total number of parameters
getCallbackParamCount
protected static int getCallbackParamCount(AMFDataList params)
Parameters:
params - parameters
Returns:
total number of parameters
getParamType
protected static int getParamType(AMFDataList params,
int index)
Parameters:
params - parameters
index - parameter index
Returns:
parameter type (AMFData.DATA_TYPE_*)
getParam
protected static AMFData getParam(AMFDataList params,
int index)
Parameters:
params - parameters
index - parameter index
Returns:
parameter value as AMFData object, null if out of bounds
getParamMixedArray
protected static AMFDataMixedArray getParamMixedArray(AMFDataList params,
int index)
Parameters:
params - parameters
index - parameter index
Returns:
parameter value as AMFDataMixedArray object, null if out of bounds
getParamObj
protected static AMFDataObj getParamObj(AMFDataList params,
int index)
Parameters:
params - parameters
index - parameter index
Returns:
parameter value as Object object, null if out of bounds
getParamString
protected static String getParamString(AMFDataList params,
int index)
Parameters:
params - parameters
index - parameter index
Returns:
parameter value as String object, null if out of bounds
getParamString
protected static String getParamString(AMFDataList params,
int index,
String defaultVal)
Parameters:
params - parameters
Returns:
parameter value as String object, defaultVal if out of bounds
getParamDate
protected static [Link] getParamDate(AMFDataList params,
int index)
Parameters:
params - parameters
index - parameter index
Returns:
parameter value as Date object, null if out of bounds
getParamInt
protected static int getParamInt(AMFDataList params,
int index)
Parameters:
params - parameters
index - parameter index
Returns:
parameter value as int, 0 if out of bounds
getParamInt
protected static int getParamInt(AMFDataList params,
int index,
int defaultVal)
Parameters:
params - parameters
index - parameter index
defaultVal - default value
Returns:
parameter value as int, defaultVal if out of bounds
getParamDouble
protected static double getParamDouble(AMFDataList params,
int index)
Parameters:
params - parameters
Returns:
parameter value as double, 0 if out of bounds
getParamDouble
protected static double getParamDouble(AMFDataList params,
int index,
double defaultVal)
Parameters:
params - parameters
index - parameter index
defaultVal - default value
Returns:
parameter value as double, 0 if out of bounds
getParamLong
protected static long getParamLong(AMFDataList params,
int index)
Parameters:
params - parameters
index - parameter index
Returns:
parameter value as long, 0 if out of bounds
getParamLong
protected static long getParamLong(AMFDataList params,
int index,
long defaultVal)
Parameters:
params - parameters
index - parameter index
defaultVal - default value
Returns:
parameter value as long, defaultVal if out of bounds
getParamBoolean
protected static boolean getParamBoolean(AMFDataList params,
int index)
Parameters:
params - parameters
Returns:
parameter value as boolean, false if out of bounds
getParamBoolean
protected static boolean getParamBoolean(AMFDataList params,
int index,
boolean defaultVal)
Parameters:
params - parameters
index - parameter index
defaultVal - default value
Returns:
parameter value as boolean, defaultVal if out of bounds
getAppInstance
protected static IApplicationInstance getAppInstance(IClient client)
Parameters:
client - client
Returns:
applicationInstance
getApplication
protected static IApplication getApplication(IClient client)
Parameters:
client - client
Returns:
application
isSendResult
protected static boolean isSendResult(AMFDataList params)
Is this method call expecting sendResult to be called. If on the client side the call to
[Link]("handlerName", resultObj, param1...); had a value for resultObj (non-null), then the
method is expecting some type of result or return data. Calling a variant of sendResult will provide this callback.
Parameters:
params - parameters
Returns:
true if client side call is expecting call to sendResult
getVHost
protected static IVHost getVHost(IClient client)
Parameters:
client - client
Returns:
vHost
sendResult
protected static boolean sendResult(IClient client,
AMFDataList params,
String value)
Parameters:
client - client
params - parameters
value - return value
Returns:
true if client side call is expecting call to sendResult
sendResult
protected static boolean sendResult(IClient client,
AMFDataList params,
boolean value)
Parameters:
client - client
params - parameters
value - return value
Returns:
true if client side call is expecting call to sendResult
sendResult
protected static boolean sendResult(IClient client,
AMFDataList params,
int value)
Parameters:
client - client
params - parameters
value - return value
Returns:
true if client side call is expecting call to sendResult
sendResult
protected static boolean sendResult(IClient client,
AMFDataList params,
double value)
Parameters:
client - client
params - parameters
value - return value
Returns:
true if client side call is expecting call to sendResult
sendResult
protected static boolean sendResult(IClient client,
AMFDataList params,
AMFData data)
Send a result to client method call as a AMFData object. This can be a single AMFData value like new
AMFDataItem((double)1.234) or a complex type like AMFDataMixedArray, AMFDataArray or AMFDataObj.
Parameters:
client - client
params - parameters
data - return value
Returns:
true if client side call is expecting call to sendResult
getLogger
protected static WMSLogger getLogger()
See Also:
WMSLogger
getStream
protected static IMediaStream getStream(IClient client,
[Link] function)
For methods called from the client side object NetStream (publish, play, deleteStream) get the IMediaStream object associated
with the call.
Parameters:
client - client
function - functions
Returns:
media stream
invokePrevious
protected static void invokePrevious(Object instance,
IClient client,
[Link] function,
AMFDataList params)
Wowza Pro will determine command priority based on the order of the modules in the module list. Wowza Pro by default will
only invoke the last module that defines a given command. This method enables you to call the method by the same name in
the previous module that defines that command. For example if you have three modules defined in the module list;
ModuleCore, ModuleSecureURLParams and ModuleMyModule and all three modules implement the "play" command. When
"play" is invoked it will invoke the "play" command in ModuleMyModule. If in ModuleMyModule you would like to call the
"play" command in ModuleSecureURLParams, you can call: invokePrevious(this, client, function, params); and it will invoke
the "play" command defined in ModuleSecureURLParams.
Parameters:
instance - instance of the current module
client - client object passed into command
function - function passed into command
params - parameters passed into command
invokePrevious
protected void invokePrevious(IClient client,
[Link] function,
AMFDataList params)
Wowza Pro will determine command priority based on the order of the modules in the module list. Wowza Pro by default will
only invoke the last module that defines a given command. This method enables you to call the method by the same name in
the previous module that defines that command. For example if you have three modules defined in the module list;
ModuleCore, ModuleSecureURLParams and ModuleMyModule and all three modules implement the "play" command. When
"play" is invoked it will invoke the "play" command in ModuleMyModule. If in ModuleMyModule you would like to call the
"play" command in ModuleSecureURLParams, you can call: [Link](client, function, params); and it will invoke the
"play" command defined in ModuleSecureURLParams.
Parameters:
client - client object passed into command
function - function passed into command
params - parameters passed into command
sendClientOnStatusError
protected static void sendClientOnStatusError(IClient client,
String code,
String description)
Parameters:
client - destination client
code - code
description - description
sendStreamOnStatusError
protected static void sendStreamOnStatusError(IMediaStream stream,
String code,
String description)
Parameters:
[Link]
Class ModuleClientLogging
[Link]
|
+-[Link]
|
+-[Link]
Constructor Summary
public ModuleClientLogging()
Method Summary
static void logDebug(IClient client, [Link]
function, AMFDataList params)
Send a debug message to the logging system [Link]("logDebug", null, message);
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
ModuleClientLogging
public ModuleClientLogging()
Methods
logDebug
public static void logDebug(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params (message)
logInfo
public static void logInfo(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params (message)
logWarn
public static void logWarn(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params (message)
logError
public static void logError(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params (message)
[Link]
Class ModuleCore
[Link]
|
+-[Link]
|
+-[Link]
ModuleCore includes all the basic commands support by the NetStream and NetConnection client side objects. Any of these methods
can be overwritten in a custom module. Below is an example of custom module that overrides the play method to modify the name of
the file to be played:
package [Link];
import [Link].*;
import [Link].*;
import [Link].*;
import [Link].*;
Constructor Summary
public ModuleCore()
Method Summary
static void closeStream(IClient client, [Link]
function, AMFDataList params)
Server side implementation of [Link]();
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
ModuleCore
public ModuleCore()
Methods
createStream
public static void createStream(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - parameters (no params)
initStream
public static void initStream(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - parameters (streamIndex, boolean)
releaseStream
public static void releaseStream(IClient client,
[Link] function,
AMFDataList params)
getLastStreamId
public static void getLastStreamId(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - client
params - params (no params)
deleteStream
public static void deleteStream(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params
publish
public static void publish(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params (name [if name = "false" or "null" stop publishing], howToPublish ["record", "live", "append"])
setBandwidthLimit
public static void setBandwidthLimit(IClient client,
[Link] function,
AMFDataList params)
play2
public static void play2(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client
function
params
play
public static void play(IClient client,
[Link] function,
AMFDataList params)
Server side implementation of [Link](name : Object [,start : Number[, len : Number[, reset : Object]]]);
Parameters:
client - client
function - function
params - params (name, start, len, reset)
closeStream
public static void closeStream(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params (no params)
seek
public static void seek(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params (offset)
pause
public static void pause(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params (flag)
setBufferTime
public static void setBufferTime(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params (bufferTime)
getClientID
public static void getClientID(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params (no params)
getVersion
public static void getVersion(IClient client,
[Link] function,
AMFDataList params)
Get the Wowza Pro server version and build number [Link]("getVersion", resultObj);
Parameters:
client - client
function - function
params - params (no params)
setLiveStreamPacketizer
public static void setLiveStreamPacketizer(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params (liveStreamPacketizer)
initLiveStreamRepeating
public static void initLiveStreamRepeating(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params (liveStreamPacketizer, liveStreamRepeater)
getLiveStreamPacketizer
public static void getLiveStreamPacketizer(IClient client,
[Link] function,
AMFDataList params)
Get the live stream packetizer list for a client connection [Link]("getLiveStreamPacketizer", resultObj);
Parameters:
client - client
function - function
params - params (no params)
setStreamType
public static void setStreamType(IClient client,
[Link] function,
AMFDataList params)
Set the default stream type for a client connection [Link]("setStreamType", null, streamType);
Parameters:
client - client
function - function
params - params (streamType)
getStreamType
public static void getStreamType(IClient client,
[Link] function,
AMFDataList params)
Get the default stream type for a client connection [Link]("getStreamType", resultObj);
Parameters:
client - client
function - function
params - params (no params)
receiveAudio
public static void receiveAudio(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params (receive)
receiveVideo
public static void receiveVideo(IClient client,
[Link] function,
AMFDataList params)
Server side implementation of [Link](receive : Boolean | FPS : Number); FPS does not work the same as
FMS. Wowza Pro accepts the following values:
Parameters:
client - client
function - function
params - params (receive | FPS)
getStreamBitrate
public void getStreamBitrate(IClient client,
[Link] function,
AMFDataList params)
Get stream bitrate in bits-per-second for a video on demand stream (will not work for live). To call,
[Link]("getStreamBitrate", resultObj, streamName);
Parameters:
client - client
function - function
params - params (streamName:String)
getStreamLength
public static void getStreamLength(IClient client,
[Link] function,
AMFDataList params)
Get stream length in seconds [Link]("getStreamLength", resultObj, streamName); If you pass in an array of
streamNames it will return an array of durations.
Parameters:
client - client
function - function
params - params (streamName:String or streamNames:Array)
getRepeaterOriginUrl
public static void getRepeaterOriginUrl(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params
setRepeaterOriginUrl
public static void setRepeaterOriginUrl(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params (repeaterOriginUrl)
FCPublish
public static void FCPublish(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params
FCUnPublish
public static void FCUnPublish(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params
FCUnpublish
public static void FCUnpublish(IClient client,
[Link] function,
AMFDataList params)
pauseRaw
public static void pauseRaw(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params
getReferrer
public static void getReferrer(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params
getPageUrl
public static void getPageUrl(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params
FCSubscribe
public static void FCSubscribe(IClient client,
[Link] function,
AMFDataList params)
FCSubscribe subscribes to a live stream (if origin edge will start the stream from the origin to the edge)
Parameters:
client - client
function - function
params - params (streamName:String, [mediaCasterType:String])
FCUnsubscribe
public static void FCUnsubscribe(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params (streamName:String)
FCUnSubscribe
public static void FCUnSubscribe(IClient client,
[Link] function,
AMFDataList params)
startTransmit
public static void startTransmit(IClient client,
[Link] function,
AMFDataList params)
stopTransmit
public static void stopTransmit(IClient client,
[Link] function,
AMFDataList params)
[Link]
Class ModuleFastPlay
[Link]
|
+-[Link]
|
+-[Link]
Constructor Summary
public ModuleFastPlay()
Method Summary
static void setFastPlay(IClient client, [Link]
function, AMFDataList params)
Turn on fast play [Link]("setFastPlay", null, multiplier, frames-per-second, direction);
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
ModuleFastPlay
public ModuleFastPlay()
Methods
setFastPlay
public static void setFastPlay(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params (multiplier, frames-per-second, direction)
[Link]
Class ModuleMediaCasterStreamMonitorAdvanced
[Link]
|
+-[Link]
|
+-[Link]
All Implemented Interfaces:
IMediaCasterValidateMediaCaster
Add this <Module> definition to the end of the <Modules> list in [install-dir]/conf/[application]/[Link]:
<Module>
<Name>ModuleMediaCasterStreamMonitorAdvanced</Name>
<Description>ModuleMediaCasterStreamMonitorAdvanced</Description>
<Class>[Link]</Class>
</Module>
Add these properties to the application level <Properties> container at the bottom of [install-dir]/conf/[application]/[Link]
(be sure to get the correct <Properties> container - there are several in the [Link] file). Carefully read the instructions above
each set of properties and set accordingly:
<!--
Monitor incoming packets (stream, audio, video) to be sure packets continue to flow from
encoder to stream. The
streamMonitor[type]StartTimeout controls the timeout (milliseconds) for the first packet. The
streamMonitor[type]Timeout
controls the timeout (milliseconds) for packets after the first packet. The stream type
refers to a catch all of any packet of
any type (audio, video, data). If any of these values are set to zero, the test is turned
off.
-->
<Property>
<Name>streamMonitorStreamStartTimeout</Name>
<Value>20000</Value>
<Type>Integer</Type>
</Property>
<Property>
<Name>streamMonitorStreamTimeout</Name>
<Value>12000</Value>
<Type>Integer</Type>
</Property>
<Property>
<Name>streamMonitorVideoStartTimeout</Name>
<Value>0</Value>
<Type>Integer</Type>
</Property>
<Property>
<Name>streamMonitorVideoTimeout</Name>
<Value>0</Value>
<Type>Integer</Type>
</Property>
<Property>
<Name>streamMonitorAudioStartTimeout</Name>
<Value>0</Value>
<Type>Integer</Type>
</Property>
<Property>
<Name>streamMonitorAudioTimeout</Name>
<Value>0</Value>
<Type>Integer</Type>
</Property>
<!--
Monitor the incoming packet timecodes (audio, video or data) to be sure packets do not arrive
out of order or late. The
streamMonitor[type]TCPosTolerance and streamMonitor[type]TCNegTolerance (milliseconds) values
define a sliding window
based on the timecode of the previous packet. For example if these values are set to -500 and
3000 respectively then the
timecode difference between the current arriving packet and the previous packet of that type
must fall within
-500 and 3000 milliseconds. If not and streamMonitor[type]TCToleranceEnable is set to true
<!--
Monitors the time difference between the audio and video channel of a stream. If the
difference between the currently arriving
video packet and the previous audio packet (or vice-versa) is greater than
streamMonitorAVSyncTolerance and streamMonitorAVSyncToleranceEnable
is set to true, then the stream will be considered unhealthy and will be reset.
-->
<Property>
<Name>streamMonitorAVSyncToleranceEnable</Name>
<Value>false</Value>
<Type>Boolean</Type>
</Property>
<Property>
<Name>streamMonitorAVSyncTolerance</Name>
<Value>1500</Value>
<Type>Integer</Type>
</Property>
<!--
If set to true, then when a stream is reset and it belong to a MediaStreamNameGroup all
streams in the group will be reset. If
false only the unhealthy stream will be reset.
-->
<Property>
<Name>streamMonitorResetNameGroups</Name>
<Value>true</Value>
<Type>Boolean</Type>
</Property>
<!--
Turns on debug logging of the monitoring.
-->
<Property>
<Name>streamMonitorDebug</Name>
<Value>false</Value>
<Type>Boolean</Type>
</Property>
Field Summary
protected appInstance
protected badStreams
protected monitors
protected streamMonitorAudioStartTimeout
protected streamMonitorAudioTCNegTolerance
protected streamMonitorAudioTCPosTolerance
protected streamMonitorAudioTCToleranceEnable
protected streamMonitorAudioTimeout
protected streamMonitorAVSyncTolerance
protected streamMonitorAVSyncToleranceEnable
protected streamMonitorDataTCNegTolerance
protected streamMonitorDataTCPosTolerance
protected streamMonitorDataTCToleranceEnable
protected streamMonitorDebug
protected streamMonitorResetNameGroups
protected streamMonitorStreamStartTimeout
protected streamMonitorStreamTimeout
protected streamMonitorVideoStartTimeout
protected streamMonitorVideoTCNegTolerance
protected streamMonitorVideoTCPosTolerance
protected streamMonitorVideoTCToleranceEnable
protected streamMonitorVideoTimeout
Constructor Summary
public ModuleMediaCasterStreamMonitorAdvanced()
Method Summary
void onAppStart(IApplicationInstance appInstance)
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
streamMonitorStreamStartTimeout
protected int streamMonitorStreamStartTimeout
streamMonitorStreamTimeout
protected int streamMonitorStreamTimeout
streamMonitorVideoTCToleranceEnable
protected boolean streamMonitorVideoTCToleranceEnable
streamMonitorVideoTCPosTolerance
protected int streamMonitorVideoTCPosTolerance
streamMonitorVideoTCNegTolerance
protected int streamMonitorVideoTCNegTolerance
streamMonitorAudioTCToleranceEnable
protected boolean streamMonitorAudioTCToleranceEnable
streamMonitorAudioTCPosTolerance
protected int streamMonitorAudioTCPosTolerance
streamMonitorAudioTCNegTolerance
protected int streamMonitorAudioTCNegTolerance
streamMonitorDataTCToleranceEnable
protected boolean streamMonitorDataTCToleranceEnable
streamMonitorDataTCPosTolerance
protected int streamMonitorDataTCPosTolerance
streamMonitorDataTCNegTolerance
protected int streamMonitorDataTCNegTolerance
streamMonitorAVSyncToleranceEnable
protected boolean streamMonitorAVSyncToleranceEnable
streamMonitorAVSyncTolerance
protected int streamMonitorAVSyncTolerance
streamMonitorVideoStartTimeout
protected int streamMonitorVideoStartTimeout
streamMonitorVideoTimeout
protected int streamMonitorVideoTimeout
streamMonitorAudioStartTimeout
protected int streamMonitorAudioStartTimeout
streamMonitorAudioTimeout
protected int streamMonitorAudioTimeout
streamMonitorResetNameGroups
protected boolean streamMonitorResetNameGroups
streamMonitorDebug
protected boolean streamMonitorDebug
appInstance
protected [Link] appInstance
monitors
protected [Link] monitors
badStreams
protected [Link] badStreams
Constructors
ModuleMediaCasterStreamMonitorAdvanced
public ModuleMediaCasterStreamMonitorAdvanced()
Methods
onAppStart
public void onAppStart(IApplicationInstance appInstance)
onAppStop
public void onAppStop(IApplicationInstance appInstance)
onStreamCreate
public void onStreamCreate(IMediaStream stream)
onStreamDestroy
public void onStreamDestroy(IMediaStream stream)
onValidateMediaCastersStart
public void onValidateMediaCastersStart(IApplicationInstance appInstance)
onValidateMediaCaster
public boolean onValidateMediaCaster(IApplicationInstance appInstance,
IMediaCaster mediaCaster)
onValidateMediaCastersStop
public void onValidateMediaCastersStop(IApplicationInstance appInstance)
onResetMediaCaster
public boolean onResetMediaCaster(IApplicationInstance appInstance,
IMediaCaster mediaCaster)
[Link]
Class ModuleProperties
[Link]
|
+-[Link]
|
+-[Link]
Constructor Summary
public ModuleProperties()
Method Summary
static void getAppInstanceProperty(IClient client,
[Link] function, AMFDataList params)
Get application instance level property value [Link]("getAppInstanceProperty",
resultObj, name);
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
ModuleProperties
public ModuleProperties()
Methods
setApplicationProperty
public static void setApplicationProperty(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params (name, value)
getApplicationProperty
public static void getApplicationProperty(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
setAppInstanceProperty
public static void setAppInstanceProperty(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params (name, value)
getAppInstanceProperty
public static void getAppInstanceProperty(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params (name)
setClientProperty
public static void setClientProperty(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params (name, value)
getClientProperty
public static void getClientProperty(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params (name)
setStreamProperty
public static void setStreamProperty(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params (streamId, name, value)
getStreamProperty
public static void getStreamProperty(IClient client,
[Link] function,
AMFDataList params)
Parameters:
client - client
function - function
params - params (streamId, name)
[Link]
Class ResponseFunction
[Link]
|
+-[Link]
Field Summary
public doBreak
Constructor Summary
public ResponseFunction(IClient client)
Create an empty ResponseFunction
public ResponseFunction([Link]
netConnection)
Create an empty ResponseFunction
public ResponseFunction([Link]
netConnection, AMFObj amfObj)
Create an empty ResponseFunction
Method Summary
void addBody(AMFData body)
Add AMFData to the body of the message.
long getTimecode()
Get function timecode (milliseconds).
int getType()
Get message type.
boolean isForceAMF0()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
doBreak
public boolean doBreak
Constructors
ResponseFunction
public ResponseFunction(IClient client)
Parameters:
client - client
ResponseFunction
public ResponseFunction([Link] netConnection)
Parameters:
netConnection - net connection
ResponseFunction
public ResponseFunction([Link] netConnection,
AMFObj amfObj)
Parameters:
netConnection - net connection
amfObj - amf object
ResponseFunction
public ResponseFunction(IClient client,
AMFObj amfObj)
Parameters:
client - client object
amfObj - amf object
ResponseFunction
public ResponseFunction(IMediaStream stream,
AMFObj amfObj)
Parameters:
stream - media stream object
amfObj - amf object
Methods
setSrc
public void setSrc(int src)
Parameters:
src - src (stream id)
createDefaultMessage
public void createDefaultMessage(String inName,
double inResultNum)
Parameters:
inName - handler name (example: onStatus)
inResultNum - result number of 0 if not result
createConnectMessage
public void createConnectMessage(String inName,
double inResultNum)
Parameters:
inName - handler name (example: connection)
inResultNum - result number if 0 not a result
createSeekMessage
public void createSeekMessage(String inName)
Parameters:
inName - handler name (example: onStatus)
createPlayStatusMessage
public void createPlayStatusMessage(String inName)
Parameters:
inName - handler name (example: onPlayStatus)
setMessageBytes
public void setMessageBytes(byte[] messageBytes)
createBroadcastMessage
public void createBroadcastMessage([Link] messageBytes)
Parameters:
createSOMessage
public void createSOMessage(byte[] messageBuffer,
int objectEncoding)
Parameters:
messageBuffer
createEnhancedSeekMessage
public void createEnhancedSeekMessage(byte[] messageBuffer,
int src,
int tc)
addBody
public void addBody(AMFData body)
Parameters:
body - AMFData message
setBody
public void setBody(int index,
AMFData body)
Parameters:
index - index in body list
body - AMFData message
addBytes
public void addBytes(byte[] inbytes)
Parameters:
inbytes - raw AMFData bytes[]
setRetAMFNumber
public void setRetAMFNumber(int innum)
Parameters:
innum - return channel id
getTimecode
public long getTimecode()
Returns:
function timecode (milliseconds)
setTimecode
public void setTimecode(long timecode)
Parameters:
timecode - function timecode (milliseconds)
setType
public void setType(int type)
Parameters:
type - message type
getType
public int getType()
Returns:
message type
write
public int write([Link] out,
int chunkSize)
Parameters:
out - OutputStream
Returns:
number of bytes written
isForceAMF0
public boolean isForceAMF0()
setForceAMF0
public void setForceAMF0(boolean forceAMF0)
write
public int write([Link] out,
boolean isAbsTimecode,
int chunkSize)
Parameters:
out - OutputStream
isAbsTimecode - is timecode absolute
Returns:
number of bytes written
[Link]
Class ResponseFunctions
[Link]
|
+-[Link]
ResponseFunctions: collection of ResponseFunction objects. This interface is used to asynchronously collect up a set of client
responses that will be sent to the client at the next opportunity.
Constructor Summary
public ResponseFunctions()
Method Summary
void add(ResponseFunction wmsResponseFunction)
Add a function.
void clear()
boolean isPending()
Are there any pending items in the list.
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
ResponseFunctions
public ResponseFunctions()
Methods
add
public void add(ResponseFunction wmsResponseFunction)
Add a function.
Parameters:
wmsResponseFunction - function
clear
public void clear()
isPending
public boolean isPending()
Returns:
true if items in list
output
public int output([Link] out,
int sendChunkSize)
Parameters:
out - OutputStream
Returns:
total number of bytes written
[Link]
Interface IRTPMessageHandler
Method Summary
void handleMessage([Link] socketAddr, byte[] buffer, int
offset, int len)
Methods
handleMessage
public void handleMessage([Link] socketAddr,
byte[] buffer,
int offset,
int len)
[Link]
Interface IRTPMetadataProvider
Method Summary
byte[] getMetadataPacket(RTPStream stream)
Methods
getMetadataPacket
public byte[] getMetadataPacket(RTPStream stream)
[Link]
Interface IRTPSessionNotify
Method Summary
void onRTPSessionCreate(RTPSession rtpSession)
Invoked when RTP session is created
Methods
onRTPSessionCreate
public void onRTPSessionCreate(RTPSession rtpSession)
Parameters:
rtpSession - RTP session
onRTPSessionDestroy
public void onRTPSessionDestroy(RTPSession rtpSession)
Parameters:
rtpSession - RTP session
[Link]
Interface IRTSPActionNotify
Method Summary
void onAnnounce(RTPSession rtspSession,
[Link] req,
[Link] resp)
Invoked by ANNOUNCE command
Methods
onDescribe
public void onDescribe(RTPSession rtspSession,
[Link] req,
[Link] resp)
Parameters:
rtspSession - RTP session
req - RTP request
resp - RTP response
onAnnounce
public void onAnnounce(RTPSession rtspSession,
[Link] req,
[Link] resp)
Parameters:
rtspSession - RTP session
req - RTP request
resp - RTP response
onSetParameter
public void onSetParameter(RTPSession rtspSession,
[Link] req,
[Link] resp)
Parameters:
rtspSession - RTP session
req - RTP request
resp - RTP response
onGetParameter
public void onGetParameter(RTPSession rtspSession,
[Link] req,
[Link] resp)
Parameters:
rtspSession - RTP session
req - RTP request
resp - RTP response
onOptions
public void onOptions(RTPSession rtspSession,
[Link] req,
[Link] resp)
Parameters:
rtspSession - RTP session
req - RTP request
resp - RTP response
onPause
public void onPause(RTPSession rtspSession,
[Link] req,
[Link] resp)
Parameters:
rtspSession - RTP session
req - RTP request
resp - RTP response
onPlay
public void onPlay(RTPSession rtspSession,
[Link] req,
[Link] resp)
Parameters:
rtspSession - RTP session
req - RTP request
resp - RTP response
onRecord
public void onRecord(RTPSession rtspSession,
[Link] req,
[Link] resp)
Parameters:
rtspSession
req
resp
onRedirect
public void onRedirect(RTPSession rtspSession,
[Link] req,
[Link] resp)
Parameters:
rtspSession - RTP session
req - RTP request
resp - RTP response
onSetup
public void onSetup(RTPSession rtspSession,
[Link] req,
[Link] resp)
Parameters:
rtspSession - RTP session
req - RTP request
resp - RTP response
onTeardown
public void onTeardown(RTPSession rtspSession,
[Link] req,
[Link] resp)
Parameters:
rtspSession - RTP session
req - RTP request
resp - RTP response
[Link]
Class RTPContext
[Link]
|
+-[Link]
Constructor Summary
public RTPContext(IVHost vhost)
Constructor
Method Summary
boolean acquireSocketAddress([Link] socketAddress)
Acquire UDP socket address
int acquireUDPPortPair()
Acquire next available UDP port pair
void doWatchdog()
Idle events for cleanup
[Link] getDePacketizerList()
[Link]
izerList Get a list of the available depacketizers
Object getLock()
Get the UDP port manager lock
Object getRTSPTunnelingLock()
Get the RTSP/RTP tunneling lock
RTPSessions getSessions()
Get RTP sessions
[Link] getUDPTransportManager()
[Link]
nager Get the UDP transport manager
IVHost getVHost()
Get vhost
void init()
Initialize
void shutdown()
Shutdown
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
RTPContext
public RTPContext(IVHost vhost)
Constructor
Parameters:
vhost - vhost
Methods
doWatchdog
public void doWatchdog()
init
public void init()
Initialize
shutdown
public void shutdown()
Shutdown
getAudioPacketizerItem
public RTPPacketizerItem getAudioPacketizerItem(IApplicationInstance appInstance,
int codecId)
Parameters:
appInstance - application instance
codecId - codec id, see IVHost.CODEC_AUDIO_*
Returns:
packetizer info
putAudioPacketizerItem
public void putAudioPacketizerItem(int codecId,
RTPPacketizerItem rtpPacketizerInfo)
Parameters:
codecId - codec id, see IVHost.CODEC_AUDIO_*
rtpPacketizerInfo - packetizer info
getVideoPacketizerItem
public RTPPacketizerItem getVideoPacketizerItem(IApplicationInstance appInstance,
int codecId)
Parameters:
appInstance - application instance
codecId - codec id, see IVHost.CODEC_VIDEO_*
Returns:
packetizer info
putVideoPacketizerItem
public void putVideoPacketizerItem(int codecId,
RTPPacketizerItem rtpPacketizerInfo)
Parameters:
codecId - codec id, see IVHost.CODEC_VIDEO_*
rtpPacketizerInfo - packetizer info
getStreamPacketizerItem
public RTPPacketizerItem getStreamPacketizerItem(IApplicationInstance appInstance,
int codecId)
Parameters:
appInstance - application instance
codecId - codec id, see IVHost.CODEC_STREAM_*
Returns:
packetizer info
putStreamPacketizerItem
public void putStreamPacketizerItem(int codecId,
RTPPacketizerItem rtpPacketizerInfo)
Parameters:
codecId - codec id, see IVHost.CODEC_STREAM_*
rtpPacketizerInfo - packetizer info
getSessions
public RTPSessions getSessions()
Returns:
RTP sessions
getVHost
public IVHost getVHost()
Get vhost
Returns:
vhost
getUDPTransportManager
public [Link] getUDPTransportManager()
Returns:
UDP transport manager
getLock
public Object getLock()
Returns:
UDP port manager lock
acquireSocketAddress
public boolean acquireSocketAddress([Link] socketAddress)
Parameters:
socketAddress - UDP socket address
Returns:
true if available
releaseSocketAddress
public boolean releaseSocketAddress([Link] socketAddress)
Parameters:
socketAddress - UDP socket address
Returns:
true if available
acquireUDPPortPair
public int acquireUDPPortPair(int port)
Parameters:
port - starting port
Returns:
port
expandToPortPair
public int[] expandToPortPair(int port)
Expand a single port to a pair. Ports are allocated in pairs always starting with even port number.
Parameters:
port - port
Returns:
port
acquireUDPPortPair
public int acquireUDPPortPair()
Returns:
port
releaseUDPPortPair
public void releaseUDPPortPair(int port)
Parameters:
port - first port of pair
cacheRTPStream
public void cacheRTPStream(RTPStream stream)
Parameters:
stream - RTP stream
uncacheRTPStream
public RTPStream uncacheRTPStream(String streamId)
Parameters:
streamId - stream id
Returns:
RTP Stream
getDePacketizerList
public [Link] getDePacketizerList()
Returns:
list of the available depacketizers
getDePacketizerName
public String getDePacketizerName(RTPTrack rtpTrack)
Parameters:
rtpTrack - track
Returns:
depacketizer
getRTSPTunnelingLock
public Object getRTSPTunnelingLock()
Returns:
RTSP/RTP tunneling lock
getRTSPTunnelingSession
public [Link] getRTSPTunnelingSession(String
sessionId)
Parameters:
sessionId - session id
Returns:
RTSP/RTP tunneling session
removeRTSPTunnelingSession
public [Link] removeRTSPTunnelingSession(String
sessionId)
Parameters:
sessionId - session id
Returns:
RTSP/RTP tunneling session if removed
existsRTSPTunnelingSession
public boolean existsRTSPTunnelingSession(String sessionId)
Parameters:
sessionId - session id
Returns:
true if session id is valid RTSP/RTP tunneling session id
putRTSPTunnelingSession
public void putRTSPTunnelingSession(String sessionId,
[Link] rtspTunnelingSession)
Parameters:
sessionId - session id
rtspTunnelingSession - RTSP/RTP tunneling session
shutdownRTPSession
public void shutdownRTPSession(RTPSession rtpSession)
Parameters:
rtpSession - RTP session
[Link]
Class RTPDestination
[Link]
|
+-[Link]
Constructor Summary
public RTPDestination()
Method Summary
String getAudioHost()
Get audio host
int getAudioPort()
Get audio port
String getHost()
Get the host
String getHostType()
Get host type (default IP4)
String getName()
Get name
int getStreamPort()
Get stream port
int getTTL()
Get time to live
String getVideoHost()
Get video host
int getVideoPort()
Get video port
boolean isMulticast()
Return true if multicast destination
boolean isRTPWrapped()
Is stream wrapped in RTP (MPEG-TS in RTP)
boolean isStream()
Return true if stream destination (and not native RTP destination)
String toString()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
RTPDestination
public RTPDestination()
Methods
toString
public String toString()
isMulticast
public boolean isMulticast()
Returns:
true if multicast destination
isStream
public boolean isStream()
Returns:
true if stream destination
getHost
public String getHost()
Returns:
host
setHost
public void setHost(String host)
Set host
Parameters:
host - host
getVideoPort
public int getVideoPort()
Returns:
video port
setVideoPort
public void setVideoPort(int videoPort)
Parameters:
videoPort - video port
getAudioPort
public int getAudioPort()
Returns:
audio port
setAudioPort
public void setAudioPort(int audioPort)
Parameters:
audioPort - audio port
getStreamPort
public int getStreamPort()
Returns:
stream port
setStreamPort
public void setStreamPort(int streamPort)
Parameters:
streamPort - stream port
getVideoHost
public String getVideoHost()
Returns:
video host
setVideoHost
public void setVideoHost(String videoHost)
Parameters:
videoHost - video host
getAudioHost
public String getAudioHost()
Returns:
audio host
setAudioHost
public void setAudioHost(String audioHost)
Parameters:
audioHost - audio host
getHostType
public String getHostType()
Returns:
host type
setHostType
public void setHostType(String hostType)
Parameters:
hostType - host type
getTTL
public int getTTL()
Returns:
time to live
setTTL
public void setTTL(int ttl)
Parameters:
ttl - time to live
isRTPWrapped
public boolean isRTPWrapped()
Returns:
true if stream wrapped in RTP
setRTPWrapped
public void setRTPWrapped(boolean isRTPWrapped)
Parameters:
isRTPWrapped - true if stream wrapped in RTP
getName
public String getName()
Get name
Returns:
name
setName
public void setName(String name)
Set name
Parameters:
name - name
[Link]
Class RTPPort
[Link]
|
+-[Link]
All Implemented Interfaces:
[Link]
Constructor Summary
public RTPPort(String inIpAddress, int inPort, String outIpAddress, int
outPort, boolean isMulticast)
Constructor
Method Summary
void bind(int direction)
Bind to port
int getAddressCount()
Get address count
IRTPMessageHandler getHandler()
Get the message handler
String getInIpAddress()
Get in IP address
int getInPort()
Get in port
String getOutIpAddress()
Get out IP address
int getOutPort()
Get out port
RTPTrack getTrack()
Get RTP track
int getTTL()
Get time to live (milliseconds)
[Link] getUDPTransport()
[Link]
Get the UDP transport
boolean isBlockUDPOut()
boolean isInMulticast()
Is in stream multicast
boolean isMulticast()
Is multicast
boolean isOutMulticast()
Is out stream multicast
void shutdown()
Shutdown port
void unbind()
Unbind
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
RTPPort
public RTPPort(String inIpAddress,
int inPort,
String outIpAddress,
int outPort,
boolean isMulticast)
Constructor
Parameters:
inIpAddress - in ip address
inPort - in port
outIpAddress - out ip address
outPort - out port
isMulticast - true if multicast
Methods
getTrack
public RTPTrack getTrack()
Returns:
RTP track
setTrack
public void setTrack(RTPTrack track)
Parameters:
track - RTP track
getUDPTransport
public [Link] getUDPTransport()
Returns:
UDP transport
getInIpAddress
public String getInIpAddress()
Get in IP address
Returns:
in IP address
getOutIpAddress
public String getOutIpAddress()
Returns:
out IP address
getInPort
public int getInPort()
Get in port
Returns:
in port
getOutPort
public int getOutPort()
Returns:
out port
bind
public void bind(int direction)
Bind to port
Parameters:
direction - in or out, see IUDPTransport.DIRECTION_*
unbind
public void unbind()
Unbind
shutdown
public void shutdown()
Shutdown port
getHandler
public IRTPMessageHandler getHandler()
Returns:
message handler
setHandler
public void setHandler(IRTPMessageHandler handler)
Parameters:
handler - message handler
sendMessage
public void sendMessage(byte[] message,
int offset,
int len)
Parameters:
message - message
offset - offset
len - len
sendResponse
public void sendResponse(byte[] message)
Send a response
Parameters:
message - message
sendResponse
public void sendResponse(byte[] message,
int offset,
int len)
Send response
Parameters:
message - message
offset - offset
len - len
sendResponse
public void sendResponse(byte[] message,
int offset,
int len,
[Link] destination)
Parameters:
message - message
offset - offset
len - len
destination - destination address
sessionOpened
public void sessionOpened([Link] session)
sessionClosed
public void sessionClosed([Link] session)
handleMessage
public void handleMessage([Link] socketAddr,
Object message)
isInMulticast
public boolean isInMulticast()
Is in stream multicast
Returns:
true if multicast
isOutMulticast
public boolean isOutMulticast()
Returns:
true if multicast
isMulticast
public boolean isMulticast()
Is multicast
Returns:
true if multicast
getTTL
public int getTTL()
Returns:
time to live (milliseconds)
setTTL
public void setTTL(int ttl)
Parameters:
ttl - time to live (milliseconds)
getAddressCount
public int getAddressCount()
Returns:
address count
setAddressCount
public void setAddressCount(int addressCount)
Parameters:
addressCount - address count
isBlockUDPOut
public boolean isBlockUDPOut()
setBlockUDPOut
public void setBlockUDPOut(boolean blockUDPOut)
[Link]
Class RTPPushPublishSession
[Link]
|
+-[Link]
Constructor Summary
public RTPPushPublishSession()
Method Summary
RTPSession getRTPSession()
Get RTP session
String getSDPData()
Get SDP data
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
RTPPushPublishSession
public RTPPushPublishSession()
Methods
getSDPData
public String getSDPData()
Returns:
SDP data
setSDPData
public void setSDPData(String sdpData)
Parameters:
sdpData - SDP data
getRTPSession
public RTPSession getRTPSession()
Returns:
RTP session
setRTPSession
public void setRTPSession(RTPSession rtpSession)
Parameters:
rtpSession - RTP session
[Link]
Class RTPSession
[Link]
|
+-[Link]
Field Summary
protected actionListeners
protected appInstance
protected appInstanceShutdown
protected audioPacketizers
protected authenticatePlayHandler
protected authenticatePublishHandler
Value: 1
Value: 2
Value: 0
protected connectionHolder
protected cookieStr
protected debugRTSPSession
protected elapsedTime
protected idleFrequency
protected idleHandler
protected ioPerformanceCounter
protected ioSession
protected ip
protected isAnnounce
protected isConnected
protected isDescribe
protected isSessionValid
protected lastAuthenticateMethod
protected lock
protected loggedConnect
protected properties
protected queryStr
protected redirectSession
protected redirectSessionCode
protected redirectSessionMessage
protected redirectSessionURL
protected referrer
protected rtpWriteListener
protected rtspPlayRangeStart
protected rtspPlayRangeStop
protected rtspTunnelingSessionId
protected serverIp
protected serverPort
protected sessionId
protected shutdownClient
protected streamPacketizers
protected streams
protected streamsOrder
protected timeCreated
protected totalIOPerformance2Last
protected totalIOPerformanceLast
protected uri
protected userAgent
protected vhost
protected videoPacketizers
Constructor Summary
public RTPSession(String sessionId)
Constructor
Method Summary
void acceptSession()
Accept this session
void clearLoggingValues()
Clear logging values, Internal use.
void doIdle()
IApplicationInstance getAppInstance()
Get application instance
IAuthenticateRTSP getAuthenticatePlayHandler()
Get the authentication play handler
IAuthenticateRTSP getAuthenticatePublishHandler()
Get the RTP authentication handler
ConnectionHolder getConnectionHolder()
Get connection holder, Internal use.
String getCookieStr()
Get cookie string
ElapsedTimer getElapsedTime()
Get the elapsed timer for this RTP session
int getIdleFrequency()
Get idle frequency (milliseconds)
RTPIdleHandler getIdleHandler()
Get idle handler
IOPerformanceCounter getIOPerformanceCounter()
Get IO performance counter
[Link] getIoSession()
[Link]
on
String getIp()
Get remote IP address
int getLastAuthenticateMethod()
Get the last method received
WMSProperties getProperties()
Get properties
String getQueryStr()
Get query string
int getRedirectSessionCode()
String getRedirectSessionMessage()
String getRedirectSessionURL()
String getReferrer()
Get referrer
RTPWriteListener getRTPWriteListener()
Get the RTP write listener for this session
double getRTSPPlayRangeStart()
Get play start range, Internal use.
double getRTSPPlayRangeStop()
Get play stop range, Internal use.
RTPStream getRTSPStream()
Get the default RTP Stream (all RTP sessions have a single RTP Stream)
String getRTSPTunnelingSessionId()
Get the RTSP/RTP tunneling session id
String getServerIp()
Get the server IP address
int getServerPort()
Get server port
String getSessionId()
Get session id
String getTimeRunning()
Get the time running for this RTP session
double getTimeRunningSeconds()
Get the number of second this RTP session has been running
String getUri()
Get URI
String getUserAgent()
Get user agent
IVHost getVHost()
Get vhost
boolean isAnnounce()
Has ANNOUNCE command been called on this session
boolean isAnnounceOrDescribe()
Has announce or described been called
boolean isConnected()
Is session connection
boolean isDebugRTSPSession()
True if debugging RTSP session
boolean isDescribe()
Has DESCRIBE command been called on this session
boolean isLoggedConnect()
Is connect logged
boolean isRedirectSession()
boolean isSessionValid()
Is this session valid
boolean isShutdownClient()
Is RTP session shutdown
void rejectSession()
Reject this session
void setAuthenticatePublishHandler(IAuthenticateRTSP
authenticatePublishHandler)
Set the RTP authentication handler
void shutdown()
shutdown RTP session, Internal use.
void touch()
Touch the stream so it doesn't timeout
void updateLoggingValues()
Update logging values, Internal use.
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
AUTHMETHOD_UNKNOWN
public static final int AUTHMETHOD_UNKNOWN
Constant value: 0
AUTHMETHOD_PLAY
public static final int AUTHMETHOD_PLAY
Constant value: 1
AUTHMETHOD_PUBLISH
public static final int AUTHMETHOD_PUBLISH
Constant value: 2
sessionId
protected [Link] sessionId
rtspTunnelingSessionId
protected [Link] rtspTunnelingSessionId
streams
protected [Link] streams
streamsOrder
protected [Link] streamsOrder
vhost
protected [Link] vhost
userAgent
protected [Link] userAgent
cookieStr
protected [Link] cookieStr
ip
protected [Link] ip
isSessionValid
protected boolean isSessionValid
authenticatePlayHandler
protected [Link] authenticatePlayHandler
authenticatePublishHandler
protected [Link] authenticatePublishHandler
lastAuthenticateMethod
protected int lastAuthenticateMethod
appInstance
protected [Link] appInstance
appInstanceShutdown
protected [Link] appInstanceShutdown
loggedConnect
protected boolean loggedConnect
properties
protected [Link] properties
isDescribe
protected boolean isDescribe
isAnnounce
protected boolean isAnnounce
rtpWriteListener
protected [Link] rtpWriteListener
timeCreated
protected long timeCreated
ioPerformanceCounter
protected [Link] ioPerformanceCounter
totalIOPerformanceLast
protected [Link] totalIOPerformanceLast
totalIOPerformance2Last
protected [Link] totalIOPerformance2Last
connectionHolder
protected [Link] connectionHolder
isConnected
protected boolean isConnected
idleHandler
protected [Link] idleHandler
serverIp
protected [Link] serverIp
serverPort
protected int serverPort
uri
protected [Link] uri
referrer
protected [Link] referrer
queryStr
protected [Link] queryStr
actionListeners
protected [Link] actionListeners
elapsedTime
protected [Link] elapsedTime
idleFrequency
protected int idleFrequency
debugRTSPSession
protected boolean debugRTSPSession
rtspPlayRangeStart
protected double rtspPlayRangeStart
rtspPlayRangeStop
protected double rtspPlayRangeStop
shutdownClient
protected boolean shutdownClient
audioPacketizers
protected [Link] audioPacketizers
videoPacketizers
protected [Link] videoPacketizers
streamPacketizers
protected [Link] streamPacketizers
redirectSession
protected boolean redirectSession
redirectSessionCode
protected int redirectSessionCode
redirectSessionMessage
protected [Link] redirectSessionMessage
redirectSessionURL
protected [Link] redirectSessionURL
lock
protected [Link] lock
ioSession
protected [Link] ioSession
Constructors
RTPSession
public RTPSession(String sessionId)
Constructor
Parameters:
sessionId - session id
Methods
acceptSession
public void acceptSession()
rejectSession
public void rejectSession()
getSessionId
public String getSessionId()
Get session id
Returns:
session id
setSessionId
public void setSessionId(String sessionId)
Set session id
Parameters:
sessionId - session id
addRTSPStream
public void addRTSPStream(RTPStream stream)
Parameters:
stream - RTP stream
removeRTSPStream
public RTPStream removeRTSPStream(String streamId)
Parameters:
streamId - stream id
Returns:
RTP stream
getRTSPStream
public RTPStream getRTSPStream(String streamId)
Parameters:
streamId - stream id
Returns:
RTP Stream
getRTSPStream
public RTPStream getRTSPStream()
Get the default RTP Stream (all RTP sessions have a single RTP Stream)
Returns:
RTP stream
getVHost
public IVHost getVHost()
Get vhost
Returns:
vhost
setVHost
public void setVHost(IVHost vhost)
Set vhost
Parameters:
vhost - vhost
getUserAgent
public String getUserAgent()
Returns:
user agent
setUserAgent
public void setUserAgent(String userAgent)
Parameters:
userAgent - user agent
touch
public void touch()
shutdown
public void shutdown()
shutdown
public void shutdown(RTPRequestStatus status)
Parameters:
status
isSessionValid
public boolean isSessionValid()
Returns:
true if valid
setSessionValid
public void setSessionValid(boolean isSessionValid)
Parameters:
isSessionValid - true if valid
getAuthenticatePublishHandler
public IAuthenticateRTSP getAuthenticatePublishHandler()
Returns:
RTP authentication handler
setAuthenticatePublishHandler
public void setAuthenticatePublishHandler(IAuthenticateRTSP
authenticatePublishHandler)
Parameters:
authenticatePublishHandler - RTP authentication handler
getAuthenticatePlayHandler
public IAuthenticateRTSP getAuthenticatePlayHandler()
Returns:
authentication play handler
setAuthenticatePlayHandler
public void setAuthenticatePlayHandler(IAuthenticateRTSP authenticatePlayHandler)
Parameters:
authenticatePlayHandler - authentication play handler
getLastAuthenticateMethod
public int getLastAuthenticateMethod()
Returns:
last method received
setLastAuthenticateMethod
public void setLastAuthenticateMethod(int lastAuthenticateMethod)
Parameters:
lastAuthenticateMethod - last method received
getAppInstance
public IApplicationInstance getAppInstance()
Returns:
application instance
setAppInstance
public void setAppInstance(IApplicationInstance appInstance)
Parameters:
appInstance - application instance
isLoggedConnect
public boolean isLoggedConnect()
Is connect logged
Returns:
true if logged
setLoggedConnect
public void setLoggedConnect(boolean loggedConnect)
Parameters:
loggedConnect - true if logged
getIp
public String getIp()
Returns:
remote IP address
setIp
public void setIp(String ip)
Parameters:
ip - remote IP address
getProperties
public WMSProperties getProperties()
Get properties
Returns:
properties
isDescribe
public boolean isDescribe()
Returns:
true if called
setDescribe
public void setDescribe(boolean isDescribe)
Parameters:
isDescribe - true if called
isAnnounce
public boolean isAnnounce()
Returns:
true if called
setAnnounce
public void setAnnounce(boolean isAnnounce)
Parameters:
isAnnounce - true if called
isAnnounceOrDescribe
public boolean isAnnounceOrDescribe()
Returns:
true if either called
getRTPWriteListener
public RTPWriteListener getRTPWriteListener()
Returns:
RTP write listener
addIOPerformance
public void addIOPerformance(IOPerformanceCounter totalIOPerformanceResult)
Internal use
Parameters:
totalIOPerformanceResult - IO performance counter
addIOPerformance2
public void addIOPerformance2(IOPerformanceCounter totalIOPerformanceResult)
Internal use
Parameters:
totalIOPerformanceResult - IO performance counter
getConnectionHolder
public ConnectionHolder getConnectionHolder()
Returns:
connection holder
isConnected
public boolean isConnected()
Is session connection
Returns:
true if connected
setConnected
public void setConnected(boolean isConnected)
Parameters:
isConnected - true if connected
getIdleHandler
public RTPIdleHandler getIdleHandler()
Returns:
idle handler
setIdleHandler
public void setIdleHandler(RTPIdleHandler idleHandler)
Parameters:
idleHandler - idle handler
getServerIp
public String getServerIp()
Returns:
IP address
setServerIp
public void setServerIp(String serverIp)
Parameters:
serverIp - IP address
getServerPort
public int getServerPort()
Returns:
server port
setServerPort
public void setServerPort(int serverPort)
Parameters:
serverPort - server port
getUri
public String getUri()
Get URI
Returns:
URI
setUri
public void setUri(String uri)
Set URI
Parameters:
uri - URI
getReferrer
public String getReferrer()
Get referrer
Returns:
referrer
setReferrer
public void setReferrer(String referrer)
Set referrer
Parameters:
referrer - referrer
getQueryStr
public String getQueryStr()
Returns:
query string
setQueryStr
public void setQueryStr(String queryStr)
Parameters:
queryStr - query string
updateLoggingValues
public void updateLoggingValues()
clearLoggingValues
public void clearLoggingValues()
addActionListener
public void addActionListener(IRTSPActionNotify actionListener)
Parameters:
actionListener - action listener
removeActionListener
public void removeActionListener(IRTSPActionNotify actionListener)
Parameters:
actionListener - action listener
onDescribe
public void onDescribe([Link] req,
[Link] resp)
Parameters:
req - RTP request
resp - RTP response
onAnnounce
public void onAnnounce([Link] req,
[Link] resp)
Parameters:
req - RTP request
resp - RTP response
onGetParameter
public void onGetParameter([Link] req,
[Link] resp)
Parameters:
req - RTP request
resp - RTP response
onSetParameter
public void onSetParameter([Link] req,
[Link] resp)
Parameters:
req - RTP request
resp - RTP response
onOptions
public void onOptions([Link] req,
[Link] resp)
Parameters:
req - RTP request
resp - RTP response
onPause
public void onPause([Link] req,
[Link] resp)
Parameters:
req - RTP request
resp - RTP response
onPlay
public void onPlay([Link] req,
[Link] resp)
Parameters:
req - RTP request
resp - RTP response
onRecord
public void onRecord([Link] req,
[Link] resp)
Parameters:
req - RTP request
resp - RTP response
onRedirect
public void onRedirect([Link] req,
[Link] resp)
Parameters:
req - RTP request
resp - RTP response
onSetup
public void onSetup([Link] req,
[Link] resp)
Parameters:
req - RTP request
resp - RTP response
onTeardown
public void onTeardown([Link] req,
[Link] resp)
Parameters:
req - RTP request
resp - RTP response
getIdleFrequency
public int getIdleFrequency()
Returns:
idle frequency (milliseconds)
setIdleFrequency
public void setIdleFrequency(int idleFrequency)
Parameters:
idleFrequency - idle frequency (milliseconds)
isDebugRTSPSession
public boolean isDebugRTSPSession()
Returns:
true if debugging RTSP session
setDebugRTSPSession
public void setDebugRTSPSession(boolean debugRTSPSession)
Parameters:
debugRTSPSession - true if debugging RTSP session
getRTSPTunnelingSessionId
public String getRTSPTunnelingSessionId()
Returns:
RTSP/RTP tunneling session id
setRTSPTunnelingSessionId
public void setRTSPTunnelingSessionId(String rtspTunnelingSessionId)
Parameters:
rtspTunnelingSessionId - RTSP/RTP tunneling session id
getRTSPPlayRangeStart
public double getRTSPPlayRangeStart()
Returns:
start range
setRTSPPlayRangeStart
public void setRTSPPlayRangeStart(double rtspPlayRangeStart)
Parameters:
rtspPlayRangeStart - start range
getRTSPPlayRangeStop
public double getRTSPPlayRangeStop()
Returns:
stop range
setRTSPPlayRangeStop
public void setRTSPPlayRangeStop(double rtspPlayRangeStop)
Parameters:
rtspPlayRangeStop - stop range
getCookieStr
public String getCookieStr()
Returns:
cookie string
setCookieStr
public void setCookieStr(String cookieStr)
Parameters:
cookieStr - cooking string
getIOPerformanceCounter
public IOPerformanceCounter getIOPerformanceCounter()
Returns:
IO performance counter
setIOPerformanceCounter
public void setIOPerformanceCounter(IOPerformanceCounter ioPerformanceCounter)
Parameters:
ioPerformanceCounter - IO performance counter
isShutdownClient
public boolean isShutdownClient()
Returns:
true if shutdown
setShutdownClient
public void setShutdownClient(boolean shutdownClient)
Parameters:
shutdownClient - true if shutdown
getAudioPacketizerItem
public RTPPacketizerItem getAudioPacketizerItem(RTPContext rtpContext,
IApplicationInstance appInstance,
int codecId)
Parameters:
rtpContext - RTP context
appInstance - application instance
codecId - codec id
Returns:
packetizer info
getVideoPacketizerItem
public RTPPacketizerItem getVideoPacketizerItem(RTPContext rtpContext,
IApplicationInstance appInstance,
int codecId)
Parameters:
rtpContext - RTP context
appInstance - application instance
codecId - codec id
Returns:
packetizer info
getStreamPacketizerItem
public RTPPacketizerItem getStreamPacketizerItem(RTPContext rtpContext,
IApplicationInstance appInstance,
int codecId)
Parameters:
rtpContext - RTP context
appInstance - application instance
codecId - codec id
Returns:
packetizer info
putAudioPacketizerItem
public void putAudioPacketizerItem(int codecId,
String classPath)
Parameters:
codecId - codec id
classPath - class path
putVideoPacketizerItem
public void putVideoPacketizerItem(int codecId,
String classPath)
Parameters:
codecId - codec id
classPath - class path
putStreamPacketizerItem
public void putStreamPacketizerItem(int codecId,
String classPath)
Parameters:
codecId - codec id
classPath - class path
getElapsedTime
public ElapsedTimer getElapsedTime()
Returns:
elapsed timer
getTimeRunning
public String getTimeRunning()
Returns:
time running as a string
getTimeRunningSeconds
public double getTimeRunningSeconds()
Get the number of second this RTP session has been running
Returns:
number of second this RTP session has been running
isRedirectSession
public boolean isRedirectSession()
setRedirectSession
public void setRedirectSession(boolean redirectSession)
getRedirectSessionCode
public int getRedirectSessionCode()
setRedirectSessionCode
public void setRedirectSessionCode(int redirectSessionCode)
getRedirectSessionURL
public String getRedirectSessionURL()
setRedirectSessionURL
public void setRedirectSessionURL(String redirectSessionURL)
redirectSession
public void redirectSession(String redirectSessionURL)
redirectSession
public void redirectSession(String redirectSessionURL,
int redirectSessionCode)
getRedirectSessionMessage
public String getRedirectSessionMessage()
setRedirectSessionMessage
public void setRedirectSessionMessage(String redirectSessionMessage)
getIoSession
public [Link] getIoSession()
setIoSession
public void setIoSession([Link] ioSession)
doIdle
public void doIdle()
[Link]
Class RTPSessions
[Link]
|
+-[Link]
Constructor Summary
public RTPSessions(IVHost vhost)
Constructor
Method Summary
RTPSession addSession(RTPSession session)
Add RTP session
String getNextSessionId()
Get next RTP session id for new session
[Link] getSessionIds()
Get list of current RTP session ids
IVHost getVHost()
Get vhost
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
RTPSessions
public RTPSessions(IVHost vhost)
Constructor
Parameters:
vhost - vhost
Methods
getNextSessionId
public String getNextSessionId()
Returns:
RTP session id
getSessionIds
public [Link] getSessionIds()
Returns:
list of current RTP session ids
releaseSessionId
public void releaseSessionId(String sessionIdStr)
Parameters:
sessionIdStr - RTP session id
getSession
public RTPSession getSession(String sessionId)
Parameters:
sessionId - session id
Returns:
RTP session
removeSession
public RTPSession removeSession(String sessionId)
Parameters:
sessionId - session id
Returns:
RTP session if removed
removeSession
public RTPSession removeSession(RTPSession session)
Parameters:
session - RTP session
Returns:
RTP session if removed
addSession
public RTPSession addSession(RTPSession session)
Parameters:
session - RTP session
Returns:
RTP session added
getVHost
public IVHost getVHost()
Get vhost
Returns:
vhost
addSessionListener
public void addSessionListener(IRTPSessionNotify listener)
Parameters:
listener - RTP session listener
removeSessionListener
public void removeSessionListener(IRTPSessionNotify listener)
Parameters:
listener - RTP session listener
notifySessionCreate
public void notifySessionCreate(IApplicationInstance appInstance,
RTPSession rtpSession)
Parameters:
appInstance - application instance
rtpSession - RTP session
notifySessionDestroy
public void notifySessionDestroy(IApplicationInstance appInstance,
RTPSession rtpSession)
Parameters:
appInstance - application instance
rtpSession - RTP session
notifySessionCreate
public void notifySessionCreate(RTPSession rtpSession)
Parameters:
rtpSession - RTP session
notifySessionDestroy
public void notifySessionDestroy(RTPSession rtpSession)
Parameters:
rtpSession - RTP session
[Link]
Class RTPStream
[Link]
|
+-[Link]
RTPStream: RTP Stream class which encapsulates an IMediaStream class for RTP streaming.
Field Summary
public static final AVSYNCMETHODS_RTPTIMECODE
Value: 3
Value: 1
Value: 2
Value: 0
Value: 1
Value: 2
Value: 0
Value: 1
Value: 0
Value: 2
Value: attributes
Value: bandwidth
Value: connectiondata
Value: emailaddress
Value: information
Value: name
Value: phonenumber
Value: origin
Value: protocolversion
Value: repeattimes
Value: timezones
Value: timing
Value: uri
Constructor Summary
public RTPStream(RTPContext context, String streamId)
Constructor
Method Summary
void addStreamAttribute(String key, String value)
Add a name value pair to the stream attribute collection
void clearRTSPSessionExtraLines()
Clear SDP extra lines
void clearTracks()
Clear all tracks
void extractCodecConfigFromTrackInfo()
Extract codec config information from SDP data
IApplicationInstance getAppInstance()
Get application instance
String getAppInstanceName()
Get the application instance name
String getAppName()
Get the application name
RTPTrack getAudioTrack()
Get the most likely audio track
int getAutoAllocateInterleavePorts()
int getAVSyncMethod()
Get the audio/video sync method.
double getDuration()
Get the duration of the stream if video on demand
String getHost()
Get host
int getMaxRTCPWaitTime()
Get max time to wait for RTCP sender reports (milliseconds)
String getMediaCasterType()
Get the media caster stream type for this stream
IMediaReader getMediaReader()
Get media reader if video on demand stream
byte[] getMetadataPacket()
Get the onMetadata packet for this RTP stream
int getMode()
Get the current play/publish mode
int getMPEGTSAudioBitrate()
String getMPEGTSAudioLanguage()
int getMPEGTSAudioPID()
Get the audio PID id if MPEG-TS stream
int getMPEGTSProgramID()
int getMPEGTSVideoBitrate()
int getMPEGTSVideoPID()
Get the video PID id if MPEG-TS stream
String getOutHost()
Get the out host
RTPContext getRTPContext()
Get the RTP context
RTPDestination getRTPDestination()
Get RTP destination
RTPStreamContext getRTPStreamContext()
String getRTSPBindIpAddress()
Get the bind RTSP bind IP address
String getRTSPConnectionAddressType()
Get the connection address type
String getRTSPConnectionIpAddress()
Get the connection IP address
int getRTSPMaximumPendingWriteBytes()
Get the maximum number of waiting bytes allow for this RTSP session
String getRTSPOriginAddressType()
Get the origin address type
String getRTSPOriginIpAddress()
Get the origin IP address
String getRTSPSessionDescription()
Get session description
[Link] getRTSPSessionExtraLines()
Get extra SDP lines
String getRTSPSessionName()
Get session name
int getRTSPSessionTimeout()
Get RTP session timeout (milliseconds)
String getSDPLang()
Get the SDP language
RTPSession getSession()
Get the RTP session
IMediaStream getStream()
Get the IMediaStream
[Link] getStreamAttributes()
Get all name/value pairs in the stream attributes collection
String getStreamExt()
Get the stream extension
String getStreamId()
Get the stream id
[Link] getStreamInfo()
Get all name/value pairs in the stream info collection
Object getStreamLock()
Get the synchronization lock for this stream
String getStreamName()
Get stream name
String getStreamNameLogging()
Get the stream name used for logging
String getStreamQueryStr()
Get the stream query string
long getStreamSessionId()
Get the stream session id
String getStreamSessionIp()
Get the stream session ip
long getStreamSessionVersion()
Get the stream session version
RTPTrack getStreamTrack()
Get the most likely stream track
String getStreamType()
Get the stream type
[Link] getTrackNames()
Get a list of track ids
String getTransportMode()
Get the transport mode
int getUDPManagedDeliveryCount()
int getUDPManagedDeliveryDelay()
IVHost getVHost()
Get vhost
RTPTrack getVideoTrack()
Get the most likely video track
long getVODLastTimeTC()
Get the last timecode (milliseconds) sent for video on demand
long getVODPlayLen()
Get the video on demand play duration (milliseconds)
long getVODStartTimeTC()
Get the video on demand start time (milliseconds)
boolean isAVSyncNonSR()
Is sync method based on RTCP packets (sender report)
boolean isBlockUDPOut()
boolean isCheckIpAddr()
Are we checking the ip address of each incoming RTP packet
boolean isCheckSSRC()
Are we checking the ssrc values of each incoming RTP packet
boolean isForceMPEGTSOut()
boolean isForceRTSPInterleaved()
True if forcing RTSP interleaved
boolean isLive()
Is live stream
boolean isModePlay()
Is this a play stream
boolean isModePublish()
Is this a publish stream
boolean isModeUknown()
Is the stream mode unknown (publish vs play)
boolean isMPEGTSOut()
Is MPEG-TS out
boolean isPaused()
Is stream paused
boolean isPublishStreamReady()
See if a publishing stream has enough data to start playback
boolean isResetPlayStream()
Is reset stream trigger, Internal use.
boolean isResyncAudioVideoOnSR()
Reset audio/video sync on new RTCP packets (not just first packet)
boolean isRTPIgnoreProfileLevelId()
boolean isRTPIgnoreSPropParameterSets()
boolean isRTSP()
Is this RTP Stream managed by RTSP session
boolean isRTSPAlwaysUseSDPPorts()
Force RTSP to use ports in SDP data
boolean isRTSPPull()
Is this RTP Stream managed by RTSP session
boolean isSendSDESEvents()
Send RTCP SDES events
boolean isStreamStarted()
Is stream started
void resetSentMetadataFlag()
Reset sendMetadata flag
boolean streamExists()
Return true if RTP stream contains a IMediaStream
void switchSetupToMPEGTS()
Switch a stream to MPEG-TS, Internal use.
void touch()
Touch the stream so that it does not timeout
void unlockRepeaterStreams()
Unlock live repeater streams
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
SDPLOCATION_STREAM
public static final int SDPLOCATION_STREAM
Constant value: 0
SDPLOCATION_AUDIO
public static final int SDPLOCATION_AUDIO
Constant value: 1
SDPLOCATION_VIDEO
public static final int SDPLOCATION_VIDEO
Constant value: 2
MODE_UNKNOWN
public static final int MODE_UNKNOWN
Constant value: 0
MODE_PLAY
public static final int MODE_PLAY
Constant value: 1
MODE_PUBLISH
public static final int MODE_PUBLISH
Constant value: 2
AVSYNCMETHODS_UNKNOWN
public static final int AVSYNCMETHODS_UNKNOWN
Constant value: 0
AVSYNCMETHODS_SENDERREPORT
public static final int AVSYNCMETHODS_SENDERREPORT
Constant value: 1
AVSYNCMETHODS_SYSTEMCLOCK
public static final int AVSYNCMETHODS_SYSTEMCLOCK
Constant value: 2
AVSYNCMETHODS_RTPTIMECODE
public static final int AVSYNCMETHODS_RTPTIMECODE
Constant value: 3
STREAMINFO_SESSIONPROTOCOLVERSION
public static final [Link] STREAMINFO_SESSIONPROTOCOLVERSION
STREAMINFO_SESSIONPORIGIN
public static final [Link] STREAMINFO_SESSIONPORIGIN
STREAMINFO_SESSIONNAME
public static final [Link] STREAMINFO_SESSIONNAME
STREAMINFO_SESSIONINFORMATION
public static final [Link] STREAMINFO_SESSIONINFORMATION
STREAMINFO_SESSIONURI
public static final [Link] STREAMINFO_SESSIONURI
STREAMINFO_SESSIONEMAILADDRESS
public static final [Link] STREAMINFO_SESSIONEMAILADDRESS
STREAMINFO_SESSIONPHONENUMBER
public static final [Link] STREAMINFO_SESSIONPHONENUMBER
STREAMINFO_SESSIONCONNECTIONDATA
public static final [Link] STREAMINFO_SESSIONCONNECTIONDATA
STREAMINFO_SESSIONBANDWIDTH
public static final [Link] STREAMINFO_SESSIONBANDWIDTH
STREAMINFO_SESSIONTIMING
public static final [Link] STREAMINFO_SESSIONTIMING
STREAMINFO_SESSIONREPEATTIMES
public static final [Link] STREAMINFO_SESSIONREPEATTIMES
STREAMINFO_SESSIONTIMEZONES
public static final [Link] STREAMINFO_SESSIONTIMEZONES
STREAMINFO_SESSIONATTRIBUTES
public static final [Link] STREAMINFO_SESSIONATTRIBUTES
Constructors
RTPStream
public RTPStream(RTPContext context,
String streamId)
Constructor
Parameters:
context - RTP context
streamId - stream id
Methods
getRTPContext
public RTPContext getRTPContext()
Returns:
RTP context
getStreamLock
public Object getStreamLock()
Returns:
synchronization lock for this stream
addTrack
public void addTrack(RTPTrack track)
Add a track
Parameters:
track - RTP track
removeTrack
public RTPTrack removeTrack(String trackId)
Remove a track by id
Parameters:
trackId - track id
Returns:
RTP track
addTrackInternal
public void addTrackInternal(RTPTrack track)
Parameters:
track - RTP track
removeTrackInternal
public RTPTrack removeTrackInternal(String trackId)
Parameters:
trackId - track id
Returns:
clearTracks
public void clearTracks()
incrementMediaInBytes
public void incrementMediaInBytes(long bytes)
Parameters:
bytes
sloppyGetTrack
public RTPTrack sloppyGetTrack(String trackId)
Parameters:
trackId - track name
Returns:
RTP track
getTrack
public RTPTrack getTrack(String trackId)
Get track by id
Parameters:
trackId - track id
Returns:
RTP track
addTrackId
public void addTrackId(String seq,
String trackId)
Add track
Parameters:
seq - sequence number
trackId - track id
getTrackId
public String getTrackId(String seq)
Parameters:
Returns:
RTP track
getTrackNames
public [Link] getTrackNames()
Returns:
list of track ids
getSession
public RTPSession getSession()
Returns:
RTP session
setSession
public void setSession(RTPSession session)
Parameters:
session - RTP session
getStreamId
public String getStreamId()
Returns:
stream id
getStream
public IMediaStream getStream()
Returns:
stream (IMediaStream) interface
getAudioTrack
public RTPTrack getAudioTrack()
Returns:
RTP track
getVideoTrack
public RTPTrack getVideoTrack()
Returns:
RTP track
getStreamTrack
public RTPTrack getStreamTrack()
Returns:
RTP track
addStreamInfo
public void addStreamInfo(String key,
String value)
Parameters:
key - name
value - value
getStreamInfo
public String getStreamInfo(String key)
Parameters:
key - name
Returns:
value
addStreamAttribute
public void addStreamAttribute(String key,
String value)
Parameters:
key - name
value - value
getVHost
public IVHost getVHost()
Get vhost
Returns:
vhost
getHost
public String getHost()
Get host
Returns:
host
setHost
public void setHost(String host)
Set host
Parameters:
host - host
streamExists
public boolean streamExists()
Returns:
true if RTP stream contains a IMediaStream
isPublishStreamReady
public boolean isPublishStreamReady()
Returns:
true, if the stream is ready for playback
lockRepeaterStreams
public void lockRepeaterStreams([Link] streamNames)
Parameters:
streamNames - stream names
unlockRepeaterStreams
public void unlockRepeaterStreams()
getMediaCasterType
public String getMediaCasterType()
Returns:
media caster stream type
createStream
public boolean createStream(RTPRequestStatus status)
Parameters:
status - status
Returns:
true if successful
shutdown
public void shutdown(RTPRequestStatus status)
Parameters:
status - status
initProperties
public void initProperties(IApplicationInstance appInstance)
getAppInstance
public IApplicationInstance getAppInstance()
Returns:
application instance
isPaused
public boolean isPaused()
Is stream paused
Returns:
true if stream is paused
getDuration
public double getDuration()
Returns:
duration in seconds
isResetPlayStream
public boolean isResetPlayStream()
Returns:
true if reset trigger
setResetPlayStream
public void setResetPlayStream(boolean doResetPlayStream)
Parameters:
doResetPlayStream - true if reset trigger
record
public RTPStreamPlayResult record(RTPRequestStatus status)
Execute record
Parameters:
status - RTP status
Returns:
status
record
public RTPStreamPlayResult record(RTPRequestStatus status,
double startTime,
double stopTime)
Execute record
Parameters:
status - RTP status
startTime - playback start time
stopTime - playback stop time
Returns:
status
play
public RTPStreamPlayResult play(RTPRequestStatus status)
Execute play
Parameters:
status - RTP status
Returns:
status
play
public RTPStreamPlayResult play(RTPRequestStatus status,
double startTime,
double stopTime)
Execute play
Parameters:
status - RTP status
startTime - playback start time
stopTime - playback stop time
Returns:
status
attachToWMSSession
public void attachToWMSSession(RtmpSessionInfo wmsSessionInfo)
Parameters:
wmsSessionInfo - session info
detachFromWMSSession
public void detachFromWMSSession(RtmpSessionInfo wmsSessionInfo)
Parameters:
wmsSessionInfo - session info
pause
public void pause(RTPRequestStatus status)
Execute pause
Parameters:
status - RTP status
announce
public void announce(RTPRequestStatus status)
Parameters:
status - RTP status
isResyncAudioVideoOnSR
public boolean isResyncAudioVideoOnSR()
Reset audio/video sync on new RTCP packets (not just first packet)
Returns:
true if resetting audio/video on new RTCP packets
setResyncAudioVideoOnSR
public void setResyncAudioVideoOnSR(boolean resyncAudioVideoOnSR)
Reset audio/video sync on new RTCP packets (not just first packet)
Parameters:
resyncAudioVideoOnSR - true if resetting audio/video on new RTCP packets
getMetadataPacket
public byte[] getMetadataPacket()
Returns:
onMetadata packet
resetSentMetadataFlag
public void resetSentMetadataFlag()
checkSendMetadata
public void checkSendMetadata(long adjTimecode,
RTPTrack rtpTrack)
Parameters:
adjTimecode - timecode (milliseconds)
extractCodecConfigFromTrackInfo
public void extractCodecConfigFromTrackInfo()
getStreamType
public String getStreamType()
Returns:
stream type
setStreamType
public void setStreamType(String streamType)
Parameters:
streamType - stream type
getAppName
public String getAppName()
Returns:
application name
setAppName
public void setAppName(String appName)
Parameters:
appName - application name
getAppInstanceName
public String getAppInstanceName()
Returns:
application instance name
setAppInstanceName
public void setAppInstanceName(String appInstanceName)
Parameters:
appInstanceName - application instance name
getStreamExt
public String getStreamExt()
Returns:
stream extension
setStreamExt
public void setStreamExt(String streamExt)
Parameters:
streamExt - stream extension
getStreamName
public String getStreamName()
Returns:
stream name
setStreamName
public void setStreamName(String streamName)
Parameters:
streamName - stream name
getStreamNameLogging
public String getStreamNameLogging()
Returns:
stream name used for logging
setStreamNameLogging
public void setStreamNameLogging(String streamNameLogging)
Parameters:
streamNameLogging - stream name used for logging
getStreamSessionId
public long getStreamSessionId()
Returns:
stream session id
setStreamSessionId
public void setStreamSessionId(long streamSessionId)
Parameters:
streamSessionId - stream session id
getStreamSessionVersion
public long getStreamSessionVersion()
Returns:
stream session version
setStreamSessionVersion
public void setStreamSessionVersion(long streamSessionVersion)
Parameters:
streamSessionVersion - stream session version
getStreamSessionIp
public String getStreamSessionIp()
Returns:
stream session ip
setStreamSessionIp
public void setStreamSessionIp(String streamSessionIp)
Parameters:
streamSessionIp - stream session ip
isCheckSSRC
public boolean isCheckSSRC()
Returns:
true if checking
setCheckSSRC
public void setCheckSSRC(boolean checkSSRC)
Parameters:
checkSSRC - true if checking
isCheckIpAddr
public boolean isCheckIpAddr()
Returns:
true if checking ip address of each incoming RTP packet
setCheckIpAddr
public void setCheckIpAddr(boolean checkIpAddr)
Parameters:
checkIpAddr - true if checking ip address of each incoming RTP packet
getUDPTransport
public [Link] getUDPTransport(boolean isMulticast)
Parameters:
isMulticast - true if multicast
Returns:
UDP transport
getAVSyncMethod
public int getAVSyncMethod()
Returns:
audio/video sync method. See AVSYNCMETHODS_*
setAVSyncMethod
public void setAVSyncMethod(int avSyncMethod)
Parameters:
avSyncMethod - audio/video sync method. See AVSYNCMETHODS_*
isAVSyncNonSR
public boolean isAVSyncNonSR()
Returns:
true if based in RTCP sender reports
getMaxRTCPWaitTime
public int getMaxRTCPWaitTime()
Returns:
max time to wait for RTCP sender reports (milliseconds)
setMaxRTCPWaitTime
public void setMaxRTCPWaitTime(int maxRTCPWaitTime)
Parameters:
maxRTCPWaitTime - max time to wait for RTCP sender reports (milliseconds)
getStreamInfo
public [Link] getStreamInfo()
Returns:
map of name/value pairs
getStreamAttributes
public [Link] getStreamAttributes()
Returns:
map of name/value pairs
avSyncNameToId
public static int avSyncNameToId(String avSyncName)
Parameters:
avSyncName - audio/video sync name
Returns:
audio/video sync id, see AVSYNCMETHODS_*
getMPEGTSAudioLanguage
public String getMPEGTSAudioLanguage()
setMPEGTSAudioLanguage
public void setMPEGTSAudioLanguage(String mpegtsAudioLanguage)
getMPEGTSProgramID
public int getMPEGTSProgramID()
setMPEGTSProgramID
public void setMPEGTSProgramID(int mpegtsProgramId)
getMPEGTSVideoPID
public int getMPEGTSVideoPID()
Returns:
video PID id if MPEG-TS stream
setMPEGTSVideoPID
public void setMPEGTSVideoPID(int mpegtsVideoPID)
Parameters:
mpegtsVideoPID - video PID id if MPEG-TS stream
getMPEGTSAudioPID
public int getMPEGTSAudioPID()
Returns:
audio PID id if MPEG-TS stream
setMPEGTSAudioPID
public void setMPEGTSAudioPID(int mpegtsAudioPID)
Parameters:
mpegtsAudioPID - audio PID id if MPEG-TS stream
isRTSP
public boolean isRTSP()
Returns:
true if managed by RTSP session
setRTSP
public void setRTSP(boolean isRTSP)
Parameters:
isRTSP - true if managed by RTSP session
isRTSPPull
public boolean isRTSPPull()
Returns:
true if managed by RTSP session
setRTSPPull
public void setRTSPPull(boolean isRTSPPull)
Parameters:
isRTSPPull - true if managed by RTSP session
getStreamQueryStr
public String getStreamQueryStr()
Returns:
stream query string
setStreamQueryStr
public void setStreamQueryStr(String streamQueryStr)
Parameters:
streamQueryStr - stream query string
isModePublish
public boolean isModePublish()
Returns:
true if publish stream
isModePlay
public boolean isModePlay()
Returns:
true if play stream
isModeUknown
public boolean isModeUknown()
Returns:
true if stream mode is unknown
getOutHost
public String getOutHost()
Returns:
out host
setOutHost
public void setOutHost(String outHost)
Parameters:
outHost - out host
idle
public void idle([Link] session,
RtmpResponseMessage resp)
Parameters:
session - io session
resp - idle request
getLastPacketsByType
public AMFPacket[] getLastPacketsByType(IMediaStream localStream)
Parameters:
localStream - local stream
Returns:
important packets
getLastPacketsByType
public AMFPacket[] getLastPacketsByType(IMediaReader localReader,
double startTime)
Parameters:
localReader - media reader
Returns:
important packets
describe
public String describe(RTPSession rtspSession,
RTPRequestStatus status)
Parameters:
rtspSession - RTP session
status - RTP status
Returns:
describe response
switchSetupToMPEGTS
public void switchSetupToMPEGTS()
describe
public String describe(RTPSession rtspSession,
int isStreamPacketizer,
RTPRequestStatus status)
Parameters:
rtspSession - RTP session
isStreamPacketizer - true is stream
status - RTP status
Returns:
describe string
getMode
public int getMode()
Returns:
play/publish mode
setMode
public void setMode(int mode)
Parameters:
mode - play/publish mode
getTransportMode
public String getTransportMode()
Returns:
transport mode
setTransportMode
public void setTransportMode(String transportMode)
Parameters:
transportMode - transport mode
getNormalizedNTPTimecode
public long getNormalizedNTPTimecode(long timecode)
Parameters:
timecode - timecode (milliseconds)
Returns:
NTP timecode
isForceRTSPInterleaved
public boolean isForceRTSPInterleaved()
Returns:
true if forcing RTSP interleaved
setForceRTSPInterleaved
public void setForceRTSPInterleaved(boolean isForceRTSPInterleaved)
Parameters:
isForceRTSPInterleaved - true if forcing RTSP interleaved
getRTPInfo
public [Link] getRTPInfo(double startTime,
int videoSeq,
int audioSeq)
Parameters:
startTime - start time
Returns:
RTP info string
formatRTPInfo
public String formatRTPInfo(long timecode,
int videoSeq,
int audioSeq)
Parameters:
timecode - timecode
videoSeq - video sequence number
audioSeq - audio sequence number
Returns:
RTP Info string
getRTSPSessionName
public String getRTSPSessionName()
Returns:
session name
setRTSPSessionName
public void setRTSPSessionName(String rtspSessionName)
Parameters:
rtspSessionName - session name
getRTSPSessionDescription
public String getRTSPSessionDescription()
Returns:
session description
setRTSPSessionDescription
public void setRTSPSessionDescription(String rtspSessionDescription)
Parameters:
rtspSessionDescription - session description
isSendSDESEvents
public boolean isSendSDESEvents()
Returns:
true if sending RTCP SDES events
setSendSDESEvents
public void setSendSDESEvents(boolean sendSDESEvents)
Parameters:
sendSDESEvents - true if sending RTCP SDES events
isMPEGTSOut
public boolean isMPEGTSOut()
Is MPEG-TS out
Returns:
true if MPEG-TS out
setMPEGTSOut
public void setMPEGTSOut(boolean isMPEGTSOut)
Is MPEG-TS out
Parameters:
isMPEGTSOut - true if MPEG-TS out
transportFindBestMatch
public String transportFindBestMatch(String transport)
Parameters:
transport - trasport string
Returns:
best match
getAutoAllocateInterleavePorts
public int getAutoAllocateInterleavePorts()
isLive
public boolean isLive()
Is live stream
Returns:
true if live
setLive
public void setLive(boolean isLive)
Is live stream
Parameters:
isLive - true if live
getMediaReader
public IMediaReader getMediaReader()
Returns:
media reader
getRTSPSessionTimeout
public int getRTSPSessionTimeout()
Returns:
RTP session timeout (milliseconds)
setRTSPSessionTimeout
public void setRTSPSessionTimeout(int rtspSessionTimeout)
Parameters:
rtspSessionTimeout - RTP session timeout (milliseconds)
getRTSPMaximumPendingWriteBytes
public int getRTSPMaximumPendingWriteBytes()
Get the maximum number of waiting bytes allow for this RTSP session
Returns:
maximum number of waiting bytes allow for this RTSP session
setRTSPMaximumPendingWriteBytes
public void setRTSPMaximumPendingWriteBytes(int rtspMaximumPendingWriteBytes)
Set the maximum number of waiting bytes allow for this RTSP session
Parameters:
rtspMaximumPendingWriteBytes - maximum number of waiting bytes allow for this RTSP session
isTimeout
public boolean isTimeout(long currTime,
int timeout)
Parameters:
currTime - current time
timeout - timeout value
Returns:
true if timed out
touch
public void touch()
getRTSPBindIpAddress
public String getRTSPBindIpAddress()
Returns:
bind RTSP bind IP address
setRTSPBindIpAddress
public void setRTSPBindIpAddress(String rtspBindIpAddress)
Parameters:
rtspBindIpAddress - bind RTSP bind IP address
getRTSPConnectionIpAddress
public String getRTSPConnectionIpAddress()
Returns:
connection IP address
setRTSPConnectionIpAddress
public void setRTSPConnectionIpAddress(String rtspConnectionIpAddress)
Parameters:
rtspConnectionIpAddress - connection IP address
getRTSPConnectionAddressType
public String getRTSPConnectionAddressType()
Returns:
connection address type
setRTSPConnectionAddressType
public void setRTSPConnectionAddressType(String rtspConnectionAddressType)
Parameters:
rtspConnectionAddressType - connection address type
getRTSPOriginIpAddress
public String getRTSPOriginIpAddress()
Returns:
origin IP address
setRTSPOriginIpAddress
public void setRTSPOriginIpAddress(String rtspOriginIpAddress)
Parameters:
rtspOriginIpAddress - origin IP address
getRTSPOriginAddressType
public String getRTSPOriginAddressType()
Returns:
origin address type
setRTSPOriginAddressType
public void setRTSPOriginAddressType(String rtspOriginAddressType)
Parameters:
rtspOriginAddressType - origin address type
getVODStartTimeTC
public long getVODStartTimeTC()
Returns:
video on demand start time (milliseconds)
setVODStartTimeTC
public void setVODStartTimeTC(long vodStartTimeTC)
Parameters:
vodStartTimeTC - video on demand start time (milliseconds)
getVODLastTimeTC
public long getVODLastTimeTC()
Returns:
last timecode (milliseconds) sent for video on demand
setVODLastTimeTC
public void setVODLastTimeTC(long vodLastTimeTC)
Parameters:
vodLastTimeTC - last timecode (milliseconds) sent for video on demand
getVODPlayLen
public long getVODPlayLen()
Returns:
video on demand play duration (milliseconds)
setVODPlayLen
public void setVODPlayLen(long vodPlayLen)
Parameters:
vodPlayLen - video on demand play duration (milliseconds)
isStreamStarted
public boolean isStreamStarted()
Is stream started
Returns:
true if stream has started playback
isRTSPAlwaysUseSDPPorts
public boolean isRTSPAlwaysUseSDPPorts()
Returns:
true if using ports in SDP data
setRTSPAlwaysUseSDPPorts
public void setRTSPAlwaysUseSDPPorts(boolean rtspAlwaysUseSDPPorts)
Parameters:
rtspAlwaysUseSDPPorts - true if using ports in SDP data
putRTSPSessionExtraLine
public void putRTSPSessionExtraLine(int location,
String line)
Parameters:
location - location of line, see SDPLOCATION_
line - line to add
clearRTSPSessionExtraLines
public void clearRTSPSessionExtraLines()
getRTSPSessionExtraLines
public [Link] getRTSPSessionExtraLines()
Returns:
extra SDP lines
getRTPDestination
public RTPDestination getRTPDestination()
Returns:
RTP destination
setRTPDestination
public void setRTPDestination(RTPDestination rtpDestination)
Parameters:
rtpDestination - RTP destination
getSDPLang
public String getSDPLang()
Returns:
SDP language
setSDPLang
public void setSDPLang(String sdpLang)
Parameters:
sdpLang - SDP language
isRTPIgnoreProfileLevelId
public boolean isRTPIgnoreProfileLevelId()
setRTPIgnoreProfileLevelId
public void setRTPIgnoreProfileLevelId(boolean rtpIgnoreProfileLevelId)
getUDPManagedDeliveryDelay
public int getUDPManagedDeliveryDelay()
setUDPManagedDeliveryDelay
public void setUDPManagedDeliveryDelay(int udpManagedDeliveryDelay)
getUDPManagedDeliveryCount
public int getUDPManagedDeliveryCount()
setUDPManagedDeliveryCount
public void setUDPManagedDeliveryCount(int udpManagedDeliveryCount)
isForceMPEGTSOut
public boolean isForceMPEGTSOut()
setForceMPEGTSOut
public void setForceMPEGTSOut(boolean isForceMPEGTSOut)
isBlockUDPOut
public boolean isBlockUDPOut()
setBlockUDPOut
public void setBlockUDPOut(boolean blockUDPOut)
getMPEGTSAudioBitrate
public int getMPEGTSAudioBitrate()
setMPEGTSAudioBitrate
public void setMPEGTSAudioBitrate(int mpegtsAudioBitrate)
getMPEGTSVideoBitrate
public int getMPEGTSVideoBitrate()
setMPEGTSVideoBitrate
public void setMPEGTSVideoBitrate(int mpegtsVideoBitrate)
isRTPIgnoreSPropParameterSets
public boolean isRTPIgnoreSPropParameterSets()
setRTPIgnoreSPropParameterSets
public void setRTPIgnoreSPropParameterSets(boolean rtpIgnoreSPropParameterSets)
getRTPStreamContext
public RTPStreamContext getRTPStreamContext()
setRTPStreamContext
public void setRTPStreamContext(RTPStreamContext rtpStreamContext)
[Link]
Interface ICommandInterfaceCommand
Method Summary
boolean canHandle(CommandInterfaceRequestMessage req)
Methods
invoke
public void invoke(CommandInterfaceRequestMessage req,
CommandInterfaceResponseMessage resp)
canHandle
public boolean canHandle(CommandInterfaceRequestMessage req)
[Link]
Interface ICompilerDirectives
Field Summary
public static final RTMPENABLED
Value: true
Fields
RTMPENABLED
public static final boolean RTMPENABLED
[Link]
Interface IResponseListener
Method Summary
void onResponseWriteStart(RtmpResponseMessage response)
Methods
onResponseWriteStart
public void onResponseWriteStart(RtmpResponseMessage response)
onResponseWriteStop
public void onResponseWriteStop(RtmpResponseMessage response)
[Link]
Interface IServer
All Known Implementing Classes:
Server
Method Summary
void addServerListener(IServerNotify serverListener)
Add server listener
[Link] getAdminInterfaceObjectList()
Get the list of objects exposed through JMX interface
RandomIdGenerator getClientIdGenerator()
Get the client id generator for the server
CommandInterfaceComma getCommandInterfaceCommandHandler()
ndHandler
Get the command interface command handler
HostPort getCommandInterfaceHostPort()
Get the definition of the command interface
ConnectionCounter getConnectionCounter()
Get the server connection counter.
int getCoreHandlerPoolSize()
Get the handler core thread pool size.
int getCoreTransportPoolSize()
Get the transport core thread pool size.
String getDateStarted()
Get the date and time the server was started.
[Link] getDynamicLogProperties()
Get the dynamic log properties defined at the server level in conf/[Link]
ThreadPool getHandlerThreadPool()
Get the server handler thread pool.
IOPerformanceCounter getIoPerformanceCounter()
Get the server performance counter.
WMSProperties getProperties()
Get server level properties collection
ThreadPool getThreadPool()
Get the server handler thread pool.
String getTimeRunning()
Get a formatted String of how long the server has been running.
double getTimeRunningSeconds()
Get time running in seconds
long getTranscoderLicenseInUse()
Get the total number of transcoder licenses in use.
long getTranscoderLicenseTotal()
Get the total number of transcoder license (-1 means unlimited - subscription)
ThreadPool getTransportThreadPool()
Get the server transport thread pool.
[Link] getUDPPortManager()
[Link]
Get the UDP port manager which manages the allocation of incoming UDP port binding to be
sure there are not port conflicts
[Link] getUDPPortSharingManager()
[Link]
Manager Get the UDP port sharing manager.
String[] getUserAgents()
Get a pipe "|" delimited list of user agents that the server recognizes as RTMPT client.
String getVersion()
Get server version number.
VHostList getVHostList()
Returns the interface to the VHostList for the server
boolean isAcceptWOWZConnections()
If true, WOWZ connections will use the WOWZ protocol.
boolean isInitiateWOWZConnections()
If true, NetConnection attempts will use the WOWZ protocol when possible.
boolean isSuspended()
Is the server current suspended
void reloadVHostConfig()
Reload the [Link] file.
void startCommandInterface()
Start the command interface as defined in [Link].
void startVHosts()
Start all vHosts
void stopAdminAgent()
Stop the JMX interface
void stopCommandInterface()
Stop the command interface as defined in [Link].
void stopVHosts()
Stop all vHosts
void suspendAllVHosts()
Suspend all virtual hosts (Calls [Link] for each vhost)
void suspendServer()
Suspend all virtual hosts and the command interface
void unbindAllVHosts()
Unbind all virtual hosts (Calls [Link] for each vhost)
Methods
startCommandInterface
public void startCommandInterface()
Start the command interface as defined in [Link]. The command interface is used by [Link] script to stop the server.
It is also used by ant task to stop and start the server on build events.
stopCommandInterface
public void stopCommandInterface()
Stop the command interface as defined in [Link]. The command interface is used by [Link] script to stop the server.
It is also used by ant task to stop and start the server on build events.
getVersion
public String getVersion()
Returns:
server version number
reloadVHostConfig
public void reloadVHostConfig()
Reload the [Link] file. This method can be invoked through the JMX interface to manage vHosts while the server is
running.
stopVHost
public void stopVHost(String vhostName)
Parameters:
vhostName - vHost name
stopVHosts
public void stopVHosts()
startVHost
public void startVHost(String vhostName)
Parameters:
vhostName - vHost name
startVHosts
public void startVHosts()
getIoPerformanceCounter
public IOPerformanceCounter getIoPerformanceCounter()
Returns:
io performance counter
getIoPerformanceCounter
public IOPerformanceCounter getIoPerformanceCounter(int counterIndex)
Get the server performance counter for a specific technology (see IVHost.COUNTER_*)
Parameters:
counterIndex - counter index (see IVHost.COUNTER_*)
Returns:
io performance counter
getConnectionCounter
public ConnectionCounter getConnectionCounter()
Returns:
connection counter
getConnectionCounter
public ConnectionCounterSimple getConnectionCounter(int counterIndex)
Get the server connection counter for a specific technology (see IVHost.COUNTER_*)
Parameters:
counterIndex - counter index (see IVHost.COUNTER_*)
Returns:
connection counter
getDateStarted
public String getDateStarted()
Returns:
date and time the server was started
getTimeRunning
public String getTimeRunning()
Get a formatted String of how long the server has been running.
Returns:
formatted String of how long the server has been running
getTimeRunningSeconds
public double getTimeRunningSeconds()
Returns:
time running in seconds
getCommandInterfaceHostPort
public HostPort getCommandInterfaceHostPort()
Returns:
host port definition of command interface
setCommandInterfaceHostPort
public void setCommandInterfaceHostPort(HostPort commandInterfaceHostPort)
Parameters:
commandInterfaceHostPort - host port definition of command interface
getUserAgents
public String[] getUserAgents()
Get a pipe "|" delimited list of user agents that the server recognizes as RTMPT client.
Returns:
pipe "|" delimited list of user agents that the server recognizes as RTMPT client
setUserAgents
public void setUserAgents(String[] userAgents)
Set a pipe "|" delimited list of user agents that the server recognizes as RTMPT client.
Parameters:
userAgents - pipe "|" delimited list of user agents that the server recognizes as RTMPT client
addServerListener
public void addServerListener(IServerNotify serverListener)
Parameters:
serverListener - server listener
removeServerListener
public void removeServerListener(IServerNotify serverListener)
Parameters:
serverListener - server listener
getAdminInterfaceObjectList
public [Link] getAdminInterfaceObjectList()
Returns:
list of objects exposed through JMX interface
getCoreTransportPoolSize
public int getCoreTransportPoolSize()
Returns:
default core thread pool size
setCoreTransportPoolSize
public void setCoreTransportPoolSize(int corePoolSize)
Parameters:
corePoolSize - core thread pool size
getCoreHandlerPoolSize
public int getCoreHandlerPoolSize()
Returns:
default core thread pool size
setCoreHandlerPoolSize
public void setCoreHandlerPoolSize(int corePoolSize)
Parameters:
corePoolSize - core thread pool size
getThreadPool
public ThreadPool getThreadPool()
Returns:
server handler thread pool
getTransportThreadPool
public ThreadPool getTransportThreadPool()
Get the server transport thread pool. This thread pool is used to read/write data from the transports sockets.
Returns:
server transport thread pool
getHandlerThreadPool
public ThreadPool getHandlerThreadPool()
Get the server handler thread pool. This thread pool is used to process the incoming events.
Returns:
server handler thread pool
getProperties
public WMSProperties getProperties()
Returns:
server level properties collection
getClientIdGenerator
public RandomIdGenerator getClientIdGenerator()
Returns:
client id generator for the server
getDynamicLogProperties
public [Link] getDynamicLogProperties()
Get the dynamic log properties defined at the server level in conf/[Link]
Returns:
dynamic log properties defined at the server level
setDynamicLogProperties
public void setDynamicLogProperties([Link] dynamicLogProperties)
Parameters:
dynamicLogProperties - dynamic log properties defined at the server level
isDynamicLogContextLoaded
public boolean isDynamicLogContextLoaded(String logContext)
Returns true of the given dynamic log context is already loaded. If not loaded it will return false and add it to the a Set of loaded
log context. Log context is [VHost].[Application].[AppInstance]
getVHostList
public VHostList getVHostList()
Returns:
vhostList
suspendAllVHosts
public void suspendAllVHosts()
unbindAllVHosts
public void unbindAllVHosts()
suspendServer
public void suspendServer()
isSuspended
public boolean isSuspended()
stopAdminAgent
public void stopAdminAgent()
getUDPPortManager
public [Link] getUDPPortManager()
Get the UDP port manager which manages the allocation of incoming UDP port binding to be sure there are not port conflicts
Returns:
UDP port manager
getUDPPortSharingManager
public [Link] getUDPPortSharingManager()
Returns:
UDP port sharing manager
readConfig
public String readConfig(String sName)
writeConfig
public boolean writeConfig(String sName,
String data)
getCommandInterfaceCommandHandler
public CommandInterfaceCommandHandler getCommandInterfaceCommandHandler()
Returns:
command interface command handler
isAcceptWOWZConnections
public boolean isAcceptWOWZConnections()
If true, WOWZ connections will use the WOWZ protocol. If false, WOWZ connection attempts will fall back to RTMP.
Returns:
true, WOWZ connections will use the WOWZ protocol
setAcceptWOWZConnections
public void setAcceptWOWZConnections(boolean acceptWOWZConnections)
If true, WOWZ connections will use the WOWZ protocol. If false, WOWZ connection attempts will fall back to RTMP.
Parameters:
acceptWOWZConnections - true, WOWZ connections will use the WOWZ protocol
isInitiateWOWZConnections
public boolean isInitiateWOWZConnections()
If true, NetConnection attempts will use the WOWZ protocol when possible.
Returns:
true, NetConnection attempts will use the WOWZ protocol when possible.
setInitiateWOWZConnections
public void setInitiateWOWZConnections(boolean initiateWOWZConnections)
If true, NetConnection attempts will use the WOWZ protocol when possible.
Parameters:
initiateWOWZConnections - true, NetConnection attempts will use the WOWZ protocol when possible.
getTranscoderLicenseInUse
public long getTranscoderLicenseInUse()
Returns:
total number of transcoder licenses in use.
getTranscoderLicenseTotal
public long getTranscoderLicenseTotal()
Get the total number of transcoder license (-1 means unlimited - subscription)
Returns:
total number of transcoder license
[Link]
Interface IServerNotify
All Subinterfaces:
IServerNotify2
IServerNotify: listener interface. Configured by adding class entries definitions to [Link] order is: [constructor];
onServerConfigLoaded, onServerCreate, onServerInit Shutdown order is: onServerShutdownStart, onServerShutdownComplete, [exit]
Method Summary
void onServerCreate(IServer server)
Triggered when server object is first created.
Methods
onServerCreate
public void onServerCreate(IServer server)
Parameters:
server - server object
onServerInit
public void onServerInit(IServer server)
Triggered when server initialization is complete and all VHosts have been started
Parameters:
server - server object
onServerShutdownStart
public void onServerShutdownStart(IServer server)
Parameters:
server - server object
onServerShutdownComplete
public void onServerShutdownComplete(IServer server)
Parameters:
server - server object
[Link]
Interface IServerNotify2
All Superinterfaces:
IServerNotify
IServerNotify2: listener interface. Configured by adding class entries definitions to [Link] order is: [constructor];
onServerConfigLoaded, onServerCreate, onServerInit Shutdown order is: onServerShutdownStart, onServerShutdownComplete, [exit]
Method Summary
void onServerConfigLoaded(IServer server)
Triggered when server configuration is loaded
Methods
onServerConfigLoaded
public void onServerConfigLoaded(IServer server)
Parameters:
server - server object
[Link]
Class Server
[Link]
|
+-[Link]
All Implemented Interfaces:
IServer
Field Summary
public debugWOWZProtocol
Constructor Summary
public Server()
Method Summary
void addServerListener(IServerNotify serverListener)
void doWatchdog()
[Link].A getAdminAgent()
dminAgent
String getAdminGUID()
[Link] getAdminInterfaceObjectList()
RandomIdGenerator getClientIdGenerator()
int getClientIdGeneratorRecycleDelaySize()
int getClientIdGeneratorRecycleSize()
long getClientIdGeneratorTimeout()
Object getCommandInterface()
CommandInterfaceComma getCommandInterfaceCommandHandler()
ndHandler
HostPort getCommandInterfaceHostPort()
long getCommittedVirtuallMemory()
ConnectionCounter getConnectionCounter()
IConnectionValidator getConnectionValidator()
int getCoreHandlerPoolSize()
int getCoreTransportPoolSize()
int getCryptoPoolActiveCount()
int getCryptoPoolMaxSize()
long getCurrentHeapSize()
String getDateStarted()
[Link] getDynamicLogProperties()
String getGUID()
ThreadPool getHandlerThreadPool()
IOPerformanceCounter getIoPerformanceCounter()
JMXRemoteConfig getJmxRemoteConfig()
ILicenseValidator getLicenseValidator()
long getLiveThreads()
long getMaxHeapSize()
long getPeakThreads()
WMSProperties getProperties()
boolean[] getProtocolUsage()
[Link] getProtocolUsageTracker()
essionTracker
String getServerGUID()
String getSessionGUID()
ThreadPool getThreadPool()
String getTimeRunning()
double getTimeRunningSeconds()
long getTranscoderLicenseInUse()
long getTranscoderLicenseTotal()
ThreadPool getTransportThreadPool()
[Link] getUDPPortManager()
[Link]
[Link] getUDPPortSharingManager()
[Link]
Manager
String[] getUserAgents()
String getVersion()
VHostList getVHostList()
boolean isAcceptWOWZConnections()
boolean isInitiateWOWZConnections()
boolean isSuspended()
void registerLiveStreamTranscoder(ILiveStreamTranscoder
liveStreamTranscoder, byte[] license)
void reloadVHostConfig()
void startCommandInterface()
void startServer()
void startVHosts()
void stopAdminAgent()
void stopCommandInterface()
void stopServer()
void stopVHosts()
void suspendAllVHosts()
void suspendCommandInterface()
void suspendServer()
void unbindAllVHosts()
void unregisterLiveStreamTranscoder(ILiveStreamTranscoder
liveStreamTranscoder, byte[] license)
IOPerformanceCounter updateIOPerformance()
void updateLoggingDuration()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
logNotifier
public static [Link] logNotifier
debugWOWZProtocol
public boolean debugWOWZProtocol
Constructors
Server
public Server()
Methods
getInstance
public static Server getInstance()
getAdminAgent
public [Link] getAdminAgent()
main
public static void main(String[] args)
start
public static void start()
stopServer
public void stopServer()
stopAdminAgent
public void stopAdminAgent()
isVHostRunning
public boolean isVHostRunning(String name)
suspendCommandInterface
public void suspendCommandInterface()
startCommandInterface
public void startCommandInterface()
stopCommandInterface
public void stopCommandInterface()
startServer
public void startServer()
getVersion
public String getVersion()
reloadVHostConfig
public void reloadVHostConfig()
stopVHost
public void stopVHost(String vhostName)
stopVHosts
public void stopVHosts()
decodeStorageDir
public String decodeStorageDir(IVHost vhost,
String storageDir)
startVHost
public void startVHost(String vhostName)
isSuspended
public boolean isSuspended()
suspendServer
public void suspendServer()
suspendAllVHosts
public void suspendAllVHosts()
unbindAllVHosts
public void unbindAllVHosts()
startVHosts
public void startVHosts()
doWatchdog
public void doWatchdog()
updateIOPerformance
public IOPerformanceCounter updateIOPerformance()
getIoPerformanceCounter
public IOPerformanceCounter getIoPerformanceCounter()
getIoPerformanceCounter
public IOPerformanceCounter getIoPerformanceCounter(int counterIndex)
setIoPerformanceCounter
public void setIoPerformanceCounter(IOPerformanceCounter ioPerformanceCounter)
getConnectionCounter
public ConnectionCounter getConnectionCounter()
getConnectionCounter
public ConnectionCounterSimple getConnectionCounter(int counterIndex)
getConnectionValidator
public IConnectionValidator getConnectionValidator()
getLicenseValidator
public ILicenseValidator getLicenseValidator()
onNewVHost
public void onNewVHost(IVHost vhost)
getDateStarted
public String getDateStarted()
getTimeRunning
public String getTimeRunning()
getTimeRunningSeconds
public double getTimeRunningSeconds()
getCommandInterfaceHostPort
public HostPort getCommandInterfaceHostPort()
setCommandInterfaceHostPort
public void setCommandInterfaceHostPort(HostPort commandInterfaceHostPort)
getCommandInterface
public Object getCommandInterface()
setCommandInterface
public void setCommandInterface(Object commandInterface)
getUserAgents
public String[] getUserAgents()
setUserAgents
public void setUserAgents(String[] userAgents)
updateLoggingDuration
public void updateLoggingDuration()
addServerListener
public void addServerListener(IServerNotify serverListener)
removeServerListener
public void removeServerListener(IServerNotify serverListener)
getJmxRemoteConfig
public JMXRemoteConfig getJmxRemoteConfig()
getAdminInterfaceObjectList
public [Link] getAdminInterfaceObjectList()
getCoreTransportPoolSize
public int getCoreTransportPoolSize()
setCoreTransportPoolSize
public void setCoreTransportPoolSize(int corePoolSize)
getCoreHandlerPoolSize
public int getCoreHandlerPoolSize()
setCoreHandlerPoolSize
public void setCoreHandlerPoolSize(int corePoolSize)
getThreadPool
public ThreadPool getThreadPool()
getTransportThreadPool
public ThreadPool getTransportThreadPool()
getHandlerThreadPool
public ThreadPool getHandlerThreadPool()
getProperties
public WMSProperties getProperties()
getClientIdGenerator
public RandomIdGenerator getClientIdGenerator()
getDynamicLogProperties
public [Link] getDynamicLogProperties()
setDynamicLogProperties
public void setDynamicLogProperties([Link] dynamicLogProperties)
isDynamicLogContextLoaded
public boolean isDynamicLogContextLoaded(String logContext)
getVHostList
public VHostList getVHostList()
getSessionGUID
public String getSessionGUID()
getServerGUID
public String getServerGUID()
getGUID
public String getGUID()
getAdminGUID
public String getAdminGUID()
getUDPPortSharingManager
public [Link] getUDPPortSharingManager()
getUDPPortManager
public [Link] getUDPPortManager()
getCryptoPoolMaxSize
public int getCryptoPoolMaxSize()
getCryptoPoolActiveCount
public int getCryptoPoolActiveCount()
getLiveThreads
public long getLiveThreads()
getPeakThreads
public long getPeakThreads()
getCurrentHeapSize
public long getCurrentHeapSize()
getMaxHeapSize
public long getMaxHeapSize()
getCommittedVirtuallMemory
public long getCommittedVirtuallMemory()
readConfig
public String readConfig(String sName)
writeConfig
public boolean writeConfig(String sName,
String data)
readXMLConfig
public static String readXMLConfig(String sPath)
writeXMLConfig
public static boolean writeXMLConfig(String sPath,
String data)
getClientIdGeneratorTimeout
public long getClientIdGeneratorTimeout()
getClientIdGeneratorRecycleSize
public int getClientIdGeneratorRecycleSize()
getClientIdGeneratorRecycleDelaySize
public int getClientIdGeneratorRecycleDelaySize()
getCommandInterfaceCommandHandler
public CommandInterfaceCommandHandler getCommandInterfaceCommandHandler()
getLicenseCounter
public LicenseCounter getLicenseCounter(int index)
getLicenseTracker
public [Link] getLicenseTracker(int index)
decodeS
public static void decodeS(String[] ins)
Deprecated.
decodeSS
public static boolean decodeSS(String in)
Deprecated.
fS
public static String fS(byte[] kiIn,
String p)
Deprecated.
registerLiveStreamTranscoder
public void registerLiveStreamTranscoder(ILiveStreamTranscoder liveStreamTranscoder,
byte[] license)
unregisterLiveStreamTranscoder
public void unregisterLiveStreamTranscoder(ILiveStreamTranscoder liveStreamTranscoder,
byte[] license)
getProtocolUsage
public boolean[] getProtocolUsage()
getProtocolUsageTracker
public [Link] getProtocolUsageTracker()
isAcceptWOWZConnections
public boolean isAcceptWOWZConnections()
setAcceptWOWZConnections
public void setAcceptWOWZConnections(boolean acceptWOWZConnections)
isInitiateWOWZConnections
public boolean isInitiateWOWZConnections()
setInitiateWOWZConnections
public void setInitiateWOWZConnections(boolean initiateWOWZConnections)
getTranscoderLicenseInUse
public long getTranscoderLicenseInUse()
getTranscoderLicenseTotal
public long getTranscoderLicenseTotal()
[Link]
Class [Link]
[Link]
|
+-[Link]
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
[Link]
Interface ISharedObject
All Known Implementing Classes:
SharedObject
Field Summary
public static final FILEEXTENSION
Value: rso
Method Summary
void acquire()
Increment the reference count to this shared object.
void clear()
Clear all properties from a shared object
void close()
Force close this shared object (not implemented)
void flush()
Flush (write to disk) shared object
[Link] getClients()
Get a list of client that are connected to this shared object.
String getName()
Get shared object name
ISharedObjects getParent()
Get the shared object container to which this shared object belongs.
int getRefCount()
Get the current reference (clients) connected to this shared object.
[Link] getSlotNames()
Get a list of slot (property) names
[Link] getSlots()
Get a list of active slots
String getStorageDir()
Get path used to store shared object.
int getVersion()
Get the internval version number.
boolean isPersistent()
Is this shared object being persisted.
void lock()
Lock a shared object for write access
void release()
Descrement the reference count to this shared object.
int size()
Get the number of active slot (properties).
void unlock()
Unlock a shared object for write access
Fields
FILEEXTENSION
public static final [Link] FILEEXTENSION
SHAREDOBJECT_CMD_CONNECT
public static final byte SHAREDOBJECT_CMD_CONNECT
SHAREDOBJECT_CMD_DISCONNECT
public static final byte SHAREDOBJECT_CMD_DISCONNECT
SHAREDOBJECT_CMD_SETVALUE
public static final byte SHAREDOBJECT_CMD_SETVALUE
SHAREDOBJECT_CMD_SEND
public static final byte SHAREDOBJECT_CMD_SEND
SHAREDOBJECT_CMD_ERROR
public static final byte SHAREDOBJECT_CMD_ERROR
SHAREDOBJECT_CMD_DELETE
public static final byte SHAREDOBJECT_CMD_DELETE
SHAREDOBJECT_CMD_CONNECTSUCCESS
public static final byte SHAREDOBJECT_CMD_CONNECTSUCCESS
SHAREDOBJECT_STATUS_CHANGE
public static final byte SHAREDOBJECT_STATUS_CHANGE
SHAREDOBJECT_STATUS_SUCCESS
public static final byte SHAREDOBJECT_STATUS_SUCCESS
SHAREDOBJECT_STATUS_CLEAR
public static final byte SHAREDOBJECT_STATUS_CLEAR
SHAREDOBJECT_STATUS_DELETE
public static final byte SHAREDOBJECT_STATUS_DELETE
Methods
getSlotNames
public [Link] getSlotNames()
Returns:
list of slot (property) names
getSlot
public ISharedObjectSlot getSlot(String name)
Parameters:
name - slot (property) name
Returns:
ISharedObjectSlot interface
putSlot
public void putSlot(String name,
ISharedObjectSlot slot)
Parameters:
name - slot (property) name
slot - new slot
getClients
public [Link] getClients()
Returns:
list of client that are connected to this shared object
isClient
public boolean isClient(IClient client)
Parameters:
client - client
Returns:
true if client is conencted to shared object
addClient
public void addClient(IClient client)
Parameters:
client - client
removeClient
public void removeClient(IClient client)
Parameters:
client - client
size
public int size()
Get the number of active slot (properties). Deleted slots are not counted.
Returns:
number of active slot (properties). Deleted slots are not counted
acquire
public void acquire()
release
public void release()
close
public void close()
getRefCount
public int getRefCount()
Get the current reference (clients) connected to this shared object. Includes unbalanced count of calls to acquire.
Returns:
the current reference (clients) connected to this shared object
isPersistent
public boolean isPersistent()
Returns:
true if shared object is being persisted
setPersistent
public void setPersistent(boolean isPersistent)
Parameters:
isPersistent - true if shared object is being persisted
getVersion
public int getVersion()
Returns:
internval version number
setVersion
public void setVersion(int version)
Parameters:
version - internal version number
flush
public void flush()
deleteSlot
public void deleteSlot(IClient client,
String slotName)
Parameters:
client - client removing slot or null if server side code
slotName - slot (property) name
deleteSlot
public void deleteSlot(String slotName)
Parameters:
slotName - slot (property) name
getProperty
public AMFData getProperty(String slotName)
Parameters:
slotName - slot (property) name
Returns:
slot (property) value as AMFData object
setProperty
public void setProperty(String slotName,
String value)
Set slot (property) value as a string value (will be wrapped in an AMFDataItem object)
Parameters:
slotName - slot (property) name
value - string value
setProperty
public void setProperty(String slotName,
double value)
Set slot (property) value as a double value (will be wrapped in an AMFDataItem object)
Parameters:
slotName - slot (property) name
value - double value
setProperty
public void setProperty(String slotName,
int value)
Set slot (property) value as a int value (will be wrapped in an AMFDataItem object)
Parameters:
slotName - slot (property) name
value - int value
setProperty
public void setProperty(String slotName,
long value)
Set slot (property) value as a long value (will be wrapped in an AMFDataItem object)
Parameters:
slotName - slot (property) name
value - long value
setProperty
public void setProperty(String slotName,
[Link] value)
Set slot (property) value as a date value (will be wrapped in an AMFDataItem object)
Parameters:
slotName - slot (property) name
value - date value
setProperty
public void setProperty(String slotName,
boolean value)
Set slot (property) value as a boolean value (will be wrapped in an AMFDataItem object)
Parameters:
slotName - slot (property) name
value - boolean value
setProperty
public void setProperty(String slotName,
AMFData data)
Parameters:
slotName - slot (property) name
data - slot value as AMFData object. Example: new AMFDataItem((double)1.234) or new AMFDataItem()
disconnect
public void disconnect(IClient client)
Parameters:
client - client to disconnect
getName
public String getName()
Returns:
shared object name
setName
public void setName(String name)
Parameters:
name - shared object name
send
public void send(String handlerName,
Object[] params)
Parameters:
handlerName - handler name
params - variable argument list of parameters
send
public void send(String handlerName)
Parameters:
handlerName - handler name
addSlotListener
public void addSlotListener(ISharedObjectSlotNotify slotListener)
Add a slot listener. Will receive the following events: onSlotSetValue and onSlotDelete
Parameters:
slotListener - slot listener
removeSlotListener
public void removeSlotListener(ISharedObjectSlotNotify slotListener)
Parameters:
slotListener - slot listener
getStorageDir
public String getStorageDir()
Returns:
path used to store shared object
setStorageDir
public void setStorageDir(String storageDir)
Parameters:
storageDir - path used to store shared object
writeSetValueError
public void writeSetValueError(IClient client,
String soName,
boolean isPersistent,
String slotName,
String errorMsg)
Parameters:
client - client removing slot or null if server side code
soName - sharedObject name
isPersistent - is persistent
slotName - slot name
errorMsg - error message
writeDeleteError
public void writeDeleteError(IClient client,
String soName,
boolean isPersistent,
String slotName,
String errorMsg)
Parameters:
client - client removing slot or null if server side code
soName - sharedObject name
isPersistent - is persistent
slotName - slot name
errorMsg - error message
clear
public void clear()
purge
public int purge(int version)
Returns:
number of slots purged
getSlots
public [Link] getSlots()
Returns:
list of active slots
containsProperty
public boolean containsProperty(String slotName)
Parameters:
slotName - slot/property name
Returns:
true is slot/property name exists
containsSlot
public boolean containsSlot(String slotName)
Parameters:
slotName - slot/property name
Returns:
true is slot/property name exists
lock
public void lock()
unlock
public void unlock()
getParent
public ISharedObjects getParent()
Get the shared object container to which this shared object belongs.
Returns:
shared object container
[Link]
Interface ISharedObjectNotify
Method Summary
void onSharedObjectConnect(ISharedObject sharedObject, IClient client)
Triggered when client connects to sharedObject
Methods
onSharedObjectCreate
public void onSharedObjectCreate(ISharedObject sharedObject)
Parameters:
sharedObject - sharedObject
onSharedObjectDestroy
public void onSharedObjectDestroy(ISharedObject sharedObject)
Parameters:
sharedObject - sharedObject
onSharedObjectConnect
public void onSharedObjectConnect(ISharedObject sharedObject,
IClient client)
Parameters:
sharedObject - sharedObject
client - client
onSharedObjectDisconnect
public void onSharedObjectDisconnect(ISharedObject sharedObject,
IClient client)
Parameters:
sharedObject - sharedObject
client - client
[Link]
Interface ISharedObjects
ISharedObjects: public interface to SharedObjects. Represent the list of shared objects managed by IApplicationInstance.
Method Summary
void addSharedObjectListener(ISharedObjectNotify sharedObjectListener)
Add a shared object listener.
void flush()
Flush all persistent shared objects to disk.
[Link] getObjectNames()
Get a list of shared object names.
String getStorageDir()
Get the storage directory for all shared objects in list.
boolean isPersistent()
Are shared objects in list persistent.
void load()
Load persistent shared objects from file system.
int size()
Get number of shared objects.
Methods
size
public int size()
Returns:
number of shared objects
get
public ISharedObject get(String name)
Get shared object by name. If the shared object does not exists null will be returned. (see [Link])
Parameters:
name - shared object name
Returns:
shared object
getOrCreate
public ISharedObject getOrCreate(String name)
Get shared object by name if it does not exist create a new shared object with the given name.
Parameters:
name - shared object name
Returns:
shared object
getObjectNames
public [Link] getObjectNames()
Returns:
list of shared object names
put
public void put(String objectName,
ISharedObject sharedObject)
Parameters:
objectName - shared object name
sharedObject - shared object
remove
public void remove(String objectName)
Parameters:
objectName - shared object name
exists
public boolean exists(String objectName)
Parameters:
objectName - shared object name
Returns:
true if shared object in list
exists
public boolean exists(ISharedObject sharedObject)
Parameters:
sharedObject - shared object
Returns:
true if shared object in list
isPersistent
public boolean isPersistent()
Returns:
true is shared objects in list are persistent
setPersistent
public void setPersistent(boolean isPersistent)
Parameters:
isPersistent - true is shared objects in list are persistent
removeClient
public void removeClient(IClient client)
Remove a client from any shared object that it is connected to in this list.
Parameters:
client - client
flush
public void flush()
disconnect
public void disconnect(IClient client)
Parameters:
client - client
addSharedObjectListener
public void addSharedObjectListener(ISharedObjectNotify sharedObjectListener)
Add a shared object listener. The listener will receive the following events: onSharedObjectCreate, onSharedObjectDestroy,
onSharedObjectConnect, onSharedObjectDisconnect.
Parameters:
sharedObjectListener
removeSharedObjectListener
public void removeSharedObjectListener(ISharedObjectNotify sharedObjectListener)
Parameters:
sharedObjectListener
getStorageDir
public String getStorageDir()
Returns:
storage dir
setStorageDir
public void setStorageDir(String storageDir)
Parameters:
storageDir
load
public void load()
[Link]
Interface ISharedObjectSlot
Method Summary
AMFData getData()
Get slot data as AMFData object.
int getLastClientId()
Get client id of client that performaned last operation on slot.
int getLastOperation()
Get last slot (property) operation.
String getName()
Get slot (property) name.
int getSlotVersion()
Get slot version
int getSoVersion()
Get parent shared object version
void incSlotVersion()
Increment slot version by 1.
Methods
init
public void init(String name,
AMFData data,
int slotVersion)
Parameters:
name - slot (property) name
data - data
slotVersion - version
getData
public AMFData getData()
Returns:
slot data as AMFData object
setData
public void setData(byte[] data,
AMFDataContextDeserialize context)
Parameters:
data - data as byte[]
context - deserialization context
setData
public void setData(byte[] data)
Parameters:
data - data as byte[]
setData
public void setData(AMFData data)
Parameters:
data - data as AMFData object
getName
public String getName()
Returns:
slot (property) name
setName
public void setName(String name)
Parameters:
name - slot (property) name
getSlotVersion
public int getSlotVersion()
Returns:
slot version
setSlotVersion
public void setSlotVersion(int slotVersion)
Parameters:
slotVersion - slot version
incSlotVersion
public void incSlotVersion()
getSoVersion
public int getSoVersion()
Returns:
parent shared object version
setSoVersion
public void setSoVersion(int soVersion)
Parameters:
soVersion - parent shared object version
getLastOperation
public int getLastOperation()
Returns:
last slot (property) operation (ISharedObject.SHAREDOBJECT_CMD_*)
setLastOperation
public void setLastOperation(int lastOperation)
Parameters:
lastOperation - last slot (property) operation (ISharedObject.SHAREDOBJECT_CMD_*)
getLastClientId
public int getLastClientId()
Returns:
client id of client that performaned last operation on slot
setLastClientId
public void setLastClientId(int lastClientId)
Parameters:
lastClientId - client id of client that performaned last operation on slot
[Link]
Interface ISharedObjectSlotNotify
Method Summary
void onSlotDelete(ISharedObject sharedObject, ISharedObjectSlot slot)
Triggered when sharedObject slot value deleted
Methods
onSlotSetValue
public void onSlotSetValue(ISharedObject sharedObject,
ISharedObjectSlot slot)
Parameters:
sharedObject
slot
onSlotDelete
public void onSlotDelete(ISharedObject sharedObject,
ISharedObjectSlot slot)
Parameters:
sharedObject
slot
[Link]
Class SharedObject
[Link]
|
+-[Link]
All Implemented Interfaces:
ISharedObject
Field Summary
public static final READACCESS
Value: 0
Value: 1
Constructor Summary
public SharedObject(String name)
Create new shared object
Method Summary
void acquire()
void clear()
void close()
void flush()
[Link] getClients()
String getName()
ISharedObjects getParent()
int getRefCount()
[Link] getSlotNames()
[Link] getSlots()
String getStorageDir()
int getVersion()
boolean isPersistent()
void load()
void lock()
void release()
int size()
void unlock()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
READACCESS
public static final int READACCESS
Constant value: 0
WRITEACCESS
public static final int WRITEACCESS
Constant value: 1
Constructors
SharedObject
public SharedObject(String name)
Parameters:
name - shared object name
SharedObject
public SharedObject(String name,
boolean isPersistent,
String storageDir)
Parameters:
name - shared object name
isPersistent - is persistent
storageDir - storage directory for persistent shared object
Methods
size
public int size()
purge
public int purge(int version)
clear
public void clear()
getSlots
public [Link] getSlots()
getSlotNames
public [Link] getSlotNames()
getSlot
public ISharedObjectSlot getSlot(String name)
putSlot
public void putSlot(String name,
ISharedObjectSlot slot)
getClients
public [Link] getClients()
isClient
public boolean isClient(IClient client)
addClient
public void addClient(IClient client)
removeClient
public void removeClient(IClient client)
acquire
public void acquire()
release
public void release()
getRefCount
public int getRefCount()
isPersistent
public boolean isPersistent()
setPersistent
public void setPersistent(boolean isPersistent)
getVersion
public int getVersion()
setVersion
public void setVersion(int version)
deleteSlot
public void deleteSlot(String slotName)
containsProperty
public boolean containsProperty(String slotName)
containsSlot
public boolean containsSlot(String slotName)
deleteSlot
public void deleteSlot(IClient client,
String slotName)
getProperty
public AMFData getProperty(String slotName)
setProperty
public void setProperty(String slotName,
boolean value)
setProperty
public void setProperty(String slotName,
[Link] value)
setProperty
public void setProperty(String slotName,
double value)
setProperty
public void setProperty(String slotName,
long value)
setProperty
public void setProperty(String slotName,
int value)
setProperty
public void setProperty(String slotName,
String value)
setProperty
public void setProperty(String slotName,
AMFData data)
setSlotValue
public void setSlotValue(IClient client,
String slotName,
AMFData amfData)
setSlotValue
public void setSlotValue(IClient client,
String slotName,
byte[] byteData)
setSlotValue
public void setSlotValue(IClient client,
String slotName,
byte[] byteData,
AMFDataContextDeserialize context)
setSlotValue
public void setSlotValue(IClient client,
String slotName,
byte[] byteData,
AMFData amfData)
setSlotValue
public void setSlotValue(IClient client,
String slotName,
byte[] byteData,
AMFData amfData,
AMFDataContextDeserialize context)
writeError
public static void writeError(IClient client,
String soName,
boolean isPersistent,
String errorMsg,
boolean isConnect)
writeSetValueError
public void writeSetValueError(IClient client,
String soName,
boolean isPersistent,
String slotName,
String errorMsg)
writeDeleteError
public void writeDeleteError(IClient client,
String soName,
boolean isPersistent,
String slotName,
String errorMsg)
getClientUpdates
public void getClientUpdates(IClient client)
disconnect
public void disconnect(IClient client)
getName
public String getName()
setName
public void setName(String name)
send
public void send(String handlerName,
Object[] params)
send
public void send(String handlerName)
sendInternal
public void sendInternal(String handlerName,
AMFData[] params)
sendInternal
public void sendInternal(IClient client,
String handlerName,
byte[] msgBytes)
sendInternal
public void sendInternal(IClient client,
String handlerName,
byte[] msgBytes,
AMFDataContextDeserialize context)
addSlotListener
public void addSlotListener(ISharedObjectSlotNotify slotListener)
removeSlotListener
public void removeSlotListener(ISharedObjectSlotNotify slotListener)
notifySlotSetValue
public void notifySlotSetValue(ISharedObjectSlot slot)
notifySlotDelete
public void notifySlotDelete(ISharedObjectSlot slot)
getStorageDir
public String getStorageDir()
setStorageDir
public void setStorageDir(String storageDir)
flush
public void flush()
load
public void load()
close
public void close()
lock
public void lock()
unlock
public void unlock()
setParent
public void setParent(ISharedObjects parent)
getParent
public ISharedObjects getParent()
getAccess
public static boolean[] getAccess(IClient client,
String soName)
[Link]
Class FastPlaySettings
[Link]
|
+-[Link]
Constructor Summary
public FastPlaySettings()
Create empty object
Method Summary
int getDirection()
Get direction (1 forward, -1 reverse)
int getFps()
Get frames per second
double getMultiplier()
Get speed of fast play
long getStartTC()
Get the timecode (milliseconds) where this fast play started
long getStartTCOffset()
Get the timecode (milliseconds) where this fast play started (not sure why we have both values)
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
FastPlaySettings
public FastPlaySettings()
FastPlaySettings
public FastPlaySettings(double multiplier,
int fps,
int direction)
Create object
Parameters:
multiplier - speed
fps - frames per second
direction - direction (1 forward, -1 reverse)
Methods
getFps
public int getFps()
Returns:
frames per second
setFps
public void setFps(int fps)
Parameters:
fps - frames per second
getMultiplier
public double getMultiplier()
Returns:
speed of fast play
setMultiplier
public void setMultiplier(double multiplier)
Parameters:
multiplier - speed of fast play
getDirection
public int getDirection()
Returns:
direction (1 forward, -1 reverse)
setDirection
public void setDirection(int direction)
Parameters:
direction - direction (1 forward, -1 reverse)
getStartTC
public long getStartTC()
Returns:
timecode of start of fast play (milliseconds)
setStartTC
public void setStartTC(long startTC)
Parameters:
startTC - timecode of start of fast play (milliseconds)
getStartTCOffset
public long getStartTCOffset()
Get the timecode (milliseconds) where this fast play started (not sure why we have both values)
Returns:
timecode of start of fast play (milliseconds)
setStartTCOffset
public void setStartTCOffset(long startTCOffset)
Set the timecode (milliseconds) where this fast play started (not sure why we have both values)
Parameters:
startTCOffset - timecode of start of fast play (milliseconds)
[Link]
Interface IMediaIndexItem
Field Summary
public static final MISSING
media file is missing
Value: **missing**
Method Summary
IMediaIndexItem clone()
Make a clone copy of media index
String getChecksum()
Get checksum for media index
int getExtent()
Get the duration (milliseconds) of media index
long getLastAccessed()
Get last time media index was accessed (milliseconds)
boolean isHitEnd()
Is media index complete
void touch()
Set last time accessed to current time
Fields
MISSING
public static final [Link] MISSING
Methods
getExtent
public int getExtent()
Returns:
duration (milliseconds)
getChecksum
public String getChecksum()
Returns:
checksum
setChecksum
public void setChecksum(String checksum)
Parameters:
checksum
setChecksum
public void setChecksum(IRandomAccessReader file)
Parameters:
file
clone
public IMediaIndexItem clone()
Returns:
shallow copy of media index
getLastAccessed
public long getLastAccessed()
Returns:
time media index was accessed (milliseconds)
setLastAccessed
public void setLastAccessed(long time)
Parameters:
time - media index was accessed (milliseconds)
isHitEnd
public boolean isHitEnd()
Returns:
true if media index is complete
touch
public void touch()
[Link]
Interface IMediaListProvider
Method Summary
MediaList resolveMediaList(IMediaListReader mediaListReader, IMediaStream stream,
String streamName)
Called to resolve a amlst:streamname to a media list
Methods
resolveMediaList
public MediaList resolveMediaList(IMediaListReader mediaListReader,
IMediaStream stream,
String streamName)
Parameters:
mediaListReader - mediaListReader
stream - media stream
streamName - stream name
Returns:
media list
[Link]
Interface IMediaListReader
Method Summary
void close()
close file
IHTTPStreamerSession getHTTPStreamerSession()
Get the HTTPStreamerSession associated with this media list reader
String getMediaExtension()
Get media extension
MediaList getMediaList()
Get the MediaList object
String getPath()
Get abstract path to the media item
boolean isOpen()
is file open
Methods
init
public void init(IApplicationInstance appInstance,
IMediaStream stream,
String mediaReadType,
String basePath,
String mediaName,
IHTTPStreamerSession httpStreamerSession)
Initialize mediaReader
Parameters:
stream - parent stream
mediaReadType - media reader type id. Example: flv
basePath - Base path for application instance
mediaName - name of the media item
setMediaReaderItem
public void setMediaReaderItem(MediaReaderItem mediaReaderItem)
Parameters:
mediaReaderItem
open
public void open(String basePath,
String name)
Parameters:
basePath - base path to file
name - file name without extension
close
public void close()
close file
isOpen
public boolean isOpen()
is file open
Returns:
is file open
setProperties
public void setProperties(WMSProperties properties)
Parameters:
properties - properties
getPath
public String getPath()
Returns:
getMediaExtension
public String getMediaExtension()
Returns:
media extension
getMediaList
public MediaList getMediaList()
Returns:
MediaList object
getHTTPStreamerSession
public IHTTPStreamerSession getHTTPStreamerSession()
Returns:
HTTPStreamerSession
setHTTPStreamerSession
public void setHTTPStreamerSession(IHTTPStreamerSession httpStreamerSession)
Parameters:
httpStreamerSession - HTTPStreamerSession
[Link]
Interface IMediaReader
IMediaReader: generic media reader interface. All media types implement this interface to interact with PlaylistPlayer.
Field Summary
public static final CONTENTTYPE_MEDIA
Value: 1
Value: 2
Value: [Link]
Value: [Link]
Value: 5
Value: 3
Value: 4
Value: 2
Value: 1
Value: 3
Value: 4
Value: 1
Method Summary
void close()
close file
long getDuration()
Get duration or time (milliseconds) of the media file
long getLength()
Get the stream length in bytes
String getMediaExtension()
Get media extension
[Link] getMetadata()
Get a collection of metadata packets in ByteBuffers for this file.
String getPath()
Get abstract path to the media item
IMediaReaderStreamPos getStreamPosition()
ition
Get a reference to the current stream position
boolean isOpen()
is file open
void rewind()
rewind file to start
void startPlayback()
Called each time the player being playback (before the buffer it filled)
Fields
CONTENTTYPE_MEDIA
public static final int CONTENTTYPE_MEDIA
Constant value: 1
CONTENTTYPE_MEDIALIST
public static final int CONTENTTYPE_MEDIALIST
Constant value: 2
DEFAULT_RANDOMACCESSREADER
public static final [Link] DEFAULT_RANDOMACCESSREADER
DEFAULT_RANDOMACCESSREADEROPTIMIZER
public static final [Link] DEFAULT_RANDOMACCESSREADEROPTIMIZER
SEEKTARGET_VIDEOKEYFRAME
public static final int SEEKTARGET_VIDEOKEYFRAME
Constant value: 1
SEEKTARGET_AUDIO
public static final int SEEKTARGET_AUDIO
Constant value: 3
SEEKTARGET_ENHANCED
public static final int SEEKTARGET_ENHANCED
Constant value: 4
PLAYEVENT_STARTPLAYBACK
public static final int PLAYEVENT_STARTPLAYBACK
Constant value: 1
PLAYEVENT_BEFOREMETADATA
public static final int PLAYEVENT_BEFOREMETADATA
Constant value: 2
PLAYEVENT_AFTERMETADATA
public static final int PLAYEVENT_AFTERMETADATA
Constant value: 3
PLAYEVENT_BEFOREBUFFERFILL
public static final int PLAYEVENT_BEFOREBUFFERFILL
Constant value: 4
PLAYEVENT_AFTERBUFFERFILL
public static final int PLAYEVENT_AFTERBUFFERFILL
Constant value: 5
SEEK_KEYUP
public static final int SEEK_KEYUP
SEEK_KEYDOWN
public static final int SEEK_KEYDOWN
SEEK_KEYCLOSE
public static final int SEEK_KEYCLOSE
SEEK_EXACT
public static final int SEEK_EXACT
Methods
init
public void init(IApplicationInstance appInstance,
IMediaStream stream,
String mediaReadType,
String basePath,
String mediaName)
Initialize mediaReader
Parameters:
stream - parent stream
mediaReadType - media reader type id. Example: flv
basePath - Base path for application instance
mediaName - name of the media item
setMediaReaderItem
public void setMediaReaderItem(MediaReaderItem mediaReaderItem)
Parameters:
mediaReaderItem
open
public void open(String basePath,
String name)
Parameters:
basePath - base path to file
name - file name without extension
getMetadata
public [Link] getMetadata()
Get a collection of metadata packets in ByteBuffers for this file. You can use 'new AMFDataList(data)' to convert to AMF
objects.
Returns:
collection of metadata packets in ByteBuffers
rewind
public void rewind()
close
public void close()
close file
isOpen
public boolean isOpen()
is file open
Returns:
is file open
seek
public PlaylistSeekResult seek(long timecode,
int seektype)
Parameters:
timecode - timecode (milliseconds) to seek to
seektype - seek type IMediaReader.SEEK_*
Returns:
detailed results object of seek or null if failure
writePackets
public int writePackets(IMediaStream stream,
[Link] out,
AMFObj wmsObjAudio,
AMFObj wmsObjVideo,
AMFObj wmsObjData,
PlaylistCursor flvCursor,
PlaylistWriteControl control,
PlaylistReaderWriteResults results,
long[] sizes,
FastPlaySettings fastPlaySettings,
boolean isForceTCZero)
Parameters:
stream - parent mediaStream
out - output stream
wmsObjAudio - audio channel amfObj
wmsObjVideo - video channel amfObj
wmsObjData - data channel amfObj
flvCursor - current cursor that keeps track of timecodes and flags indicating position in media file
control - write control flags. Mainly used to control when it should stop writing
results - write results returned from this routine
sizes - array of values that keep track of number of bytes written and number of packets for each data type (audio, video,
data). See IMediaStreamPlay.PLAYSIZES_*
fastPlaySettings - current fastPlay settings for the stream
isForceTCZero - are we forcing all timecodes to zero
Returns:
number of bytes written
writePackets
public int writePackets([Link] packetList,
PlaylistCursor flvCursor,
PlaylistWriteControl control,
PlaylistReaderWriteResults results,
long[] sizes,
FastPlaySettings fastPlaySettings)
Parameters:
packetList - list to which to write packets
flvCursor - current cursor that keeps track of timecodes and flags indicating position in media file
control - write control flags. Mainly used to control when it should stop writing
results - write results returned from this routine
sizes - array of values that keep track of number of bytes written and number of packets for each data type (audio, video,
data). See IMediaStreamPlay.PLAYSIZES_*
fastPlaySettings - current fastPlay settings for the stream
Returns:
number of bytes written
writeGeneratedKeyFrame
public int writeGeneratedKeyFrame(IMediaStream stream,
[Link] out,
AMFObj wmsObjAudio,
AMFObj wmsObjVideo,
AMFObj wmsObjData,
PlaylistCursor flvCursor,
PlaylistWriteControl control,
PlaylistReaderWriteResults results,
long[] sizes,
FastPlaySettings fastPlaySettings,
boolean isForceTCZero)
From current location in file generate a key frame (enhanced seek) and write it to out
Parameters:
stream - parent mediaStream
out - output stream
wmsObjAudio - audio channel amfObj
wmsObjVideo - video channel amfObj
wmsObjData - data channel amfObj
flvCursor - current cursor that keeps track of timecodes and flags indicating position in media file
control - write control flags. Mainly used to control when it should stop writing
results - write results returned from this routine
sizes - array of values that keep track of number of bytes written and number of packets for each data type (audio, video,
data). See IMediaStreamPlay.PLAYSIZES_*
fastPlaySettings - current fastPlay settings for the stream
isForceTCZero - are we forcing all timecodes to zero
Returns:
number of bytes written
sendZeroLengthPacket
public int sendZeroLengthPacket(int type,
int timecode,
boolean isAbsolute,
IMediaStream stream,
[Link] out,
AMFObj wmsObj,
PlaylistCursor flvCursor,
PlaylistWriteControl control,
PlaylistReaderWriteResults results,
long[] sizes,
boolean isForceTCZero)
startPlayback
public void startPlayback()
Called each time the player being playback (before the buffer it filled)
getDuration
public long getDuration()
Returns:
getLength
public long getLength()
Returns:
stream length in bytes
getPath
public String getPath()
Returns:
abstract path to the media item
getMediaExtension
public String getMediaExtension()
Returns:
media extension
getStreamPosition
public IMediaReaderStreamPosition getStreamPosition()
Returns:
stream position
setStreamPosition
public void setStreamPosition(IMediaReaderStreamPosition pos)
Parameters:
pos - stream position
setProperties
public void setProperties(WMSProperties properties)
Parameters:
properties - properties
[Link]
Interface IMediaReaderActionNotify
Method Summary
void onMediaReaderClose(IMediaReader mediaReader, IMediaStream stream)
Called when media reader is closed
Methods
onMediaReaderCreate
public void onMediaReaderCreate(IMediaReader mediaReader)
Parameters:
mediaReader - media reader
onMediaReaderInit
public void onMediaReaderInit(IMediaReader mediaReader,
IMediaStream stream)
Parameters:
mediaReader - media reader
stream - stream
onMediaReaderOpen
public void onMediaReaderOpen(IMediaReader mediaReader,
IMediaStream stream)
Parameters:
mediaReader - media reader
stream - stream
onMediaReaderExtractMetaData
public void onMediaReaderExtractMetaData(IMediaReader mediaReader,
IMediaStream stream)
Parameters:
mediaReader - media reader
stream - stream
onMediaReaderClose
public void onMediaReaderClose(IMediaReader mediaReader,
IMediaStream stream)
Parameters:
mediaReader - media reader
stream - stream
[Link]
Interface IMediaReaderEncInfo
Method Summary
MediaReaderEncInfo getEncInfo()
Methods
getEncInfo
public MediaReaderEncInfo getEncInfo()
[Link]
Interface IMediaReaderStreamPosition
Method Summary
boolean isValid()
Methods
isValid
public boolean isValid()
[Link]
Interface IMediaStream
IMediaStream: public, generic interface to mediaStream object. Upon creation of a new mediaStream, the client connection's default
streamType value will be used to dynamically create a mediaStream object based on the definitions available in the
[Link]. All mediaStream implementations implement this interface.
Field Summary
public static final AUDIOSAMPLEACCESS
Value: 2
Value: 0
Value: 3
Value: 1
Method Summary
void addAudioCodecConfigPacket(long timecode, AMFPacket packet)
Set audio codec configuration packet (needed for H.264/AAC playback)
void clear()
Delete media file pointed to by this mediaStream (be careful)
void clearFastPlaySettings()
Clear fastPlay settings
void clearLoggingValues()
void close()
Close mediaStream
void flush()
Force publishing packets to be flushed from the input buffers to the output buffers
int getAudioMissing()
Get number of audio bytes missing from current audio packet
int getAudioSize()
Get the size of the current audio packet that is being streamed from the client to the server
long getAudioTC()
Get last absolute audio timecode (milliseconds) sent to mediaStream
int getBufferTime()
Get buffer time for mediaStream (milliseconds)
String getCacheName()
not used
IClient getClient()
Get parent client connection
int getClientId()
Get parent client connection (id)
String getContextStr()
Returns the stream context string in the form [application]/[appInstance]/[streamName].
int getDataMissing()
Get number of data bytes missing from current audio packet
int getDataSize()
Get the size of the current data packet that is being streamed from the client to the server
long getDataTC()
Get last absolute data timecode (milliseconds) sent to mediaStream
int getDataType()
Get the data packet type: (IVHost.CONTENTTYPE_DATA0 or
IVHost.CONTENTTYPE_DATA3)
String getDvrRecorder()
Get the DVR Recorder for this stream
String getDvrRecorderList()
Get the comma separated list of DVR Recorder names being used by this stream (see
conf/[Link])
String getDvrRepeater()
Get the DVR repeater name for this stream
ElapsedTimer getElapsedTime()
Get the interface to the elapse timer
String getExt()
Get media file extension
FastPlaySettings getFastPlaySettings()
Get current fastPlay settings
int getHeaderSize()
Get the last packet header size (debugging)
IHTTPStreamerSession getHTTPStreamerSession()
Get the HTTPStreamer session associated with this stream
AMFPacket getLastKeyFrame()
Get most recent video key frame
AMFPacket getLastPacket()
Get most recent live packet
String getLiveStreamPacketizer()
Get the live stream packetizer that this stream is using
String getLiveStreamPacketizerList()
Get the comma separated list of LiveStreamPacketizers names being used by this stream (see
conf/[Link])
String getLiveStreamRepeater()
Get the live stream repeater name for the stream
String getLiveStreamTranscoderList()
Get the comma separated list of LiveStreamTranscoders names being used by this stream (see
conf/[Link])
[Link] getLiveStreamTranscoders()
Get the list of transcoders for this stream.
long getMaxTimecode()
Get the timecode of the latest received packet
IOPerformanceCounter getMediaIOPerformance()
Get IO performance counter
IMediaStreamMetaDataP getMetaDataProvider()
rovider
Get the metaData provider
String getName()
Get stream name
[Link] getNetConnection()
[Link]
Get parent netConnection (future server to server communication)
IMediaStreamPlay getPlayer()
Get underlying player (IMediaStreamPlay) object
[Link] getPlayPackets()
Get all available live packets
WMSProperties getProperties()
Get mediaStream properties
int getPublishAudioCodecId()
Get the codec id of the most recently published audio packet
int getPublishVideoCodecId()
Get the codec id of the most recently published video packet
String getQueryStr()
Get play/publish name query string.
int getReceiveVideoFPS()
Set frame per seconds for video (not currently implemented)
AMFObj getRespAMFAudioObj()
Get audio response channel object
AMFObj getRespAMFDataObj()
Get data response channel object
AMFObj getRespAMFVideoObj()
Get video response channel object
RTPStream getRTPStream()
Get the RTP based stream this stream is associated with
int getSrc()
Get the stream id
[Link] getStreamFileForRead()
Get the File object to read from a stream (get stream name, ext and query from stream object)
[Link] getStreamFileForWrite()
Get the File object to write to a stream (get stream name, ext and query from stream object)
MediaStreamMap getStreams()
Get parent mediaStreamMap (owned by applicationInstance)
String getStreamType()
Get mediaStream streamType
String getUniqueStreamIdStr()
Get a string that uniquely identifies this stream
int getVideoMissing()
Get number of video bytes missing from current audio packet
int getVideoSize()
Get the size of the current video packet that is being streamed from the client to the server
long getVideoTC()
Get last absolute video timecode (milliseconds) sent to mediaStream
boolean idle()
Allow the mediaStream to perform idle work (not currently in use)
boolean isAppend()
Is append to media file (only valid if isRecord)
boolean isClustered()
not used
boolean isMediaCasterPlay()
Is MediaCaster play enabled (if true, will trigger MediaCaster startup)
boolean isMergeOnMetadata()
If true, merge incoming onMetadata events with the current onMetdata event data.
boolean isOpen()
Is mediaStream open
boolean isPlay()
Is the stream a play stream (vs a publish stream)
boolean isPlaying()
Is mediaStream playing (or paused - false)
boolean isReceiveAudio()
Is client currently receiving audio.
boolean isReceiveVideo()
Is client currently receiving video.
boolean isRecord()
Is this stream being recorded to a file
boolean isSendPlayStopLogEvent()
Get need to send a log event for stop
boolean isSendPublishStopLogEvent()
Get need to send a log event for publishing
boolean isSendRecordStopLogEvent()
Get need to send a log event for recording
boolean isTranscodeResult()
Is this stream the result of a transcode operation.
boolean isVideoH264SEIListenerEmpty()
Is H.264 SEI listener list empty.
double length()
Get length/duration (seconds) of media file pointed to by mediaStream
void notifyActionOnCodecInfoAudio([Link]
dio codecInfoAudio)
Notify client listeners of audio codec information change
void notifyActionOnCodecInfoVideo([Link]
deo codecInfoVideo)
Notify client listeners of video codec information change
void notifyActionStop()
Notify client listeners of stop action
void packetComplete()
Invoked by requestAdapter when at the end of a set of packets
void publish()
Publish mediaStream
void setNetConnection([Link]
netConnection)
Set parent netConnection (future server to server communication)
void shutdown()
shutdown or close this mediaStream
long size()
Get size (bytes) of media file pointed to by mediaStream
void startAudioPacket()
Called when an audio packet is first being populated with data
void startDataPacket()
Called when a data packet is first being populated with data
void startPublishing()
Start publishing live stream
void startVideoPacket()
Called when a video packet is first being populated with data
void stopPublishing()
Stop publishing live stream
void trim()
Trim mediaStream.
void updateLoggingDuration()
Update [Link] with mediaStream logging information
void updateLoggingValues()
Update [Link] with mediaStream logging information
Fields
READACCESS
public static final int READACCESS
Constant value: 0
WRITEACCESS
public static final int WRITEACCESS
Constant value: 1
AUDIOSAMPLEACCESS
public static final int AUDIOSAMPLEACCESS
Constant value: 2
VIDEOSAMPLEACCESS
public static final int VIDEOSAMPLEACCESS
Constant value: 3
Methods
init
public void init(MediaStreamMap parent,
int src,
WMSProperties properties)
Initialize the mediaStream object after creation. Creation and initialization are separated due to the order of the creation events.
Parameters:
parent - parent mediaStreamMap of the parent applicationInstance
src - stream id for this stream
properties - initial properties as defined in [Link]
getBufferTime
public int getBufferTime()
Returns:
buffer time (millseconds)
setBufferTime
public void setBufferTime(int bufferTime)
Parameters:
bufferTime - buffer time (millseconds)
isPlaying
public boolean isPlaying()
Returns:
is playing
setIsPlaying
public void setIsPlaying(boolean isPlaying)
Parameters:
isPlaying
getAudioSize
public int getAudioSize()
Get the size of the current audio packet that is being streamed from the client to the server
Returns:
size
getVideoSize
public int getVideoSize()
Get the size of the current video packet that is being streamed from the client to the server
Returns:
size
getDataSize
public int getDataSize()
Get the size of the current data packet that is being streamed from the client to the server
Returns:
size
setAudioSize
public void setAudioSize(int audioSize)
Set the size of the current audio packet that is being streamed from the client to the server
Parameters:
audioSize
setVideoSize
public void setVideoSize(int videoSize)
Set the size of the current video packet that is being streamed from the client to the server
Parameters:
videoSize
setDataSize
public void setDataSize(int dataSize)
Set the size of the current data packet that is being streamed from the client to the server
Parameters:
dataSize
getSrc
public int getSrc()
Returns:
stream id
setSrc
public void setSrc(int src)
Set stream id
Parameters:
src - stream id
getName
public String getName()
Returns:
stream name
setName
public void setName(String name)
Parameters:
name - stream name
setName
public void setName(String name,
String ext)
Set stream name and extension. Example: if play command sent flv:test name=test, ext=flv.
Parameters:
name - stream name
ext - stream extension
setName
public void setName(String name,
String oldName,
String ext,
String queryStr,
double playStart,
double playLen,
int playTransition)
Set stream name, extension, query string, play start, play len and play reset from play command.
Parameters:
name - stream name
oldName - old stream name
ext - stream extension
queryStr - query string
playStart - play start
playLen - play len
playTransition - play transition (see MediaBase.PLAYTRANSITION_*)
switchName
public void switchName(String name,
String oldName,
String ext,
String queryStr,
double playStart,
double playLen,
int playTransition)
Parameters:
name - stream name
oldName - old stream name
ext - stream extension
queryStr - query string
playStart - play start
playLen - play len
playTransition - play transition (see MediaBase.PLAYTRANSITION_*)
stopName
public void stopName(String name,
String oldName,
String ext,
String queryStr,
double playStart,
double playLen,
int playTransition)
Parameters:
name - stream name
oldName - old stream name
ext - stream extension
queryStr - query string
playStart - play start
playLen - play len
playTransition - play transition (see MediaBase.PLAYTRANSITION_*)
shutdown
public void shutdown()
getAudioTC
public long getAudioTC()
Returns:
last absolute audio timecode (milliseconds)
setAudioTC
public void setAudioTC(long audioTC,
boolean isAbsolute)
Parameters:
audioTC - timecode (millseconds)
isAbsolute - is the timecode value relative to last timecode or absolute
setAudioTC
public void setAudioTC(long audioTC)
Parameters:
audioTC - timecode (millseconds)
getVideoTC
public long getVideoTC()
Returns:
last absolute video timecode (milliseconds)
setVideoTC
public void setVideoTC(long videoTC,
boolean isAbsolute)
Parameters:
videoTC - timecode (millseconds)
isAbsolute - is the timecode value relative to last timecode or absolute
setVideoTC
public void setVideoTC(long videoTC)
Parameters:
videoTC - timecode (millseconds)
getDataTC
public long getDataTC()
Returns:
last absolute data timecode (milliseconds)
setDataTC
public void setDataTC(long dataTC,
boolean isAbsolute)
Parameters:
dataTC - timecode (millseconds)
isAbsolute - is the timecode value relative to last timecode or absolute
getDataType
public int getDataType()
Returns:
data packet type
setDataType
public void setDataType(int dataType)
Parameters:
dataType - data packet type
setDataTC
public void setDataTC(long dataTC)
Parameters:
dataTC - timecode (millseconds)
isRecord
public boolean isRecord()
Returns:
is stream being recorded
setRecord
public void setRecord(boolean isRecord)
Parameters:
isRecord
isPlay
public boolean isPlay()
Returns:
is play stream (has nothing to do with if its playing just that its play vs publish)
setPlay
public void setPlay(boolean isPlay)
Parameters:
isPlay - is play stream (has nothing to do with if its playing just that its play vs publish)
idle
public boolean idle()
Returns:
true if it did some work
getClientId
public int getClientId()
Returns:
parent client connection (id)
getClient
public IClient getClient()
Returns:
parent client connection
getNetConnection
public [Link] getNetConnection()
Returns:
parent netConnection connection
setNetConnection
public void setNetConnection([Link] netConnection)
Parameters:
netConnection - netConnection connection
setClient
public void setClient(IClient client)
Parameters:
client - parent client connection
getStreams
public MediaStreamMap getStreams()
Returns:
parent mediaStreamMap
packetComplete
public void packetComplete()
sendStreamNotFound
public int sendStreamNotFound(String name)
Parameters:
name - stream name
Returns:
bytes sent to client
sendStreamNotFound
public int sendStreamNotFound([Link] out,
String name)
Parameters:
out - OutputStream
name - stream name
Returns:
bytes sent to client
sendLivePlayStart
public int sendLivePlayStart([Link] out,
String name,
long timecode,
long timecodeOffset)
Parameters:
out - OutputStream
name - stream name
timecode - timecode
timecodeOffset - timecode offset
Returns:
bytes sent to client
sendVODPlaySwitch
public int sendVODPlaySwitch([Link] out,
String name,
long timecode)
Parameters:
out - OutputStream
name - stream name
timecode - timecode
Returns:
bytes sent to client
sendLivePlaySwitch
public int sendLivePlaySwitch([Link] out,
String name,
long timecode)
Parameters:
out - OutputStream
name - stream name
timecode - timecode
Returns:
bytes sent to client
sendLivePlaySeek
public int sendLivePlaySeek([Link] out,
String name,
long timecode)
Parameters:
out - OutputStream
Returns:
bytes sent to client
sendPlayReset
public int sendPlayReset(String name)
Parameters:
name - stream name
Returns:
bytes sent to client
sendPlayReset
public int sendPlayReset([Link] out,
String name)
Parameters:
out - OutputStream
name - stream name
Returns:
bytes sent to client
sendPlayStop
public int sendPlayStop(long location,
String name)
Parameters:
location - timecode where play stopped
name - stream name
Returns:
bytes sent to client
sendPlayStop
public int sendPlayStop([Link] out,
long location,
String name)
Parameters:
out - OutputStream
location - timecode where play stopped
name - stream name
Returns:
bytes sent to client
sendPlaySeek
public int sendPlaySeek([Link] out,
long location,
long seekLocation,
String name,
[Link] seekTypes)
Parameters:
out - OutputStream
location - request location of seek
seekLocation - result location of seek
name - stream name
seekTypes - list of commands to respond to (seek, unpause, play)
Returns:
bytes sent to client
sendPlaySeek
public int sendPlaySeek(long location,
long seekLocation,
String name)
Parameters:
location - request location of seek
seekLocation - result location of seek
name - stream name
Returns:
bytes sent to client
sendPlaySeek
public int sendPlaySeek([Link] out,
long location,
long seekLocation,
String name)
Parameters:
out - OutputStream
location - request location of seek
seekLocation - result location of seek
name - stream name
Returns:
bytes sent to client
sendPlayStart
public int sendPlayStart(String name,
long timecode)
Parameters:
name - stream name
Returns:
bytes sent to client
sendPlaySwitch
public int sendPlaySwitch(String name,
long timecode)
Send onStatus([Link]) event (it is not a typo, this also send play start but with different control codes for media
switch).
Parameters:
name - stream name
timecode - timecode of event
Returns:
bytes sent to client
sendPlaySwitch
public int sendPlaySwitch([Link] out,
String name,
boolean isSwitch,
long timecode)
Send onStatus([Link]) event (it is not a typo, this also send play start but with different control codes for media
switch). Send directly to OutputStream
Parameters:
out - OutputStream
name - stream name
isSwitch - is this a switch or a start
timecode - timecode of event
Returns:
bytes sent to client
sendPlayStart
public int sendPlayStart([Link] out,
String name,
boolean isSwitch,
boolean isLive,
long timecode,
[Link] seekTypes)
Send onStatus([Link]) event (it is not a typo, this also send play start but with different control codes for media
switch). Send directly to OutputStream
Parameters:
out - OutputStream
sendPlayStart
public int sendPlayStart([Link] out,
String name,
boolean isSwitch,
long timecode,
[Link] seekTypes)
Send onStatus([Link]) event (it is not a typo, this also send play start but with different control codes for media
switch). Send directly to OutputStream
Parameters:
out - OutputStream
name - stream name
isSwitch - is this a switch or a start
timecode - timecode of event
seekTypes - commands to respond to (seek, unpause, play)
Returns:
bytes sent to client
sendPlayStart
public int sendPlayStart([Link] out,
String name,
boolean isSwitch,
long timecode)
Send onStatus([Link]) event (it is not a typo, this also send play start but with different control codes for media
switch). Send directly to OutputStream
Parameters:
out - OutputStream
name - stream name
isSwitch - is this a switch or a start
timecode - timecode of event
Returns:
bytes sent to client
sendPlayStatus
public int sendPlayStatus(long timecode,
int statusType,
double duration,
double bytesSent)
Parameters:
timecode - timecode of event
statusType - status type IMediaStreamPlay.PLAYSTATUSTYPE_*
duration - (not used)
bytesSent - (not used)
Returns:
bytes sent to client
sendPlayStatus
public int sendPlayStatus([Link] out,
long timecode,
int statusType,
double duration,
double bytesSent)
Parameters:
out - OutputStream
timecode - timecode of event
statusType - status type IMediaStreamPlay.PLAYSTATUSTYPE_*
duration - (not used)
bytesSent - (not used)
Returns:
bytes sent to client
sendPauseNotify
public int sendPauseNotify(long timecode,
String name)
Parameters:
timecode - timecode of event
name - stream name
Returns:
bytes sent to client
sendPauseNotify
public int sendPauseNotify([Link] out,
long timecode,
String name)
Parameters:
out - OutputStream
timecode - timecode of event
name - stream name
Returns:
bytes sent to client
sendUnpauseNotify
public int sendUnpauseNotify([Link] out,
long location,
String name,
[Link] seekTypes)
Parameters:
out - OutputStream
location - timecode of event
name - stream name
seekTypes - list of operations to respond to (seek, play, unpause)
Returns:
bytes sent to client
sendUnpauseNotify
public int sendUnpauseNotify(long location,
String name)
Parameters:
location - timecode of event
name - stream name
Returns:
bytes sent to client
sendUnpauseNotify
public int sendUnpauseNotify([Link] out,
long location,
String name)
Parameters:
out - OutputStream
location - timecode of event
name - stream name
Returns:
bytes sent to client
isAppend
public boolean isAppend()
Returns:
is appending or rewriting media file
setAppend
public void setAppend(boolean isAppend)
Parameters:
isAppend - is appending or rewriting media file
setPlayer
public void setPlayer(IMediaStreamPlay player)
Parameters:
player - underlying player (IMediaStreamPlay) object
getPlayer
public IMediaStreamPlay getPlayer()
Returns:
underlying player (IMediaStreamPlay) object
getAudioMissing
public int getAudioMissing()
Returns:
number of bytes missing
getVideoMissing
public int getVideoMissing()
Returns:
number of bytes missing
getDataMissing
public int getDataMissing()
Returns:
number of bytes missing
addVideoData
public void addVideoData(byte[] data,
int offset,
int size)
Parameters:
data - byte array
offset - offset in byte array
size - size of data to add
addAudioData
public void addAudioData(byte[] data,
int offset,
int size)
Parameters:
data - byte array
offset - offset in byte array
size - size of data to add
addDataData
public void addDataData(byte[] data,
int offset,
int size)
Parameters:
data - byte array
offset - offset in byte array
size - size of data to add
getProperties
public WMSProperties getProperties()
Returns:
properties
getPlayPackets
public [Link] getPlayPackets()
Returns:
play packets
getMaxTimecode
public long getMaxTimecode()
Returns:
timecode of the latest received packet
getLastKeyFrame
public AMFPacket getLastKeyFrame()
Returns:
play packets
getLastPacket
public AMFPacket getLastPacket()
Returns:
most recent live packet or null or no live packets
getStreamType
public String getStreamType()
Returns:
streamType
setStreamType
public void setStreamType(String streamType)
Set mediaStream streamType. This method will not change the type of the current stream.
Parameters:
streamType
sendDirectAMF3
public void sendDirectAMF3(String handlerName,
Object[] params)
Call client side NetStream method/handler and send event to underlying stream (will record event). Force AMF3 encoding.
Parameters:
handlerName - handler name
params - variable list of parameters. All parameters will be wrapped in AMFDataObj.
sendDirect
public void sendDirect(String handlerName,
Object[] params)
Call client side NetStream method/handler and send event to underlying stream (will record event)
Parameters:
handlerName - handler name
params - variable list of parameters. All parameters will be wrapped in AMFDataObj.
sendDirectAMF3
public void sendDirectAMF3(String handlerName)
Call client side NetStream method/handler and send event to underlying stream (will record event). Force AMF3 encoding.
Parameters:
handlerName - handler name
sendDirect
public void sendDirect(String handlerName)
Call client side NetStream method/handler and send event to underlying stream (will record event)
Parameters:
handlerName - handler name
sendAMF3
public void sendAMF3(String handlerName,
Object[] params)
Parameters:
handlerName - handler name
params - variable list of parameters. All parameters will be wrapped in AMFDataObj.
send
public void send(String handlerName,
Object[] params)
Parameters:
handlerName - handler name
params - variable list of parameters. All parameters will be wrapped in AMFDataObj.
sendAMF3
public void sendAMF3(String handlerName)
Call client side NetStream method/handler with no parameters. Force AMF3 encoding.
Parameters:
handlerName - handler name
send
public void send(String handlerName)
Parameters:
handlerName - handler name
close
public void close()
Close mediaStream
isOpen
public boolean isOpen()
Is mediaStream open
Returns:
is mediaStream open
setOpen
public void setOpen(boolean isOpen)
Parameters:
isOpen - mediaStream open
getFastPlaySettings
public FastPlaySettings getFastPlaySettings()
Returns:
fastPlay settings
setFastPlaySettings
public void setFastPlaySettings(FastPlaySettings fastPlaySettings)
Parameters:
fastPlaySettings - fastPlay settings
clearFastPlaySettings
public void clearFastPlaySettings()
isReceiveAudio
public boolean isReceiveAudio()
Returns:
receive audio
setReceiveAudio
public void setReceiveAudio(boolean receiveAudio)
Parameters:
isReceiveVideo
public boolean isReceiveVideo()
Returns:
receive video
setReceiveVideo
public void setReceiveVideo(boolean receiveVideo)
Parameters:
receiveVideo - receive video
getReceiveVideoFPS
public int getReceiveVideoFPS()
Returns:
video frames per second
setReceiveVideoFPS
public void setReceiveVideoFPS(int receiveVideoFPS)
Parameters:
receiveVideoFPS - video frames per second
getMediaIOPerformance
public IOPerformanceCounter getMediaIOPerformance()
Returns:
IO performance counter
incrementMediaOutBytes
public long incrementMediaOutBytes(long bytes,
long count)
Increment the number of mediaStream bytes sent and number of packets sent
Parameters:
bytes - number of bytes sent
count - number of packets sent
Returns:
incrementMediaLossBytes
public long incrementMediaLossBytes(long bytes,
long count)
Increment the number of mediaStream loss bytes sent and number of packets sent
Parameters:
bytes - number of bytes sent
count - number of packets sent
Returns:
total number of bytes sent (after increment)
incrementMediaInBytes
public long incrementMediaInBytes(long increment)
Parameters:
increment - number of byte received
Returns:
total number of bytes received (after increment)
publish
public void publish()
Publish mediaStream
trim
public void trim()
Trim mediaStream. This method will remove live packets that are older than the live buffer size.
handleCallback
public void handleCallback([Link] function)
Parameters:
function - request function
unregisterCallback
public void unregisterCallback(String handlerName)
Parameters:
handlerName - handler name
registerCallback
public void registerCallback(String handlerName,
IMediaStreamCallback callback)
Parameters:
handlerName - handler name
callback - callback object
unregisterOnStatus
public void unregisterOnStatus(IMediaStreamCallback callback)
Parameters:
callback
registerOnStatus
public void registerOnStatus(IMediaStreamCallback callback)
Parameters:
callback - callback object
unregisterOnPlayStatus
public void unregisterOnPlayStatus(IMediaStreamCallback callback)
Parameters:
callback - callback object
registerOnPlayStatus
public void registerOnPlayStatus(IMediaStreamCallback callback)
Parameters:
callback - callback object
addClientListener
public void addClientListener(IMediaStreamActionNotify actionListener)
Add client listener. Listens for (onPlay, onPublish, onPause, onSeek, onStop)
Parameters:
actionListener - listener
addClientListener
public void addClientListener(IMediaStreamActionNotify2 actionListener)
Add client listener. Listens for (onPlay, onPublish, onPause, onSeek, onStop)
Parameters:
actionListener - listener
addClientListener
public void addClientListener(IMediaStreamActionNotify3 actionListener)
Add client listener. Listens for (onPlay, onPublish, onPause, onSeek, onStop)
Parameters:
actionListener - listener
removeClientListener
public void removeClientListener(IMediaStreamActionNotify actionListener)
Remove client listener. Listens for (onPlay, onPublish, onPause, onSeek, onStop)
Parameters:
actionListener - listener
removeClientListener
public void removeClientListener(IMediaStreamActionNotify2 actionListener)
Remove client listener. Listens for (onPlay, onPublish, onPause, onSeek, onStop)
Parameters:
actionListener - listener
removeClientListener
public void removeClientListener(IMediaStreamActionNotify3 actionListener)
Remove client listener. Listens for (onPlay, onPublish, onPause, onSeek, onStop)
Parameters:
actionListener - listener
notifyActionPlay
public void notifyActionPlay(String streamName,
double playStart,
double playLen,
int playReset)
Parameters:
streamName - stream name
playStart - play start
playLen - play length
playReset - play reset
notifyActionPauseRaw
public void notifyActionPauseRaw(boolean isPause,
long location)
Parameters:
isPause - is pause or unpause
location - timecode (milliseconds) of action
notifyActionPause
public void notifyActionPause(boolean isPause,
long location)
Parameters:
isPause - is pause or unpause
location - timecode (milliseconds) of action
notifyActionSeek
public void notifyActionSeek(double location)
Parameters:
location - timecode (milliseconds) of seek request
notifyActionPublish
public void notifyActionPublish(String streamName,
boolean isRecord,
boolean isAppend)
Parameters:
streamName - stream name
isRecord - is record or live
isAppend - is append if isRecord is true
notifyActionUnPublish
public void notifyActionUnPublish(String streamName,
boolean isRecord,
boolean isAppend)
Parameters:
streamName - stream name
isRecord - is record or live
isAppend - is append if isRecord is true
notifyActionOnMetaData
public void notifyActionOnMetaData(AMFPacket metaDataPacket)
Parameters:
metaDataPacket - metaDataPacket
notifyActionOnCodecInfoVideo
public void notifyActionOnCodecInfoVideo([Link]
codecInfoVideo)
Parameters:
codecInfoVideo - video codec information
notifyActionOnCodecInfoAudio
public void notifyActionOnCodecInfoAudio([Link]
codecInfoAudio)
Parameters:
codecInfoAudio - audio codec information
notifyActionStop
public void notifyActionStop()
isClustered
public boolean isClustered()
not used
Returns:
isClustered
setClustered
public void setClustered(boolean isClustered)
not used
Parameters:
isClustered
getCacheName
public String getCacheName()
not used
Returns:
cache name
startPublishing
public void startPublishing()
stopPublishing
public void stopPublishing()
getStreamFileForWrite
public [Link] getStreamFileForWrite()
Get the File object to write to a stream (get stream name, ext and query from stream object)
Returns:
resultant File object
getStreamFileForWrite
public [Link] getStreamFileForWrite(String name,
String ext,
String query)
Get the File object to write to a stream (specify name, ext and query)
Parameters:
name - stream name
ext - stream prefix (Ex. mp4:)
query - query part of stream name (Ex. mystream?param1=value1)
Returns:
resultant File object
getStreamFileForRead
public [Link] getStreamFileForRead()
Get the File object to read from a stream (get stream name, ext and query from stream object)
Returns:
resultant File object
getStreamFileForRead
public [Link] getStreamFileForRead(String name,
String ext,
String query)
Get the File object to read from a stream (specify name, ext and query)
Parameters:
name - stream name
Returns:
resultant File object
sendControlBytes
public int sendControlBytes(int controlType,
[Link] out)
Parameters:
controlType - control types (0, 1, 4)
out - OutputStream
Returns:
bytes sent to client
getBurstStartStop
public byte[] getBurstStartStop(boolean isStart)
Parameters:
isStart - is start
Returns:
byte array with AMF packet
getRespAMFAudioObj
public AMFObj getRespAMFAudioObj()
Returns:
audio response channel object
getRespAMFVideoObj
public AMFObj getRespAMFVideoObj()
Returns:
video response channel object
getRespAMFDataObj
public AMFObj getRespAMFDataObj()
Returns:
data response channel object
getQueryStr
public String getQueryStr()
Get play/publish name query string. Example: if play name is flv:test?param1=data1¶m2=data2, query string is
"param1=data1¶m2=data2".
Returns:
query string
setQueryStr
public void setQueryStr(String queryStr)
Set play/publish name query string. Example: if play name is flv:test?param1=data1¶m2=data2, query string is
"param1=data1¶m2=data2".
Parameters:
queryStr
updateLoggingDuration
public void updateLoggingDuration()
updateLoggingValues
public void updateLoggingValues()
clearLoggingValues
public void clearLoggingValues()
length
public double length()
Returns:
length (seconds)
size
public long size()
Returns:
size (bytes)
getExt
public String getExt()
Returns:
media file extension
setExt
public void setExt(String ext)
Parameters:
ext
clear
public void clear()
isSendPlayStopLogEvent
public boolean isSendPlayStopLogEvent()
Returns:
need to send a log event for stop
setSendPlayStopLogEvent
public void setSendPlayStopLogEvent(boolean sendPlayStopLogEvent)
Parameters:
sendPlayStopLogEvent - need to send a log event for stop
isSendRecordStopLogEvent
public boolean isSendRecordStopLogEvent()
Returns:
need to send a log event for stop
setSendRecordStopLogEvent
public void setSendRecordStopLogEvent(boolean sendPlayStopLogEvent)
Parameters:
isSendPublishStopLogEvent
public boolean isSendPublishStopLogEvent()
Returns:
need to send a log event for stop
setSendPublishStopLogEvent
public void setSendPublishStopLogEvent(boolean sendPlayStopLogEvent)
Parameters:
sendPlayStopLogEvent - need to send a log event for stop
getAccess
public boolean[] getAccess(IClient client,
String name)
Parameters:
client - client
name - stream name
Returns:
array of booleans read[0], write[1]
getMetaDataProvider
public IMediaStreamMetaDataProvider getMetaDataProvider()
Returns:
metaData provider
setMetaDataProvider
public void setMetaDataProvider(IMediaStreamMetaDataProvider metaDataProvider)
Parameters:
metaDataProvider - metaData provider
getHeaderSize
public int getHeaderSize()
Returns:
setHeaderSize
public void setHeaderSize(int headerSize)
Parameters:
headerSize - last packet header size
getAudioCodecConfigPacket
public AMFPacket getAudioCodecConfigPacket(long timecode)
Parameters:
timecode - timecode of the packet to which you want to get the codec config information
Returns:
audio codec configuration packet (needed for H.264/AAC playback)
addAudioCodecConfigPacket
public void addAudioCodecConfigPacket(long timecode,
AMFPacket packet)
Parameters:
timecode - timecode in milliseconds of first packet that uses this timecode
packet - audio codec configuration packet (needed for H.264/AAC playback)
getVideoCodecConfigPacket
public AMFPacket getVideoCodecConfigPacket(long timecode)
Parameters:
timecode - timecode of the packet to which you want to get the codec config information
Returns:
video codec configuration packet (needed for H.264/AAC playback)
addVideoCodecConfigPacket
public void addVideoCodecConfigPacket(long timecode,
AMFPacket packet)
Parameters:
timecode - timecode in milliseconds of first packet that uses this timecode
packet - video codec configuration packet (needed for H.264/AAC playback)
getRTPStream
public RTPStream getRTPStream()
Returns:
RTP based stream this stream is associated with
setRTPStream
public void setRTPStream(RTPStream rtpStream)
Parameters:
rtpStream - RTP based stream this stream is associated with
flush
public void flush()
Force publishing packets to be flushed from the input buffers to the output buffers
startAudioPacket
public void startAudioPacket()
startVideoPacket
public void startVideoPacket()
startDataPacket
public void startDataPacket()
getLiveStreamPacketizerList
public String getLiveStreamPacketizerList()
Get the comma separated list of LiveStreamPacketizers names being used by this stream (see conf/[Link])
Returns:
comma separated list of LiveStreamPacketizers names
setLiveStreamPacketizerList
public void setLiveStreamPacketizerList(String liveStreamPacketizerList)
Set the comma separated list of LiveStreamPacketizers names being used by this stream (see conf/[Link])
Parameters:
getLiveStreamTranscoderList
public String getLiveStreamTranscoderList()
Get the comma separated list of LiveStreamTranscoders names being used by this stream (see
conf/[Link])
Returns:
comma separated list of LiveStreamTranscoders names
setLiveStreamTranscoderList
public void setLiveStreamTranscoderList(String liveStreamTranscoderList)
Set the comma separated list of LiveStreamTranscoders names being used by this stream (see
conf/[Link])
Parameters:
liveStreamTranscoderList - comma separated list of LiveStreamTranscoders names
getLiveStreamPacketizer
public ILiveStreamPacketizer getLiveStreamPacketizer(String name)
Parameters:
name - LiveStreamPacketizer name
Returns:
LiveStreamPacketizer interface
getDvrRecorderList
public String getDvrRecorderList()
Get the comma separated list of DVR Recorder names being used by this stream (see conf/[Link])
Returns:
comma separated list of DVR Recorder names
setDvrRecorderList
public void setDvrRecorderList(String recorderList)
Set the comma separated list of DVR Recorder names being used by this stream (see conf/[Link])
Parameters:
recorderList - comma separated list of DVR Recorder names
getDvrRecorder
public ILiveStreamDvrRecorder getDvrRecorder(String name)
Parameters:
Returns:
DVR Recorder interface
getUniqueStreamIdStr
public String getUniqueStreamIdStr()
Returns:
unique stream identifier
getHTTPStreamerSession
public IHTTPStreamerSession getHTTPStreamerSession()
Returns:
HTTPStreamer session associated with this stream
setHTTPStreamerSession
public void setHTTPStreamerSession(IHTTPStreamerSession httpStreamerSession)
Parameters:
httpStreamerSession - HTTPStreamer session associated with this stream
getElapsedTime
public ElapsedTimer getElapsedTime()
Returns:
interface to the elapse timer
getLiveStreamPacketizer
public String getLiveStreamPacketizer()
Returns:
live stream packetizer
setLiveStreamPacketizer
public void setLiveStreamPacketizer(String liveStreamPacketizer)
Parameters:
liveStreamPacketizer - live stream packetizer
getLiveStreamRepeater
public String getLiveStreamRepeater()
Returns:
live stream repeater name
setLiveStreamRepeater
public void setLiveStreamRepeater(String liveStreamRepeater)
Parameters:
liveStreamRepeater - live stream repeater name
initLiveStreamRepeating
public void initLiveStreamRepeating(String liveStreamPacketizer,
String liveStreamRepeater)
Parameters:
liveStreamPacketizer - live stream packetizer
liveStreamRepeater - live stream repeater name
getPublishVideoCodecId
public int getPublishVideoCodecId()
Returns:
codec id of the most recently published video packet
setPublishVideoCodecId
public void setPublishVideoCodecId(int publishVideoCodecId)
Parameters:
publishVideoCodecId - codec id of the most recently published video packet
getPublishAudioCodecId
public int getPublishAudioCodecId()
Returns:
codec id of the most recently published audio packet
setPublishAudioCodecId
public void setPublishAudioCodecId(int publishAudioCodecId)
Parameters:
publishAudioCodecId - codec id of the most recently published audio packet
isPublishStreamReady
public boolean isPublishStreamReady(boolean checkAudio,
boolean checkVideo)
Returns true if the publishing stream contains enough video/audio data to start playback
Parameters:
checkAudio - check audio stream
checkVideo - check video stream
Returns:
true if the publishing stream contains enough video/audio data to start playback
getContextStr
public String getContextStr()
Returns:
stream context string
isMediaCasterPlay
public boolean isMediaCasterPlay()
Returns:
true if MediaCaster play enabled
setMediaCasterPlay
public void setMediaCasterPlay(boolean isMediaCasterPlay)
Parameters:
isMediaCasterPlay - true if MediaCaster play enabled
isMergeOnMetadata
public boolean isMergeOnMetadata()
If true, merge incoming onMetadata events with the current onMetdata event data. If false, replace.
Returns:
true, merge incoming onMetadata events with the current onMetdata event data. If false, replace.
setMergeOnMetadata
public void setMergeOnMetadata(boolean mergeOnMetadata)
If true, merge incoming onMetadata events with the current onMetdata event data. If false, replace.
Parameters:
mergeOnMetadata - true, merge incoming onMetadata events with the current onMetdata event data. If false, replace.
getDvrRecorder
public String getDvrRecorder()
Returns:
DVR Recorder
getDvrRepeater
public String getDvrRepeater()
Returns:
repeater name
setDvrRecorder
public void setDvrRecorder(String recorderName)
Parameters:
recorderName - DVR Recorder
removeDvrRecorder
public ILiveStreamDvrRecorder removeDvrRecorder(String name)
Parameters:
name - dvr name
Returns:
live stream dvr
putDvrRecorder
public void putDvrRecorder(String name,
ILiveStreamDvrRecorder dvr)
Parameters:
name - dvr name
dvr - live stream dvr
getLiveStreamTranscoders
public [Link] getLiveStreamTranscoders()
Returns:
list of transcoders for this stream
getLiveStreamTranscoder
public ILiveStreamTranscoder getLiveStreamTranscoder(String name)
Parameters:
name - transcoder name
Returns:
live stream transcoder
removeLiveStreamTranscoder
public ILiveStreamTranscoder removeLiveStreamTranscoder(String name)
Parameters:
name - transcoder name
Returns:
live stream transcoder
putLiveStreamTranscoder
public void putLiveStreamTranscoder(String name,
ILiveStreamTranscoder liveStreamTranscoder)
Parameters:
name - transcoder name
liveStreamTranscoder - live stream transcoder
isTranscodeResult
public boolean isTranscodeResult()
Returns:
true if stream the result of a transcode operation
setTranscodeResult
public void setTranscodeResult(boolean isTranscodeResult)
Parameters:
isTranscodeResult - true if stream the result of a transcode operation
addVideoH264SEIListener
public void addVideoH264SEIListener(IMediaStreamH264SEINotify h264SEIListener)
Add an H.264 SEI listener. This listener will be notified of all incoming H.264 video packets and has the ability to read and/or
modify SEI section of the video frame.
Parameters:
h264SEIListener - H.264 SEI listener
removeVideoH264SEIListener
public void removeVideoH264SEIListener(IMediaStreamH264SEINotify h264SEIListener)
Remove an H.264 SEI listener. This listener will be notified of all incoming H.264 video packets and has the ability to read
and/or modify SEI section of the video frame.
Parameters:
h264SEIListener - H.264 SEI listener
isVideoH264SEIListenerEmpty
public boolean isVideoH264SEIListenerEmpty()
Is H.264 SEI listener list empty. This listener will be notified of all incoming H.264 video packets and has the ability to read
and/or modify SEI section of the video frame.
Returns:
true if H.264 SEI listener list empty
notifyVideoH264Packet
public void notifyVideoH264Packet(AMFPacket packet,
[Link].h264.H264SEIMessages seiMessages)
Parameters:
packet - AMF Packet
seiMessages - seiMessages
addCalbackListener
public void addCalbackListener(IMediaStreamCallback callbackListener)
Parameters:
callbackListener
removeCalbackListener
public void removeCalbackListener(IMediaStreamCallback callbackListener)
Parameters:
callbackListener
[Link]
Interface IMediaStreamActionNotify
All Subinterfaces:
IMediaStreamActionNotify2, IMediaStreamActionNotify3
Method Summary
void onPause(IMediaStream stream, boolean isPause, double location)
Triggered on mediaStream pause
Methods
onPlay
public void onPlay(IMediaStream stream,
String streamName,
double playStart,
double playLen,
int playReset)
Parameters:
stream - mediaStream
streamName - streamName
playStart - playStart offset
playLen - playLen
onPublish
public void onPublish(IMediaStream stream,
String streamName,
boolean isRecord,
boolean isAppend)
Parameters:
stream - mediaStream
streamName - streamName
isRecord - recording stream
isAppend - appending to file
onUnPublish
public void onUnPublish(IMediaStream stream,
String streamName,
boolean isRecord,
boolean isAppend)
Parameters:
stream - mediaStream
streamName - streamName
isRecord - recording stream
isAppend - appending to file
onPause
public void onPause(IMediaStream stream,
boolean isPause,
double location)
Parameters:
stream - mediaStream
isPause - pause or unpause
location - location (milliseconds)
onSeek
public void onSeek(IMediaStream stream,
double location)
Parameters:
stream - mediaStream
location - location (milliseconds)
onStop
public void onStop(IMediaStream stream)
Parameters:
stream - mediaStream
[Link]
Interface IMediaStreamActionNotify2
All Superinterfaces:
IMediaStreamActionNotify
All Subinterfaces:
IMediaStreamActionNotify3
Method Summary
void onMetaData(IMediaStream stream, AMFPacket metaDataPacket)
Triggered when a published streams metadata is set or changes
Methods
onMetaData
public void onMetaData(IMediaStream stream,
AMFPacket metaDataPacket)
onPauseRaw
public void onPauseRaw(IMediaStream stream,
boolean isPause,
double location)
Triggered on mediaStream pauseRaw. The pauseRaw method is called when a pause occurs in the player.
Parameters:
stream - mediaStream
isPause - pause or unpause
location - location (milliseconds)
[Link]
Interface IMediaStreamActionNotify3
All Superinterfaces:
IMediaStreamActionNotify2, IMediaStreamActionNotify
Method Summary
void onCodecInfoAudio(IMediaStream stream,
[Link] codecInfoAudio)
Triggered when publishing stream receives codec information.
onMetaData, onPauseRaw
Methods
onCodecInfoVideo
public void onCodecInfoVideo(IMediaStream stream,
[Link] codecInfoVideo)
Parameters:
stream - mediaStream
codecInfoVideo - video codec information
onCodecInfoAudio
public void onCodecInfoAudio(IMediaStream stream,
[Link] codecInfoAudio)
Parameters:
stream - mediaStream
codecInfoAudio - video codec information
[Link]
Interface IMediaStreamCallback
Method Summary
void onCallback(IMediaStream stream, [Link]
function, AMFDataList params)
Triggered on callback event
Methods
onCallback
public void onCallback(IMediaStream stream,
[Link] function,
AMFDataList params)
Parameters:
stream - mediaStream
function - function that triggered callback
params - function parameters
[Link]
Interface IMediaStreamFileMapper
Interface for mapping a IMediaStream to the underlying file system. Implement this interface and set your class using
[Link](IMediaStreamFileMapper streamFileMapper). Your class will then be called each time a
stream needs to be mapped to the underlying file system.
Method Summary
[Link] streamToFileForRead(IMediaStream stream)
Get the File object to read from a stream (get stream name, ext and query from stream object)
Methods
streamToFileForRead
public [Link] streamToFileForRead(IMediaStream stream,
String name,
String ext,
String query)
Get the File object to read from a stream (specify name, ext and query)
Parameters:
stream - stream
name - stream name
ext - stream prefix (Ex. mp4:)
query - query part of stream name (Ex. mystream?param1=value1)
Returns:
resultant File object
streamToFileForRead
public [Link] streamToFileForRead(IMediaStream stream)
Get the File object to read from a stream (get stream name, ext and query from stream object)
Parameters:
stream - stream
Returns:
resultant File object
streamToFileForWrite
public [Link] streamToFileForWrite(IMediaStream stream,
String name,
String ext,
String query)
Get the File object to write to a stream (specify name, ext and query)
Parameters:
stream - stream
name - stream name
ext - stream prefix (Ex. mp4:)
query - query part of stream name (Ex. mystream?param1=value1)
Returns:
resultant File object
streamToFileForWrite
public [Link] streamToFileForWrite(IMediaStream stream)
Get the File object to write to a stream (get stream name, ext and query from stream object)
Parameters:
stream - stream
Returns:
resultant File object
[Link]
Interface IMediaStreamH264SEINotify
Method Summary
void onVideoH264Packet(IMediaStream stream, AMFPacket packet,
[Link].h264.H264SEIMessages seiMessages)
Methods
onVideoH264Packet
public void onVideoH264Packet(IMediaStream stream,
AMFPacket packet,
[Link].h264.H264SEIMessages seiMessages)
[Link]
Interface IMediaStreamMediaCaster
Method Summary
IMediaCaster getMediaCaster()
Methods
setMediaCasterItem
public void setMediaCasterItem(MediaCasterItem mediaCasterItem)
getMediaCaster
public IMediaCaster getMediaCaster()
[Link]
Interface IMediaStreamMetaDataProvider
Method Summary
void onStreamStart([Link] metaDataList, long timecode)
Called to get the onMetadata data at a particular point in time in the stream
Methods
onStreamStart
public void onStreamStart([Link] metaDataList,
long timecode)
Called to get the onMetadata data at a particular point in time in the stream
Parameters:
metaDataList - list of onMetadata data (should always be one item in list)
timecode - timecode in milliseconds
[Link]
Interface IMediaStreamNameAliasProvider
All Subinterfaces:
IMediaStreamNameAliasProvider2
Method Summary
String resolvePlayAlias(IApplicationInstance appInstance, String name)
Called to resolve a play alias
Methods
resolvePlayAlias
public String resolvePlayAlias(IApplicationInstance appInstance,
String name)
Parameters:
appInstance - applicationInstance
name - stream name
Returns:
resultant name, null if want to block playback
resolveStreamAlias
public String resolveStreamAlias(IApplicationInstance appInstance,
String name)
Parameters:
appInstance - applicationInstance
name - stream name
Returns:
resultant name, null if want to block playback
[Link]
Interface IMediaStreamNameAliasProvider2
All Superinterfaces:
IMediaStreamNameAliasProvider
Method Summary
String resolvePlayAlias(IApplicationInstance appInstance, String name, IClient
client)
Resolve play alias for RTMP streaming
resolvePlayAlias, resolveStreamAlias
Methods
resolvePlayAlias
public String resolvePlayAlias(IApplicationInstance appInstance,
String name,
IClient client)
Parameters:
appInstance - application instance
name - stream name
client - client interface
Returns:
resolvePlayAlias
public String resolvePlayAlias(IApplicationInstance appInstance,
String name,
IHTTPStreamerSession httpSession)
Resolve play alias for HTTP streaming. This callback may be called when there is not a valid HTTP session. In this case a
phantom HTTP session will be created and will be populated with information from the underlying HTTP request (such as IP
address and query string) but the session Id will be null.
Parameters:
appInstance - application instance
name - name
httpSession - HTTP session
Returns:
resultant name, null if want to block playback
resolvePlayAlias
public String resolvePlayAlias(IApplicationInstance appInstance,
String name,
RTPSession rtpSession)
Parameters:
appInstance - application instance
name - name
rtpSession - RTP session
Returns:
resultant name, null if want to block playback
resolvePlayAlias
public String resolvePlayAlias(IApplicationInstance appInstance,
String name,
ILiveStreamPacketizer liveStreamPacketizer)
Parameters:
appInstance - application instance
name - name
liveStreamPacketizer - live stream packetizer
Returns:
resultant name, null if want to block playback
resolveStreamAlias
public String resolveStreamAlias(IApplicationInstance appInstance,
String name,
IMediaCaster mediaCaster)
Parameters:
appInstance - application instance
name - name
mediaCaster - media caster
Returns:
resultant name, null if want to block playback
[Link]
Interface IMediaStreamNotify
Method Summary
void onMediaStreamCreate(IMediaStream stream)
Triggered when mediaStream created
Methods
onMediaStreamCreate
public void onMediaStreamCreate(IMediaStream stream)
Parameters:
stream - mediaStream
onMediaStreamDestroy
public void onMediaStreamDestroy(IMediaStream stream)
Parameters:
stream - mediaStream
[Link]
Interface IMediaStreamPlay
Field Summary
public static final PAUSE_PAUSE
Pause type: pause
Value: 1
Method Summary
void close()
Close mediaStreamPlay
IMediaStream getParent()
Get the parent media stream object
void interruptPlay()
Interrupt play to perform operation.
double length()
Get stream length/seconds (seconds)
boolean play()
Return true if there are packets to play
void resetNoLookup()
Reset but do not lookup current position in live stream
void shutdown()
Shutdown mediaStreamPlayer
long size()
Get stream media file size
void startPlay()
Start playing stream
void switchPlay()
void updateLoggingValues()
Update internal logging values
Fields
PAUSE_PAUSE
public static final int PAUSE_PAUSE
PAUSE_TOGGLE
public static final int PAUSE_TOGGLE
PAUSE_PLAY
public static final int PAUSE_PLAY
PLAYSTATUSTYPE_SWITCH
public static final int PLAYSTATUSTYPE_SWITCH
Constant value: 1
PLAYSTATUSTYPE_COMPLETE
public static final int PLAYSTATUSTYPE_COMPLETE
PLAYSTATUSTYPE_STOP
public static final int PLAYSTATUSTYPE_STOP
PLAYSIZES_AUDIO_BYTES
public static final int PLAYSIZES_AUDIO_BYTES
PLAYSIZES_AUDIO_COUNT
public static final int PLAYSIZES_AUDIO_COUNT
PLAYSIZES_VIDEO_BYTES
public static final int PLAYSIZES_VIDEO_BYTES
PLAYSIZES_VIDEO_COUNT
public static final int PLAYSIZES_VIDEO_COUNT
PLAYSIZES_DATA_BYTES
public static final int PLAYSIZES_DATA_BYTES
PLAYSIZES_DATA_COUNT
public static final int PLAYSIZES_DATA_COUNT
PLAYSIZES_LOSS_BYTES
public static final int PLAYSIZES_LOSS_BYTES
PLAYSIZES_LOSS_COUNT
public static final int PLAYSIZES_LOSS_COUNT
PLAYSIZES_SIZE
public static final int PLAYSIZES_SIZE
Methods
init
public void init(IMediaStream parent,
MediaStreamMap streams)
Initialize mediaStreamPlayer
Parameters:
parent - parent mediaStream object
streams - parent mediaStreamMap
shutdown
public void shutdown()
Shutdown mediaStreamPlayer
reset
public void reset(boolean isReset)
Reset mediaStreamPlayer
Parameters:
isReset - is this a playlist reset or addition, true if reset
resetNoLookup
public void resetNoLookup()
play
public int play([Link] out,
AMFObj wmsObjAudio,
AMFObj wmsObjVideo,
AMFObj wmsObjData,
long[] sizes)
Parameters:
out - OutputStream
wmsObjAudio - audio response channel
wmsObjVideo - video response channel
wmsObjData - data response channel
sizes - sizes array. See IMediaStreamPlay.PLAYSIZES_*
Returns:
total byte output
play
public boolean play()
Returns:
true if packets to play
seek
public void seek(int location)
seek mediaPlayStream
Parameters:
location - timecode (milliseconds)
pause
public void pause(int pauseType,
long timecode)
pause mediaPlayStream
Parameters:
pauseType - pause type. See IMediaStreamPlay.PAUSE_*
timecode - timecode (milliseconds)
pauseRaw
public void pauseRaw(int pauseType,
long timecode)
pauseRaw mediaPlayStream
Parameters:
pauseType - pause type. See IMediaStreamPlay.PAUSE_*
timecode - timecode (milliseconds)
setBufferTime
public void setBufferTime(int bufferTime)
Parameters:
bufferTime
setName
public void setName(String name,
String oldName,
String ext,
String queryStr,
double playStart,
double playLen,
int playTransition)
Set mediaPlayStream name, extension, query string, play start, play len, play reset
Parameters:
name - stream name
oldName - old stream name
ext - extension
queryStr - query string
playStart - play start
playLen - play len
playTransition - play reset
switchName
public void switchName(String name,
String oldName,
String ext,
String queryStr,
double playStart,
double playLen,
int playTransition)
Parameters:
name - stream name
oldName - old stream name
ext - stream extension
queryStr - query string
playStart - play start
playLen - play len
playTransition - play transition (see MediaBase.PLAYTRANSITION_*)
stopName
public void stopName(String name,
String oldName,
String ext,
String queryStr,
double playStart,
double playLen,
int playTransition)
Parameters:
name - stream name
oldName - old stream name
ext - stream extension
queryStr - query string
playStart - play start
playLen - play len
playTransition - play transition (see MediaBase.PLAYTRANSITION_*)
close
public void close()
Close mediaStreamPlay
interruptPlay
public void interruptPlay()
startPlay
public void startPlay()
switchPlay
public void switchPlay()
updateLoggingValues
public void updateLoggingValues()
length
public double length()
Returns:
length/duration (seconds)
size
public long size()
Returns:
media file size
getParent
public IMediaStream getParent()
Returns:
parent media stream object
initLiveStreamRepeating
public void initLiveStreamRepeating(String liveStreamPacketizer,
String liveStreamRepeater)
Parameters:
liveStreamPacketizer - live stream packetizer
liveStreamRepeater - live stream repeater name
[Link]
Interface IMediaStreamTimecodeControl
Method Summary
void resetTimecodes()
Methods
resetTimecodes
public void resetTimecodes()
[Link]
Interface IMediaWriter
IMediaWriter: generic media writer interface. The flv recording system using this interface to persist .flv data captured from the Flash
client. These classes are referenced in [install-dir]/conf/[Link].
This is a basic IMediaWriter implementation that can handle record and append.
import [Link].*;
import [Link];
import [Link].*;
import [Link].*;
import [Link].*;
import [Link];
import [Link].*;
if (isFirst)
{
long startTC = 0;
if ([Link]())
{
if (localAppend)
startTC = [Link](newFile);
else
{
if (versionFile)
[Link](newFile);
else
{
try
{
[Link]();
}
catch (Exception e)
{
}
}
}
}
else
localAppend = false;
[Link][FLVUtils.FLV_TCINDEXAUDIO] = startTC;
[Link][FLVUtils.FLV_TCINDEXVIDEO] = startTC;
[Link][FLVUtils.FLV_TCINDEXDATA] = startTC;
}
else
localAppend = true;
try
{
if ([Link]() == null)
if (isFirst)
{
if (!localAppend)
{
[Link](ds, 0.0, extraMetadata);
ByteBuffer data =
(ByteBuffer)[Link](0);
long tcA = ((Long)[Link](0)).longValue();
break;
}
if (writeZeroPacket)
{
[Link](ds, null, 0,
[Link][FLVUtils.FLV_TCINDEXAUDIO],
(byte) 0x08); //
write zero length audio block
}
}
}
[Link]();
[Link]();
}
catch (Exception e)
{
[Link]([Link]).error(
"MediaWriterFLV: Error writing to file:
"+[Link]()+" :"+[Link]());
[Link]();
}
if (isLast)
{
duration = [Link]([Link](currentTCs[FLVUtils.FLV_TCINDEXAUDIO],
currentTCs[FLVUtils.FLV_TCINDEXVIDEO]),
currentTCs[FLVUtils.FLV_TCINDEXDATA]);
double durationSecs = ((double)duration) / 1000.0;
[Link](newFile, durationSecs);
}
}
To use this class, edit [install-dir]/conf/MediaWriter and replace the definition for the flv MediaWriter:
<MediaWriter>
<Name>flv</Name>
<Description>FLV Media Writer</Description>
<FileExtension>flv</FileExtension>
<ClassBase>[Link]</ClassBase>
</MediaWriter>
This example illustrates how to write custom metadata into the recorded flv file on the fly.
long startTC = 0;
if ([Link]())
{
if (localAppend)
{
startTC = [Link](newFile);
keyFrames = getKeyFrames(newFile);
copyPacketsToTmpFile(newFile, tmpFile);
}
if (versionFile)
[Link](newFile);
else
{
try
{
[Link]();
}
catch (Exception e)
{
}
}
}
else
localAppend = false;
if (keyFrames == null)
keyFrames = new AMFDataArray();
[Link]("keyFrames", keyFrames);
[Link][FLVUtils.FLV_TCINDEXAUDIO] = startTC;
[Link][FLVUtils.FLV_TCINDEXVIDEO] = startTC;
[Link][FLVUtils.FLV_TCINDEXDATA] = startTC;
}
else
localAppend = true;
try
{
FileOutputStream ds = new FileOutputStream(tmpFile, localAppend);
[Link](ds, audioPackets, videoPackets, dataPackets,
if (isLast)
{
duration = [Link]([Link](currentTCs[FLVUtils.FLV_TCINDEXAUDIO],
currentTCs[FLVUtils.FLV_TCINDEXVIDEO]),
currentTCs[FLVUtils.FLV_TCINDEXDATA]);
double durationSecs = ((double)duration) / 1000.0;
try
{
AMFPacket packet = null;
FileOutputStream ds = new FileOutputStream(newFile);
[Link]();
[Link]();
[Link]();
}
catch (Exception e)
{
[Link]([Link]).error(
"MediaWriterFLVMetadata: Error tmp writing to
file: "+
[Link]()+" :"+[Link]());
}
}
}
{
AMFDataArray keyFrames = null;
try
{
AMFPacket packet = null;
FileOutputStream ds = new FileOutputStream(tmpFile);
[Link]();
[Link]();
}
catch (Exception e)
{
[Link]([Link]).error(
"MediaWriterFLVMetadata: Error copyPacketsToTmpFile:
"+
[Link]()+" :"+[Link]());
}
}
return keyFrames;
}
To use this class, edit [install-dir]/conf/MediaWriter and replace the definition for the flv MediaWriter:
<MediaWriter>
<Name>flv</Name>
<Description>FLV Media Writer</Description>
<FileExtension>flv</FileExtension>
<ClassBase>[Link]</ClassBase>
</MediaWriter>
Method Summary
long getDuration()
Get the recorded duration of the file in seconds
boolean isVersionFile()
Return true if the old file is to be versioned
boolean isWaitForVideoKeyFrame()
get wait for key frame
Methods
writePackets
public void writePackets([Link] audioPackets,
[Link] videoPackets,
[Link] dataPackets,
[Link] audioTCs,
[Link] videoTCs,
[Link] dataTCs,
[Link] dataTypes,
boolean isFirst,
boolean isLast)
Parameters:
audioPackets - List of audio packets
videoPackets - List of video packets
dataPackets - List of data packets
audioTCs - List of audio timecodes
videoTCs - List of video timecodes
dataTCs - List of data timecodes
dataTypes - list of integer packets types (IVHost.CONTENTTYPE_DATA0, IVHost.CONTENTTYPE_DATA3) - if
null assumed to be IVHost.CONTENTTYPE_DATA0
isFirst - true if first packet to be written
isLast - false if last packet to be written
setMediaWriterItem
public void setMediaWriterItem(MediaWriterItem mediaWriterItem)
Parameters:
mediaWriterItem - media write definition
setParent
public void setParent(IMediaStream parent)
Parameters:
parent
isVersionFile
public boolean isVersionFile()
Returns:
true if the old file is to be versioned
setVersionFile
public void setVersionFile(boolean versionFile)
Parameters:
versionFile
isWaitForVideoKeyFrame
public boolean isWaitForVideoKeyFrame()
Returns:
wait for key frame
setWaitForVideoKeyFrame
public void setWaitForVideoKeyFrame(boolean waitForVideoKeyFrame)
Set to true if you want the recorder to skip opening frames until it hits a key frame
Parameters:
waitForVideoKeyFrame - wait for key frame
putMetaData
public void putMetaData(String name,
AMFData value)
Add metadata to the metadata packet. Only metadata added before the first call to writePackets will be included in the file
Parameters:
name - field name
value - metadata value
getDuration
public long getDuration()
Returns:
recorded duration of the file in seconds
[Link]
Interface IMediaWriterActionNotify
Method Summary
void onFLVAddMetadata(IMediaStream stream, [Link] extraMetadata)
Called just before metadata is written to the file (FLV only)
Methods
onWriteComplete
public void onWriteComplete(IMediaStream stream,
[Link] file)
Parameters:
stream - stream
file - file handle
onFLVAddMetadata
public void onFLVAddMetadata(IMediaStream stream,
[Link] extraMetadata)
Parameters:
stream - stream
extraMetadata - additional metadata, add to this collection to add items to onMetadata event written to FLV file.
[Link]
Class MediaReaderEncInfo
[Link]
|
+-[Link]
Field Summary
public static final METHOD_NONE
Value: 0
Value: 1
Constructor Summary
public MediaReaderEncInfo()
Method Summary
void addPlayReadyDecryptorKey([Link]
decryptorKey)
int getEncMethod()
[Link] getPlayReadyDecryptorKey()
[Link]
fo
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
METHOD_NONE
public static final int METHOD_NONE
Constant value: 0
METHOD_SAMPLE_PLAYREADY
public static final int METHOD_SAMPLE_PLAYREADY
Constant value: 1
Constructors
MediaReaderEncInfo
public MediaReaderEncInfo()
Methods
addPlayReadyDecryptorKey
public void addPlayReadyDecryptorKey([Link]
decryptorKey)
getPlayReadyDecryptorKey
public [Link] getPlayReadyDecryptorKey()
getPlayReadyDecryptorKey
public [Link] getPlayReadyDecryptorKey(String
keyId)
getEncMethod
public int getEncMethod()
setEncMethod
public void setEncMethod(int encMethod)
[Link]
Class MediaStreamBase
[Link]
|
+-[Link]
|
+-[Link]
All Implemented Interfaces:
IMediaStream
Field Summary
public static p
Deprecated.
Constructor Summary
public MediaStreamBase()
Method Summary
void init(MediaStreamMap parent, int src, WMSProperties properties)
void publish()
void trim()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
sinfo
public static [Link] sinfo
Deprecated.
p
public static [Link] p
Deprecated.
Constructors
MediaStreamBase
public MediaStreamBase()
Methods
init
public void init(MediaStreamMap parent,
int src,
WMSProperties properties)
publish
public void publish()
trim
public void trim()
[Link]
Class MediaStreamMap
[Link]
|
+-[Link]
MediaStreamMap: collection of IMediaStream object. This collection is usually attached to an IApplicationInstance object.
Field Summary
protected appInstance
protected dvrRecorders
protected liveStreamPacketizers
Value: 65536
protected mediaStreamListeners
protected nameGroupId
protected nameGroups
protected nextStreamId
protected packetizerLicenses
protected streamLicenses
protected streamLock
protected streamNames
protected streamNamesLock
protected streamNameToGroup
protected streams
Constructor Summary
Method Summary
LicenseHolder addLicense(ILiveStreamPacketizer liveStreamPacketizer, int licenseType)
IApplicationInstance getAppInstance()
Get the parent applicationInstance.
String getAppInstanceName()
Get the name of the parent applicationInstance.
String getAppName()
Get the name of the parent application.
int getCount()
Get the total number of streams stored in the mediaStreamMap
[Link] getDvrRecorders()
Returns a list of ILiveStreamDvrRecorder objects
Object getLiveStreamPacketizerLock()
Get the lock to the live stream packetizer system
[Link] getNameGroups()
int getNextStreamIndex()
Reserve a clientless stream id for a new media stream.
int getNextStreamIndex([Link]
netConnection)
Reserve a stream for a netConnection connection.
[Link] getPublishStreamNames()
Returns a List of published stream names
[Link] getStreamListLock()
[Link]
[Link] Get the underlying read/write lock associated with the list of streams
teLock
[Link] getStreamNameLock()
[Link]
[Link] Get the underlying read/write lock associated with the stream names list
teLock
[Link] getStreams()
Returns a list of IMediaStream objects
IVHost getVHost()
Get the parent vHost.
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
MAXSTREAMINDEX
public static final int MAXSTREAMINDEX
streams
protected [Link] streams
streamNames
protected [Link] streamNames
streamLicenses
protected [Link] streamLicenses
packetizerLicenses
protected [Link] packetizerLicenses
streamNameToGroup
protected [Link] streamNameToGroup
nameGroups
protected [Link] nameGroups
nameGroupId
protected long nameGroupId
streamLock
protected [Link]
streamLock
streamNamesLock
protected [Link]
streamNamesLock
appInstance
protected [Link] appInstance
mediaStreamListeners
protected [Link] mediaStreamListeners
nextStreamId
protected [Link] nextStreamId
liveStreamPacketizers
protected [Link] liveStreamPacketizers
dvrRecorders
protected [Link] dvrRecorders
Constructors
MediaStreamMap
public MediaStreamMap(IApplicationInstance appInstance)
Parameters:
appInstance - parent applicationInstance
Methods
getStreamListLock
public [Link]
getStreamListLock()
Get the underlying read/write lock associated with the list of streams
Returns:
getStreamNameLock
public [Link]
getStreamNameLock()
Get the underlying read/write lock associated with the stream names list
Returns:
underlying read/write lock associated with the stream names list
getPublishStreamNames
public [Link] getPublishStreamNames()
Returns:
List of published stream names
getStreams
public [Link] getStreams()
Returns:
list of IMediaStream objects
getStream
public IMediaStream getStream(IClient client,
int index)
Parameters:
client - client
index - stream id
Returns:
media stream object or null if does not exist.
getStreamClientless
public IMediaStream getStreamClientless(int index,
String streamTypeStr)
Get a media stream reference by stream id. If it does not exist, create a new one with the given id. This is a clientless stream that
is served by the backend of the server. If creating a new media stream object, its id must first be obtained by calling
getNextStreamIndex() .
Parameters:
index - stream id
streamTypeStr - stream type
Returns:
media stream object
getStream
public IMediaStream getStream(IClient client,
int index,
boolean doCreate)
Get a media stream reference by stream id. If it does not exist, create a new one with the given id. If creating a new media
stream object, its id must first be obtained by calling getNextStreamIndex(IClient).
Parameters:
client - client
index - stream id
doCreate - true to create if it does not exist
Returns:
media stream object
getStream
public IMediaStream getStream([Link]
netConnection,
int index)
Get a media stream object that is owned by a server to server netConnection object (not yet implemented).
Parameters:
netConnection - netConnection to remote server
index - stream id
Returns:
media stream object or null if does not exist
getStream
public IMediaStream getStream([Link]
netConnection,
int index,
boolean doCreate)
Get a media stream reference by stream id. If it does not exist, create a new one with the given id. If creating a new media
stream object, its id must first be obtained by calling getNextStreamIndex(INetConnection) .
Parameters:
netConnection - netConnection to remote server
index - stream id
doCreate - true to create if it does not exist
Returns:
media stream object
getStream
public IMediaStream getStream(String name)
Get a media stream by stream name. Only published live streams are stored in the mediaStreamMap by name. This method is
used to lookup a published live stream by name.
Parameters:
name - stream name
Returns:
media stream object or null if does not exist
setStreamName
public void setStreamName(IMediaStream stream,
String name)
Parameters:
stream - mediea stream object
name - media stream name
clearStreamName
public void clearStreamName(String name)
Parameters:
name - stream name
streamToIndex
public long streamToIndex(IMediaStream stream)
Parameters:
stream - stream
Returns:
unique stream identifier
clearStreamName
public void clearStreamName(String name,
IMediaStream stream)
Parameters:
name - stream name
stream - stream
getNextStreamIndex
public int getNextStreamIndex([Link]
netConnection)
Reserve a stream for a netConnection connection. Use getStream(INetConnection, int, boolean) to create stream.
Parameters:
netConnection
Returns:
next stream index
getNextStreamIndex
public int getNextStreamIndex(IClient client)
Reserve a stream for a client connection. Use getStream(IClient, int, boolean) to create stream.
Parameters:
client - parent client
Returns:
stream index
getNextStreamIndex
public int getNextStreamIndex()
Reserve a clientless stream id for a new media stream. Use this method to obtain a stream id for a new media stream object that
is then created with a call to getClientlessStream().
Returns:
new reserved stream id
getCount
public int getCount()
Returns:
total number of streams stored in the mediaStreamMap
removeStream
public void removeStream([Link] netConnection,
int index)
Parameters:
netConnection - net connection
index - stream index
removeStream
public void removeStream(IClient client,
int index)
Parameters:
client - client
index - stream index
removeStream
public void removeStream(int index)
Parameters:
index - stream index
getAppName
public String getAppName()
Returns:
parent application name.
getAppInstanceName
public String getAppInstanceName()
Returns:
parent applicationInstance name
getVHost
public IVHost getVHost()
Returns:
parent vHost
getAppInstance
public IApplicationInstance getAppInstance()
Returns:
parent applicationInstance
notifyPlayUnpublish
public void notifyPlayUnpublish(IMediaStream stream)
Notify all play streams that are listening to this stream that the stream is going into a state of unpublished
([Link]).
Parameters:
stream - live published stream that is being unpublished
notifyPlayUnpublish
public void notifyPlayUnpublish(String streamName)
Notify all play streams that are listening to this stream name that the stream is going into a state of unpublished
([Link]).
Parameters:
streamName - live published stream that is being unpublished
broadcastGetObjectEncoding
public int broadcastGetObjectEncoding(IMediaStream stream)
Get the minimum object encoding level for the clients playing this stream.
Parameters:
stream - publish stream
Returns:
object encoding level (AMF0 or AMF3)
broadcasePlayMessage
public void broadcasePlayMessage(IMediaStream stream,
long timecode,
[Link] msg,
int objectEncoding)
Send a broadcast message to all play stream that are listening to this live published stream.
Parameters:
stream - media stream
timecode - timecode (milliseconds)
msg - byte[] of data that will be deserialized as an AMFData object.
objectEncoding - object encoding (AMF0 or AMF3)
notifyPlayPublish
public void notifyPlayPublish(IMediaStream stream)
Notify all play streams that are listening to this stream that the stream is going into a state of publish
([Link]).
Parameters:
stream - live published stream that is being published
addMediaStreamListener
public void addMediaStreamListener(IMediaStreamNotify mediaStreamListener)
Add a media stream listener. A media stream listener will receive the following events: onMediaStreamCreate,
onMediaStreamDestroy.
Parameters:
mediaStreamListener - media stream listener
removeMediaStreamListener
public void removeMediaStreamListener(IMediaStreamNotify mediaStreamListener)
Parameters:
mediaStreamListener - media stream listener
notifyMediaStreamCreate
public void notifyMediaStreamCreate(IMediaStream mediaStream)
Notify all media stream listeners that a new media stream object has been created.
Parameters:
mediaStream - new media stream object
notifyMediaStreamDestroy
public void notifyMediaStreamDestroy(IMediaStream mediaStream)
Notify all media stream listeners that a media stream object is being destroyed.
Parameters:
mediaStream - media stream object being destroyed
removeLiveStreamPacketizer
public void removeLiveStreamPacketizer(String streamName)
Parameters:
streamName - streamName
removeLiveStreamPacketizer
public ILiveStreamPacketizer removeLiveStreamPacketizer(String streamName,
String packetizerName)
Parameters:
streamName - stream name
packetizerName - packetizer id
Returns:
live stream packetizer
getLiveStreamPacketizerLock
public Object getLiveStreamPacketizerLock()
Returns:
lock to the live stream packetizer system
getLiveStreamPacketizer
public ILiveStreamPacketizer getLiveStreamPacketizer(String streamName,
String packetizerName,
boolean doCreate)
Parameters:
Returns:
live stream packetizer
getNextNameGroupId
public long getNextNameGroupId(MediaStreamMapGroup newGroup)
addNameGroup
public MediaStreamMapGroup addNameGroup(MediaStreamMapGroup newGroup)
removeNameGroup
public MediaStreamMapGroup removeNameGroup(int groupId)
removeNameGroup
public MediaStreamMapGroup removeNameGroup(MediaStreamMapGroup nameGroup)
getNameGroups
public [Link] getNameGroups()
getNameGroupByGroupName
public MediaStreamMapGroup getNameGroupByGroupName(String groupName)
getNameGroups
public [Link] getNameGroups(String streamName)
getNameGroupStreamNames
public [Link] getNameGroupStreamNames(String streamName)
getDvrRecorder
public ILiveStreamDvrRecorder getDvrRecorder(String streamName,
String recorderName,
boolean doCreate)
Parameters:
streamName - stream name
recorderName - packetizer id
doCreate - create if does not exist
Returns:
dvr recorder
removeDvrRecorder
public void removeDvrRecorder(String streamName)
removeDvrRecorder
public ILiveStreamDvrRecorder removeDvrRecorder(String streamName,
String recorderName)
Parameters:
streamName - stream name
recorderName - recorder name
Returns:
DVR Recorder
getDvrRecorders
public [Link] getDvrRecorders()
Returns:
list of ILiveStreamDvrRecorder objects
addLicense
public LicenseHolder addLicense(IMediaStream stream,
int licenseType)
addLicense
public LicenseHolder addLicense(ILiveStreamPacketizer liveStreamPacketizer,
int licenseType)
[Link]
Interface IDvrStreamManagerActionNotify
All Subinterfaces:
IDvrStreamManagerActionNotify2
Method Summary
void onDvrStreamManagerCreate(IDvrStreamManager dvrMgr)
Called when DVR stream manager created but before it is initialized.
Methods
onDvrStreamManagerCreate
public void onDvrStreamManagerCreate(IDvrStreamManager dvrMgr)
Parameters:
dvrMgr - DVR stream manager
onDvrStreamManagerInit
public void onDvrStreamManagerInit(IDvrStreamManager dvrMgr)
Parameters:
dvrMgr - DVR stream manager
onDvrStreamManagerDestroy
public void onDvrStreamManagerDestroy(IDvrStreamManager dvrMgr)
Parameters:
dvrMgr - DVR stream manager
[Link]
Interface IDvrStreamManagerActionNotify2
All Superinterfaces:
IDvrStreamManagerActionNotify
Method Summary
void onDvrStreamManagerCreate(IDvrStreamManager dvrMgr)
Called when DVR stream manager created but before it is initialized.
Methods
onDvrStreamManagerCreate
public void onDvrStreamManagerCreate(IDvrStreamManager dvrMgr)
Parameters:
dvrMgr - DVR stream manager
onDvrStreamManagerInit
public void onDvrStreamManagerInit(IDvrStreamManager dvrMgr)
Parameters:
dvrMgr - DVR stream manager
onDvrStreamManagerDestroy
public void onDvrStreamManagerDestroy(IDvrStreamManager dvrMgr)
Parameters:
dvrMgr - DVR stream manager
onDvrStreamManagerInitStreamName
public void onDvrStreamManagerInitStreamName(IDvrStreamManager dvrManager,
String streamName)
[Link]
Interface ILiveStreamDvrRecorder
Method Summary
boolean canRecordAudio()
True if audio is being recorded
boolean canRecordData()
True if data is being recorded
boolean canRecordVideo()
True if video is being recorded
IApplicationInstance getAppInstance()
Get associated applicationInstance.
IDvrStreamManager getDvrManager()
Get DVR recorder's associated DVR stream manager
int getDvrRecorderId()
Get the DVR recorder id
LicenseHolder getLicenseHolder()
WMSProperties getProperties()
Get properties
String getRecordingName()
IMediaStream getStream()
Get the current stream that is being recorded
boolean isActive()
Is the DVR recorder active
boolean isRecording()
Is this stream currently recording.
boolean isRecordingPaused()
Is this stream currently paused from recording.
boolean pauseRecording()
Request that stream recording pause.
boolean resumeRecording()
Request that stream recording resume.
boolean shouldStartRecordingOnStartup()
Should DVR start recording when packets start flowing.
void shutdown()
Called to shutdown the DVR recorder
IDvrStreamManager startRecording()
Request that stream recording start.
boolean stopRecording()
Request that stream recording stop.
Methods
init
public void init(String streamName,
String recorderName,
IApplicationInstance appInstance,
DvrRecorderItem dvrRecorderItem)
Parameters:
streamName - stream name
shutdown
public void shutdown()
getStream
public IMediaStream getStream()
Returns:
stream
getAppInstance
public IApplicationInstance getAppInstance()
Returns:
application Instance
handlePacket
public void handlePacket(IMediaStream stream,
AMFPacket packet)
Parameters:
stream - stream
packet - packet
startStream
public void startStream(IMediaStream stream)
Parameters:
stream - stream
resetStream
public void resetStream(IMediaStream stream)
Parameters:
stream - stream
touch
public void touch(long timecode)
Parameters:
timecode - timecode of touch in milliseconds
isActive
public boolean isActive()
Returns:
true if active
getProperties
public WMSProperties getProperties()
Get properties
Returns:
properties
getDvrRecorderId
public int getDvrRecorderId()
Returns:
DVR recorder id
setDvrRecorderId
public void setDvrRecorderId(int liveStreamId)
Parameters:
liveStreamId
getDvrManager
public IDvrStreamManager getDvrManager()
Returns:
DVR manager
canRecordAudio
public boolean canRecordAudio()
Returns:
True if audio is being recorded
setRecordAudio
public void setRecordAudio(boolean recordAudio)
Parameters:
recordAudio - true to record audio
canRecordVideo
public boolean canRecordVideo()
Returns:
True if video is being recorded
setRecordVideo
public void setRecordVideo(boolean recordVideo)
Parameters:
recordVideo - true to record video
canRecordData
public boolean canRecordData()
Returns:
True if data is being recorded
setRecordData
public void setRecordData(boolean recordVideo)
Parameters:
recordVideo - true to record data
startRecording
public IDvrStreamManager startRecording()
Returns:
stream manager if successful. null otherwise.
isRecording
public boolean isRecording()
Is this stream currently recording. If this stream is not recordable, the method returns false.
Returns:
true if has a recording stream and it is recording.
isRecordingPaused
public boolean isRecordingPaused()
Is this stream currently paused from recording. If this stream is not recording and not paused, the method returns false.
Returns:
true if has a recording is paused.
stopRecording
public boolean stopRecording()
Request that stream recording stop. Note that this call places the DVR stream in the not recording state.
Success only occurs if the stream is already in the recording state [Link]().
Returns:
store if successful. null otherwise.
pauseRecording
public boolean pauseRecording()
Request that stream recording pause. The stream does not have to be actively recording to be paused. For example, it could be
paused before packets start flowing.
Returns:
store if successful. null otherwise.
resumeRecording
public boolean resumeRecording()
Request that stream recording resume. The stream does not have to be actively recording to be resumed. For example, it could
have been paused before the stream started, and this call would move it out of the paused state.
Returns:
store if successful. null otherwise.
setRecordingName
public void setRecordingName(String name)
getRecordingName
public String getRecordingName()
shouldStartRecordingOnStartup
public boolean shouldStartRecordingOnStartup()
Returns:
true if should start recording initially, false otherwise
setStartRecordingOnStartup
public void setStartRecordingOnStartup(boolean shouldStartRecordingOnStartup)
Parameters:
shouldStartRecordingOnStartup - should recording start when DVR manager starts.
getLicenseHolder
public LicenseHolder getLicenseHolder()
[Link]
Interface ILiveStreamDvrRecorderActionNotify
Method Summary
void onLiveStreamDvrRecorderCreate(ILiveStreamDvrRecorder recorder, String
streamName)
Called when recorder created
Methods
onLiveStreamDvrRecorderCreate
public void onLiveStreamDvrRecorderCreate(ILiveStreamDvrRecorder recorder,
String streamName)
Parameters:
recorder - recorder
streamName - stream name
onLiveStreamDvrRecorderInit
public void onLiveStreamDvrRecorderInit(ILiveStreamDvrRecorder recorder,
String streamName)
Parameters:
recorder - recorder
streamName - stream name
onLiveStreamDvrRecorderDestroy
public void onLiveStreamDvrRecorderDestroy(ILiveStreamDvrRecorder recorder)
Parameters:
recorder - recorder
[Link]
Interface ILiveStreamDvrRecorderControl
ILiveStreamDvrRecorderControl: interface to control which recorders are run for which streams.
See Also:
[Link](ILiveStreamDvrRecorderControl)
Method Summary
boolean shouldDvrRecord(String recorderName, IMediaStream stream)
Returns true if given string should be recorded.;
Methods
shouldDvrRecord
public boolean shouldDvrRecord(String recorderName,
IMediaStream stream)
Parameters:
recorderName - recorder name
stream - stream
Returns:
true to record
[Link]
Interface ILiveStreamPacketizer
All Subinterfaces:
IDvrStreamManager
Method Summary
IMediaStream getAndSetStartStream(IMediaStream stream)
Get the current stream that is being packetized
IApplicationInstance getApplicationInstance()
Get the application instance associated with this live stream packetizer.
int getLiveStreamPacketizerId()
Get the live stream packetizer id
WMSProperties getProperties()
Get properties
long getRepeaterLastSeqence()
Get the sequence number of the last added repeater item
boolean isActive()
Is the live stream packetizer active
boolean isPacketizeAudio()
True if audio is being packetized
boolean isPacketizeData()
True if data is being packetized
boolean isPacketizeVideo()
True if video is being packetized
boolean isRepeaterEdge()
Is this packetizer a live repeater edge
void shutdown()
Called to shutdown the live stream packetizer
Methods
init
public void init(String streamName,
String packetizerName,
IApplicationInstance appInstance,
LiveStreamPacketizerItem liveStreamPacketizerItem)
Parameters:
streamName - stream name
packetizerName - packetizer name
appInstance - application instance
liveStreamPacketizerItem - live stream packetizer
shutdown
public void shutdown()
isActive
public boolean isActive()
Returns:
true if active
getProperties
public WMSProperties getProperties()
Get properties
Returns:
properties
getRepeaterLastSeqence
public long getRepeaterLastSeqence()
Returns:
sequence number
getLiveStreamPacketizerId
public int getLiveStreamPacketizerId()
Returns:
live stream packetizer id
setLiveStreamPacketizerId
public void setLiveStreamPacketizerId(int id)
Parameters:
id
handlePacket
public void handlePacket(IMediaStream stream,
AMFPacket packet)
Parameters:
stream - stream
packet - packet
startStream
public void startStream(IMediaStream stream)
Parameters:
stream - stream
resetStream
public void resetStream(IMediaStream stream)
Parameters:
stream - stream
touch
public void touch(long timecode)
Parameters:
timecode - timecode of touch in milliseconds
isRepeaterEdge
public boolean isRepeaterEdge()
Returns:
true if live repeater edge
setRepeaterEdge
public void setRepeaterEdge(boolean isRepeaterEdge)
Parameters:
isRepeaterEdge - is live repeater edge
isPacketizeAudio
public boolean isPacketizeAudio()
Returns:
True if audio is being packetized
setPacketizeAudio
public void setPacketizeAudio(boolean packetizeAudio)
Parameters:
packetizeAudio - true to packetize audio
isPacketizeVideo
public boolean isPacketizeVideo()
Returns:
True if video is being packetized
setPacketizeVideo
public void setPacketizeVideo(boolean packetizeVideo)
Parameters:
packetizeVideo - true to packetize video
isPacketizeData
public boolean isPacketizeData()
Returns:
True if data is being packetized
setPacketizeData
public void setPacketizeData(boolean packetizeVideo)
Parameters:
packetizeVideo - true to packetize data
getAndSetStartStream
public IMediaStream getAndSetStartStream(IMediaStream stream)
Returns:
stream
getApplicationInstance
public IApplicationInstance getApplicationInstance()
Get the application instance associated with this live stream packetizer.
Returns:
application instance
[Link]
Interface ILiveStreamPacketizerActionNotify
Method Summary
void onLiveStreamPacketizerCreate(ILiveStreamPacketizer
liveStreamPacketizer, String streamName)
Called when packetizer created
void onLiveStreamPacketizerDestroy(ILiveStreamPacketizer
liveStreamPacketizer)
Called when packetizer destroyed
Methods
onLiveStreamPacketizerCreate
public void onLiveStreamPacketizerCreate(ILiveStreamPacketizer liveStreamPacketizer,
String streamName)
Parameters:
liveStreamPacketizer - packetizer
streamName - stream name
onLiveStreamPacketizerDestroy
public void onLiveStreamPacketizerDestroy(ILiveStreamPacketizer liveStreamPacketizer)
Parameters:
liveStreamPacketizer - packetizer
onLiveStreamPacketizerInit
public void onLiveStreamPacketizerInit(ILiveStreamPacketizer liveStreamPacketizer,
String streamName)
Parameters:
liveStreamPacketizer - packetizer
streamName - stream name
[Link]
Interface ILiveStreamPacketizerControl
ILiveStreamPacketizerControl: interface to control which packetizers are run for which streams. See:
[Link](ILiveStreamPacketizerControl liveStreamPacketizerControl)
Method Summary
boolean isLiveStreamPacketize(String packetizer, IMediaStream stream)
Return true to packetize stream
Methods
isLiveStreamPacketize
public boolean isLiveStreamPacketize(String packetizer,
IMediaStream stream)
Parameters:
packetizer - packetizer name
stream - stream
Returns:
true to packetize
[Link]
Interface ILiveStreamTranscoder
Field Summary
public static final TRANSCODERTYPE_LIVE
Value: 1
Value: 2
Method Summary
void close(IMediaStream stream)
Called when live stream transcoder is stream is closed
IApplicationInstance getAppInstance()
Get the application instance associated with this live stream transcoder.
String getContextStr()
Get the streaming context for this live stream transcoder.
LicenseHolder getLicenseHolder()
Get license holder.
LiveStreamTranscoderI getLiveStreamTranscoderItem()
tem
Get the definition for live stream transcoder.
WMSProperties getProperties()
Get the user properties
String getStreamName()
Get the stream name of the source stream.
String getTranscoderName()
Get the live stream transcoder name
int getTranscoderType()
Get the live stream transcoder type.
boolean isTemplateLoaded()
Is the transcoder template loaded.
void setLiveStreamTranscoderItem(LiveStreamTranscoderItem
liveStreamTranscoderItem)
Set the definition for live stream transcoder.
Fields
TRANSCODERTYPE_LIVE
public static final int TRANSCODERTYPE_LIVE
Constant value: 1
TRANSCODERTYPE_VOD
public static final int TRANSCODERTYPE_VOD
Constant value: 2
Methods
init
public void init(String streamName,
IMediaStream stream,
String transcoderName,
IApplicationInstance appInstance,
LiveStreamTranscoderItem liveStreamTranscoderItem)
Parameters:
streamName - stream name
transcoderName - transcoder name
appInstance - application instance
liveStreamTranscoderItem - live stream transcoder config item
handlePacket
public void handlePacket(IMediaStream stream,
AMFPacket packet)
Parameters:
stream - stream
packet - packet
handleOnMetadata
public void handleOnMetadata(IMediaStream stream,
AMFPacket packet,
long timecode,
boolean isSetDataFrame)
Parameters:
stream - stream
packet - packet
timecode - timecode (milliseconds)
isSetDataFrame - is SetDataFrame call
resetStream
public void resetStream(IMediaStream stream)
Parameters:
stream - stream interface
close
public void close(IMediaStream stream)
Parameters:
stream - stream interface
shutdown
public void shutdown(IMediaStream stream)
Parameters:
getStreamName
public String getStreamName()
Returns:
stream name of the source stream
setStreamName
public void setStreamName(String streamName)
Parameters:
streamName - source stream name
getTranscoderName
public String getTranscoderName()
Returns:
live stream transcoder name
setTranscoderName
public void setTranscoderName(String transcoderName)
Parameters:
transcoderName - live stream transcoder name
getAppInstance
public IApplicationInstance getAppInstance()
Get the application instance associated with this live stream transcoder.
Returns:
application instance associated with this live stream transcoder
setAppInstance
public void setAppInstance(IApplicationInstance appInstance)
Set the application instance associated with this live stream transcoder.
Parameters:
appInstance - application instance associated with this live stream transcoder
getLiveStreamTranscoderItem
public LiveStreamTranscoderItem getLiveStreamTranscoderItem()
Returns:
definition for live stream transcoder
setLiveStreamTranscoderItem
public void setLiveStreamTranscoderItem(LiveStreamTranscoderItem
liveStreamTranscoderItem)
Parameters:
liveStreamTranscoderItem - definition for live stream transcoder
getProperties
public WMSProperties getProperties()
Returns:
user properties
getLicenseHolder
public LicenseHolder getLicenseHolder()
Returns:
license holder
isTranscoderActive
public boolean isTranscoderActive(long currTime)
Parameters:
currTime - current timecode in milliseconds
Returns:
true if the transcoder is actively receiving packets
isTemplateLoaded
public boolean isTemplateLoaded()
Returns:
true if transcoder template is loaded.
getContextStr
public String getContextStr()
Returns:
streaming context for this live stream transcoder
getTranscoderType
public int getTranscoderType()
Returns:
live stream transcoder type
setTranscoderType
public void setTranscoderType(int transcoderType)
Parameters:
transcoderType - live stream transcoder type
[Link]
Interface ILiveStreamTranscoderControl
Method Summary
boolean isLiveStreamTranscode(String transcoder, IMediaStream stream)
Called each time a new publishing stream is started.
Methods
isLiveStreamTranscode
public boolean isLiveStreamTranscode(String transcoder,
IMediaStream stream)
Called each time a new publishing stream is started. Return true if you wish stream to be transcoded. See
[Link](ILiveStreamTranscoderControl)
Parameters:
transcoder - name of transcoder
stream - stream interface
Returns:
true if wish stream to be transcoded
[Link]
Interface ILiveStreamTranscoderNotify
ILiveStreamTranscoderNotify: Listener interface for listening for new live stream transcoders. See
[Link](ILiveStreamTranscoderNotify)
Method Summary
void onLiveStreamTranscoderCreate(ILiveStreamTranscoder
liveStreamTranscoder, IMediaStream stream)
Triggered when live stream transcoder is created.
void onLiveStreamTranscoderDestroy(ILiveStreamTranscoder
liveStreamTranscoder, IMediaStream stream)
Triggered when live stream transcoder is destroyed.
Methods
onLiveStreamTranscoderCreate
public void onLiveStreamTranscoderCreate(ILiveStreamTranscoder liveStreamTranscoder,
IMediaStream stream)
Parameters:
liveStreamTranscoder - live stream transcoder
stream - source stream
onLiveStreamTranscoderDestroy
public void onLiveStreamTranscoderDestroy(ILiveStreamTranscoder liveStreamTranscoder,
IMediaStream stream)
Parameters:
liveStreamTranscoder - live stream transcoder
stream - source stream
onLiveStreamTranscoderInit
public void onLiveStreamTranscoderInit(ILiveStreamTranscoder liveStreamTranscoder,
IMediaStream stream)
Parameters:
liveStreamTranscoder - live stream transcoder
stream - source stream
[Link]
Interface IPublishingProvider
All Known Implementing Classes:
PublishingProviderMediaReader, PublishingProviderLive
Method Summary
void close()
Invoked on stream close
boolean isSendOnMetadata()
Get to send onMetadata event when stream starts
Methods
play
public boolean play(Publisher publisher)
Invoked on play
Parameters:
publisher - publisher
Returns:
true if successful
close
public void close()
seek
public boolean seek(long timecode,
int seekType)
Invoked on seek
Parameters:
timecode - target timecode
seekType - seek type, see IMediaReader.SEEKTARGET_*
Returns:
true, if seek successful
seek
public boolean seek(long timecode)
Invoked on seek
Parameters:
timecode - target timecode
Returns:
true, if seek successful
setDuration
public void setDuration(long duration)
Parameters:
duration - duration for playback (milliseconds)
setRealTimeStartTime
public void setRealTimeStartTime(long realTimeStartTime)
Parameters:
realTimeStartTime - real start time (milliseconds)
setSendOnMetadata
public void setSendOnMetadata(boolean sendOnMetadata)
Parameters:
sendOnMetadata - true to send onMetadata event
isSendOnMetadata
public boolean isSendOnMetadata()
Returns:
true to send onMetadata event
[Link]
Interface IStreamActionNotify
IStreamActionNotify: listener interface to Stream class for playlist items. See [Link](IStreamActionNotify listener)
Method Summary
void onPlaylistItemStart(Stream stream, PlaylistItem playlistItem)
Invoked when playlist item playback is started
Methods
onPlaylistItemStart
public void onPlaylistItemStart(Stream stream,
PlaylistItem playlistItem)
Parameters:
stream - stream
playlistItem - playlist item
onPlaylistItemStop
public void onPlaylistItemStop(Stream stream,
PlaylistItem playlistItem)
Parameters:
stream - stream
playlistItem - playlist item
[Link]
Class Playlist
[Link]
|
+-[Link]
Constructor Summary
public Playlist(String sName)
Class constructor - A simple structure that maintains a list of playlist items.
Method Summary
void addItem(String sName, int start, int length)
Appends an item to this playlist
[Link] getItems()
Get the items in the playlist (returns a copy of the list)
String getName()
Returns the name of this playlist as defined in the XML definition file
boolean getRepeat()
boolean open(Stream s)
Opens this playlist on the given stream...
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
Playlist
public Playlist(String sName)
Parameters:
sName - - name of playlist - as defined in the XML definition file
Methods
getItems
public [Link] getItems()
Returns:
items in the playlist (returns a copy of the list)
getRepeat
public boolean getRepeat()
setRepeat
public void setRepeat(boolean repeat)
addItem
public void addItem(String sName,
int start,
int length)
Parameters:
sName - - item name
start - - start seconds
length - - playlength seconds
removeItem
public void removeItem(int index)
Parameters:
index - index of item to remove
open
public boolean open(Stream s)
Opens this playlist on the given stream... stopping anything currently playing on that stream and switching over.
Parameters:
s - - stream to play on
Returns:
- true if successful
getName
public String getName()
Returns the name of this playlist as defined in the XML definition file
Returns:
name of this playlist
[Link]
Class PlaylistItem
[Link]
|
+-[Link]
Constructor Summary
public PlaylistItem(String name, int start, int length, int index)
Class constructor - A simple structure to define parameters associated with a playlist item
Method Summary
int getIndex()
int getLength()
Number of seconds of track to play
String getName()
Name of playlist stream
int getStart()
Number of seconds into track to start from
String toString()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
PlaylistItem
public PlaylistItem(String name,
int start,
int length,
int index)
Class constructor - A simple structure to define parameters associated with a playlist item
Parameters:
name - - name of the playlist stream
start - - number of seconds into the track to start from (-2 means live stream)
Methods
getName
public String getName()
Returns:
- name of stream
getStart
public int getStart()
Returns:
- number of seconds
getLength
public int getLength()
Returns:
- number of seconds
getIndex
public int getIndex()
setIndex
public void setIndex(int index)
toString
public String toString()
[Link]
Class Publisher
[Link]
|
+-[Link]
Publisher: clientless stream publisher. This class can be used to publish raw video, audio and metadata packets to the Wowza Pro server.
Here is a quick snippet of code that illustrates how to use it.
This code below will publish data the stream named "myStream". It will be streamed to the default virtual host and avaible at the rtmp
address rtmp://[server-ip-address]/streamtest.
[Link]("flv");
[Link]("live");
[Link]("myStream", "live");
switch ([Link]())
{
case IVHost.CONTENTTYPE_AUDIO:
[Link]([Link](), [Link](),
[Link]());
break;
case IVHost.CONTENTTYPE_VIDEO:
[Link]([Link](), [Link](),
[Link]());
break;
case IVHost.CONTENTTYPE_DATA:
[Link]([Link](), [Link](),
[Link]());
break;
}
if (done)
break;
}
[Link]();
[Link]();
Audio:
AAC
[1-byte header]
[1-byte codec config indicator (1 - audio data, 0 - codec config packet)]
[n-bytes audio content or codec config data]
All others
[1-byte header]
[n-bytes audio content]
Note: For AAC the codec config data is generally a two byte packet that describes the stream.
It must
be published first. Here is the basic code to fill in the codec config data.
Note: For Speex the audio data must be encoded as 16000Hz wide band
Video:
H.264
[1-byte header]
[1-byte codec config indicator (1 - video data, 0 - codec config packet)]
[3-byte time difference between dts and pts in milliseconds]
[n-bytes video content or codec config data]
All others
[1-byte header]
[n-bytes audio content]
Below is the bit layout of the header byte of data (table goes from least significant bit to
most significant bit):
Note: H.264 codec config data is the same as the AVCc packet in a QuickTime container.
Method Summary
void close()
Close the publisher
void createStream()
Create underlying IMediaStream object if not already created
void flush()
Flush the packets from the input buffer to the output buffer
IApplicationInstance getAppInstance()
String getFileExtension()
Get the file extension (default flv)
long getLastAudioTimecode()
Get last audio timecode written through this publisher (millseconds).
long getLastDataTimecode()
Get last data timecode written through this publisher (millseconds).
long getLastVideoTimecode()
Get last video timecode written through this publisher (millseconds).
long getMaxTimecode()
Highest timecode written through this publisher (millseconds).
IMediaStream getStream()
Get the media stream object
String getStreamType()
boolean isPublishDataEvents()
void unpublish()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Methods
createInstance
public static Publisher createInstance(IVHost vhost,
String applicationName)
createInstance
public static Publisher createInstance(IVHost vhost,
String applicationName,
String appInstanceName)
createInstance
public static Publisher createInstance(IApplicationInstance appInstance)
getStream
public IMediaStream getStream()
Returns:
media stream object
getStreamType
public String getStreamType()
setStreamType
public void setStreamType(String streamType)
Parameters:
streamType - stream type
publish
public void publish(String streamName)
Parameters:
streamName - stream name
getFileExtension
public String getFileExtension()
Returns:
file extension
setFileExtension
public void setFileExtension(String fileExtension)
Parameters:
fileExtension - file extension
getAppInstance
public IApplicationInstance getAppInstance()
unpublish
public void unpublish()
createStream
public void createStream()
publish
public void publish(String streamName,
String howToPublish)
Start publishing a stream (streamName = null to stop). Valid howToPublish values are (live, record, append)
Parameters:
streamName - stream name
howToPublish - publish method (live, record, append)
addVideoData
public void addVideoData(byte[] data,
long timecode)
Parameters:
data - data
timecode - absolute timecode (milliseconds)
addVideoData
public void addVideoData(byte[] data,
int len,
long timecode)
Parameters:
data - data
addVideoData
public void addVideoData(byte[] data,
int offset,
int len,
long timecode)
Parameters:
data - data
offset - offset
len - data length
timecode - absolute timecode (milliseconds)
startVideoData
public void startVideoData(int len,
long timecode)
addVideoDataInc
public void addVideoDataInc(byte[] data,
int offset,
int len)
startAudioData
public void startAudioData(int len,
long timecode)
addAudioDataInc
public void addAudioDataInc(byte[] data,
int offset,
int len)
addAudioData
public void addAudioData(byte[] data,
long timecode)
Parameters:
data - data
timecode - absolute timecode (milliseconds)
addAudioData
public void addAudioData(byte[] data,
int len,
long timecode)
Parameters:
data - data
len - data length
timecode - absolute timecode (milliseconds)
addAudioData
public void addAudioData(byte[] data,
int offset,
int len,
long timecode)
Parameters:
data - data
len - data length
offset - offset
timecode - absolute timecode (milliseconds)
addDataData
public void addDataData(byte[] data,
long timecode)
Add metadata
Parameters:
data - data
timecode - absolute timecode (milliseconds)
addDataData
public void addDataData(byte[] data,
int len,
long timecode)
Add metadata
Parameters:
data - data
len - data length
timecode - absolute timecode (milliseconds)
addDataData
public void addDataData(byte[] data,
int offset,
int len,
long timecode)
Add metadata
Parameters:
data - data
offset - offset
len - data length
timecode - absolute timecode (milliseconds)
startDataData
public void startDataData(int len,
long timecode)
addDataDataInc
public void addDataDataInc(byte[] data,
int offset,
int len)
flush
public void flush()
Flush the packets from the input buffer to the output buffer
close
public void close()
getMaxTimecode
public long getMaxTimecode()
Returns:
highest timecode written through this publisher (millseconds)
getLastAudioTimecode
public long getLastAudioTimecode()
Returns:
last audio timecode written through this publisher (millseconds).
getLastVideoTimecode
public long getLastVideoTimecode()
Returns:
getLastDataTimecode
public long getLastDataTimecode()
Returns:
last data timecode written through this publisher (millseconds).
isPublishDataEvents
public boolean isPublishDataEvents()
setPublishDataEvents
public void setPublishDataEvents(boolean publishDataEvents)
[Link]
Class PublishingProviderBase
[Link]
|
+-[Link]
Direct Known Subclasses:
PublishingProviderMediaReader, PublishingProviderLive
Field Summary
protected sendOnMetadata
Constructor Summary
public PublishingProviderBase()
Method Summary
boolean isSendOnMetadata()
True to send onMetadata event on stream start
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
sendOnMetadata
protected boolean sendOnMetadata
Constructors
PublishingProviderBase
public PublishingProviderBase()
Methods
isSendOnMetadata
public boolean isSendOnMetadata()
Returns:
True to send onMetadata event on stream start
setSendOnMetadata
public void setSendOnMetadata(boolean sendOnMetadata)
Parameters:
sendOnMetadata - True to send onMetadata event on stream start
[Link]
Class PublishingProviderLive
[Link]
|
+-[Link]
|
+-[Link]
All Implemented Interfaces:
IPublishingProvider
sendOnMetadata
Constructor Summary
public PublishingProviderLive(Publisher publisher, long timeoffset, String
streamName)
Method Summary
void close()
long getDuration()
long getStartOnPreviousBufferTime()
boolean isStartOnPreviousKeyFrame()
boolean isStopIfStreamMissing()
isSendOnMetadata, setSendOnMetadata
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
PublishingProviderLive
public PublishingProviderLive(Publisher publisher,
long timeoffset,
String streamName)
Methods
close
public void close()
play
public boolean play(Publisher publisher)
seek
public boolean seek(long timecode)
seek
public boolean seek(long timecode,
int seekType)
getDuration
public long getDuration()
setDuration
public void setDuration(long duration)
setRealTimeStartTime
public void setRealTimeStartTime(long realTimeStartTime)
isStartOnPreviousKeyFrame
public boolean isStartOnPreviousKeyFrame()
setStartOnPreviousKeyFrame
public void setStartOnPreviousKeyFrame(boolean startOnPreviousKeyFrame)
getStartOnPreviousBufferTime
public long getStartOnPreviousBufferTime()
setStartOnPreviousBufferTime
public void setStartOnPreviousBufferTime(long startOnPreviousBufferTime)
isStopIfStreamMissing
public boolean isStopIfStreamMissing()
setStopIfStreamMissing
public void setStopIfStreamMissing(boolean stopIfStreamMissing)
[Link]
Class PublishingProviderMediaReader
[Link]
|
+-[Link]
|
+-[Link]
All Implemented Interfaces:
IPublishingProvider
sendOnMetadata
Constructor Summary
public PublishingProviderMediaReader(Publisher publisher, long timeoffset,
String streamName)
Constructor
Method Summary
void close()
long getDuration()
Get the target playback duration (milliseconds)
double getSpeed()
isSendOnMetadata, setSendOnMetadata
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
PublishingProviderMediaReader
public PublishingProviderMediaReader(Publisher publisher,
long timeoffset,
String streamName)
Constructor
Parameters:
publisher - publisher
timeoffset - timeoffset (milliseconds)
streamName - stream name
Methods
seek
public boolean seek(long timecode)
seek
public boolean seek(long timecode,
int seekType)
play
public boolean play(Publisher publisher)
close
public void close()
getDuration
public long getDuration()
Returns:
playback duration (milliseconds)
setDuration
public void setDuration(long duration)
setRealTimeStartTime
public void setRealTimeStartTime(long realTimeStartTime)
getSpeed
public double getSpeed()
setSpeed
public void setSpeed(double speed)
[Link]
Class Stream
[Link]
|
+-[Link]
All Implemented Interfaces:
Runnable
Constructor Summary
public Stream()
Method Summary
void addListener(IStreamActionNotify listener)
Add a listener
void close()
Call this method when you have finished with the playlist object.
void closeAndWait()
Call this method when you have finished with the playlist object.
PlaylistItem getCurrentItem()
Get the currently playing playlist item
Object getLock()
Get the synchronization lock for this interface.
String getName()
Returns the name of the playlist stream - the client would play this stream by this name.
[Link] getPlaylist()
Get the current playlist
int getPollingInterval()
Get the polling interval (milliseconds)
Publisher getPublisher()
boolean getRepeat()
Use this to determine if the playlist is auto-repeating
long getStartLiveOnPreviousBufferTime()
Get time in milliseconds to go back in live stream buffer to get previous key frame
int getTimeOffsetBetweenItems()
Get time in milliseconds to add to stream time between playlist items (default is zero)
double getVODSpeed()
boolean isMoveToNextIfLiveStreamMissing()
If true, will move to next playlist item if live stream is missing or is unpublished.
boolean isSendOnMetadata()
True if sending onMetadata events
boolean isStartLiveOnPreviousKeyFrame()
Set to true to start live streams on most recent key frame (smoother switching)
boolean isSwitchLog()
Log when a playlist switch occurs
boolean isTimesInMilliseconds()
If true start time and duration and are milliseconds.
boolean isUnpublishOnEnd()
If true, stop publishing if end of playlist and repeat is false
void next()
void next(int n)
void play(int n)
void previous()
void previous(int n)
void run()
Overridden from class Runnable ....
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
run
Constructors
Stream
public Stream()
Methods
createInstance
public static Stream createInstance(IVHost vhost,
String applicationName,
String sName)
Use this to create a named Stream on the default instance (_definst_) of an application on a particular VHost.
Parameters:
vhost - - Virtual Host
applicationName - - Application name
sName - - Name of Stream
Returns:
stream interface
createInstance
public static Stream createInstance(IVHost vhost,
String applicationName,
String appInstanceName,
String sName)
Use this to create a named Stream on the non-default instance of an application on a particular VHost.
Parameters:
vhost - - Virtual Host
applicationName - - Application name
appInstanceName - - Instance name
sName - - Name of Stream
Returns:
stream interface
getLock
public Object getLock()
Returns:
synchronization lock for this interface
createInstance
public static Stream createInstance(IApplicationInstance appInstance,
String sName)
Parameters:
Returns:
stream interface
run
public void run()
Overridden from class Runnable .... do NOT call this directly. This method handles switching between media sources in the
playlist.
getPlaylist
public [Link] getPlaylist()
Returns:
current playlist
getCurrentItem
public PlaylistItem getCurrentItem()
Returns:
currently playing playlist item
play
public boolean play(String name,
int start,
int length,
boolean reset)
Parameters:
name - - name of media item
start - - where to start playing the item. (-2 implies play a live stream)
length - - how much of the item to play (-1 implies play the entire file or live stream)
reset - - if true, will begin a new playlist, otherwise items are appended
Returns:
- returns true if item was added successfully ...otherwise false.
addToPlaylist
public boolean addToPlaylist(int index,
String name,
int start,
int length)
Inserts a media source item to this playlist at a particular index, without interruption.
Parameters:
index - - insertion index
Returns:
- returns true if item was inserted successfully ...otherwise false. this should not interrupt anything that might be currently
playing.... will do nothing if existing item does not exist.. if existing == "" insert at head of list
addToPlaylist
public boolean addToPlaylist(String existing,
String name,
int start,
int length)
Insert item into playlist just after the first item in the playlist with a given name.
Parameters:
existing - name of playlist item in which to insert the item after
name - name of new item
start - where to start playing the item. (-2 implies play a live stream)
length - how much of the item to play (-1 implies play the entire file or live stream)
Returns:
true if item inserted
removeFromPlaylist
public boolean removeFromPlaylist(int index)
Parameters:
index - item index
Returns:
true if at least one item from removed
removeFromPlaylist
public boolean removeFromPlaylist(String name)
Remove all items matching the given stream name from the playlist. If the item is currently being played, it is not removed.
Parameters:
name - stream name
Returns:
true if at least one item from removed
play
public boolean play(String sPlaylist)
Parameters:
sPlaylist - - the playlist XML definition file
Returns:
- returns true if item was added successfully ...otherwise false.
close
public void close()
Call this method when you have finished with the playlist object. It will terminate the playlist thread. The playlist object cannot
be used after this call.
closeAndWait
public void closeAndWait()
Call this method when you have finished with the playlist object. It will terminate the playlist thread. The playlist object cannot
be used after this call. This method will wait for the thread to exit.
getName
public String getName()
Returns the name of the playlist stream - the client would play this stream by this name.
Returns:
- the name of the playlist stream
getRepeat
public boolean getRepeat()
Returns:
- true if repeating otherwise false.
setRepeat
public void setRepeat(boolean repeat)
Parameters:
repeat - - true to repeat otherwise false
play
public void play(int n)
next
public void next(int n)
next
public void next()
previous
public void previous()
previous
public void previous(int n)
getPollingInterval
public int getPollingInterval()
Returns:
polling interval (milliseconds)
setPollingInterval
public void setPollingInterval(int pollingInterval)
Parameters:
pollingInterval - polling interval (milliseconds)
getPublisher
public Publisher getPublisher()
addListener
public void addListener(IStreamActionNotify listener)
Add a listener
Parameters:
listener - listener
removeListener
public void removeListener(IStreamActionNotify listener)
Remove a listener
Parameters:
listener - listener
isSwitchLog
public boolean isSwitchLog()
Returns:
log when a playlist switch occurs
setSwitchLog
public void setSwitchLog(boolean switchLog)
Parameters:
switchLog - log when a playlist switch occurs
isSendOnMetadata
public boolean isSendOnMetadata()
Returns:
True if sending onMetadata events
setSendOnMetadata
public void setSendOnMetadata(boolean sendOnMetadata)
Parameters:
sendOnMetadata - True if sending onMetadata events
isTimesInMilliseconds
public boolean isTimesInMilliseconds()
If true start time and duration and are milliseconds. If false startTime and duration are in seconds.
Returns:
true start time and duration and are milliseconds
setTimesInMilliseconds
public void setTimesInMilliseconds(boolean timesInMilliseconds)
If true start time and duration and are milliseconds. If false startTime and duration are in seconds.
Parameters:
timesInMilliseconds - true start time and duration and are milliseconds
isStartLiveOnPreviousKeyFrame
public boolean isStartLiveOnPreviousKeyFrame()
Set to true to start live streams on most recent key frame (smoother switching)
Returns:
true to start live streams on most recent key frame
setStartLiveOnPreviousKeyFrame
public void setStartLiveOnPreviousKeyFrame(boolean startLiveOnPreviousKeyFrame)
Set to true to start live streams on most recent key frame (smoother switching)
Parameters:
startLiveOnPreviousKeyFrame - true to start live streams on most recent key frame
getStartLiveOnPreviousBufferTime
public long getStartLiveOnPreviousBufferTime()
Get time in milliseconds to go back in live stream buffer to get previous key frame
Returns:
time in milliseconds to go back in live stream buffer to get previous key frame
setStartLiveOnPreviousBufferTime
public void setStartLiveOnPreviousBufferTime(long startLiveOnPreviousBufferTime)
Set time in milliseconds to go back in live stream buffer to get previous key frame
Parameters:
startLiveOnPreviousBufferTime - time in milliseconds to go back in live stream buffer to get previous key frame
getTimeOffsetBetweenItems
public int getTimeOffsetBetweenItems()
Get time in milliseconds to add to stream time between playlist items (default is zero)
Returns:
time in milliseconds to add to stream time between playlist items
setTimeOffsetBetweenItems
public void setTimeOffsetBetweenItems(int timeOffsetBetweenItems)
Set time in milliseconds to add to stream time between playlist items (default is zero)
Parameters:
timeOffsetBetweenItems - time in milliseconds to add to stream time between playlist items
isMoveToNextIfLiveStreamMissing
public boolean isMoveToNextIfLiveStreamMissing()
If true, will move to next playlist item if live stream is missing or is unpublished.
Returns:
move to next playlist item if live stream is missing or is unpublished
setMoveToNextIfLiveStreamMissing
public void setMoveToNextIfLiveStreamMissing(boolean moveToNextIfLiveStreamMissing)
If true, will move to next playlist item if live stream is missing or is unpublished.
Parameters:
moveToNextIfLiveStreamMissing - move to next playlist item if live stream is missing or is unpublished
isUnpublishOnEnd
public boolean isUnpublishOnEnd()
Returns:
stop publishing if end of playlist and repeat is false
setUnpublishOnEnd
public void setUnpublishOnEnd(boolean stopOnEnd)
Parameters:
stopOnEnd - stop publishing if end of playlist and repeat is false
getVODSpeed
public double getVODSpeed()
setVODSpeed
public void setVODSpeed(double vodSpeed)
[Link].cea608
Class ClosedCaptionCEA608Utils
[Link]
|
+-[Link].cea608.CEA608Constants
|
+-[Link].cea608.ClosedCaptionCEA608Utils
Direct Known Subclasses:
ClosedCaptionCEA608Utils
Field Summary
public static final CEA608_EXTENDED_FR_SP_MAP
Value: 0
Value: 1
Value: 0
Value: 6
Value: 8
Value: 10
Value: 12
Value: 14
Value: 2
Value: 4
Value: 4
Value: 6
Value: 2
Value: 12
Value: 8
Value: 0
Value: 10
Value: -128
Value: -32640
Value: -27480
Value: -28242
Value: -28369
Value: 4
Value: 3
Value: 163
Value: 8226
Value: 162
Value: 8221
Value: 187
Value: 9474
Value: 169
Value: 164
Value: 45
Value: 176
Value: 34
Value: 8212
Value: 33
Value: 62
Value: 161
Value: 8216
Value: 40
Value: 60
Value: 97
Value: 226
Value: 228
Value: 224
Value: 229
Value: 227
Value: 98
Value: 99
Value: 100
Value: 101
Value: 234
Value: 235
Value: 232
Value: 102
Value: 103
Value: 104
Value: 105
Value: 238
Value: 239
Value: 236
Value: 106
Value: 107
Value: 108
Value: 109
Value: 110
Value: 111
Value: 244
Value: 246
Value: 242
Value: 248
Value: 245
Value: 112
Value: 113
Value: 114
Value: 115
Value: 116
Value: 117
Value: 251
Value: 252
Value: 249
Value: 118
Value: 119
Value: 120
Value: 121
Value: 122
Value: 45
Value: 9834
Value: 160
Value: 189
Value: 8220
Value: 171
Value: 46
Value: 124
Value: 63
Value: 174
Value: 191
Value: 41
Value: 8480
Value: 39
Value: 32
Value: 8482
Value: 84
Value: 65
Value: 193
Value: 194
Value: 196
Value: 192
Value: 197
Value: 195
Value: 66
Value: 67
Value: 199
Value: 68
Value: 69
Value: 201
Value: 202
Value: 203
Value: 200
Value: 70
Value: 71
Value: 72
Value: 73
Value: 206
Value: 207
Value: 204
Value: 205
Value: 74
Value: 75
Value: 76
Value: 77
Value: 78
Value: 79
Value: 211
Value: 212
Value: 214
Value: 210
Value: 216
Value: 213
Value: 80
Value: 81
Value: 82
Value: 83
Value: 84
Value: 85
Value: 218
Value: 219
Value: 220
Value: 217
Value: 86
Value: 87
Value: 88
Value: 89
Value: 90
Value: 165
Value: 32
Constructor Summary
public ClosedCaptionCEA608Utils()
Method Summary
static byte calcParity(byte inByte)
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Fields
SEI_PAYLOADTYPE
public static final byte SEI_PAYLOADTYPE
Constant value: 4
SEI_USERDATATYPECODE
public static final byte SEI_USERDATATYPECODE
Constant value: 3
UTF8_BULLET
public static final char UTF8_BULLET
UTF8_CLOSING_DOUBLE_QUOTE
public static final char UTF8_CLOSING_DOUBLE_QUOTE
UTF8_CLOSING_GUILLEMETS
public static final char UTF8_CLOSING_GUILLEMETS
UTF8_CONNECTING_VERTICAL_BAR
public static final char UTF8_CONNECTING_VERTICAL_BAR
UTF8_COPYRIGHT
public static final char UTF8_COPYRIGHT
UTF8_CURRENCY
public static final char UTF8_CURRENCY
UTF8_DEGREE
public static final char UTF8_DEGREE
UTF8_EM_DASH
public static final char UTF8_EM_DASH
UTF8_INVERTED_EXCLAMATION
public static final char UTF8_INVERTED_EXCLAMATION
UTF8_LEFT_SINGLE_QUOTATION
public static final char UTF8_LEFT_SINGLE_QUOTATION
UTF8_OPENING_DOUBLE_QUOTE
public static final char UTF8_OPENING_DOUBLE_QUOTE
UTF8_OPENING_GUILLEMETS
public static final char UTF8_OPENING_GUILLEMETS
UTF8_REGISTERED_MARK
public static final char UTF8_REGISTERED_MARK
UTF8_SERVICE_MARK
public static final char UTF8_SERVICE_MARK
UTF8_YEN
public static final char UTF8_YEN
UTF8_LOWER_A_WITH_DIAERESIS
public static final char UTF8_LOWER_A_WITH_DIAERESIS
UTF8_LOWER_A_WITH_RING
public static final char UTF8_LOWER_A_WITH_RING
UTF8_LOWER_A_WITH_TILDE
public static final char UTF8_LOWER_A_WITH_TILDE
UTF8_LOWER_E_WITH_DIAERESIS
public static final char UTF8_LOWER_E_WITH_DIAERESIS
UTF8_LOWER_I_WITH_DIAERESIS
public static final char UTF8_LOWER_I_WITH_DIAERESIS
UTF8_LOWER_I_WITH_GRAVE
public static final char UTF8_LOWER_I_WITH_GRAVE
UTF8_LOWER_O_WITH_DIAERESIS
public static final char UTF8_LOWER_O_WITH_DIAERESIS
UTF8_LOWER_O_WITH_GRAVE
public static final char UTF8_LOWER_O_WITH_GRAVE
UTF8_LOWER_O_WITH_STROKE
public static final char UTF8_LOWER_O_WITH_STROKE
UTF8_LOWER_O_WITH_TILDE
public static final char UTF8_LOWER_O_WITH_TILDE
UTF8_LOWER_U_WITH_DIAERESIS
public static final char UTF8_LOWER_U_WITH_DIAERESIS
UTF8_LOWER_U_WITH_GRAVE
public static final char UTF8_LOWER_U_WITH_GRAVE
UTF8_UPPER_A_WITH_ACUTE
public static final char UTF8_UPPER_A_WITH_ACUTE
UTF8_UPPER_A_WITH_CURCUMFLEX
public static final char UTF8_UPPER_A_WITH_CURCUMFLEX
UTF8_UPPER_A_WITH_DIAERESIS
public static final char UTF8_UPPER_A_WITH_DIAERESIS
UTF8_UPPER_A_WITH_GRAVE
public static final char UTF8_UPPER_A_WITH_GRAVE
UTF8_UPPER_A_WITH_RING
public static final char UTF8_UPPER_A_WITH_RING
UTF8_UPPER_A_WITH_TILDE
public static final char UTF8_UPPER_A_WITH_TILDE
UTF8_UPPER_C_WITH_CEDILLA
public static final char UTF8_UPPER_C_WITH_CEDILLA
UTF8_UPPER_E_WITH_ACUTE
public static final char UTF8_UPPER_E_WITH_ACUTE
UTF8_UPPER_E_WITH_CIRCUMFLEX
public static final char UTF8_UPPER_E_WITH_CIRCUMFLEX
UTF8_UPPER_E_WITH_DIAERESIS
public static final char UTF8_UPPER_E_WITH_DIAERESIS
UTF8_UPPER_E_WITH_GRAVE
public static final char UTF8_UPPER_E_WITH_GRAVE
UTF8_UPPER_I_WITH_CIRCUMFLEX
public static final char UTF8_UPPER_I_WITH_CIRCUMFLEX
UTF8_UPPER_I_WITH_DIAERESIS
public static final char UTF8_UPPER_I_WITH_DIAERESIS
UTF8_UPPER_I_WITH_GRAVE
public static final char UTF8_UPPER_I_WITH_GRAVE
UTF8_UPPER_I_WITH_TILDE
public static final char UTF8_UPPER_I_WITH_TILDE
UTF8_UPPER_O_WITH_ACUTE
public static final char UTF8_UPPER_O_WITH_ACUTE
UTF8_UPPER_O_WITH_CIRCUMFLEX
public static final char UTF8_UPPER_O_WITH_CIRCUMFLEX
UTF8_UPPER_O_WITH_DIAERESIS
public static final char UTF8_UPPER_O_WITH_DIAERESIS
UTF8_UPPER_O_WITH_GRAVE
public static final char UTF8_UPPER_O_WITH_GRAVE
UTF8_UPPER_O_WITH_STROKE
public static final char UTF8_UPPER_O_WITH_STROKE
UTF8_UPPER_O_WITH_TILDE
public static final char UTF8_UPPER_O_WITH_TILDE
UTF8_UPPER_U_WITH_ACUTE
public static final char UTF8_UPPER_U_WITH_ACUTE
UTF8_UPPER_U_WITH_CIRCUMFLEX
public static final char UTF8_UPPER_U_WITH_CIRCUMFLEX
UTF8_UPPER_U_WITH_DIAERESIS
public static final char UTF8_UPPER_U_WITH_DIAERESIS
UTF8_UPPER_U_WITH_GRAVE
public static final char UTF8_UPPER_U_WITH_GRAVE
MAX_CCCOUNT
public static final int MAX_CCCOUNT
SEI_STARTCODE
public static final byte SEI_STARTCODE
ODDPARITY
public static final byte ODDPARITY
COL0_WHITE
public static final int COL0_WHITE
Constant value: 0
COL0_GREEN
public static final int COL0_GREEN
Constant value: 2
COL0_BLUE
public static final int COL0_BLUE
Constant value: 4
COL0_CYAN
public static final int COL0_CYAN
Constant value: 6
COL0_RED
public static final int COL0_RED
Constant value: 8
COL0_YELLOW
public static final int COL0_YELLOW
Constant value: 10
COL0_MAGENTA
public static final int COL0_MAGENTA
Constant value: 12
CHANNEL1
public static final int CHANNEL1
Constant value: 0
CHANNEL2
public static final int CHANNEL2
Constant value: 1
DONOTHING_SHORT
public static final short DONOTHING_SHORT
DONOTHING_BYTE
public static final byte DONOTHING_BYTE
CONTROLCODES_RCL
public static final short CONTROLCODES_RCL
CONTROLCODES_BS
public static final short CONTROLCODES_BS
BS Backspace [channel]
CONTROLCODES_AOF
public static final short CONTROLCODES_AOF
CONTROLCODES_AON
public static final short CONTROLCODES_AON
CONTROLCODES_DER
public static final short CONTROLCODES_DER
CONTROLCODES_RU2
public static final short CONTROLCODES_RU2
CONTROLCODES_RU3
public static final short CONTROLCODES_RU3
CONTROLCODES_RU4
public static final short CONTROLCODES_RU4
CONTROLCODES_FON
public static final short CONTROLCODES_FON
CONTROLCODES_RDC
public static final short CONTROLCODES_RDC
CONTROLCODES_TR
public static final short CONTROLCODES_TR
CONTROLCODES_RTD
public static final short CONTROLCODES_RTD
CONTROLCODES_EDM
public static final short CONTROLCODES_EDM
CONTROLCODES_CR
public static final short CONTROLCODES_CR
CONTROLCODES_ENM
public static final short CONTROLCODES_ENM
CONTROLCODES_EOC
public static final short CONTROLCODES_EOC
CONTROLCODES_TO1
public static final short CONTROLCODES_TO1
CONTROLCODES_TO2
public static final short CONTROLCODES_TO2
CONTROLCODES_TO3
public static final short CONTROLCODES_TO3
CONTROLCODES_BWO
public static final short CONTROLCODES_BWO
CONTROLCODES_BWS
public static final short CONTROLCODES_BWS
CONTROLCODES_BGO
public static final short CONTROLCODES_BGO
CONTROLCODES_BGS
public static final short CONTROLCODES_BGS
CONTROLCODES_BBO
public static final short CONTROLCODES_BBO
CONTROLCODES_BBS
public static final short CONTROLCODES_BBS
CONTROLCODES_BCO
public static final short CONTROLCODES_BCO
CONTROLCODES_BCS
public static final short CONTROLCODES_BCS
CONTROLCODES_BRO
public static final short CONTROLCODES_BRO
CONTROLCODES_BRS
public static final short CONTROLCODES_BRS
CONTROLCODES_BYO
public static final short CONTROLCODES_BYO
CONTROLCODES_BYS
public static final short CONTROLCODES_BYS
CONTROLCODES_BMO
public static final short CONTROLCODES_BMO
CONTROLCODES_BMS
public static final short CONTROLCODES_BMS
CONTROLCODES_BAO
public static final short CONTROLCODES_BAO
CONTROLCODES_BAS
public static final short CONTROLCODES_BAS
CONTROLCODES_BT
public static final short CONTROLCODES_BT
CONTROLCODES_FA
public static final short CONTROLCODES_FA
CONTROLCODES_FAU
public static final short CONTROLCODES_FAU
LANG_ASCII
public static final short LANG_ASCII
LANG_ASCII_DBL
public static final short LANG_ASCII_DBL
LANG_PRIV1
public static final short LANG_PRIV1
LANG_PRIV2
public static final short LANG_PRIV2
LANG_GB231280
public static final short LANG_GB231280
LANG_KSC56011987
public static final short LANG_KSC56011987
LANG_REG1
public static final short LANG_REG1
COUNT_ROWS
public static final int COUNT_ROWS
COUNT_COLS
public static final int COUNT_COLS
COL0_HIBYTE
public static final short COL0_HIBYTE
COL0_LOWBYTE
public static final short COL0_LOWBYTE
COL_0
public static final int COL_0
Constant value: 0
COL_4
public static final int COL_4
Constant value: 2
COL_5
public static final int COL_5
Constant value: 4
COL_12
public static final int COL_12
Constant value: 6
COL_16
public static final int COL_16
Constant value: 8
COL_20
public static final int COL_20
Constant value: 10
COL_24
public static final int COL_24
Constant value: 12
COL_28
public static final int COL_28
Constant value: 14
COLN_LOWBYTE
public static final short COLN_LOWBYTE
FORMAT_COLOR
public static final short FORMAT_COLOR
FORMAT_ITALICS
public static final short FORMAT_ITALICS
FORMAT_ITALICS_UNDERLINE
public static final short FORMAT_ITALICS_UNDERLINE
FORMAT_FLASH
public static final short FORMAT_FLASH
UTF8_NOTMATCH
public static final byte UTF8_NOTMATCH
UTF8_PERIOD
public static final byte UTF8_PERIOD
Constant value: 46
UTF8_SINGLEQUOTE
public static final byte UTF8_SINGLEQUOTE
Constant value: 39
UTF8_DOUBLEQUOTE
public static final byte UTF8_DOUBLEQUOTE
Constant value: 34
UTF8_DASH
public static final byte UTF8_DASH
Constant value: 45
UTF8_UNDERSCORE
public static final byte UTF8_UNDERSCORE
Constant value: 84
UTF8_LEFTPAREN
public static final byte UTF8_LEFTPAREN
Constant value: 40
UTF8_RIGHTPAREN
public static final byte UTF8_RIGHTPAREN
Constant value: 41
UTF8_SPACE
public static final byte UTF8_SPACE
Constant value: 32
UTF8_EXCLAMATION
public static final byte UTF8_EXCLAMATION
Constant value: 33
UTF8_QUESTION
public static final byte UTF8_QUESTION
Constant value: 63
UTF8_LESSTHAN
public static final byte UTF8_LESSTHAN
Constant value: 60
UTF8_GREATERTHAN
public static final byte UTF8_GREATERTHAN
Constant value: 62
UTF8_MINUSHYPHEN
public static final byte UTF8_MINUSHYPHEN
Constant value: 45
UTF8_PIPE
public static final byte UTF8_PIPE
UTF8_LOWER_A
public static final byte UTF8_LOWER_A
Constant value: 97
UTF8_LOWER_B
public static final byte UTF8_LOWER_B
Constant value: 98
UTF8_LOWER_C
public static final byte UTF8_LOWER_C
Constant value: 99
UTF8_LOWER_D
public static final byte UTF8_LOWER_D
UTF8_LOWER_E
public static final byte UTF8_LOWER_E
UTF8_LOWER_F
public static final byte UTF8_LOWER_F
UTF8_LOWER_G
public static final byte UTF8_LOWER_G
UTF8_LOWER_H
public static final byte UTF8_LOWER_H
UTF8_LOWER_I
public static final byte UTF8_LOWER_I
UTF8_LOWER_J
public static final byte UTF8_LOWER_J
UTF8_LOWER_K
public static final byte UTF8_LOWER_K
UTF8_LOWER_L
public static final byte UTF8_LOWER_L
UTF8_LOWER_M
public static final byte UTF8_LOWER_M
UTF8_LOWER_N
public static final byte UTF8_LOWER_N
UTF8_LOWER_O
public static final byte UTF8_LOWER_O
UTF8_LOWER_P
public static final byte UTF8_LOWER_P
UTF8_LOWER_Q
public static final byte UTF8_LOWER_Q
UTF8_LOWER_R
public static final byte UTF8_LOWER_R
UTF8_LOWER_S
public static final byte UTF8_LOWER_S
UTF8_LOWER_T
public static final byte UTF8_LOWER_T
UTF8_LOWER_U
public static final byte UTF8_LOWER_U
UTF8_LOWER_V
public static final byte UTF8_LOWER_V
UTF8_LOWER_W
public static final byte UTF8_LOWER_W
UTF8_LOWER_X
public static final byte UTF8_LOWER_X
UTF8_LOWER_Y
public static final byte UTF8_LOWER_Y
UTF8_LOWER_Z
public static final byte UTF8_LOWER_Z
UTF8_UPPER_A
public static final byte UTF8_UPPER_A
Constant value: 65
UTF8_UPPER_B
public static final byte UTF8_UPPER_B
Constant value: 66
UTF8_UPPER_C
public static final byte UTF8_UPPER_C
Constant value: 67
UTF8_UPPER_D
public static final byte UTF8_UPPER_D
Constant value: 68
UTF8_UPPER_E
public static final byte UTF8_UPPER_E
Constant value: 69
UTF8_UPPER_F
public static final byte UTF8_UPPER_F
Constant value: 70
UTF8_UPPER_G
public static final byte UTF8_UPPER_G
Constant value: 71
UTF8_UPPER_H
public static final byte UTF8_UPPER_H
Constant value: 72
UTF8_UPPER_I
public static final byte UTF8_UPPER_I
Constant value: 73
UTF8_UPPER_J
public static final byte UTF8_UPPER_J
Constant value: 74
UTF8_UPPER_K
public static final byte UTF8_UPPER_K
Constant value: 75
UTF8_UPPER_L
public static final byte UTF8_UPPER_L
Constant value: 76
UTF8_UPPER_M
public static final byte UTF8_UPPER_M
Constant value: 77
UTF8_UPPER_N
public static final byte UTF8_UPPER_N
Constant value: 78
UTF8_UPPER_O
public static final byte UTF8_UPPER_O
Constant value: 79
UTF8_UPPER_P
public static final byte UTF8_UPPER_P
Constant value: 80
UTF8_UPPER_Q
public static final byte UTF8_UPPER_Q
Constant value: 81
UTF8_UPPER_R
public static final byte UTF8_UPPER_R
Constant value: 82
UTF8_UPPER_S
public static final byte UTF8_UPPER_S
Constant value: 83
UTF8_UPPER_T
public static final byte UTF8_UPPER_T
Constant value: 84
UTF8_UPPER_U
public static final byte UTF8_UPPER_U
Constant value: 85
UTF8_UPPER_V
public static final byte UTF8_UPPER_V
Constant value: 86
UTF8_UPPER_W
public static final byte UTF8_UPPER_W
Constant value: 87
UTF8_UPPER_X
public static final byte UTF8_UPPER_X
Constant value: 88
UTF8_UPPER_Y
public static final byte UTF8_UPPER_Y
Constant value: 89
UTF8_UPPER_Z
public static final byte UTF8_UPPER_Z
Constant value: 90
UTF8_LOWER_A_WITH_CIRCUMFLEX
public static final char UTF8_LOWER_A_WITH_CIRCUMFLEX
UTF8_LOWER_E_WITH_CIRCUMFLEX
public static final char UTF8_LOWER_E_WITH_CIRCUMFLEX
UTF8_LOWER_I_WITH_CIRCUMFLEX
public static final char UTF8_LOWER_I_WITH_CIRCUMFLEX
UTF8_LOWER_O_WITH_CIRCUMFLEX
public static final char UTF8_LOWER_O_WITH_CIRCUMFLEX
UTF8_LOWER_U_WITH_CIRCUMFLEX
public static final char UTF8_LOWER_U_WITH_CIRCUMFLEX
UTF8_LOWER_A_WITH_GRAVE
public static final char UTF8_LOWER_A_WITH_GRAVE
UTF8_LOWER_E_WITH_GRAVE
public static final char UTF8_LOWER_E_WITH_GRAVE
UTF8_NBSP
public static final char UTF8_NBSP
UTF8_MUSICAL_NOTE
public static final char UTF8_MUSICAL_NOTE
UTF8_BRITISH_POUND
public static final char UTF8_BRITISH_POUND
UTF8_CENTS
public static final char UTF8_CENTS
UTF8_TRADEMARK
public static final char UTF8_TRADEMARK
UTF8_REVERSE_QUERY
public static final char UTF8_REVERSE_QUERY
UTF8_ONE_HALF
public static final char UTF8_ONE_HALF
CEA608_MUSICAL_NOTE
public static byte CEA608_MUSICAL_NOTE
CEA608_SOLID_BLOCK
public static byte CEA608_SOLID_BLOCK
UTF8MAP_INDEX_OFFSET
public static final int UTF8MAP_INDEX_OFFSET
Constant value: 32
UTF8MAP
public static final byte UTF8MAP
CEA608_EXTENDED_NA_MAP
public static final char CEA608_EXTENDED_NA_MAP
CEA608_EXTENDED_FR_SP_MAP
public static final char CEA608_EXTENDED_FR_SP_MAP
CEA608_EXTENDED_PORT_GERMAN_DANISH_MAP
public static final char CEA608_EXTENDED_PORT_GERMAN_DANISH_MAP
Constructors
ClosedCaptionCEA608Utils
public ClosedCaptionCEA608Utils()
Methods
charUTF8ToCAE608
public static byte[] charUTF8ToCAE608(CEACaptionConversionContext ceaContext,
String text,
int pos,
String characterSet,
int channel)
charUTF8ToCAE608
public static byte[] charUTF8ToCAE608(String text,
int pos,
String characterSet,
int channel)
cea608CharToCharUTF8
public static char cea608CharToCharUTF8(short b)
calcParity
public static byte calcParity(byte inByte)
calcParity
public static short calcParity(short inShort)
checkParity
public static boolean checkParity(byte inByte)
checkParity
public static boolean checkParity(short inShort)
cea608ExtendedCharacterToUTF8
public static Character cea608ExtendedCharacterToUTF8(short command)
[Link]
Interface ITimedTextConstants
Field Summary
public static final AMF_TEXTTYPE_ON_TEXT_DATA
Value: onTextData
Value: onTextData
Value: 99
Value: eng
Value: locale
Value: onTextData
Value: AMF
Value: CEA608
Value: TTML
Value: iswowzacaptionstream
Value: wowzacaptioningesttype
Value: 3GPP
Value: AMF
Value: SCC
Value: SRT
Value: TTML
Value: WebVTT
Value: Caption
DEFAULT_AMF_CONVERTER_CLASS, DEFAULT_CEA608_CONVERTER_CLASS,
DEFAULT_CEA608_IDENTITY_CONVERTER_CLASS,
DEFAULT_PROPERTY_CUPERTINO_VOD_CAPTIONS_DELEGATE_CLASS,
DEFAULT_PROPERTY_RTMP_VOD_CAPTIONS_DELEGATE_CLASS,
DEFAULT_PROPERTY_SANJOSE_VOD_CAPTIONS_DELEGATE_CLASS, DEFAULT_TIMED_TEXT_READER_SCC,
DEFAULT_TIMED_TEXT_READER_SRT, DEFAULT_TIMED_TEXT_READER_TTML,
DEFAULT_TIMED_TEXT_READER_WEBVTT, DEFAULT_WEBVTT_CONVERTER_CLASS,
PROP_AMF_CONVERTER_CLASS, PROP_CEA608_CONVERTER_CLASS,
PROP_CEA608_MAX_COMMANDS_PER_FRAME, PROP_CUPERTINO_VOD_CAPTIONS_DELEGATE_CLASS,
PROP_LIVE_ONTEXTDATA_TO_AMF_CONVERTER_CLASS,
PROP_LIVE_ONTEXTDATA_TO_WEBVTT_CONVERTER_CLASS, PROP_MP4_TO_AMF_CONVERTER_CLASS,
PROP_MP4_TO_CEA608_CONVERTER_CLASS, PROP_MP4_TO_WEBVTT_CONVERTER_CLASS,
PROP_RTMP_VOD_CAPTIONS_DELEGATE_CLASS, PROP_SANJOSE_VOD_CAPTIONS_DELEGATE_CLASS,
PROP_SCC_TO_AMF_CONVERTER_CLASS, PROP_SCC_TO_CEA608_CONVERTER_CLASS,
PROP_SCC_TO_WEBVTT_CONVERTER_CLASS, PROP_SRT_TO_AMF_CONVERTER_CLASS,
PROP_SRT_TO_CEA608_CONVERTER_CLASS, PROP_SRT_TO_WEBVTT_CONVERTER_CLASS,
PROP_TTML_TO_AMF_CONVERTER_CLASS, PROP_TTML_TO_CEA608_CONVERTER_CLASS,
PROP_TTML_TO_WEBVTT_CONVERTER_CLASS, PROP_WEBVTT_CONVERTER_CLASS,
PROP_WEBVTT_TO_AMF_CONVERTER_CLASS, PROP_WEBVTT_TO_CEA608_CONVERTER_CLASS,
PROP_WEBVTT_TO_WEBVTT_CONVERTER_CLASS, PROPERTY_SOURCE_DURATION,
PROPERTY_SOURCE_TIME_SCALE, PROPERTY_SOURCE_TRACK_INDEX, TIMED_TEXT_READER_EXTENSION_SCC,
TIMED_TEXT_READER_EXTENSION_SRT, TIMED_TEXT_READER_EXTENSION_TTML,
TIMED_TEXT_READER_EXTENSION_WEBVTT
Fields
TIMED_TEXT_TYPE_CAPTION
public static final [Link] TIMED_TEXT_TYPE_CAPTION
SOURCE_TYPE_AMF
public static final [Link] SOURCE_TYPE_AMF
SOURCE_TYPE_TTML
public static final [Link] SOURCE_TYPE_TTML
SOURCE_TYPE_3GPP
public static final [Link] SOURCE_TYPE_3GPP
SOURCE_TYPE_SRT
public static final [Link] SOURCE_TYPE_SRT
SOURCE_TYPE_SCC
public static final [Link] SOURCE_TYPE_SCC
SOURCE_TYPE_WEBVTT
public static final [Link] SOURCE_TYPE_WEBVTT
OUTPUT_TYPE_CEA608
public static final [Link] OUTPUT_TYPE_CEA608
OUTPUT_TYPE_AMF
public static final [Link] OUTPUT_TYPE_AMF
OUTPUT_TYPE_TTML
public static final [Link] OUTPUT_TYPE_TTML
AMF_TEXTTYPE_ON_TEXT_DATA
public static final [Link] AMF_TEXTTYPE_ON_TEXT_DATA
LANGUAGE_LOCALE
public static final [Link] LANGUAGE_LOCALE
LANGUAGE_ID_ENGLISH
public static final [Link] LANGUAGE_ID_ENGLISH
PROP_VOD_CAPTIONS_ENABLED
public static final [Link] PROP_VOD_CAPTIONS_ENABLED
Timed Text Property "vodCaptionsEnabled": to enabled VOD captions for all supported protocols
See Also:
PROP_CUPERTINO_VOD_CAPTIONS_ENABLED
PROP_RTMP_VOD_CAPTIONS_ENABLED
PROP_SANJOSE_VOD_CAPTIONS_ENABLED
PROP_CUPERTINO_VOD_CAPTIONS_ENABLED
public static final [Link] PROP_CUPERTINO_VOD_CAPTIONS_ENABLED
Timed Text Property "cupertinoVODCaptionsEnabled": to enabled VOD captions for Cupertino streaming.
See Also:
PROP_VOD_CAPTIONS_ENABLED
PROP_RTMP_VOD_CAPTIONS_ENABLED
public static final [Link] PROP_RTMP_VOD_CAPTIONS_ENABLED
Timed Text Property "rtmpVODCaptionsEnabled": to enabled VOD captions for RTMP streaming.
See Also:
PROP_VOD_CAPTIONS_ENABLED
PROP_SANJOSE_VOD_CAPTIONS_ENABLED
public static final [Link] PROP_SANJOSE_VOD_CAPTIONS_ENABLED
Timed Text Property "sanJoseVODCaptionsEnabled": to enabled VOD captions for San Jose streaming.
See Also:
PROP_VOD_CAPTIONS_ENABLED
PROP_CAPTION_LANGUAGES
public static final [Link] PROP_CAPTION_LANGUAGES
VOD Caption languages can be specified on a per protocol basis using PROP_CUPERTINO_CAPTION_LANGUAGES,
PROP_RTMP_CAPTION_LANGUAGES, PROP_SANJOSE_CAPTION_LANGUAGES.
Constant value: captionLanguages
See Also:
PROP_CUPERTINO_CAPTION_LANGUAGES
PROP_RTMP_CAPTION_LANGUAGES
PROP_SANJOSE_CAPTION_LANGUAGES
DEFAULT_PROPERTY_CAPION_LANGUAGES
public static final [Link] DEFAULT_PROPERTY_CAPION_LANGUAGES
See Also:
PROP_CAPTION_LANGUAGES
PROP_CUPERTINO_CAPTION_LANGUAGES
public static final [Link] PROP_CUPERTINO_CAPTION_LANGUAGES
Timed Text Property "cupertinoCaptionLanguages": to enabled captionLanguage selection for Cupertino streaming.
See Also:
PROP_CAPTION_LANGUAGES
PROP_RTMP_CAPTION_LANGUAGES
public static final [Link] PROP_RTMP_CAPTION_LANGUAGES
Timed Text Property "rtmpCaptionLanguages": to enabled captionLanguage selection for RTMP Type String. The default
is DEFAULT_PROPERTY_CAPION_LANGUAGES
See Also:
PROP_CAPTION_LANGUAGES
PROP_SANJOSE_CAPTION_LANGUAGES
public static final [Link] PROP_SANJOSE_CAPTION_LANGUAGES
Timed Text Property "sanJoseCaptionLanguages": to enabled captionLanguage selection for San Jose streaming.
See Also:
PROP_CAPTION_LANGUAGES
PROP_DEBUG_VOD_CAPTION_LANGUAGE_SELECTION
public static final [Link] PROP_DEBUG_VOD_CAPTION_LANGUAGE_SELECTION
Timed Text Property "debugVODCaptionLanguageSelection": adds info level logging regarding language selection
PROP_DEBUG_CUPERTINO_VOD_CAPTION_LANGUAGE_SELECTION
public static final [Link]
PROP_DEBUG_CUPERTINO_VOD_CAPTION_LANGUAGE_SELECTION
Timed Text Property "cupertinoDebugVODCaptionLanguageSelection": adds info level logging regarding language
selection for Cupertino Streaming
See Also:
PROP_DEBUG_VOD_CAPTION_LANGUAGE_SELECTION
PROP_DEBUG_RTMP_VOD_CAPTION_LANGUAGE_SELECTION
public static final [Link] PROP_DEBUG_RTMP_VOD_CAPTION_LANGUAGE_SELECTION
Timed Text Property "rtmpDebugVODCaptionLanguageSelection": adds info level logging regarding language selection
for RTMP Streaming
See Also:
PROP_DEBUG_VOD_CAPTION_LANGUAGE_SELECTION
PROP_DEBUG_SANJOSE_VOD_CAPTION_LANGUAGE_SELECTION
public static final [Link] PROP_DEBUG_SANJOSE_VOD_CAPTION_LANGUAGE_SELECTION
Timed Text Property "sanJoseDebugVODCaptionLanguageSelection": adds info level logging regarding language
selection for San Jose Streaming
See Also:
PROP_DEBUG_VOD_CAPTION_LANGUAGE_SELECTION
PROP_DEBUG_VOD_CAPTION_PROVIDER_DETERMINATION
public static final [Link] PROP_DEBUG_VOD_CAPTION_PROVIDER_DETERMINATION
Timed Text Property "debugVODCaptionProviderDetermination": adds info level logging regarding caption provider
determination for a given VOD asset
PROP_DEBUG_CUPERTINO_VOD_CAPTION_PROVIDER_DETERMINATION
public static final [Link]
PROP_DEBUG_CUPERTINO_VOD_CAPTION_PROVIDER_DETERMINATION
See Also:
PROP_DEBUG_VOD_CAPTION_PROVIDER_DETERMINATION
PROP_DEBUG_RTMP_VOD_CAPTION_PROVIDER_DETERMINATION
public static final [Link]
PROP_DEBUG_RTMP_VOD_CAPTION_PROVIDER_DETERMINATION
Timed Text Property "rtmpDebugVODCaptionProviderDetermination": adds info level logging regarding caption
provider determination for a given VOD asset for RTMP Streaming.
See Also:
PROP_DEBUG_VOD_CAPTION_PROVIDER_DETERMINATION
PROP_DEBUG_SANJOSE_VOD_CAPTION_PROVIDER_DETERMINATION
public static final [Link]
PROP_DEBUG_SANJOSE_VOD_CAPTION_PROVIDER_DETERMINATION
Timed Text Property "sanJoseVODDebugCaptionProviderDetermination": adds info level logging regarding caption
provider determination for a given VOD asset for San Jose Streaming.
See Also:
PROP_DEBUG_VOD_CAPTION_PROVIDER_DETERMINATION
PROP_DEBUG_VOD_CAPTION_COMPANION_FILES
public static final [Link] PROP_DEBUG_VOD_CAPTION_COMPANION_FILES
Timed Text Property "debugVODCaptionFileDetermination": adds info level logging regarding caption companion file
determination for a given VOD asset
PROP_UNDEFINED_LANG_CODE
public static final [Link] PROP_UNDEFINED_LANG_CODE
Timed Text Property "captionUndefinedLanguageId": if incoming caption language is undefined, use this language ID.
Type String. If not defined, the Locale's 3 character language code is used. See [Link]().getISO3Language()
PROP_CAPTION_FILE_NAMING_RULE
public static final [Link] PROP_CAPTION_FILE_NAMING_RULE
Timed Text Property "captionFileNamingRule": to change logic determining the caption companion file naming scheme
This string is used to find the caption file for a given VOD asset. It is used in conjunction with
PROP_CAPTION_PATH_NAMING_RULE, which determines the file location.
It is comprised of variables preceded by a dollar sign and enclosed in squiggly brackets. For example: "${var1}.{var2}"
• ${[Link]}
• ${[Link]", [Link]().getHomePath()};
• ${[Link]", [Link]().getName()};
• ${[Link]", [Link]()};
See Also:
DEFAULT_PROPERTY_CAPTION_FILE_NAMING_RULE
DEFAULT_PROPERTY_CAPTION_FILE_NAMING_RULE
public static final [Link] DEFAULT_PROPERTY_CAPTION_FILE_NAMING_RULE
See Also:
PROP_CAPTION_FILE_NAMING_RULE
PROP_CAPTION_PATH_NAMING_RULE
public static final [Link] PROP_CAPTION_PATH_NAMING_RULE
This string is used to find the caption file location for a given VOD asset. It is used in conjunction with
PROP_CAPTION_FILE_NAMING_RULE, which determines the file name.
It is comprised of variables preceded by a dollar sign and enclosed in squiggly brackets. For example: "${var1}.{var2}"
• ${[Link]}
• ${[Link]", [Link]().getHomePath()};
• ${[Link]", [Link]().getName()};
• ${[Link]", [Link]()};
See Also:
DEFAULT_PROPERTY_CAPTION_PATH_NAMING_RULE
DEFAULT_PROPERTY_CAPTION_PATH_NAMING_RULE
public static final [Link] DEFAULT_PROPERTY_CAPTION_PATH_NAMING_RULE
Default value for Timed Text Property "captionFileNamingRule". Default value is "${SourceBasePath}"
Constant value: ${SourceBasePath}
See Also:
PROP_CAPTION_PATH_NAMING_RULE
PROP_MAXIMUM_CAPTION_DURATION
public static final [Link] PROP_MAXIMUM_CAPTION_DURATION
DEFAULT_MAXIMUM_CAPTION_DURATION
public static final int DEFAULT_MAXIMUM_CAPTION_DURATION
See Also:
PROP_CAPTION_CHARACTER_SET
public static final [Link] PROP_CAPTION_CHARACTER_SET
Timed Text Property "captionCharacterSet": used to determine character set when ingesting captions
DEFAULT_CAPTION_CHARACTER_SET
public static final [Link] DEFAULT_CAPTION_CHARACTER_SET
See Also:
PROP_CAPTION_CHARACTER_SET
PROP_SRT_CAPTION_CHARACTER_SET
public static final [Link] PROP_SRT_CAPTION_CHARACTER_SET
Timed Text Property "srtReaderCaptionCharacterSet": used to determine character set when ingesting SRT captions
Overrides general property "captionCharacterSet"
See Also:
PROP_TTML_CAPTION_CHARACTER_SET
public static final [Link] PROP_TTML_CAPTION_CHARACTER_SET
Timed Text Property "ttmlReaderCaptionCharacterSet": used to determine character set when ingesting TTML
captions Overrides general property "captionCharacterSet"
See Also:
PROP_3GPP_CAPTION_CHARACTER_SET
public static final [Link] PROP_3GPP_CAPTION_CHARACTER_SET
Timed Text Property "reader3GPPCaptionCharacterSet": used to determine character set when ingesting TTML
captions Overrides general property "captionCharacterSet"
See Also:
PROP_CEA608_CONVERTER_COLOR
public static final [Link] PROP_CEA608_CONVERTER_COLOR
Timed Text Property "cea608CaptionConverterColor": color of text in default CEA caption converter.
See Also:
ClosedCaptionCEA608Utils.COL0_WHITE
ClosedCaptionCEA608Utils.COL0_GREEN
ClosedCaptionCEA608Utils.COL0_BLUE
ClosedCaptionCEA608Utils.COL0_CYAN
ClosedCaptionCEA608Utils.COL0_RED
ClosedCaptionCEA608Utils.COL0_YELLOW
ClosedCaptionCEA608Utils.COL0_MAGENTA
PROP_CEA608_CONVERTER_CHARS_PER_LINE
public static final [Link] PROP_CEA608_CONVERTER_CHARS_PER_LINE
Timed Text Property "cea608CaptionConverterCharsPerLine": max number characters per line in default CEA
caption converter.
PROP_CEA608_CONVERTER_CHARACTER_SET
public static final [Link] PROP_CEA608_CONVERTER_CHARACTER_SET
PROP_CUPERTINO_VOD_REMOVE_EXISTING_CEA608
public static final [Link] PROP_CUPERTINO_VOD_REMOVE_EXISTING_CEA608
Timed Text Property "cupertinoVODCaptionsRemoveExistingCEA608": if existing VOD has 608, remove them
PROP_CUPERTINO_VOD_USE_WEBVTT
public static final [Link] PROP_CUPERTINO_VOD_USE_WEBVTT
PROP_CUPERTINO_LIVE_USE_WEBVTT
public static final [Link] PROP_CUPERTINO_LIVE_USE_WEBVTT
PROP_AMF_CONVERTER_TEXT_TYPE
public static final [Link] PROP_AMF_CONVERTER_TEXT_TYPE
DEFAULT_AMF_CONVERTER_TEXT_TYPE
public static final [Link] DEFAULT_AMF_CONVERTER_TEXT_TYPE
PROP_AMF_CONVERTER_TRACK_INDEX
public static final [Link] PROP_AMF_CONVERTER_TRACK_INDEX
Type Integer.
DEFAULT_AMF_CONVERTER_TRACK_INDEX
public static final int DEFAULT_AMF_CONVERTER_TRACK_INDEX
Constant value: 99
PROP_AMF_CONVERTER_INSERT_ERASES_IN_GAPS
public static final [Link] PROP_AMF_CONVERTER_INSERT_ERASES_IN_GAPS
Timed Text Property "amfCaptionConverterInsertErases": insert erase captions if gaps between captions are greater
than PROP_MAXIMUM_CAPTION_DURATION
PROP_WEBVTT_CONVERTER_INSERT_ERASES_IN_GAPS
public static final [Link] PROP_WEBVTT_CONVERTER_INSERT_ERASES_IN_GAPS
Timed Text Property "webVTTCaptionConverterInsertErases": insert erase captions if gaps between captions are
greater than PROP_MAXIMUM_CAPTION_DURATION
PROP_DEBUG_TTML_VOD_CAPTION_COMPANION_FILES
public static final [Link] PROP_DEBUG_TTML_VOD_CAPTION_COMPANION_FILES
Timed Text Property "debugTTMLVODCaptionFileDetermination": adds info level logging regarding caption
companion file determination for a given VOD asset for TTML Streaming.
See Also:
PROP_DEBUG_VOD_CAPTION_COMPANION_FILES
PROP_DEBUG_TTML_CAPTION_PARSER
public static final [Link] PROP_DEBUG_TTML_CAPTION_PARSER
Timed Text Property "debugTTMLCaptionParser": adds info level logging regarding the TTML caption parser
PROP_DEBUG_TTML_CAPTION_PARSER_TIME
public static final [Link] PROP_DEBUG_TTML_CAPTION_PARSER_TIME
Timed Text Property "debugTTMLCaptionParserTime": adds info level logging regarding how long it took parser to index
PROP_TTML_INLINE_TAGS_IN_TEXT
public static final [Link] PROP_TTML_INLINE_TAGS_IN_TEXT
Timed Text Property "ttmlInlineTagsInText": TTML parser includes in-line styling and line-break tags in the sample text
I can linebreak
or change fontWeight to bold in the middle of a sample." If ttmlInlineTagsInText=true then the parser provides the sample
text as: "I can linebreak
or change fontWeight to bold in the middle of a sample." If ttmlInlineTagsInText=false then the parser provides the sample
text as: "I can linebreak or change fontWeight to bold in the middle of a sample."
PROP_DEBUG_SRT_VOD_CAPTION_COMPANION_FILES
public static final [Link] PROP_DEBUG_SRT_VOD_CAPTION_COMPANION_FILES
Timed Text Property "debugSRTVODCaptionFileDetermination": adds info level logging regarding caption companion
file determination for a given VOD asset for SRT provider
See Also:
PROP_DEBUG_VOD_CAPTION_COMPANION_FILES
PROP_DEBUG_SRT_CAPTION_PARSER
public static final [Link] PROP_DEBUG_SRT_CAPTION_PARSER
Timed Text Property "debugSRTCaptionParser": adds info level logging regarding the SRT caption parser
PROP_DEBUG_SRT_CAPTION_PARSER_TIME
public static final [Link] PROP_DEBUG_SRT_CAPTION_PARSER_TIME
Timed Text Property "debugSRTCaptionParserTime": adds info level logging regarding how long it took parser to index
PROP_DEBUG_WEBVTT_VOD_CAPTION_COMPANION_FILES
public static final [Link] PROP_DEBUG_WEBVTT_VOD_CAPTION_COMPANION_FILES
Timed Text Property "debugWebVTTVODCaptionFileDetermination": adds info level logging regarding caption
companion file determination for a given VOD asset for WebVTT provider
See Also:
PROP_DEBUG_VOD_CAPTION_COMPANION_FILES
PROP_DEBUG_WEBVTT_CAPTION_PARSER
public static final [Link] PROP_DEBUG_WEBVTT_CAPTION_PARSER
Timed Text Property "debugWebVTTCaptionParser": adds info level logging regarding the WebVTT caption parser
PROP_DEBUG_WEBVTT_CAPTION_PARSER_TIME
public static final [Link] PROP_DEBUG_WEBVTT_CAPTION_PARSER_TIME
Timed Text Property "debugWebVTTCaptionParserTime": adds info level logging regarding how long it took parser to
index
PROP_DEBUG_SCC_VOD_CAPTION_COMPANION_FILES
public static final [Link] PROP_DEBUG_SCC_VOD_CAPTION_COMPANION_FILES
Timed Text Property "debugSCCVODCaptionFileDetermination": adds info level logging regarding caption companion
file determination for a given VOD asset for SCC provider
See Also:
PROP_DEBUG_VOD_CAPTION_COMPANION_FILES
PROP_DEBUG_SCC_CAPTION_PARSER
public static final [Link] PROP_DEBUG_SCC_CAPTION_PARSER
Timed Text Property "debugSCCCaptionParser": adds info level logging regarding the SCC caption parser
PROP_DEBUG_SCC_CAPTION_PARSER_TIME
public static final [Link] PROP_DEBUG_SCC_CAPTION_PARSER_TIME
Timed Text Property "debugSCCCaptionParserTime": adds info level logging regarding how long it took parser to index
PROP_DEBUG_3GPP_CAPTION_PARSER
public static final [Link] PROP_DEBUG_3GPP_CAPTION_PARSER
Timed Text Property "debug3GPPCaptionParser": adds info level logging regarding the 3GPP parser
PROP_DEBUG_3GPP_CAPTION_PARSER_TIME
public static final [Link] PROP_DEBUG_3GPP_CAPTION_PARSER_TIME
Timed Text Property "debug3GPPCaptionParserTime": adds info level logging regarding how long it took parser to index
QUERYSTR_CAPTIONLANGUAGES
public static final [Link] QUERYSTR_CAPTIONLANGUAGES
Query string used for choosing caption languages. Language must be presented using ISO 3 letter language codes.
Constant value: wowzacaptionlanguages
PROP_CAPTION_LANGUAGE_QUERY_PARAMETER
public static final [Link] PROP_CAPTION_LANGUAGE_QUERY_PARAMETER
HTTP Streamer Property "captionLanguageQueryParameter": used for changing query string param used for caption
language selection. Note: Must go into [Link] under Properties for each streamer type
QUERYSTR_CAPTION_FILENAME
public static final [Link] QUERYSTR_CAPTION_FILENAME
Query string used for choosing caption languages. Language must be presented using ISO 3 letter language codes.
Constant value: wowzacaptionfile
PROP_CAPTION_FILENAME_QUERY_PARAMETER
public static final [Link] PROP_CAPTION_FILENAME_QUERY_PARAMETER
HTTP Streamer Property "captionFilenameQueryParameter": used for changing query string param used for caption
file selection. Note: Must go into [Link] under Properties for each streamer type
PROP_LIVE_CAPTION_INGEST_AMF_ID_STRING
public static final [Link] PROP_LIVE_CAPTION_INGEST_AMF_ID_STRING
Timed Text Property "captionLiveIngestAMFIDString": to change AMF identifier from default "onTextData" to
something else
PROP_LIVE_CAPTION_USE_STREAM_NAME_GROUPS
public static final [Link] PROP_LIVE_CAPTION_USE_STREAM_NAME_GROUPS
Timed Text Property "captionLiveIngestUseStreamNameGroups": to enable use of smil files to determine available
languages and ingest type
Type Boolean. The default value is true. Only affects streams started with .smil files using StartupStreams or stream manager.
PROP_LIVE_CAPTION_DEFAULT_LANGUAGES
public static final [Link] PROP_LIVE_CAPTION_DEFAULT_LANGUAGES
Timed Text Property "captionLiveIngestLanguages": comma separated ISO-639 language codes determining what
languages are expected in the live stream
PROP_LIVE_CAPTION_INGEST_TYPE
public static final [Link] PROP_LIVE_CAPTION_INGEST_TYPE
Type String. The default value is "onTextData", which is also currently only permitted value.
PROP_DEBUG_LIVE_CAPTION_INGEST
public static final [Link] PROP_DEBUG_LIVE_CAPTION_INGEST
PROP_DEBUG_LIVE_CAPTION_ONTEXTDATA_INGEST
public static final [Link] PROP_DEBUG_LIVE_CAPTION_ONTEXTDATA_INGEST
ON_TEXT_DATA
public static final [Link] ON_TEXT_DATA
SMIL_PARAM_WOWZA_CAPTION_INGEST_TYPE
public static final [Link] SMIL_PARAM_WOWZA_CAPTION_INGEST_TYPE
SMIL_PARAM_IS_WOWZA_CAPTION_STREAM
public static final [Link] SMIL_PARAM_IS_WOWZA_CAPTION_STREAM
[Link]
Interface ILiveStreamTranscoderActionNotify
Method Summary
void onCalculateSourceAudioBitrate(LiveStreamTranscoder
liveStreamTranscoder, long bitrate)
Called when the bitrate of the source audio stream is calculated
void onCalculateSourceVideoBitrate(LiveStreamTranscoder
liveStreamTranscoder, long bitrate)
Called when the bitrate of the source video stream is calculated
void onSessionAudioDecodeCodecInfo(LiveStreamTranscoder
liveStreamTranscoder, [Link]
codecInfoAudio)
Called when audio decoding information is available.
void onSessionAudioEncodeCodecInfo(LiveStreamTranscoder
liveStreamTranscoder, TranscoderSessionAudioEncode sessionAudioEncode,
[Link] codecInfoAudio)
Called when audio encoding information is available.
void onSessionVideoDecodeCodecInfo(LiveStreamTranscoder
liveStreamTranscoder, [Link]
codecInfoVideo)
Called when video decoding information is available.
void onSessionVideoEncodeCodecInfo(LiveStreamTranscoder
liveStreamTranscoder, TranscoderSessionVideoEncode sessionVideoEncode,
[Link] codecInfoVideo)
Called when video encoding information is available.
Methods
onInitStart
public void onInitStart(LiveStreamTranscoder liveStreamTranscoder,
String streamName,
String transcoderName,
IApplicationInstance appInstance,
LiveStreamTranscoderItem liveStreamTranscoderItem)
Parameters:
onInitBeforeLoadTemplate
public void onInitBeforeLoadTemplate(LiveStreamTranscoder liveStreamTranscoder)
Parameters:
liveStreamTranscoder - live stream transcoder
onInitAfterLoadTemplate
public void onInitAfterLoadTemplate(LiveStreamTranscoder liveStreamTranscoder)
Called just after transcoder template is loaded. Good place to modify values loaded from template.
Parameters:
liveStreamTranscoder - live stream transcoder
onInitStop
public void onInitStop(LiveStreamTranscoder liveStreamTranscoder)
Parameters:
liveStreamTranscoder - live stream transcoder
onCalculateSourceVideoBitrate
public void onCalculateSourceVideoBitrate(LiveStreamTranscoder liveStreamTranscoder,
long bitrate)
Parameters:
liveStreamTranscoder - live stream transcoder
bitrate - source bitrate (bytes per second)
onCalculateSourceAudioBitrate
public void onCalculateSourceAudioBitrate(LiveStreamTranscoder liveStreamTranscoder,
long bitrate)
Parameters:
liveStreamTranscoder - live stream transcoder
bitrate - source bitrate (bytes per second)
onSessionDestinationCreate
public void onSessionDestinationCreate(LiveStreamTranscoder liveStreamTranscoder,
TranscoderSessionDestination sessionDestination)
Parameters:
liveStreamTranscoder - live stream transcoder
sessionDestination - destination
onSessionVideoEncodeCreate
public void onSessionVideoEncodeCreate(LiveStreamTranscoder liveStreamTranscoder,
TranscoderSessionVideoEncode sessionVideoEncode)
Parameters:
liveStreamTranscoder - live stream transcoder
sessionVideoEncode - video session
onSessionAudioEncodeCreate
public void onSessionAudioEncodeCreate(LiveStreamTranscoder liveStreamTranscoder,
TranscoderSessionAudioEncode sessionAudioEncode)
Parameters:
liveStreamTranscoder - live stream transcoder
sessionAudioEncode - audio session
onSessionDataEncodeCreate
public void onSessionDataEncodeCreate(LiveStreamTranscoder liveStreamTranscoder,
TranscoderSessionDataEncode sessionDataEncode)
Parameters:
liveStreamTranscoder - live stream transcoder
sessionDataEncode - data session
onSessionVideoEncodeInit
public void onSessionVideoEncodeInit(LiveStreamTranscoder liveStreamTranscoder,
TranscoderSessionVideoEncode sessionVideoEncode)
Parameters:
liveStreamTranscoder - live stream transcoder
sessionVideoEncode - video session
onSessionAudioEncodeInit
public void onSessionAudioEncodeInit(LiveStreamTranscoder liveStreamTranscoder,
TranscoderSessionAudioEncode sessionAudioEncode)
Parameters:
liveStreamTranscoder - live stream transcoder
sessionAudioEncode - audio session
onSessionDataEncodeInit
public void onSessionDataEncodeInit(LiveStreamTranscoder liveStreamTranscoder,
TranscoderSessionDataEncode sessionDataEncode)
Parameters:
liveStreamTranscoder - live stream transcoder
sessionDataEncode - data session
onSessionVideoEncodeSetup
public void onSessionVideoEncodeSetup(LiveStreamTranscoder liveStreamTranscoder,
TranscoderSessionVideoEncode sessionVideoEncode)
Parameters:
liveStreamTranscoder - live stream transcoder
sessionVideoEncode - video session
onSessionAudioEncodeSetup
public void onSessionAudioEncodeSetup(LiveStreamTranscoder liveStreamTranscoder,
TranscoderSessionAudioEncode sessionAudioEncode)
Parameters:
liveStreamTranscoder - live stream transcoder
sessionAudioEncode - audio session
onSessionVideoEncodeCodecInfo
public void onSessionVideoEncodeCodecInfo(LiveStreamTranscoder liveStreamTranscoder,
TranscoderSessionVideoEncode sessionVideoEncode,
[Link] codecInfoVideo)
Parameters:
liveStreamTranscoder - live stream transcoder
sessionVideoEncode - video session
codecInfoVideo - encoding info
onSessionAudioEncodeCodecInfo
public void onSessionAudioEncodeCodecInfo(LiveStreamTranscoder liveStreamTranscoder,
TranscoderSessionAudioEncode sessionAudioEncode,
[Link] codecInfoAudio)
Parameters:
liveStreamTranscoder - live stream transcoder
sessionAudioEncode - audio session
codecInfoAudio - encoding info
onSessionVideoDecodeCodecInfo
public void onSessionVideoDecodeCodecInfo(LiveStreamTranscoder liveStreamTranscoder,
[Link] codecInfoVideo)
Parameters:
liveStreamTranscoder - live stream transcoder
codecInfoVideo - video info
onSessionAudioDecodeCodecInfo
public void onSessionAudioDecodeCodecInfo(LiveStreamTranscoder liveStreamTranscoder,
[Link] codecInfoAudio)
Parameters:
liveStreamTranscoder - live stream transcoder
codecInfoAudio - audio info
onRegisterStreamNameGroup
public void onRegisterStreamNameGroup(LiveStreamTranscoder liveStreamTranscoder,
TranscoderStreamNameGroup streamNameGroup)
Called after a stream name group is resolved and registered with MediaStreamMap
Parameters:
liveStreamTranscoder - live stream transcoder
streamNameGroup - stream name group
onUnregisterStreamNameGroup
public void onUnregisterStreamNameGroup(LiveStreamTranscoder liveStreamTranscoder,
TranscoderStreamNameGroup streamNameGroup)
Parameters:
liveStreamTranscoder - live stream transcoder
streamNameGroup - stream name group
onShutdownStart
public void onShutdownStart(LiveStreamTranscoder liveStreamTranscoder)
Parameters:
liveStreamTranscoder - live stream transcoder
onShutdownStop
public void onShutdownStop(LiveStreamTranscoder liveStreamTranscoder)
Parameters:
liveStreamTranscoder - live stream transcoder
onResetStream
public void onResetStream(LiveStreamTranscoder liveStreamTranscoder)
Called when the stream feeding the live stream transcoder switches.
Parameters:
liveStreamTranscoder - live stream transcoder
[Link]
Interface ITranscoderFrameGrabProvider
ITranscoderFrameGrabProvider: interface used to grab frames froom the live stream transcoder.
Method Summary
[Link] getAndClearPendingFrameGrabs()
Returns a list of all grab frame requests that are pending and clears the pending list.
Methods
grabFrame
public void grabFrame(ITranscoderFrameGrabResult grabResult)
Call to grab a frame. The size of the frame will be the full size of the video frame.
Parameters:
grabResult - the class that will be called back when frame is available
grabFrame
public void grabFrame(ITranscoderFrameGrabResult grabResult,
int width,
int height)
Call to grab a frame. The size of the frame is controled by width and height.
Parameters:
grabResult - the class that will be called back when frame is available
width - frame width
height - frame height
getAndClearPendingFrameGrabs
public [Link] getAndClearPendingFrameGrabs()
Returns a list of all grab frame requests that are pending and clears the pending list.
Returns:
list of pendinig grab frames
[Link]
Interface ITranscoderFrameGrabResult
ITranscoderFrameGrabResult: Implement this interface when using frame grabber interface to grab transcoder video frames.
Method Summary
void onGrabFrame(TranscoderNativeVideoFrame nativeFrame)
Trigger when frame is available.
Methods
onGrabFrame
public void onGrabFrame(TranscoderNativeVideoFrame nativeFrame)
Parameters:
nativeFrame - native video frame.
[Link]
Interface ITranscoderOverlayImages
Method Summary
void addOverlayImage(int index, TranscoderVideoOverlayFrame overlay)
[Link] getOverlayImages()
Methods
addOverlayImage
public void addOverlayImage(int index,
TranscoderVideoOverlayFrame overlay)
getOverlayImages
public [Link] getOverlayImages()
[Link]
Interface ITranscoderOverlayProvider
Method Summary
void addOverlay(int index, TranscoderVideoOverlayFrame overlay)
Add an overlay to a video stream.
[Link] getAndClearPendingOverlays()
Get a list of pending overlay requests and clear the pending overlay queue.
boolean isOverlayAvailable()
Returns true if there is a pending overlay request.
Methods
addOverlay
public void addOverlay(int index,
TranscoderVideoOverlayFrame overlay)
Parameters:
index - over lay index (zero is bottom in z-order)
overlay - overlay object
clearOverlay
public void clearOverlay(int index)
Parameters:
index - over lay index (zero is bottom in z-order)
isOverlayAvailable
public boolean isOverlayAvailable()
Returns:
true if there is a pending overlay request
getAndClearPendingOverlays
public [Link] getAndClearPendingOverlays()
Get a list of pending overlay requests and clear the pending overlay queue.
Returns:
list of pending overlay requests
[Link]
Interface ITranscoderVideoDecoderNotify
Method Summary
void onAfterDecodeFrame(TranscoderSessionVideo sessionVideo,
TranscoderStreamSourceVideo sourceVideo, long frameCount)
Methods
onBeforeDecodeFrame
public void onBeforeDecodeFrame(TranscoderSessionVideo sessionVideo,
TranscoderStreamSourceVideo sourceVideo,
long frameCount)
onAfterDecodeFrame
public void onAfterDecodeFrame(TranscoderSessionVideo sessionVideo,
TranscoderStreamSourceVideo sourceVideo,
long frameCount)
onBeforeScaleFrame
public void onBeforeScaleFrame(TranscoderSessionVideo sessionVideo,
TranscoderStreamSourceVideo sourceVideo,
long frameCount)
onAfterScaleFrame
public void onAfterScaleFrame(TranscoderSessionVideo sessionVideo,
TranscoderStreamSourceVideo sourceVideo,
long frameCount)
[Link]
Interface ITranscoderVideoEncoderNotify
Method Summary
void onAfterEncodeFrame(TranscoderSessionVideoEncode sessionVideoEncode,
TranscoderStreamDestinationVideo destinationVideo, long frameCount)
Methods
onBeforeEncodeFrame
public void onBeforeEncodeFrame(TranscoderSessionVideoEncode sessionVideoEncode,
TranscoderStreamDestinationVideo destinationVideo,
long frameCount)
onAfterEncodeFrame
public void onAfterEncodeFrame(TranscoderSessionVideoEncode sessionVideoEncode,
TranscoderStreamDestinationVideo destinationVideo,
long frameCount)
[Link]
Interface ITranscoderWorker
Method Summary
String getContextStr()
long getFrameCount()
boolean isEncoderInUse()
boolean isRunning()
Returns true if transcoder worker is running (internal use)
Methods
isRunning
public boolean isRunning()
Returns:
true if transcoder worker is running (internal use)
getFrameCount
public long getFrameCount()
setFrameCount
public void setFrameCount(long frameCount)
isEncoderInUse
public boolean isEncoderInUse()
getContextStr
public String getContextStr()
[Link]
Interface ITranscoderWorkerSorterSender
Method Summary
void addSorterPacket(TranscoderPacketSorterHolder sorterHolder)
For internal use.
Methods
addSorterPacket
public void addSorterPacket(TranscoderPacketSorterHolder sorterHolder)
Parameters:
sorterHolder - sorter holder
[Link]
Class RTPUtils
[Link]
|
+-[Link]
Constructor Summary
public RTPUtils()
Method Summary
static double[] decodeRangeHeader(String rangeStr)
Decode RTP range header, Internal use.
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
RTPUtils
public RTPUtils()
Methods
updateSDPDestination
public static String updateSDPDestination(RTPDestination rtpDestination,
String sdpData)
Parameters:
rtpDestination - RTP destination
sdpData - SDP data
Returns:
modified SDP data
decodeRangeHeader
public static double[] decodeRangeHeader(String rangeStr)
Parameters:
rangeStr
Returns:
range values
stopRTPPull
public static void stopRTPPull(RTPPushPublishSession rtpPushPublishSession)
Parameters:
rtpPushPublishSession - RTP push session
startRTPPull
public static RTPPushPublishSession startRTPPull(IApplicationInstance appInstance,
String streamName,
boolean streamPacketizer,
String ipAddress,
int streamPort,
boolean isRTPWrapped)
Parameters:
appInstance - application instance
streamName - stream name
streamPacketizer - stream packetizer
ipAddress - IP address
streamPort - stream port
isRTPWrapped - is RTP wrapped
Returns:
RTP push session
startRTPPull
public static RTPPushPublishSession startRTPPull(IApplicationInstance appInstance,
String streamName,
boolean streamPacketizer,
String ipAddress,
int streamPort)
Parameters:
appInstance - application instance
streamName - stream name
streamPacketizer - stream packetizer
ipAddress - IP address
streamPort - stream port
Returns:
RTP push session
startRTPPull
public static RTPPushPublishSession startRTPPull(IApplicationInstance appInstance,
String streamName,
boolean streamPacketizer,
String ipAddress,
int audioPort,
int videoPort)
Parameters:
appInstance - application instance
streamName - stream name
streamPacketizer - stream packetizer
ipAddress - IP address
audioPort - audio port
videoPort - video port
Returns:
RTP push session
startRTPPull
public static RTPPushPublishSession startRTPPull(IApplicationInstance appInstance,
String streamName,
boolean streamPacketizer,
String ipAddress,
int audioPort,
int videoPort,
boolean isRTPWrapped)
Parameters:
appInstance - application instance
streamName - stream name
streamPacketizer - stream packetizer
ipAddress - IP address
audioPort - audio port
videoPort - video port
isRTPWrapped - is RTP wrapped
Returns:
RTP push session
startRTPPull
public static RTPPushPublishSession startRTPPull(IApplicationInstance appInstance,
String streamName,
RTPDestination rtpDestination)
Parameters:
appInstance - application instance
streamName - stream name
rtpDestination - RTP destination
Returns:
RTP push session
writeCodecConfig
public static void writeCodecConfig(RTPTrack rtpTrack,
int codecId,
long adjTimecode,
byte[] codecConfig)
writeCodecConfig
public static void writeCodecConfig(RTPTrack rtpTrack,
long adjTimecode,
byte[] codecConfig)
Parameters:
rtpTrack - RTP track
adjTimecode - timecode (milliseconds)
codecConfig - codec config
loadConfigFile
public static void loadConfigFile(RTPContext rtpContext,
String fileURL)
Parameters:
rtpContext
fileURL
decodeStreamInfo
public static RTPStream decodeStreamInfo(RTPContext context,
String streamId,
String streamInfo)
Parameters:
context - RTP context
streamId - stream id
streamInfo - SDP data
Returns:
RTP stream
decodeStreamInfo
public static RTPStream decodeStreamInfo(IApplicationInstance appInstance,
RTPContext context,
String streamId,
String streamInfo)
Parameters:
Returns:
rtp stream
decodeStreamInfo
public static RTPStream decodeStreamInfo(IApplicationInstance appInstance,
RTPStreamContext rtpStreamContext,
RTPContext context,
String streamId,
String streamInfo)
Parameters:
appInstance - app instance
rtpStreamContext - rtp stream context
context - rtp context
streamId - stream id
streamInfo - stream info (SDP data)
Returns:
rtp stream
formatH264CodecConfigPacket
public static byte[] formatH264CodecConfigPacket(byte[] sps,
[Link] ppss,
byte[] profileLevel)
Parameters:
sps
ppss
profileLevel
Returns:
bytes
formatH264CodecConfig
public static byte[] formatH264CodecConfig(byte[] sps,
[Link] ppss,
byte[] profileLevel)
Parameters:
sps
ppss
profileLevel
Returns:
bytes
[Link]
Class StreamUtils
[Link]
|
+-[Link]
Constructor Summary
public StreamUtils()
Method Summary
static int directOutput(byte[] dataBuffer, int[] headerValues, boolean
isAbsTimecode, int src, [Link] out, AMFObj wmsObj, byte[]
workBuffer, int chunkSize)
Direct output, Internal use.
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
StreamUtils
public StreamUtils()
Methods
getStreamLength
public static double getStreamLength(IMediaStream stream)
Get the duration of a media file in seconds. This will work correctly with all RandomAccessReaders and caching technology
Parameters:
stream - stream
Returns:
duration in seconds
getStreamBitrate
public static double getStreamBitrate(IMediaStream stream)
Get the approximate bitrate of a media file in bits/per-second. This will work correctly with all RandomAccessReaders and
caching technology.
Parameters:
stream - stream
Returns:
bitrate in bits/per-second
getStreamLength
public static double getStreamLength(IApplicationInstance appInstance,
String streamName)
Get the duration of a media file in seconds. This will work correctly with all RandomAccessReaders and caching technology
Parameters:
appInstance - application instance
streamName - stream name
Returns:
duration in seconds
getStreamBitrate
public static double getStreamBitrate(IApplicationInstance appInstance,
String streamName)
directOutput
public static int directOutput(byte[] dataBuffer,
int[] headerValues,
boolean isAbsTimecode,
int src,
[Link] out,
AMFObj wmsObj,
byte[] workBuffer,
int chunkSize)
Parameters:
dataBuffer
headerValues
isAbsTimecode
src
out
wmsObj
workBuffer
chunkSize
Returns:
c
packetOutput
public static int packetOutput([Link] out,
IMediaStream stream,
AMFPacket packet,
long timecode,
AMFObj wmsObj,
byte[] workBuffer,
int chunkSize)
Parameters:
out
stream
packet
timecode
wmsObj
workBuffer
chunkSize
Returns:
bytes
packetOutput
public static int packetOutput([Link] out,
IMediaStream stream,
AMFPacket packet,
long timecode,
AMFObj wmsObj,
byte[] workBuffer,
int chunkSize,
boolean referenceWrite)
Parameters:
out
stream
packet
timecode
wmsObj
workBuffer
chunkSize
referenceWrite
Returns:
bytes
loadConfigFile
public static void loadConfigFile(StreamList streamDefs,
String fileURL)
Parameters:
streamDefs
fileURL
[Link]
Class CrontabEvent
[Link]
|
+-[Link]
All Implemented Interfaces:
Comparable
Field Summary
public static final DAY
Value: 2
Value: 1
Value: 0
Value: 3
Value: 5
Value: 4
Constructor Summary
public CrontabEvent()
Method Summary
int compareTo(CrontabEvent o)
Allows CronEvents to be sorted via Java Sort Class.
void dump()
dumps this event's information to the console
ICrontabEventHandler getEventHandler()
String getEventStr()
[Link] getLastRun()
DateTime
[Link] getNextRun()
DateTime
String getTarget()
boolean isDebugOn()
boolean isExpired()
Indicates whether or not all execution dates for this event occur in the past
void setLastRun()
Sets the last run time to now
boolean start()
Starts this events timer
void stop()
stops this events timer
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
compareTo
Fields
DT_FORMAT
public static [Link] DT_FORMAT
MINUTE
public static final int MINUTE
Constant value: 0
HOUR
public static final int HOUR
Constant value: 1
DAY
public static final int DAY
Constant value: 2
MONTH
public static final int MONTH
Constant value: 3
YEAR
public static final int YEAR
Constant value: 4
WEEKDAY
public static final int WEEKDAY
Constant value: 5
Constructors
CrontabEvent
public CrontabEvent()
Methods
start
public boolean start()
Returns:
true - if timer is started, else false
stop
public void stop()
isMatch
public boolean isMatch([Link] date)
Parameters:
date
Returns:
boolean
setField
public void setField(int whichField,
CrontabField field)
getField
public CrontabField getField(int whichField)
setTarget
public void setTarget(String target)
getTarget
public String getTarget()
setEventStr
public void setEventStr(String entry)
getEventStr
public String getEventStr()
getNextRun
public [Link] getNextRun()
getLastRun
public [Link] getLastRun()
setLastRun
public void setLastRun([Link] date)
setLastRun
public void setLastRun()
setDebug
public void setDebug(boolean debug)
Parameters:
debug - - true/false
isDebugOn
public boolean isDebugOn()
setEventHandler
public void setEventHandler(ICrontabEventHandler handler)
getEventHandler
public ICrontabEventHandler getEventHandler()
isExpired
public boolean isExpired()
Indicates whether or not all execution dates for this event occur in the past
Returns:
true/false
compareTo
public int compareTo(CrontabEvent o)
Allows CronEvents to be sorted via Java Sort Class. Compares nextRun dates of two CronEvents where earlier events are
considered "less" than later events, (e.g. today < tomorrow) and nulls are "greater" than events with dates (e.g. tomorrow <
null) This provides the logic to sort events by soonest to latest with nulls at the end
Parameters:
o - - CronEvent to compare this event to
Returns:
-1,0,1 - if equal, if this event is greater than
dump
public void dump()
[Link]
Interface ICrontabEventHandler
All Known Implementing Classes:
LiveStreamRecorderBase
EventHandler functions are called from a Java timer task context and therefore should execute very quickly so as not to delay execution
of subsequent timers. If there is heavy processing which needs to take place, the implementation for these functions should spawn a
thread to do it.
Method Summary
void onCronEvent(CrontabEvent event)
Methods
onCronEvent
public void onCronEvent(CrontabEvent event)
[Link]
Class HostPort
[Link]
|
+-[Link]
HostPort: data object that describes a socket connection. The address can be defined by ipAddress or by domainName. It can also
contain a reference to an SSLFactory class that can be used to create a secure connection to the server.
Constructor Summary
public HostPort()
Create an empty HostPort object
Method Summary
void addHttpProvider(IHTTPProvider httpProvider)
void configureSocketAcceptor([Link]
ptorConfig socketConfig)
Configure a socketAcceport
[Link] getAddress()
Get the ipAddress as an InetAddress object
String getAddressRawStr()
String getAddressStr()
Get a String representation of the address
HostPortConfig getConfiguation()
Get the socket configuration
String getHTTPIdent2Response()
String getHTTPIdentResponse()
[Link] getHttpProviders()
[Link] getHTTPStreamerAdapterIDs()
int getPort()
Get port
int getProcessorCount()
Get the number of threads to use to service this incoming port
HostPortSSLConfig getSSLConfig()
String getSslFactoryClass()
Get full class name or SSLFactory class
boolean isSuspended()
String toString()
Return object as formatted string
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
HostPort
public HostPort()
Methods
setDomainName
public void setDomainName(String domainName)
Parameters:
domainName - domainName like [Link] or * for local
getAddress
public [Link] getAddress()
Returns:
ipAddress as an InetAddress object. At this point the domainName (if specified) will be resolved.
getAddressStr
public String getAddressStr()
Returns:
String representation of the address/domainName. If * it will return [any]
getAddressRawStr
public String getAddressRawStr()
setIpAddress
public void setIpAddress(String ipAddress)
Parameters:
ipAddress - ipAddress like [Link] or * for local
getPort
public int getPort()
Get port
Returns:
port
setPort
public void setPort(int port)
Set port
Parameters:
port - port
getSslFactoryClass
public String getSslFactoryClass()
Returns:
full class name or SSLFactory or "" if not specified
setSslFactoryClass
public void setSslFactoryClass(String sslFactoryClass)
Parameters:
sslFactoryClass - full class name or SSLFactory or "" if not specified
getProcessorCount
public int getProcessorCount()
Returns:
number of processor threads
setProcessorCount
public void setProcessorCount(int processorCount)
Parameters:
processorCount - number of processor threads
toString
public String toString(boolean mBeanSafe)
Parameters:
mBeanSafe - make the name safe for JMX management interface
Returns:
formmatted string
toString
public String toString()
Returns:
formmatted string
getConfiguation
public HostPortConfig getConfiguation()
Returns:
socket configuration
configureSocketAcceptor
public void
configureSocketAcceptor([Link]
socketConfig)
Configure a socketAcceport
Parameters:
socketConfig - socket acceptor
getHttpProviders
public [Link] getHttpProviders()
addHttpProvider
public void addHttpProvider(IHTTPProvider httpProvider)
addHttpProvider
public void addHttpProvider(IHTTPProvider2 httpProvider)
addHttpProvider
public void addHttpProvider(int index,
IHTTPProvider2 httpProvider)
size
public int size(int index,
IHTTPProvider2 httpProvider)
isSuspended
public boolean isSuspended()
setSuspended
public void setSuspended(boolean isSuspended)
getHTTPStreamerAdapterIDs
public [Link] getHTTPStreamerAdapterIDs()
addHTTPStreamerAdapterID
public void addHTTPStreamerAdapterID(String ID)
getSSLConfig
public HostPortSSLConfig getSSLConfig()
setSSLConfig
public void setSSLConfig(HostPortSSLConfig sslConfig)
getHTTPIdentResponse
public String getHTTPIdentResponse()
setHTTPIdentResponse
public void setHTTPIdentResponse(String httpIdentResponse)
getHTTPIdent2Response
public String getHTTPIdent2Response()
setHTTPIdent2Response
public void setHTTPIdent2Response(String httpIdent2Response)
[Link]
Class HostPortList
[Link]
|
+-[Link]
Constructor Summary
public HostPortList()
Create empty HostPortList
Method Summary
void add(HostPort hostPort)
Add HostPort object
int size()
Get number of HostPort objects
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
HostPortList
public HostPortList()
Methods
add
public void add(HostPort hostPort)
Parameters:
hostPort
size
public int size()
Returns:
number of HostPort objects
get
public HostPort get(int index)
Parameters:
index - index
Returns:
HostPort object at index, null if out of bounds
[Link]
Interface IAcceptorNotify
Method Summary
void onAcceptorCreate(HostPort hostPort, [Link] acceptorMap)
Triggered when a new acceptor is created
Methods
onAcceptorCreate
public void onAcceptorCreate(HostPort hostPort,
[Link] acceptorMap)
Parameters:
hostPort - HostPort object
acceptorMap - Map of acceptors
onAcceptorDestroy
public void onAcceptorDestroy(HostPort hostPort,
[Link] acceptorMap)
Parameters:
hostPort - HostPort object
acceptorMap - Map of acceptors
[Link]
Interface IVHost
Field Summary
public static final ACCEPTORS_ACCEPTOR
Acceptor types: acceptor
Value: acceptor
Value: 10
Value: 1
Value: 7
Value: 8
Value: 2
Value: 15
Value: 6
Value: 4
Value: 5
Value: 0
Value: 3
Value: 1
Value: 9
Value: 11
Value: -1
Value: 9
Value: 0
Value: -1
Value: 9
Value: 7
Value: 11
Value: 10
Value: 3
Value: 6
Value: 2
Value: -1
Value: 4
Value: 5
Value: 8
Value: 2
Value: 7
Value: 6
Value: 4
Value: 3
Value: 5
Value: 0
Value: 1
Value: 8
Value: 1
Value: 2
Value: -1
Value: 9
Value: 10
Value: 4
Value: 5
Value: 6
Value: 7
Value: 3
Value: 0
Value: 8
Value: 20
Value: 1
Value: 14
Value: 16
Value: 15
Value: 11
Value: 2
Value: 17
Value: 19
Value: 18
Value: 12
Value: 13
Value: _defaultVHost_
Method Summary
void addAcceptorListener(IAcceptorNotify acceptorListener)
Add acceptor listener.
[Link] getApplicationFolderNames()
Get a list of application folder names
[Link] getApplicationLock()
[Link]
[Link] Get the object used in synchronized statements to lock and application.
teLock
[Link] getApplicationNames()
Get a list of application names
int getApplicationTimeout()
Get application time out (milliseconds).
AuthenticationList getAuthenticationList()
Get the list of available authentication methods
CEACaptionConversionC getCEACaptionConversionContext()
ontext
Get CEAConversionContextMP3 tag map attached to vHost ([Link]).
int getClientCount()
Get number of clients connected to this vHost.
int getClientIdleFrequency()
Get default client idle frequency (milliseconds)
int getClientTimeout()
Get client timeout.
ConnectionCounter getConnectionCounter()
Get vHost connection counter.
int getConnectionLimit()
Get vHost connection limit.
int getCoreHandlerPoolSize()
Get the handler core thread pool size.
int getCoreTransportPoolSize()
Get the transport core thread pool size.
String getDateStarted()
Get date and time the server was started.
DvrRecorderList getDvrRecorderList()
Get the DvrRecorderList
DvrStoreList getDvrStoreList()
Get the list of DVR Stores
[Link] getDynamicLogProperties()
Get the dynamic log properties defined at the vhost level in conf/[Link]
int getFileIOPoolSize()
Get the default file io pool size.
ThreadPool getHandlerThreadPool()
Get the VHost handler thread pool.
String getHomePath()
Get vHost configuration path.
HostPortList getHostPortsList()
Get list of host port definitions for vHost.
[Link] getHTTPStreamerAdapterIDs()
Get a list of HTTPStreamerAdapter IDs
HTTPStreamerContext getHTTPStreamerContext()
Get the HTTPStreamer (Cupertino Streaming and Silverlight Smooth Streaming) host context
HTTPStreamerList getHTTPStreamerList()
Get the list of HTTPStreamers
int getHTTPStreamerMaxPathLen()
Get the max HTTP streamer path length
IVHostHTTPStreamerReq getHTTPStreamerRequestValidator()
uestValidator
Get the HTTP streamer request validator
int getIdleCheckFrequency()
Get idle check frequency (milliseconds)
int getIdleMinimumWaitTime()
Get the minimum time (milliseconds) the idle worker thread will sleep before generating idle
events
int getIdleWorkerCount()
Get number of threads used to generate idle events
IdleWorkersUtil getIdleWorkers()
Get the idle worker utility
IOPerformanceCounter getIoPerformanceCounter()
Get vHost IO performance counter.
IOScheduler getIOScheduler()
Get IO scheduler for vHost.
int getKeepAliveTimeout()
Get the RTMPT connection keep alive timeout
LiveStreamPacketizerL getLiveStreamPacketizerList()
ist
Get the LiveStreamPacketizerList
LiveStreamTranscoderL getLiveStreamTranscoderList()
ist
Get the LiveStreamTranscoderList
int getMaximumPendingReadBytes()
Set maximum number of bytes a client connection can have waiting to be written before the
connection is terminated.
int getMaximumPendingWriteBytes()
Get maximum number a bytes a client connection can have waiting to be sent before the
connection is terminated.
int getMaximumSetBufferTime()
Get maximum number of milliseconds allowed for the [Link](secs) call.
MediaCasterList getMediaCasterList()
Get the list of media caster definitions ([Link])
MediaCasterSettings getMediaCasterSettings()
Get the media caster settings
MediaReaderList getMediaReaders()
Get the media readers attached to vHost ([Link]).
MediaWriterList getMediaWriters()
Get the media writers attached to vHost ([Link]).
[Link] getMp3TagMap()
Get MP3 tag map attached to vHost ([Link]).
String getName()
Get vHost name
HostPortConfig getNetConnectionHostPortConfig()
Get the socket configuration for server to server connections
int getNetConnectionIdleFrequency()
Get server to server idle frequency (milliseconds)
int getNetConnectionProcessorCount()
Get net connection processor count.
int getNextNetConnectionId()
Get next connection id.
int getPingTimeout()
Get ping timeout (milliseconds)
WMSProperties getProperties()
Get properties attached to this vHost.
RTPContext getRTPContext()
Get the RTP (real time protocol) virtual host context
[Link] getRTPDatagramConfigIncoming()
[Link]
Config Get the RTP Datagram Socket configuration
[Link] getRTPDatagramConfigOutgoing()
[Link]
Config Get the RTP Datagram Socket configuration
int getRTPIdleFrequency()
Get default RTP idle frequency (milliseconds)
int getRTSPMaxPathLen()
Get the max RTSP stream path length
IVHostRTSPRequestVali getRTSPRequestValidator()
dator
Get the RTSP request validator
[Link] getStartupStreams()
Get the list of streams to start at virtual host startup
StreamList getStreamTypes()
Get default stream type.
ThreadPool getThreadPool()
Get the VHost handler thread pool.
TimedTextProviderConf getTimedTextProviderConfig()
iguration
Get the config of TimedTextProviders
String getTimeRunning()
Get the time vHost has been running.
double getTimeRunningSeconds()
Get time running in seconds
[Link] getTranscoderVODContext()
[Link]
Context Get the VOD transcoder context
ThreadPool getTransportThreadPool()
Get the VHost transport thread pool.
[Link] getUDPTransportManager()
[Link]
nager Get the UDP transport manager.
int getUnidentifiedSessionTimeout()
Get the unidentified session timeout (TCP session that we are not able to identifiy)
int getValidationFrequency()
Get time between validation pings (milliseconds)
boolean isShuttingDown()
Is the VHost shutting down
boolean isStartStarupStreams()
Returns true if the startup streams are to start and vhost startup
boolean isSuspended()
Returns true is all HostPorts connected to this VHost are suspended
void setHTTPStreamerRequestValidator(IVHostHTTPStreamerRequestValidator
httpRequestValidator)
Set the HTTP streamer request validator
void setRTSPRequestValidator(IVHostRTSPRequestValidator
rtspRequestValidator)
Set the RTSP request validator
void shutdown()
Shutdown.
void startStartupStreams()
Method to start startup streams
void stopStartupStreams()
Method to stop startup streams
void suspendAllHostPorts()
Suspend all HostPorts from accepting new connections.
void unbindAllHostPorts()
Unbind all HostPorts and drop all connections
void updateLoggingDuration()
Internal: update the internal logging values.
Fields
VHOST_DEFAULT
public static final [Link] VHOST_DEFAULT
LICENSECOUNTER_PUBLISHER
public static final int LICENSECOUNTER_PUBLISHER
Constant value: 0
LICENSECOUNTER_TRANSCODE_DECODE
public static final int LICENSECOUNTER_TRANSCODE_DECODE
Constant value: 1
LICENSECOUNTER_TRANSCODE_ENCODE
public static final int LICENSECOUNTER_TRANSCODE_ENCODE
Constant value: 2
LICENSECOUNTER_NDVR
public static final int LICENSECOUNTER_NDVR
Constant value: 3
LICENSECOUNTER_DRM_EZDRM_LIVE
public static final int LICENSECOUNTER_DRM_EZDRM_LIVE
Constant value: 4
LICENSECOUNTER_DRM_EZDRM_VOD
public static final int LICENSECOUNTER_DRM_EZDRM_VOD
Constant value: 5
LICENSECOUNTER_DRM_VERIMATRIX_LIVE
public static final int LICENSECOUNTER_DRM_VERIMATRIX_LIVE
Constant value: 6
LICENSECOUNTER_DRM_VERIMATRIX_VOD
public static final int LICENSECOUNTER_DRM_VERIMATRIX_VOD
Constant value: 7
LICENSECOUNTER_PUBLISHERTRANSCODER
public static final int LICENSECOUNTER_PUBLISHERTRANSCODER
Constant value: 8
LICENSECOUNTER_DRM_BUYDRM_LIVE
public static final int LICENSECOUNTER_DRM_BUYDRM_LIVE
Constant value: 9
LICENSECOUNTER_DRM_BUYDRM_VOD
public static final int LICENSECOUNTER_DRM_BUYDRM_VOD
Constant value: 10
LICENSECOUNTER_TRANSCODE_DECODEPOLLING
public static final int LICENSECOUNTER_TRANSCODE_DECODEPOLLING
Constant value: 11
LICENSECOUNTER_TRANSCODE_ENCODEPOLLING
public static final int LICENSECOUNTER_TRANSCODE_ENCODEPOLLING
Constant value: 12
LICENSECOUNTER_TRANSCODE_STREAMNAMES
public static final int LICENSECOUNTER_TRANSCODE_STREAMNAMES
Constant value: 13
LICENSECOUNTER_TRANSCODE_DECODECOUNTAUDIO
public static final int LICENSECOUNTER_TRANSCODE_DECODECOUNTAUDIO
Constant value: 14
LICENSECOUNTER_TRANSCODE_DECODECOUNTVIDEO
public static final int LICENSECOUNTER_TRANSCODE_DECODECOUNTVIDEO
Constant value: 15
LICENSECOUNTER_TRANSCODE_DECODECOUNTAUDIOVIDEO
public static final int LICENSECOUNTER_TRANSCODE_DECODECOUNTAUDIOVIDEO
Constant value: 16
LICENSECOUNTER_TRANSCODE_ENCODECOUNTAUDIO
public static final int LICENSECOUNTER_TRANSCODE_ENCODECOUNTAUDIO
Constant value: 17
LICENSECOUNTER_TRANSCODE_ENCODECOUNTVIDEO
public static final int LICENSECOUNTER_TRANSCODE_ENCODECOUNTVIDEO
Constant value: 18
LICENSECOUNTER_TRANSCODE_ENCODECOUNTAUDIOVIDEO
public static final int LICENSECOUNTER_TRANSCODE_ENCODECOUNTAUDIOVIDEO
Constant value: 19
LICENSECOUNTER_TOTAL
public static final int LICENSECOUNTER_TOTAL
Constant value: 20
COUNTER_RTMP
public static final int COUNTER_RTMP
Constant value: 0
COUNTER_RTP
public static final int COUNTER_RTP
Constant value: 1
COUNTER_HTTPCUPERTINO
public static final int COUNTER_HTTPCUPERTINO
Constant value: 2
COUNTER_HTTPSMOOTH
public static final int COUNTER_HTTPSMOOTH
Constant value: 3
COUNTER_HTTPSANJOSE
public static final int COUNTER_HTTPSANJOSE
Constant value: 4
COUNTER_HTTPWEBM
public static final int COUNTER_HTTPWEBM
Constant value: 5
COUNTER_HTTPMPEGDASH
public static final int COUNTER_HTTPMPEGDASH
Constant value: 6
COUNTER_HTTPDVRCHUNKS
public static final int COUNTER_HTTPDVRCHUNKS
Constant value: 7
COUNTER_TOTAL
public static final int COUNTER_TOTAL
Constant value: 8
CODEC_VIDEO_UNKNOWN
public static final int CODEC_VIDEO_UNKNOWN
Constant value: -1
CODEC_VIDEO_SPARK
public static final int CODEC_VIDEO_SPARK
Constant value: 2
CODEC_VIDEO_SCREEN
public static final int CODEC_VIDEO_SCREEN
Constant value: 3
CODEC_VIDEO_VP6
public static final int CODEC_VIDEO_VP6
Constant value: 4
CODEC_VIDEO_VP6A
public static final int CODEC_VIDEO_VP6A
Constant value: 5
CODEC_VIDEO_SCREEN2
public static final int CODEC_VIDEO_SCREEN2
Constant value: 6
CODEC_VIDEO_H264
public static final int CODEC_VIDEO_H264
Constant value: 7
CODEC_VIDEO_VP8
public static final int CODEC_VIDEO_VP8
Constant value: 8
CODEC_VIDEO_H263
public static final int CODEC_VIDEO_H263
Constant value: 9
CODEC_VIDEO_MPEG4
public static final int CODEC_VIDEO_MPEG4
Constant value: 10
CODEC_VIDEO_MPEG2
public static final int CODEC_VIDEO_MPEG2
Constant value: 11
CODEC_AUDIO_UNKNOWN
public static final int CODEC_AUDIO_UNKNOWN
Constant value: -1
CODEC_AUDIO_PCM_BE
public static final int CODEC_AUDIO_PCM_BE
Constant value: 0
CODEC_AUDIO_PCM_SWF
public static final int CODEC_AUDIO_PCM_SWF
Constant value: 1
CODEC_AUDIO_AC3
public static final int CODEC_AUDIO_AC3
Constant value: 1
CODEC_AUDIO_MP3
public static final int CODEC_AUDIO_MP3
Constant value: 2
CODEC_AUDIO_PCM_LE
public static final int CODEC_AUDIO_PCM_LE
Constant value: 3
CODEC_AUDIO_NELLYMOSER_16MONO
public static final int CODEC_AUDIO_NELLYMOSER_16MONO
Constant value: 4
CODEC_AUDIO_NELLYMOSER_8MONO
public static final int CODEC_AUDIO_NELLYMOSER_8MONO
Constant value: 5
CODEC_AUDIO_NELLYMOSER
public static final int CODEC_AUDIO_NELLYMOSER
Constant value: 6
CODEC_AUDIO_G711_ALAW
public static final int CODEC_AUDIO_G711_ALAW
Constant value: 7
CODEC_AUDIO_G711_MULAW
public static final int CODEC_AUDIO_G711_MULAW
Constant value: 8
CODEC_AUDIO_RESERVED
public static final int CODEC_AUDIO_RESERVED
Constant value: 9
CODEC_AUDIO_VORBIS
public static final int CODEC_AUDIO_VORBIS
Constant value: 9
CODEC_AUDIO_AAC
public static final int CODEC_AUDIO_AAC
Constant value: 10
CODEC_AUDIO_SPEEX
public static final int CODEC_AUDIO_SPEEX
Constant value: 11
CODEC_AUDIO_MP3_8
public static final int CODEC_AUDIO_MP3_8
Constant value: 15
CODEC_STREAM_UNKNOWN
public static final int CODEC_STREAM_UNKNOWN
Constant value: -1
CODEC_STREAM_MP2T
public static final int CODEC_STREAM_MP2T
Constant value: 0
FILEFORMAT_UNKNOWN
public static final int FILEFORMAT_UNKNOWN
Constant value: -1
FILEFORMAT_FLV
public static final int FILEFORMAT_FLV
Constant value: 1
FILEFORMAT_MP4
public static final int FILEFORMAT_MP4
Constant value: 2
CONTENTTYPE_UKNOWN
public static final byte CONTENTTYPE_UKNOWN
CONTENTTYPE_SETCHUNKSIZE
public static final byte CONTENTTYPE_SETCHUNKSIZE
CONTENTTYPE_WATCHDOG
public static final byte CONTENTTYPE_WATCHDOG
CONTENTTYPE_BUFFERSIZE
public static final byte CONTENTTYPE_BUFFERSIZE
CONTENTTYPE_ACKBANDWIDTH
public static final byte CONTENTTYPE_ACKBANDWIDTH
CONTENTTYPE_SETBANDWIDTH
public static final byte CONTENTTYPE_SETBANDWIDTH
CONTENTTYPE_AUDIO
public static final byte CONTENTTYPE_AUDIO
CONTENTTYPE_VIDEO
public static final byte CONTENTTYPE_VIDEO
CONTENTTYPE_DATA
public static final byte CONTENTTYPE_DATA
CONTENTTYPE_DATA0
public static final byte CONTENTTYPE_DATA0
CONTENTTYPE_DATA3
public static final byte CONTENTTYPE_DATA3
CONTENTTYPE_SHAREDOBJECTS
public static final byte CONTENTTYPE_SHAREDOBJECTS
CONTENTTYPE_SHAREDOBJECTS0
public static final byte CONTENTTYPE_SHAREDOBJECTS0
CONTENTTYPE_SHAREDOBJECTS3
public static final byte CONTENTTYPE_SHAREDOBJECTS3
CONTENTTYPE_FUNCTION
public static final byte CONTENTTYPE_FUNCTION
CONTENTTYPE_FUNCTION0
public static final byte CONTENTTYPE_FUNCTION0
CONTENTTYPE_MEDIACHUNK
public static final byte CONTENTTYPE_MEDIACHUNK
CONTENTTYPE_FUNCTION3
public static final byte CONTENTTYPE_FUNCTION3
CONTENTTYPE_PLAYCALLBACK
public static final byte CONTENTTYPE_PLAYCALLBACK
ACCEPTORS_ACCEPTOR
public static final [Link] ACCEPTORS_ACCEPTOR
ACCEPTORS_HANDLERADAPTER
public static final [Link] ACCEPTORS_HANDLERADAPTER
Methods
init
public void init(String basePath)
Initialize vHost.
Parameters:
basePath - base path to configuration files
shutdown
public void shutdown()
Shutdown.
getStreamTypes
public StreamList getStreamTypes()
Returns:
default stream type
getProperty
public String getProperty(String key)
Parameters:
key - key
Returns:
property value or null if does not exist
getClientTimeout
public int getClientTimeout()
Returns:
client timeout
getNextNetConnectionId
public int getNextNetConnectionId()
Returns:
next connection id
getClient
public IClient getClient(int clientId)
Parameters:
clientId - client id
Returns:
client
getClient
public IClient getClient(int clientId,
boolean create)
Parameters:
clientId - client id
create - create if does not exist
Returns:
client
removeClient
public void removeClient(int clientId)
Parameters:
clientId - client id
killClient
public void killClient(int clientId)
Parameters:
clientId - client id
killRTSPSession
public void killRTSPSession(String rtspSessionId)
Parameters:
rtspSessionId - RTSP session id
getApplication
public IApplication getApplication(String applicationName)
Parameters:
applicationName - application name
Returns:
application
isApplicationLoaded
public boolean isApplicationLoaded(String applicationName)
Parameters:
applicationName - application name
Returns:
true if application is loaded
getHomePath
public String getHomePath()
Returns:
configuration path
getProperties
public WMSProperties getProperties()
Returns:
properties attached to this vHost
getCoreTransportPoolSize
public int getCoreTransportPoolSize()
Returns:
default core thread pool size
setCoreTransportPoolSize
public void setCoreTransportPoolSize(int corePoolSize)
Parameters:
getCoreHandlerPoolSize
public int getCoreHandlerPoolSize()
Returns:
default core thread pool size
setCoreHandlerPoolSize
public void setCoreHandlerPoolSize(int corePoolSize)
Parameters:
corePoolSize - core thread pool size
getFileIOPoolSize
public int getFileIOPoolSize()
Returns:
default file io pool size
setFileIOPoolSize
public void setFileIOPoolSize(int fileIOPoolSize)
Parameters:
fileIOPoolSize - default file io thread pool size
setClientTimeout
public void setClientTimeout(int clientTimeout)
Set client timeout. An inactive client connected by RTMPT protocol will be deleted after this timeout.
Parameters:
clientTimeout - client timeout
getHostPortsList
public HostPortList getHostPortsList()
Returns:
list of host port definitions for vHost
getThreadPool
public ThreadPool getThreadPool()
Returns:
VHost handler thread pool
getTransportThreadPool
public ThreadPool getTransportThreadPool()
Get the VHost transport thread pool. This thread pool is used to read/write data from the transports sockets.
Returns:
VHost transport thread pool
getHandlerThreadPool
public ThreadPool getHandlerThreadPool()
Get the VHost handler thread pool. This thread pool is used to process the incoming events.
Returns:
VHost handler thread pool
getName
public String getName()
Returns:
vHost name
setAdminInterfaceHostPort
public void setAdminInterfaceHostPort(HostPort adminInterfaceHostPort)
Parameters:
adminInterfaceHostPort - admin interface host port
getClientCount
public int getClientCount()
Returns:
number of clients connected to this vHost
getNetConnectionProcessorCount
public int getNetConnectionProcessorCount()
Get net connection processor count. Number of threads used for server to server communication (not finished).
Returns:
net connection processor count
setNetConnectionProcessorCount
public void setNetConnectionProcessorCount(int netConnectionProcessorCount)
Set net connection processor count. Number of threads used for server to server communication (not finished).
Parameters:
netConnectionProcessorCount - net connection processor count
addApplicationListener
public void addApplicationListener(IApplicationNotify applicationListener)
Add application listener. An application listener will receive the following events: onApplicationCreate, onApplicationDestroy.
Parameters:
applicationListener - application listener
removeApplicationListener
public void removeApplicationListener(IApplicationNotify applicationListener)
Parameters:
applicationListener - applation listener
addAcceptorListener
public void addAcceptorListener(IAcceptorNotify acceptorListener)
Add acceptor listener. Acceptor listeners will receive the following events: onAcceptorCreate, onAcceptorDestroy.
Parameters:
acceptorListener - acceptor listener
removeAcceptorListener
public void removeAcceptorListener(IAcceptorNotify acceptorListener)
Parameters:
acceptorListener - acceptor listener
getIOScheduler
public IOScheduler getIOScheduler()
Get IO scheduler for vHost. IO scheduler is used to schedule reads from the disk to increase server throughput for static flv
serving.
Returns:
IO scheduler for vHost
getIoPerformanceCounter
public IOPerformanceCounter getIoPerformanceCounter()
Returns:
io performance counter
getIoPerformanceCounter
public IOPerformanceCounter getIoPerformanceCounter(int counterIndex)
Parameters:
counterIndex - counter index (see IVHost.COUNTER_*)
Returns:
io performance counter
getConnectionCounter
public ConnectionCounter getConnectionCounter()
Returns:
connection counter
getConnectionCounter
public ConnectionCounterSimple getConnectionCounter(int counterIndex)
Parameters:
counterIndex - counter index (see IVHost.COUNTER_*)
Returns:
connection counter
getDateStarted
public String getDateStarted()
Returns:
date and time the server was started
getTimeRunning
public String getTimeRunning()
Returns:
formatted string with vHost uptime
getTimeRunningSeconds
public double getTimeRunningSeconds()
Returns:
time running in seconds
getConnectionLimit
public int getConnectionLimit()
Returns:
vHost connection limit
getMediaReaders
public MediaReaderList getMediaReaders()
Returns:
media readers attached to vHost
getMediaWriters
public MediaWriterList getMediaWriters()
Returns:
media writers attached to vHost
getMp3TagMap
public [Link] getMp3TagMap()
Returns:
MP3 tag map attached to vHost
getCEACaptionConversionContext
public CEACaptionConversionContext getCEACaptionConversionContext()
Returns:
MP3 tag map attached to vHost
updateLoggingDuration
public void updateLoggingDuration()
getApplicationTimeout
public int getApplicationTimeout()
Get application time out (milliseconds). Time from last client disconnect to application destruction.
Returns:
application time out (milliseconds)
setApplicationTimeout
public void setApplicationTimeout(int applicationTimeout)
Parameters:
applicationTimeout - application time out (milliseconds)
getPingTimeout
public int getPingTimeout()
Returns:
ping timeout (milliseconds)
setPingTimeout
public void setPingTimeout(int pingTimeout)
Parameters:
pingTimeout - ping timeout (millseconds)
getValidationFrequency
public int getValidationFrequency()
Returns:
time between validation pings (milliseconds)
setValidationFrequency
public void setValidationFrequency(int validationFrequency)
Parameters:
getMaximumPendingWriteBytes
public int getMaximumPendingWriteBytes()
Get maximum number a bytes a client connection can have waiting to be sent before the connection is terminated. If set to
zero this feature is turned off.
Returns:
maximum number a bytes a client connection can have waiting to be sent before the connection is terminated
setMaximumPendingWriteBytes
public void setMaximumPendingWriteBytes(int maximumPendingWriteBytes)
Set maximum number a bytes a client connection can have waiting to be sent before the connection is terminated. If set to zero
this feature is turned off.
Parameters:
maximumPendingWriteBytes - maximum number a bytes a client connection can have waiting to be sent before the
connection is terminated
getMaximumPendingReadBytes
public int getMaximumPendingReadBytes()
Set maximum number of bytes a client connection can have waiting to be written before the connection is terminated. If set to
zero this feature is off.
Returns:
maximum number of bytes a client connection can have waiting to be written before the connection is terminated
setMaximumPendingReadBytes
public void setMaximumPendingReadBytes(int maximumPendingReaderBytes)
Get maximum number of bytes a client connection can have waiting to be written before the connection is terminated. If set to
zero this feature is off.
Parameters:
maximumPendingReaderBytes - maximum number of bytes a client connection can have waiting to be written before
the connection is terminated
getMaximumSetBufferTime
public int getMaximumSetBufferTime()
Get maximum number of milliseconds allowed for the [Link](secs) call. If set to zero this feature is turned
off.
Returns:
maximum number of milliseconds allowed for the [Link](secs) call
setMaximumSetBufferTime
public void setMaximumSetBufferTime(int maximumSetBufferTime)
Set maximum number of milliseconds allowed for the [Link](secs) call. If set to zero this feature is turned
off.
Parameters:
maximumSetBufferTime - maximum number of milliseconds allowed for the [Link](secs) call
getApplicationLock
public [Link]
getApplicationLock()
Returns:
object used in synchronized statements to lock and application
getClientIdleFrequency
public int getClientIdleFrequency()
Returns:
default client idle frequency (milliseconds)
setClientIdleFrequency
public void setClientIdleFrequency(int clientIdleFrequency)
Parameters:
clientIdleFrequency - default client idle frequency (milliseconds)
getRTPIdleFrequency
public int getRTPIdleFrequency()
Returns:
default RTP idle frequency (milliseconds)
setRTPIdleFrequency
public void setRTPIdleFrequency(int rtpIdleFrequency)
Parameters:
rtpIdleFrequency - RTP default client idle frequency (milliseconds)
getNetConnectionIdleFrequency
public int getNetConnectionIdleFrequency()
Returns:
server to server idle frequency (milliseconds)
setNetConnectionIdleFrequency
public void setNetConnectionIdleFrequency(int netConnectionIdleFrequency)
Parameters:
netConnectionIdleFrequency - server to server idle frequency (milliseconds)
getIdleCheckFrequency
public int getIdleCheckFrequency()
Returns:
idle check frequency (milliseconds)
setIdleCheckFrequency
public void setIdleCheckFrequency(int idleCheckFrequency)
Parameters:
idleCheckFrequency - idle check frequency (milliseconds)
getIdleWorkerCount
public int getIdleWorkerCount()
Returns:
number of threads used to generate idle events
setIdleWorkerCount
public void setIdleWorkerCount(int idleWorkerCount)
Parameters:
idleWorkerCount - number of threads used to generate idle events
getKeepAliveTimeout
public int getKeepAliveTimeout()
Returns:
RTMPT connection keep alive timeout
setKeepAliveTimeout
public void setKeepAliveTimeout(int keepAliveTimeout)
Parameters:
keepAliveTimeout - RTMPT connection keep alive timeout
addIdleWorkerListener
public void addIdleWorkerListener(IIdleWorkerNotify idleWorkerListener)
Add idleWorker listener. An idleWorker listener will receive the following events: onIdleWorkerCreate, onIdleWorkerDestroy.
Parameters:
idleWorkerListener - idleWorker listener
removeIdleWorkerListener
public void removeIdleWorkerListener(IIdleWorkerNotify idleWorkerListener)
Parameters:
idleWorkerListener - idleWorker listener
getNetConnectionHostPortConfig
public HostPortConfig getNetConnectionHostPortConfig()
Returns:
socket configuration for server to server connections
getMediaCasterSettings
public MediaCasterSettings getMediaCasterSettings()
Returns:
media caster settings
getMediaCasterList
public MediaCasterList getMediaCasterList()
Returns:
list of media caster definitions
getApplicationNames
public [Link] getApplicationNames()
Returns:
list of application names
getApplicationFolderNames
public [Link] getApplicationFolderNames()
Returns:
list of application folder names
applicationExists
public boolean applicationExists(String name)
Parameters:
name - application name
Returns:
true if an application folder exists for this application name
getRTPContext
public RTPContext getRTPContext()
Returns:
RTP (real time protocol) virtual host context
getHTTPStreamerContext
public HTTPStreamerContext getHTTPStreamerContext()
Get the HTTPStreamer (Cupertino Streaming and Silverlight Smooth Streaming) host context
Returns:
HTTPStreamer (Cupertino Streaming and Silverlight Smooth Streaming) host context
getRTPDatagramConfigIncoming
public [Link] getRTPDatagramConfigIncoming()
Returns:
RTP Datagram Socket configuration
getRTPDatagramConfigOutgoing
public [Link] getRTPDatagramConfigOutgoing()
Returns:
RTP Datagram Socket configuration
getAuthenticationList
public AuthenticationList getAuthenticationList()
Returns:
list of available authentication methods
getIdleMinimumWaitTime
public int getIdleMinimumWaitTime()
Get the minimum time (milliseconds) the idle worker thread will sleep before generating idle events
Returns:
minimum time (milliseconds) the idle worker thread will sleep before generating idle events
setIdleMinimumWaitTime
public void setIdleMinimumWaitTime(int idleMinimumWaitTime)
Set the minimum time (milliseconds) the idle worker thread will sleep before generating idle events
Parameters:
idleMinimumWaitTime - minimum time (milliseconds) the idle worker thread will sleep before generating idle events
getIdleWorkers
public IdleWorkersUtil getIdleWorkers()
Returns:
idle worker utility
isShuttingDown
public boolean isShuttingDown()
Returns:
true if the vhost is shutting down
setShuttingDown
public void setShuttingDown(boolean shuttingDown)
Parameters:
shuttingDown - true if the vhost is shutting down
reparentClient
public void reparentClient(IClient client)
Move a client object to a new vhost. This can only be done right after the handshake process has completed. See
[Link].
Parameters:
client - client object to move
getDynamicLogProperties
public [Link] getDynamicLogProperties()
Get the dynamic log properties defined at the vhost level in conf/[Link]
Returns:
dynamic log properties defined at the vhost level
setDynamicLogProperties
public void setDynamicLogProperties([Link] dynamicLogProperties)
Parameters:
dynamicLogProperties - dynamic log properties defined at the vhost level
shutdownApplication
public void shutdownApplication(String appName)
Shutdown an application by name. This will disconnect all clients connected to all child application instances.
Parameters:
appName - application name
shutdownApplication
public void shutdownApplication(String appName,
boolean deleteFolder)
Shutdown an application by name. This will disconnect all clients connected to all child application instances.
Parameters:
appName - application name
deleteFolder - delete the application folder
unbindAllHostPorts
public void unbindAllHostPorts()
suspendAllHostPorts
public void suspendAllHostPorts()
Suspend all HostPorts from accepting new connections. Current connections will continue to be serviced
closeHostPort
public void closeHostPort(HostPort hostPort,
boolean isSuspend)
Parameters:
hostPort - host port to close
isSuspend - if true will just suspend the HostPort from accepting new connections, if false will unbind and drop all
connections
isSuspended
public boolean isSuspended()
touchApplicationInstance
public boolean touchApplicationInstance(String appName)
Start an application instance if it is not already started then touch it so it stays loaded for at least 3 seconds.
Parameters:
appName - application name
Returns:
true is successful
touchApplicationInstance
public boolean touchApplicationInstance(String appName,
String appInstanceName)
Start an application instance if it is not already started then touch it so it stays loaded for at least 3 seconds. The default
appInstanceName _definst_ will be used.
Parameters:
appName - application name
appInstanceName - app instance name
Returns:
true is successful
startApplicationInstance
public boolean startApplicationInstance(String appName)
Parameters:
appName - application name
Returns:
true is successful
startApplicationInstance
public boolean startApplicationInstance(String appName,
String appInstanceName)
Parameters:
appName - application name
appInstanceName - app instance name
Returns:
true is successful
getUDPTransportManager
public [Link] getUDPTransportManager()
Returns:
UDP transport manager
getHTTPStreamerList
public HTTPStreamerList getHTTPStreamerList()
Returns:
list of HTTPStreamers
getHTTPStreamerAdapter
public IHTTPStreamerAdapter getHTTPStreamerAdapter(String ID)
Get an HTTPStreamerAdapter by ID
Parameters:
ID - HTTPStreamerAdapter ID
Returns:
HTTPStreamerAdapter
putHTTPStreamerAdapter
public void putHTTPStreamerAdapter(String ID,
IHTTPStreamerAdapter adapter)
Add an HTTPStreamerAdapter
Parameters:
ID - HTTPStreamerAdapter ID
adapter - HTTPStreamerAdapter
getHTTPStreamerAdapterIDs
public [Link] getHTTPStreamerAdapterIDs()
Returns:
list of HTTPStreamerAdapter IDs
getLiveStreamPacketizerList
public LiveStreamPacketizerList getLiveStreamPacketizerList()
Returns:
LiveStreamPacketizerList
getLiveStreamTranscoderList
public LiveStreamTranscoderList getLiveStreamTranscoderList()
Returns:
LiveStreamTranscoderList
getTimedTextProviderConfig
public TimedTextProviderConfiguration getTimedTextProviderConfig()
Returns:
TimedTextProviders config
getStartupStreams
public [Link] getStartupStreams()
Returns:
list of streams to start at virtual host startup
addStartupStream
public void addStartupStream(StartupStream startupStream)
Add a stream to the list of streams to start and virtual host startup
Parameters:
startupStream - startup stream
isStartStarupStreams
public boolean isStartStarupStreams()
Returns true if the startup streams are to start and vhost startup
Returns:
true if the startup streams are to start and vhost startup
setStartStarupStreams
public void setStartStarupStreams(boolean startStarupStreams)
Parameters:
startStarupStreams - true if the startup streams are to start and vhost startup
startStartupStreams
public void startStartupStreams()
stopStartupStreams
public void stopStartupStreams()
createApplication
public boolean createApplication(String sName,
String sStreamType,
String sContentLoc)
removeApplication
public boolean removeApplication(String sName)
readVHostConfig
public String readVHostConfig(String sName)
writeVHostConfig
public boolean writeVHostConfig(String sName,
String data)
getDvrRecorderList
public DvrRecorderList getDvrRecorderList()
Returns:
list of DVR Recorders
getDvrStoreList
public DvrStoreList getDvrStoreList()
Returns:
list of DVR Stores
getMediaReaderContentType
public int getMediaReaderContentType(String mediaType)
Get the content type of a media stream name prefix (see IMediaReader.CONTENTTYPE_*)
Parameters:
mediaType - mediaType (such as flv or smil)
Returns:
content type (see IMediaReader.CONTENTTYPE_*)
getProtocolUsage
public void getProtocolUsage(boolean[] protocolsInUse)
getTranscoderVODContext
public [Link] getTranscoderVODContext()
Returns:
VOD transcoder context
getHTTPStreamerRequestValidator
public IVHostHTTPStreamerRequestValidator getHTTPStreamerRequestValidator()
Returns:
HTTP streamer request validator
setHTTPStreamerRequestValidator
public void setHTTPStreamerRequestValidator(IVHostHTTPStreamerRequestValidator
httpRequestValidator)
Parameters:
httpRequestValidator - HTTP streamer request validator
getHTTPStreamerMaxPathLen
public int getHTTPStreamerMaxPathLen()
Returns:
max HTTP streamer path length
setHTTPStreamerMaxPathLen
public void setHTTPStreamerMaxPathLen(int httpStreamerMaxPathLen)
Parameters:
httpStreamerMaxPathLen - max HTTP streamer path length
getRTSPRequestValidator
public IVHostRTSPRequestValidator getRTSPRequestValidator()
Returns:
RTSP request validator
setRTSPRequestValidator
public void setRTSPRequestValidator(IVHostRTSPRequestValidator rtspRequestValidator)
Parameters:
rtspRequestValidator - RTSP request validator
getRTSPMaxPathLen
public int getRTSPMaxPathLen()
Returns:
max RTSP stream path length
setRTSPMaxPathLen
public void setRTSPMaxPathLen(int rtspStreamerMaxPathLen)
Parameters:
rtspStreamerMaxPathLen - max RTSP stream path length
getUnidentifiedSessionTimeout
public int getUnidentifiedSessionTimeout()
Get the unidentified session timeout (TCP session that we are not able to identifiy)
Returns:
timeout in milliseconds
setUnidentifiedSessionTimeout
public void setUnidentifiedSessionTimeout(int unidentifiedSessionTimeout)
Set the unidentified session timeout (TCP session that we are not able to identifiy)
Parameters:
unidentifiedSessionTimeout - timeout in milliseconds
[Link]
Interface IVHostHTTPStreamerRequestValidator
Method Summary
boolean validateHTTPStreamerRequest(RtmpRequestMessage request, HostPort
hostPort, String path)
Methods
validateHTTPStreamerRequest
public boolean validateHTTPStreamerRequest(RtmpRequestMessage request,
HostPort hostPort,
String path)
[Link]
Interface IVHostItemNotify
VHostList is the list vHost definitions in [Link] not the vHosts themselves. With this listener interface you can monitor the vHost
definition changes.
Method Summary
void onVHostItemCreate(VHostItem vhostItem)
Triggered when vHostItem created
Methods
onVHostItemCreate
public void onVHostItemCreate(VHostItem vhostItem)
Parameters:
vhostItem - vhostItem
onVHostItemUpdate
public void onVHostItemUpdate(VHostItem vhostItem)
Parameters:
vhostItem - vhostItem
onVHostItemDestroy
public void onVHostItemDestroy(VHostItem vhostItem)
Parameters:
vhostItem - vhostItem
[Link]
Interface IVHostNotify
Method Summary
void onVHostClientConnect(IVHost vhost, IClient inClient,
[Link] function, AMFDataList params)
Triggered before a client connects to this virtual host.
Methods
onVHostCreate
public void onVHostCreate(IVHost vhost)
Parameters:
vhost
onVHostInit
public void onVHostInit(IVHost vhost)
Parameters:
vhost - vhost
onVHostShutdownStart
public void onVHostShutdownStart(IVHost vhost)
Parameters:
vhost - vhost
onVHostShutdownComplete
public void onVHostShutdownComplete(IVHost vhost)
Parameters:
vhost - vhost
onVHostClientConnect
public void onVHostClientConnect(IVHost vhost,
IClient inClient,
[Link] function,
AMFDataList params)
Triggered before a client connects to this virtual host. Provides an opportunity to rewrite the information that is being used to
connect.
Parameters:
vhost
inClient - client object of the connection
function - function
params - parameters
[Link]
Interface IVHostRTSPRequestValidator
Method Summary
boolean validateRTSPRequest([Link] req)
Methods
validateRTSPRequest
public boolean validateRTSPRequest([Link] req)
[Link]
Interface IWorkerThreadClear
Method Summary
void clear()
void reset()
Methods
reset
public void reset()
clear
public void clear()
[Link]
Class StreamItem
[Link]
|
+-[Link]
Constructor Summary
public StreamItem(String name, String baseClass, String playClass)
Create a new streamItem
Method Summary
void clearProperty(String name)
Clear property.
String getBaseClass()
Get base class path.
String getDescription()
Get streamType description.
String getName()
Get streamType name.
String getPlayClass()
Get play class path.
WMSProperties getProperties()
Get properties.
String toString()
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
StreamItem
public StreamItem(String name,
String baseClass,
String playClass)
Parameters:
name - streamType name
baseClass - base class path
playClass - play class path
Methods
getBaseClass
public String getBaseClass()
Returns:
base clas path
setBaseClass
public void setBaseClass(String baseClass)
Parameters:
baseClass - base class path
getName
public String getName()
Returns:
streamType name
setName
public void setName(String name)
Parameters:
name - streamType name
getPlayClass
public String getPlayClass()
Returns:
play class path
setPlayClass
public void setPlayClass(String playClass)
Parameters:
playClass - play class path
setProperty
public void setProperty(String name,
String value)
Parameters:
name - property name
value - property value
clearProperty
public void clearProperty(String name)
Clear property.
Parameters:
name - property name
getProperty
public String getProperty(String name)
Parameters:
name - property name
Returns:
property value
getProperties
public WMSProperties getProperties()
Get properties.
Returns:
properties
getDescription
public String getDescription()
Returns:
streamType description
setDescription
public void setDescription(String description)
Parameters:
description - streamType description
toString
public String toString()
[Link]
Class StreamList
[Link]
|
+-[Link]
Constructor Summary
public StreamList()
Create empty StreamList
Method Summary
StreamItem getStreamDef(String name)
Get streamItem by streamType name.
[Link] getStreamDefs()
Get Map of streamItems (by streamType names).
[Link] getStreamTypeNames()
Get list of streamType names.
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
StreamList
public StreamList()
Methods
getStreamDefs
public [Link] getStreamDefs()
Returns:
Map of streamItems
getStreamTypeNames
public [Link] getStreamTypeNames()
Returns:
list of streamType names
getStreamDef
public StreamItem getStreamDef(String name)
Parameters:
name - streamType name
Returns:
streamItem
[Link]
Class ThreadPool
[Link]
|
+-[Link]
Constructor Summary
public ThreadPool(IVHost vhost, String name)
Create a new thread pool attached to a vHost.
Method Summary
void execute(Runnable command)
Execute a runnable object.
int getActiveCount()
Get number of active threads.
[Link]. getExecutor()
Executor
Get the underlying Executor pool.
int getQueueSize()
Get the number of command objects in the LinkedBlockingQueue.
void terminate()
Terminate all threads and cleanup threadPool.
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
ThreadPool
public ThreadPool(IVHost vhost,
String name)
Parameters:
vhost - vHost
Methods
init
public void init(int corePoolSize)
Initialize threadPool.
Parameters:
corePoolSize - core pool size
terminate
public void terminate()
execute
public void execute(Runnable command)
Execute a runnable object. If the threadPool is at the corePool size, the object will be added to a LinkedBlockingQueue in the
order it was received.
Parameters:
command
getExecutor
public [Link] getExecutor()
Returns:
Executor pool
getActiveCount
public int getActiveCount()
Returns:
number of active threads
getQueueSize
public int getQueueSize()
Returns:
number of command objects in the LinkedBlockingQueue
[Link]
Class VHostItem
[Link]
|
+-[Link]
Constructor Summary
public VHostItem()
Create empty vHostItem
Method Summary
String getConfigDir()
Get configuration path for vHost.
int getConnectionLimit()
Get connection limit of this vHost item.
String getName()
Get vHost name
WMSProperties getProperties()
Get properties
boolean isVisited()
Has this vHostItem been visited during load of [Link] file.
void reset()
Reset vHostItem to empty state
String toString()
Format vHost item
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
VHostItem
public VHostItem()
Methods
reset
public void reset()
getConfigDir
public String getConfigDir()
Returns:
configuration path for vHost
setConfigDir
public void setConfigDir(String configDir)
Parameters:
configDir - configuration path for vHost
getName
public String getName()
Returns:
vHost name
setName
public void setName(String name)
Parameters:
getProperties
public WMSProperties getProperties()
Get properties
Returns:
properties
setProperties
public void setProperties(WMSProperties properties)
Set properties
Parameters:
properties - properties
isVisited
public boolean isVisited()
Has this vHostItem been visited during load of [Link] file. Internally used to track and delete vHost definitions on reload
of [Link].
Returns:
Has this vHostItem been visited during load
setVisited
public void setVisited(boolean visited)
Set is visited.
Parameters:
visited - is visited
getConnectionLimit
public int getConnectionLimit()
Returns:
connection limit of this vHost item
setConnectionLimit
public void setConnectionLimit(int connectionLimit)
Parameters:
connectionLimit - connection limit of this vHost item
toString
public String toString()
[Link]
Class VHostList
[Link]
|
+-[Link]
VHostList: list of VHost items. Result of parsing [Link] at server startup or [Link] reload. This interface can keep track of
reloads and carefully mark items for deletion.
Constructor Summary
public VHostList()
Create empty vHostList
Method Summary
void addVHostItemListener(IVHostItemNotify vHostItemListener)
Add vHostItem listener.
[Link] getVHostItems()
Get a list of vHostItems.
[Link] getVHostMap()
Get the Map of vHostItem defintions.
[Link] getVHostNames()
Get a list of vHost names.
void loadConfig()
void reloadConfig()
Reload [Link] file.
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
VHostList
public VHostList()
Methods
loadConfig
public void loadConfig()
reloadConfig
public void reloadConfig()
getVHostMap
public [Link] getVHostMap()
Returns:
Map of vHostItem defintions
addVHostItemListener
public void addVHostItemListener(IVHostItemNotify vHostItemListener)
Add vHostItem listener. vHostItem listeners will receive the following events: onVHostItemCreate, onVHostItemUpdate,
onVHostItemDestroy.
Parameters:
vHostItemListener - vHostItem listener
removeVHostItemListener
public void removeVHostItemListener(IVHostItemNotify vHostItemListener)
Parameters:
vHostItemListener - vHostItem listener
notifyVHostItemCreate
public void notifyVHostItemCreate(VHostItem vhostItem)
Parameters:
vhostItem - vHostItem
notifyVHostItemUpdate
public void notifyVHostItemUpdate(VHostItem vhostItem)
Parameters:
vhostItem - vHostItem
notifyVHostItemDestroy
public void notifyVHostItemDestroy(VHostItem vhostItem)
Parameters:
vhostItem - vHostItem
getVHostNames
public [Link] getVHostNames()
Returns:
list of vHost names
getVHostItems
public [Link] getVHostItems()
Returns:
list of vHostItems
[Link]
Class VHostSingleton
[Link]
|
+-[Link]
Constructor Summary
public VHostSingleton()
Method Summary
static void addVHostListener(IVHostNotify vhostListener)
Add a vHost listener.
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,
wait
Constructors
VHostSingleton
public VHostSingleton()
Methods
getInstance
public static IVHost getInstance(String vhostName)
Parameters:
vhostName - vHost name
Returns:
vHost
getInstance
public static IVHost getInstance(String vhostName,
boolean doCreate)
Parameters:
vhostName - vhost name
doCreate - if true, create if does not exist
Returns:
vHost
init
public static void init(String vhostName,
String configHome)
Parameters:
vhostName - vHost name
setServer
public static void setServer(IServer server)
Parameters:
server - server
shutdown
public static void shutdown(String vhostName)
Parameters:
vhostName - vhost name
getVHostNames
public static [Link] getVHostNames()
Returns:
vHost names
remove
public static void remove(String vhostName)
Parameters:
vhostName - vhost name
addVHostListener
public static void addVHostListener(IVHostNotify vhostListener)
Add a vHost listener. A vHost listener receives the following events: onVHostCreate, onVHostInit, onVHostDestroy
Parameters:
vhostListener - vHost listener
removeApplicationListener
public static void removeApplicationListener(IVHostNotify vhostListener)
Parameters:
vhostListener - vHost listener
notifyVHostClientConnect
public static void notifyVHostClientConnect(IVHost vhost,
IClient inClient,
[Link] function,
AMFDataList params)
Parameters:
vhost - vHost
inClient - client
function - function
params - parameters
notifyVHostCreate
public static void notifyVHostCreate(IVHost vhost)
Parameters:
vhost - vHost
notifyVHostInit
public static void notifyVHostInit(IVHost vhost)
Parameters:
vhost - vHost
notifyVHostShutdownStart
public static void notifyVHostShutdownStart(IVHost vhost)
Parameters:
vhost - vHost
notifyVHostShutdownComplete
public static void notifyVHostShutdownComplete(IVHost vhost)
Parameters:
vhost - vHost
DEFAULT_PROPERTY_AUDIO_ONLY_CHUNK_TARGE DEFAULT_PROPERTY_RECORDINGS_LOADER_CLASS
T_DURATION 437 433
DEFAULT_PROPERTY_BREAK_ON_PTS 437 DEFAULT_PROPERTY_REPEATER_HEARTBEAT_DURA
DEFAULT_PROPERTY_CAPION_LANGUAGES 1405 TION 438
DEFAULT_PROPERTY_CAPTION_FILE_NAMING_RULE DEFAULT_PROPERTY_SANJOSE_ABST_DURATION_TO
1409 LERANCE 451
DEFAULT_PROPERTY_CAPTION_PATH_NAMING_RUL DEFAULT_PROPERTY_SANJOSE_ABST_TIMESCALE
E 1410 451
DEFAULT_PROPERTY_CHUNK_CACHE_CLASS 433 DEFAULT_PROPERTY_SMOOTH_MANIFEST_LIVE_CA
DEFAULT_PROPERTY_CHUNK_DURATION_MINIMUM N_PAUSE 453
438 DEFAULT_PROPERTY_SMOOTH_MANIFEST_LIVE_CA
DEFAULT_PROPERTY_CHUNK_GROUPING_SECONDS N_SEEK 452
429 DEFAULT_PROPERTY_SMOOTH_MANIFEST_MAJOR_V
DEFAULT_PROPERTY_CHUNK_READER_CLASS 431 ERSION 454
DEFAULT_PROPERTY_CHUNK_WRITER_CLASS 432 DEFAULT_PROPERTY_SMOOTH_MANIFEST_MINOR_V
DEFAULT_PROPERTY_DEBUG_MAX_INVALID_CHUN ERSION 454
KS_LOGGED 442 DEFAULT_PROPERTY_SMOOTH_MANIFEST_RECORD
DEFAULT_PROPERTY_DEBUG_MAX_RAW_PACKETS ED_CAN_PAUSE 453
444 DEFAULT_PROPERTY_SMOOTH_MANIFEST_RECORD
DEFAULT_PROPERTY_DEBUG_MAX_VALID_CHUNKS_ ED_CAN_SEEK 453
LOGGED 443 DEFAULT_PROPERTY_SMOOTH_MANIFEST_RECORD
DEFAULT_PROPERTY_DEBUG_RAW_PACKETS 444 ED_SPECIFY_DURATION 454
DEFAULT_PROPERTY_DVR_MAX_CHUNK_LOG 445 DEFAULT_PROPERTY_STORAGE_DIRECTORY 430
DEFAULT_PROPERTY_FILE_SYSTEM_CLASS 432 DEFAULT_PROPERTY_TEXT_READER_CLASS 434
DEFAULT_PROPERTY_MANIFEST_PERSISTER_CLASS DEFAULT_PROPERTY_TEXT_WRITER_CLASS 434
432 DEFAULT_RANDOMACCESSREADER 1152
DEFAULT_PROPERTY_MAX_RECALC_DURATION_LO DEFAULT_RANDOMACCESSREADEROPTIMIZER 1152
G 445 DEFAULT_REPOSITORY_NAME 683
DEFAULT_PROPERTY_MAX_RECORDING_LENGTH DEFAULT_XML_CONFIGURATION_FILE 684
441 DefaultDvrStreamVersionHandler 378
DEFAULT_PROPERTY_MBR_ALTERNATIVE_MATCH_D defaultLocale 103
ELTA 439 defaultTimeZone 103
DEFAULT_PROPERTY_MBR_MINIMIMUM_PACKETTIM deleteArchivedStore 499
E_GAP_SIZE 440 deleteDirectory 51
DEFAULT_PROPERTY_MBR_MINIMIMUM_UTCTIME_G deleteFolder 51
AP_SIZE 440 deleteSlot 1108, 1132
DEFAULT_PROPERTY_MEDIACACHE_READER_CLASS deleteStream 922
441 describe 1053
DEFAULT_PROPERTY_PACKET_DELTA_TO_NOTIFY deserialize 136, 148, 154, 171, 183, 189, 200, 201, 395, 398, 400,
436 474
DEFAULT_PROPERTY_PACKET_DELTA_TO_RESET_TI deserializeBody 750, 770, 773, 776, 779, 781, 787, 792, 795, 800
ME 435 deserializeDate 119
DEFAULT_PROPERTY_PACKET_DURATION_MAXIMU deserializeFrame 767
M 440 deserializeInnerObject 134
DEFAULT_PROPERTY_PACKET_SORT_TIME 437 deserializeInt 119
FileUtils 50 FORWARD 8
fileVersionDelegate 654 frameTypeToString 60
filterQueryStr 570 fS 1097
filters 524
FLAGS_DEFAULT 766 G
floatValue 170
flush 1108, 1119, 1136, 1208, 1331 generateAuth 89, 90, 91
flushBase64 29 generateAuthHTTP 90
FLV_CHUNKHEADER_BUFFERSIZE 58 generateHash 92
FLV_CHUNKHEADER_FIRSTBYTE 57 generateHashBytes 91, 92
FLV_CHUNKHEADER_HEADERSIZE 58 get 145, 181, 198, 229, 230, 1117, 1468
FLV_CHUNKHEADER_ISIZE 57 getAbsTimecode 212, 223
FLV_CHUNKHEADER_ITIMECODE 57 getAccess 1137, 1206
FLV_CHUNKHEADER_ITYPE 57 getActiveCount 1529
FLV_CHUNKHEADER_SECONDBYTE 57 getAdapterName 564
FLV_CHUNKHEADER_VALUESIZE 58 getAddress 1462
FLV_DFRAME 58 getAddressCount 984
FLV_KFRAME 58 getAddressRawStr 1462
FLV_PFRAME 58 getAddressStr 1462
FLV_TCINDEXAUDIO 58 getAdminAgent 1088
FLV_TCINDEXDATA 59 getAdminGUID 1095
FLV_TCINDEXVIDEO 59 getAdminInterfaceObjectList 1075, 1093
FLV_UFRAME 58 getAllAsStrings 312
FLVUtils 59 getAllowDomains 275
forceNewLoggerInstance 710 getAndClearNotifyCreate 598
forceReset 809 getAndClearPendingFrameGrabs 1429
FORMAT_COLOR 1381 getAndClearPendingOverlays 1433
FORMAT_FLASH 1381 getAndSetStartStream 1297
FORMAT_FLV 633 getAppInstance 238, 344, 507, 568, 584, 807, 910, 1004, 1041,
FORMAT_ITALICS 1381 1273, 1284, 1305, 1328
FORMAT_ITALICS_UNDERLINE 1381 getAppInstanceName 1045, 1273
FORMAT_MP4 633 getAppInstanceNames 240
FORMAT_UNKNOWN 633 getAppInstanceProperty 944
formatBytes 42 getApplication 261, 344, 696, 910, 1494
formatBytesInSingleRow 43 getApplicationFolderNames 1506
formatBytesShort 41 getApplicationInstance 841, 1297
formatBytesStruct 43 getApplicationInstanceTouchTimeout 294
formatDeleteCookie 75 getApplicationLock 1503
formatH264CodecConfig 1446 getApplicationNames 1505
formatH264CodecConfigPacket 1446 getApplicationPath 238
formatMilliseconds 44 getApplicationProperty 943
formatRTPInfo 1055 getApplicationTimeout 272, 1501
formatSeconds 44 getAppName 1045, 1273
formatSetCookie 76 getArchiveStrategy 379, 497, 515
formatUtcTime 45 getArtifactsTextRepresentation 383, 404
ping 350
P play 923, 1042, 1043, 1237, 1238, 1312, 1336, 1339, 1345, 1346,
1347
p 1262 play2 923
PACKET_TIME 457 playDuration 869
packetComplete 1183 PLAYEVENT_AFTERBUFFERFILL 1153
packetizerLicenses 1267 PLAYEVENT_AFTERMETADATA 1153
packetOutput 1449 PLAYEVENT_BEFOREBUFFERFILL 1153
packetTime 391 PLAYEVENT_BEFOREMETADATA 1153
PARAM1 901 PLAYEVENT_STARTPLAYBACK 1153
PARAM10 903 Playlist 1316
PARAM2 902 PlaylistItem 1319
PARAM3 902 PLAYSIZES_AUDIO_BYTES 1236
PARAM4 902 PLAYSIZES_AUDIO_COUNT 1236
PARAM5 902 PLAYSIZES_DATA_BYTES 1236
PARAM6 902 PLAYSIZES_DATA_COUNT 1236
PARAM7 902 PLAYSIZES_LOSS_BYTES 1236
PARAM8 902 PLAYSIZES_LOSS_COUNT 1237
PARAM9 902 PLAYSIZES_SIZE 1237
PARAMMETHODNAME 901 PLAYSIZES_VIDEO_BYTES 1236
parseAllowDomains 275 PLAYSIZES_VIDEO_COUNT 1236
parseBodyForParams 536 playStart 869
parseCommaSeparatedLanguages 874 PLAYSTATUSTYPE_COMPLETE 1236
parseIdString 825 PLAYSTATUSTYPE_STOP 1236
parseQueryStr 110 PLAYSTATUSTYPE_SWITCH 1235
PASSWORDFILEFORMAT_CLEAR 318 PLAYTRANSITION_APPEND 905
PASSWORDFILEFORMAT_UNKNOWN 318 PLAYTRANSITION_APPEND_IMMEDIATE 905
pathToFileURL 108 PLAYTRANSITION_RESET 905
pause 924, 1043, 1238 PLAYTRANSITION_RESET_IMMEDIATE 905
PAUSE_PAUSE 1235 PLAYTRANSITION_STOP 905
PAUSE_PLAY 1235 PLAYTRANSITION_SWAP 905
PAUSE_TOGGLE 1235 PLAYTRANSITION_SWITCH 905
pauseRaw 928, 1238 PLAYTRANSITION_UNKNOWN 905
pauseRecording 499, 510, 1287 PLAYTRANSITIONSTR_APPEND 904
peekByte 131 PLAYTRANSITIONSTR_RESET 904
PICTUREMAXFILESIZE 749 PLAYTRANSITIONSTR_STOP 904
PICTURETYPE_ARTISTLOGO 749 PLAYTRANSITIONSTR_SWAP 904
PICTURETYPE_COVERBACK 749 PLAYTRANSITIONSTR_SWITCH 904
PICTURETYPE_COVERFRONT 748 PLAYTRANSITIONSTR_UNKNOWN 904
PICTURETYPE_FILEICON 748 postChunkAdded 488
PICTURETYPE_ILLUSTRATION 749 postChunksPurged 489
PICTURETYPE_MOVIESCREENCAPTURE 749 preChunkAdded 488
PICTURETYPE_OTHER 748 preChunksPurged 488
PICTURETYPE_OTHERFILEICON 748 previous 1348
PICTURETYPE_PUBLISHERLOGO 749 PROP_3GPP_CAPTION_CHARACTER_SET 1411
PROP_AMF_CONVERTER_INSERT_ERASES_IN_GAPS ES 1415
1414 PROP_DEBUG_TTML_CAPTION_PARSER 1414
PROP_AMF_CONVERTER_TEXT_TYPE 1413 PROP_DEBUG_TTML_CAPTION_PARSER_TIME 1415
PROP_AMF_CONVERTER_TRACK_INDEX 1413 PROP_DEBUG_TTML_VOD_CAPTION_COMPANION_FI
PROP_CAPTION_CHARACTER_SET 1411 LES 1414
PROP_CAPTION_FILE_NAMING_RULE 1408 PROP_DEBUG_VOD_CAPTION_COMPANION_FILES
PROP_CAPTION_FILENAME_QUERY_PARAMETER 1408
1418 PROP_DEBUG_VOD_CAPTION_LANGUAGE_SELECTIO
PROP_CAPTION_LANGUAGE_QUERY_PARAMETER N 1406
1418 PROP_DEBUG_VOD_CAPTION_PROVIDER_DETERMIN
PROP_CAPTION_LANGUAGES 1405 ATION 1407
PROP_CAPTION_PATH_NAMING_RULE 1409 PROP_DEBUG_WEBVTT_CAPTION_PARSER 1416
PROP_CEA608_CONVERTER_CHARACTER_SET 1412 PROP_DEBUG_WEBVTT_CAPTION_PARSER_TIME 1416
PROP_CEA608_CONVERTER_CHARS_PER_LINE 1412 PROP_DEBUG_WEBVTT_VOD_CAPTION_COMPANION
PROP_CEA608_CONVERTER_COLOR 1412 _FILES 1416
PROP_CUPERTINO_CAPTION_LANGUAGES 1405 PROP_LIVE_CAPTION_DEFAULT_LANGUAGES 1419
PROP_CUPERTINO_LIVE_USE_WEBVTT 1413 PROP_LIVE_CAPTION_INGEST_AMF_ID_STRING 1418
PROP_CUPERTINO_VOD_CAPTIONS_ENABLED 1404 PROP_LIVE_CAPTION_INGEST_TYPE 1419
PROP_CUPERTINO_VOD_REMOVE_EXISTING_CEA608 PROP_LIVE_CAPTION_USE_STREAM_NAME_GROUPS
1412 1418
PROP_CUPERTINO_VOD_USE_WEBVTT 1413 PROP_MAXIMUM_CAPTION_DURATION 1410
PROP_DEBUG_3GPP_CAPTION_PARSER 1417 PROP_RTMP_CAPTION_LANGUAGES 1405
PROP_DEBUG_3GPP_CAPTION_PARSER_TIME 1417 PROP_RTMP_VOD_CAPTIONS_ENABLED 1404
PROP_DEBUG_CUPERTINO_VOD_CAPTION_LANGUA PROP_SANJOSE_CAPTION_LANGUAGES 1406
GE_SELECTION 1406 PROP_SANJOSE_VOD_CAPTIONS_ENABLED 1404
PROP_DEBUG_CUPERTINO_VOD_CAPTION_PROVIDE PROP_SRT_CAPTION_CHARACTER_SET 1411
R_DETERMINATION 1407 PROP_TTML_CAPTION_CHARACTER_SET 1411
PROP_DEBUG_LIVE_CAPTION_INGEST 1419 PROP_TTML_INLINE_TAGS_IN_TEXT 1415
PROP_DEBUG_LIVE_CAPTION_ONTEXTDATA_INGES PROP_UNDEFINED_LANG_CODE 1408
T 1419 PROP_VOD_CAPTIONS_ENABLED 1404
PROP_DEBUG_RTMP_VOD_CAPTION_LANGUAGE_SE PROP_WEBVTT_CONVERTER_INSERT_ERASES_IN_GA
LECTION 1406 PS 1414
PROP_DEBUG_RTMP_VOD_CAPTION_PROVIDER_DET properties 524, 862, 868, 876, 997
ERMINATION 1408 PROPERTY_ALLOWABLE_AV_PACKET_DELTA 434
PROP_DEBUG_SANJOSE_VOD_CAPTION_LANGUAGE_ PROPERTY_APPEND_DISCONTINUITY_DELTA 429
SELECTION 1407 PROPERTY_ARCHIVE_STRATEGY 430
PROP_DEBUG_SANJOSE_VOD_CAPTION_PROVIDER_ PROPERTY_AUDIO_ONLY_CHUNK_TARGET_DURATI
DETERMINATION 1408 ON 436
PROP_DEBUG_SCC_CAPTION_PARSER 1417 PROPERTY_BREAK_ON_PTS 437
PROP_DEBUG_SCC_CAPTION_PARSER_TIME 1417 PROPERTY_CHUNK_CACHE_CLASS 433
PROP_DEBUG_SCC_VOD_CAPTION_COMPANION_FIL PROPERTY_CHUNK_DURATION_MINIMUM 438
ES 1416 PROPERTY_CHUNK_GROUPING_SECONDS 429
PROP_DEBUG_SRT_CAPTION_PARSER 1415 PROPERTY_CHUNK_MEMORY_CACHESIZE 438
PROP_DEBUG_SRT_CAPTION_PARSER_TIME 1416 PROPERTY_CHUNK_READER_CLASS 431
PROP_DEBUG_SRT_VOD_CAPTION_COMPANION_FIL PROPERTY_CHUNK_WRITER_CLASS 431