Remove UdtaInfo class

The class seems unnecessary and the code can be simplified by
removing this.

PiperOrigin-RevId: 541675378
This commit is contained in:
sheenachhabra 2023-06-19 18:33:58 +01:00 committed by Ian Baker
parent 74948d5424
commit 911a6430f3
34 changed files with 61 additions and 99 deletions

View File

@ -200,8 +200,8 @@ public class MetadataRetrieverTest {
.isEqualTo(expectedAndroidVersionMetadata);
assertThat(trackGroups.get(0).getFormat(0).metadata.get(1))
.isEqualTo(expectedTemporalLayersCountMetdata);
assertThat(trackGroups.get(0).getFormat(0).metadata.get(2)).isEqualTo(expectedSmtaEntry);
assertThat(trackGroups.get(0).getFormat(0).metadata.get(3)).isEqualTo(expectedSlowMotionData);
assertThat(trackGroups.get(0).getFormat(0).metadata.get(2)).isEqualTo(expectedSlowMotionData);
assertThat(trackGroups.get(0).getFormat(0).metadata.get(3)).isEqualTo(expectedSmtaEntry);
assertThat(trackGroups.get(0).getFormat(0).metadata.get(4)).isEqualTo(expectedMp4TimestampData);
// Video
@ -211,8 +211,8 @@ public class MetadataRetrieverTest {
assertThat(trackGroups.get(1).getFormat(0).metadata.get(1))
.isEqualTo(expectedTemporalLayersCountMetdata);
assertThat(trackGroups.get(1).getFormat(0).metadata.get(2)).isEqualTo(expectedMdtaEntry);
assertThat(trackGroups.get(1).getFormat(0).metadata.get(3)).isEqualTo(expectedSmtaEntry);
assertThat(trackGroups.get(1).getFormat(0).metadata.get(4)).isEqualTo(expectedSlowMotionData);
assertThat(trackGroups.get(1).getFormat(0).metadata.get(3)).isEqualTo(expectedSlowMotionData);
assertThat(trackGroups.get(1).getFormat(0).metadata.get(4)).isEqualTo(expectedSmtaEntry);
assertThat(trackGroups.get(1).getFormat(0).metadata.get(5)).isEqualTo(expectedMp4TimestampData);
}

View File

@ -60,26 +60,6 @@ import java.util.List;
@SuppressWarnings("ConstantField")
/* package */ final class AtomParsers {
/** Stores metadata retrieved from the udta atom. */
public static final class UdtaInfo {
/** The metadata retrieved from the meta sub atom. */
@Nullable public final Metadata metaMetadata;
/** The metadata retrieved from the smta sub atom. */
@Nullable public final Metadata smtaMetadata;
/** The location metadata retrieved from the xyz sub atom. */
@Nullable public final Metadata xyzMetadata;
/** Creates an instance. */
public UdtaInfo(
@Nullable Metadata metaMetadata,
@Nullable Metadata smtaMetadata,
@Nullable Metadata xyzMetadata) {
this.metaMetadata = metaMetadata;
this.smtaMetadata = smtaMetadata;
this.xyzMetadata = xyzMetadata;
}
}
private static final String TAG = "AtomParsers";
@SuppressWarnings("ConstantCaseForConstants")
@ -179,31 +159,30 @@ import java.util.List;
* Parses a udta atom.
*
* @param udtaAtom The udta (user data) atom to decode.
* @return A {@link UdtaInfo} containing the metadata extracted from the meta, smta and xyz child
* atoms (if present).
* @return Parsed metadata.
*/
public static UdtaInfo parseUdta(Atom.LeafAtom udtaAtom) {
public static Metadata parseUdta(Atom.LeafAtom udtaAtom) {
ParsableByteArray udtaData = udtaAtom.data;
udtaData.setPosition(Atom.HEADER_SIZE);
@Nullable Metadata metaMetadata = null;
@Nullable Metadata smtaMetadata = null;
@Nullable Metadata xyzMetadata = null;
Metadata metadata = new Metadata();
while (udtaData.bytesLeft() >= Atom.HEADER_SIZE) {
int atomPosition = udtaData.getPosition();
int atomSize = udtaData.readInt();
int atomType = udtaData.readInt();
if (atomType == Atom.TYPE_meta) {
udtaData.setPosition(atomPosition);
metaMetadata = parseUdtaMeta(udtaData, atomPosition + atomSize);
metadata =
metadata.copyWithAppendedEntriesFrom(parseUdtaMeta(udtaData, atomPosition + atomSize));
} else if (atomType == Atom.TYPE_smta) {
udtaData.setPosition(atomPosition);
smtaMetadata = parseSmta(udtaData, atomPosition + atomSize);
metadata =
metadata.copyWithAppendedEntriesFrom(parseSmta(udtaData, atomPosition + atomSize));
} else if (atomType == Atom.TYPE_xyz) {
xyzMetadata = parseXyz(udtaData);
metadata = metadata.copyWithAppendedEntriesFrom(parseXyz(udtaData));
}
udtaData.setPosition(atomPosition + atomSize);
}
return new UdtaInfo(metaMetadata, smtaMetadata, xyzMetadata);
return metadata;
}
/**

View File

@ -288,25 +288,17 @@ import com.google.common.collect.ImmutableList;
/** Updates a {@link Format.Builder} to include metadata from the provided sources. */
public static void setFormatMetadata(
int trackType,
@Nullable Metadata udtaMetaMetadata,
@Nullable Metadata mdtaMetadata,
Format.Builder formatBuilder,
@NullableType Metadata... additionalMetadata) {
Metadata formatMetadata = new Metadata();
if (trackType == C.TRACK_TYPE_AUDIO) {
// We assume all meta metadata in the udta box is associated with the audio track.
if (udtaMetaMetadata != null) {
formatMetadata = udtaMetaMetadata;
}
}
if (mdtaMetadata != null) {
for (int i = 0; i < mdtaMetadata.length(); i++) {
Metadata.Entry entry = mdtaMetadata.get(i);
if (entry instanceof MdtaMetadataEntry) {
MdtaMetadataEntry mdtaMetadataEntry = (MdtaMetadataEntry) entry;
// This key is present in the container level meta box.
// This key is present in the moov.meta box.
if (mdtaMetadataEntry.key.equals(MdtaMetadataEntry.KEY_ANDROID_CAPTURE_FPS)) {
if (trackType == C.TRACK_TYPE_VIDEO) {
formatMetadata = formatMetadata.copyWithAppendedEntries(mdtaMetadataEntry);

View File

@ -491,20 +491,13 @@ public final class Mp4Extractor implements Extractor, SeekMap {
List<Mp4Track> tracks = new ArrayList<>();
// Process metadata.
@Nullable Metadata udtaMetaMetadata = null;
@Nullable Metadata smtaMetadata = null;
@Nullable Metadata xyzMetadata = null;
boolean isQuickTime = fileType == FILE_TYPE_QUICKTIME;
GaplessInfoHolder gaplessInfoHolder = new GaplessInfoHolder();
@Nullable Metadata udtaMetadata = null;
@Nullable Atom.LeafAtom udta = moov.getLeafAtomOfType(Atom.TYPE_udta);
if (udta != null) {
AtomParsers.UdtaInfo udtaInfo = AtomParsers.parseUdta(udta);
udtaMetaMetadata = udtaInfo.metaMetadata;
smtaMetadata = udtaInfo.smtaMetadata;
xyzMetadata = udtaInfo.xyzMetadata;
if (udtaMetaMetadata != null) {
gaplessInfoHolder.setFromMetadata(udtaMetaMetadata);
}
udtaMetadata = AtomParsers.parseUdta(udta);
gaplessInfoHolder.setFromMetadata(udtaMetadata);
}
@Nullable Metadata mdtaMetadata = null;
@Nullable Atom.ContainerAtom meta = moov.getContainerAtomOfType(Atom.TYPE_meta);
@ -562,12 +555,10 @@ public final class Mp4Extractor implements Extractor, SeekMap {
MetadataUtil.setFormatGaplessInfo(track.type, gaplessInfoHolder, formatBuilder);
MetadataUtil.setFormatMetadata(
track.type,
udtaMetaMetadata,
mdtaMetadata,
formatBuilder,
smtaMetadata,
slowMotionMetadataEntries.isEmpty() ? null : new Metadata(slowMotionMetadataEntries),
xyzMetadata,
udtaMetadata,
mvhdMetadata);
mp4Track.trackOutput.format(formatBuilder.build());

View File

@ -17,7 +17,7 @@ track 0:
width = 180
height = 120
pixelWidthHeightRatio = 0.5
metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
metadata = entries=[TSSE: description=null: values=[Lavf58.42.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
initializationData:
data = length 32, hash 1F3D6E87
data = length 10, hash 7A0D0F2B

View File

@ -17,7 +17,7 @@ track 0:
width = 180
height = 120
pixelWidthHeightRatio = 0.5
metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
metadata = entries=[TSSE: description=null: values=[Lavf58.42.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
initializationData:
data = length 32, hash 1F3D6E87
data = length 10, hash 7A0D0F2B

View File

@ -17,7 +17,7 @@ track 0:
width = 180
height = 120
pixelWidthHeightRatio = 0.5
metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
metadata = entries=[TSSE: description=null: values=[Lavf58.42.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
initializationData:
data = length 32, hash 1F3D6E87
data = length 10, hash 7A0D0F2B

View File

@ -17,7 +17,7 @@ track 0:
width = 180
height = 120
pixelWidthHeightRatio = 0.5
metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
metadata = entries=[TSSE: description=null: values=[Lavf58.42.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
initializationData:
data = length 32, hash 1F3D6E87
data = length 10, hash 7A0D0F2B

View File

@ -17,7 +17,7 @@ track 0:
width = 1080
height = 720
frameRate = 29.970028
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData:
data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B

View File

@ -17,7 +17,7 @@ track 0:
width = 1080
height = 720
frameRate = 29.970028
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData:
data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B

View File

@ -17,7 +17,7 @@ track 0:
width = 1080
height = 720
frameRate = 29.970028
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData:
data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B

View File

@ -17,7 +17,7 @@ track 0:
width = 1080
height = 720
frameRate = 29.970028
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData:
data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B

View File

@ -17,7 +17,7 @@ track 0:
width = 1080
height = 720
frameRate = 29.970028
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData:
data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B

View File

@ -17,7 +17,7 @@ track 0:
width = 1080
height = 720
frameRate = 29.970028
metadata = entries=[Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData:
data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B

View File

@ -17,7 +17,7 @@ track 0:
width = 1080
height = 720
frameRate = 29.970028
metadata = entries=[Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData:
data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B

View File

@ -17,7 +17,7 @@ track 0:
width = 1080
height = 720
frameRate = 29.970028
metadata = entries=[Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData:
data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B

View File

@ -17,7 +17,7 @@ track 0:
width = 1080
height = 720
frameRate = 29.970028
metadata = entries=[Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData:
data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B

View File

@ -17,7 +17,7 @@ track 0:
width = 1080
height = 720
frameRate = 29.970028
metadata = entries=[Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData:
data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B

View File

@ -21,7 +21,7 @@ track 0:
colorRange = 2
colorTransfer = 6
hdrStaticInfo = length 25, hash 423AFC35
metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
sample 0:
time = 0
flags = 1

View File

@ -21,7 +21,7 @@ track 0:
colorRange = 2
colorTransfer = 6
hdrStaticInfo = length 25, hash 423AFC35
metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
sample 0:
time = 0
flags = 1

View File

@ -21,7 +21,7 @@ track 0:
colorRange = 2
colorTransfer = 6
hdrStaticInfo = length 25, hash 423AFC35
metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
sample 0:
time = 0
flags = 1

View File

@ -21,7 +21,7 @@ track 0:
colorRange = 2
colorTransfer = 6
hdrStaticInfo = length 25, hash 423AFC35
metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
sample 0:
time = 0
flags = 1

View File

@ -21,7 +21,7 @@ track 0:
colorRange = 2
colorTransfer = 6
hdrStaticInfo = length 25, hash 423AFC35
metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
sample 0:
time = 0
flags = 1

View File

@ -6,11 +6,11 @@ format 0:
width = 1080
height = 720
frameRate = 29.970028
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData:
data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B
container metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
container metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
format 1:
averageBitrate = 131072
sampleMimeType = audio/mp4a-latm

View File

@ -6,11 +6,11 @@ format 0:
width = 1080
height = 720
frameRate = 29.970028
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData:
data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B
container metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
container metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
format 1:
peakBitrate = 200000
id = 2

View File

@ -6,11 +6,11 @@ format 0:
width = 1080
height = 720
frameRate = 29.970028
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData:
data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B
container metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
container metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
format 1:
peakBitrate = 200000
id = 2

View File

@ -6,11 +6,11 @@ format 0:
width = 1080
height = 720
frameRate = 29.970028
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData:
data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B
container metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
container metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
sample:
trackIndex = 0
dataHashCode = -770308242

View File

@ -7,11 +7,11 @@ format 0:
height = 720
frameRate = 29.970028
rotationDegrees = 90
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData:
data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B
container metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
container metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
format 1:
peakBitrate = 200000
id = 2

View File

@ -6,11 +6,11 @@ format 0:
width = 1080
height = 720
frameRate = 29.970028
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData:
data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B
container metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
container metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
format 1:
averageBitrate = 131072
sampleMimeType = audio/mp4a-latm

View File

@ -6,11 +6,11 @@ format 0:
width = 1080
height = 720
frameRate = 29.970028
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData:
data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B
container metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
container metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
format 1:
averageBitrate = 131072
sampleMimeType = audio/mp4a-latm

View File

@ -6,11 +6,11 @@ format 0:
width = 1080
height = 720
frameRate = 29.970028
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData:
data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B
container metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
container metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
format 1:
averageBitrate = 131072
sampleMimeType = audio/mp4a-latm

View File

@ -6,19 +6,19 @@ format 0:
width = 320
height = 240
frameRate = 29.523811
metadata = entries=[mdta: key=com.android.version, value=10, mdta: key=com.android.video.temporal_layers_count, value=4, mdta: key=com.android.capture.fps, value=240.0, smta: captureFrameRate=240.0, svcTemporalLayerCount=4, SlowMotion: segments=[Segment: startTimeMs=88, endTimeMs=879, speedDivisor=2, Segment: startTimeMs=1255, endTimeMs=1970, speedDivisor=8], Mp4Timestamp: creation time=3686904890, modification time=3686904890, timescale=1000]
metadata = entries=[mdta: key=com.android.version, value=10, mdta: key=com.android.video.temporal_layers_count, value=4, mdta: key=com.android.capture.fps, value=240.0, SlowMotion: segments=[Segment: startTimeMs=88, endTimeMs=879, speedDivisor=2, Segment: startTimeMs=1255, endTimeMs=1970, speedDivisor=8], smta: captureFrameRate=240.0, svcTemporalLayerCount=4, Mp4Timestamp: creation time=3686904890, modification time=3686904890, timescale=1000]
initializationData:
data = length 33, hash D3FB879D
data = length 10, hash 7A0D0F2B
container metadata = entries=[mdta: key=com.android.version, value=10, mdta: key=com.android.video.temporal_layers_count, value=4, mdta: key=com.android.capture.fps, value=240.0, smta: captureFrameRate=240.0, svcTemporalLayerCount=4, SlowMotion: segments=[Segment: startTimeMs=88, endTimeMs=879, speedDivisor=2, Segment: startTimeMs=1255, endTimeMs=1970, speedDivisor=8], Mp4Timestamp: creation time=3686904890, modification time=3686904890, timescale=1000]
container metadata = entries=[mdta: key=com.android.version, value=10, mdta: key=com.android.video.temporal_layers_count, value=4, mdta: key=com.android.capture.fps, value=240.0, SlowMotion: segments=[Segment: startTimeMs=88, endTimeMs=879, speedDivisor=2, Segment: startTimeMs=1255, endTimeMs=1970, speedDivisor=8], smta: captureFrameRate=240.0, svcTemporalLayerCount=4, Mp4Timestamp: creation time=3686904890, modification time=3686904890, timescale=1000]
format 1:
averageBitrate = 131072
sampleMimeType = audio/mp4a-latm
channelCount = 2
sampleRate = 12000
pcmEncoding = 2
metadata = entries=[mdta: key=com.android.version, value=10, mdta: key=com.android.video.temporal_layers_count, value=4, smta: captureFrameRate=240.0, svcTemporalLayerCount=4, SlowMotion: segments=[Segment: startTimeMs=88, endTimeMs=879, speedDivisor=2, Segment: startTimeMs=1255, endTimeMs=1970, speedDivisor=8], Mp4Timestamp: creation time=3686904890, modification time=3686904890, timescale=1000]
container metadata = entries=[mdta: key=com.android.version, value=10, mdta: key=com.android.video.temporal_layers_count, value=4, smta: captureFrameRate=240.0, svcTemporalLayerCount=4, SlowMotion: segments=[Segment: startTimeMs=88, endTimeMs=879, speedDivisor=2, Segment: startTimeMs=1255, endTimeMs=1970, speedDivisor=8], Mp4Timestamp: creation time=3686904890, modification time=3686904890, timescale=1000]
metadata = entries=[mdta: key=com.android.version, value=10, mdta: key=com.android.video.temporal_layers_count, value=4, SlowMotion: segments=[Segment: startTimeMs=88, endTimeMs=879, speedDivisor=2, Segment: startTimeMs=1255, endTimeMs=1970, speedDivisor=8], smta: captureFrameRate=240.0, svcTemporalLayerCount=4, Mp4Timestamp: creation time=3686904890, modification time=3686904890, timescale=1000]
container metadata = entries=[mdta: key=com.android.version, value=10, mdta: key=com.android.video.temporal_layers_count, value=4, SlowMotion: segments=[Segment: startTimeMs=88, endTimeMs=879, speedDivisor=2, Segment: startTimeMs=1255, endTimeMs=1970, speedDivisor=8], smta: captureFrameRate=240.0, svcTemporalLayerCount=4, Mp4Timestamp: creation time=3686904890, modification time=3686904890, timescale=1000]
sample:
trackIndex = 0
dataHashCode = 1949079733

View File

@ -11,11 +11,11 @@ format 0:
colorRange = 1
colorTransfer = 3
hdrStaticInfo = length 0, hash 0
metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
initializationData:
data = length 31, hash 4B108214
data = length 9, hash FBA158BB
container metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
container metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
format 1:
averageBitrate = 192181
peakBitrate = 192181

View File

@ -11,11 +11,11 @@ format 0:
colorRange = 1
colorTransfer = 3
hdrStaticInfo = length 0, hash 0
metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
initializationData:
data = length 31, hash 4B108214
data = length 9, hash FBA158BB
container metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
container metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
format 1:
averageBitrate = 192181
peakBitrate = 192181