wmvcore/tests: Make test_profile_manager_interfaces() static.
[wine.git] / dlls / wmvcore / tests / wmvcore.c
bloba1900130b30da8fa3e67c30a827a5501ded93a34
1 /*
2 * Copyright 2017 Alistair Leslie-Hughes
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18 #define COBJMACROS
19 #define WIN32_LEAN_AND_MEAN
20 #include "initguid.h"
21 #include "wmsdkidl.h"
23 #include "wine/test.h"
25 HRESULT WINAPI WMCreateWriterPriv(IWMWriter **writer);
27 static void test_wmwriter_interfaces(void)
29 HRESULT hr;
30 IWMWriter *writer;
31 IWMHeaderInfo *header;
32 IWMHeaderInfo2 *header2;
33 IWMHeaderInfo3 *header3;
35 hr = WMCreateWriter( NULL, &writer );
36 ok(hr == S_OK, "WMCreateWriter failed 0x%08x\n", hr);
37 if(FAILED(hr))
39 win_skip("Failed to create IWMWriter\n");
40 return;
43 hr = IWMWriter_QueryInterface(writer, &IID_IWMHeaderInfo, (void **)&header);
44 todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
46 hr = IWMWriter_QueryInterface(writer, &IID_IWMHeaderInfo2, (void **)&header2);
47 todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
49 hr = IWMWriter_QueryInterface(writer, &IID_IWMHeaderInfo3, (void **)&header3);
50 todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
52 if(header)
53 IWMHeaderInfo_Release(header);
54 if(header2)
55 IWMHeaderInfo2_Release(header2);
56 if(header3)
57 IWMHeaderInfo3_Release(header3);
58 IWMWriter_Release(writer);
61 static void test_wmreader_interfaces(void)
63 HRESULT hr;
64 IWMReader *reader;
65 IWMReaderAdvanced *advanced;
66 IWMReaderAdvanced2 *advanced2;
67 IWMHeaderInfo *header;
68 IWMHeaderInfo2 *header2;
69 IWMHeaderInfo3 *header3;
70 IWMProfile *profile;
71 IWMProfile2 *profile2;
72 IWMProfile3 *profile3;
73 IWMPacketSize *packet;
74 IWMPacketSize2 *packet2;
75 IWMReaderAccelerator *accel;
76 IWMReaderTimecode *timecode;
77 IWMReaderNetworkConfig *netconfig;
78 IWMReaderNetworkConfig2 *netconfig2;
79 IWMReaderStreamClock *clock;
80 IWMReaderTypeNegotiation *negotiation;
81 IWMDRMReader *drmreader;
82 IWMDRMReader2 *drmreader2;
83 IWMDRMReader3 *drmreader3;
85 hr = WMCreateReader( NULL, 0, &reader );
86 ok(hr == S_OK, "WMCreateReader failed 0x%08x\n", hr);
87 if(FAILED(hr))
89 win_skip("Failed to create IWMReader\n");
90 return;
93 hr = IWMReader_QueryInterface(reader, &IID_IWMReaderAdvanced, (void **)&advanced);
94 ok(hr == S_OK, "Failed 0x%08x\n", hr);
96 hr = IWMReader_QueryInterface(reader, &IID_IWMReaderAdvanced2, (void **)&advanced2);
97 ok(hr == S_OK, "Failed 0x%08x\n", hr);
99 hr = IWMReader_QueryInterface(reader, &IID_IWMHeaderInfo, (void **)&header);
100 todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
102 hr = IWMReader_QueryInterface(reader, &IID_IWMHeaderInfo2, (void **)&header2);
103 todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
105 hr = IWMReader_QueryInterface(reader, &IID_IWMHeaderInfo3, (void **)&header3);
106 todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
108 hr = IWMReader_QueryInterface(reader, &IID_IWMProfile, (void **)&profile);
109 todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
111 hr = IWMReader_QueryInterface(reader, &IID_IWMProfile2, (void **)&profile2);
112 todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
114 hr = IWMReader_QueryInterface(reader, &IID_IWMProfile3, (void **)&profile3);
115 todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
117 hr = IWMReader_QueryInterface(reader, &IID_IWMPacketSize, (void **)&packet);
118 todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
120 hr = IWMReader_QueryInterface(reader, &IID_IWMPacketSize2, (void **)&packet2);
121 todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
123 hr = IWMReader_QueryInterface(reader, &IID_IWMReaderAccelerator, (void **)&accel);
124 todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
126 hr = IWMReader_QueryInterface(reader, &IID_IWMReaderTimecode, (void **)&timecode);
127 todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
129 hr = IWMReader_QueryInterface(reader, &IID_IWMReaderNetworkConfig, (void **)&netconfig);
130 todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
132 hr = IWMReader_QueryInterface(reader, &IID_IWMReaderNetworkConfig2, (void **)&netconfig2);
133 todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
135 hr = IWMReader_QueryInterface(reader, &IID_IWMReaderStreamClock, (void **)&clock);
136 todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
138 hr = IWMReader_QueryInterface(reader, &IID_IWMReaderTypeNegotiation, (void **)&negotiation);
139 todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
141 hr = IWMReader_QueryInterface(reader, &IID_IWMDRMReader, (void **)&drmreader);
142 ok(hr == E_NOINTERFACE, "Failed 0x%08x\n", hr);
144 hr = IWMReader_QueryInterface(reader, &IID_IWMDRMReader2, (void **)&drmreader2);
145 ok(hr == E_NOINTERFACE, "Failed 0x%08x\n", hr);
147 hr = IWMReader_QueryInterface(reader, &IID_IWMDRMReader3, (void **)&drmreader3);
148 ok(hr == E_NOINTERFACE, "Failed 0x%08x\n", hr);
150 if(packet)
151 IWMPacketSize_Release(packet);
152 if(packet2)
153 IWMPacketSize2_Release(packet2);
154 if(advanced)
155 IWMReaderAdvanced_Release(advanced);
156 if(advanced2)
157 IWMReaderAdvanced2_Release(advanced2);
158 if(profile)
159 IWMProfile_Release(profile);
160 if(profile2)
161 IWMProfile2_Release(profile2);
162 if(profile3)
163 IWMProfile3_Release(profile3);
164 if(header)
165 IWMHeaderInfo_Release(header);
166 if(header2)
167 IWMHeaderInfo2_Release(header2);
168 if(header3)
169 IWMHeaderInfo3_Release(header3);
170 if(accel)
171 IWMReaderAccelerator_Release(accel);
172 if(timecode)
173 IWMReaderTimecode_Release(timecode);
174 if(netconfig)
175 IWMReaderNetworkConfig_Release(netconfig);
176 if(netconfig2)
177 IWMReaderNetworkConfig2_Release(netconfig2);
178 if(clock)
179 IWMReaderStreamClock_Release(clock);
180 if(negotiation)
181 IWMReaderTypeNegotiation_Release(negotiation);
183 IWMReader_Release(reader);
186 static void test_profile_manager_interfaces(void)
188 HRESULT hr;
189 IWMProfileManager *profile;
191 hr = WMCreateProfileManager(&profile);
192 ok(hr == S_OK, "WMCreateProfileManager failed 0x%08x\n", hr);
193 if(FAILED(hr))
195 win_skip("Failed to create IWMProfileManager\n");
196 return;
199 IWMProfileManager_Release(profile);
202 static void test_WMCreateWriterPriv(void)
204 IWMWriter *writer, *writer2;
205 HRESULT hr;
207 hr = WMCreateWriterPriv(&writer);
208 ok(hr == S_OK, "got 0x%08x\n", hr);
210 hr = IWMWriter_QueryInterface(writer, &IID_IWMWriter, (void**)&writer2);
211 ok(hr == S_OK, "got 0x%08x\n", hr);
213 IWMWriter_Release(writer);
214 IWMWriter_Release(writer2);
217 START_TEST(wmvcore)
219 HRESULT hr;
221 hr = CoInitialize(0);
222 ok(hr == S_OK, "failed to init com\n");
223 if(hr != S_OK)
224 return;
226 test_wmreader_interfaces();
227 test_wmwriter_interfaces();
228 test_profile_manager_interfaces();
229 test_WMCreateWriterPriv();
231 CoUninitialize();