Home | History | Annotate | Download | only in authoring
      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 
     32     SampleDescriptionBox getSampleDescriptionBox();
     33 
     34     List<TimeToSampleBox.Entry> getDecodingTimeEntries();
     35 
     36     List<CompositionTimeToSample.Entry> getCompositionTimeEntries();
     37 
     38     long[] getSyncSamples();
     39 
     40     List<SampleDependencyTypeBox.Entry> getSampleDependencies();
     41 
     42     TrackMetaData getTrackMetaData();
     43 
     44     String getHandler();
     45 
     46     boolean isEnabled();
     47 
     48     boolean isInMovie();
     49 
     50     boolean isInPreview();
     51 
     52     boolean isInPoster();
     53 
     54     List<ByteBuffer> getSamples();
     55 
     56     public Box getMediaHeaderBox();
     57 
     58     public SubSampleInformationBox getSubsampleInformationBox();
     59 
     60 }
     61