Commit aad791e9 authored by Ziqing Hui's avatar Ziqing Hui Committed by Alexandre Julliard

winegstreamer: Implement profile_GetStreamByNumber.

parent 64debc9b
...@@ -777,8 +777,18 @@ static HRESULT WINAPI profile_GetStream(IWMProfile3 *iface, DWORD index, IWMStre ...@@ -777,8 +777,18 @@ static HRESULT WINAPI profile_GetStream(IWMProfile3 *iface, DWORD index, IWMStre
static HRESULT WINAPI profile_GetStreamByNumber(IWMProfile3 *iface, WORD stream_number, IWMStreamConfig **config) static HRESULT WINAPI profile_GetStreamByNumber(IWMProfile3 *iface, WORD stream_number, IWMStreamConfig **config)
{ {
FIXME("iface %p, stream_number %u, config %p, stub!\n", iface, stream_number, config); HRESULT hr;
return E_NOTIMPL;
TRACE("iface %p, stream_number %u, config %p.\n", iface, stream_number, config);
if (!stream_number)
return NS_E_NO_STREAM;
hr = profile_GetStream(iface, stream_number - 1, config);
if (hr == E_INVALIDARG)
hr = NS_E_NO_STREAM;
return hr;
} }
static HRESULT WINAPI profile_RemoveStream(IWMProfile3 *iface, IWMStreamConfig *config) static HRESULT WINAPI profile_RemoveStream(IWMProfile3 *iface, IWMStreamConfig *config)
......
...@@ -1205,14 +1205,10 @@ static void test_sync_reader_streaming(void) ...@@ -1205,14 +1205,10 @@ static void test_sync_reader_streaming(void)
ok(!ref, "Got outstanding refcount %ld.\n", ref); ok(!ref, "Got outstanding refcount %ld.\n", ref);
hr = IWMProfile_GetStreamByNumber(profile, i + 1, &config2); hr = IWMProfile_GetStreamByNumber(profile, i + 1, &config2);
todo_wine
ok(hr == S_OK, "Got hr %#lx.\n", hr); ok(hr == S_OK, "Got hr %#lx.\n", hr);
if (hr == S_OK)
{
ok(config2 != config, "Expected different objects.\n"); ok(config2 != config, "Expected different objects.\n");
ref = IWMStreamConfig_Release(config2); ref = IWMStreamConfig_Release(config2);
ok(!ref, "Got outstanding refcount %ld.\n", ref); ok(!ref, "Got outstanding refcount %ld.\n", ref);
}
stream_numbers[i] = 0xdead; stream_numbers[i] = 0xdead;
hr = IWMStreamConfig_GetStreamNumber(config, &stream_numbers[i]); hr = IWMStreamConfig_GetStreamNumber(config, &stream_numbers[i]);
...@@ -1226,10 +1222,8 @@ static void test_sync_reader_streaming(void) ...@@ -1226,10 +1222,8 @@ static void test_sync_reader_streaming(void)
hr = IWMProfile_GetStream(profile, 2, &config); hr = IWMProfile_GetStream(profile, 2, &config);
ok(hr == E_INVALIDARG, "Got hr %#lx.\n", hr); ok(hr == E_INVALIDARG, "Got hr %#lx.\n", hr);
hr = IWMProfile_GetStreamByNumber(profile, 0, &config); hr = IWMProfile_GetStreamByNumber(profile, 0, &config);
todo_wine
ok(hr == NS_E_NO_STREAM, "Got hr %#lx.\n", hr); ok(hr == NS_E_NO_STREAM, "Got hr %#lx.\n", hr);
hr = IWMProfile_GetStreamByNumber(profile, 3, &config); hr = IWMProfile_GetStreamByNumber(profile, 3, &config);
todo_wine
ok(hr == NS_E_NO_STREAM, "Got hr %#lx.\n", hr); ok(hr == NS_E_NO_STREAM, "Got hr %#lx.\n", hr);
while (!eos[0] || !eos[1]) while (!eos[0] || !eos[1])
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment