1 /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ 2 /* 3 * Libbrasero-burn 4 * Copyright (C) Philippe Rouquier 2005-2009 <bonfire-app@wanadoo.fr> 5 * 6 * Libbrasero-burn is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or 9 * (at your option) any later version. 10 * 11 * The Libbrasero-burn authors hereby grant permission for non-GPL compatible 12 * GStreamer plugins to be used and distributed together with GStreamer 13 * and Libbrasero-burn. This permission is above and beyond the permissions granted 14 * by the GPL license by which Libbrasero-burn is covered. If you modify this code 15 * you may extend this exception to your version of the code, but you are not 16 * obligated to do so. If you do not wish to do so, delete this exception 17 * statement from your version. 18 * 19 * Libbrasero-burn is distributed in the hope that it will be useful, 20 * but WITHOUT ANY WARRANTY; without even the implied warranty of 21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22 * GNU Library General Public License for more details. 23 * 24 * You should have received a copy of the GNU General Public License 25 * along with this program; if not, write to: 26 * The Free Software Foundation, Inc., 27 * 51 Franklin Street, Fifth Floor 28 * Boston, MA 02110-1301, USA. 29 */ 30 31 #ifndef _BRASERO_ENUM_H_ 32 #define _BRASERO_ENUM_H_ 33 34 #include <glib.h> 35 36 G_BEGIN_DECLS 37 38 typedef enum { 39 BRASERO_BURN_OK, 40 BRASERO_BURN_ERR, 41 BRASERO_BURN_RETRY, 42 BRASERO_BURN_CANCEL, 43 BRASERO_BURN_RUNNING, 44 BRASERO_BURN_DANGEROUS, 45 BRASERO_BURN_NOT_READY, 46 BRASERO_BURN_NOT_RUNNING, 47 BRASERO_BURN_NEED_RELOAD, 48 BRASERO_BURN_NOT_SUPPORTED, 49 } BraseroBurnResult; 50 51 /* These flags are sorted by importance. That's done to solve the problem of 52 * exclusive flags: that way MERGE will always win over any other flag if they 53 * are exclusive. On the other hand DAO will always lose. */ 54 typedef enum { 55 BRASERO_BURN_FLAG_NONE = 0, 56 57 /* These flags should always be supported */ 58 BRASERO_BURN_FLAG_CHECK_SIZE = 1, 59 BRASERO_BURN_FLAG_NOGRACE = 1 << 1, 60 BRASERO_BURN_FLAG_EJECT = 1 << 2, 61 62 /* These are of great importance for the result */ 63 BRASERO_BURN_FLAG_MERGE = 1 << 3, 64 BRASERO_BURN_FLAG_MULTI = 1 << 4, 65 BRASERO_BURN_FLAG_APPEND = 1 << 5, 66 67 BRASERO_BURN_FLAG_BURNPROOF = 1 << 6, 68 BRASERO_BURN_FLAG_NO_TMP_FILES = 1 << 7, 69 BRASERO_BURN_FLAG_DUMMY = 1 << 8, 70 71 BRASERO_BURN_FLAG_OVERBURN = 1 << 9, 72 73 BRASERO_BURN_FLAG_BLANK_BEFORE_WRITE = 1 << 10, 74 BRASERO_BURN_FLAG_FAST_BLANK = 1 << 11, 75 76 /* NOTE: these two are contradictory? */ 77 BRASERO_BURN_FLAG_DAO = 1 << 13, 78 BRASERO_BURN_FLAG_RAW = 1 << 14, 79 80 BRASERO_BURN_FLAG_LAST 81 } BraseroBurnFlag; 82 83 typedef enum { 84 BRASERO_BURN_ACTION_NONE = 0, 85 BRASERO_BURN_ACTION_GETTING_SIZE, 86 BRASERO_BURN_ACTION_CREATING_IMAGE, 87 BRASERO_BURN_ACTION_RECORDING, 88 BRASERO_BURN_ACTION_BLANKING, 89 BRASERO_BURN_ACTION_CHECKSUM, 90 BRASERO_BURN_ACTION_DRIVE_COPY, 91 BRASERO_BURN_ACTION_FILE_COPY, 92 BRASERO_BURN_ACTION_ANALYSING, 93 BRASERO_BURN_ACTION_TRANSCODING, 94 BRASERO_BURN_ACTION_PREPARING, 95 BRASERO_BURN_ACTION_LEADIN, 96 BRASERO_BURN_ACTION_RECORDING_CD_TEXT, 97 BRASERO_BURN_ACTION_FIXATING, 98 BRASERO_BURN_ACTION_LEADOUT, 99 BRASERO_BURN_ACTION_START_RECORDING, 100 BRASERO_BURN_ACTION_FINISHED, 101 BRASERO_BURN_ACTION_EJECTING, 102 BRASERO_BURN_ACTION_LAST 103 } BraseroBurnAction; 104 105 typedef enum { 106 BRASERO_IMAGE_FS_NONE = 0, 107 BRASERO_IMAGE_FS_ISO = 1, 108 BRASERO_IMAGE_FS_UDF = 1 << 1, 109 BRASERO_IMAGE_FS_JOLIET = 1 << 2, 110 BRASERO_IMAGE_FS_VIDEO = 1 << 3, 111 112 /* The following one conflict with UDF and JOLIET */ 113 BRASERO_IMAGE_FS_SYMLINK = 1 << 4, 114 115 BRASERO_IMAGE_ISO_FS_LEVEL_3 = 1 << 5, 116 BRASERO_IMAGE_ISO_FS_DEEP_DIRECTORY = 1 << 6, 117 BRASERO_IMAGE_FS_ANY = BRASERO_IMAGE_FS_ISO| 118 BRASERO_IMAGE_FS_UDF| 119 BRASERO_IMAGE_FS_JOLIET| 120 BRASERO_IMAGE_FS_SYMLINK| 121 BRASERO_IMAGE_ISO_FS_LEVEL_3| 122 BRASERO_IMAGE_FS_VIDEO| 123 BRASERO_IMAGE_ISO_FS_DEEP_DIRECTORY 124 } BraseroImageFS; 125 126 typedef enum { 127 BRASERO_AUDIO_FORMAT_NONE = 0, 128 BRASERO_AUDIO_FORMAT_UNDEFINED = 1, 129 BRASERO_AUDIO_FORMAT_DTS = 1 << 1, 130 BRASERO_AUDIO_FORMAT_RAW = 1 << 2, 131 BRASERO_AUDIO_FORMAT_AC3 = 1 << 3, 132 BRASERO_AUDIO_FORMAT_MP2 = 1 << 4, 133 134 BRASERO_AUDIO_FORMAT_44100 = 1 << 5, 135 BRASERO_AUDIO_FORMAT_48000 = 1 << 6, 136 137 138 BRASERO_VIDEO_FORMAT_UNDEFINED = 1 << 7, 139 BRASERO_VIDEO_FORMAT_VCD = 1 << 8, 140 BRASERO_VIDEO_FORMAT_VIDEO_DVD = 1 << 9, 141 142 BRASERO_METADATA_INFO = 1 << 10, 143 144 BRASERO_AUDIO_FORMAT_RAW_LITTLE_ENDIAN = 1 << 11, 145 } BraseroStreamFormat; 146 147 #define BRASERO_STREAM_FORMAT_AUDIO(stream_FORMAT) ((stream_FORMAT) & 0x087F) 148 #define BRASERO_STREAM_FORMAT_VIDEO(stream_FORMAT) ((stream_FORMAT) & 0x0380) 149 150 #define BRASERO_MIN_STREAM_LENGTH ((gint64) 6 * 1000000000LL) 151 #define BRASERO_STREAM_LENGTH(start_MACRO, end_MACRO) \ 152 ((end_MACRO) - (start_MACRO) > BRASERO_MIN_STREAM_LENGTH) ? \ 153 ((end_MACRO) - (start_MACRO)) : BRASERO_MIN_STREAM_LENGTH 154 155 #define BRASERO_STREAM_FORMAT_HAS_VIDEO(format_MACRO) \ 156 ((format_MACRO) & (BRASERO_VIDEO_FORMAT_UNDEFINED| \ 157 BRASERO_VIDEO_FORMAT_VCD| \ 158 BRASERO_VIDEO_FORMAT_VIDEO_DVD)) 159 160 typedef enum { 161 BRASERO_IMAGE_FORMAT_NONE = 0, 162 BRASERO_IMAGE_FORMAT_BIN = 1, 163 BRASERO_IMAGE_FORMAT_CUE = 1 << 1, 164 BRASERO_IMAGE_FORMAT_CLONE = 1 << 2, 165 BRASERO_IMAGE_FORMAT_CDRDAO = 1 << 3, 166 BRASERO_IMAGE_FORMAT_ANY = BRASERO_IMAGE_FORMAT_BIN| 167 BRASERO_IMAGE_FORMAT_CUE| 168 BRASERO_IMAGE_FORMAT_CDRDAO| 169 BRASERO_IMAGE_FORMAT_CLONE, 170 } BraseroImageFormat; 171 172 typedef enum { 173 BRASERO_PLUGIN_ERROR_NONE = 0, 174 BRASERO_PLUGIN_ERROR_MODULE, 175 BRASERO_PLUGIN_ERROR_MISSING_APP, 176 BRASERO_PLUGIN_ERROR_WRONG_APP_VERSION, 177 BRASERO_PLUGIN_ERROR_SYMBOLIC_LINK_APP, 178 BRASERO_PLUGIN_ERROR_MISSING_LIBRARY, 179 BRASERO_PLUGIN_ERROR_LIBRARY_VERSION, 180 BRASERO_PLUGIN_ERROR_MISSING_GSTREAMER_PLUGIN, 181 } BraseroPluginErrorType; 182 183 G_END_DECLS 184 185 #endif 186 187