1 minute read

I already wrote about my Meizu M6 and Rhythmbox and how to get them working together. This time HAL, the hardware abtraction layer in recent Linux systems is involved.

HAL discovers devices and assigns properties and capabilities to the recognised device. This is very convenient indeed. The device, a Meizu M6 in my case, is recognised by hardware specific information, e.g. vendor and product ID, and the needed information enabling it to be used as audio player gets assigned. These are the supported formats, playlist format and so on.

Unfortunately the FDI file, the file describing the device, contains some typos. In /usr/share/hal/fdi/information/10freedesktop/10-usb-music-players.fdi the key for the playlist format is written as portable_audio_player.playlist_formats while the spec states it as portable_audio_player.playlist_format (see diff below)

I changed that in that file, restarted hal, re-connected my M6 and everything is fine now. A bug is filed at freedesktop.org at #23251

--- /usr/share/hal/fdi/information/10freedesktop/10-usb-music-players.fdi       
2009-08-11 15:43:48.000000000 +0200
+++ /tmp/10-usb-music-players.fdi       2009-08-11 15:44:38.000000000 +0200
@@ -198,7 +198,7 @@
             <append key="portable_audio_player.input_formats" type="strlist">au
dio/mpeg</append>
             <append key="portable_audio_player.audio_folders" type="strlist">MU
SIC/</append>
             <append key="portable_audio_player.audio_folders" type="strlist">RE
CORD/</append>
-            <append key="portable_audio_player.playlist_formats" type="strlist">audio/x-mpegurl</append>
+            <append key="portable_audio_player.playlist_format" type="strlist">audio/x-mpegurl</append>
             <append key="portable_audio_player.playlist_path" type="string">PLAYLISTS/%File</append>
           </match>
         </match>
@@ -290,7 +290,7 @@
            <append key="portable_audio_player.input_formats" type="strlist">audio/x-wav</append>
            <append key="portable_audio_player.audio_folders" type="strlist">MUSIC</append>
            <append key="portable_audio_player.audio_folders" type="strlist">RECORD</append>
-           <append key="portable_audio_player.playlist_formats" type="strlist">audio/x-mpegurl</append>
+           <append key="portable_audio_player.playlist_format" type="strlist">audio/x-mpegurl</append>
            <append key="portable_audio_player.playlist_path" type="string">PLAYLISTS/%File</append>
          </match>
          <!-- Samsung YP-S5 -->