1 /* 2 * Copyright 2012 Sebastian Annies, Hamburg 3 * 4 * Licensed under the Apache License, Version 2.0 (the License); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an AS IS BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package com.googlecode.mp4parser.authoring.container.mp4; 17 18 import com.coremedia.iso.IsoFile; 19 import com.coremedia.iso.boxes.TrackBox; 20 import com.googlecode.mp4parser.authoring.Movie; 21 import com.googlecode.mp4parser.authoring.Mp4TrackImpl; 22 23 import java.io.IOException; 24 import java.nio.channels.ReadableByteChannel; 25 import java.util.List; 26 27 /** 28 * Shortcut to build a movie from an MP4 file. 29 */ 30 public class MovieCreator { build(ReadableByteChannel channel)31 public static Movie build(ReadableByteChannel channel) throws IOException { 32 IsoFile isoFile = new IsoFile(channel); 33 Movie m = new Movie(); 34 List<TrackBox> trackBoxes = isoFile.getMovieBox().getBoxes(TrackBox.class); 35 for (TrackBox trackBox : trackBoxes) { 36 m.addTrack(new Mp4TrackImpl(trackBox)); 37 } 38 return m; 39 } 40 } 41