1 /*
2  * Created on Feb 4, 2009
3  * Created by Paul Gardner
4  *
5  * Copyright (C) Azureus Software, Inc, All Rights Reserved.
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; either version 2
10  * of the License, or (at your option) any later version.
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
18  */
19 
20 
21 package com.aelitis.azureus.core.devices;
22 
23 import java.io.File;
24 
25 
26 public interface
27 TranscodeTarget
28 {
29 	public static final int TRANSCODE_UNKNOWN			= -1;
30 	public static final int TRANSCODE_NEVER				= 1;
31 	public static final int TRANSCODE_WHEN_REQUIRED		= 2;
32 	public static final int TRANSCODE_ALWAYS			= 3;
33 
34 	public String
getID()35 	getID();
36 
37 	public Device
getDevice()38 	getDevice();
39 
40 	public TranscodeFile[]
getFiles()41 	getFiles();
42 
43 	public File
getWorkingDirectory()44 	getWorkingDirectory();
45 
46 	public void
setWorkingDirectory( File directory )47 	setWorkingDirectory(
48 		File		directory );
49 
50 	public TranscodeProfile[]
getTranscodeProfiles()51 	getTranscodeProfiles();
52 
53 	public TranscodeProfile
getDefaultTranscodeProfile()54 	getDefaultTranscodeProfile()
55 
56 		throws TranscodeException;
57 
58 	public void
setDefaultTranscodeProfile( TranscodeProfile profile )59 	setDefaultTranscodeProfile(
60 		TranscodeProfile		profile );
61 
62 	public TranscodeProfile
getBlankProfile()63 	getBlankProfile();
64 
65 	public int
getTranscodeRequirement()66 	getTranscodeRequirement();
67 
68 	public void
setTranscodeRequirement( int req )69 	setTranscodeRequirement(
70 		int		req );
71 
72 	public boolean
getAlwaysCacheFiles()73 	getAlwaysCacheFiles();
74 
75 	public void
setAlwaysCacheFiles( boolean always_cache )76 	setAlwaysCacheFiles(
77 		boolean		always_cache );
78 
79 	public boolean
isTranscoding()80 	isTranscoding();
81 
82 	public boolean
isNonSimple()83 	isNonSimple();
84 
85 	public boolean
isAudioCompatible( TranscodeFile file )86 	isAudioCompatible(
87 		TranscodeFile		file );
88 
89 	public void
addListener( TranscodeTargetListener listener )90 	addListener(
91 		TranscodeTargetListener		listener );
92 
93 	public void
removeListener( TranscodeTargetListener listener )94 	removeListener(
95 		TranscodeTargetListener		listener );
96 }
97