mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-01-28 22:04:43 -08:00
Rebase against b793799d3d5facb765d97041669da4bc159b860b.
This commit is contained in:
parent
786cac8be4
commit
4130b2a71c
@ -1,72 +0,0 @@
|
||||
From f2c8482489046a0623ef3d011ac7373209eef09a Mon Sep 17 00:00:00 2001
|
||||
From: Derek Lesho <dlesho@codeweavers.com>
|
||||
Date: Fri, 16 Oct 2020 16:59:32 -0500
|
||||
Subject: [PATCH] mfmediaengine: Implement GetNativeVideoSize.
|
||||
|
||||
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
---
|
||||
dlls/mfmediaengine/main.c | 30 ++++++++++++++++++++++++++++--
|
||||
1 file changed, 28 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/mfmediaengine/main.c b/dlls/mfmediaengine/main.c
|
||||
index e126a925b67..974e11296e9 100644
|
||||
--- a/dlls/mfmediaengine/main.c
|
||||
+++ b/dlls/mfmediaengine/main.c
|
||||
@@ -91,6 +91,7 @@ struct media_engine
|
||||
double default_playback_rate;
|
||||
double volume;
|
||||
double duration;
|
||||
+ DWORD vid_width, vid_height;
|
||||
MF_MEDIA_ENGINE_ERR error_code;
|
||||
HRESULT extended_code;
|
||||
MF_MEDIA_ENGINE_READY ready_state;
|
||||
@@ -496,9 +497,23 @@ static HRESULT media_engine_create_topology(struct media_engine *engine, IMFMedi
|
||||
}
|
||||
else if (IsEqualGUID(&major, &MFMediaType_Video) && !sd_video && !(engine->flags & MF_MEDIA_ENGINE_AUDIOONLY))
|
||||
{
|
||||
+ IMFMediaType *video_type;
|
||||
+ UINT64 frame_size;
|
||||
+
|
||||
sd_video = sd;
|
||||
IMFStreamDescriptor_AddRef(sd_video);
|
||||
IMFPresentationDescriptor_SelectStream(pd, i);
|
||||
+
|
||||
+ engine->vid_width = 0;
|
||||
+ engine->vid_height = 0;
|
||||
+ if (SUCCEEDED(IMFMediaTypeHandler_GetCurrentMediaType(type_handler, &video_type)))
|
||||
+ {
|
||||
+ if (SUCCEEDED(IMFMediaType_GetUINT64(video_type, &MF_MT_FRAME_SIZE, &frame_size)))
|
||||
+ {
|
||||
+ engine->vid_width = frame_size >> 32;
|
||||
+ engine->vid_height = frame_size;
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
|
||||
IMFMediaTypeHandler_Release(type_handler);
|
||||
@@ -1230,9 +1245,20 @@ static BOOL WINAPI media_engine_HasAudio(IMFMediaEngine *iface)
|
||||
|
||||
static HRESULT WINAPI media_engine_GetNativeVideoSize(IMFMediaEngine *iface, DWORD *cx, DWORD *cy)
|
||||
{
|
||||
- FIXME("(%p, %p, %p): stub.\n", iface, cx, cy);
|
||||
+ struct media_engine *engine = impl_from_IMFMediaEngine(iface);
|
||||
|
||||
- return E_NOTIMPL;
|
||||
+ TRACE("(%p, %p, %p)\n", iface, cx, cy);
|
||||
+
|
||||
+ if (!(engine->flags & FLAGS_ENGINE_HAS_VIDEO))
|
||||
+ return E_INVALIDARG;
|
||||
+
|
||||
+ if (!engine->vid_width || !engine->vid_height)
|
||||
+ return E_FAIL;
|
||||
+
|
||||
+ *cx = engine->vid_width;
|
||||
+ *cy = engine->vid_height;
|
||||
+
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI media_engine_GetVideoAspectRatio(IMFMediaEngine *iface, DWORD *cx, DWORD *cy)
|
||||
--
|
||||
2.28.0
|
||||
|
@ -51,7 +51,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "908c837b17ac1c285ef32e98f53df730c3770295"
|
||||
echo "b793799d3d5facb765d97041669da4bc159b860b"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@ -2820,13 +2820,12 @@ fi
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/mf/Makefile.in, dlls/mf/handler.c, dlls/mf/handler.h, dlls/mf/main.c, dlls/mf/session.c, dlls/mf/tests/mf.c,
|
||||
# | dlls/mf/topology.c, dlls/mfmediaengine/main.c, dlls/mfplat/tests/mfplat.c, dlls/mfplat/tests/test.mp4,
|
||||
# | dlls/mfreadwrite/reader.c, dlls/mfreadwrite/tests/mfplat.c, dlls/mfreadwrite/tests/resource.rc,
|
||||
# | dlls/mfreadwrite/tests/test.mp4, dlls/winegstreamer/Makefile.in, dlls/winegstreamer/audioconvert.c,
|
||||
# | dlls/winegstreamer/colorconvert.c, dlls/winegstreamer/gst_cbs.c, dlls/winegstreamer/gst_cbs.h,
|
||||
# | dlls/winegstreamer/gst_private.h, dlls/winegstreamer/main.c, dlls/winegstreamer/media_source.c,
|
||||
# | dlls/winegstreamer/mf_decode.c, dlls/winegstreamer/mfplat.c, dlls/winegstreamer/winegstreamer_classes.idl,
|
||||
# | include/mfidl.idl, tools/make_makefiles, tools/makedep.c
|
||||
# | dlls/mf/topology.c, dlls/mfplat/tests/mfplat.c, dlls/mfplat/tests/test.mp4, dlls/mfreadwrite/reader.c,
|
||||
# | dlls/mfreadwrite/tests/mfplat.c, dlls/mfreadwrite/tests/resource.rc, dlls/mfreadwrite/tests/test.mp4,
|
||||
# | dlls/winegstreamer/Makefile.in, dlls/winegstreamer/audioconvert.c, dlls/winegstreamer/colorconvert.c,
|
||||
# | dlls/winegstreamer/gst_cbs.c, dlls/winegstreamer/gst_cbs.h, dlls/winegstreamer/gst_private.h, dlls/winegstreamer/main.c,
|
||||
# | dlls/winegstreamer/media_source.c, dlls/winegstreamer/mf_decode.c, dlls/winegstreamer/mfplat.c,
|
||||
# | dlls/winegstreamer/winegstreamer_classes.idl, include/mfidl.idl, tools/make_makefiles, tools/makedep.c
|
||||
# |
|
||||
if test "$enable_mfplat_streaming_support" -eq 1; then
|
||||
patch_apply mfplat-streaming-support/0005-mf-Unconditionally-deliver-NULL-EOS-samples.patch
|
||||
@ -2873,7 +2872,6 @@ if test "$enable_mfplat_streaming_support" -eq 1; then
|
||||
patch_apply mfplat-streaming-support/0052-winegstreamer-Implement-audio-conversion-MFT.patch
|
||||
patch_apply mfplat-streaming-support/0053-HACK-Shutdown-media-sinks-on-session-shutdown.patch
|
||||
patch_apply mfplat-streaming-support/0054-HACK-Flush-decoder-when-changing-times.patch
|
||||
patch_apply mfplat-streaming-support/0055-mfmediaengine-Implement-GetNativeVideoSize.patch
|
||||
patch_apply mfplat-streaming-support/0060-winegstreamer-Support-eAVEncH264VProfile_Constrained.patch
|
||||
fi
|
||||
|
||||
|
@ -1 +1 @@
|
||||
908c837b17ac1c285ef32e98f53df730c3770295
|
||||
b793799d3d5facb765d97041669da4bc159b860b
|
||||
|
Loading…
x
Reference in New Issue
Block a user