Christian Costa : amstream: Check purpose id in AddMediaStream.

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


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

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

amstream: Check purpose id in AddMediaStream.

---

 dlls/amstream/amstream.c       |    3 +++
 dlls/amstream/tests/amstream.c |    2 +-
 2 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/dlls/amstream/amstream.c b/dlls/amstream/amstream.c
index 54d57fe..6fdfb0d 100644
--- a/dlls/amstream/amstream.c
+++ b/dlls/amstream/amstream.c
@@ -326,6 +326,9 @@ static HRESULT WINAPI IAMMultiMediaStreamImpl_AddMediaStream(IAMMultiMediaStream
 
     FIXME("(%p/%p)->(%p,%s,%x,%p) partial stub!\n", This, iface, pStreamObject, debugstr_guid(PurposeId), dwFlags, ppNewStream);
 
+    if (!IsEqualGUID(PurposeId, &MSPID_PrimaryVideo) && !IsEqualGUID(PurposeId, &MSPID_PrimaryAudio))
+        return MS_E_PURPOSEID;
+
     hr = mediastream_create((IMultiMediaStream*)iface, PurposeId, This->StreamType, &pStream);
     if (SUCCEEDED(hr))
     {
diff --git a/dlls/amstream/tests/amstream.c b/dlls/amstream/tests/amstream.c
index 97fc7f1..69a9de8 100644
--- a/dlls/amstream/tests/amstream.c
+++ b/dlls/amstream/tests/amstream.c
@@ -224,7 +224,7 @@ static void test_media_streams(void)
     hr = IAMMultiMediaStream_GetMediaStream(pams, &IID_IUnknown, &dummy_stream);
     ok(hr == MS_E_NOSTREAM, "IAMMultiMediaStream_GetMediaStream returned: %x\n", hr);
     hr = IAMMultiMediaStream_AddMediaStream(pams, NULL, &IID_IUnknown, 0, NULL);
-    todo_wine ok(hr == MS_E_PURPOSEID, "IAMMultiMediaStream_AddMediaStream returned: %x\n", hr);
+    ok(hr == MS_E_PURPOSEID, "IAMMultiMediaStream_AddMediaStream returned: %x\n", hr);
 
     if (video_stream)
     {




More information about the wine-cvs mailing list