| OLD | NEW |
| 1 /** | 1 /** |
| 2 * \file device-flags.h | 2 * \file device-flags.h |
| 3 * Special device flags to deal with bugs in specific devices. | 3 * Special device flags to deal with bugs in specific devices. |
| 4 * | 4 * |
| 5 * Copyright (C) 2005-2007 Richard A. Low <richard@wentnet.com> | 5 * Copyright (C) 2005-2007 Richard A. Low <richard@wentnet.com> |
| 6 * Copyright (C) 2005-2012 Linus Walleij <triad@df.lth.se> | 6 * Copyright (C) 2005-2012 Linus Walleij <triad@df.lth.se> |
| 7 * Copyright (C) 2006-2007 Marcus Meissner | 7 * Copyright (C) 2006-2007 Marcus Meissner |
| 8 * Copyright (C) 2007 Ted Bullock | 8 * Copyright (C) 2007 Ted Bullock |
| 9 * | 9 * |
| 10 * This library is free software; you can redistribute it and/or | 10 * This library is free software; you can redistribute it and/or |
| (...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 234 /** | 234 /** |
| 235 * Broken capture support where cameras do not send CaptureComplete events. | 235 * Broken capture support where cameras do not send CaptureComplete events. |
| 236 * (libgphoto2) | 236 * (libgphoto2) |
| 237 */ | 237 */ |
| 238 #define DEVICE_FLAG_NO_CAPTURE_COMPLETE 0x00400000 | 238 #define DEVICE_FLAG_NO_CAPTURE_COMPLETE 0x00400000 |
| 239 | 239 |
| 240 /** | 240 /** |
| 241 * Direct PTP match required. | 241 * Direct PTP match required. |
| 242 * (libgphoto2) | 242 * (libgphoto2) |
| 243 */ | 243 */ |
| 244 #define DEVICE_FLAG_OLYMPUS_XML_WRAPPED»» 0x00800000 | 244 #define DEVICE_FLAG_MATCH_PTP_INTERFACE»» 0x00800000 |
| 245 /** | 245 /** |
| 246 * This flag is like DEVICE_FLAG_OGG_IS_UNKNOWN but for FLAC | 246 * This flag is like DEVICE_FLAG_OGG_IS_UNKNOWN but for FLAC |
| 247 * files instead. Using the unknown filetype for FLAC files. | 247 * files instead. Using the unknown filetype for FLAC files. |
| 248 */ | 248 */ |
| 249 #define DEVICE_FLAG_FLAC_IS_UNKNOWN 0x01000000 | 249 #define DEVICE_FLAG_FLAC_IS_UNKNOWN 0x01000000 |
| 250 /** | 250 /** |
| 251 * Device needs unique filenames, no two files can be | 251 * Device needs unique filenames, no two files can be |
| 252 * named the same string. | 252 * named the same string. |
| 253 */ | 253 */ |
| 254 #define DEVICE_FLAG_UNIQUE_FILENAMES 0x02000000 | 254 #define DEVICE_FLAG_UNIQUE_FILENAMES 0x02000000 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 265 /** | 265 /** |
| 266 * This flag indicates that the device need an explicit | 266 * This flag indicates that the device need an explicit |
| 267 * USB reset after each connection. Some devices don't | 267 * USB reset after each connection. Some devices don't |
| 268 * like this, so it's not done by default. | 268 * like this, so it's not done by default. |
| 269 */ | 269 */ |
| 270 #define DEVICE_FLAG_FORCE_RESET_ON_CLOSE 0x10000000 | 270 #define DEVICE_FLAG_FORCE_RESET_ON_CLOSE 0x10000000 |
| 271 /** | 271 /** |
| 272 * Early Creative Zen (etc) models actually only support | 272 * Early Creative Zen (etc) models actually only support |
| 273 * command 9805 (Get object property list) and will hang | 273 * command 9805 (Get object property list) and will hang |
| 274 * if you try to get individual properties of an object. | 274 * if you try to get individual properties of an object. |
| 275 * Or so it seemed. Later bug fixes to the library has made | |
| 276 * this work flawlessly so the bug flag is moot. | |
| 277 * NOT USED ANYMORE, THIS FLAG MAY BE RECYCLED. | |
| 278 */ | 275 */ |
| 279 #define DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL 0x20000000 | 276 #define DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL 0x20000000 |
| 280 /** | 277 /** |
| 281 * It seems that some devices return an bad data when | 278 * It seems that some devices return an bad data when |
| 282 * using the GetObjectInfo operation. So in these cases | 279 * using the GetObjectInfo operation. So in these cases |
| 283 * we prefer to override the PTP-compatible object infos | 280 * we prefer to override the PTP-compatible object infos |
| 284 * with the MTP property list. | 281 * with the MTP property list. |
| 285 * | 282 * |
| 286 * For example Some Samsung Galaxy S devices contain an MTP | 283 * For example Some Samsung Galaxy S devices contain an MTP |
| 287 * stack that present the ObjectInfo in 64 bit instead of | 284 * stack that present the ObjectInfo in 64 bit instead of |
| 288 * 32 bit. | 285 * 32 bit. |
| 289 */ | 286 */ |
| 290 #define DEVICE_FLAG_PROPLIST_OVERRIDES_OI 0x40000000 | 287 #define DEVICE_FLAG_PROPLIST_OVERRIDES_OI 0x40000000 |
| 291 | 288 |
| 292 /** | 289 /** |
| 293 * All these bug flags need to be set on SONY NWZ Walkman | 290 * All these bug flags need to be set on SONY NWZ Walkman |
| 294 * players, and will be autodetected on unknown devices | 291 * players, and will be autodetected on unknown devices |
| 295 * by detecting the vendor extension descriptor "sony.net" | 292 * by detecting the vendor extension descriptor "sony.net" |
| 296 */ | 293 */ |
| 297 #define DEVICE_FLAGS_SONY_NWZ_BUGS \ | 294 #define DEVICE_FLAGS_SONY_NWZ_BUGS \ |
| 298 (DEVICE_FLAG_UNLOAD_DRIVER | \ | 295 (DEVICE_FLAG_UNLOAD_DRIVER | \ |
| 299 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | \ | 296 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | \ |
| 300 DEVICE_FLAG_UNIQUE_FILENAMES | \ | 297 DEVICE_FLAG_UNIQUE_FILENAMES | \ |
| 301 DEVICE_FLAG_FORCE_RESET_ON_CLOSE) | 298 DEVICE_FLAG_FORCE_RESET_ON_CLOSE ) |
| 302 /** | 299 /** |
| 303 * All these bug flags need to be set on Android devices, | 300 * All these bug flags need to be set on Android devices, |
| 304 * they claim to support MTP operations they actually | 301 * they claim to support MTP operations they actually |
| 305 * cannot handle, especially 9805 (Get object property list). | 302 * cannot handle, especially 9805 (Get object property list). |
| 306 * These are auto-assigned to devices reporting | 303 * These are auto-assigned to devices reporting |
| 307 * "android.com" in their device extension descriptor. | 304 * "android.com" in their device extension descriptor. |
| 308 */ | 305 */ |
| 309 #define DEVICE_FLAGS_ANDROID_BUGS \ | 306 #define DEVICE_FLAGS_ANDROID_BUGS \ |
| 310 (DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | \ | 307 (DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | \ |
| 311 DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST | \ | 308 DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST | \ |
| 312 DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST | \ | 309 DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST | \ |
| 313 DEVICE_FLAG_UNLOAD_DRIVER | \ | 310 DEVICE_FLAG_UNLOAD_DRIVER | \ |
| 314 DEVICE_FLAG_LONG_TIMEOUT | \ | 311 DEVICE_FLAG_LONG_TIMEOUT ) |
| 315 DEVICE_FLAG_FORCE_RESET_ON_CLOSE) | |
| 316 /** | 312 /** |
| 317 * All these bug flags appear on a number of SonyEricsson | 313 * All these bug flags appear on a number of SonyEricsson |
| 318 * devices including Android devices not using the stock | 314 * devices including Android devices not using the stock |
| 319 * Android 4.0+ (Ice Cream Sandwich) MTP stack. It is highly | 315 * Android 4.0+ (Ice Cream Sandwich) MTP stack. It is highly |
| 320 * supected that these bugs comes from an MTP implementation | 316 * supected that these bugs comes from an MTP implementation |
| 321 * from Aricent, so it is called the Aricent bug flags as a | 317 * from Aricent, so it is called the Aricent bug flags as a |
| 322 * shorthand. Especially the header errors that need to be | 318 * shorthand. Especially the header errors that need to be |
| 323 * ignored is typical for this stack. | 319 * ignored is typical for this stack. |
| 324 * | 320 * |
| 325 * After some guesswork we auto-assign these bug flags to | 321 * After some guesswork we auto-assign these bug flags to |
| 326 * devices that present the "microsoft.com/WPDNA", and | 322 * devices that present the "microsoft.com/WPDNA", and |
| 327 * "sonyericsson.com/SE" but NOT the "android.com" | 323 * "sonyericsson.com/SE" but NOT the "android.com" |
| 328 * descriptor. | 324 * descriptor. |
| 329 */ | 325 */ |
| 330 #define DEVICE_FLAGS_ARICENT_BUGS \ | 326 #define DEVICE_FLAGS_ARICENT_BUGS \ |
| 331 (DEVICE_FLAG_IGNORE_HEADER_ERRORS | \ | 327 (DEVICE_FLAG_IGNORE_HEADER_ERRORS | \ |
| 332 DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST | \ | 328 DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST | \ |
| 333 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST) | 329 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST ) |
| OLD | NEW |