From c6c3d6f9635bfa1aae8934b70f3ae9c7e549fe26 Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Fri, 22 Oct 2021 08:22:58 +0300 Subject: [PATCH] mfplay: Do not clear media item when playback ends. Signed-off-by: Nikolay Sivov Signed-off-by: Alexandre Julliard --- dlls/mfplay/player.c | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/dlls/mfplay/player.c b/dlls/mfplay/player.c index f7832598ae6..42b40b99ea1 100644 --- a/dlls/mfplay/player.c +++ b/dlls/mfplay/player.c @@ -1860,21 +1860,6 @@ static void media_player_create_forward_event(struct media_player *player, HRESU LeaveCriticalSection(&player->cs); } -static void media_player_create_playback_ended_event(struct media_player *player, HRESULT event_status, - struct media_event **event) -{ - EnterCriticalSection(&player->cs); - - if (SUCCEEDED(media_event_create(player, MFP_EVENT_TYPE_PLAYBACK_ENDED, event_status, player->item, event))) - { - if (player->item) - IMFPMediaItem_Release(player->item); - player->item = NULL; - } - - LeaveCriticalSection(&player->cs); -} - static HRESULT WINAPI media_player_session_events_callback_Invoke(IMFAsyncCallback *iface, IMFAsyncResult *result) { @@ -1936,7 +1921,7 @@ static HRESULT WINAPI media_player_session_events_callback_Invoke(IMFAsyncCallba if (SUCCEEDED(IMFMediaEvent_GetUINT32(session_event, &MF_EVENT_TOPOLOGY_STATUS, &status)) && status == MF_TOPOSTATUS_ENDED) { - media_player_create_playback_ended_event(player, event_status, &event); + media_event_create(player, MFP_EVENT_TYPE_PLAYBACK_ENDED, event_status, player->item, &event); } break;