Package com.biglybt.core.util
Class QTFastStartRAF
- java.lang.Object
-
- com.biglybt.core.util.QTFastStartRAF
-
public class QTFastStartRAF extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
QTFastStartRAF.Atom
static interface
QTFastStartRAF.FileAccessor
private static class
QTFastStartRAF.RAFAccessor
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
ATOM_CMOV
private static java.lang.String
ATOM_CO64
private static java.lang.String
ATOM_FREE
private static java.lang.String
ATOM_FTYP
private static java.lang.String
ATOM_JUNK
private static java.lang.String
ATOM_MDAT
private static java.lang.String
ATOM_MOOV
private static java.lang.String
ATOM_PICT
private static java.lang.String
ATOM_PNOT
private static java.lang.String
ATOM_SKIP
private static java.lang.String
ATOM_STCO
private static java.lang.String
ATOM_WIDE
private long
body_end
private long
body_start
private byte[]
header
private QTFastStartRAF.FileAccessor
input
private long
seek_position
private static java.util.Set<java.lang.String>
supported_extensions
private static java.util.Set<java.lang.String>
tested
private boolean
transparent
private static java.lang.String[]
VALID_TOPLEVEL_ATOMS
-
Constructor Summary
Constructors Constructor Description QTFastStartRAF(QTFastStartRAF.FileAccessor accessor, boolean enable)
QTFastStartRAF(java.io.File file, boolean enable)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private long
bytesToLong(byte[] buffer)
void
close()
static byte[]
copyOfRange(byte[] original, int from, int to)
private boolean
isCompressedMoovAtom(QTFastStartRAF.Atom moovAtom)
static boolean
isSupportedExtension(java.lang.String extension)
private boolean
isValidTopLevelAtom(QTFastStartRAF.Atom ah)
long
length()
private int
patchCo64Atom(QTFastStartRAF.Atom ah, int idx)
private void
patchMoovAtom(QTFastStartRAF.Atom moovAtom)
private int
patchStcoAtom(QTFastStartRAF.Atom ah, int idx)
int
read(byte[] buffer, int pos, int len)
void
seek(long pos)
-
-
-
Field Detail
-
supported_extensions
private static final java.util.Set<java.lang.String> supported_extensions
-
tested
private static final java.util.Set<java.lang.String> tested
-
ATOM_FREE
private static final java.lang.String ATOM_FREE
- See Also:
- Constant Field Values
-
ATOM_JUNK
private static final java.lang.String ATOM_JUNK
- See Also:
- Constant Field Values
-
ATOM_MDAT
private static final java.lang.String ATOM_MDAT
- See Also:
- Constant Field Values
-
ATOM_MOOV
private static final java.lang.String ATOM_MOOV
- See Also:
- Constant Field Values
-
ATOM_PNOT
private static final java.lang.String ATOM_PNOT
- See Also:
- Constant Field Values
-
ATOM_SKIP
private static final java.lang.String ATOM_SKIP
- See Also:
- Constant Field Values
-
ATOM_WIDE
private static final java.lang.String ATOM_WIDE
- See Also:
- Constant Field Values
-
ATOM_PICT
private static final java.lang.String ATOM_PICT
- See Also:
- Constant Field Values
-
ATOM_FTYP
private static final java.lang.String ATOM_FTYP
- See Also:
- Constant Field Values
-
ATOM_CMOV
private static final java.lang.String ATOM_CMOV
- See Also:
- Constant Field Values
-
ATOM_STCO
private static final java.lang.String ATOM_STCO
- See Also:
- Constant Field Values
-
ATOM_CO64
private static final java.lang.String ATOM_CO64
- See Also:
- Constant Field Values
-
VALID_TOPLEVEL_ATOMS
private static final java.lang.String[] VALID_TOPLEVEL_ATOMS
-
input
private final QTFastStartRAF.FileAccessor input
-
transparent
private boolean transparent
-
header
private byte[] header
-
body_start
private long body_start
-
body_end
private long body_end
-
seek_position
private long seek_position
-
-
Constructor Detail
-
QTFastStartRAF
public QTFastStartRAF(java.io.File file, boolean enable) throws java.io.IOException
- Throws:
java.io.IOException
-
QTFastStartRAF
public QTFastStartRAF(QTFastStartRAF.FileAccessor accessor, boolean enable) throws java.io.IOException
- Throws:
java.io.IOException
-
-
Method Detail
-
isSupportedExtension
public static boolean isSupportedExtension(java.lang.String extension)
-
isCompressedMoovAtom
private boolean isCompressedMoovAtom(QTFastStartRAF.Atom moovAtom)
-
isValidTopLevelAtom
private boolean isValidTopLevelAtom(QTFastStartRAF.Atom ah)
-
patchMoovAtom
private void patchMoovAtom(QTFastStartRAF.Atom moovAtom)
-
patchStcoAtom
private int patchStcoAtom(QTFastStartRAF.Atom ah, int idx)
-
patchCo64Atom
private int patchCo64Atom(QTFastStartRAF.Atom ah, int idx)
-
copyOfRange
public static byte[] copyOfRange(byte[] original, int from, int to)
-
bytesToLong
private long bytesToLong(byte[] buffer)
-
seek
public void seek(long pos) throws java.io.IOException
- Throws:
java.io.IOException
-
read
public int read(byte[] buffer, int pos, int len) throws java.io.IOException
- Throws:
java.io.IOException
-
length
public long length() throws java.io.IOException
- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException
- Throws:
java.io.IOException
-
-