Commit 6dc35196 authored by Rémi Bernon's avatar Rémi Bernon Committed by Alexandre Julliard

mf: Better implement topology loader graph resolution.

Supporting more branch node types and fixing the decoder and converter resolution.
parent e5b06613
......@@ -2139,7 +2139,6 @@ static void test_topology_loader(void)
/* PCM -> PCM, same enumerated type, no current type */
.input_type = &audio_pcm_44100, .output_type = &audio_pcm_44100, .sink_method = MF_CONNECT_DIRECT, .source_method = -1,
.expected_result = S_OK,
.flags = LOADER_TODO,
},
{
/* PCM -> PCM, same enumerated type, incomplete current type */
......@@ -2180,7 +2179,6 @@ static void test_topology_loader(void)
/* PCM -> PCM, different enumerated bps, no current type */
.input_type = &audio_pcm_44100, .output_type = &audio_pcm_48000, .sink_method = MF_CONNECT_DIRECT, .source_method = -1,
.expected_result = MF_E_INVALIDMEDIATYPE,
.flags = LOADER_TODO,
},
{
/* PCM -> PCM, different enumerated bps, same current bps */
......@@ -2217,7 +2215,6 @@ static void test_topology_loader(void)
/* PCM -> PCM, different enumerated bps, no current type, source allow converter */
.input_type = &audio_pcm_44100, .output_type = &audio_pcm_48000, .sink_method = MF_CONNECT_DIRECT, .source_method = MF_CONNECT_ALLOW_CONVERTER,
.expected_result = MF_E_INVALIDMEDIATYPE,
.flags = LOADER_TODO,
},
{
......@@ -2238,7 +2235,7 @@ static void test_topology_loader(void)
.input_type = &audio_mp3_44100, .output_type = &audio_pcm_44100, .sink_method = MF_CONNECT_ALLOW_CONVERTER, .source_method = -1,
.current_input = &audio_mp3_44100,
.expected_result = MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_MEDIATYPE_COMBINATION,
.flags = LOADER_NEEDS_VIDEO_PROCESSOR | LOADER_TODO,
.flags = LOADER_NEEDS_VIDEO_PROCESSOR,
},
{
/* MP3 -> PCM */
......@@ -2427,7 +2424,7 @@ todo_wine {
hr = IMFTopology_GetNodeCount(full_topology, &node_count);
ok(hr == S_OK, "Failed to get node count, hr %#lx.\n", hr);
todo_wine_if(test->flags & (LOADER_EXPECTED_CONVERTER | LOADER_EXPECTED_DECODER))
todo_wine_if(test->flags & LOADER_EXPECTED_DECODER)
ok(node_count == count, "Unexpected node count %u.\n", node_count);
hr = IMFTopologyNode_GetTopoNodeID(src_node, &node_id);
......@@ -2442,7 +2439,7 @@ todo_wine {
hr = IMFTopology_GetNodeByID(full_topology, node_id, &sink_node2);
ok(hr == S_OK, "Failed to get sink in resolved topology, hr %#lx.\n", hr);
if (test->flags & (LOADER_EXPECTED_DECODER | LOADER_EXPECTED_CONVERTER) && strcmp(winetest_platform, "wine"))
if (test->flags & (LOADER_EXPECTED_DECODER | LOADER_EXPECTED_CONVERTER))
{
hr = IMFTopologyNode_GetOutput(src_node2, 0, &mft_node, &index);
ok(hr == S_OK, "Failed to get transform node in resolved topology, hr %#lx.\n", hr);
......
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