Media Transfer Protocol supported. 2 Session Outline Overview Overview Why use a class protocol? Why use a class protocol? Core scenarios & functionality.

Slides:



Advertisements
Similar presentations
Hello i am so and so, title/role and a little background on myself (i.e. former microsoft employee or anything interesting) set context for what going.
Advertisements

Device Virtualization Architecture
Optimizing Device Drivers For Terminal Servers Plug And Play Device Redirection Framework Gaurav Daga Program Manager Windows Terminal Server Microsoft.
Samsung Digital Signage
Windows Vista Presentation Advances Daniel Moth Developer & Platform Group, Microsoft Ltd
Windows Server Terminal Services Easy Print
UPnP* AV: Easy Sharing of Digital Media Joe C. Pitarresi Business Development Intel Research & Development.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 8: Monitoring the Network Connecting Networks.
Craig Murphy Program Manager Microsoft Corporation.
Collaboration Innovation and savings for libraries Today’s Agenda Morning: 10:00 to 11:30: Board of Ed Room Conversation & Training New - Library on the.
SpinetiX Hyper Media Player: HMP100
Audio Video Update John Ritchie Intel Co-Chair Audio Video Committee.
A new Network Concept for transporting and storing digital video…………
Media Transfer Protocol Implementation Details
New Scenarios for Portable Media Usage David Proctor Hardware Lead Microsoft Portable Media Centers.
Integrated Part of the Windows Media Ecosystem Rich Video as a 1 st class citizen Flexible Branded experiences Multiple delivery methods Monetized Helps.
Auxiliary Display Platform in Longhorn Andrew Fuller Lead Program Manager Mobile PC microsoft.com Microsoft Corporation.
© 2008 Cisco Systems, Inc. All rights reserved.CIPT1 v6.0—5-1 Implementing Media Resources, Features, and Applications Implementing Cisco Unified Video.
28.2 Functionality Application Software Provides Applications supply the high-level services that user access, and determine how users perceive the capabilities.
Quicktime Howell Istance School of Computing De Montfort University.
Mobile Application Development
Figure 1.1 Interaction between applications and the operating system.
Philips Research France Delivery Context in MPEG-21 Sylvain Devillers Philips Research France Anthony Vetro Mitsubishi Electric Research Laboratories.
Final Presentation Spring 2003 Project ID: D0822 Project Name: WinCE integrating BT media share application Supervisor: Evgeny Rivkin Performed by: Maya.
USB 2.0 INTRODUCTION NTUT CSIE 學 生:許家豪 指導教授:柯開維教授.
Check Disk. Disk Defragmenter Using Disk Defragmenter Effectively Run Disk Defragmenter when the computer will receive the least usage. Educate users.
Course :: Certificate in Basic Computers Applications for End Users Introducing Window 7.
Windows Media DRM Device Porting Kit Review Scott Plette Program Manager Media Technology Group microsoft.com Microsoft Corporation.
File Systems and N/W attached storage (NAS) | VTU NOTES | QUESTION PAPERS | NEWS | VTU RESULTS | FORUM | BOOKSPAR ANDROID APP.
DXVA 2.0 A new Hardware Video Acceleration Pipeline for Windows Vista
©DLR, Inc. 2007Version Digital Library For Assistance contact Greenwich Library Reference Desk at or
© 2009 Research In Motion Limited Advanced Java Application Development for the BlackBerry Smartphone Trainer name Date.
Windows Vista: Deployment. What Will We Cover? Managed Deployment Advantages Windows Imaging Windows Preinstallation Environment Application Compatibility.
Module 10 Configuring and Managing Storage Technologies.
Introduction to USB Development. USB Development Introduction Technical Overview USB in Embedded Systems Recent Developments Extensions to USB USB as.
Using the PSoC USB March 17, 2012 Lloyd Moore, President/Owner.
Discovering Computers 2010 Chapter 2 The Internet and World Wide Web.
Rally Technologies Spring 2008, Redmond, Washington DLNA Device Implementation Edwin Heredia Program Manager Windows Devices &
Chapter 6 Configuring Windows Server 2008 Printing
Developing WIA Drivers Byron Changuion Developer Windows Imaging Group Microsoft Corporation.
Approaches to Home Connectivity T Research Seminar on Telecommunications Business Marko Berg.
ScreenPlay TV Link Training By Erik Collett
How To Design A PlaysForSure Device Jerry D. Smith Program Manager Windows Media Devices Group microsoft.com Microsoft Corporation.
91% of windows users have devices …but the Windows device experience has been limited…
FIMS BM ESSENCE LOCATOR 11/27/2012 Loic Barbou Bloomberg/Triskel Inc.
Syzygy Design overview Distributed Scene Graph Master/slave application framework I/O Device Integration using Syzygy Scaling down: simulators and other.
Firmware Storage : Technical Overview Copyright © Intel Corporation Intel Corporation Software and Services Group.
MediaServer:1 Device Template Version 1.01 Date: June 25, 2002 For UPnP™ Version 1.0 Status: Standardized DCP File from: MediaServer1.0.pdf Author: John.
Microsoft Sync Framework Content flow for the enterprise.
Windows Media Connect and PlaysForSure for Network Devices Jason Flaks Program Manager Digital Media Division microsoft.com Microsoft Corporation.
Storage Device Design Pattern JEFF MEISSNER; KEN HARDY Windows Program Management.
Enhanced Storage Architecture
PCs and Devices in Windows 7: What You Need to Know Cameron Brodeur Program Manager Device Foundation Platform Adam Lenart Software.
1 Presented By: Eyal Enav and Tal Rath Eyal Enav and Tal Rath Supervisor: Mike Sumszyk Mike Sumszyk.
Back to USB Devices All TUSB6252 Product Information is Preliminary and Subject to Change TUSB6252 Product Preview.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
MPEG-4: Multimedia Coding Standard Supporting Mobile Multimedia System Lian Mo, Alan Jiang, Junhua Ding April, 2001.
Real Time Streaming Protocol (RTSP)
WHQL Code Coverage Prototype Program Andy Wen. 2 Agenda What is Code Coverage Prototype Program? What is Code Coverage Prototype Program? A prototype.
MobileSync January Nero – A History of PC Innovation Decade of experience in PC software innovation Strong, global brand recognition Commitment.
Exploring Networked Data and Data Stores Lesson 3.
Planning Application Services Lesson 4. Deploying Application Servers Organizations supply their employees with computers so that they can get work done,
Streaming Media. What is Streaming Media The delivery of audio, video and other multimedia content across the internet using streaming media servers.
AXF – Archive eXchange Format Report of AXF WG to TC-31FS 6 December, 2012.
Introducing the Windows Mobile development
Imaging and Deployment
Integrating with the Windows Device Experience
Design Patterns for Connected Specialized Devices
Network Controllable MP3 Player
Presentation transcript:

