[Git][java-team/mp4parser][upstream] 4 commits: New upstream version 1.1.19

Emmanuel Bourg gitlab at salsa.debian.org
Tue Jan 22 09:32:47 GMT 2019


Emmanuel Bourg pushed to branch upstream at Debian Java Maintainers / mp4parser


Commits:
5654314f by Emmanuel Bourg at 2019-01-22T09:26:43Z
New upstream version 1.1.19
- - - - -
3be70205 by Emmanuel Bourg at 2019-01-22T09:26:50Z
New upstream version 1.1.20
- - - - -
4f31aa16 by Emmanuel Bourg at 2019-01-22T09:27:00Z
New upstream version 1.1.21
- - - - -
d06aee55 by Emmanuel Bourg at 2019-01-22T09:29:15Z
New upstream version 1.1.22
- - - - -


15 changed files:

- examples/pom.xml
- isoparser/pom.xml
- isoparser/src/main/java/com/coremedia/iso/boxes/MediaHeaderBox.java
- isoparser/src/main/java/com/coremedia/iso/boxes/MetaBox.java
- isoparser/src/main/java/com/coremedia/iso/boxes/UnknownBox.java
- isoparser/src/main/java/com/coremedia/iso/boxes/fragment/TrackFragmentHeaderBox.java
- isoparser/src/main/java/com/googlecode/mp4parser/FileDataSourceImpl.java
- + isoparser/src/main/java/com/googlecode/mp4parser/authoring/builder/BetterFragmenter.java
- isoparser/src/main/java/com/googlecode/mp4parser/authoring/builder/DefaultFragmenterImpl.java
- isoparser/src/main/java/com/googlecode/mp4parser/authoring/builder/DefaultMp4Builder.java
- isoparser/src/main/java/com/googlecode/mp4parser/authoring/builder/FragmentedMp4Builder.java
- + isoparser/src/test/java/com/googlecode/mp4parser/authoring/builder/BetterFragmenterTest.java
- isoparser/src/test/java/com/googlecode/mp4parser/authoring/builder/DefaultFragmenterImplTest.java
- isoparser/src/test/java/com/googlecode/mp4parser/authoring/tracks/AC3TrackImplTest.java
- pom.xml


Changes:

=====================================
examples/pom.xml
=====================================
@@ -5,17 +5,17 @@
 
     <artifactId>examples</artifactId>
     <name>ISO Parser Examples</name>
-    <version>1.1.18</version>
+    <version>1.1.22</version>
     <parent>
         <groupId>com.googlecode.mp4parser</groupId>
         <artifactId>mp4parser-project</artifactId>
-        <version>1.1.18</version>
+        <version>1.1.22</version>
     </parent>
     <dependencies>
         <dependency>
             <groupId>com.googlecode.mp4parser</groupId>
             <artifactId>isoparser</artifactId>
-            <version>1.1.18</version>
+            <version>1.1.22</version>
         </dependency>
         <dependency>
             <groupId>xom</groupId>
@@ -79,7 +79,7 @@
     <scm>
         <url>http://code.google.com/p/mp4parser/source/browse/</url>
         <connection>scm:svn:https://mp4parser.googlecode.com/svn/trunk/examples</connection>
-      <tag> mp4parser-project-1.1.18</tag>
+      <tag> mp4parser-project-1.1.22</tag>
   </scm>
     <repositories>
         <repository>


=====================================
isoparser/pom.xml
=====================================
@@ -7,7 +7,7 @@
     <description>A generic parser and writer for all ISO 14496 based files (MP4, Quicktime, DCF, PDCF, ...)
     </description>
     <url>http://code.google.com/p/mp4parser/</url>
-    <version>1.1.18</version>
+    <version>1.1.22</version>
 
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -197,7 +197,7 @@
 
     <scm>
         <url>https://github.com/sannies/mp4parser</url>
-      <tag> mp4parser-project-1.1.18</tag>
+      <tag> mp4parser-project-1.1.22</tag>
   </scm>
 
     <licenses>


