mfplay: Use resolver functionality for content type resolution.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Nikolay Sivov 2022-02-10 11:21:29 +03:00 committed by Alexandre Julliard
parent 3a8bdf8bdc
commit 0a39066a85
1 changed files with 10 additions and 8 deletions

View File

@ -1047,8 +1047,8 @@ static HRESULT media_player_create_item_from_url(struct media_player *player,
{ {
*ret = NULL; *ret = NULL;
if (SUCCEEDED(hr = IMFSourceResolver_CreateObjectFromURL(player->resolver, url, MF_RESOLUTION_MEDIASOURCE, if (SUCCEEDED(hr = IMFSourceResolver_CreateObjectFromURL(player->resolver, url, MF_RESOLUTION_MEDIASOURCE
player->propstore, &obj_type, &object))) | MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE, player->propstore, &obj_type, &object)))
{ {
hr = media_item_set_source(item, object); hr = media_item_set_source(item, object);
IUnknown_Release(object); IUnknown_Release(object);
@ -1066,8 +1066,9 @@ static HRESULT media_player_create_item_from_url(struct media_player *player,
{ {
if (ret) *ret = NULL; if (ret) *ret = NULL;
hr = IMFSourceResolver_BeginCreateObjectFromURL(player->resolver, url, MF_RESOLUTION_MEDIASOURCE, hr = IMFSourceResolver_BeginCreateObjectFromURL(player->resolver, url, MF_RESOLUTION_MEDIASOURCE
player->propstore, NULL, &player->resolver_callback, (IUnknown *)&item->IMFPMediaItem_iface); | MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE, player->propstore, NULL,
&player->resolver_callback, (IUnknown *)&item->IMFPMediaItem_iface);
IMFPMediaItem_Release(&item->IMFPMediaItem_iface); IMFPMediaItem_Release(&item->IMFPMediaItem_iface);
} }
@ -1123,8 +1124,8 @@ static HRESULT media_player_create_item_from_object(struct media_player *player,
if (sync) if (sync)
{ {
if (stream) if (stream)
hr = IMFSourceResolver_CreateObjectFromByteStream(player->resolver, stream, NULL, hr = IMFSourceResolver_CreateObjectFromByteStream(player->resolver, stream, NULL, MF_RESOLUTION_MEDIASOURCE
MF_RESOLUTION_MEDIASOURCE, player->propstore, &obj_type, &object); | MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE, player->propstore, &obj_type, &object);
else else
IUnknown_AddRef(object); IUnknown_AddRef(object);
@ -1145,8 +1146,9 @@ static HRESULT media_player_create_item_from_object(struct media_player *player,
{ {
if (stream) if (stream)
{ {
hr = IMFSourceResolver_BeginCreateObjectFromByteStream(player->resolver, stream, NULL, MF_RESOLUTION_MEDIASOURCE, hr = IMFSourceResolver_BeginCreateObjectFromByteStream(player->resolver, stream, NULL, MF_RESOLUTION_MEDIASOURCE
player->propstore, NULL, &player->resolver_callback, (IUnknown *)&item->IMFPMediaItem_iface); | MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE, player->propstore, NULL,
&player->resolver_callback, (IUnknown *)&item->IMFPMediaItem_iface);
} }
else else
{ {