This is a draft proposal I plan to submit to PSARC in a few days - I'd 
appreciate any early feedback. I have libmtp and Rhythmbox (minor code 
changes were required for both) working with my Samsung T10.

-Artem


1. Summary

Add support for Media Transfer Protocol, used by many portable
media players, by including the open source library libmtp, several
command line tools, and integration with the Solaris removable media
framework.


2. Details

Media Transfer Protocol (MTP) [1] is a popular alternative to the mass
storage protocol among USB-based portable media players from such
vendors as Creative, Microsoft, Nokia, Samsung, SanDisk and many others.
Windows has built-in support for MTP. most Linux distros rely on the
open source library, libmtp [2], licensed under LGPL 2. We propose to
add libmtp to Solaris.

libmtp does not directly access devices: it relies on libusb for device
discovery and communications.

A HAL fdi file [3] will be delivered along with libmtp. Devices
supported by libmtp will have the "portable_audio_player" capability, 
and their portable_audio_player.libmtp.protocol property set to
"libmtp", according to the HAL specification [4]. This will allow HAL
aware applications to easily discover MTP devices.

Rhythmbox includes a plugin called mtpdevice. When built on a system
with libmtp installed, Rhythmbox's configure script detects libmtp and
enables the plugin. We propose to add mtpdevice to Solaris.

libmtp also includes several command line tools: see
mtp-tools.1.txt man page in the case directory for details. We
propose to include these tools in Solaris as well (in a different 
package from libmtp).

Libmtp and mtp-tools will be delivered via SFW consolidation.
Minor release binding is requested.


3. Interfaces

All interfaces are Uncommitted.

/usr/lib/libmtp.so
/usr/lib/pkgconfig/libmtp.pc
/usr/include/libmtp.h
/etc/hal/fdi/information/20thirdparty/20-libmtp.fdi

/usr/bin/mtp-albumart
/usr/bin/mtp-albums
/usr/bin/mtp-connect
/usr/bin/mtp-delfile
/usr/bin/mtp-detect
/usr/bin/mtp-emptyfolders
/usr/bin/mtp-files
/usr/bin/mtp-folders
/usr/bin/mtp-format
/usr/bin/mtp-getfile
/usr/bin/mtp-getplaylist
/usr/bin/mtp-hotplug
/usr/bin/mtp-newfolder
/usr/bin/mtp-newplaylist
/usr/bin/mtp-playlists
/usr/bin/mtp-reset
/usr/bin/mtp-sendfile
/usr/bin/mtp-sendtr
/usr/bin/mtp-thumb
/usr/bin/mtp-tracks
/usr/bin/mtp-trexist

/usr/lib/rhythmbox/plugins/mtpdevice/


4. References

[1] http://en.wikipedia.org/wiki/Media_Transfer_Protocol
[2] http://libmtp.sourceforge.net/
[3] PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
[4] http://people.freedesktop.org/~david/hal-spec/hal-spec.html

_______________________________________________
driver-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/driver-discuss

Reply via email to