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