View Javadoc
1   /*
2    * Licensed to The Apereo Foundation under one or more contributor license
3    * agreements. See the NOTICE file distributed with this work for additional
4    * information regarding copyright ownership.
5    *
6    *
7    * The Apereo Foundation licenses this file to you under the Educational
8    * Community License, Version 2.0 (the "License"); you may not use this file
9    * except in compliance with the License. You may obtain a copy of the License
10   * at:
11   *
12   *   http://opensource.org/licenses/ecl2.txt
13   *
14   * Unless required by applicable law or agreed to in writing, software
15   * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
16   * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
17   * License for the specific language governing permissions and limitations under
18   * the License.
19   *
20   */
21  package org.opencastproject.editor.api;
22  
23  import org.opencastproject.mediapackage.MediaPackageElementFlavor;
24  
25  import com.google.gson.annotations.SerializedName;
26  
27  public final class TrackData {
28    public static final String AUDIO_STREAM = "audio_stream";
29    public static final String VIDEO_STREAM = "video_stream";
30  
31    @SerializedName(AUDIO_STREAM)
32    private final TrackSubData audio;
33  
34    @SerializedName(VIDEO_STREAM)
35    private final TrackSubData video;
36  
37    private final MediaPackageElementFlavor flavor;
38    private final String uri;
39    private final String id;
40    private final String thumbnailUri;
41    private final int thumbnailPriority;
42  
43    public MediaPackageElementFlavor getFlavor() {
44      if (flavor == null) {
45        return null;
46      }
47      return new MediaPackageElementFlavor(flavor.getType(), flavor.getSubtype());
48    }
49  
50    public TrackData(final String flavorType, final String flavorSubtype, final TrackSubData audio,
51            final TrackSubData video, String uri, String id, String thumbnailUri, int thumbnailPriority) {
52      this.flavor = new MediaPackageElementFlavor(flavorType, flavorSubtype);
53      this.audio = audio;
54      this.video = video;
55      this.uri = uri;
56      this.id = id;
57      this.thumbnailUri = thumbnailUri;
58      this.thumbnailPriority = thumbnailPriority;
59    }
60  
61    public TrackSubData getAudio() {
62      return this.audio;
63    }
64  
65    public TrackSubData getVideo() {
66      return this.video;
67    }
68  
69    public String getId() {
70      return this.id;
71    }
72  
73    public String getThumbnailURI() {
74      return this.thumbnailUri; }
75  }