|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jaudiotagger.audio.mp4.Mp4AtomTree
public class Mp4AtomTree
Tree representing atoms in the mp4 file
Note it doesn't create the complete tree it delves into subtrees for atom we know about and are interested in. (Note it would be impossible to create a complete tree for any file without understanding all the nodes because some atoms such as meta contain data and children and therefore need to be specially preprocessed) This class is currently only used when writing tags because it better handles the difficulties of mdat aand free atoms being optional/multiple places then the older sequential method. It is expected this class will eventually be used when reading tags as well. Uses a TreeModel for the tree, with convenience methods holding onto references to most common nodes so they can be used without having to traverse the tree again.
Field Summary | |
---|---|
private javax.swing.tree.DefaultTreeModel |
dataTree
|
private java.util.List<javax.swing.tree.DefaultMutableTreeNode> |
freeNodes
|
private javax.swing.tree.DefaultMutableTreeNode |
hdlrWithinMdiaNode
|
private javax.swing.tree.DefaultMutableTreeNode |
hdlrWithinMetaNode
|
private javax.swing.tree.DefaultMutableTreeNode |
ilstNode
|
static java.util.logging.Logger |
logger
|
private javax.swing.tree.DefaultMutableTreeNode |
mdatNode
|
private java.util.List<javax.swing.tree.DefaultMutableTreeNode> |
mdatNodes
|
private javax.swing.tree.DefaultMutableTreeNode |
metaNode
|
private java.nio.ByteBuffer |
moovBuffer
|
private Mp4BoxHeader |
moovHeader
|
private javax.swing.tree.DefaultMutableTreeNode |
moovNode
|
private javax.swing.tree.DefaultMutableTreeNode |
rootNode
|
private Mp4StcoBox |
stco
|
private javax.swing.tree.DefaultMutableTreeNode |
stcoNode
|
private java.util.List<javax.swing.tree.DefaultMutableTreeNode> |
trakNodes
|
private javax.swing.tree.DefaultMutableTreeNode |
udtaNode
|
Constructor Summary | |
---|---|
Mp4AtomTree(java.io.RandomAccessFile raf)
Create Atom Tree |
|
Mp4AtomTree(java.io.RandomAccessFile raf,
boolean closeOnExit)
Create Atom Tree and maintain open channel to raf, should only be used if will continue to use raf after this call, you will have to close raf yourself. |
Method Summary | |
---|---|
void |
buildChildrenOfNode(java.nio.ByteBuffer moovBuffer,
javax.swing.tree.DefaultMutableTreeNode parentNode)
|
javax.swing.tree.DefaultTreeModel |
buildTree(java.io.RandomAccessFile raf,
boolean closeExit)
Build a tree of the atoms in the file |
Mp4BoxHeader |
getBoxHeader(javax.swing.tree.DefaultMutableTreeNode node)
|
javax.swing.tree.DefaultTreeModel |
getDataTree()
|
java.util.List<javax.swing.tree.DefaultMutableTreeNode> |
getFreeNodes()
|
javax.swing.tree.DefaultMutableTreeNode |
getHdlrWithinMdiaNode()
|
javax.swing.tree.DefaultMutableTreeNode |
getHdlrWithinMetaNode()
|
javax.swing.tree.DefaultMutableTreeNode |
getIlstNode()
|
javax.swing.tree.DefaultMutableTreeNode |
getMdatNode()
|
javax.swing.tree.DefaultMutableTreeNode |
getMetaNode()
|
java.nio.ByteBuffer |
getMoovBuffer()
|
Mp4BoxHeader |
getMoovHeader()
|
javax.swing.tree.DefaultMutableTreeNode |
getMoovNode()
|
Mp4StcoBox |
getStco()
|
javax.swing.tree.DefaultMutableTreeNode |
getStcoNode()
|
java.util.List<javax.swing.tree.DefaultMutableTreeNode> |
getTrakNodes()
|
javax.swing.tree.DefaultMutableTreeNode |
getUdtaNode()
|
void |
printAtomTree()
Display atom tree |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private javax.swing.tree.DefaultMutableTreeNode rootNode
private javax.swing.tree.DefaultTreeModel dataTree
private javax.swing.tree.DefaultMutableTreeNode moovNode
private javax.swing.tree.DefaultMutableTreeNode mdatNode
private javax.swing.tree.DefaultMutableTreeNode stcoNode
private javax.swing.tree.DefaultMutableTreeNode ilstNode
private javax.swing.tree.DefaultMutableTreeNode metaNode
private javax.swing.tree.DefaultMutableTreeNode udtaNode
private javax.swing.tree.DefaultMutableTreeNode hdlrWithinMdiaNode
private javax.swing.tree.DefaultMutableTreeNode hdlrWithinMetaNode
private java.util.List<javax.swing.tree.DefaultMutableTreeNode> freeNodes
private java.util.List<javax.swing.tree.DefaultMutableTreeNode> mdatNodes
private java.util.List<javax.swing.tree.DefaultMutableTreeNode> trakNodes
private Mp4StcoBox stco
private java.nio.ByteBuffer moovBuffer
private Mp4BoxHeader moovHeader
public static java.util.logging.Logger logger
Constructor Detail |
---|
public Mp4AtomTree(java.io.RandomAccessFile raf) throws java.io.IOException, CannotReadException
raf
-
java.io.IOException
CannotReadException
public Mp4AtomTree(java.io.RandomAccessFile raf, boolean closeOnExit) throws java.io.IOException, CannotReadException
raf
- closeOnExit
- to keep randomfileaccess open, only used when randomaccessfile already being used
java.io.IOException
CannotReadException
Method Detail |
---|
public javax.swing.tree.DefaultTreeModel buildTree(java.io.RandomAccessFile raf, boolean closeExit) throws java.io.IOException, CannotReadException
raf
- closeExit
- false to keep randomfileacces open, only used when randomaccessfile already being used
java.io.IOException
CannotReadException
public void printAtomTree()
public void buildChildrenOfNode(java.nio.ByteBuffer moovBuffer, javax.swing.tree.DefaultMutableTreeNode parentNode) throws java.io.IOException, CannotReadException
moovBuffer
- parentNode
-
java.io.IOException
CannotReadException
public javax.swing.tree.DefaultTreeModel getDataTree()
public javax.swing.tree.DefaultMutableTreeNode getMoovNode()
public javax.swing.tree.DefaultMutableTreeNode getStcoNode()
public javax.swing.tree.DefaultMutableTreeNode getIlstNode()
public Mp4BoxHeader getBoxHeader(javax.swing.tree.DefaultMutableTreeNode node)
node
-
public javax.swing.tree.DefaultMutableTreeNode getMdatNode()
public javax.swing.tree.DefaultMutableTreeNode getUdtaNode()
public javax.swing.tree.DefaultMutableTreeNode getMetaNode()
public javax.swing.tree.DefaultMutableTreeNode getHdlrWithinMetaNode()
public javax.swing.tree.DefaultMutableTreeNode getHdlrWithinMdiaNode()
public java.util.List<javax.swing.tree.DefaultMutableTreeNode> getFreeNodes()
public java.util.List<javax.swing.tree.DefaultMutableTreeNode> getTrakNodes()
public Mp4StcoBox getStco()
public java.nio.ByteBuffer getMoovBuffer()
public Mp4BoxHeader getMoovHeader()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |