[Banshee-List] Slightly improved MTP support



Hey,

As part of the gio/udev work I've been doing with lamalex I did a few
fixes to banshees MTP support.

1) libmtp 0.3.0+ have a new API which allows you to query all
connected usb devices for supported ones and then selectively connect
to them.
By grabbing the usb device number and usb bus number as exposed
through IUsbDevice we can match connected devices to the devices that
libmtp finds. Once a device matches, we can connect to that specific
device. This means we are *guaranteed* to be able to load every MTP
device that libmtp supports. Previously we relied on the serial number
to match devices and that was error prone and could fail.  Also we now
support connecting multiple mtp devices at one time.

The two commits fixing detection are:
http://gitorious.org/+banshee-hw/banshee/banshee-iphone/commit/fe9281054d6e3c76dd7672a415a60d4b38d27a1c
http://gitorious.org/+banshee-hw/banshee/banshee-iphone/commit/8625602a02ea295a7b9a185e4a55bc589f2daacc

2) Modern gvfs comes with a libgphoto backend which automounts mtp
devices. If this happens, banshee is locked out from accesing the
device as a regular MTP media device. I've updated banshee to
automatically unmount MTP devices and then connect to them which works
around this issue. This requires the udev/gio work in lamalexs branch
(linked above).


Questions:
Are we ok bumping the min requirement to libmtp 0.3.0. It's about 2
years old, it should be fine.
Can HAL provide usb bus and device numbers? If so should the detection
fixes should be backported.
Can the current banshee code unmount gvfs drives automatically or do
we need the gio backend to do this? If it can, the auto-unmount fix
should be backported.


Alan.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]