=====================================
isoparser/src/main/java/com/coremedia/iso/boxes/MediaHeaderBox.java
=====================================
@@ -110,7 +110,7 @@ public class MediaHeaderBox extends AbstractFullBox {
             creationTime = DateHelper.convert(IsoTypeReader.readUInt32(content));
             modificationTime = DateHelper.convert(IsoTypeReader.readUInt32(content));
             timescale = IsoTypeReader.readUInt32(content);
-            duration = content.getInt();
+            duration = IsoTypeReader.readUInt32(content);
         }
         if (duration < -1) {
             LOG.logWarn("mdhd duration is not in expected range");


=====================================
isoparser/src/main/java/com/coremedia/iso/boxes/MetaBox.java
=====================================
@@ -20,12 +20,15 @@ import com.coremedia.iso.BoxParser;
 import com.coremedia.iso.IsoTypeReader;
 import com.coremedia.iso.IsoTypeWriter;
 import com.googlecode.mp4parser.AbstractContainerBox;
+import com.googlecode.mp4parser.DataSource;
+import com.googlecode.mp4parser.MemoryDataSourceImpl;
 
 import java.io.IOException;
 import java.nio.ByteBuffer;
-import com.googlecode.mp4parser.DataSource;
 import java.nio.channels.WritableByteChannel;
 
+import static com.googlecode.mp4parser.util.CastUtils.l2i;
+
 
 /**
  * <h1>4cc = "{@value #TYPE}"</h1>
@@ -34,9 +37,15 @@ import java.nio.channels.WritableByteChannel;
 public class MetaBox extends AbstractContainerBox {
     public static final String TYPE = "meta";
 
+    private boolean isFullBox = true; // default is fullbox cause that's what ISO defines, simple box is apple specifc
+
     private int version;
     private int flags;
 
+    public MetaBox() {
+        super(TYPE);
+    }
+
     public int getVersion() {
         return version;
     }
@@ -70,30 +79,41 @@ public class MetaBox extends AbstractContainerBox {
         IsoTypeWriter.writeUInt24(bb, flags);
     }
 
-    public MetaBox() {
-        super(TYPE);
-    }
-
     @Override
     public void parse(DataSource dataSource, ByteBuffer header, long contentSize, BoxParser boxParser) throws IOException {
-        ByteBuffer bb = ByteBuffer.allocate(4);
+        ByteBuffer bb = ByteBuffer.allocate(l2i(contentSize));
         dataSource.read(bb);
-        parseVersionAndFlags((ByteBuffer) bb.rewind());
-        initContainer(dataSource, contentSize - 4, boxParser);
+        bb.position(4);
+        String isHdlr = IsoTypeReader.read4cc(bb);
+        if ("hdlr".equals(isHdlr)) {
+            isFullBox = false;
+            initContainer(new MemoryDataSourceImpl((ByteBuffer) bb.rewind()), contentSize, boxParser);
+            // we got apple specifc box here
+        } else {
+            isFullBox = true;
+            parseVersionAndFlags((ByteBuffer) bb.rewind());
+            initContainer(new MemoryDataSourceImpl(bb), contentSize - 4, boxParser);
+        }
+
     }
 
     @Override
     public void getBox(WritableByteChannel writableByteChannel) throws IOException {
         writableByteChannel.write(getHeader());
-        ByteBuffer bb = ByteBuffer.allocate(4);
-        writeVersionAndFlags(bb);
-        writableByteChannel.write((ByteBuffer) bb.rewind());
+        if (isFullBox) {
+            ByteBuffer bb = ByteBuffer.allocate(4);
+            writeVersionAndFlags(bb);
+            writableByteChannel.write((ByteBuffer) bb.rewind());
+        }
         writeContainer(writableByteChannel);
     }
     @Override
     public long getSize() {
         long s = getContainerSize();
-        long t = 4; // bytes to container start
+        long t = 0; // bytes to container start
+        if (isFullBox) {
+            t += 4;
+        }
         return s + t + ((largeBox || (s + t) >= (1L << 32)) ? 16 : 8);
 
     }


=====================================
isoparser/src/main/java/com/coremedia/iso/boxes/UnknownBox.java
=====================================
@@ -56,4 +56,9 @@ public class UnknownBox extends AbstractBox {
     public void setData(ByteBuffer data) {
         this.data = data;
     }
+
+    @Override
+    public String toString() {
+        return getClass().getName() + "[" + getType() + "]@" + Integer.toHexString(hashCode());
+    }
 }


=====================================
isoparser/src/main/java/com/coremedia/iso/boxes/fragment/TrackFragmentHeaderBox.java
=====================================
@@ -147,38 +147,14 @@ public class TrackFragmentHeaderBox extends AbstractFullBox {
         return trackId;
     }
 
-    public long getBaseDataOffset() {
-        return baseDataOffset;
-    }
-
-    public long getSampleDescriptionIndex() {
-        return sampleDescriptionIndex;
-    }
-
-    public long getDefaultSampleDuration() {
-        return defaultSampleDuration;
-    }
-
-    public long getDefaultSampleSize() {
-        return defaultSampleSize;
-    }
-
-    public SampleFlags getDefaultSampleFlags() {
-        return defaultSampleFlags;
-    }
-
-    public boolean isDurationIsEmpty() {
-        return durationIsEmpty;
-    }
-
-    public boolean isDefaultBaseIsMoof() {
-        return defaultBaseIsMoof;
-    }
-
     public void setTrackId(long trackId) {
         this.trackId = trackId;
     }
 
+    public long getBaseDataOffset() {
+        return baseDataOffset;
+    }
+
     public void setBaseDataOffset(long baseDataOffset) {
         if (baseDataOffset == -1) {
             setFlags(getFlags() & (Integer.MAX_VALUE ^ 0x1));
@@ -188,6 +164,10 @@ public class TrackFragmentHeaderBox extends AbstractFullBox {
         this.baseDataOffset = baseDataOffset;
     }
 
+    public long getSampleDescriptionIndex() {
+        return sampleDescriptionIndex;
+    }
+
     public void setSampleDescriptionIndex(long sampleDescriptionIndex) {
         if (sampleDescriptionIndex == -1) {
             setFlags(getFlags() & (Integer.MAX_VALUE ^ 0x2));
@@ -197,28 +177,66 @@ public class TrackFragmentHeaderBox extends AbstractFullBox {
         this.sampleDescriptionIndex = sampleDescriptionIndex;
     }
 
+    public long getDefaultSampleDuration() {
+        return defaultSampleDuration;
+    }
+
     public void setDefaultSampleDuration(long defaultSampleDuration) {
+
+
         setFlags(getFlags() | 0x8); // activate the field
         this.defaultSampleDuration = defaultSampleDuration;
     }
 
+    public long getDefaultSampleSize() {
+        return defaultSampleSize;
+    }
+
     public void setDefaultSampleSize(long defaultSampleSize) {
-        setFlags(getFlags() | 0x10); // activate the field
+        if (defaultSampleSize != -1) {
+            setFlags(getFlags() | 0x10);
+        } else {
+            setFlags(getFlags() & (0xFFFFFF ^ 0x10));
+        }
         this.defaultSampleSize = defaultSampleSize;
     }
 
+    public SampleFlags getDefaultSampleFlags() {
+        return defaultSampleFlags;
+    }
+
     public void setDefaultSampleFlags(SampleFlags defaultSampleFlags) {
-        setFlags(getFlags() | 0x20); // activate the field
+        if (defaultSampleFlags != null) {
+            setFlags(getFlags() | 0x20);
+        } else {
+            setFlags(getFlags() & (0xFFFFFF ^ 0x20));
+        }
         this.defaultSampleFlags = defaultSampleFlags;
     }
 
+    public boolean isDurationIsEmpty() {
+        return durationIsEmpty;
+    }
+
     public void setDurationIsEmpty(boolean durationIsEmpty) {
-        setFlags(getFlags() | 0x10000); // activate the field
+        if (defaultBaseIsMoof) {
+            setFlags(getFlags() | 0x10000);
+        } else {
+            setFlags(getFlags() & (0xFFFFFF ^ 0x10000));
+        }
         this.durationIsEmpty = durationIsEmpty;
     }
 
+    public boolean isDefaultBaseIsMoof() {
+        return defaultBaseIsMoof;
+    }
+
     public void setDefaultBaseIsMoof(boolean defaultBaseIsMoof) {
-        setFlags(getFlags() | 0x20000); // activate the field
+        if (defaultBaseIsMoof) {
+            setFlags(getFlags() | 0x20000);
+        } else {
+            setFlags(getFlags() & (0xFFFFFF ^ 0x20000));
+        }
         this.defaultBaseIsMoof = defaultBaseIsMoof;
     }
 


=====================================
isoparser/src/main/java/com/googlecode/mp4parser/FileDataSourceImpl.java
=====================================
@@ -58,7 +58,7 @@ public class FileDataSourceImpl implements DataSource {
     }
 
     public synchronized ByteBuffer map(long startPosition, long size) throws IOException {
-        LOG.logDebug(startPosition + " " + size);
+        //LOG.logDebug(startPosition + " " + size);
         return fc.map(FileChannel.MapMode.READ_ONLY, startPosition, size);
     }
 


=====================================
isoparser/src/main/java/com/googlecode/mp4parser/authoring/builder/BetterFragmenter.java
=====================================
@@ -0,0 +1,75 @@
+package com.googlecode.mp4parser.authoring.builder;
+
+import com.googlecode.mp4parser.authoring.Track;
+import com.googlecode.mp4parser.util.Mp4Arrays;
+
+import static java.util.Arrays.binarySearch;
+
+/**
+ * Created by sannies on 26.03.2016.
+ */
+public class BetterFragmenter implements Fragmenter {
+    private double targetDuration;
+
+    public BetterFragmenter(double targetDuration) {
+        this.targetDuration = targetDuration;
+    }
+
+    public long[] sampleNumbers(Track track) {
+        long ts = track.getTrackMetaData().getTimescale();
+        long targetTicks = (long) (targetDuration * ts);
+        long[] fragments = new long[0];
+        long[] syncSamples = track.getSyncSamples();
+        long[] durations = track.getSampleDurations();
+        if (syncSamples != null) {
+            long[] syncSampleTicks = new long[syncSamples.length];
+            long ticks = 0;
+            long duration = track.getDuration();
+
+            for (int i = 0; i < durations.length; i++) {
+                int pos = binarySearch(syncSamples, (long) i + 1);
+                if (pos >= 0) {
+                    syncSampleTicks[pos] = ticks;
+                }
+                ticks += durations[i];
+            }
+            long nextTargetTick = 0;
+
+            for (int currentSyncSampleIndex = 0; currentSyncSampleIndex < syncSampleTicks.length - 1; currentSyncSampleIndex++) {
+                long tickN1 = syncSampleTicks[currentSyncSampleIndex];
+                long tickN2 = syncSampleTicks[currentSyncSampleIndex + 1];
+                if (nextTargetTick <= tickN2) {
+                    if (Math.abs(tickN1 - nextTargetTick) < Math.abs(tickN2 - nextTargetTick)) {
+                        fragments = Mp4Arrays.copyOfAndAppend(fragments, syncSamples[currentSyncSampleIndex]);
+                        nextTargetTick = syncSampleTicks[currentSyncSampleIndex] + targetTicks;
+                    }
+                }
+            }
+            if (duration - syncSampleTicks[syncSampleTicks.length - 1] > targetTicks / 2) {
+                fragments = Mp4Arrays.copyOfAndAppend(fragments, syncSamples[syncSampleTicks.length - 1]);
+            }
+        } else {
+
+            double time = 0.0D;
+            fragments = new long[]{1L};
+            for (int i = 1; i < durations.length; ++i) {
+                time += (double) durations[i] / (double) ts;
+                if (time >= targetDuration) {
+                    if (i > 0) {
+                        fragments = Mp4Arrays.copyOfAndAppend(fragments, (long) (i + 1));
+                    }
+
+                    time = 0.0D;
+                }
+            }
+
+            if (time < targetDuration && fragments.length > 1) {
+                long numberSamplesLastTwoSegments = durations.length + 1 - fragments[fragments.length - 2];
+                fragments[fragments.length - 1] = fragments[fragments.length - 2] + numberSamplesLastTwoSegments / 2;
+            }
+
+        }
+        return fragments;
+
+    }
+}


=====================================
isoparser/src/main/java/com/googlecode/mp4parser/authoring/builder/DefaultFragmenterImpl.java
=====================================
@@ -52,7 +52,7 @@ public class DefaultFragmenterImpl implements Fragmenter {
             }
         }
         // In case the last Fragment is shorter: make the previous one a bigger and omit the small one
