Merge pull request #4413 from FernetMenta/aefixes
[vuplus_xbmc] / xbmc / cores / AudioEngine / Engines / ActiveAE / ActiveAESink.cpp
index 8c8a12f..56b72d3 100644 (file)
@@ -107,7 +107,7 @@ bool CActiveAESink::HasPassthroughDevice()
   return false;
 }
 
-bool CActiveAESink::SupportsFormat(const std::string &device, AEDataFormat format)
+bool CActiveAESink::SupportsFormat(const std::string &device, AEDataFormat format, int samplerate)
 {
   std::string dev = device;
   std::string dri;
@@ -124,7 +124,14 @@ bool CActiveAESink::SupportsFormat(const std::string &device, AEDataFormat forma
           AEDataFormatList::iterator itt3;
           itt3 = find(info.m_dataFormats.begin(), info.m_dataFormats.end(), format);
           if (itt3 != info.m_dataFormats.end())
-            return true;
+          {
+            AESampleRateList::iterator itt4;
+            itt4 = find(info.m_sampleRates.begin(), info.m_sampleRates.end(), samplerate);
+            if (itt4 != info.m_sampleRates.end())
+              return true;
+            else
+              return false;
+          }
           else
             return false;
         }
@@ -223,6 +230,10 @@ void CActiveAESink::StateMachine(int signal, Protocol *port, Message *msg)
           m_extTimeout = 0;
           return;
 
+        case CSinkControlProtocol::STREAMING:
+          m_extStreaming = *(bool*)msg->data;
+          return;
+
         default:
           break;
         }