diff --git a/patches/mfplat-streaming-support/0004-winegstreamer-Insert-parser-into-pipeline-to-rectify.patch b/patches/mfplat-streaming-support/0001-winegstreamer-Insert-parser-into-pipeline-to-rectify.patch similarity index 92% rename from patches/mfplat-streaming-support/0004-winegstreamer-Insert-parser-into-pipeline-to-rectify.patch rename to patches/mfplat-streaming-support/0001-winegstreamer-Insert-parser-into-pipeline-to-rectify.patch index 1baf6825..da5a1253 100644 --- a/patches/mfplat-streaming-support/0004-winegstreamer-Insert-parser-into-pipeline-to-rectify.patch +++ b/patches/mfplat-streaming-support/0001-winegstreamer-Insert-parser-into-pipeline-to-rectify.patch @@ -1,4 +1,4 @@ -From 6f8f29e9f93a2a2a2393bb009e5b16063c036409 Mon Sep 17 00:00:00 2001 +From 073dde743ea2fe54e93c50ea24bb83c59adaddd1 Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Tue, 15 Sep 2020 14:25:26 -0500 Subject: [PATCH] winegstreamer: Insert parser into pipeline to rectify type @@ -24,10 +24,10 @@ index 60b38a48f5a..7ec71d40800 100644 HRESULT winegstreamer_stream_handler_create(REFIID riid, void **obj) DECLSPEC_HIDDEN; diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c -index 723f052c10d..075bba3d551 100644 +index 29947e1554f..92b4100f7bc 100644 --- a/dlls/winegstreamer/media_source.c +++ b/dlls/winegstreamer/media_source.c -@@ -405,6 +405,122 @@ static const IMFMediaStreamVtbl media_stream_vtbl = +@@ -403,6 +403,122 @@ static const IMFMediaStreamVtbl media_stream_vtbl = media_stream_RequestSample }; @@ -147,10 +147,10 @@ index 723f052c10d..075bba3d551 100644 +} + + - /* creates a stub stream */ static HRESULT new_media_stream(struct media_source *source, GstPad *pad, DWORD stream_id, struct media_stream **out_stream) { -@@ -436,8 +552,7 @@ static HRESULT new_media_stream(struct media_source *source, GstPad *pad, DWORD + struct media_stream *object = heap_alloc_zero(sizeof(*object)); +@@ -433,8 +549,7 @@ static HRESULT new_media_stream(struct media_source *source, GstPad *pad, DWORD g_object_set(object->appsink, "sync", FALSE, NULL); g_object_set(object->appsink, "max-buffers", 5, NULL); @@ -160,9 +160,9 @@ index 723f052c10d..075bba3d551 100644 gst_element_sync_state_with_parent(object->appsink); -@@ -466,7 +581,16 @@ static HRESULT media_stream_init_desc(struct media_stream *stream) - goto fail; - } +@@ -457,7 +572,16 @@ static HRESULT media_stream_init_desc(struct media_stream *stream) + IMFMediaType *stream_type = NULL; + HRESULT hr; - stream_type = mf_media_type_from_caps(current_caps); + if (strcmp(gst_structure_get_name(gst_caps_get_structure(current_caps, 0)), "video/x-raw") && @@ -177,8 +177,8 @@ index 723f052c10d..075bba3d551 100644 + gst_caps_unref(current_caps); if (!stream_type) - { -@@ -702,6 +826,23 @@ static const IMFMediaSourceVtbl IMFMediaSource_vtbl = + return E_FAIL; +@@ -687,6 +811,23 @@ static const IMFMediaSourceVtbl IMFMediaSource_vtbl = media_source_Shutdown, }; @@ -202,7 +202,7 @@ index 723f052c10d..075bba3d551 100644 static void stream_added(GstElement *element, GstPad *pad, gpointer user) { struct media_source *source = user; -@@ -799,6 +940,8 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ +@@ -787,6 +928,8 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ gst_bin_add(GST_BIN(object->container), object->decodebin); @@ -212,10 +212,10 @@ index 723f052c10d..075bba3d551 100644 g_signal_connect(object->decodebin, "pad-removed", G_CALLBACK(mf_src_stream_removed_wrapper), object); g_signal_connect(object->decodebin, "no-more-pads", G_CALLBACK(mf_src_no_more_pads_wrapper), object); diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c -index 2c2216f94b6..4d868c616f2 100644 +index 2e8b0978648..a67cdef72fe 100644 --- a/dlls/winegstreamer/mfplat.c +++ b/dlls/winegstreamer/mfplat.c -@@ -602,3 +602,25 @@ IMFMediaType *mf_media_type_from_caps(const GstCaps *caps) +@@ -601,3 +601,25 @@ IMFMediaType *mf_media_type_from_caps(const GstCaps *caps) return media_type; } diff --git a/patches/mfplat-streaming-support/0005-winegstreamer-Insert-videoconvert-into-decoded-video.patch b/patches/mfplat-streaming-support/0002-winegstreamer-Insert-videoconvert-into-decoded-video.patch similarity index 81% rename from patches/mfplat-streaming-support/0005-winegstreamer-Insert-videoconvert-into-decoded-video.patch rename to patches/mfplat-streaming-support/0002-winegstreamer-Insert-videoconvert-into-decoded-video.patch index 48d276dd..a81ef145 100644 --- a/patches/mfplat-streaming-support/0005-winegstreamer-Insert-videoconvert-into-decoded-video.patch +++ b/patches/mfplat-streaming-support/0002-winegstreamer-Insert-videoconvert-into-decoded-video.patch @@ -1,4 +1,4 @@ -From d9ecc0265c676aa3eb954d8247b64bcccd12c34b Mon Sep 17 00:00:00 2001 +From 99b43be87b11803938b12b08298406391b77d510 Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Tue, 25 Aug 2020 17:35:49 -0500 Subject: [PATCH] winegstreamer: Insert videoconvert into decoded-video @@ -6,14 +6,14 @@ Subject: [PATCH] winegstreamer: Insert videoconvert into decoded-video Signed-off-by: Derek Lesho --- - dlls/winegstreamer/media_source.c | 99 +++++++++++++++++++++++++++---- - 1 file changed, 86 insertions(+), 13 deletions(-) + dlls/winegstreamer/media_source.c | 104 ++++++++++++++++++++++++------ + 1 file changed, 85 insertions(+), 19 deletions(-) diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c -index 075bba3d551..a4ad51bb6f5 100644 +index 92b4100f7bc..a9aff0eb296 100644 --- a/dlls/winegstreamer/media_source.c +++ b/dlls/winegstreamer/media_source.c -@@ -432,8 +432,22 @@ static HRESULT media_stream_align_with_mf(struct media_stream *stream) +@@ -430,8 +430,22 @@ static HRESULT media_stream_align_with_mf(struct media_stream *stream) g_free(source_caps_str); } @@ -38,7 +38,7 @@ index 075bba3d551..a4ad51bb6f5 100644 { stream->my_sink = gst_element_get_static_pad(stream->appsink, "sink"); g_object_set(stream->appsink, "caps", source_caps, NULL); -@@ -572,7 +586,10 @@ static HRESULT media_stream_init_desc(struct media_stream *stream) +@@ -569,37 +583,89 @@ static HRESULT media_stream_init_desc(struct media_stream *stream) { GstCaps *current_caps = gst_pad_get_current_caps(stream->their_src); IMFMediaTypeHandler *type_handler; @@ -48,11 +48,6 @@ index 075bba3d551..a4ad51bb6f5 100644 + unsigned int i; HRESULT hr; - if (!current_caps) -@@ -581,40 +598,96 @@ static HRESULT media_stream_init_desc(struct media_stream *stream) - goto fail; - } - - if (strcmp(gst_structure_get_name(gst_caps_get_structure(current_caps, 0)), "video/x-raw") && - strcmp(gst_structure_get_name(gst_caps_get_structure(current_caps, 0)), "audio/x-raw")) + if (!strcmp(gst_structure_get_name(gst_caps_get_structure(current_caps, 0)), "video/x-raw")) @@ -116,44 +111,37 @@ index 075bba3d551..a4ad51bb6f5 100644 gst_caps_unref(current_caps); - if (!stream_type) + if (!type_count) - { ++ { + ERR("Failed to establish an IMFMediaType from any of the possible stream caps!\n"); - hr = E_FAIL; - goto fail; - } + return E_FAIL; ++ } -- if (FAILED(hr = MFCreateStreamDescriptor(stream->stream_id, 1, &stream_type, &stream->descriptor))) +- hr = MFCreateStreamDescriptor(stream->stream_id, 1, &stream_type, &stream->descriptor); +- +- IMFMediaType_Release(stream_type); +- +- if (FAILED(hr)) +- return hr; + if (FAILED(hr = MFCreateStreamDescriptor(stream->stream_id, type_count, stream_types, &stream->descriptor))) - goto fail; ++ goto done; if (FAILED(hr = IMFStreamDescriptor_GetMediaTypeHandler(stream->descriptor, &type_handler))) - goto fail; - -- if (FAILED(hr = IMFMediaTypeHandler_SetCurrentMediaType(type_handler, stream_type))) -+ if (FAILED(hr = IMFMediaTypeHandler_SetCurrentMediaType(type_handler, stream_types[0]))) - goto fail; +- return hr; +- +- hr = IMFMediaTypeHandler_SetCurrentMediaType(type_handler, stream_type); ++ goto done; - IMFMediaTypeHandler_Release(type_handler); -- - stream->state = STREAM_INACTIVE; ++ if (FAILED(hr = IMFMediaTypeHandler_SetCurrentMediaType(type_handler, stream_types[0]))) ++ goto done; -+ IMFMediaTypeHandler_Release(type_handler); ++done: ++ if (type_handler) ++ IMFMediaTypeHandler_Release(type_handler); + for (i = 0; i < type_count; i++) + IMFMediaType_Release(stream_types[i]); + if (stream_types != &stream_type) + heap_free(stream_types); -+ - return S_OK; - fail: - if (type_handler) - IMFMediaTypeHandler_Release(type_handler); -+ if (stream_types) -+ { -+ for (i = 0; i < type_count; i++) -+ IMFMediaType_Release(stream_types[i]); -+ if (stream_types != &stream_type) -+ heap_free(stream_types); -+ } return hr; } diff --git a/patches/mfplat-streaming-support/0006-winegstreamer-Insert-audioconvert-into-decoded-audio.patch b/patches/mfplat-streaming-support/0003-winegstreamer-Insert-audioconvert-into-decoded-audio.patch similarity index 89% rename from patches/mfplat-streaming-support/0006-winegstreamer-Insert-audioconvert-into-decoded-audio.patch rename to patches/mfplat-streaming-support/0003-winegstreamer-Insert-audioconvert-into-decoded-audio.patch index 512bf0f4..ee8196c3 100644 --- a/patches/mfplat-streaming-support/0006-winegstreamer-Insert-audioconvert-into-decoded-audio.patch +++ b/patches/mfplat-streaming-support/0003-winegstreamer-Insert-audioconvert-into-decoded-audio.patch @@ -1,4 +1,4 @@ -From d2b77ee21bad4c0b3964ae828ade406f3b4e7a7c Mon Sep 17 00:00:00 2001 +From b5f1fc2793dce6165b509cc326163d71601d963c Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Tue, 25 Aug 2020 17:37:28 -0500 Subject: [PATCH] winegstreamer: Insert audioconvert into decoded audio @@ -10,10 +10,10 @@ Signed-off-by: Derek Lesho 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c -index a4ad51bb6f5..c5d196c867c 100644 +index a9aff0eb296..6190ac57e0e 100644 --- a/dlls/winegstreamer/media_source.c +++ b/dlls/winegstreamer/media_source.c -@@ -449,9 +449,18 @@ static HRESULT media_stream_align_with_mf(struct media_stream *stream) +@@ -447,9 +447,18 @@ static HRESULT media_stream_align_with_mf(struct media_stream *stream) } else if(!strcmp(gst_structure_get_name(gst_caps_get_structure(source_caps, 0)), "audio/x-raw")) { diff --git a/patches/mfplat-streaming-support/0007-winegstreamer-Translate-H.264-caps-to-attributes.patch b/patches/mfplat-streaming-support/0004-winegstreamer-Translate-H.264-caps-to-attributes.patch similarity index 96% rename from patches/mfplat-streaming-support/0007-winegstreamer-Translate-H.264-caps-to-attributes.patch rename to patches/mfplat-streaming-support/0004-winegstreamer-Translate-H.264-caps-to-attributes.patch index d9204102..4bbb4441 100644 --- a/patches/mfplat-streaming-support/0007-winegstreamer-Translate-H.264-caps-to-attributes.patch +++ b/patches/mfplat-streaming-support/0004-winegstreamer-Translate-H.264-caps-to-attributes.patch @@ -1,4 +1,4 @@ -From d5ea67443337ece97b9bd3243224afae2ca15df0 Mon Sep 17 00:00:00 2001 +From 3a0e2a85e06e2026a430fe548374f36b9be7a53b Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Tue, 24 Mar 2020 16:00:26 -0500 Subject: [PATCH] winegstreamer: Translate H.264 caps to attributes. @@ -9,7 +9,7 @@ Signed-off-by: Derek Lesho 1 file changed, 80 insertions(+) diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c -index 4d868c616f2..d1554c86a1d 100644 +index a67cdef72fe..97b02d85a5d 100644 --- a/dlls/winegstreamer/mfplat.c +++ b/dlls/winegstreamer/mfplat.c @@ -26,6 +26,7 @@ @@ -95,7 +95,7 @@ index 4d868c616f2..d1554c86a1d 100644 else { FIXME("Unrecognized video format %s\n", mime_type); -@@ -607,11 +676,22 @@ GstCaps *make_mf_compatible_caps(GstCaps *caps) +@@ -606,11 +675,22 @@ GstCaps *make_mf_compatible_caps(GstCaps *caps) { GstCaps *ret; IMFMediaType *media_type; diff --git a/patches/mfplat-streaming-support/0008-winegstreamer-Translate-WMV-caps-to-attributes.patch b/patches/mfplat-streaming-support/0005-winegstreamer-Translate-WMV-caps-to-attributes.patch similarity index 96% rename from patches/mfplat-streaming-support/0008-winegstreamer-Translate-WMV-caps-to-attributes.patch rename to patches/mfplat-streaming-support/0005-winegstreamer-Translate-WMV-caps-to-attributes.patch index 36f022ee..2d0c0a59 100644 --- a/patches/mfplat-streaming-support/0008-winegstreamer-Translate-WMV-caps-to-attributes.patch +++ b/patches/mfplat-streaming-support/0005-winegstreamer-Translate-WMV-caps-to-attributes.patch @@ -1,4 +1,4 @@ -From 7a95da0282a805ca1faabd34698b9a8d5ce5cc5d Mon Sep 17 00:00:00 2001 +From 3abc720777969b80c82c8e19215d765e4ddca913 Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Tue, 24 Mar 2020 16:01:20 -0500 Subject: [PATCH] winegstreamer: Translate WMV caps to attributes. @@ -9,7 +9,7 @@ Signed-off-by: Derek Lesho 1 file changed, 51 insertions(+) diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c -index d1554c86a1d..7c8632a0c5d 100644 +index 97b02d85a5d..1ef86a3cff5 100644 --- a/dlls/winegstreamer/mfplat.c +++ b/dlls/winegstreamer/mfplat.c @@ -457,6 +457,24 @@ uncompressed_video_formats[] = diff --git a/patches/mfplat-streaming-support/0009-winegstreamer-Translate-AAC-caps-to-attributes.patch b/patches/mfplat-streaming-support/0006-winegstreamer-Translate-AAC-caps-to-attributes.patch similarity index 95% rename from patches/mfplat-streaming-support/0009-winegstreamer-Translate-AAC-caps-to-attributes.patch rename to patches/mfplat-streaming-support/0006-winegstreamer-Translate-AAC-caps-to-attributes.patch index d79792c3..a923810f 100644 --- a/patches/mfplat-streaming-support/0009-winegstreamer-Translate-AAC-caps-to-attributes.patch +++ b/patches/mfplat-streaming-support/0006-winegstreamer-Translate-AAC-caps-to-attributes.patch @@ -1,4 +1,4 @@ -From de8ae8395e20727d8f9a12903ab611b27f6a47cd Mon Sep 17 00:00:00 2001 +From 0a7b4fe24117d2c9e782b046819ffa7d3e646ae4 Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Tue, 24 Mar 2020 16:02:27 -0500 Subject: [PATCH] winegstreamer: Translate AAC caps to attributes. @@ -9,7 +9,7 @@ Signed-off-by: Derek Lesho 1 file changed, 108 insertions(+) diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c -index 7c8632a0c5d..9a9e306be9a 100644 +index 1ef86a3cff5..9239cf9eff9 100644 --- a/dlls/winegstreamer/mfplat.c +++ b/dlls/winegstreamer/mfplat.c @@ -457,6 +457,15 @@ uncompressed_video_formats[] = @@ -28,9 +28,9 @@ index 7c8632a0c5d..9a9e306be9a 100644 static void codec_data_to_user_data(GstStructure *structure, IMFMediaType *type) { const GValue *codec_data; -@@ -707,6 +716,105 @@ IMFMediaType *mf_media_type_from_caps(const GstCaps *caps) - return NULL; - } +@@ -706,6 +715,105 @@ IMFMediaType *mf_media_type_from_caps(const GstCaps *caps) + + IMFMediaType_SetUINT32(media_type, &MF_MT_AUDIO_BITS_PER_SAMPLE, depth); } + else if (!(strcmp(mime_type, "audio/mpeg"))) + { diff --git a/patches/mfplat-streaming-support/0010-winegstreamer-Translate-MPEG-4-Section-2-caps-to-att.patch b/patches/mfplat-streaming-support/0007-winegstreamer-Translate-MPEG-4-Section-2-caps-to-att.patch similarity index 92% rename from patches/mfplat-streaming-support/0010-winegstreamer-Translate-MPEG-4-Section-2-caps-to-att.patch rename to patches/mfplat-streaming-support/0007-winegstreamer-Translate-MPEG-4-Section-2-caps-to-att.patch index 23cb1449..fd0d4d3d 100644 --- a/patches/mfplat-streaming-support/0010-winegstreamer-Translate-MPEG-4-Section-2-caps-to-att.patch +++ b/patches/mfplat-streaming-support/0007-winegstreamer-Translate-MPEG-4-Section-2-caps-to-att.patch @@ -1,4 +1,4 @@ -From 3468a6f2e9d5c5971794af548bf05d5aa01ae589 Mon Sep 17 00:00:00 2001 +From ae279be0b4841c998dfa916f61f5bd7507190938 Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Wed, 25 Mar 2020 13:36:19 -0500 Subject: [PATCH] winegstreamer: Translate MPEG-4 Section-2 caps to attributes. @@ -9,7 +9,7 @@ Signed-off-by: Derek Lesho 1 file changed, 16 insertions(+) diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c -index 9a9e306be9a..c586e10058b 100644 +index 9239cf9eff9..4fde3a8a7fb 100644 --- a/dlls/winegstreamer/mfplat.c +++ b/dlls/winegstreamer/mfplat.c @@ -650,6 +650,22 @@ IMFMediaType *mf_media_type_from_caps(const GstCaps *caps) diff --git a/patches/mfplat-streaming-support/0011-winegstreamer-Translate-WMA-caps-to-attributes.patch b/patches/mfplat-streaming-support/0008-winegstreamer-Translate-WMA-caps-to-attributes.patch similarity index 90% rename from patches/mfplat-streaming-support/0011-winegstreamer-Translate-WMA-caps-to-attributes.patch rename to patches/mfplat-streaming-support/0008-winegstreamer-Translate-WMA-caps-to-attributes.patch index 5ece5144..fe30d5c5 100644 --- a/patches/mfplat-streaming-support/0011-winegstreamer-Translate-WMA-caps-to-attributes.patch +++ b/patches/mfplat-streaming-support/0008-winegstreamer-Translate-WMA-caps-to-attributes.patch @@ -1,4 +1,4 @@ -From e8311eb10def9d4d81db18ed8ffb220b9cbdf382 Mon Sep 17 00:00:00 2001 +From 2010fec0d85988d7a0b7aaadd6438e1d5c727e4a Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Tue, 12 May 2020 17:05:41 -0500 Subject: [PATCH] winegstreamer: Translate WMA caps to attributes. @@ -9,10 +9,10 @@ Signed-off-by: Derek Lesho 1 file changed, 24 insertions(+) diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c -index c586e10058b..8318a66753b 100644 +index 4fde3a8a7fb..4aedfea45e0 100644 --- a/dlls/winegstreamer/mfplat.c +++ b/dlls/winegstreamer/mfplat.c -@@ -831,6 +831,30 @@ IMFMediaType *mf_media_type_from_caps(const GstCaps *caps) +@@ -830,6 +830,30 @@ IMFMediaType *mf_media_type_from_caps(const GstCaps *caps) FIXME("Unhandled mpegversion %d\n", mpeg_version); } } diff --git a/patches/mfplat-streaming-support/0012-winegstreamer-Implement-IMFMediaSource-CreatePresent.patch b/patches/mfplat-streaming-support/0009-winegstreamer-Implement-IMFMediaSource-CreatePresent.patch similarity index 90% rename from patches/mfplat-streaming-support/0012-winegstreamer-Implement-IMFMediaSource-CreatePresent.patch rename to patches/mfplat-streaming-support/0009-winegstreamer-Implement-IMFMediaSource-CreatePresent.patch index c5e8ef8c..f54f20d5 100644 --- a/patches/mfplat-streaming-support/0012-winegstreamer-Implement-IMFMediaSource-CreatePresent.patch +++ b/patches/mfplat-streaming-support/0009-winegstreamer-Implement-IMFMediaSource-CreatePresent.patch @@ -1,4 +1,4 @@ -From 7eed41658ef481fce3dc463e7a863c37fa0f9e61 Mon Sep 17 00:00:00 2001 +From 2fe4bd639fe92f050ab4c0be2a5e586d4ae5852a Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Tue, 31 Mar 2020 11:21:21 -0500 Subject: [PATCH] winegstreamer: Implement @@ -50,10 +50,10 @@ index 309f7b669a4..72d06e31880 100644 ok(hr == S_OK, "Unexpected hr %#x.\n", hr); diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c -index c5d196c867c..bbf784090f1 100644 +index 6190ac57e0e..5f203a946bc 100644 --- a/dlls/winegstreamer/media_source.c +++ b/dlls/winegstreamer/media_source.c -@@ -69,6 +69,7 @@ struct media_source +@@ -67,6 +67,7 @@ struct media_source IMFByteStream *byte_stream; struct media_stream **streams; ULONG stream_count; @@ -61,7 +61,7 @@ index c5d196c867c..bbf784090f1 100644 GstBus *bus; GstElement *container; GstElement *decodebin; -@@ -803,12 +804,19 @@ static HRESULT WINAPI media_source_CreatePresentationDescriptor(IMFMediaSource * +@@ -781,12 +782,19 @@ static HRESULT WINAPI media_source_CreatePresentationDescriptor(IMFMediaSource * { struct media_source *source = impl_from_IMFMediaSource(iface); @@ -83,7 +83,7 @@ index c5d196c867c..bbf784090f1 100644 } static HRESULT WINAPI media_source_Start(IMFMediaSource *iface, IMFPresentationDescriptor *descriptor, -@@ -871,6 +879,8 @@ static HRESULT WINAPI media_source_Shutdown(IMFMediaSource *iface) +@@ -849,6 +857,8 @@ static HRESULT WINAPI media_source_Shutdown(IMFMediaSource *iface) if (source->their_sink) gst_object_unref(GST_OBJECT(source->their_sink)); @@ -92,7 +92,7 @@ index c5d196c867c..bbf784090f1 100644 if (source->event_queue) IMFMediaEventQueue_Shutdown(source->event_queue); if (source->byte_stream) -@@ -977,6 +987,7 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ +@@ -954,6 +964,7 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ GST_STATIC_PAD_TEMPLATE("mf_src", GST_PAD_SRC, GST_PAD_ALWAYS, GST_STATIC_CAPS_ANY); struct media_source *object = heap_alloc_zero(sizeof(*object)); @@ -100,7 +100,7 @@ index c5d196c867c..bbf784090f1 100644 unsigned int i; HRESULT hr; int ret; -@@ -1063,6 +1074,25 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ +@@ -1043,6 +1054,25 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ gst_sample_unref(preroll); } @@ -126,7 +126,7 @@ index c5d196c867c..bbf784090f1 100644 object->state = SOURCE_STOPPED; *out_media_source = object; -@@ -1071,6 +1101,8 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ +@@ -1051,6 +1081,8 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ fail: WARN("Failed to construct MFMediaSource, hr %#x.\n", hr); diff --git a/patches/mfplat-streaming-support/0013-winegstreamer-Introduce-IMFMediaType-GstCaps-convert.patch b/patches/mfplat-streaming-support/0010-winegstreamer-Introduce-IMFMediaType-GstCaps-convert.patch similarity index 97% rename from patches/mfplat-streaming-support/0013-winegstreamer-Introduce-IMFMediaType-GstCaps-convert.patch rename to patches/mfplat-streaming-support/0010-winegstreamer-Introduce-IMFMediaType-GstCaps-convert.patch index 25fe8e49..df366430 100644 --- a/patches/mfplat-streaming-support/0013-winegstreamer-Introduce-IMFMediaType-GstCaps-convert.patch +++ b/patches/mfplat-streaming-support/0010-winegstreamer-Introduce-IMFMediaType-GstCaps-convert.patch @@ -1,4 +1,4 @@ -From 246718182565c586c0968e0fc58aa5b16734916f Mon Sep 17 00:00:00 2001 +From 04d17547828174ec264284752eb65b1b1e1b942d Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Tue, 24 Mar 2020 16:15:35 -0500 Subject: [PATCH] winegstreamer: Introduce IMFMediaType -> GstCaps converter. @@ -22,10 +22,10 @@ index 7ec71d40800..00e28f1d092 100644 HRESULT winegstreamer_stream_handler_create(REFIID riid, void **obj) DECLSPEC_HIDDEN; diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c -index 8318a66753b..7e564b0c8f9 100644 +index 4aedfea45e0..f0b611e7ef5 100644 --- a/dlls/winegstreamer/mfplat.c +++ b/dlls/winegstreamer/mfplat.c -@@ -903,3 +903,152 @@ GstCaps *make_mf_compatible_caps(GstCaps *caps) +@@ -902,3 +902,152 @@ GstCaps *make_mf_compatible_caps(GstCaps *caps) return ret; } diff --git a/patches/mfplat-streaming-support/0014-winegstreamer-Translate-H.264-attributes-to-caps.patch b/patches/mfplat-streaming-support/0011-winegstreamer-Translate-H.264-attributes-to-caps.patch similarity index 95% rename from patches/mfplat-streaming-support/0014-winegstreamer-Translate-H.264-attributes-to-caps.patch rename to patches/mfplat-streaming-support/0011-winegstreamer-Translate-H.264-attributes-to-caps.patch index f66f4420..b4ae8071 100644 --- a/patches/mfplat-streaming-support/0014-winegstreamer-Translate-H.264-attributes-to-caps.patch +++ b/patches/mfplat-streaming-support/0011-winegstreamer-Translate-H.264-attributes-to-caps.patch @@ -1,4 +1,4 @@ -From c3939ab363461ce89398cbba13812c676d1a1352 Mon Sep 17 00:00:00 2001 +From 3e0c22f47b91d130d1e136fa3282cbed1f275f0a Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Tue, 24 Mar 2020 16:18:40 -0500 Subject: [PATCH] winegstreamer: Translate H.264 attributes to caps. @@ -9,10 +9,10 @@ Signed-off-by: Derek Lesho 1 file changed, 48 insertions(+) diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c -index 7e564b0c8f9..ebef33ed234 100644 +index f0b611e7ef5..7370ae26f4f 100644 --- a/dlls/winegstreamer/mfplat.c +++ b/dlls/winegstreamer/mfplat.c -@@ -973,6 +973,54 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type) +@@ -972,6 +972,54 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type) } } diff --git a/patches/mfplat-streaming-support/0015-winegstreamer-Translate-WMV-attributes-to-caps.patch b/patches/mfplat-streaming-support/0012-winegstreamer-Translate-WMV-attributes-to-caps.patch similarity index 92% rename from patches/mfplat-streaming-support/0015-winegstreamer-Translate-WMV-attributes-to-caps.patch rename to patches/mfplat-streaming-support/0012-winegstreamer-Translate-WMV-attributes-to-caps.patch index a7b77b04..adc6223d 100644 --- a/patches/mfplat-streaming-support/0015-winegstreamer-Translate-WMV-attributes-to-caps.patch +++ b/patches/mfplat-streaming-support/0012-winegstreamer-Translate-WMV-attributes-to-caps.patch @@ -1,4 +1,4 @@ -From 13f27bdf8e6a4b64413fb939dff9c788e9291729 Mon Sep 17 00:00:00 2001 +From dc5b390262d808615e4b49eb86286d2f6a6f41b1 Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Tue, 24 Mar 2020 16:20:17 -0500 Subject: [PATCH] winegstreamer: Translate WMV attributes to caps. @@ -9,10 +9,10 @@ Signed-off-by: Derek Lesho 1 file changed, 51 insertions(+) diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c -index ebef33ed234..0016fc4347c 100644 +index 7370ae26f4f..5779f81ce39 100644 --- a/dlls/winegstreamer/mfplat.c +++ b/dlls/winegstreamer/mfplat.c -@@ -904,6 +904,21 @@ GstCaps *make_mf_compatible_caps(GstCaps *caps) +@@ -903,6 +903,21 @@ GstCaps *make_mf_compatible_caps(GstCaps *caps) return ret; } @@ -34,7 +34,7 @@ index ebef33ed234..0016fc4347c 100644 GstCaps *caps_from_mf_media_type(IMFMediaType *type) { GUID major_type; -@@ -1021,6 +1036,42 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type) +@@ -1020,6 +1035,42 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type) gst_caps_set_simple(output, "level", G_TYPE_STRING, level, NULL); } } diff --git a/patches/mfplat-streaming-support/0016-winegstreamer-Translate-AAC-attributes-to-caps.patch b/patches/mfplat-streaming-support/0013-winegstreamer-Translate-AAC-attributes-to-caps.patch similarity index 95% rename from patches/mfplat-streaming-support/0016-winegstreamer-Translate-AAC-attributes-to-caps.patch rename to patches/mfplat-streaming-support/0013-winegstreamer-Translate-AAC-attributes-to-caps.patch index 03f54b43..32b32024 100644 --- a/patches/mfplat-streaming-support/0016-winegstreamer-Translate-AAC-attributes-to-caps.patch +++ b/patches/mfplat-streaming-support/0013-winegstreamer-Translate-AAC-attributes-to-caps.patch @@ -1,4 +1,4 @@ -From 57f0b6bf1dac9c2269d8deefa204f6dd0e074f3a Mon Sep 17 00:00:00 2001 +From f710ed4264cc6fb8c9ad1ffe15345c24e2d72aef Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Tue, 21 Apr 2020 10:31:02 -0500 Subject: [PATCH] winegstreamer: Translate AAC attributes to caps. @@ -9,10 +9,10 @@ Signed-off-by: Derek Lesho 1 file changed, 66 insertions(+) diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c -index 0016fc4347c..89eeda37994 100644 +index 5779f81ce39..58d23a9ac15 100644 --- a/dlls/winegstreamer/mfplat.c +++ b/dlls/winegstreamer/mfplat.c -@@ -1121,6 +1121,72 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type) +@@ -1120,6 +1120,72 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type) return NULL; } } diff --git a/patches/mfplat-streaming-support/0017-winegstreamer-Translate-MPEG-4-Section-2-attributes-.patch b/patches/mfplat-streaming-support/0014-winegstreamer-Translate-MPEG-4-Section-2-attributes-.patch similarity index 85% rename from patches/mfplat-streaming-support/0017-winegstreamer-Translate-MPEG-4-Section-2-attributes-.patch rename to patches/mfplat-streaming-support/0014-winegstreamer-Translate-MPEG-4-Section-2-attributes-.patch index ff1374b8..45a37a59 100644 --- a/patches/mfplat-streaming-support/0017-winegstreamer-Translate-MPEG-4-Section-2-attributes-.patch +++ b/patches/mfplat-streaming-support/0014-winegstreamer-Translate-MPEG-4-Section-2-attributes-.patch @@ -1,4 +1,4 @@ -From 7b07befce18653b72e93cecbf0bba3e41fd2bf86 Mon Sep 17 00:00:00 2001 +From 7b3b63b25476f97aa1aad6636df47d6f540a52b3 Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Mon, 11 May 2020 16:03:09 -0500 Subject: [PATCH] winegstreamer: Translate MPEG-4 Section-2 attributes to caps. @@ -9,10 +9,10 @@ Signed-off-by: Derek Lesho 1 file changed, 8 insertions(+) diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c -index 89eeda37994..144b6281720 100644 +index 58d23a9ac15..a6230121cbf 100644 --- a/dlls/winegstreamer/mfplat.c +++ b/dlls/winegstreamer/mfplat.c -@@ -1072,6 +1072,14 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type) +@@ -1071,6 +1071,14 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type) user_data_to_codec_data(type, output); } diff --git a/patches/mfplat-streaming-support/0018-winegstreamer-Translate-WMA-attributes-to-caps.patch b/patches/mfplat-streaming-support/0015-winegstreamer-Translate-WMA-attributes-to-caps.patch similarity index 88% rename from patches/mfplat-streaming-support/0018-winegstreamer-Translate-WMA-attributes-to-caps.patch rename to patches/mfplat-streaming-support/0015-winegstreamer-Translate-WMA-attributes-to-caps.patch index 36b19f79..60c8c592 100644 --- a/patches/mfplat-streaming-support/0018-winegstreamer-Translate-WMA-attributes-to-caps.patch +++ b/patches/mfplat-streaming-support/0015-winegstreamer-Translate-WMA-attributes-to-caps.patch @@ -1,4 +1,4 @@ -From 9c8ecccf7f94e897f1819076ec45b6a750785520 Mon Sep 17 00:00:00 2001 +From a8f54c1e644fcb185d3a6e3fc7b3e5e79a8b17d8 Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Tue, 12 May 2020 17:05:59 -0500 Subject: [PATCH] winegstreamer: Translate WMA attributes to caps. @@ -9,10 +9,10 @@ Signed-off-by: Derek Lesho 1 file changed, 15 insertions(+) diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c -index 144b6281720..015f23dd2dc 100644 +index a6230121cbf..4b7a9760688 100644 --- a/dlls/winegstreamer/mfplat.c +++ b/dlls/winegstreamer/mfplat.c -@@ -1195,6 +1195,21 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type) +@@ -1194,6 +1194,21 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type) CoTaskMemFree(user_data); } } diff --git a/patches/mfplat-streaming-support/0019-winegstreamer-Implement-IMFMediaSource-Start.patch b/patches/mfplat-streaming-support/0016-winegstreamer-Implement-IMFMediaSource-Start.patch similarity index 94% rename from patches/mfplat-streaming-support/0019-winegstreamer-Implement-IMFMediaSource-Start.patch rename to patches/mfplat-streaming-support/0016-winegstreamer-Implement-IMFMediaSource-Start.patch index e625eba1..47202b42 100644 --- a/patches/mfplat-streaming-support/0019-winegstreamer-Implement-IMFMediaSource-Start.patch +++ b/patches/mfplat-streaming-support/0016-winegstreamer-Implement-IMFMediaSource-Start.patch @@ -1,4 +1,4 @@ -From e6c2b857eb4715a114a1613f6b9324b68dd3ec1b Mon Sep 17 00:00:00 2001 +From 94891a5e484b97577df09a4e6ef3106c79d2391a Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Tue, 31 Mar 2020 15:10:03 -0500 Subject: [PATCH] winegstreamer: Implement IMFMediaSource::Start. @@ -52,16 +52,15 @@ index 72d06e31880..e6a1694a11f 100644 IMFPresentationDescriptor_Release(descriptor); diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c -index bbf784090f1..b35c8bf48d2 100644 +index 5f203a946bc..d6ea8b52aca 100644 --- a/dlls/winegstreamer/media_source.c +++ b/dlls/winegstreamer/media_source.c -@@ -56,15 +56,40 @@ struct media_stream - STREAM_STUB, +@@ -55,14 +55,39 @@ struct media_stream + { STREAM_INACTIVE, STREAM_SHUTDOWN, + STREAM_RUNNING, } state; - /* used when in STUB state: */ DWORD stream_id; + BOOL eos; +}; @@ -96,15 +95,15 @@ index bbf784090f1..b35c8bf48d2 100644 IMFMediaEventQueue *event_queue; IMFByteStream *byte_stream; struct media_stream **streams; -@@ -78,6 +103,7 @@ struct media_source +@@ -76,6 +101,7 @@ struct media_source { SOURCE_OPENING, SOURCE_STOPPED, + SOURCE_RUNNING, SOURCE_SHUTDOWN, } state; - HANDLE all_streams_event; -@@ -93,7 +119,265 @@ static inline struct media_source *impl_from_IMFMediaSource(IMFMediaSource *ifac + HANDLE no_more_pads_event; +@@ -91,7 +117,265 @@ static inline struct media_source *impl_from_IMFMediaSource(IMFMediaSource *ifac return CONTAINING_RECORD(iface, struct media_source, IMFMediaSource_iface); } @@ -371,7 +370,7 @@ index bbf784090f1..b35c8bf48d2 100644 GstBuffer **buf) { struct media_source *source = gst_pad_get_element_private(pad); -@@ -242,8 +526,8 @@ GstBusSyncReply bus_watch(GstBus *bus, GstMessage *message, gpointer user) +@@ -240,8 +524,8 @@ GstBusSyncReply bus_watch(GstBus *bus, GstMessage *message, gpointer user) break; } @@ -382,7 +381,7 @@ index bbf784090f1..b35c8bf48d2 100644 } static HRESULT WINAPI media_stream_QueryInterface(IMFMediaStream *iface, REFIID riid, void **out) -@@ -820,16 +1104,32 @@ static HRESULT WINAPI media_source_CreatePresentationDescriptor(IMFMediaSource * +@@ -798,16 +1082,32 @@ static HRESULT WINAPI media_source_CreatePresentationDescriptor(IMFMediaSource * } static HRESULT WINAPI media_source_Start(IMFMediaSource *iface, IMFPresentationDescriptor *descriptor, @@ -418,9 +417,9 @@ index bbf784090f1..b35c8bf48d2 100644 } static HRESULT WINAPI media_source_Stop(IMFMediaSource *iface) -@@ -898,6 +1198,9 @@ static HRESULT WINAPI media_source_Shutdown(IMFMediaSource *iface) - if (source->all_streams_event) - CloseHandle(source->all_streams_event); +@@ -876,6 +1176,9 @@ static HRESULT WINAPI media_source_Shutdown(IMFMediaSource *iface) + if (source->no_more_pads_event) + CloseHandle(source->no_more_pads_event); + if (source->async_commands_queue) + MFUnlockWorkQueue(source->async_commands_queue); @@ -428,7 +427,7 @@ index bbf784090f1..b35c8bf48d2 100644 return S_OK; } -@@ -996,6 +1299,7 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ +@@ -973,6 +1276,7 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ return E_OUTOFMEMORY; object->IMFMediaSource_iface.lpVtbl = &IMFMediaSource_vtbl; @@ -436,7 +435,7 @@ index bbf784090f1..b35c8bf48d2 100644 object->ref = 1; object->byte_stream = bytestream; IMFByteStream_AddRef(bytestream); -@@ -1004,6 +1308,9 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ +@@ -981,6 +1285,9 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ if (FAILED(hr = MFCreateEventQueue(&object->event_queue))) goto fail; diff --git a/patches/mfplat-streaming-support/0020-winegstreamer-Implement-IMFMediaStream-RequestSample.patch b/patches/mfplat-streaming-support/0017-winegstreamer-Implement-IMFMediaStream-RequestSample.patch similarity index 94% rename from patches/mfplat-streaming-support/0020-winegstreamer-Implement-IMFMediaStream-RequestSample.patch rename to patches/mfplat-streaming-support/0017-winegstreamer-Implement-IMFMediaStream-RequestSample.patch index 4ea24e31..f53a812e 100644 --- a/patches/mfplat-streaming-support/0020-winegstreamer-Implement-IMFMediaStream-RequestSample.patch +++ b/patches/mfplat-streaming-support/0017-winegstreamer-Implement-IMFMediaStream-RequestSample.patch @@ -1,4 +1,4 @@ -From b72b32c437bb27a46320d8a143b503a6cd7ee600 Mon Sep 17 00:00:00 2001 +From d6e46ad311f773daed7d065c5c46f55c430a544c Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Wed, 25 Mar 2020 10:43:03 -0500 Subject: [PATCH] winegstreamer: Implement IMFMediaStream::RequestSample. @@ -50,10 +50,10 @@ index 00e28f1d092..df1e643c3f6 100644 HRESULT winegstreamer_stream_handler_create(REFIID riid, void **obj) DECLSPEC_HIDDEN; diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c -index b35c8bf48d2..90347f365cb 100644 +index d6ea8b52aca..31f90443ee4 100644 --- a/dlls/winegstreamer/media_source.c +++ b/dlls/winegstreamer/media_source.c -@@ -66,6 +66,7 @@ struct media_stream +@@ -64,6 +64,7 @@ struct media_stream enum source_async_op { SOURCE_ASYNC_START, @@ -61,7 +61,7 @@ index b35c8bf48d2..90347f365cb 100644 }; struct source_async_command -@@ -81,6 +82,11 @@ struct source_async_command +@@ -79,6 +80,11 @@ struct source_async_command GUID format; PROPVARIANT position; } start; @@ -73,7 +73,7 @@ index b35c8bf48d2..90347f365cb 100644 } u; }; -@@ -340,6 +346,78 @@ static HRESULT start_pipeline(struct media_source *source, struct source_async_c +@@ -338,6 +344,78 @@ static HRESULT start_pipeline(struct media_source *source, struct source_async_c return S_OK; } @@ -152,7 +152,7 @@ index b35c8bf48d2..90347f365cb 100644 static HRESULT WINAPI source_async_commands_Invoke(IMFAsyncCallback *iface, IMFAsyncResult *result) { struct media_source *source = impl_from_async_commands_callback_IMFAsyncCallback(iface); -@@ -359,6 +437,9 @@ static HRESULT WINAPI source_async_commands_Invoke(IMFAsyncCallback *iface, IMFA +@@ -357,6 +435,9 @@ static HRESULT WINAPI source_async_commands_Invoke(IMFAsyncCallback *iface, IMFA case SOURCE_ASYNC_START: start_pipeline(source, command); break; @@ -162,7 +162,7 @@ index b35c8bf48d2..90347f365cb 100644 default: ; } -@@ -667,13 +748,37 @@ static HRESULT WINAPI media_stream_GetStreamDescriptor(IMFMediaStream* iface, IM +@@ -665,13 +746,37 @@ static HRESULT WINAPI media_stream_GetStreamDescriptor(IMFMediaStream* iface, IM static HRESULT WINAPI media_stream_RequestSample(IMFMediaStream *iface, IUnknown *token) { struct media_stream *stream = impl_from_IMFMediaStream(iface); @@ -201,19 +201,19 @@ index b35c8bf48d2..90347f365cb 100644 } static const IMFMediaStreamVtbl media_stream_vtbl = -@@ -846,6 +951,7 @@ static HRESULT new_media_stream(struct media_source *source, GstPad *pad, DWORD +@@ -843,6 +948,7 @@ static HRESULT new_media_stream(struct media_source *source, GstPad *pad, DWORD object->stream_id = stream_id; - object->state = STREAM_STUB; + object->state = STREAM_INACTIVE; + object->eos = FALSE; if (FAILED(hr = MFCreateEventQueue(&object->event_queue))) goto fail; diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c -index 015f23dd2dc..6f88048cece 100644 +index 4b7a9760688..ce0c951ac0d 100644 --- a/dlls/winegstreamer/mfplat.c +++ b/dlls/winegstreamer/mfplat.c -@@ -1240,3 +1240,93 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type) +@@ -1239,3 +1239,93 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type) FIXME("Unrecognized major type %s\n", debugstr_guid(&major_type)); return NULL; } diff --git a/patches/mfplat-streaming-support/0021-winegstreamer-Implement-IMFMediaSource-GetCharacteri.patch b/patches/mfplat-streaming-support/0018-winegstreamer-Implement-IMFMediaSource-GetCharacteri.patch similarity index 86% rename from patches/mfplat-streaming-support/0021-winegstreamer-Implement-IMFMediaSource-GetCharacteri.patch rename to patches/mfplat-streaming-support/0018-winegstreamer-Implement-IMFMediaSource-GetCharacteri.patch index 9efab22f..95d52927 100644 --- a/patches/mfplat-streaming-support/0021-winegstreamer-Implement-IMFMediaSource-GetCharacteri.patch +++ b/patches/mfplat-streaming-support/0018-winegstreamer-Implement-IMFMediaSource-GetCharacteri.patch @@ -1,4 +1,4 @@ -From ee4b5e9d3bef0c765aa3a3ff2523b7646b9335d5 Mon Sep 17 00:00:00 2001 +From d3687d998fc5cc3ef11d53554e42c591905ffae2 Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Tue, 31 Mar 2020 15:15:07 -0500 Subject: [PATCH] winegstreamer: Implement IMFMediaSource::GetCharacteristics. @@ -9,10 +9,10 @@ Signed-off-by: Derek Lesho 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c -index 90347f365cb..c3c4e0b2e9a 100644 +index 31f90443ee4..536f0e5e140 100644 --- a/dlls/winegstreamer/media_source.c +++ b/dlls/winegstreamer/media_source.c -@@ -1182,12 +1182,14 @@ static HRESULT WINAPI media_source_GetCharacteristics(IMFMediaSource *iface, DWO +@@ -1160,12 +1160,14 @@ static HRESULT WINAPI media_source_GetCharacteristics(IMFMediaSource *iface, DWO { struct media_source *source = impl_from_IMFMediaSource(iface); diff --git a/patches/mfplat-streaming-support/0022-winegstreamer-Calculate-the-MF_PD_DURATION-of-the-me.patch b/patches/mfplat-streaming-support/0019-winegstreamer-Calculate-the-MF_PD_DURATION-of-the-me.patch similarity index 93% rename from patches/mfplat-streaming-support/0022-winegstreamer-Calculate-the-MF_PD_DURATION-of-the-me.patch rename to patches/mfplat-streaming-support/0019-winegstreamer-Calculate-the-MF_PD_DURATION-of-the-me.patch index b177eea9..5c011a0d 100644 --- a/patches/mfplat-streaming-support/0022-winegstreamer-Calculate-the-MF_PD_DURATION-of-the-me.patch +++ b/patches/mfplat-streaming-support/0019-winegstreamer-Calculate-the-MF_PD_DURATION-of-the-me.patch @@ -1,4 +1,4 @@ -From 1ee7c9a0f127775e54956ed085b5412ffd151c1f Mon Sep 17 00:00:00 2001 +From 96232a45c5c32781ace6d14196e5c88603ad831f Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Tue, 31 Mar 2020 15:15:50 -0500 Subject: [PATCH] winegstreamer: Calculate the MF_PD_DURATION of the media @@ -10,10 +10,10 @@ Signed-off-by: Derek Lesho 1 file changed, 40 insertions(+) diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c -index c3c4e0b2e9a..86100d7ff2a 100644 +index 536f0e5e140..ff6b7c8eac9 100644 --- a/dlls/winegstreamer/media_source.c +++ b/dlls/winegstreamer/media_source.c -@@ -1508,6 +1508,46 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ +@@ -1488,6 +1488,46 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ heap_free(descriptors); descriptors = NULL; diff --git a/patches/mfplat-streaming-support/0023-tools-Add-support-for-multiple-parent-directories.patch b/patches/mfplat-streaming-support/0020-tools-Add-support-for-multiple-parent-directories.patch similarity index 99% rename from patches/mfplat-streaming-support/0023-tools-Add-support-for-multiple-parent-directories.patch rename to patches/mfplat-streaming-support/0020-tools-Add-support-for-multiple-parent-directories.patch index 3e938090..d2520686 100644 --- a/patches/mfplat-streaming-support/0023-tools-Add-support-for-multiple-parent-directories.patch +++ b/patches/mfplat-streaming-support/0020-tools-Add-support-for-multiple-parent-directories.patch @@ -1,4 +1,4 @@ -From 0093ef3bc7c0a236b3450423529ecbf66746b6bc Mon Sep 17 00:00:00 2001 +From c19ab97e7f9261b231d34a37999174d670cfafd3 Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Wed, 29 Jan 2020 15:37:39 -0600 Subject: [PATCH] tools: Add support for multiple parent directories. diff --git a/patches/mfplat-streaming-support/0024-mf-Introduce-handler-helper.patch b/patches/mfplat-streaming-support/0021-mf-Introduce-handler-helper.patch similarity index 98% rename from patches/mfplat-streaming-support/0024-mf-Introduce-handler-helper.patch rename to patches/mfplat-streaming-support/0021-mf-Introduce-handler-helper.patch index 2cb89b5a..ce13b0df 100644 --- a/patches/mfplat-streaming-support/0024-mf-Introduce-handler-helper.patch +++ b/patches/mfplat-streaming-support/0021-mf-Introduce-handler-helper.patch @@ -1,4 +1,4 @@ -From 8497d396d1fbad6bed91ff7986b7b63cabed2517 Mon Sep 17 00:00:00 2001 +From 84de00850d84c076164a50786317523507d41b4f Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Wed, 29 Jan 2020 15:30:49 -0600 Subject: [PATCH] mf: Introduce handler helper. @@ -10,8 +10,8 @@ Signed-off-by: Derek Lesho dlls/mf/handler.h | 30 +++ dlls/mf/main.c | 373 ++++-------------------------- dlls/winegstreamer/Makefile.in | 3 +- - dlls/winegstreamer/media_source.c | 331 ++------------------------ - 6 files changed, 447 insertions(+), 651 deletions(-) + dlls/winegstreamer/media_source.c | 334 ++------------------------ + 6 files changed, 447 insertions(+), 654 deletions(-) create mode 100644 dlls/mf/handler.c create mode 100644 dlls/mf/handler.h @@ -932,7 +932,7 @@ index e578d194f7f..f2e87494459 100644 media_source.c \ mediatype.c \ diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c -index 86100d7ff2a..e47c4b5a4e1 100644 +index ff6b7c8eac9..2721585e510 100644 --- a/dlls/winegstreamer/media_source.c +++ b/dlls/winegstreamer/media_source.c @@ -23,6 +23,7 @@ @@ -943,7 +943,7 @@ index 86100d7ff2a..e47c4b5a4e1 100644 #include #include -@@ -1562,21 +1563,11 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ +@@ -1542,21 +1543,11 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ return hr; } @@ -966,7 +966,7 @@ index 86100d7ff2a..e47c4b5a4e1 100644 }; static struct winegstreamer_stream_handler *impl_from_IMFByteStreamHandler(IMFByteStreamHandler *iface) -@@ -1584,11 +1575,6 @@ static struct winegstreamer_stream_handler *impl_from_IMFByteStreamHandler(IMFBy +@@ -1564,11 +1555,6 @@ static struct winegstreamer_stream_handler *impl_from_IMFByteStreamHandler(IMFBy return CONTAINING_RECORD(iface, struct winegstreamer_stream_handler, IMFByteStreamHandler_iface); } @@ -978,7 +978,7 @@ index 86100d7ff2a..e47c4b5a4e1 100644 static HRESULT WINAPI winegstreamer_stream_handler_QueryInterface(IMFByteStreamHandler *iface, REFIID riid, void **obj) { TRACE("%p, %s, %p.\n", iface, debugstr_guid(riid), obj); -@@ -1618,247 +1604,47 @@ static ULONG WINAPI winegstreamer_stream_handler_AddRef(IMFByteStreamHandler *if +@@ -1598,247 +1584,44 @@ static ULONG WINAPI winegstreamer_stream_handler_AddRef(IMFByteStreamHandler *if static ULONG WINAPI winegstreamer_stream_handler_Release(IMFByteStreamHandler *iface) { @@ -1104,7 +1104,7 @@ index 86100d7ff2a..e47c4b5a4e1 100644 - HRESULT hr; TRACE("%p, %s, %#x, %p, %p, %p, %p.\n", iface, debugstr_w(url), flags, props, cancel_cookie, callback, state); - +- - if (cancel_cookie) - *cancel_cookie = NULL; - @@ -1165,7 +1165,7 @@ index 86100d7ff2a..e47c4b5a4e1 100644 - HRESULT hr; TRACE("%p, %p, %p, %p.\n", iface, result, obj_type, object); - +- - EnterCriticalSection(&this->cs); - - LIST_FOR_EACH_ENTRY(cur, &this->results, struct winegstreamer_stream_handler_result, entry) @@ -1205,7 +1205,7 @@ index 86100d7ff2a..e47c4b5a4e1 100644 - struct winegstreamer_stream_handler_result *found = NULL, *cur; TRACE("%p, %p.\n", iface, cancel_cookie); - +- - EnterCriticalSection(&this->cs); - - LIST_FOR_EACH_ENTRY(cur, &this->results, struct winegstreamer_stream_handler_result, entry) @@ -1233,7 +1233,7 @@ index 86100d7ff2a..e47c4b5a4e1 100644 } static HRESULT WINAPI winegstreamer_stream_handler_GetMaxNumberOfBytesRequiredForResolution(IMFByteStreamHandler *iface, QWORD *bytes) -@@ -1878,47 +1664,16 @@ static const IMFByteStreamHandlerVtbl winegstreamer_stream_handler_vtbl = +@@ -1858,47 +1641,16 @@ static const IMFByteStreamHandlerVtbl winegstreamer_stream_handler_vtbl = winegstreamer_stream_handler_GetMaxNumberOfBytesRequiredForResolution, }; @@ -1284,7 +1284,7 @@ index 86100d7ff2a..e47c4b5a4e1 100644 if (FAILED(hr = media_source_constructor(stream, &new_source))) return hr; -@@ -1937,64 +1692,6 @@ static HRESULT winegstreamer_stream_handler_create_object(struct winegstreamer_s +@@ -1917,64 +1669,6 @@ static HRESULT winegstreamer_stream_handler_create_object(struct winegstreamer_s } } @@ -1349,7 +1349,7 @@ index 86100d7ff2a..e47c4b5a4e1 100644 HRESULT winegstreamer_stream_handler_create(REFIID riid, void **obj) { struct winegstreamer_stream_handler *this; -@@ -2006,11 +1703,9 @@ HRESULT winegstreamer_stream_handler_create(REFIID riid, void **obj) +@@ -1986,11 +1680,9 @@ HRESULT winegstreamer_stream_handler_create(REFIID riid, void **obj) if (!this) return E_OUTOFMEMORY; diff --git a/patches/mfplat-streaming-support/0025-Introduce-IMFSample-GstBuffer-converter.patch b/patches/mfplat-streaming-support/0022-Introduce-IMFSample-GstBuffer-converter.patch similarity index 95% rename from patches/mfplat-streaming-support/0025-Introduce-IMFSample-GstBuffer-converter.patch rename to patches/mfplat-streaming-support/0022-Introduce-IMFSample-GstBuffer-converter.patch index 5988ea1b..52c7391e 100644 --- a/patches/mfplat-streaming-support/0025-Introduce-IMFSample-GstBuffer-converter.patch +++ b/patches/mfplat-streaming-support/0022-Introduce-IMFSample-GstBuffer-converter.patch @@ -1,4 +1,4 @@ -From 3153e651f5fc3a4be0c5f8c181d41ff93f62ceef Mon Sep 17 00:00:00 2001 +From 643e1db53f311779164c7967b3b960de37388023 Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Wed, 25 Mar 2020 10:43:27 -0500 Subject: [PATCH] Introduce IMFSample -> GstBuffer converter. @@ -22,10 +22,10 @@ index df1e643c3f6..db0ea881a83 100644 HRESULT winegstreamer_stream_handler_create(REFIID riid, void **obj) DECLSPEC_HIDDEN; diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c -index 6f88048cece..805cb1d2393 100644 +index ce0c951ac0d..633087e328d 100644 --- a/dlls/winegstreamer/mfplat.c +++ b/dlls/winegstreamer/mfplat.c -@@ -1330,3 +1330,77 @@ IMFSample* mf_sample_from_gst_buffer(GstBuffer *gst_buffer) +@@ -1329,3 +1329,77 @@ IMFSample* mf_sample_from_gst_buffer(GstBuffer *gst_buffer) IMFSample_Release(out); return NULL; } diff --git a/patches/mfplat-streaming-support/0026-winegstreamer-Implement-decoder-MFT-on-gstreamer.patch b/patches/mfplat-streaming-support/0023-winegstreamer-Implement-decoder-MFT-on-gstreamer.patch similarity index 99% rename from patches/mfplat-streaming-support/0026-winegstreamer-Implement-decoder-MFT-on-gstreamer.patch rename to patches/mfplat-streaming-support/0023-winegstreamer-Implement-decoder-MFT-on-gstreamer.patch index c8e5ec41..1c615247 100644 --- a/patches/mfplat-streaming-support/0026-winegstreamer-Implement-decoder-MFT-on-gstreamer.patch +++ b/patches/mfplat-streaming-support/0023-winegstreamer-Implement-decoder-MFT-on-gstreamer.patch @@ -1,4 +1,4 @@ -From af76d7664da7eddadf0eec19c3fa6c70333f63e8 Mon Sep 17 00:00:00 2001 +From 9000ed30ea0c6e5f526fa6a243083c2bcbb2e814 Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Mon, 16 Mar 2020 12:09:39 -0500 Subject: [PATCH] winegstreamer: Implement decoder MFT on gstreamer. @@ -1529,7 +1529,7 @@ index 00000000000..025af7b91ae + } +} diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c -index 805cb1d2393..1d45ba00503 100644 +index 633087e328d..44b2a00708c 100644 --- a/dlls/winegstreamer/mfplat.c +++ b/dlls/winegstreamer/mfplat.c @@ -406,6 +406,16 @@ failed: diff --git a/patches/mfplat-streaming-support/0027-mfreadwrite-Select-all-streams-when-creating-a-sourc.patch b/patches/mfplat-streaming-support/0024-mfreadwrite-Select-all-streams-when-creating-a-sourc.patch similarity index 92% rename from patches/mfplat-streaming-support/0027-mfreadwrite-Select-all-streams-when-creating-a-sourc.patch rename to patches/mfplat-streaming-support/0024-mfreadwrite-Select-all-streams-when-creating-a-sourc.patch index 0a293ec9..b6e1c255 100644 --- a/patches/mfplat-streaming-support/0027-mfreadwrite-Select-all-streams-when-creating-a-sourc.patch +++ b/patches/mfplat-streaming-support/0024-mfreadwrite-Select-all-streams-when-creating-a-sourc.patch @@ -1,4 +1,4 @@ -From 6c482057a065ea5cf5b75ab095c86657a1c0824b Mon Sep 17 00:00:00 2001 +From 19973ad0dbb301e6e70186d784234ee182c4a8cd Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Mon, 23 Mar 2020 11:55:41 -0500 Subject: [PATCH] mfreadwrite: Select all streams when creating a source diff --git a/patches/mfplat-streaming-support/0028-Miscellaneous.patch b/patches/mfplat-streaming-support/0025-Miscellaneous.patch similarity index 93% rename from patches/mfplat-streaming-support/0028-Miscellaneous.patch rename to patches/mfplat-streaming-support/0025-Miscellaneous.patch index 44ddd81f..92e0bafc 100644 --- a/patches/mfplat-streaming-support/0028-Miscellaneous.patch +++ b/patches/mfplat-streaming-support/0025-Miscellaneous.patch @@ -1,4 +1,4 @@ -From 1dd069c4a5d6827babcc3ed3cf5f185f03f4e1ee Mon Sep 17 00:00:00 2001 +From 951be0ccdf8259319d2243656d8aba7957246834 Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Mon, 16 Mar 2020 15:27:27 -0500 Subject: [PATCH] Miscellaneous @@ -102,10 +102,10 @@ index 6659aedefa5..825b46d13bb 100644 #endif diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c -index e47c4b5a4e1..4e9a2cb22bb 100644 +index 2721585e510..3f83701ac72 100644 --- a/dlls/winegstreamer/media_source.c +++ b/dlls/winegstreamer/media_source.c -@@ -94,6 +94,8 @@ struct source_async_command +@@ -92,6 +92,8 @@ struct source_async_command struct media_source { IMFMediaSource IMFMediaSource_iface; @@ -114,7 +114,7 @@ index e47c4b5a4e1..4e9a2cb22bb 100644 IMFAsyncCallback async_commands_callback; LONG ref; DWORD async_commands_queue; -@@ -126,6 +128,16 @@ static inline struct media_source *impl_from_IMFMediaSource(IMFMediaSource *ifac +@@ -124,6 +126,16 @@ static inline struct media_source *impl_from_IMFMediaSource(IMFMediaSource *ifac return CONTAINING_RECORD(iface, struct media_source, IMFMediaSource_iface); } @@ -131,7 +131,7 @@ index e47c4b5a4e1..4e9a2cb22bb 100644 static inline struct media_source *impl_from_async_commands_callback_IMFAsyncCallback(IMFAsyncCallback *iface) { return CONTAINING_RECORD(iface, struct media_source, async_commands_callback); -@@ -542,6 +554,11 @@ static gboolean bytestream_query(GstPad *pad, GstObject *parent, GstQuery *query +@@ -540,6 +552,11 @@ static gboolean bytestream_query(GstPad *pad, GstObject *parent, GstQuery *query gst_query_add_scheduling_mode(query, GST_PAD_MODE_PULL); return TRUE; } @@ -143,7 +143,7 @@ index e47c4b5a4e1..4e9a2cb22bb 100644 default: { WARN("Unhandled query type %s\n", GST_QUERY_TYPE_NAME(query)); -@@ -604,6 +621,23 @@ GstBusSyncReply bus_watch(GstBus *bus, GstMessage *message, gpointer user) +@@ -602,6 +619,23 @@ GstBusSyncReply bus_watch(GstBus *bus, GstMessage *message, gpointer user) g_error_free(err); g_free(dbg_info); break; @@ -167,7 +167,7 @@ index e47c4b5a4e1..4e9a2cb22bb 100644 default: break; } -@@ -1104,6 +1138,10 @@ static HRESULT WINAPI media_source_QueryInterface(IMFMediaSource *iface, REFIID +@@ -1082,6 +1116,10 @@ static HRESULT WINAPI media_source_QueryInterface(IMFMediaSource *iface, REFIID { *out = &source->IMFMediaSource_iface; } @@ -178,7 +178,7 @@ index e47c4b5a4e1..4e9a2cb22bb 100644 else { FIXME("(%s, %p)\n", debugstr_guid(riid), out); -@@ -1188,7 +1226,7 @@ static HRESULT WINAPI media_source_GetCharacteristics(IMFMediaSource *iface, DWO +@@ -1166,7 +1204,7 @@ static HRESULT WINAPI media_source_GetCharacteristics(IMFMediaSource *iface, DWO if (source->state == SOURCE_SHUTDOWN) return MF_E_SHUTDOWN; @@ -187,7 +187,7 @@ index e47c4b5a4e1..4e9a2cb22bb 100644 return S_OK; } -@@ -1330,6 +1368,99 @@ static const IMFMediaSourceVtbl IMFMediaSource_vtbl = +@@ -1308,6 +1346,99 @@ static const IMFMediaSourceVtbl IMFMediaSource_vtbl = media_source_Shutdown, }; @@ -287,7 +287,7 @@ index e47c4b5a4e1..4e9a2cb22bb 100644 /* If this callback is extended to use any significant win32 APIs, a wrapper function should be added */ gboolean stream_found(GstElement *bin, GstPad *pad, GstCaps *caps, gpointer user) -@@ -1408,6 +1539,8 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ +@@ -1385,6 +1516,8 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ return E_OUTOFMEMORY; object->IMFMediaSource_iface.lpVtbl = &IMFMediaSource_vtbl; @@ -296,7 +296,7 @@ index e47c4b5a4e1..4e9a2cb22bb 100644 object->async_commands_callback.lpVtbl = &source_async_commands_callback_vtbl; object->ref = 1; object->byte_stream = bytestream; -@@ -1509,7 +1642,6 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ +@@ -1489,7 +1622,6 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ heap_free(descriptors); descriptors = NULL; @@ -304,7 +304,7 @@ index e47c4b5a4e1..4e9a2cb22bb 100644 { IMFAttributes *byte_stream_attributes; gint64 total_pres_time = 0; -@@ -1526,6 +1658,7 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ +@@ -1506,6 +1638,7 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ IMFAttributes_Release(byte_stream_attributes); } diff --git a/patches/mfplat-streaming-support/0029-WMV.patch b/patches/mfplat-streaming-support/0026-WMV.patch similarity index 98% rename from patches/mfplat-streaming-support/0029-WMV.patch rename to patches/mfplat-streaming-support/0026-WMV.patch index 321510f0..35424193 100644 --- a/patches/mfplat-streaming-support/0029-WMV.patch +++ b/patches/mfplat-streaming-support/0026-WMV.patch @@ -1,4 +1,4 @@ -From b02a8be95043ad0279f4bd8e4a96473b9e7abd16 Mon Sep 17 00:00:00 2001 +From ceb6638efaf982aa9781889217432131db53d4ad Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Wed, 25 Mar 2020 19:07:11 -0500 Subject: [PATCH] WMV @@ -52,7 +52,7 @@ index 025af7b91ae..7f2dfc8f292 100644 }; diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c -index 1d45ba00503..0d1a3527ede 100644 +index 44b2a00708c..4d08729e61b 100644 --- a/dlls/winegstreamer/mfplat.c +++ b/dlls/winegstreamer/mfplat.c @@ -416,6 +416,10 @@ static HRESULT aac_decoder_create(REFIID riid, void **ret) diff --git a/patches/mfplat-streaming-support/0030-mf-Ask-for-more-samples-from-upstream-node-when-upon.patch b/patches/mfplat-streaming-support/0027-mf-Ask-for-more-samples-from-upstream-node-when-upon.patch similarity index 96% rename from patches/mfplat-streaming-support/0030-mf-Ask-for-more-samples-from-upstream-node-when-upon.patch rename to patches/mfplat-streaming-support/0027-mf-Ask-for-more-samples-from-upstream-node-when-upon.patch index e4e5aec3..3eb981b9 100644 --- a/patches/mfplat-streaming-support/0030-mf-Ask-for-more-samples-from-upstream-node-when-upon.patch +++ b/patches/mfplat-streaming-support/0027-mf-Ask-for-more-samples-from-upstream-node-when-upon.patch @@ -1,4 +1,4 @@ -From 889c1646b8b76144c152b1a78a681526b0b39db4 Mon Sep 17 00:00:00 2001 +From f1ba645100835851a8421e33084866c3999fc894 Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Thu, 2 Apr 2020 15:42:18 -0500 Subject: [PATCH] mf: Ask for more samples from upstream node when upon diff --git a/patches/mfplat-streaming-support/0031-winegstreamer-Implement-IMFMedisStream-GetMediaSourc.patch b/patches/mfplat-streaming-support/0028-winegstreamer-Implement-IMFMedisStream-GetMediaSourc.patch similarity index 79% rename from patches/mfplat-streaming-support/0031-winegstreamer-Implement-IMFMedisStream-GetMediaSourc.patch rename to patches/mfplat-streaming-support/0028-winegstreamer-Implement-IMFMedisStream-GetMediaSourc.patch index c36ecb57..99e2b935 100644 --- a/patches/mfplat-streaming-support/0031-winegstreamer-Implement-IMFMedisStream-GetMediaSourc.patch +++ b/patches/mfplat-streaming-support/0028-winegstreamer-Implement-IMFMedisStream-GetMediaSourc.patch @@ -1,17 +1,17 @@ -From 8b2f90e43b8adb93ff96d30ed65461c166287217 Mon Sep 17 00:00:00 2001 +From 93652789576b5203a85f2876834ff2cf82a07686 Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Thu, 2 Apr 2020 15:46:25 -0500 -Subject: [PATCH] winegstreamer: Implement IMFMedisStream::GetMediaSource. +Subject: [PATCH] winegstreamer: Implement IMFMedisStream::GetMediaSource. --- dlls/winegstreamer/media_source.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c -index 4e9a2cb22bb..75f22f71af1 100644 +index 3f83701ac72..f520670fe8f 100644 --- a/dlls/winegstreamer/media_source.c +++ b/dlls/winegstreamer/media_source.c -@@ -757,12 +757,15 @@ static HRESULT WINAPI media_stream_GetMediaSource(IMFMediaStream *iface, IMFMedi +@@ -755,12 +755,15 @@ static HRESULT WINAPI media_stream_GetMediaSource(IMFMediaStream *iface, IMFMedi { struct media_stream *stream = impl_from_IMFMediaStream(iface); diff --git a/patches/mfplat-streaming-support/0032-Expose-PCM-output-type-on-AAC-decoder.patch b/patches/mfplat-streaming-support/0029-Expose-PCM-output-type-on-AAC-decoder.patch similarity index 94% rename from patches/mfplat-streaming-support/0032-Expose-PCM-output-type-on-AAC-decoder.patch rename to patches/mfplat-streaming-support/0029-Expose-PCM-output-type-on-AAC-decoder.patch index f7ff51b5..9075891f 100644 --- a/patches/mfplat-streaming-support/0032-Expose-PCM-output-type-on-AAC-decoder.patch +++ b/patches/mfplat-streaming-support/0029-Expose-PCM-output-type-on-AAC-decoder.patch @@ -1,4 +1,4 @@ -From d891b468dd3433a9963162a8a66ea353518e5dff Mon Sep 17 00:00:00 2001 +From e0c4adb4d3d4a45fc9fe42a87101e2ddd1cc32bb Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Fri, 3 Apr 2020 11:12:33 -0500 Subject: [PATCH] Expose PCM output type on AAC decoder. diff --git a/patches/mfplat-streaming-support/0033-mfplat-Add-I420-format-information.patch b/patches/mfplat-streaming-support/0030-mfplat-Add-I420-format-information.patch similarity index 93% rename from patches/mfplat-streaming-support/0033-mfplat-Add-I420-format-information.patch rename to patches/mfplat-streaming-support/0030-mfplat-Add-I420-format-information.patch index e668c96b..794c5afb 100644 --- a/patches/mfplat-streaming-support/0033-mfplat-Add-I420-format-information.patch +++ b/patches/mfplat-streaming-support/0030-mfplat-Add-I420-format-information.patch @@ -1,4 +1,4 @@ -From 68f20d94601ac677baedc192ed51d30a9338f4d1 Mon Sep 17 00:00:00 2001 +From 88fb639e27983d3b8b0fde3376855ad407f97127 Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Fri, 1 May 2020 11:46:26 -0500 Subject: [PATCH] mfplat: Add I420 format information. diff --git a/patches/mfplat-streaming-support/0034-winegstreamer-Implement-Color-Converter-MFT.patch b/patches/mfplat-streaming-support/0031-winegstreamer-Implement-Color-Converter-MFT.patch similarity index 99% rename from patches/mfplat-streaming-support/0034-winegstreamer-Implement-Color-Converter-MFT.patch rename to patches/mfplat-streaming-support/0031-winegstreamer-Implement-Color-Converter-MFT.patch index fc8f4f8b..6e783637 100644 --- a/patches/mfplat-streaming-support/0034-winegstreamer-Implement-Color-Converter-MFT.patch +++ b/patches/mfplat-streaming-support/0031-winegstreamer-Implement-Color-Converter-MFT.patch @@ -1,4 +1,4 @@ -From 4f95a25e71163488ca530edfe92d17b603e7ece0 Mon Sep 17 00:00:00 2001 +From df94896976273c69f3b1effdb0953a16370a8c44 Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Fri, 1 May 2020 13:20:49 -0500 Subject: [PATCH] winegstreamer: Implement Color Converter MFT. @@ -748,7 +748,7 @@ index 73359dd622d..870344e9273 100644 + #endif /* __GST_PRIVATE_INCLUDED__ */ diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c -index 0d1a3527ede..9bedb53a19f 100644 +index 4d08729e61b..ba261c9613e 100644 --- a/dlls/winegstreamer/mfplat.c +++ b/dlls/winegstreamer/mfplat.c @@ -420,6 +420,9 @@ static HRESULT wmv_decoder_create(REFIID riid, void **ret) diff --git a/patches/mfplat-streaming-support/0035-HACK-Set-BPS-to-16-for-output-template.patch b/patches/mfplat-streaming-support/0032-HACK-Set-BPS-to-16-for-output-template.patch similarity index 92% rename from patches/mfplat-streaming-support/0035-HACK-Set-BPS-to-16-for-output-template.patch rename to patches/mfplat-streaming-support/0032-HACK-Set-BPS-to-16-for-output-template.patch index 2fd37506..385bbb55 100644 --- a/patches/mfplat-streaming-support/0035-HACK-Set-BPS-to-16-for-output-template.patch +++ b/patches/mfplat-streaming-support/0032-HACK-Set-BPS-to-16-for-output-template.patch @@ -1,4 +1,4 @@ -From 057c5c4a76b975ce0ac9f3b97628a709fd98ab5a Mon Sep 17 00:00:00 2001 +From 6b560402d6d3d7cfa5c15e801ab6489914d893ca Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Fri, 1 May 2020 22:36:02 -0500 Subject: [PATCH] HACK: Set BPS to 16 for output template. diff --git a/patches/mfplat-streaming-support/0036-Improve-tests.patch b/patches/mfplat-streaming-support/0033-Improve-tests.patch similarity index 99% rename from patches/mfplat-streaming-support/0036-Improve-tests.patch rename to patches/mfplat-streaming-support/0033-Improve-tests.patch index c8b30bdb..e858ef78 100644 --- a/patches/mfplat-streaming-support/0036-Improve-tests.patch +++ b/patches/mfplat-streaming-support/0033-Improve-tests.patch @@ -1,4 +1,4 @@ -From 2ffac13dcd31be0dc02d3808e5560c2ef1fd53d3 Mon Sep 17 00:00:00 2001 +From eec41104d35b3045d133ec2be6935cb2cf0833d5 Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Mon, 9 Mar 2020 11:59:17 -0500 Subject: [PATCH] Improve tests diff --git a/patches/mfplat-streaming-support/0037-Revert-Improve-tests.patch b/patches/mfplat-streaming-support/0034-Revert-Improve-tests.patch similarity index 99% rename from patches/mfplat-streaming-support/0037-Revert-Improve-tests.patch rename to patches/mfplat-streaming-support/0034-Revert-Improve-tests.patch index a8be573e..fab9cd8f 100644 --- a/patches/mfplat-streaming-support/0037-Revert-Improve-tests.patch +++ b/patches/mfplat-streaming-support/0034-Revert-Improve-tests.patch @@ -1,4 +1,4 @@ -From 392a1c1f531bccb3720f1acd77b645fa91cec32b Mon Sep 17 00:00:00 2001 +From 9c8dfb75e83775e5fb3b3d5ab299ce74c327e486 Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Wed, 25 Mar 2020 13:58:36 -0500 Subject: [PATCH] Revert "Improve tests" diff --git a/patches/mfplat-streaming-support/0038-Report-streams-backwards-and-only-select-one-of-each.patch b/patches/mfplat-streaming-support/0035-Report-streams-backwards-and-only-select-one-of-each.patch similarity index 91% rename from patches/mfplat-streaming-support/0038-Report-streams-backwards-and-only-select-one-of-each.patch rename to patches/mfplat-streaming-support/0035-Report-streams-backwards-and-only-select-one-of-each.patch index 0a6186b2..f97e38ce 100644 --- a/patches/mfplat-streaming-support/0038-Report-streams-backwards-and-only-select-one-of-each.patch +++ b/patches/mfplat-streaming-support/0035-Report-streams-backwards-and-only-select-one-of-each.patch @@ -1,4 +1,4 @@ -From f22bb83e21d1cbae2e3ff351a79b3e56949e278e Mon Sep 17 00:00:00 2001 +From 804dfb705fa7df8079e1733a4eb35acb7c2d275c Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Tue, 5 May 2020 15:35:16 -0500 Subject: [PATCH] Report streams backwards and only select one of each stream @@ -9,10 +9,10 @@ Subject: [PATCH] Report streams backwards and only select one of each stream 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c -index 75f22f71af1..4b1b049645e 100644 +index f520670fe8f..1573a079a1b 100644 --- a/dlls/winegstreamer/media_source.c +++ b/dlls/winegstreamer/media_source.c -@@ -1533,6 +1533,7 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ +@@ -1510,6 +1510,7 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ GST_STATIC_PAD_TEMPLATE("mf_src", GST_PAD_SRC, GST_PAD_ALWAYS, GST_STATIC_CAPS_ANY); struct media_source *object = heap_alloc_zero(sizeof(*object)); @@ -20,7 +20,7 @@ index 75f22f71af1..4b1b049645e 100644 IMFStreamDescriptor **descriptors = NULL; unsigned int i; HRESULT hr; -@@ -1631,15 +1632,34 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ +@@ -1611,15 +1612,34 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ descriptors = heap_alloc(object->stream_count * sizeof(IMFStreamDescriptor*)); for (unsigned int i = 0; i < object->stream_count; i++) { diff --git a/patches/mfplat-streaming-support/0039-winegstreamer-Implement-IMFMediaSource-Stop.patch b/patches/mfplat-streaming-support/0036-winegstreamer-Implement-IMFMediaSource-Stop.patch similarity index 88% rename from patches/mfplat-streaming-support/0039-winegstreamer-Implement-IMFMediaSource-Stop.patch rename to patches/mfplat-streaming-support/0036-winegstreamer-Implement-IMFMediaSource-Stop.patch index a25ec56c..daf35e62 100644 --- a/patches/mfplat-streaming-support/0039-winegstreamer-Implement-IMFMediaSource-Stop.patch +++ b/patches/mfplat-streaming-support/0036-winegstreamer-Implement-IMFMediaSource-Stop.patch @@ -1,4 +1,4 @@ -From 6c0fdeea115717bbe046bc08b8b2f96e643fc06a Mon Sep 17 00:00:00 2001 +From 7d0d0e010c7ad246fc5324bae3f08315e479c3c8 Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Thu, 7 May 2020 13:09:47 -0500 Subject: [PATCH] winegstreamer: Implement IMFMediaSource::Stop. @@ -9,10 +9,10 @@ Signed-off-by: Derek Lesho 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c -index 4b1b049645e..e3b9c9e93d9 100644 +index 1573a079a1b..e5bdfefc9d5 100644 --- a/dlls/winegstreamer/media_source.c +++ b/dlls/winegstreamer/media_source.c -@@ -67,6 +67,7 @@ struct media_stream +@@ -65,6 +65,7 @@ struct media_stream enum source_async_op { SOURCE_ASYNC_START, @@ -20,7 +20,7 @@ index 4b1b049645e..e3b9c9e93d9 100644 SOURCE_ASYNC_REQUEST_SAMPLE, }; -@@ -359,6 +360,23 @@ static HRESULT start_pipeline(struct media_source *source, struct source_async_c +@@ -357,6 +358,23 @@ static HRESULT start_pipeline(struct media_source *source, struct source_async_c return S_OK; } @@ -44,7 +44,7 @@ index 4b1b049645e..e3b9c9e93d9 100644 static void dispatch_end_of_presentation(struct media_source *source) { PROPVARIANT empty = {.vt = VT_EMPTY}; -@@ -450,6 +468,9 @@ static HRESULT WINAPI source_async_commands_Invoke(IMFAsyncCallback *iface, IMFA +@@ -448,6 +466,9 @@ static HRESULT WINAPI source_async_commands_Invoke(IMFAsyncCallback *iface, IMFA case SOURCE_ASYNC_START: start_pipeline(source, command); break; @@ -54,7 +54,7 @@ index 4b1b049645e..e3b9c9e93d9 100644 case SOURCE_ASYNC_REQUEST_SAMPLE: wait_on_sample(command->u.request_sample.stream, command->u.request_sample.token); break; -@@ -1285,13 +1306,18 @@ static HRESULT WINAPI media_source_Start(IMFMediaSource *iface, IMFPresentationD +@@ -1263,13 +1284,18 @@ static HRESULT WINAPI media_source_Start(IMFMediaSource *iface, IMFPresentationD static HRESULT WINAPI media_source_Stop(IMFMediaSource *iface) { struct media_source *source = impl_from_IMFMediaSource(iface); diff --git a/patches/mfplat-streaming-support/0040-winegstreamer-Introduce-MPEG-4-Section-2-video-decod.patch b/patches/mfplat-streaming-support/0037-winegstreamer-Introduce-MPEG-4-Section-2-video-decod.patch similarity index 98% rename from patches/mfplat-streaming-support/0040-winegstreamer-Introduce-MPEG-4-Section-2-video-decod.patch rename to patches/mfplat-streaming-support/0037-winegstreamer-Introduce-MPEG-4-Section-2-video-decod.patch index 84a3d443..f2c2eb41 100644 --- a/patches/mfplat-streaming-support/0040-winegstreamer-Introduce-MPEG-4-Section-2-video-decod.patch +++ b/patches/mfplat-streaming-support/0037-winegstreamer-Introduce-MPEG-4-Section-2-video-decod.patch @@ -1,4 +1,4 @@ -From 1c815b5fb8de7467ba74d7997889e67b61f8cbed Mon Sep 17 00:00:00 2001 +From 6aaaa5a3bd7d83ff19bb0ad89fdde795bee2cd79 Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Mon, 11 May 2020 16:05:50 -0500 Subject: [PATCH] winegstreamer: Introduce MPEG-4 Section-2 video decoder. @@ -53,7 +53,7 @@ index a86e9db410e..c5d9cbad392 100644 }; diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c -index 9bedb53a19f..ced442e457b 100644 +index ba261c9613e..59b6e2321a6 100644 --- a/dlls/winegstreamer/mfplat.c +++ b/dlls/winegstreamer/mfplat.c @@ -421,6 +421,11 @@ static HRESULT wmv_decoder_create(REFIID riid, void **ret) diff --git a/patches/mfplat-streaming-support/0041-HACK-Switch-between-all-selection-streams-on-MF_SOUR.patch b/patches/mfplat-streaming-support/0038-HACK-Switch-between-all-selection-streams-on-MF_SOUR.patch similarity index 96% rename from patches/mfplat-streaming-support/0041-HACK-Switch-between-all-selection-streams-on-MF_SOUR.patch rename to patches/mfplat-streaming-support/0038-HACK-Switch-between-all-selection-streams-on-MF_SOUR.patch index f3f78348..89bc1e28 100644 --- a/patches/mfplat-streaming-support/0041-HACK-Switch-between-all-selection-streams-on-MF_SOUR.patch +++ b/patches/mfplat-streaming-support/0038-HACK-Switch-between-all-selection-streams-on-MF_SOUR.patch @@ -1,4 +1,4 @@ -From cf61e79e02c3be82546af3f8d4bbfc3c8450417e Mon Sep 17 00:00:00 2001 +From 21f46bf4ce4d91dc99c5f8aa79f789c1c081b582 Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Tue, 12 May 2020 16:48:52 -0500 Subject: [PATCH] HACK: Switch between all selection streams on diff --git a/patches/mfplat-streaming-support/0042-winegstreamer-Introduce-WMA-audio-decoder.patch b/patches/mfplat-streaming-support/0039-winegstreamer-Introduce-WMA-audio-decoder.patch similarity index 98% rename from patches/mfplat-streaming-support/0042-winegstreamer-Introduce-WMA-audio-decoder.patch rename to patches/mfplat-streaming-support/0039-winegstreamer-Introduce-WMA-audio-decoder.patch index f96b65b0..711d0a8c 100644 --- a/patches/mfplat-streaming-support/0042-winegstreamer-Introduce-WMA-audio-decoder.patch +++ b/patches/mfplat-streaming-support/0039-winegstreamer-Introduce-WMA-audio-decoder.patch @@ -1,4 +1,4 @@ -From 084afb7a76a82b32b9f8e54113086b34d89b78fa Mon Sep 17 00:00:00 2001 +From 3830be6070987cbca119fd705e32c6a18e29d10d Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Tue, 12 May 2020 16:50:41 -0500 Subject: [PATCH] winegstreamer: Introduce WMA audio decoder. @@ -53,7 +53,7 @@ index c5d9cbad392..7ce72a9a6a3 100644 &MFMediaType_Video, m4s2_input_types, diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c -index ced442e457b..2544a88a1e0 100644 +index 59b6e2321a6..752682da6e3 100644 --- a/dlls/winegstreamer/mfplat.c +++ b/dlls/winegstreamer/mfplat.c @@ -421,6 +421,11 @@ static HRESULT wmv_decoder_create(REFIID riid, void **ret) diff --git a/patches/mfplat-streaming-support/0043-Support-stereo-down-folding.patch b/patches/mfplat-streaming-support/0040-Support-stereo-down-folding.patch similarity index 94% rename from patches/mfplat-streaming-support/0043-Support-stereo-down-folding.patch rename to patches/mfplat-streaming-support/0040-Support-stereo-down-folding.patch index 618cdfd7..2f9d83aa 100644 --- a/patches/mfplat-streaming-support/0043-Support-stereo-down-folding.patch +++ b/patches/mfplat-streaming-support/0040-Support-stereo-down-folding.patch @@ -1,4 +1,4 @@ -From 06dd39d547650357e6454df6ec91a03718a97ad1 Mon Sep 17 00:00:00 2001 +From b84fcf190ec57862d3bcd6e2da85187db36bcf2c Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Wed, 13 May 2020 12:32:42 -0500 Subject: [PATCH] Support stereo down folding. diff --git a/patches/mfplat-streaming-support/0044-winegstreamer-Implement-MF_SD_LANGUAGE.patch b/patches/mfplat-streaming-support/0041-winegstreamer-Implement-MF_SD_LANGUAGE.patch similarity index 91% rename from patches/mfplat-streaming-support/0044-winegstreamer-Implement-MF_SD_LANGUAGE.patch rename to patches/mfplat-streaming-support/0041-winegstreamer-Implement-MF_SD_LANGUAGE.patch index 5f7a8d5f..27963ac9 100644 --- a/patches/mfplat-streaming-support/0044-winegstreamer-Implement-MF_SD_LANGUAGE.patch +++ b/patches/mfplat-streaming-support/0041-winegstreamer-Implement-MF_SD_LANGUAGE.patch @@ -1,4 +1,4 @@ -From 481ff66f3eee6690282b3bf22aa10e52d651fe0f Mon Sep 17 00:00:00 2001 +From ba73171269de7991a8b113119889239864138b58 Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Tue, 11 Aug 2020 13:41:15 -0500 Subject: [PATCH] winegstreamer: Implement MF_SD_LANGUAGE. @@ -9,10 +9,10 @@ Signed-off-by: Derek Lesho 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c -index e3b9c9e93d9..39cdce5cd6b 100644 +index e5bdfefc9d5..2beb48ace6f 100644 --- a/dlls/winegstreamer/media_source.c +++ b/dlls/winegstreamer/media_source.c -@@ -1710,8 +1710,12 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ +@@ -1690,8 +1690,12 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ /* TODO: consider streams which don't start at T=0 */ for (unsigned int i = 0; i < object->stream_count; i++) { @@ -27,7 +27,7 @@ index e3b9c9e93d9..39cdce5cd6b 100644 { gint64 stream_pres_time; gst_query_parse_duration(query, NULL, &stream_pres_time); -@@ -1725,6 +1729,31 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ +@@ -1705,6 +1709,31 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ { WARN("Unable to get presentation time of stream %u\n", i); } diff --git a/patches/mfplat-streaming-support/0045-Revert-mf-topoloader-Add-a-structure-for-iterative-b.patch b/patches/mfplat-streaming-support/0042-Revert-mf-topoloader-Add-a-structure-for-iterative-b.patch similarity index 99% rename from patches/mfplat-streaming-support/0045-Revert-mf-topoloader-Add-a-structure-for-iterative-b.patch rename to patches/mfplat-streaming-support/0042-Revert-mf-topoloader-Add-a-structure-for-iterative-b.patch index 701d91f6..83fe236a 100644 --- a/patches/mfplat-streaming-support/0045-Revert-mf-topoloader-Add-a-structure-for-iterative-b.patch +++ b/patches/mfplat-streaming-support/0042-Revert-mf-topoloader-Add-a-structure-for-iterative-b.patch @@ -1,4 +1,4 @@ -From 7efb657adae71794dfb6a35824ad29310f8e7e60 Mon Sep 17 00:00:00 2001 +From 9ef1327b688592e870d35545f2960794a9f257f7 Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Tue, 11 Aug 2020 15:58:42 -0500 Subject: [PATCH] Revert "mf/topoloader: Add a structure for iterative branch diff --git a/patches/mfplat-streaming-support/0046-Revert-mf-topoloader-Clone-source-nodes-as-a-first-l.patch b/patches/mfplat-streaming-support/0043-Revert-mf-topoloader-Clone-source-nodes-as-a-first-l.patch similarity index 98% rename from patches/mfplat-streaming-support/0046-Revert-mf-topoloader-Clone-source-nodes-as-a-first-l.patch rename to patches/mfplat-streaming-support/0043-Revert-mf-topoloader-Clone-source-nodes-as-a-first-l.patch index cedc1454..cd68d907 100644 --- a/patches/mfplat-streaming-support/0046-Revert-mf-topoloader-Clone-source-nodes-as-a-first-l.patch +++ b/patches/mfplat-streaming-support/0043-Revert-mf-topoloader-Clone-source-nodes-as-a-first-l.patch @@ -1,4 +1,4 @@ -From bf023620247ce2c16e15779979d09bb79c883a7e Mon Sep 17 00:00:00 2001 +From 308e012c128d4e90e9a69bd524eaf6ce3bf7b075 Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Tue, 11 Aug 2020 15:59:04 -0500 Subject: [PATCH] Revert "mf/topoloader: Clone source nodes as a first layer of diff --git a/patches/mfplat-streaming-support/0047-Revert-mf-topoloader-Switch-to-public-interface-for-.patch b/patches/mfplat-streaming-support/0044-Revert-mf-topoloader-Switch-to-public-interface-for-.patch similarity index 97% rename from patches/mfplat-streaming-support/0047-Revert-mf-topoloader-Switch-to-public-interface-for-.patch rename to patches/mfplat-streaming-support/0044-Revert-mf-topoloader-Switch-to-public-interface-for-.patch index c503769e..4f23e229 100644 --- a/patches/mfplat-streaming-support/0047-Revert-mf-topoloader-Switch-to-public-interface-for-.patch +++ b/patches/mfplat-streaming-support/0044-Revert-mf-topoloader-Switch-to-public-interface-for-.patch @@ -1,4 +1,4 @@ -From fabb11d6944d5818f16d8dda1271017708e2c072 Mon Sep 17 00:00:00 2001 +From 823f96ad1f877d692f7ac9d325d512a4397717ca Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Tue, 11 Aug 2020 15:59:13 -0500 Subject: [PATCH] Revert "mf/topoloader: Switch to public interface for initial diff --git a/patches/mfplat-streaming-support/0048-mf-Partially-implement-the-topology-loader.patch b/patches/mfplat-streaming-support/0045-mf-Partially-implement-the-topology-loader.patch similarity index 99% rename from patches/mfplat-streaming-support/0048-mf-Partially-implement-the-topology-loader.patch rename to patches/mfplat-streaming-support/0045-mf-Partially-implement-the-topology-loader.patch index 77e62f4d..1193bfcd 100644 --- a/patches/mfplat-streaming-support/0048-mf-Partially-implement-the-topology-loader.patch +++ b/patches/mfplat-streaming-support/0045-mf-Partially-implement-the-topology-loader.patch @@ -1,4 +1,4 @@ -From cfa419226cb036eb250b5d291dacefd18087e48c Mon Sep 17 00:00:00 2001 +From 6de8d406ea96655a3fe5ac72651029396657e906 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20G=C3=B3mez=20Del=20Real?= Date: Wed, 1 Apr 2020 16:11:07 -0500 diff --git a/patches/mfplat-streaming-support/0049-mf-Miscelaneous-fixes-to-topology-resolution.patch b/patches/mfplat-streaming-support/0046-mf-Miscelaneous-fixes-to-topology-resolution.patch similarity index 96% rename from patches/mfplat-streaming-support/0049-mf-Miscelaneous-fixes-to-topology-resolution.patch rename to patches/mfplat-streaming-support/0046-mf-Miscelaneous-fixes-to-topology-resolution.patch index 642e7031..a7071024 100644 --- a/patches/mfplat-streaming-support/0049-mf-Miscelaneous-fixes-to-topology-resolution.patch +++ b/patches/mfplat-streaming-support/0046-mf-Miscelaneous-fixes-to-topology-resolution.patch @@ -1,4 +1,4 @@ -From 1a46eadae66115d4673309e9322c5857c9166ac7 Mon Sep 17 00:00:00 2001 +From 4044dfd59ca367fb91ae4b32c87c9ea0fcabd512 Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Thu, 2 Apr 2020 15:43:52 -0500 Subject: [PATCH] mf: Miscelaneous fixes to topology resolution. diff --git a/patches/mfplat-streaming-support/0050-Rewrite-branch-resolver.patch b/patches/mfplat-streaming-support/0047-Rewrite-branch-resolver.patch similarity index 99% rename from patches/mfplat-streaming-support/0050-Rewrite-branch-resolver.patch rename to patches/mfplat-streaming-support/0047-Rewrite-branch-resolver.patch index 2a108a57..1cec83ef 100644 --- a/patches/mfplat-streaming-support/0050-Rewrite-branch-resolver.patch +++ b/patches/mfplat-streaming-support/0047-Rewrite-branch-resolver.patch @@ -1,4 +1,4 @@ -From ee2c2f5b6c805887d72467f8ad9ff4749679f1d9 Mon Sep 17 00:00:00 2001 +From 535dff3cfe4ad942848d7639cb7ce27cc4062f65 Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Thu, 2 Apr 2020 15:45:52 -0500 Subject: [PATCH] Rewrite branch resolver. diff --git a/patches/mfplat-streaming-support/0051-mf-sar-Compare-against-native-media-type-in-IsMediaT.patch b/patches/mfplat-streaming-support/0048-mf-sar-Compare-against-native-media-type-in-IsMediaT.patch similarity index 94% rename from patches/mfplat-streaming-support/0051-mf-sar-Compare-against-native-media-type-in-IsMediaT.patch rename to patches/mfplat-streaming-support/0048-mf-sar-Compare-against-native-media-type-in-IsMediaT.patch index b8a8d321..dc348fc8 100644 --- a/patches/mfplat-streaming-support/0051-mf-sar-Compare-against-native-media-type-in-IsMediaT.patch +++ b/patches/mfplat-streaming-support/0048-mf-sar-Compare-against-native-media-type-in-IsMediaT.patch @@ -1,4 +1,4 @@ -From b7de843b1b7d44a731f712793583c537b67afe86 Mon Sep 17 00:00:00 2001 +From 82bb9db7e107e615b1f505b19697f8ae9f451c9d Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Wed, 26 Aug 2020 10:23:58 -0500 Subject: [PATCH] mf/sar: Compare against native media type in diff --git a/patches/mfplat-streaming-support/0052-winegstreamer-Implement-audio-conversion-MFT.patch b/patches/mfplat-streaming-support/0049-winegstreamer-Implement-audio-conversion-MFT.patch similarity index 99% rename from patches/mfplat-streaming-support/0052-winegstreamer-Implement-audio-conversion-MFT.patch rename to patches/mfplat-streaming-support/0049-winegstreamer-Implement-audio-conversion-MFT.patch index 3c6399c6..3f011429 100644 --- a/patches/mfplat-streaming-support/0052-winegstreamer-Implement-audio-conversion-MFT.patch +++ b/patches/mfplat-streaming-support/0049-winegstreamer-Implement-audio-conversion-MFT.patch @@ -1,4 +1,4 @@ -From 6652b5921344eabb5025ea33e329a759a0ff8070 Mon Sep 17 00:00:00 2001 +From 4250c79abdedb230e0f89afa8a884c2e42743c89 Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Wed, 26 Aug 2020 10:28:37 -0500 Subject: [PATCH] winegstreamer: Implement audio conversion MFT. @@ -806,7 +806,7 @@ index dc23d5201b1..6e718aa6ebe 100644 #endif /* __GST_PRIVATE_INCLUDED__ */ diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c -index 2544a88a1e0..ee2778bfae4 100644 +index 752682da6e3..9f469a45688 100644 --- a/dlls/winegstreamer/mfplat.c +++ b/dlls/winegstreamer/mfplat.c @@ -433,6 +433,8 @@ static HRESULT m4s2_decoder_create(REFIID riid, void **ret) diff --git a/patches/mfplat-streaming-support/definition b/patches/mfplat-streaming-support/definition index 6fde82d1..46a40d0b 100644 --- a/patches/mfplat-streaming-support/definition +++ b/patches/mfplat-streaming-support/definition @@ -1,2 +1 @@ Fixes: [49692] mfplat: Improved support for multiple video formats. -Disabled: true diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 302a7ce1..6f27c55c 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -143,6 +143,7 @@ patch_enable_all () enable_krnl386_exe16_GDT_LDT_Emulation="$1" enable_krnl386_exe16_Invalid_Console_Handles="$1" enable_loader_KeyboardLayouts="$1" + enable_mfplat_streaming_support="$1" enable_mmsystem_dll16_MIDIHDR_Refcount="$1" enable_mountmgr_DosDevices="$1" enable_mscoree_CorValidateImage="$1" @@ -517,6 +518,9 @@ patch_enable () loader-KeyboardLayouts) enable_loader_KeyboardLayouts="$2" ;; + mfplat-streaming-support) + enable_mfplat_streaming_support="$2" + ;; mmsystem.dll16-MIDIHDR_Refcount) enable_mmsystem_dll16_MIDIHDR_Refcount="$2" ;; @@ -2623,6 +2627,75 @@ if test "$enable_loader_KeyboardLayouts" -eq 1; then patch_apply loader-KeyboardLayouts/0002-user32-Improve-GetKeyboardLayoutList.patch fi +# Patchset mfplat-streaming-support +# | +# | This patchset fixes the following Wine bugs: +# | * [#49692] mfplat: Improved support for multiple video formats. +# | +# | Modified files: +# | * configure.ac, dlls/mf/Makefile.in, dlls/mf/handler.c, dlls/mf/handler.h, dlls/mf/main.c, dlls/mf/sar.c, +# | dlls/mf/session.c, dlls/mf/tests/mf.c, dlls/mf/topology.c, dlls/mfplat/mediatype.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/0001-winegstreamer-Insert-parser-into-pipeline-to-rectify.patch + patch_apply mfplat-streaming-support/0002-winegstreamer-Insert-videoconvert-into-decoded-video.patch + patch_apply mfplat-streaming-support/0003-winegstreamer-Insert-audioconvert-into-decoded-audio.patch + patch_apply mfplat-streaming-support/0004-winegstreamer-Translate-H.264-caps-to-attributes.patch + patch_apply mfplat-streaming-support/0005-winegstreamer-Translate-WMV-caps-to-attributes.patch + patch_apply mfplat-streaming-support/0006-winegstreamer-Translate-AAC-caps-to-attributes.patch + patch_apply mfplat-streaming-support/0007-winegstreamer-Translate-MPEG-4-Section-2-caps-to-att.patch + patch_apply mfplat-streaming-support/0008-winegstreamer-Translate-WMA-caps-to-attributes.patch + patch_apply mfplat-streaming-support/0009-winegstreamer-Implement-IMFMediaSource-CreatePresent.patch + patch_apply mfplat-streaming-support/0010-winegstreamer-Introduce-IMFMediaType-GstCaps-convert.patch + patch_apply mfplat-streaming-support/0011-winegstreamer-Translate-H.264-attributes-to-caps.patch + patch_apply mfplat-streaming-support/0012-winegstreamer-Translate-WMV-attributes-to-caps.patch + patch_apply mfplat-streaming-support/0013-winegstreamer-Translate-AAC-attributes-to-caps.patch + patch_apply mfplat-streaming-support/0014-winegstreamer-Translate-MPEG-4-Section-2-attributes-.patch + patch_apply mfplat-streaming-support/0015-winegstreamer-Translate-WMA-attributes-to-caps.patch + patch_apply mfplat-streaming-support/0016-winegstreamer-Implement-IMFMediaSource-Start.patch + patch_apply mfplat-streaming-support/0017-winegstreamer-Implement-IMFMediaStream-RequestSample.patch + patch_apply mfplat-streaming-support/0018-winegstreamer-Implement-IMFMediaSource-GetCharacteri.patch + patch_apply mfplat-streaming-support/0019-winegstreamer-Calculate-the-MF_PD_DURATION-of-the-me.patch + patch_apply mfplat-streaming-support/0020-tools-Add-support-for-multiple-parent-directories.patch + patch_apply mfplat-streaming-support/0021-mf-Introduce-handler-helper.patch + patch_apply mfplat-streaming-support/0022-Introduce-IMFSample-GstBuffer-converter.patch + patch_apply mfplat-streaming-support/0023-winegstreamer-Implement-decoder-MFT-on-gstreamer.patch + patch_apply mfplat-streaming-support/0024-mfreadwrite-Select-all-streams-when-creating-a-sourc.patch + patch_apply mfplat-streaming-support/0025-Miscellaneous.patch + patch_apply mfplat-streaming-support/0026-WMV.patch + patch_apply mfplat-streaming-support/0027-mf-Ask-for-more-samples-from-upstream-node-when-upon.patch + patch_apply mfplat-streaming-support/0028-winegstreamer-Implement-IMFMedisStream-GetMediaSourc.patch + patch_apply mfplat-streaming-support/0029-Expose-PCM-output-type-on-AAC-decoder.patch + patch_apply mfplat-streaming-support/0030-mfplat-Add-I420-format-information.patch + patch_apply mfplat-streaming-support/0031-winegstreamer-Implement-Color-Converter-MFT.patch + patch_apply mfplat-streaming-support/0032-HACK-Set-BPS-to-16-for-output-template.patch + patch_apply mfplat-streaming-support/0033-Improve-tests.patch + patch_apply mfplat-streaming-support/0034-Revert-Improve-tests.patch + patch_apply mfplat-streaming-support/0035-Report-streams-backwards-and-only-select-one-of-each.patch + patch_apply mfplat-streaming-support/0036-winegstreamer-Implement-IMFMediaSource-Stop.patch + patch_apply mfplat-streaming-support/0037-winegstreamer-Introduce-MPEG-4-Section-2-video-decod.patch + patch_apply mfplat-streaming-support/0038-HACK-Switch-between-all-selection-streams-on-MF_SOUR.patch + patch_apply mfplat-streaming-support/0039-winegstreamer-Introduce-WMA-audio-decoder.patch + patch_apply mfplat-streaming-support/0040-Support-stereo-down-folding.patch + patch_apply mfplat-streaming-support/0041-winegstreamer-Implement-MF_SD_LANGUAGE.patch + patch_apply mfplat-streaming-support/0042-Revert-mf-topoloader-Add-a-structure-for-iterative-b.patch + patch_apply mfplat-streaming-support/0043-Revert-mf-topoloader-Clone-source-nodes-as-a-first-l.patch + patch_apply mfplat-streaming-support/0044-Revert-mf-topoloader-Switch-to-public-interface-for-.patch + patch_apply mfplat-streaming-support/0045-mf-Partially-implement-the-topology-loader.patch + patch_apply mfplat-streaming-support/0046-mf-Miscelaneous-fixes-to-topology-resolution.patch + patch_apply mfplat-streaming-support/0047-Rewrite-branch-resolver.patch + patch_apply mfplat-streaming-support/0048-mf-sar-Compare-against-native-media-type-in-IsMediaT.patch + patch_apply mfplat-streaming-support/0049-winegstreamer-Implement-audio-conversion-MFT.patch + patch_apply mfplat-streaming-support/0053-winegstreamer-Support-eAVEncH264VProfile_Constrained.patch + patch_apply mfplat-streaming-support/0054-winegstreamer-Support-older-versions.patch +fi + # Patchset mmsystem.dll16-MIDIHDR_Refcount # | # | This patchset fixes the following Wine bugs: