Rémi Bernon
651e4002ce
winegstreamer: Introduce new wg_transform_(push|read)_data functions.
...
And use it to implement WMA decoder Process(Input|Output).
The test output is different because ffmpeg WMA decoder outputs data in
a different way as native. The data seems valid audio nonetheless, and
it shouldn't matter too much.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51931
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52391
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-15 18:05:27 +01:00
Zebediah Figura
a4be9e8568
winegstreamer: Flatten wg_parser_event into a wg_parser_buffer structure.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-24 08:49:56 +01:00
Zebediah Figura
28c9c138d2
winegstreamer: Return S_FALSE from wg_parser_stream_get_event() if the stream is EOS.
...
Instead of using WG_PARSER_EVENT_EOS.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-24 08:49:46 +01:00
Zebediah Figura
5144b27661
winegstreamer: Remove support for flushing the wg_parser object.
...
Aside from EOS logic, which is now handled entirely on the client side,
wg_parser_stream_get_event() now only waits for data processing—that is,
demuxing, decoding, and format conversion. While unblocking waits in
wg_parser_stream_get_event() does allow that function to return immediately, a
subsequent seek request in GStreamer will still have to wait for that data
processing to complete and for the stream thread to return to the demuxer's main
loop. In essence, wg_parser_begin_flush() is only moving costs around.
In theory we could force the GStreamer pipeline to complete faster by actually
flushing it. In practice this isn't really true. Individual elements do check
whether they are flushing before processing, but even elements which take a
relatively long time (i.e. multiple milliseconds) to process data don't
periodically check whether they are flushing while doing so. Although there is
arguably a benefit to skipping some elements by flushing the GStreamer pipeline,
it does not seem worth the added code complexity in Wine.
The real point of flushing in DirectShow or GStreamer is to unblock long or
unbounded waits in sink elements (i.e. waits for PTS, or waits for running state
while rendering preroll frames). None of these waits apply here. Waits for
actual sample processing complete in bounded time, and should ideally take less
than the sample DTS to complete (or we are already in trouble).
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-24 08:49:38 +01:00
Rémi Bernon
71bf5b24d7
winegstreamer: Create static pads on wg_transform struct.
...
With caps created from the input / output formats.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51931
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52391
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-17 09:07:07 +01:00
Rémi Bernon
51a262d368
winegstreamer: Introduce new wg_transform struct.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51931
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52391
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-17 09:07:07 +01:00
Rémi Bernon
a7508d54db
winegstreamer: Stub implement WMA decoder DMO / MF transform.
...
Final Fantasy XIV intro videos require media_object_GetStreamCount and
property_bag_Write to return S_OK in order to not get stuck. This could
be done in a separate commit but would cause a temporary regression.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51931
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52391
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-03 10:22:27 +01:00
Zebediah Figura
2d0dc2d47c
winegstreamer: Move the IWMProfile3 implementation to a separate object.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-20 20:10:15 +02:00
Zebediah Figura
59997c355f
winegstreamer: Use array_reserve() to reallocate read buffers.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-06 20:29:46 +02:00
Zebediah Figura
4ba31162c3
winegstreamer: Convert the Unix library to the __wine_unix_call interface.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-05 11:31:47 +02:00
Zebediah Figura
d90ab0805f
winegstreamer: Always return S_FALSE from DllCanUnloadNow().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-26 09:34:28 +02:00
Zebediah Figura
82c3205c26
winegstreamer: Switch to the quartz debug channel.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-19 12:16:12 +02:00
Alexandre Julliard
1331a8ea0f
winecrt0: Determine the registration module handle directly in __wine_register_resources().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-30 22:59:50 +02:00
Jacek Caban
ab044d1b9f
winegstreamer: Use nameless unions.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-24 20:48:21 +01:00
Zebediah Figura
18b6115d53
winegstreamer: Remove some redundant includes.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-23 09:56:47 +01:00
Zebediah Figura
1fb0b500b4
winegstreamer: Use wide-char string literals.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-23 09:56:16 +01:00
Zebediah Figura
8abcae5475
winegstreamer: Build with msvcrt.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-22 09:08:10 +01:00
Zebediah Figura
f9c43fc9fa
winegstreamer: Reimplement the media source on top of the wg_parser object.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-19 09:24:44 +01:00
Zebediah Figura
10dde32dc6
winegstreamer: Move GStreamer library initialization to __wine_init_unix_lib().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-12 14:51:57 +01:00
Zebediah Figura
dbd927f4ad
winegstreamer: Move wg_parser object creation to a new Unix library.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-12 14:51:55 +01:00
Zebediah Figura
b554086282
winegstreamer: Unify the decodebin parser definitions under the name "decodebin_parser".
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-18 22:46:36 +01:00
Derek Lesho
508b124f80
winegstreamer: Register the audio conversion transform.
...
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-03 20:18:39 +01:00
Derek Lesho
a4d6ad6d49
winegstreamer: Add a GstPad wrapping the media source's bytestream.
...
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-29 12:02:12 +02:00
Zebediah Figura
74dc0c5df9
winegstreamer: Reimplement COM registration and vending locally.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-09 12:10:52 +01:00
Zebediah Figura
d263c4a366
winegstreamer: Get rid of the mp3 decoder.
...
In the unlikely event that we are hotplugging not from an IAsyncReader, we
already have the ACM wrapper and l3codeca.acm available to do the same thing.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-29 09:45:32 +01:00
Zebediah Figura
943b6564f5
winegstreamer: Get rid of the AudioConvert filter.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-28 14:25:38 +01:00
Zebediah Figura
841502993f
winegstreamer: Get rid of the YUV-to-(A)RGB converters.
...
This is handled by the splitter filter now.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-27 14:39:20 +01:00
Zebediah Figura
6c8cb0abac
winegstreamer: Use strmbase_dump_media_type() where appropriate.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-07 10:00:58 +02:00
Zebediah Figura
40a4c782b7
winegstreamer: Reimplement the MPEG splitter on top of the mpegaudioparse plugin.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-23 10:10:04 +02:00
Zebediah Figura
5de712b5d8
winegstreamer: Reimplement the AVI splitter on top of the avidemux plugin.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-20 12:47:22 +02:00
Zebediah Figura
28c334b273
winegstreamer: Fix registration for the WAVE parser.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-20 12:47:04 +02:00
Zebediah Figura
939638b055
winegstreamer: Reimplement the WAVE parser ontop of the wavparse plugin.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-19 12:56:59 +02:00
Nikolay Sivov
787ed80858
winegstreamer: Add stub Video Processor MFT.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-05 17:37:44 +02:00
Jimi Huotari
eca00491cd
winegstreamer: Fix spelling of 'initialized' in a TRACE().
...
Signed-off-by: Jimi Huotari <chiitoo@gentoo.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 10:29:20 +02:00
Zebediah Figura
cf345813de
winegstreamer: Convert media type registration to IRegistrar mechanism.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-23 23:52:39 +02:00
Nikolay Sivov
11401be90b
winegstreamer: Actually pin module on initialization.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 13:47:42 +01:00
Nikolay Sivov
d6fcab825b
winegstreamer: Print current and build version of GStreamer.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 13:47:36 +01:00
Nikolay Sivov
9a9e521da8
winegstreamer: Get rid of allocated arguments array.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 13:47:13 +01:00
Nikolay Sivov
f5908390a7
winegstreamer: Use init-once API to initialize library.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 13:47:00 +01:00
Michael Stefaniuc
b618a6c6a7
winegstreamer: Use the ARRAY_SIZE() macro.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-05 22:43:52 +01:00
Zebediah Figura
9550556f3c
winegstreamer: Use ERR instead of FIXME for GStreamer errors.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-22 21:46:28 +01:00
Andrew Eikum
008e4d3e86
winegstreamer: Add YUV to ARGB32 transformation filter.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-14 14:39:55 +09:00
Andrew Eikum
e8311270ab
winegstreamer: Update to use gstreamer-1.0.
...
Based on initial work by Rafał Mużyło.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-15 15:32:49 +09:00
Andrew Eikum
99894cf37c
winegstreamer: Add TRACEs and improve formatting.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-15 15:22:31 +09:00
Andrew Eikum
56b6523842
winegstreamer: Always run gstreamer callbacks on a Wine thread.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-14 21:27:20 +09:00
Francois Gouget
fac36c55e9
Assorted typo, spelling, wording and case fixes.
2012-05-15 16:26:43 +02:00
Maarten Lankhorst
e0169705d9
winegstreamer: Prevent gstreamer from being unloaded.
2010-11-29 19:43:33 +01:00
Aric Stewart
0e55930eff
winegstreamer: Add gstreamer audio convert transform filter.
2010-10-29 15:22:12 +02:00
Aric Stewart
5e79508fe9
winegstreamer: Add gstreamer mp3 transform filter.
2010-10-29 15:16:57 +02:00
Aric Stewart
82a232d154
winegstreamer: Add gstreamer YUV->RGB transform filter.
2010-10-28 12:38:13 +02:00