| 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_MATCH_PTP_INTERFACE»» 0x00800000 | 244 #define DEVICE_FLAG_OLYMPUS_XML_WRAPPED»» 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. |
| 275 */ | 278 */ |
| 276 #define DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL 0x20000000 | 279 #define DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL 0x20000000 |
| 277 /** | 280 /** |
| 278 * It seems that some devices return an bad data when | 281 * It seems that some devices return an bad data when |
| 279 * using the GetObjectInfo operation. So in these cases | 282 * using the GetObjectInfo operation. So in these cases |
| 280 * we prefer to override the PTP-compatible object infos | 283 * we prefer to override the PTP-compatible object infos |
| 281 * with the MTP property list. | 284 * with the MTP property list. |
| 282 * | 285 * |
| 283 * For example Some Samsung Galaxy S devices contain an MTP | 286 * For example Some Samsung Galaxy S devices contain an MTP |
| 284 * stack that present the ObjectInfo in 64 bit instead of | 287 * stack that present the ObjectInfo in 64 bit instead of |
| 285 * 32 bit. | 288 * 32 bit. |
| 286 */ | 289 */ |
| 287 #define DEVICE_FLAG_PROPLIST_OVERRIDES_OI 0x40000000 | 290 #define DEVICE_FLAG_PROPLIST_OVERRIDES_OI 0x40000000 |
| 288 | 291 |
| 289 /** | 292 /** |
| 290 * All these bug flags need to be set on SONY NWZ Walkman | 293 * All these bug flags need to be set on SONY NWZ Walkman |
| 291 * players, and will be autodetected on unknown devices | 294 * players, and will be autodetected on unknown devices |
| 292 * by detecting the vendor extension descriptor "sony.net" | 295 * by detecting the vendor extension descriptor "sony.net" |
| 293 */ | 296 */ |
| 294 #define DEVICE_FLAGS_SONY_NWZ_BUGS \ | 297 #define DEVICE_FLAGS_SONY_NWZ_BUGS \ |
| 295 (DEVICE_FLAG_UNLOAD_DRIVER | \ | 298 (DEVICE_FLAG_UNLOAD_DRIVER | \ |
| 296 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | \ | 299 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | \ |
| 297 DEVICE_FLAG_UNIQUE_FILENAMES | \ | 300 DEVICE_FLAG_UNIQUE_FILENAMES | \ |
| 298 DEVICE_FLAG_FORCE_RESET_ON_CLOSE ) | 301 DEVICE_FLAG_FORCE_RESET_ON_CLOSE) |
| 299 /** | 302 /** |
| 300 * All these bug flags need to be set on Android devices, | 303 * All these bug flags need to be set on Android devices, |
| 301 * they claim to support MTP operations they actually | 304 * they claim to support MTP operations they actually |
| 302 * cannot handle, especially 9805 (Get object property list). | 305 * cannot handle, especially 9805 (Get object property list). |
| 303 * These are auto-assigned to devices reporting | 306 * These are auto-assigned to devices reporting |
| 304 * "android.com" in their device extension descriptor. | 307 * "android.com" in their device extension descriptor. |
| 305 */ | 308 */ |
| 306 #define DEVICE_FLAGS_ANDROID_BUGS \ | 309 #define DEVICE_FLAGS_ANDROID_BUGS \ |
| 307 (DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | \ | 310 (DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | \ |
| 308 DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST | \ | 311 DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST | \ |
| 309 DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST | \ | 312 DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST | \ |
| 310 DEVICE_FLAG_UNLOAD_DRIVER | \ | 313 DEVICE_FLAG_UNLOAD_DRIVER | \ |
| 311 DEVICE_FLAG_LONG_TIMEOUT ) | 314 DEVICE_FLAG_LONG_TIMEOUT | \ |
| 315 DEVICE_FLAG_FORCE_RESET_ON_CLOSE) |
| 312 /** | 316 /** |
| 313 * All these bug flags appear on a number of SonyEricsson | 317 * All these bug flags appear on a number of SonyEricsson |
| 314 * devices including Android devices not using the stock | 318 * devices including Android devices not using the stock |
| 315 * Android 4.0+ (Ice Cream Sandwich) MTP stack. It is highly | 319 * Android 4.0+ (Ice Cream Sandwich) MTP stack. It is highly |
| 316 * supected that these bugs comes from an MTP implementation | 320 * supected that these bugs comes from an MTP implementation |
| 317 * from Aricent, so it is called the Aricent bug flags as a | 321 * from Aricent, so it is called the Aricent bug flags as a |
| 318 * shorthand. Especially the header errors that need to be | 322 * shorthand. Especially the header errors that need to be |
| 319 * ignored is typical for this stack. | 323 * ignored is typical for this stack. |
| 320 * | 324 * |
| 321 * After some guesswork we auto-assign these bug flags to | 325 * After some guesswork we auto-assign these bug flags to |
| 322 * devices that present the "microsoft.com/WPDNA", and | 326 * devices that present the "microsoft.com/WPDNA", and |
| 323 * "sonyericsson.com/SE" but NOT the "android.com" | 327 * "sonyericsson.com/SE" but NOT the "android.com" |
| 324 * descriptor. | 328 * descriptor. |
| 325 */ | 329 */ |
| 326 #define DEVICE_FLAGS_ARICENT_BUGS \ | 330 #define DEVICE_FLAGS_ARICENT_BUGS \ |
| 327 (DEVICE_FLAG_IGNORE_HEADER_ERRORS | \ | 331 (DEVICE_FLAG_IGNORE_HEADER_ERRORS | \ |
| 328 DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST | \ | 332 DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST | \ |
| 329 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST ) | 333 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST) |
| OLD | NEW |