Rebase against ed38d12833bb1957a915ac63128957dacf2bc245.

This commit is contained in:
Alistair Leslie-Hughes 2021-10-06 09:29:40 +11:00
parent e41287e81a
commit 7750a01cea
15 changed files with 1908 additions and 42 deletions

View File

@ -0,0 +1,91 @@
From d524440204163e2ad00ccb94886f299c3afa9e3c Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Wed, 6 Oct 2021 08:38:12 +1100
Subject: [PATCH 02/12] Revert "winegstreamer: Return void from
wg_parser_stream_seek()."
This reverts commit 494039d0d0df8fd5b2b3442caac7bd6c0c7433c0.
---
dlls/winegstreamer/quartz_parser.c | 12 +++++++++---
dlls/winegstreamer/unixlib.h | 2 +-
dlls/winegstreamer/wg_parser.c | 7 +++----
3 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/dlls/winegstreamer/quartz_parser.c b/dlls/winegstreamer/quartz_parser.c
index 5dd232ea0da..a1fa7daec6f 100644
--- a/dlls/winegstreamer/quartz_parser.c
+++ b/dlls/winegstreamer/quartz_parser.c
@@ -1233,6 +1233,7 @@ static HRESULT WINAPI GST_Seeking_SetPositions(IMediaSeeking *iface,
{
struct parser_source *pin = impl_from_IMediaSeeking(iface);
struct parser *filter = impl_from_strmbase_filter(pin->pin.pin.filter);
+ HRESULT hr = S_OK;
int i;
TRACE("pin %p, current %s, current_flags %#x, stop %s, stop_flags %#x.\n",
@@ -1269,8 +1270,13 @@ static HRESULT WINAPI GST_Seeking_SetPositions(IMediaSeeking *iface,
SourceSeekingImpl_SetPositions(iface, current, current_flags, stop, stop_flags);
- unix_funcs->wg_parser_stream_seek(pin->wg_stream, pin->seek.dRate,
- pin->seek.llCurrent, pin->seek.llStop, current_flags, stop_flags);
+ if (!unix_funcs->wg_parser_stream_seek(pin->wg_stream, pin->seek.dRate,
+ pin->seek.llCurrent, pin->seek.llStop, current_flags, stop_flags))
+ {
+ ERR("Failed to seek (current %s, stop %s).\n",
+ debugstr_time(pin->seek.llCurrent), debugstr_time(pin->seek.llStop));
+ hr = E_FAIL;
+ }
if (!(current_flags & AM_SEEKING_NoFlush))
{
@@ -1293,7 +1299,7 @@ static HRESULT WINAPI GST_Seeking_SetPositions(IMediaSeeking *iface,
LeaveCriticalSection(&pin->flushing_cs);
}
- return S_OK;
+ return hr;
}
static const IMediaSeekingVtbl GST_Seeking_Vtbl =
diff --git a/dlls/winegstreamer/unixlib.h b/dlls/winegstreamer/unixlib.h
index dade020916a..e917f7b5557 100644
--- a/dlls/winegstreamer/unixlib.h
+++ b/dlls/winegstreamer/unixlib.h
@@ -158,7 +158,7 @@ struct unix_funcs
/* Returns the duration in 100-nanosecond units. */
uint64_t (CDECL *wg_parser_stream_get_duration)(struct wg_parser_stream *stream);
/* start_pos and stop_pos are in 100-nanosecond units. */
- void (CDECL *wg_parser_stream_seek)(struct wg_parser_stream *stream, double rate,
+ bool (CDECL *wg_parser_stream_seek)(struct wg_parser_stream *stream, double rate,
uint64_t start_pos, uint64_t stop_pos, DWORD start_flags, DWORD stop_flags);
};
diff --git a/dlls/winegstreamer/wg_parser.c b/dlls/winegstreamer/wg_parser.c
index 694f8b57ed1..b89a50b5d8f 100644
--- a/dlls/winegstreamer/wg_parser.c
+++ b/dlls/winegstreamer/wg_parser.c
@@ -686,7 +686,7 @@ static uint64_t CDECL wg_parser_stream_get_duration(struct wg_parser_stream *str
return stream->duration;
}
-static void CDECL wg_parser_stream_seek(struct wg_parser_stream *stream, double rate,
+static bool CDECL wg_parser_stream_seek(struct wg_parser_stream *stream, double rate,
uint64_t start_pos, uint64_t stop_pos, DWORD start_flags, DWORD stop_flags)
{
GstSeekType start_type = GST_SEEK_TYPE_SET, stop_type = GST_SEEK_TYPE_SET;
@@ -704,9 +704,8 @@ static void CDECL wg_parser_stream_seek(struct wg_parser_stream *stream, double
if ((stop_flags & AM_SEEKING_PositioningBitsMask) == AM_SEEKING_NoPositioning)
stop_type = GST_SEEK_TYPE_NONE;
- if (!gst_pad_push_event(stream->my_sink, gst_event_new_seek(rate, GST_FORMAT_TIME,
- flags, start_type, start_pos * 100, stop_type, stop_pos * 100)))
- GST_ERROR("Failed to seek.\n");
+ return gst_pad_push_event(stream->my_sink, gst_event_new_seek(rate,
+ GST_FORMAT_TIME, flags, start_type, start_pos * 100, stop_type, stop_pos * 100));
}
static void CDECL wg_parser_stream_notify_qos(struct wg_parser_stream *stream,
--
2.33.0

View File

@ -0,0 +1,382 @@
From 6725238dfb2de2144fccfc83f0f4fbf96aba4b6c Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Wed, 6 Oct 2021 08:38:12 +1100
Subject: [PATCH 03/12] Revert "winegstreamer: Move Unix library definitions
into a separate header."
This reverts commit 84b870bb1fcac27288ed70d28de6a1c2649e9fe6.
---
dlls/winegstreamer/gst_private.h | 137 ++++++++++++++++++++++++-
dlls/winegstreamer/unixlib.h | 165 -------------------------------
dlls/winegstreamer/wg_parser.c | 17 +---
3 files changed, 140 insertions(+), 179 deletions(-)
delete mode 100644 dlls/winegstreamer/unixlib.h
diff --git a/dlls/winegstreamer/gst_private.h b/dlls/winegstreamer/gst_private.h
index 91c646571cf..3470f7870fa 100644
--- a/dlls/winegstreamer/gst_private.h
+++ b/dlls/winegstreamer/gst_private.h
@@ -36,8 +36,6 @@
#include "wine/debug.h"
#include "wine/strmbase.h"
-#include "unixlib.h"
-
static inline const char *debugstr_time(REFERENCE_TIME time)
{
ULONGLONG abstime = time >= 0 ? time : -time;
@@ -61,6 +59,141 @@ static inline const char *debugstr_time(REFERENCE_TIME time)
#define MEDIATIME_FROM_BYTES(x) ((LONGLONG)(x) * 10000000)
+struct wg_format
+{
+ enum wg_major_type
+ {
+ WG_MAJOR_TYPE_UNKNOWN,
+ WG_MAJOR_TYPE_VIDEO,
+ WG_MAJOR_TYPE_AUDIO,
+ } major_type;
+
+ union
+ {
+ struct
+ {
+ enum wg_video_format
+ {
+ WG_VIDEO_FORMAT_UNKNOWN,
+
+ WG_VIDEO_FORMAT_BGRA,
+ WG_VIDEO_FORMAT_BGRx,
+ WG_VIDEO_FORMAT_BGR,
+ WG_VIDEO_FORMAT_RGB15,
+ WG_VIDEO_FORMAT_RGB16,
+
+ WG_VIDEO_FORMAT_AYUV,
+ WG_VIDEO_FORMAT_I420,
+ WG_VIDEO_FORMAT_NV12,
+ WG_VIDEO_FORMAT_UYVY,
+ WG_VIDEO_FORMAT_YUY2,
+ WG_VIDEO_FORMAT_YV12,
+ WG_VIDEO_FORMAT_YVYU,
+
+ WG_VIDEO_FORMAT_CINEPAK,
+ } format;
+ uint32_t width, height;
+ uint32_t fps_n, fps_d;
+ } video;
+ struct
+ {
+ enum wg_audio_format
+ {
+ WG_AUDIO_FORMAT_UNKNOWN,
+
+ WG_AUDIO_FORMAT_U8,
+ WG_AUDIO_FORMAT_S16LE,
+ WG_AUDIO_FORMAT_S24LE,
+ WG_AUDIO_FORMAT_S32LE,
+ WG_AUDIO_FORMAT_F32LE,
+ WG_AUDIO_FORMAT_F64LE,
+
+ WG_AUDIO_FORMAT_MPEG1_LAYER1,
+ WG_AUDIO_FORMAT_MPEG1_LAYER2,
+ WG_AUDIO_FORMAT_MPEG1_LAYER3,
+ } format;
+
+ uint32_t channels;
+ uint32_t channel_mask; /* In WinMM format. */
+ uint32_t rate;
+ } audio;
+ } u;
+};
+
+enum wg_parser_event_type
+{
+ WG_PARSER_EVENT_NONE = 0,
+ WG_PARSER_EVENT_BUFFER,
+ WG_PARSER_EVENT_EOS,
+ WG_PARSER_EVENT_SEGMENT,
+};
+
+struct wg_parser_event
+{
+ enum wg_parser_event_type type;
+ union
+ {
+ struct
+ {
+ /* pts and duration are in 100-nanosecond units. */
+ ULONGLONG pts, duration;
+ uint32_t size;
+ bool discontinuity, preroll, delta, has_pts, has_duration;
+ } buffer;
+ struct
+ {
+ ULONGLONG position, stop;
+ DOUBLE rate;
+ } segment;
+ } u;
+};
+C_ASSERT(sizeof(struct wg_parser_event) == 40);
+
+enum wg_parser_type
+{
+ WG_PARSER_DECODEBIN,
+ WG_PARSER_AVIDEMUX,
+ WG_PARSER_MPEGAUDIOPARSE,
+ WG_PARSER_WAVPARSE,
+};
+
+struct unix_funcs
+{
+ struct wg_parser *(CDECL *wg_parser_create)(enum wg_parser_type type, bool unlimited_buffering);
+ void (CDECL *wg_parser_destroy)(struct wg_parser *parser);
+
+ HRESULT (CDECL *wg_parser_connect)(struct wg_parser *parser, uint64_t file_size);
+ void (CDECL *wg_parser_disconnect)(struct wg_parser *parser);
+
+ void (CDECL *wg_parser_begin_flush)(struct wg_parser *parser);
+ void (CDECL *wg_parser_end_flush)(struct wg_parser *parser);
+
+ bool (CDECL *wg_parser_get_next_read_offset)(struct wg_parser *parser,
+ uint64_t *offset, uint32_t *size);
+ void (CDECL *wg_parser_push_data)(struct wg_parser *parser,
+ const void *data, uint32_t size);
+
+ uint32_t (CDECL *wg_parser_get_stream_count)(struct wg_parser *parser);
+ struct wg_parser_stream *(CDECL *wg_parser_get_stream)(struct wg_parser *parser, uint32_t index);
+
+ void (CDECL *wg_parser_stream_get_preferred_format)(struct wg_parser_stream *stream, struct wg_format *format);
+ void (CDECL *wg_parser_stream_enable)(struct wg_parser_stream *stream, const struct wg_format *format);
+ void (CDECL *wg_parser_stream_disable)(struct wg_parser_stream *stream);
+
+ bool (CDECL *wg_parser_stream_get_event)(struct wg_parser_stream *stream, struct wg_parser_event *event);
+ bool (CDECL *wg_parser_stream_copy_buffer)(struct wg_parser_stream *stream,
+ void *data, uint32_t offset, uint32_t size);
+ void (CDECL *wg_parser_stream_release_buffer)(struct wg_parser_stream *stream);
+ void (CDECL *wg_parser_stream_notify_qos)(struct wg_parser_stream *stream,
+ bool underflow, double proportion, int64_t diff, uint64_t timestamp);
+
+ /* Returns the duration in 100-nanosecond units. */
+ uint64_t (CDECL *wg_parser_stream_get_duration)(struct wg_parser_stream *stream);
+ /* start_pos and stop_pos are in 100-nanosecond units. */
+ bool (CDECL *wg_parser_stream_seek)(struct wg_parser_stream *stream, double rate,
+ uint64_t start_pos, uint64_t stop_pos, DWORD start_flags, DWORD stop_flags);
+};
+
extern const struct unix_funcs *unix_funcs;
HRESULT avi_splitter_create(IUnknown *outer, IUnknown **out) DECLSPEC_HIDDEN;
diff --git a/dlls/winegstreamer/unixlib.h b/dlls/winegstreamer/unixlib.h
deleted file mode 100644
index e917f7b5557..00000000000
--- a/dlls/winegstreamer/unixlib.h
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * winegstreamer Unix library interface
- *
- * Copyright 2020-2021 Zebediah Figura for CodeWeavers
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __WINE_WINEGSTREAMER_UNIXLIB_H
-#define __WINE_WINEGSTREAMER_UNIXLIB_H
-
-#include <stdbool.h>
-#include <stdint.h>
-#include "windef.h"
-#include "wtypes.h"
-#include "mmreg.h"
-
-struct wg_format
-{
- enum wg_major_type
- {
- WG_MAJOR_TYPE_UNKNOWN,
- WG_MAJOR_TYPE_VIDEO,
- WG_MAJOR_TYPE_AUDIO,
- } major_type;
-
- union
- {
- struct
- {
- enum wg_video_format
- {
- WG_VIDEO_FORMAT_UNKNOWN,
-
- WG_VIDEO_FORMAT_BGRA,
- WG_VIDEO_FORMAT_BGRx,
- WG_VIDEO_FORMAT_BGR,
- WG_VIDEO_FORMAT_RGB15,
- WG_VIDEO_FORMAT_RGB16,
-
- WG_VIDEO_FORMAT_AYUV,
- WG_VIDEO_FORMAT_I420,
- WG_VIDEO_FORMAT_NV12,
- WG_VIDEO_FORMAT_UYVY,
- WG_VIDEO_FORMAT_YUY2,
- WG_VIDEO_FORMAT_YV12,
- WG_VIDEO_FORMAT_YVYU,
-
- WG_VIDEO_FORMAT_CINEPAK,
- } format;
- uint32_t width, height;
- uint32_t fps_n, fps_d;
- } video;
- struct
- {
- enum wg_audio_format
- {
- WG_AUDIO_FORMAT_UNKNOWN,
-
- WG_AUDIO_FORMAT_U8,
- WG_AUDIO_FORMAT_S16LE,
- WG_AUDIO_FORMAT_S24LE,
- WG_AUDIO_FORMAT_S32LE,
- WG_AUDIO_FORMAT_F32LE,
- WG_AUDIO_FORMAT_F64LE,
-
- WG_AUDIO_FORMAT_MPEG1_LAYER1,
- WG_AUDIO_FORMAT_MPEG1_LAYER2,
- WG_AUDIO_FORMAT_MPEG1_LAYER3,
- } format;
-
- uint32_t channels;
- uint32_t channel_mask; /* In WinMM format. */
- uint32_t rate;
- } audio;
- } u;
-};
-
-enum wg_parser_event_type
-{
- WG_PARSER_EVENT_NONE = 0,
- WG_PARSER_EVENT_BUFFER,
- WG_PARSER_EVENT_EOS,
- WG_PARSER_EVENT_SEGMENT,
-};
-
-struct wg_parser_event
-{
- enum wg_parser_event_type type;
- union
- {
- struct
- {
- /* pts and duration are in 100-nanosecond units. */
- ULONGLONG pts, duration;
- uint32_t size;
- bool discontinuity, preroll, delta, has_pts, has_duration;
- } buffer;
- struct
- {
- ULONGLONG position, stop;
- DOUBLE rate;
- } segment;
- } u;
-};
-C_ASSERT(sizeof(struct wg_parser_event) == 40);
-
-enum wg_parser_type
-{
- WG_PARSER_DECODEBIN,
- WG_PARSER_AVIDEMUX,
- WG_PARSER_MPEGAUDIOPARSE,
- WG_PARSER_WAVPARSE,
-};
-
-struct unix_funcs
-{
- struct wg_parser *(CDECL *wg_parser_create)(enum wg_parser_type type, bool unlimited_buffering);
- void (CDECL *wg_parser_destroy)(struct wg_parser *parser);
-
- HRESULT (CDECL *wg_parser_connect)(struct wg_parser *parser, uint64_t file_size);
- void (CDECL *wg_parser_disconnect)(struct wg_parser *parser);
-
- void (CDECL *wg_parser_begin_flush)(struct wg_parser *parser);
- void (CDECL *wg_parser_end_flush)(struct wg_parser *parser);
-
- bool (CDECL *wg_parser_get_next_read_offset)(struct wg_parser *parser,
- uint64_t *offset, uint32_t *size);
- void (CDECL *wg_parser_push_data)(struct wg_parser *parser,
- const void *data, uint32_t size);
-
- uint32_t (CDECL *wg_parser_get_stream_count)(struct wg_parser *parser);
- struct wg_parser_stream *(CDECL *wg_parser_get_stream)(struct wg_parser *parser, uint32_t index);
-
- void (CDECL *wg_parser_stream_get_preferred_format)(struct wg_parser_stream *stream, struct wg_format *format);
- void (CDECL *wg_parser_stream_enable)(struct wg_parser_stream *stream, const struct wg_format *format);
- void (CDECL *wg_parser_stream_disable)(struct wg_parser_stream *stream);
-
- bool (CDECL *wg_parser_stream_get_event)(struct wg_parser_stream *stream, struct wg_parser_event *event);
- bool (CDECL *wg_parser_stream_copy_buffer)(struct wg_parser_stream *stream,
- void *data, uint32_t offset, uint32_t size);
- void (CDECL *wg_parser_stream_release_buffer)(struct wg_parser_stream *stream);
- void (CDECL *wg_parser_stream_notify_qos)(struct wg_parser_stream *stream,
- bool underflow, double proportion, int64_t diff, uint64_t timestamp);
-
- /* Returns the duration in 100-nanosecond units. */
- uint64_t (CDECL *wg_parser_stream_get_duration)(struct wg_parser_stream *stream);
- /* start_pos and stop_pos are in 100-nanosecond units. */
- bool (CDECL *wg_parser_stream_seek)(struct wg_parser_stream *stream, double rate,
- uint64_t start_pos, uint64_t stop_pos, DWORD start_flags, DWORD stop_flags);
-};
-
-#endif /* __WINE_WINEGSTREAMER_UNIXLIB_H */
diff --git a/dlls/winegstreamer/wg_parser.c b/dlls/winegstreamer/wg_parser.c
index b89a50b5d8f..21278682318 100644
--- a/dlls/winegstreamer/wg_parser.c
+++ b/dlls/winegstreamer/wg_parser.c
@@ -25,21 +25,14 @@
#endif
#include "config.h"
-
-#include <assert.h>
-#include <stdarg.h>
-#include <stdio.h>
-
-#include <gst/gst.h>
-#include <gst/video/video.h>
-#include <gst/audio/audio.h>
-
#include "ntstatus.h"
#define WIN32_NO_STATUS
+#include "gst_private.h"
#include "winternl.h"
-#include "dshow.h"
-#include "unixlib.h"
+#include <gst/gst.h>
+#include <gst/video/video.h>
+#include <gst/audio/audio.h>
typedef enum
{
@@ -1866,7 +1859,7 @@ static void init_gstreamer_once(void)
if (!gst_init_check(&argc, &argv, &err))
{
- fprintf(stderr, "winegstreamer: failed to initialize GStreamer: %s\n", err->message);
+ fprintf(stderr, "winegstreamer: failed to initialize GStreamer: %s\n", debugstr_a(err->message));
g_error_free(err);
return;
}
--
2.33.0

View File

@ -1,7 +1,7 @@
From 30120049d9403c6d2eed5a2e1aeb7a3c71557e35 Mon Sep 17 00:00:00 2001
From 673582fbfd99f1d1837127bac4bb7dab01d9f84b Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Sat, 2 Oct 2021 10:35:45 +1000
Subject: [PATCH 1/9] Revert "winegstreamer: Remove the no longer used
Subject: [PATCH 04/12] Revert "winegstreamer: Remove the no longer used
start_dispatch_thread() declaration."
This reverts commit a87abdbe85779adf6a2a7897bd88984587880693.

View File

@ -1,7 +1,7 @@
From 0909d7fc577a0406791e112bc1e920bf37be0152 Mon Sep 17 00:00:00 2001
From c583b4715063e2b961724779c963fffb4098ec75 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Sat, 2 Oct 2021 10:35:46 +1000
Subject: [PATCH 2/9] Revert "winegstreamer: Set unlimited buffering using a
Subject: [PATCH 05/12] Revert "winegstreamer: Set unlimited buffering using a
flag for wg_parser_create()."
This reverts commit 45690320f933d68f613f95f0330098426fc5a08f.

View File

@ -1,7 +1,7 @@
From 21e917e0afa2c59304e375da6d7230ba22d0d361 Mon Sep 17 00:00:00 2001
From 8c3c3aead2c71f69d4b132f897f2a746e56b9e3c Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Sat, 2 Oct 2021 10:35:47 +1000
Subject: [PATCH 3/9] Revert "winegstreamer: Initialize GStreamer in
Subject: [PATCH 06/12] Revert "winegstreamer: Initialize GStreamer in
wg_parser_create()."
This reverts commit 3643f73ab61f05ddc9a637f8613c933dda0dd232.

View File

@ -1,7 +1,7 @@
From ffbc85a3089b39308582cab7de021c7d1d3481f2 Mon Sep 17 00:00:00 2001
From edbd61fcdce0925f6efe4cc91bad006fbeb2ab2f Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Sat, 2 Oct 2021 10:35:47 +1000
Subject: [PATCH 4/9] Revert "winegstreamer: Use a single wg_parser_create()
Subject: [PATCH 07/12] Revert "winegstreamer: Use a single wg_parser_create()
entry point."
This reverts commit eab189810d9c40c698bd049d9af647e195cd5993.

View File

@ -1,7 +1,7 @@
From ad6648fd5f8bb2a01c4ac94e0478030690213790 Mon Sep 17 00:00:00 2001
From 9e4429f355fda7b1d3572aa849de2c3d2326885b Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Sun, 19 Sep 2021 13:07:56 +1000
Subject: [PATCH 5/9] Revert "winegstreamer: Fix return code in init_gst
Subject: [PATCH 08/12] Revert "winegstreamer: Fix return code in init_gst
failure case."
This reverts commit b9a7e961cdd39203866be38e90b1d901595d54ba.

View File

@ -1,7 +1,7 @@
From 1d45ee3329da8099c566dd9cf7f0075271c64957 Mon Sep 17 00:00:00 2001
From 47c589a15c0a20a6643fc61eab0772e60bb7d6e9 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Sun, 19 Sep 2021 13:08:02 +1000
Subject: [PATCH 6/9] Revert "winegstreamer: Allocate source media buffers in
Subject: [PATCH 09/12] Revert "winegstreamer: Allocate source media buffers in
the PE components."
This reverts commit 8b7390f80d866435f06f2571a93bcd67c0947673.

View File

@ -1,7 +1,7 @@
From 0a3805b8c2476df04303a59b118cb00146bd4cc3 Mon Sep 17 00:00:00 2001
From 4fc216dc84f0d25c1bfe828f0ab01747536dc6f7 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Sun, 19 Sep 2021 13:08:03 +1000
Subject: [PATCH 7/9] Revert "winegstreamer: Duplicate source shutdown path
Subject: [PATCH 10/12] Revert "winegstreamer: Duplicate source shutdown path
into constructor with leak fixes."
This reverts commit 67734bfce31d6032cee1a8980a9022665e9e18fa.

View File

@ -1,8 +1,8 @@
From f9a7dd1d5b82b0c9ce25a75af759f057cf5de7db Mon Sep 17 00:00:00 2001
From b1c93d216b7319beeb1588c427408809cd0f66ff Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Sun, 19 Sep 2021 13:08:04 +1000
Subject: [PATCH 8/9] Revert "winegstreamer: Properly clean up from failure in
wg_parser_connect()."
Subject: [PATCH 11/12] Revert "winegstreamer: Properly clean up from failure
in wg_parser_connect()."
This reverts commit 721b1eb2ebe5c3eaab8ac3fb1e4f4648cbee5b4d.
---

View File

@ -1,7 +1,7 @@
From d173e0229a32f2aaea6309907b2561f83e868305 Mon Sep 17 00:00:00 2001
From c7efccc7753bbda48493a7ff94fea0b72eb398c6 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Sun, 19 Sep 2021 13:08:05 +1000
Subject: [PATCH 9/9] Revert "winegstreamer: Factor out more of the init_gst
Subject: [PATCH 12/12] Revert "winegstreamer: Factor out more of the init_gst
callback into wg_parser_connect()."
This reverts commit 830efe873a967dbbb0c9a65be6a66b124a5fa826.

View File

@ -51,7 +51,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "5a8dcb062793fbb68997e1b54ebc2666a2b2834d"
echo "ed38d12833bb1957a915ac63128957dacf2bc245"
}
# Show version information
@ -2442,19 +2442,23 @@ fi
# Patchset mfplat-reverts
# |
# | Modified files:
# | * dlls/winegstreamer/gst_private.h, dlls/winegstreamer/media_source.c, dlls/winegstreamer/quartz_parser.c,
# | * dlls/winegstreamer/Makefile.in, dlls/winegstreamer/gst_private.h, dlls/winegstreamer/main.c,
# | dlls/winegstreamer/media_source.c, dlls/winegstreamer/quartz_parser.c, dlls/winegstreamer/unixlib.h,
# | dlls/winegstreamer/wg_parser.c
# |
if test "$enable_mfplat_reverts" -eq 1; then
patch_apply mfplat-reverts/0001-Revert-winegstreamer-Remove-the-no-longer-used-start.patch
patch_apply mfplat-reverts/0002-Revert-winegstreamer-Set-unlimited-buffering-using-a.patch
patch_apply mfplat-reverts/0003-Revert-winegstreamer-Initialize-GStreamer-in-wg_pars.patch
patch_apply mfplat-reverts/0004-Revert-winegstreamer-Use-a-single-wg_parser_create-e.patch
patch_apply mfplat-reverts/0005-Revert-winegstreamer-Fix-return-code-in-init_gst-fai.patch
patch_apply mfplat-reverts/0006-Revert-winegstreamer-Allocate-source-media-buffers-i.patch
patch_apply mfplat-reverts/0007-Revert-winegstreamer-Duplicate-source-shutdown-path-.patch
patch_apply mfplat-reverts/0008-Revert-winegstreamer-Properly-clean-up-from-failure-.patch
patch_apply mfplat-reverts/0009-Revert-winegstreamer-Factor-out-more-of-the-init_gst.patch
patch_apply mfplat-reverts/0001-Revert-winegstreamer-Convert-the-Unix-library-to-the.patch
patch_apply mfplat-reverts/0002-Revert-winegstreamer-Return-void-from-wg_parser_stre.patch
patch_apply mfplat-reverts/0003-Revert-winegstreamer-Move-Unix-library-definitions-i.patch
patch_apply mfplat-reverts/0004-Revert-winegstreamer-Remove-the-no-longer-used-start.patch
patch_apply mfplat-reverts/0005-Revert-winegstreamer-Set-unlimited-buffering-using-a.patch
patch_apply mfplat-reverts/0006-Revert-winegstreamer-Initialize-GStreamer-in-wg_pars.patch
patch_apply mfplat-reverts/0007-Revert-winegstreamer-Use-a-single-wg_parser_create-e.patch
patch_apply mfplat-reverts/0008-Revert-winegstreamer-Fix-return-code-in-init_gst-fai.patch
patch_apply mfplat-reverts/0009-Revert-winegstreamer-Allocate-source-media-buffers-i.patch
patch_apply mfplat-reverts/0010-Revert-winegstreamer-Duplicate-source-shutdown-path-.patch
patch_apply mfplat-reverts/0011-Revert-winegstreamer-Properly-clean-up-from-failure-.patch
patch_apply mfplat-reverts/0012-Revert-winegstreamer-Factor-out-more-of-the-init_gst.patch
fi
# Patchset mfplat-streaming-support

View File

@ -1,4 +1,4 @@
From fbf14812e8eba54d8a4eb369cabbe10174584a02 Mon Sep 17 00:00:00 2001
From 61c9dd1107e9a6d058d9fc4e35d9f6694c0ecd9c Mon Sep 17 00:00:00 2001
From: Dmitry Timoshkov <dmitry@baikal.ru>
Date: Wed, 23 Dec 2015 19:37:37 +0800
Subject: [PATCH] widl: Add initial implementation of SLTG typelib generator.
@ -36,10 +36,10 @@ index 7df7d290825..5d9f45a7c38 100644
+extern int create_sltg_typelib(typelib_t *typelib);
#endif
diff --git a/tools/widl/widl.c b/tools/widl/widl.c
index 5b1ce6ca689..45288d1a1f9 100644
index 5c11f6285ea..2199087ebdf 100644
--- a/tools/widl/widl.c
+++ b/tools/widl/widl.c
@@ -170,6 +170,7 @@ enum {
@@ -169,6 +169,7 @@ enum {
DLLDATA_ONLY_OPTION,
LOCAL_STUBS_OPTION,
NOSTDINC_OPTION,
@ -47,15 +47,15 @@ index 5b1ce6ca689..45288d1a1f9 100644
PREFIX_ALL_OPTION,
PREFIX_CLIENT_OPTION,
PREFIX_SERVER_OPTION,
@@ -196,6 +197,7 @@ static const struct option long_options[] = {
{ "nostdinc", 0, NULL, NOSTDINC_OPTION },
{ "ns_prefix", 0, NULL, RT_NS_PREFIX },
{ "oldnames", 0, NULL, OLDNAMES_OPTION },
@@ -195,6 +196,7 @@ static const struct long_option long_options[] = {
{ "nostdinc", 0, NOSTDINC_OPTION },
{ "ns_prefix", 0, RT_NS_PREFIX },
{ "oldnames", 0, OLDNAMES_OPTION },
+ { "oldtlb", 0, NULL, OLD_TYPELIB_OPTION },
{ "output", 0, NULL, 'o' },
{ "prefix-all", 1, NULL, PREFIX_ALL_OPTION },
{ "prefix-client", 1, NULL, PREFIX_CLIENT_OPTION },
@@ -776,6 +778,10 @@ int main(int argc,char *argv[])
{ "output", 0, 'o' },
{ "prefix-all", 1, PREFIX_ALL_OPTION },
{ "prefix-client", 1, PREFIX_CLIENT_OPTION },
@@ -714,6 +716,10 @@ static void option_callback( int optc, char *optarg )
do_everything = 0;
do_typelib = 1;
break;

View File

@ -1 +1 @@
5a8dcb062793fbb68997e1b54ebc2666a2b2834d
ed38d12833bb1957a915ac63128957dacf2bc245