Index: mfd/plugins/audio/audio.cpp
===================================================================
--- mfd/plugins/audio/audio.cpp	(revision 6807)
+++ mfd/plugins/audio/audio.cpp	(working copy)
@@ -558,8 +558,12 @@
                 int daap_server_type = which_container->getServerType();
                 metadata_server->unlockMetadata();
 
-                if (daap_server_type == MST_daap_itunes48)
+                if (daap_server_type == MST_daap_itunes49)
                 {
+                    input = new DaapInput(this, url, DAAP_SERVER_ITUNES49);
+                }
+                else if (daap_server_type == MST_daap_itunes48)
+                {
                     input = new DaapInput(this, url, DAAP_SERVER_ITUNES48);
                 }
                 else if (daap_server_type == MST_daap_itunes47)
Index: mfd/plugins/daapclient/server_types.h
===================================================================
--- mfd/plugins/daapclient/server_types.h	(revision 6807)
+++ mfd/plugins/daapclient/server_types.h	(working copy)
@@ -20,6 +20,7 @@
     DAAP_SERVER_ITUNES46,
     DAAP_SERVER_ITUNES47,
     DAAP_SERVER_ITUNES48,
+    DAAP_SERVER_ITUNES49,
     DAAP_SERVER_MYTH
 };
     
Index: mfd/plugins/daapclient/database.cpp
===================================================================
--- mfd/plugins/daapclient/database.cpp	(revision 6807)
+++ mfd/plugins/daapclient/database.cpp	(working copy)
@@ -91,6 +91,10 @@
     {
          metadata_container = metadata_server->createContainer(name, MCCT_audio, MCLT_lan, MST_daap_itunes48);
     }
+    else if(daap_server_type == DAAP_SERVER_ITUNES49)
+    {
+         metadata_container = metadata_server->createContainer(name, MCCT_audio, MCLT_lan, MST_daap_itunes49);
+    }
     else
     {
          metadata_container = metadata_server->createContainer(name, MCCT_audio, MCLT_lan);
Index: mfd/plugins/daapclient/daapinstance.cpp
===================================================================
--- mfd/plugins/daapclient/daapinstance.cpp	(revision 6807)
+++ mfd/plugins/daapclient/daapinstance.cpp	(working copy)
@@ -575,6 +575,13 @@
                     copasetic = false;
                 }
             }
+            else if(itunes_sub_version == 9)
+            {
+                if(daap_server_type != DAAP_SERVER_ITUNES49)
+                {
+                    copasetic = false;
+                }
+            }
             else
             {
                 if(daap_server_type != DAAP_SERVER_ITUNES4X)
@@ -660,6 +667,10 @@
                 {
                     daap_server_type = DAAP_SERVER_ITUNES48;
                 }
+                else if(itunes_sub_version == 9)
+                {
+                    daap_server_type = DAAP_SERVER_ITUNES49;
+                }
                 else
                 {
                     warning(QString("seems to be a new version of "
Index: mfd/plugins/daapserver/daapserver.cpp
===================================================================
--- mfd/plugins/daapserver/daapserver.cpp	(revision 6807)
+++ mfd/plugins/daapserver/daapserver.cpp	(working copy)
@@ -387,6 +387,10 @@
             {
                 daap_request->setClientType(DAAP_CLIENT_ITUNES48);
             }
+            else if(itunes_sub_version == 9)
+            {
+                daap_request->setClientType(DAAP_CLIENT_ITUNES49);
+            }
             else
             {
                 warning(QString("daapserver does not yet have "
@@ -432,7 +436,8 @@
                 if(daap_request->getClientType() == DAAP_CLIENT_ITUNES45 ||
                    daap_request->getClientType() == DAAP_CLIENT_ITUNES46 ||
                    daap_request->getClientType() == DAAP_CLIENT_ITUNES47 ||
-                   daap_request->getClientType() == DAAP_CLIENT_ITUNES48 )
+                   daap_request->getClientType() == DAAP_CLIENT_ITUNES48 ||
+                   daap_request->getClientType() == DAAP_CLIENT_ITUNES49)
                 {
                     response << Tag('apro') << daapVersion3 << end ;
                 }
@@ -1224,7 +1229,8 @@
             if(daap_request->getClientType() == DAAP_CLIENT_ITUNES45 ||
                daap_request->getClientType() == DAAP_CLIENT_ITUNES46 ||
                daap_request->getClientType() == DAAP_CLIENT_ITUNES47 ||
-               daap_request->getClientType() == DAAP_CLIENT_ITUNES48)
+               daap_request->getClientType() == DAAP_CLIENT_ITUNES48 ||
+               daap_request->getClientType() == DAAP_CLIENT_ITUNES49)
             {
                 http_request->getResponse()->setBytesInContentRangeHeader(true);
             }
Index: mfd/plugins/daapserver/request.h
===================================================================
--- mfd/plugins/daapserver/request.h	(revision 6807)
+++ mfd/plugins/daapserver/request.h	(working copy)
@@ -28,6 +28,7 @@
     DAAP_CLIENT_ITUNES46,
     DAAP_CLIENT_ITUNES47,
     DAAP_CLIENT_ITUNES48,
+    DAAP_CLIENT_ITUNES49,
     DAAP_CLIENT_MFDDAAPCLIENT
 };
     
Index: mfdlib/mdcontainer.h
===================================================================
--- mfdlib/mdcontainer.h	(revision 6807)
+++ mfdlib/mdcontainer.h	(working copy)
@@ -48,7 +48,8 @@
     MST_daap_itunes45,
     MST_daap_itunes46,
     MST_daap_itunes47,
-    MST_daap_itunes48
+    MST_daap_itunes48,
+    MST_daap_itunes49
 };
 
 class MetadataContainer
