From 4130b2a71cda50dcd1c3cbb3ce412249ece1ede7 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Thu, 5 Nov 2020 11:02:49 +1100 Subject: [PATCH] Rebase against b793799d3d5facb765d97041669da4bc159b860b. --- ...aengine-Implement-GetNativeVideoSize.patch | 72 ------------------- patches/patchinstall.sh | 16 ++--- staging/upstream-commit | 2 +- 3 files changed, 8 insertions(+), 82 deletions(-) delete mode 100644 patches/mfplat-streaming-support/0055-mfmediaengine-Implement-GetNativeVideoSize.patch diff --git a/patches/mfplat-streaming-support/0055-mfmediaengine-Implement-GetNativeVideoSize.patch b/patches/mfplat-streaming-support/0055-mfmediaengine-Implement-GetNativeVideoSize.patch deleted file mode 100644 index 569c9fec..00000000 --- a/patches/mfplat-streaming-support/0055-mfmediaengine-Implement-GetNativeVideoSize.patch +++ /dev/null @@ -1,72 +0,0 @@ -From f2c8482489046a0623ef3d011ac7373209eef09a Mon Sep 17 00:00:00 2001 -From: Derek Lesho -Date: Fri, 16 Oct 2020 16:59:32 -0500 -Subject: [PATCH] mfmediaengine: Implement GetNativeVideoSize. - -Signed-off-by: Derek Lesho ---- - 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 - diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 5bdc8729..413e61f0 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -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 diff --git a/staging/upstream-commit b/staging/upstream-commit index 75625b75..db0028f6 100644 --- a/staging/upstream-commit +++ b/staging/upstream-commit @@ -1 +1 @@ -908c837b17ac1c285ef32e98f53df730c3770295 +b793799d3d5facb765d97041669da4bc159b860b