mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
Rebase against ed38d12833bb1957a915ac63128957dacf2bc245.
This commit is contained in:
parent
e41287e81a
commit
7750a01cea
File diff suppressed because it is too large
Load Diff
@ -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
|
||||
|
@ -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
|
||||
|
@ -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.
|
@ -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.
|
@ -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.
|
@ -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.
|
@ -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.
|
@ -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.
|
@ -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.
|
@ -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.
|
||||
---
|
@ -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.
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -1 +1 @@
|
||||
5a8dcb062793fbb68997e1b54ebc2666a2b2834d
|
||||
ed38d12833bb1957a915ac63128957dacf2bc245
|
||||
|
Loading…
Reference in New Issue
Block a user