public interface TimecodeStream extends Segment
Specifies a stream of timecode data.
In contrast to a timecode stream, a timecode specifies timecode by specifying the single starting timecode value; other timecode values are calculated from the starting timecode and the time offset.
| Modifier and Type | Method and Description |
|---|---|
TimecodeStream |
clone()
Create a cloned copy of this timecode stream.
|
TimecodeValue |
getPositionTimecode(long position)
Returns the timecode value for a
given frame of this timecode stream.
|
int |
getSampleSize()
Returns the size of one sample of the timecode data of this
timecode stream, measured in bytes.
|
long |
getSourceBufferLength()
Returns the length of the timecode stream buffer contained
within the timecode stream object.
|
TCSource |
getTimecodeSource()
|
Stream |
getTimecodeStreamData()
Returns the data buffer containing the stream of timecode data of this
timecode stream.
|
Rational |
getTimecodeStreamSampleRate()
Returns the sample rate of the timecode stream, which specifies the sample rate
of the timecode data contained in the source property.
|
ByteBuffer |
getUserDataAtPosition(long position)
Returns the user data (user-bits) for a particular frame of
this timecode stream.
|
int |
getUserDataLength()
Returns the length of user data for one frame of this timecode
stream.
|
void |
setPositionTimecode(long position,
TimecodeValue timecode)
Sets the timecode value for a
given frame of this timecode stream.
|
void |
setTimecodeSource(TCSource sourceType)
|
void |
setTimecodeStreamData(Stream timecodeStreamData)
Sets the data buffer containing the stream of timecode data of this
timecode stream.
|
void |
setTimecodeStreamSampleRate(Rational sampleRate)
Sets the sample rate of this timecode stream, which specifies the sample rate
of the timecode data contained in the source property.
|
void |
setUserDataAtPosition(long position,
ByteBuffer buffer)
Sets the user data (userbits) for a particular frame of the
timecode stream.
|
generateSequence, segmentOffsetToTC, segmentTCToOffsetappendComponentAttribute, appendComponentAttribute, appendComponentKLVData, appendComponentUserComment, appendComponentUserComment, clearComponentAttributes, clearComponentKLVData, clearComponentUserComments, countComponentAttributes, countComponentKLVData, countComponentUserComments, getComponentAttributes, getComponentDataDefinition, getComponentKLVData, getComponentLength, getComponentUserComments, getLengthPresent, removeComponentAttribute, removeComponentKLVData, removeComponentUserComment, setComponentDataDefinition, setComponentLength, setLengthPresentaddApplicationPlugin, clearApplicationPlugins, containsApplicationPlugin, containsApplicationPlugin, countApplicationPlugins, deepEquals, disableGenerationTracking, enableGenerationTracking, equals, getApplicationPlugins, getGeneration, getLinkedGenerationID, getObjectClass, isGenerationTracked, removeApplicationPlugin, removeApplicationPlugin, setLinkedGenerationID, setObjectClass, toStringgetPersistentID, setPersistentIndexTimecodeValue getPositionTimecode(@PositionType long position) throws PositionOutOfRangeException, IOException
Returns the timecode value for a given frame of this timecode stream. The frame index must be within the length of the stream.
position - Frame to find the timecode value for from the timecode
stream.PositionOutOfRangeException - Frame index is outside the length
of this timecode stream.IOException - Error occurred when trying to access data from the
underlying stream.void setPositionTimecode(@PositionType long position, TimecodeValue timecode) throws NullPointerException, PositionOutOfRangeException, IOException
Sets the timecode value for a given frame of this timecode stream. The frame index must be within the length of the stream.
position - Zero-based offset to set the timecode value at.timecode - Timecode value to set at the given frame for the timecode
stream.NullPointerException - The given timecode value is null.PositionOutOfRangeException - Frame index is outside the length
of the stream.IOException - Error occurred when trying to write data to the underlying
stream.@Int32 int getUserDataLength()
Returns the length of user data for one frame of this timecode stream.
getUserDataAtPosition(long)@DataBuffer ByteBuffer getUserDataAtPosition(@PositionType long position) throws PositionOutOfRangeException, IOException
Returns the user data (user-bits) for a particular frame of this timecode stream.
position - Zero-based index to the frame to get the user bits
from.PositionOutOfRangeException - The given user data is outside the
acceptable range for this timecode stream.IOException - Error occurred when trying to read from the underlying
stream.PositionOutOfRangeException - The given user data position is out
of range for the timecode stream.getUserDataLength()void setUserDataAtPosition(@PositionType long position, @DataBuffer ByteBuffer buffer) throws NullPointerException, PositionOutOfRangeException, IOException
Sets the user data (userbits) for a particular frame of the timecode stream.
position - Zero-based offset to the userbits to set.buffer - User data for the specified frame.NullPointerException - The given user data buffer is null.PositionOutOfRangeException - The given user data is outside the
acceptable range for this timecode stream.IOException - Error occurred when trying to access date from the underlying
stream.void setTimecodeStreamSampleRate(Rational sampleRate)
Sets the sample rate of this timecode stream, which specifies the sample rate of the timecode data contained in the source property.
sampleRate - Sample rate of this timecode stream.Rational getTimecodeStreamSampleRate()
Returns the sample rate of the timecode stream, which specifies the sample rate of the timecode data contained in the source property.
void setTimecodeSource(TCSource sourceType)
sourceType - Kind of timecode of this timecode stream.TCSource getTimecodeSource()
@UInt32 int getSampleSize()
Returns the size of one sample of the timecode data of this timecode stream, measured in bytes.
@DataBuffer Stream getTimecodeStreamData()
Returns the data buffer containing the stream of timecode data of this timecode stream.
getTimecodeStreamSampleRate()@UInt32 long getSourceBufferLength() throws IOException
Returns the length of the timecode stream buffer contained within the timecode stream object. This is the size of the buffer and not the number of timecode entries in the stream.
IOException - Cannot access the underlying stream to determine the length.getTimecodeStreamData()void setTimecodeStreamData(@DataBuffer Stream timecodeStreamData) throws NullPointerException
Sets the data buffer containing the stream of timecode data of this timecode stream.
timecodeStreamData - Stream of timecode data to store in this timecode stream.NullPointerException - The given timecode stream source property
is null.setTimecodeStreamSampleRate(Rational)TimecodeStream clone()
Create a cloned copy of this timecode stream.
clone in interface Componentclone in interface InterchangeObjectclone in interface MediaEntityclone in interface Segment(c)2007-2016 Richard Cartwright, all rights reserved. Licensed under Apache 2 license and subject to the AMWA IPR policy.