Media Transfer Protocol supported

2 Session Outline Overview Overview Why use a class protocol? Why use a class protocol? Core scenarios & functionality Core scenarios & functionality Non-goals Non-goals Origins Origins Technical details Technical details Fundamentals Fundamentals Objects, properties, enumeration, references Objects, properties, enumeration, references Implementation details Implementation details USB optimizations & design considerations USB optimizations & design considerations Implementation example Implementation example Development resources Development resources Direct MTP Direct MTP MTP Monitor MTP Monitor MTP Simulator MTP Simulator Summary Summary Additional resources Additional resources Questions & Answers Questions & Answers

3 Why Use A Class Protocol? No driver required No driver required No driver development, installation or support costs No driver development, installation or support costs Match communication paradigm to API Match communication paradigm to API MTP mirrors current and future device connectivity API MTP mirrors current and future device connectivity API Better user experience Better user experience “Just works” “Just works” Interoperability Interoperability Future-compatible Future-compatible Device ecosystem development Device ecosystem development

4 Core Scenarios Plug and Play experience Plug and Play experience Self-describing protocol Self-describing protocol Device content synchronization Device content synchronization Send and retrieve media on portable players Send and retrieve media on portable players Synchronize contacts/messages/schedules on PIMs Synchronize contacts/messages/schedules on PIMs Acquire images from a digital still camera Acquire images from a digital still camera Device control and management Device control and management Set device clock, volume, display options Set device clock, volume, display options Play, pause, rewind media player Play, pause, rewind media player Remote content browsing Remote content browsing Identify objects by metadata Identify objects by metadata View representative samples of objects View representative samples of objects Metadata-defined abstract objects Metadata-defined abstract objects

