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