@MediaClass(uuid1=218169601, uuid2=257, uuid3=9472, uuid4={6,14,43,52,2,6,1,1}, definedName="FileDescriptor", aliases="AAFFileDescriptor", description="The FileDescriptor class describes an essence source that is directly manipulated by an AAF application.", symbol="FileDescriptor", isConcrete=false) public class AAFFileDescriptorImpl extends EssenceDescriptorImpl implements AAFFileDescriptor, QAAFFileDescriptor, Serializable, Cloneable
Implements a file descriptor that describes an essence source that is directly manipulated by an AAF application.
ObjectClassPropertyID| Constructor and Description |
|---|
AAFFileDescriptorImpl() |
| Modifier and Type | Method and Description |
|---|---|
AAFFileDescriptor |
clone()
Create a cloned copy of this interchange object.
|
boolean |
describesStaticEssence()
Determines whether this file descriptor describes static or time-varying essence.
|
CodecDefinition |
getCodec()
Returns the codec of the described file, which
identifies the mechanism used to compress and uncompress samples of
essence or used to convert samples of essence from one format to another.
|
ContainerDefinition |
getContainerFormat()
Returns the file format of the described file, which
identifies the container mechanism used to store the essence.
|
long |
getEssenceLength()
Returns the length of the essence in sample units.
|
int |
getLinkedTrackID()
Returns the linked track id of this file descriptor, which specifies which
track of the associated source package
this descriptor describes when the source package is described by a multiple descriptor.
|
Rational |
getSampleRate()
Returns the sample rate of the essence.
|
String |
getSampleRateString() |
int |
getTwentyFourBitAudio() |
static long |
initializeEssenceLength() |
static Rational |
initializeSampleRate() |
void |
setCodec(CodecDefinition codec)
Set the codec of the described file, which
identifies the mechanism used to compress and uncompress samples of
essence or used to convert samples of essence from one format to another.
|
void |
setContainerFormat(ContainerDefinition format)
Specifies the file format of the described file, which
identifies the container mechanism used to store the essence.
|
void |
setDescribesStaticEssence()
Sets this file descriptor so that it describes static essence.
|
void |
setDescribesTimeVaryingEssence(Rational sampleRate,
long length)
Sets this file descriptor so that it describes time varying essence.
|
void |
setEssenceLength(Long essenceLength)
Sets the length of the essence in sample units.
|
void |
setEssenceLengthFromStream(long essenceLength) |
void |
setLinkedTrackID(Integer linkedTrackID)
Set the linked track id of this file descriptor, which specifies which
track of the associated source package
this descriptor describes when the source package is described by a multiple descriptor.
|
void |
setSampleRate(Rational rate)
Sets sample rate of the essence.
|
void |
setSampleRateFromStream(Rational rate) |
void |
setSampleRateString(String sampleRate) |
void |
setTwentyFourBitAudio(Integer twentyFourBitAudio) |
appendLocator, appendSubDescriptor, clearLocators, clearSubDescriptors, countLocators, countSubDescriptors, getComment, getLocatorAt, getLocators, getSubDescriptorAt, getSubDescriptors, insertLocatorAt, insertSubDescriptorAt, prependLocator, prependSubDescriptor, removeLocatorAt, removeSubDescriptorAtaddApplicationPlugin, appendXMLChildren, clearApplicationPlugins, containsApplicationPlugin, containsApplicationPlugin, countApplicationPlugins, deepEquals, disableGenerationTracking, enableGenerationTracking, equals, getApplicationPlugins, getGeneration, getLinkedGenerationID, getLinkedGenerationIDString, getObjectClass, getPersistentID, getPersistentIndex, hashCode, isGenerationTracked, removeApplicationPlugin, removeApplicationPlugin, setLinkedGenerationID, setLinkedGenerationIDString, setObjectClass, setPersistentID, setPersistentIndex, toStringappendLocator, appendSubDescriptor, clearLocators, countLocators, countSubDescriptors, getLocatorAt, getLocators, getSubDescriptorAt, getSubDescriptors, insertLocatorAt, insertSubDescriptorAt, prependLocator, prependSubDescriptor, removeLocatorAt, removeSubDescriptorAtaddApplicationPlugin, clearApplicationPlugins, containsApplicationPlugin, containsApplicationPlugin, countApplicationPlugins, deepEquals, disableGenerationTracking, enableGenerationTracking, equals, getApplicationPlugins, getGeneration, getLinkedGenerationID, getObjectClass, isGenerationTracked, removeApplicationPlugin, removeApplicationPlugin, setLinkedGenerationID, setObjectClass, toStringgetPersistentID, setPersistentIndex@MediaProperty(uuid1=100729092, uuid2=259, uuid3=0, uuid4={6,14,43,52,1,1,1,2}, definedName="Codec", aliases={"CodecDefinition","FileDescriptorCodecDefinition"}, typeName="CodecDefinitionWeakReference", optional=true, uniqueIdentifier=false, pid=12293, symbol="Codec") public CodecDefinition getCodec() throws PropertyNotPresentException
AAFFileDescriptorReturns the codec of the described file, which identifies the mechanism used to compress and uncompress samples of essence or used to convert samples of essence from one format to another.
getCodec in interface AAFFileDescriptorPropertyNotPresentException - The optional codec definition property is not present for
this file descriptor.TypeDefinitions.CodecDefinitionWeakReference@MediaPropertySetter(value="Codec") public void setCodec(CodecDefinition codec)
AAFFileDescriptorSet the codec of the described file, which identifies the mechanism used to compress and uncompress samples of essence or used to convert samples of essence from one format to another.
setCodec in interface AAFFileDescriptorcodec - Codec that was used for the file.CodecConstant@MediaProperty(uuid1=100729092, uuid2=258, uuid3=0, uuid4={6,14,43,52,1,1,1,2}, aliases="EssenceContainer", definedName="ContainerFormat", typeName="ContainerDefinitionWeakReference", optional=true, uniqueIdentifier=false, pid=12292, symbol="ContainerFormat") public ContainerDefinition getContainerFormat() throws PropertyNotPresentException
AAFFileDescriptorReturns the file format of the described file, which identifies the container mechanism used to store the essence.
The container format is defined as an optional property but version 1.1 of
the AAF object specification requires it to be specified for each file. However,
file descriptors created with tools supporting earlier versions of the AAF
specification may omit the property, in which case a PropertyNotPresentException
is thrown.
getContainerFormat in interface AAFFileDescriptorPropertyNotPresentException - The (rarely) optional container format property
is not present in this file descriptor.TypeDefinitions.ContainerDefinitionWeakReference@MediaPropertySetter(value="ContainerFormat") public void setContainerFormat(ContainerDefinition format)
AAFFileDescriptorSpecifies the file format of the described file, which identifies the container mechanism used to store the essence.
The container format is defined as an optional property but version 1.1 of
the AAF object specification requires it to be specified for each file. The property
can be omitted by setting its value to null for compatibility with
older versions of the specification.
setContainerFormat in interface AAFFileDescriptorformat - File format to set for this file descriptor.ContainerConstant@MediaProperty(uuid1=67502338, uuid2=0, uuid3=0, uuid4={6,14,43,52,1,1,1,1}, definedName="EssenceLength", aliases={"Length","FileDescriptorLength"}, typeName="LengthType", optional=true, uniqueIdentifier=false, pid=12290, symbol="EssenceLength") public long getEssenceLength() throws BadPropertyException, PropertyNotPresentException
AAFFileDescriptorReturns the length of the essence in sample units. Set this optional property to null to
omit it.
Note that the sample rate is defined in MXF in terms of the number of addressable units, so for PCM audio this is one unit per audio sample and for MPEG audio this is one unit per frame.
getEssenceLength in interface AAFFileDescriptorBadPropertyException - The length property is not present as this file
descriptor describes static essence.PropertyNotPresentException - The optional essence length property is not present for this file descriptor.public void setEssenceLength(Long essenceLength) throws BadPropertyException, BadLengthException
AAFFileDescriptorSets the length of the essence in sample units. This is an optional property that should only be set when the encoder knows the value.
Note that the sample rate is defined in MXF in terms of the number of addressable units, so for PCM audio this is one unit per audio sample and for MPEG audio this is one unit per frame.
setEssenceLength in interface AAFFileDescriptoressenceLength - Length of the essence in samples.BadPropertyException - The length property is not present as this file
descriptor describes static essence.BadLengthException - The length of the described material is negative.@MediaPropertySetter(value="EssenceLength") public void setEssenceLengthFromStream(long essenceLength) throws BadLengthException
BadLengthExceptionpublic static final long initializeEssenceLength()
@MediaProperty(uuid1=67502337, uuid2=0, uuid3=0, uuid4={6,14,43,52,1,1,1,1}, definedName="SampleRate", aliases="FileDescriptorSampleRate", typeName="Rational", optional=false, uniqueIdentifier=false, pid=12289, symbol="SampleRate") public Rational getSampleRate() throws BadPropertyException
AAFFileDescriptorReturns the sample rate of the essence.
The MXF specification further defines this to be the rate of the addressable units in the stream. For PCM audio, this is the same as the audio sampling rate. For MPEG audio, this is the same as the audio frame rate (e.g. AAC-encoding of 48kHz audio has 1024 samples per frame, so the rate is 48000/1024).
getSampleRate in interface AAFFileDescriptorBadPropertyException - The sample rate property is not present as this file
descriptor describes static essence.public void setSampleRate(Rational rate) throws NullPointerException, BadPropertyException
AAFFileDescriptorSets sample rate of the essence.
The MXF specification further defines this to be the rate of the addressable units in the stream. For PCM audio, this is the same as the audio sampling rate, for MPEG audio this is the same as the audio frame rate (e.g. AAC audio has 1024 samples per frame, so the rate is 48000/1024).
setSampleRate in interface AAFFileDescriptorrate - Sample rate of the essence.NullPointerException - The given sample rate is null.BadPropertyException - The sample rate property is not present as this file
descriptor describes static essence.public static final Rational initializeSampleRate()
@MediaPropertySetter(value="SampleRate") public void setSampleRateFromStream(Rational rate)
public boolean describesStaticEssence()
Determines whether this file descriptor describes static or time-varying essence. This method
returns true if static essence is described and false if time-varying
essence is described. If the file descriptor describes static essence then the
sample rate and length properties are not
present.
public void setDescribesStaticEssence()
Sets this file descriptor so that it describes static essence.
public void setDescribesTimeVaryingEssence(Rational sampleRate, long length) throws NullPointerException, BadLengthException
Sets this file descriptor so that it describes time varying essence. In this state, the
sample rate and length properties are required
and so must be provided to the call to this method.
sampleRate - Sample rate for this file descriptor.length - Length of the material represented by this file descriptor.NullPointerException - Argument is null.BadLengthException - The length of the described material is negative.@MediaProperty(uuid1=100729091, uuid2=1280, uuid3=0, uuid4={6,14,43,52,1,1,1,5}, definedName="LinkedTrackID", aliases="LinkedSlotID", typeName="UInt32", optional=true, uniqueIdentifier=false, pid=12294, symbol="LinkedTrackID") public int getLinkedTrackID() throws PropertyNotPresentException
AAFFileDescriptorReturns the linked track id of this file descriptor, which specifies which track of the associated source package this descriptor describes when the source package is described by a multiple descriptor. This is an optional property.
getLinkedTrackID in interface AAFFileDescriptorPropertyNotPresentException - The optional linked track id property is not
present in this file descriptor.@MediaPropertySetter(value="LinkedTrackID") public void setLinkedTrackID(Integer linkedTrackID) throws IllegalArgumentException
AAFFileDescriptorSet the linked track id of this file descriptor, which specifies which
track of the associated source package
this descriptor describes when the source package is described by a multiple descriptor. In this case, this file descriptor is one of the collection of file descriptors
that are part of a multiple descriptor, as returned by MultipleDescriptor.getFileDescriptors(). If this
file descriptor is not part of a multiple descriptor collection, set this optional property to
null to omit it.
setLinkedTrackID in interface AAFFileDescriptorlinkedTrackID - Linked track id of this file descriptor.IllegalArgumentException - The linked track id is negative.@MediaProperty(uuid1=2078938896, uuid2=-9719, uuid3=18915, uuid4={-98,120,-3,45,-85,22,110,-94}, definedName="24 bit audio", symbol="_24_bit_audio", aliases={"_4_bit_audio","_24_bit_audio","twentyFourBitAudio"}, typeName="Int32", optional=true, uniqueIdentifier=false, pid=0, prefix="q", namespace="http://www.quantel.com/genQ/extensions") @Int32 public int getTwentyFourBitAudio() throws PropertyNotPresentException
getTwentyFourBitAudio in interface QAAFFileDescriptorPropertyNotPresentException@MediaPropertySetter(value="24 bit audio") public void setTwentyFourBitAudio(@Int32 Integer twentyFourBitAudio)
setTwentyFourBitAudio in interface QAAFFileDescriptorpublic AAFFileDescriptor clone()
InterchangeObjectCreate a cloned copy of this interchange object.
clone in interface MediaEntityclone in interface AAFFileDescriptorclone in interface EssenceDescriptorclone in interface InterchangeObjectclone in class EssenceDescriptorImplpublic String getSampleRateString()
public void setSampleRateString(String sampleRate)
(c)2007-2016 Richard Cartwright, all rights reserved. Licensed under Apache 2 license and subject to the AMWA IPR policy.