5 Core Functionality Rich object enumeration Rich object enumeration Does not require a standard acceleration file Does not require a standard acceleration file Retrieve metadata separately from data Retrieve metadata separately from data Representative samples Representative samples Generic object transfer Generic object transfer Abstract, opaque and combination objects Abstract, opaque and combination objects Device description Device description Device capabilities Device capabilities Device metadata Device metadata

6 Non-Goals Streaming Streaming Requires and ensures bit-correctness Requires and ensures bit-correctness Has no quality of service guarantees Has no quality of service guarantees Playback from device requires buffering Playback from device requires buffering Device discovery, pairing Device discovery, pairing Relies on underlying transport Relies on underlying transport DRM DRM Enables, but does not define, DRM Enables, but does not define, DRM

7 Origins Origins in Picture Transfer Protocol Origins in Picture Transfer Protocol Dominant protocol for digital still cameras Dominant protocol for digital still cameras Used in PictBridge Used in PictBridge MTP = PTP and Extensions MTP = PTP and Extensions Bi-directionally compatible Bi-directionally compatible MTP devices can work with PTP devices MTP devices can work with PTP devices PTP devices will work with MTP devices PTP devices will work with MTP devices MTP Enhanced and Basic MTP Enhanced and Basic Devices designed for Windows should implement MTP Enhanced Devices designed for Windows should implement MTP Enhanced MTP Basic is an OS-neutral subset, proposed for standardization MTP Basic is an OS-neutral subset, proposed for standardization

8 Connect, identifies as using MTP Device capability Request device information Request list of contents Request metadata describing content Array of handles to content Send metadata Object exchange Connection Walk-Through

9 Fundamentals Binary Binary Actions Actions Operation  Response Operation  Response Events Events Device roles: Initiator-Responder Device roles: Initiator-Responder Initiator can send Operations Initiator can send Operations Responder responds, fires events Responder responds, fires events Device content represented by objects Device content represented by objects Device represented by device properties Device represented by device properties File system, file structure and transport neutral File system, file structure and transport neutral Device UI can remain active Device UI can remain active

10 Objects All data is represented by objects All data is represented by objects Audio, Video, Image, File, Album, etc. Audio, Video, Image, File, Album, etc. Objects can be binary, abstract or both Objects can be binary, abstract or both Abstract objects have no binary data, such as albums and playlists Abstract objects have no binary data, such as albums and playlists Objects are identified by 32-bit handles Objects are identified by 32-bit handles Objects are described by properties Objects are described by properties Device-constrained values Device-constrained values Interdependent properties enabled Interdependent properties enabled Data, Properties and References are sent and retrieved independently Data, Properties and References are sent and retrieved independently

11 Object Components Array of Object References that refer to other related objects on the device. Set of Object Properties, which define metadata and properties. These values are understood by and restricted by the device. Static and overview set of fundamental information about this object, included for PTP compatibility. Binary Object contents

12 Object References File system neutral → objects identified by 32-bit object handles File system neutral → objects identified by 32-bit object handles References used to associate objects References used to associate objects Playlists, Albums, etc. Playlists, Albums, etc. Unidirectional Unidirectional Meaning derived from context Meaning derived from context Reference maintenance performed by device Reference maintenance performed by device

13 Object References