-        if (time > 0 && time < fragmentLength && segmentStartSamples.length > 1) {
+        if (time < fragmentLength && segmentStartSamples.length > 1) {
             long[] nuSegmentStartSamples = new long[segmentStartSamples.length - 1];
             System.arraycopy(segmentStartSamples, 0, nuSegmentStartSamples, 0, segmentStartSamples.length - 1);
             segmentStartSamples = nuSegmentStartSamples;


=====================================
isoparser/src/main/java/com/googlecode/mp4parser/authoring/builder/DefaultMp4Builder.java
=====================================
@@ -89,7 +89,7 @@ public class DefaultMp4Builder implements Mp4Builder {
      */
     public Container build(Movie movie) {
         if (fragmenter == null) {
-            fragmenter = new DefaultFragmenterImpl(2);
+            fragmenter = new BetterFragmenter(2);
         }
         LOG.logDebug("Creating movie " + movie);
         for (Track track : movie.getTracks()) {


=====================================
isoparser/src/main/java/com/googlecode/mp4parser/authoring/builder/FragmentedMp4Builder.java
=====================================
@@ -194,7 +194,7 @@ public class FragmentedMp4Builder implements Mp4Builder {
     public Container build(Movie movie) {
         LOG.fine("Creating movie " + movie);
         if (fragmenter == null) {
-            fragmenter = new DefaultFragmenterImpl(2);
+            fragmenter = new BetterFragmenter(2);
         }
         BasicContainer isoFile = new BasicContainer();
 


=====================================
isoparser/src/test/java/com/googlecode/mp4parser/authoring/builder/BetterFragmenterTest.java
=====================================
@@ -0,0 +1,126 @@
+package com.googlecode.mp4parser.authoring.builder;
+
+import com.coremedia.iso.boxes.CompositionTimeToSample;
+import com.coremedia.iso.boxes.SampleDependencyTypeBox;
+import com.coremedia.iso.boxes.SampleDescriptionBox;
+import com.coremedia.iso.boxes.SubSampleInformationBox;
+import com.googlecode.mp4parser.authoring.Edit;
+import com.googlecode.mp4parser.authoring.Sample;
+import com.googlecode.mp4parser.authoring.Track;
+import com.googlecode.mp4parser.authoring.TrackMetaData;
+import com.googlecode.mp4parser.boxes.mp4.samplegrouping.GroupEntry;
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+
+public class BetterFragmenterTest {
+
+    public void verify(int total, long[] in, long[] expectedOut) {
+        Track t = new DummyTrack(total, in);
+        Fragmenter f = new BetterFragmenter(2.0);
+        long[] segmentStarter = f.sampleNumbers(t);
+        Assert.assertArrayEquals(expectedOut, segmentStarter);
+    }
+
+    @Test
+    public void testPatterns() throws Exception {
+        verify(151, null, new long[]{1, 51, 101, 126});
+        verify(121, null, new long[]{1, 51, 86});
+        verify(106, new long[]{1, 51, 62, 101}, new long[]{1, 51});
+        verify(151, new long[]{1, 6, 52, 101}, new long[]{1, 52, 101});
+        verify(151, new long[]{1, 51, 62, 101}, new long[]{1, 51, 101});
+
+    }
+
+    class DummyTrack implements Track {
+
+        long[] syncSamples;
+        long[] sampleDurations;
+
+        public DummyTrack(int total, long... syncSamples) {
+            this.syncSamples = syncSamples;
+            int lastSample = total;
+            sampleDurations = new long[lastSample];
+            Arrays.fill(sampleDurations, 40);
+
+
+        }
+
+        public SampleDescriptionBox getSampleDescriptionBox() {
+            return null;
+        }
+
+        public long[] getSampleDurations() {
+            return sampleDurations;
+        }
+
+        public long getDuration() {
+            long duration = 0;
+            for (long delta : getSampleDurations()) {
+                duration += delta;
+            }
+            return duration;
+        }
+
+        public List<CompositionTimeToSample.Entry> getCompositionTimeEntries() {
+            return null;
+        }
+
+        public long[] getSyncSamples() {
+
+            return syncSamples;
+        }
+
+
+        public List<SampleDependencyTypeBox.Entry> getSampleDependencies() {
+            return null;
+        }
+
+
+        public TrackMetaData getTrackMetaData() {
+            TrackMetaData tmd = new TrackMetaData();
+            tmd.setTimescale(1000);
+            return tmd;
+        }
+
+
+        public String getHandler() {
+            return null;
+        }
+
+
+        public List<Sample> getSamples() {
+            return null;
+        }
+
+
+        public SubSampleInformationBox getSubsampleInformationBox() {
+            return null;
+        }
+
+
+        public String getName() {
+            return null;
+        }
+
+
+        public List<Edit> getEdits() {
+            return null;
+        }
+
+
+        public Map<GroupEntry, long[]> getSampleGroups() {
+            return null;
+        }
+
+
+        public void close() throws IOException {
+
+        }
+    }
+}
\ No newline at end of file


=====================================
isoparser/src/test/java/com/googlecode/mp4parser/authoring/builder/DefaultFragmenterImplTest.java
=====================================
@@ -18,14 +18,15 @@ public class DefaultFragmenterImplTest {
         Movie movie = MovieCreator.build(this.getClass().getProtectionDomain().getCodeSource().getLocation().getFile() +
                 "/Beethoven - Bagatelle op.119 no.11 i.m4a");
 
-        long[] segments = new DefaultFragmenterImpl(2).sampleNumbers(movie.getTracks().get(0));
+        long[] segments = new BetterFragmenter(2).sampleNumbers(movie.getTracks().get(0));
+
         Assert.assertArrayEquals(new
-                        long[]{1, 87, 174, 261, 348, 435, 522, 609, 696, 783, 870, 957, 1044, 1131, 1218, 1305, 1392, 1479, 1566, 1653, 1740, 1827, 1914, 2001, 2088, 2175, 2262, 2349, 2436, 2523, 2610, 2697, 2784, 2871, 2958, 3045, 3132, 3219, 3306, 3393, 3480, 3567, 3654, 3741, 3828, 3915, 4002, 4089, 4176, 4263, 4350, 4437, 4524, 4611, 4698},
+                        long[]{1, 88, 175, 262, 349, 436, 523, 610, 697, 784, 871, 958, 1045, 1132, 1219, 1306, 1393, 1480, 1567, 1654, 1741, 1828, 1915, 2002, 2089, 2176, 2263, 2350, 2437, 2524, 2611, 2698, 2785, 2872, 2959, 3046, 3133, 3220, 3307, 3394, 3481, 3568, 3655, 3742, 3829, 3916, 4003, 4090, 4177, 4264, 4351, 4438, 4525, 4612, 4699, 4775,},
                 segments
         );
-        long[] segments2 = new DefaultFragmenterImpl(4).sampleNumbers(movie.getTracks().get(0));
+        long[] segments2 = new BetterFragmenter(4).sampleNumbers(movie.getTracks().get(0));
         Assert.assertArrayEquals(new
-                        long[]{1, 173, 346, 519, 692, 865, 1038, 1211, 1384, 1557, 1730, 1903, 2076, 2249, 2422, 2595, 2768, 2941, 3114, 3287, 3460, 3633, 3806, 3979, 4152, 4325, 4498, 4671,},
+                        long[]{1, 174, 347, 520, 693, 866, 1039, 1212, 1385, 1558, 1731, 1904, 2077, 2250, 2423, 2596, 2769, 2942, 3115, 3288, 3461, 3634, 3807, 3980, 4153, 4326, 4499, 4672, 4762,},
                 segments2
         );
 


=====================================
isoparser/src/test/java/com/googlecode/mp4parser/authoring/tracks/AC3TrackImplTest.java
=====================================
@@ -8,10 +8,7 @@ import com.googlecode.mp4parser.authoring.Track;
 import com.googlecode.mp4parser.authoring.builder.DefaultMp4Builder;
 import org.junit.Test;
 
-import java.io.BufferedInputStream;
-import java.io.FileOutputStream;
 import java.io.IOException;
-import java.nio.channels.WritableByteChannel;
 
 public class AC3TrackImplTest {
     @Test
@@ -22,7 +19,7 @@ public class AC3TrackImplTest {
 
         DefaultMp4Builder mp4Builder = new DefaultMp4Builder();
         Container c = mp4Builder.build(m);
-        //c.writeContainer(new FileOutputStream("C:\\dev\\mp4parser\\isoparser\\src\\test\\resources\\com\\googlecode\\mp4parser\\authoring\\tracks\\ac3-sample.mp4").getChannel());
+        //c.writeContainer(new FileOutputStream("C:\\dev\\mp4parser\\isoparser\\src\\test\\resources\\com\\googlecode\\mp4parser\\authoring\\tracks\\ac3-sample-2.mp4").getChannel());
         IsoFile isoFileReference = new IsoFile(this.getClass().getProtectionDomain().getCodeSource().getLocation().getFile() + "/com/googlecode/mp4parser/authoring/tracks/ac3-sample.mp4");
         BoxComparator.check(c, isoFileReference, "/moov[0]/mvhd[0]", "/moov[0]/trak[0]/tkhd[0]", "/moov[0]/trak[0]/mdia[0]/mdhd[0]");
     }


=====================================
pom.xml
=====================================
@@ -3,7 +3,7 @@
     <groupId>com.googlecode.mp4parser</groupId>
     <artifactId>mp4parser-project</artifactId>
     <packaging>pom</packaging>
-    <version>1.1.18</version>
+    <version>1.1.22</version>
     <name>MP4 Parser Project</name>
     <url>http://code.google.com/p/mp4parser/</url>
     <licenses>
@@ -83,6 +83,6 @@
     <scm>
         <url>https://github.com/sannies/mp4parser</url>
         <connection>scm:git:git at github.com:sannies/mp4parser.git</connection>
-        <tag> mp4parser-project-1.1.18</tag>
+        <tag> mp4parser-project-1.1.22</tag>
     </scm>
 </project>



View it on GitLab: https://salsa.debian.org/java-team/mp4parser/compare/4f23196dae1453c45da97980778a518f5d55280f...d06aee55d903e376794546f86bdbd26fabbd2d4d

-- 
View it on GitLab: https://salsa.debian.org/java-team/mp4parser/compare/4f23196dae1453c45da97980778a518f5d55280f...d06aee55d903e376794546f86bdbd26fabbd2d4d
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20190122/998e73f3/attachment.html>


More information about the pkg-java-commits mailing list