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.transcription.api;
22
23 import org.opencastproject.job.api.Job;
24 import org.opencastproject.mediapackage.MediaPackageElement;
25 import org.opencastproject.mediapackage.Track;
26
27 import java.util.Map;
28
29 /*
30 * API for asynchronous external automated transcription service.
31 * Supports starting a transcription job and getting a callback when transcription is done.
32 */
33 public interface TranscriptionService {
34 /*
35 * Start transcription job on external service
36 */
37 Job startTranscription(String mpId, Track track) throws TranscriptionServiceException;
38
39 /*
40 * Start transcription job on external service
41 */
42 Job startTranscription(String mpId, Track track, String... args) throws TranscriptionServiceException;
43
44 /*
45 * Get element containing transcription generated by external service
46 */
47 MediaPackageElement getGeneratedTranscription(String mpId, String jobId, MediaPackageElement.Type type)
48 throws TranscriptionServiceException;
49
50 /*
51 * Called when external service finished transcription.
52 */
53 void transcriptionDone(String mpId, Object results) throws TranscriptionServiceException;
54
55 /*
56 * Called when external service reported an error in transcription.
57 */
58 void transcriptionError(String mpId, Object results) throws TranscriptionServiceException;
59
60 /*
61 * Returns a string representing the language supported.
62 */
63 String getLanguage();
64
65 /*
66 * Get key-value pairs generated by the start handler that the attach handler needs to know about (if you need to
67 * pass more information than the transcription element itself)
68 */
69 Map<String, Object> getReturnValues(String mpId, String jobId) throws TranscriptionServiceException;
70 }