14 Object enumeration Quickly enumerate interesting content Quickly enumerate interesting content Select by Select by Object format Object format Desired properties Desired properties Folder hierarchy Folder hierarchy Example return sets Example return sets All properties for all objects All properties for all objects Title, Artist and Duration for all WMA files Title, Artist and Duration for all WMA files Optimized for Optimized for Full (or sub-range) enumerations Full (or sub-range) enumerations High bandwidth High bandwidth High transaction cost High transaction cost Processing power imbalance Processing power imbalance

15 Object Enumeration – One At A Time WMA MP3 MP3 MP3 WMA WMA WMA WMA WMA WMV WPL WMV Unknown Title1 Title2 Title3 Title4 Title5 Title6 Title7 Title8 Title9 Title10 Title11 Title12 Title13 Artist1 Artist2 Artist3 Artist2 Artist4 Artist3 Artist1 Artist5 Artist2 Artist4 Artist Song1.wma Song2.mp3 Song3.wma Song4.wma Song5.mp3 Vid1.wmv Song7.wma Favorites Vid2.wmv Song8.mp3 WinHec.ppt Song9.wma Song6.wma 0x x x x x x x x x x A 0x B 0x C 0x D HandleFormatTitleArtistDurationFileName

16 Object Enumeration – Prop By Prop By Format HandleFormatTitleArtistDurationFileName WMA MP3 MP3 MP3 WMA WMA WMA WMA WMA WMV WPL WMV Unknown Title1 Title2 Title3 Title4 Title5 Title6 Title7 Title8 Title9 Title10 Title11 Title12 Title13 Artist1 Artist2 Artist3 Artist2 Artist4 Artist3 Artist1 Artist5 Artist2 Artist4 Artist Song1.wma Song2.mp3 Song3.wma Song4.wma Song5.mp3 Vid1.wmv Song7.wma Favorites Vid2.wmv Song8.mp3 WinHec.ppt Song9.wma Song6.wma 0x x x x x x x x x x A 0x B 0x C 0x D

17 Object Enumeration – All By Format HandleFormatTitleArtistDurationFileName WMA MP3 MP3 MP3 WMA WMA WMA WMA WMA WMV WPL WMV Unknown Title1 Title2 Title3 Title4 Title5 Title6 Title7 Title8 Title9 Title10 Title11 Title12 Title13 Artist1 Artist2 Artist3 Artist2 Artist4 Artist3 Artist1 Artist5 Artist2 Artist4 Artist Song1.wma Song2.mp3 Song3.wma Song4.wma Song5.mp3 Vid1.wmv Song7.wma Favorites Vid2.wmv Song8.mp3 WinHec.ppt Song9.wma Song6.wma 0x x x x x x x x x x A 0x B 0x C 0x D

18 Object Enumeration – All By Property HandleFormatTitleArtistDurationFileName WMA MP3 MP3 MP3 WMA WMA WMA WMA WMA WMV WPL WMV Unknown Title1 Title2 Title3 Title4 Title5 Title6 Title7 Title8 Title9 Title10 Title11 Title12 Title13 Artist1 Artist2 Artist3 Artist2 Artist4 Artist3 Artist1 Artist5 Artist2 Artist4 Artist Song1.wma Song2.mp3 Song3.wma Song4.wma Song5.mp3 Vid1.wmv Song7.wma Favorites Vid2.wmv Song8.mp3 WinHec.ppt Song9.wma Song6.wma 0x x x x x x x x x x A 0x B 0x C 0x D

19 Object Enumeration – All By Group HandleFormatTitleArtistDurationFileName WMA MP3 MP3 MP3 WMA WMA WMA WMA WMA WMV WPL WMV Unknown Title1 Title2 Title3 Title4 Title5 Title6 Title7 Title8 Title9 Title10 Title11 Title12 Title13 Artist1 Artist2 Artist3 Artist2 Artist4 Artist3 Artist1 Artist5 Artist2 Artist4 Artist Song1.wma Song2.mp3 Song3.wma Song4.wma Song5.mp3 Vid1.wmv Song7.wma Favourites Vid2.wmv Song8.mp3 WinHec.ppt Song9.wma Song6.wma 0x x x x x x x x x x A 0x B 0x C 0x D

