Media Transfer Protocol

MTP device

The MCCI® MTP solution is a highly reliable and easily extensible product package for portable device developers that can support any video, image, or music file format. MCCI delivers not just an MTP stack, but an end-to-end solution, including a unique media management database which can play a key role for OEMs in creating differentiated products. The MCCI MTP solution can simplify and enhance the user experience with a variety of mobile multimedia-related functions and services.

In addition, development and validation tools for both the host and the target devices, and host PC device driver software round out a robust solution that helps developers improve time-to-market and reduce customer-support costs.

Features and Design

MCCI MTP delivers the rapid access to songs and videos expected by media player users. MCCI MTP and MSS modules are highly flexible, and include APIs that allow the solution to be integrated with user interfaces, Digital Rights Management systems (DRMs), and application software provided by the OEM or a third-party supplier.

MCCI MTP is capable of transporting any type of data, including Windows Media (WM) formats and non-WM formats like MP3, OGG and AAC.

MCCI supports all Microsoft MTP applications, including Windows Media Player 10 and 11. The MCCI MTP solution also maintains compatibility with content bearing the PlaysForSure logo.

Because MTP is a superset of the Picture Transfer Protocol (PTP), PictBridge is also optionally supported from the same code base. Reflecting its roots as an extension of PTP, the MCCI MTP solution leverages proven MCCI PictBridge know-how by harnessing classic PictBridge components like Direct Print Services, Picture and Media Storage Services, and PTP with MTP extensions.

Dynamic Database Module

MTP icons

Central to the flexibility and high performance of MCCI MTP is our implementation of the Media Storage Services (MSS) module. MSS, which manages the storage of media content, employs a highly efficient database structure that provides rapid searching and sorting of the database by any of the file attributes defined in the MTP specification. MCCI MSS is pre-configured for the most common query types for media player applications. However, the capabilities and OEM value-add opportunities afforded by MCCI MSS go far beyond the basic indexing of songs and videos.

The MCCI MSS database provides OEMs with the tools to incorporate the descriptive information from any type of media content into the media database. A generic query capability allows the OEM total flexibility to configure database indexing, searching and sorting. For example, cell phone photos and videos or content received from proprietary services can be indexed for later retrieval. The end result of centralized indexing of the media content is a simplified user interface, delivering fast and efficient access to all the content stored in the phone.

The MSS database automatically combines internal flash memory and flash card-based content to present a single database to the user interface. The database has other advanced capabilities that allow dynamic configuration of new content types and database queries, and the capability to acquire database information from non-MTP transports, e.g. content downloaded over-the-air via proprietary IP. The database is built using an extremely reliable and fault tolerant internal architecture, providing a "deterministic" degree of reliability.

Host PC Software

MTP device

Although single-function MTP products often require no additional software on the PC, multi-function products often require drivers and installation software beyond the offerings of the base operating system. MCCI has a large library of class drivers and installation tools, which can allow advanced features to be supported.

USB Product Integration

MCCI MTP is optimized for use with the MCCI USB DataPump, but its standards-based architecture is easily ported to third-party USB stacks. Products built with the MCCI MTP solution can integrate with multiple Digital Rights Management (DRM) clients and OEM or third party players and user interfaces.

In addition to using the DataPump for USB data transfer, the solution depends on the following services from the target platform

  • A multi-tasking operating system, with capacity for four additional tasks
  • A file system with support for long file names containing arbitrary UNICODE characters (up to 255 characters long)
  • A time-of-day clock/calendar
  • For a “media player quality” download experience, a high-speed or SuperSpeed USB interface is recommended.

MCCI's MTP has been ported to Windows, Linux, and a variety of embedded RTOS environments.

MCCI MTP consists of the following modules.

  • The MCCI USB DataPump
  • An MCCI Device Controller Driver for the USB device hardware in the target SoC
  • An implementation of the Still Image Class protocol
  • An implementation of the Media Transfer Protocol
  • The Media Storage Services, which provides the database and search facilities
  • Windows Media DRM interface module
  • Optionally, Digital Print Services for PictBridge support concurrently with MTP support
  • Integration with either libxml or expat XML libraries
  • Demo applications to assist in development, integration, and verification

Validation Tools

MCCI provides effective test and simulation software to speed product development:

  • PMPSim is a Windows-based application that provides a Portable Media Player-like user interface, playback, and Windows Media Player synchronization functionality. Because it is built from the same code base as the embedded device code, it can be used to replicate and debug problems in the MTP device.
  • MTPHVT is an MTP host (initiator) emulator. It can assist in testing the functionality, reliability, and fault tolerance of the MTP device. It can capture and display MTP command and response logs. Test scripts are provided to automate product testing and developers can write additional scripts.