Christian Costa : amstream: Add support for AMMSF_ADDDEFAULTRENDERER for audio stream.

Alexandre Julliard julliard at winehq.org
Mon Mar 26 12:29:34 CDT 2012


Module: wine
Branch: master
Commit: 91cc9ad585534044baa9cc0400122f23c156e723
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=91cc9ad585534044baa9cc0400122f23c156e723

Author: Christian Costa <titan.costa at gmail.com>
Date:   Mon Mar 26 10:09:18 2012 +0200

amstream: Add support for AMMSF_ADDDEFAULTRENDERER for audio stream.

---

 dlls/amstream/amstream.c |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/dlls/amstream/amstream.c b/dlls/amstream/amstream.c
index afcdb59..54d57fe 100644
--- a/dlls/amstream/amstream.c
+++ b/dlls/amstream/amstream.c
@@ -339,6 +339,31 @@ static HRESULT WINAPI IAMMultiMediaStreamImpl_AddMediaStream(IAMMultiMediaStream
         This->pStreams[This->nbStreams] = pStream;
         This->nbStreams++;
 
+        if (dwFlags & AMMSF_ADDDEFAULTRENDERER)
+        {
+            if (IsEqualGUID(PurposeId, &MSPID_PrimaryAudio))
+            {
+                IBaseFilter* dsoundrender_filter;
+
+                hr = CoCreateInstance(&CLSID_DSoundRender, NULL, CLSCTX_INPROC_SERVER, &IID_IBaseFilter, (LPVOID*)&dsoundrender_filter);
+                if (SUCCEEDED(hr))
+                {
+                     hr = IGraphBuilder_AddFilter(This->pFilterGraph, dsoundrender_filter, NULL);
+                     IBaseFilter_Release(dsoundrender_filter);
+                }
+                if (FAILED(hr))
+                {
+                     IMediaStream_Release(pStream);
+                     pStream = NULL;
+                     This->nbStreams--;
+                }
+            }
+            else
+            {
+                FIXME("Default renderer only supported for audio\n");
+            }
+        }
+
         if (ppNewStream)
             *ppNewStream = pStream;
     }




More information about the wine-cvs mailing list