20 Object Enumeration – All HandleFormatTitleArtistDurationFileName WMA MP3 MP3 MP3 WMA WMA WMA WMA WMA WMV WPL WMV Unknown Title1 Title2 Title3 Title4 Title5 Title6 Title7 Title8 Title9 Title10 Title11 Title12 Title13 Artist1 Artist2 Artist3 Artist2 Artist4 Artist3 Artist1 Artist5 Artist2 Artist4 Artist Song1.wma Song2.mp3 Song3.wma Song4.wma Song5.mp3 Vid1.wmv Song7.wma Favourites Vid2.wmv Song8.mp3 WinHec.ppt Song9.wma Song6.wma 0x x x x x x x x x x A 0x B 0x C 0x D

21 Optimizations Data aligned with packet boundaries Data aligned with packet boundaries No object size limit No object size limit Property datasets are unordered Property datasets are unordered Property datasets may be piped without pre-compilation Property datasets may be piped without pre-compilation Datasets designed to avoid back-referencing Datasets designed to avoid back-referencing

22 Implementation Details – Hardware Considerations Device Storage USB controller Driver Framework USBScan MTP Device CPU Device Storage USB/ ATAPI Bridge PC Device Driver Framework USBStor Portable Media Player CPU Automatic Switch MTP Compatible Mass Storage Optimized not suitable for MTP File Transfer using DMA MSC

23 Development Resources Direct MTP Direct MTP Useful for sending MTP operations to the device Useful for sending MTP operations to the device All operation parameters can be fully specified All operation parameters can be fully specified Device responses are displayed in the UI Device responses are displayed in the UI MTP Monitor MTP Monitor Monitors & logs USB bus traffic for MTP exchanges Monitors & logs USB bus traffic for MTP exchanges Parses and interprets MTP operations/responses/events Parses and interprets MTP operations/responses/events MTP Simulator MTP Simulator Software MTP device Software MTP device Requires simulator board to expose as device to the PC Requires simulator board to expose as device to the PC Provides a protocol reference Provides a protocol reference Useful for debugging device behavior with the MTP driver Useful for debugging device behavior with the MTP driver

24 Development Resources – Direct MTP

25 Development Resources – MTP Monitor Simple bus analyzer Simple bus analyzer Displays and parses MTP traffic Displays and parses MTP traffic Very useful for debugging device implementations Very useful for debugging device implementations

26 Summary A class protocol for portable media devices A class protocol for portable media devices Digital Cameras, Portable Media Players, Cellular Phones, etc Digital Cameras, Portable Media Players, Cellular Phones, etc Enable hybrid devices, generic firmware Enable hybrid devices, generic firmware Based on Picture Transfer Protocol (PTP) Based on Picture Transfer Protocol (PTP) Widely used standard for digital still cameras Widely used standard for digital still cameras MTP enables MTP enables Generic object transfer between devices Generic object transfer between devices Rich object description Rich object description Device management and control Device management and control File system, transport, file structure neutral File system, transport, file structure neutral

27 Call To Action Use MTP as a connectivity protocol for portable media players Use MTP as a connectivity protocol for portable media players Support shipping in the next Windows Media Player (codenamed Crescent) Support shipping in the next Windows Media Player (codenamed Crescent) Consider MTP as an upgrade path for Digital Still Cameras Consider MTP as an upgrade path for Digital Still Cameras PTP will continue to be fully supported and endorsed PTP will continue to be fully supported and endorsed Consider MTP as an object transfer & control protocol any intelligent portable device with storage Consider MTP as an object transfer & control protocol any intelligent portable device with storage Cellular handsets, hybrid devices Cellular handsets, hybrid devices Supported in Vista Supported in Vista

28 Community Resources Community Sites Community Sites List of Newsgroups List of Newsgroups us/default.aspx us/default.aspx us/default.aspx us/default.aspx Attend a free chat or webcast Attend a free chat or webcast Locate a local user group(s) Locate a local user group(s) Non-Microsoft Community Sites Non-Microsoft Community Sites