From 36e04c3847e93ccf4c3e0cde617eecea72c2605d Mon Sep 17 00:00:00 2001 From: Teng-Hui Zhu Date: Mon, 1 Oct 2012 16:31:32 -0700 Subject: Trimming: add the rotation matrix into TrackHeaderBox bug:7093055 Change-Id: Idcb04c71f515ab7d7d4757b2136ac81a9b06b6a0 --- .../java/com/googlecode/mp4parser/authoring/Mp4TrackImpl.java | 1 + .../java/com/googlecode/mp4parser/authoring/TrackMetaData.java | 9 +++++++++ .../mp4parser/authoring/builder/DefaultMp4Builder.java | 1 + 3 files changed, 11 insertions(+) (limited to 'isoparser/src/main/java/com') diff --git a/isoparser/src/main/java/com/googlecode/mp4parser/authoring/Mp4TrackImpl.java b/isoparser/src/main/java/com/googlecode/mp4parser/authoring/Mp4TrackImpl.java index 3bff1a5..7e4dbe1 100644 --- a/isoparser/src/main/java/com/googlecode/mp4parser/authoring/Mp4TrackImpl.java +++ b/isoparser/src/main/java/com/googlecode/mp4parser/authoring/Mp4TrackImpl.java @@ -167,6 +167,7 @@ public class Mp4TrackImpl extends AbstractTrack { trackMetaData.setHeight(tkhd.getHeight()); trackMetaData.setWidth(tkhd.getWidth()); trackMetaData.setLayer(tkhd.getLayer()); + trackMetaData.setMatrix(tkhd.getMatrix()); } public List getSamples() { diff --git a/isoparser/src/main/java/com/googlecode/mp4parser/authoring/TrackMetaData.java b/isoparser/src/main/java/com/googlecode/mp4parser/authoring/TrackMetaData.java index c262309..4454ba5 100644 --- a/isoparser/src/main/java/com/googlecode/mp4parser/authoring/TrackMetaData.java +++ b/isoparser/src/main/java/com/googlecode/mp4parser/authoring/TrackMetaData.java @@ -30,6 +30,7 @@ public class TrackMetaData implements Cloneable { private float volume; private long trackId = 1; // zero is not allowed private int group = 0; + private long[] matrix = new long[]{0x00010000, 0, 0, 0, 0x00010000, 0, 0, 0, 0x40000000}; /** @@ -79,6 +80,14 @@ public class TrackMetaData implements Cloneable { this.width = width; } + public long[] getMatrix() { + return matrix; + } + + public void setMatrix(long[] m) { + this.matrix = m; + } + public double getHeight() { return height; } diff --git a/isoparser/src/main/java/com/googlecode/mp4parser/authoring/builder/DefaultMp4Builder.java b/isoparser/src/main/java/com/googlecode/mp4parser/authoring/builder/DefaultMp4Builder.java index 9bd1ca6..7c20a39 100644 --- a/isoparser/src/main/java/com/googlecode/mp4parser/authoring/builder/DefaultMp4Builder.java +++ b/isoparser/src/main/java/com/googlecode/mp4parser/authoring/builder/DefaultMp4Builder.java @@ -226,6 +226,7 @@ public class DefaultMp4Builder implements Mp4Builder { tkhd.setModificationTime(DateHelper.convert(new Date())); tkhd.setTrackId(track.getTrackMetaData().getTrackId()); tkhd.setVolume(track.getTrackMetaData().getVolume()); + tkhd.setMatrix(track.getTrackMetaData().getMatrix()); if (tkhd.getCreationTime() >= 1l << 32 || tkhd.getModificationTime() >= 1l << 32 || tkhd.getDuration() >= 1l << 32) { -- cgit v1.2.3