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; 17 18 import com.coremedia.iso.boxes.*; 19 20 import java.nio.ByteBuffer; 21 import java.util.List; 22 23 /** 24 * Represents a Track. A track is a timed sequence of related samples. 25 * <p/> 26 * <b>NOTE: </b><br/ 27 * For media data, a track corresponds to a sequence of images or sampled audio; for hint tracks, a track 28 * corresponds to a streaming channel. 29 */ 30 public interface Track { 31 getSampleDescriptionBox()32 SampleDescriptionBox getSampleDescriptionBox(); 33 getDecodingTimeEntries()34 List<TimeToSampleBox.Entry> getDecodingTimeEntries(); 35 getCompositionTimeEntries()36 List<CompositionTimeToSample.Entry> getCompositionTimeEntries(); 37 getSyncSamples()38 long[] getSyncSamples(); 39 getSampleDependencies()40 List<SampleDependencyTypeBox.Entry> getSampleDependencies(); 41 getTrackMetaData()42 TrackMetaData getTrackMetaData(); 43 getHandler()44 String getHandler(); 45 isEnabled()46 boolean isEnabled(); 47 isInMovie()48 boolean isInMovie(); 49 isInPreview()50 boolean isInPreview(); 51 isInPoster()52 boolean isInPoster(); 53 getSamples()54 List<ByteBuffer> getSamples(); 55 getMediaHeaderBox()56 public Box getMediaHeaderBox(); 57 getSubsampleInformationBox()58 public SubSampleInformationBox getSubsampleInformationBox(); 59 60 } 61