Bug 32492

Summary: Supported mime types for video iPod devices
Product: media-player-info Reporter: Ryan Blue <rdblue>
Component: New deviceAssignee: Martin Pitt <martin.pitt>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: medium    
Version: unspecified   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: Adds support for more video ipods, iphones, and the ipad.

Description Ryan Blue 2010-12-18 05:16:43 UTC
Created attachment 41231 [details] [review]
Adds support for more video ipods, iphones, and the ipad.

I ran into this problem on 64-bit Ubuntu 10.10 with a 2nd generation iPod Touch.  I was trying to transfer video to my iPod using Banshee.  The problem is that my iPod was being recognized as a normal music iPod and not one that supports video.

I looked further into this and found that video iPod devices are only supported through the apple-1261_1262.mpi file (which simply adds the mime type video/mp4) and that the only usb ids supported were 0x1261 and 0x1262.  All I had to do in order to get my device to work was to add my usb id to the mpi DeviceMatch and update the udev rules.

I think the way to add support for video iPods is to change the apple-1261_1262.mpi file to be apple-video-ipod.mpi and add the appropriate devices.  I found a list of apple usb ids: http://www.linux-usb.org/usb.ids.  Here is a list of iPods I think should have video/mp4 added:
* Video: 1209
* Nano: 1263, 1265, 1266
* Nano DFU mode: 1223, 1224, 1225, 1231, 1255
* Nano WTF mode: 1242, 1243, 1245, 1246
* iPhone: 1290, 1292, 1294, 1297
* Touch: 1291, 1293, 1296, 1299, 129e
* iPad: 129a - not sure about this one, but it's included in the diff

I'm not sure if there's a better way than specifying device id, but I couldn't find anything relating to video in `lsusb -v`, so that is what I recommend for now.  I'm attaching a diff with these changes.
Comment 1 Martin Pitt 2010-12-23 07:04:36 UTC
Thank you! Committed to trunk.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.