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  
22  
23  package org.opencastproject.timelinepreviews.api;
24  
25  import org.opencastproject.job.api.Job;
26  import org.opencastproject.mediapackage.MediaPackageException;
27  import org.opencastproject.mediapackage.Track;
28  
29  /**
30   * Api for timeline preview generation implementations, that create preview
31   * images to be shown on the timeline of a video.
32   */
33  public interface TimelinePreviewsService {
34  
35    /** Job type */
36    String JOB_TYPE = "org.opencastproject.timelinepreviews";
37  
38    /**
39     * Takes the given track and returns the job that can be used to generate timeline preview images.
40     *
41     * @param track
42     *          track to generate preview images for
43     * @param imageCount
44     *          number of preview images that will be generated
45     * @return the job that can generate the preview images
46     * @throws TimelinePreviewsException
47     *           if the timeline preview images could not be generated
48     * @throws MediaPackageException
49     *           if the track is invalid
50     */
51    Job createTimelinePreviewImages(Track track, int imageCount) throws TimelinePreviewsException, MediaPackageException;
52  
53  }