Zebediah Figura
cade211d06
winegstreamer: Use CONTAINING_RECORD instead of casting.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 10:29:17 +02:00
Zebediah Figura
dad885e2b9
strmbase: Get rid of the "pfnGetPinCount" callback.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 10:29:15 +02:00
Zebediah Figura
df05902b96
strmbase: Get rid of the "pfnBreakConnect" field from BaseOutputPinFuncTable.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-13 12:48:18 +02:00
Zebediah Figura
797672182b
winegstreamer: Make GSTOutPin_BreakConnect() a local helper.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-13 12:48:13 +02:00
Zebediah Figura
9be7995448
strmbase: Get rid of the "pfnGetMediaTypeVersion" callback.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-10 16:04:25 +02:00
Zebediah Figura
7e6ab5e53c
strmbase: Move "AttemptConnection" to the base source pin function table.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-10 15:54:15 +02: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
f482b9463c
winegstreamer: Add a missing debugstr_a.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-05 19:57:16 +02:00
Zebediah Figura
b252ef91a2
winegstreamer: Use CBaseFilter::FindPin().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-04 14:56:24 +02:00
Zebediah Figura
10ff8f3082
strmbase: Implement QueryAccept() on top of CheckMediaType() for output pins too.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-04 11:01:40 +02:00
Zebediah Figura
577fd01249
winegstreamer: Remove unused callbacks.
...
These were left behind in the transition to 1.0.
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-26 18:47:33 +01:00
Zebediah Figura
999c862f4f
winegstreamer: Wait for GST_EVENT_CAPS instead of data.
...
Some decoders and files fail to find any valid frames during test-play, so
don't wait for data we might never receive.
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-26 18:47:33 +01:00
Zebediah Figura
7ae35a04f4
winegstreamer: Zero-initialize the GstImpl filter.
...
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-26 18:47:33 +01:00
Zebediah Figura
c907d69cf0
winegstreamer: Avoid using the same event for multiple purposes.
...
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-26 18:47:33 +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
Zebediah Figura
7bf59055cb
winegstreamer: Make sure the pipeline state is NULL before removing output pins.
...
Source pads can be created asynchronously, so they might not be created until
during the call to gst_element_set_state(). Therefore don't copy This->ppPins
into a local variable.
This condition can be triggered by failing to demux a stream.
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
Zebediah Figura
3201cee735
winegstreamer: Don't wait for the no-more-pads signal if playback fails.
...
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
Zebediah Figura
2ea0d6ff81
winegstreamer: Check for failure from gst_element_set_state() instead of counting pads.
...
Especially since pads might be exposed before failure is reported.
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
Zebediah Figura
5374d5ca59
winegstreamer: Stop creating the filter if gstreamer fails to render.
...
Otherwise the push_data() thread will run and try to use resources we
never allocated.
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
Zebediah Figura
079d63e66c
winegstreamer: Hold a reference to the filter in push_data().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-20 17:49:15 +01:00
Alistair Leslie-Hughes
5f5f9974f5
winegstreamer: Remove redundant check.
...
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-06 19:27:09 +01:00
Bruno Jesus
a8fc94d526
winegstreamer: Avoid a magic number for empty offset.
...
Signed-off-by: Bruno Jesus <bjesus@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-27 17:50:40 +01:00
Masanori Kakura
442653b94e
winegstreamer: Avoid zero division in amt_from_gst_caps_video().
...
Signed-off-by: Masanori Kakura <kakurasan@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-25 16:14:15 +01:00
Akihiro Sagawa
38586dcf48
winegstreamer: Fix reference leaks.
...
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-05 16:10:38 +01:00
Alex Henrie
5c54963482
Revert "winegstreamer: Remove redundant null check before g_error_free.".
...
This reverts commit 976ccb92ea
.
This is what I get for not reading the documentation...if you call
g_error_free(NULL), it prints a nasty error message, which I am now
getting frequently.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-30 23:18:51 +01:00
Alex Henrie
424c86ad29
winegstreamer: Avoid double initialization.
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-30 23:18:47 +01:00
Alex Henrie
976ccb92ea
winegstreamer: Remove redundant null check before g_error_free.
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-18 10:52:56 -06:00
Alex Henrie
474d5be546
winegstreamer: If no audio media type was allocated, don't free it.
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-16 09:56:52 -06:00
Alex Henrie
8d4c724593
winegstreamer: Fix memory leaks in amt_from_gst_caps_video.
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-16 09:56:48 -06:00
Akihiro Sagawa
8d3392a8ce
winegstreamer: Always pass non-NULL preferred allocator to IAsyncReader::RequestAllocator.
...
This fixes video playback issue in a certain application.
The approach is very similar to 068593b238
.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-09 16:33:32 +01:00
Nikolay Sivov
6dc6f7fe4d
winegstreamer: Remove some casts that are not needed.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-27 13:21:52 +09:00
Jan Schmidt
adde9fadeb
winegstreamer: Fix refcounting for videoflip.
...
Creating an element and placing it in a bin gives overship of the
element refcount to the bin. Don't explicitly unref it after that.
Signed-off-by: Jan Schmidt <jan@centricular.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-18 22:32:06 +09:00
Jan Schmidt
4aefacd162
winegstreamer: Do conversion before flipping.
...
The videoflip element doesn't handle all formats, so some formats like
Intel Indeo 3 will cause errors and fail.
Add videoconvert before videoflip to do format conversion when it's
needed.
Signed-off-by: Jan Schmidt <jan@centricular.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-18 22:32:06 +09:00
Jan Schmidt
1db3b0bd25
winegstreamer: Don't store decodebin explicitly.
...
Once placed inside the container, decodebin will be managed and
destroyed by the container. There's no need to store it, or (especially)
unref it.
Signed-off-by: Jan Schmidt <jan@centricular.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-18 22:32:05 +09:00
Jan Schmidt
22bdf77486
winegstreamer: Don't replace internal bus.
...
Don't replace the bus on the decodebin inside our container, as it
causes problems with internal GStreamer element management.
Put the bus only on the top-level container.
Signed-off-by: Jan Schmidt <jan@centricular.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-18 22:32:01 +09:00
Zhenbo Li
0c0c86a8c7
winegstreamer: Remove a condition which is always true.
...
Signed-off-by: Zhenbo Li <litimetal@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-08 00:51:08 +09:00
Hadrien Boizard
68e45dd4d0
winegstreamer: Use BOOL type where appropriate.
...
Signed-off-by: Hadrien Boizard <h.boizard@laposte.net>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-02 13:24:50 +09:00
Andrew Eikum
29deae351b
winegstreamer: Set offset on GstBuffer.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-19 23:42:16 +09:00
Andrew Eikum
1517bfb186
winegstreamer: Fix IQualityControl::Notify.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-19 23:42:13 +09:00
Andrew Eikum
0025649714
strmbase: Improve QualityControl tracing.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-18 10:37:08 +09:00
Andrew Eikum
6107b36e56
winegstreamer: Flip video output.
...
Gstreamer handles video top-down, but Windows's dshow handles it
bottom-up. So let's insert a videoflip filter to fix the discrepancy
instead of relying on videorenderer to flip it like we did before.
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
Thomas Faber
fd8a33fde8
winegstreamer: Avoid side-effects in asserts.
2015-04-03 17:07:38 +09:00
Thomas Faber
ed761920ca
winegstreamer: Avoid empty initializer braces.
2015-02-17 22:04:47 +09:00
Thomas Faber
04240e6ae3
winegstreamer: Destroy BaseFilter after GST child class.
2014-07-22 12:07:24 +02:00
Jacek Caban
289bdc4f45
strmbase: Store BasePinFuncTable inside Base*PinFuncTable structs.
2014-01-06 20:47:02 +01:00
Frédéric Delanoy
50435f6623
winegstreamer: Use boolean type where appropriate.
2013-11-11 17:06:44 +01:00
Damjan Jovanovic
4bdfa7f864
winegstreamer: return the IMemAllocator so the BaseOutputPin can store it and use it, avoiding a NULL pointer crash.
2013-01-17 12:21:31 +01:00
Francois Gouget
86c3f68303
winegstreamer: Make the GST_QualityControl methods static.
2012-11-23 14:39:43 +01:00
Christian Costa
20e1f8a027
winegstreamer: Turn some FIXME into TRACE.
2012-11-21 15:20:31 +01:00
Francois Gouget
fac36c55e9
Assorted typo, spelling, wording and case fixes.
2012-05-15 16:26:43 +02:00
Aric Stewart
56477075c2
strmbase: Remove QualityControlImpl from the general strmbase.h.
...
Quality Control things are not part of the standard strmbase library set.
2012-04-03 12:19:17 +02:00
Aric Stewart
d3c5b2c4f1
strmbase: COM cleanup for cleanup SourceSeeking.
2012-03-26 18:15:50 +02:00
Aric Stewart
eb5d8b969f
strmbase: COM cleanup for BasePin, BaseInputPin, and BaseOutputPin.
2012-03-26 18:15:49 +02:00
Maarten Lankhorst
6df92c11ca
winegstreamer: Use WAVE_FORMAT_PCM when possible for demux.
2011-09-14 17:27:11 +02:00
Marcus Meissner
9450b0eb1e
wingstreamer: Set target of parameter pointer, not parameter (Coverity).
2011-07-11 11:53:12 +02:00
Maarten Lankhorst
715921fea0
winegstreamer: Fix setcaps call.
2011-07-05 14:27:37 +02:00
Maarten Lankhorst
9ef5a863e3
winegstreamer: Correct a state transition.
2010-12-14 16:01:59 +01:00
Maarten Lankhorst
ea397d2599
winegstreamer: Silence a harmless fixme.
2010-12-14 16:01:43 +01:00
Maarten Lankhorst
feb716b423
winegstreamer: Always update time when Run is called.
2010-12-06 19:16:01 +01:00
Maarten Lankhorst
bd4083bd63
winegstreamer: Kill thread on disconnect.
2010-12-05 12:24:03 +01:00
Maarten Lankhorst
c911893e43
winegstreamer: Make sure size is set correctly before delivering buffers.
2010-12-05 12:23:56 +01:00
Maarten Lankhorst
3213061ebd
winegstreamer: Do not allow timestamp + late to go negative in QOS messages.
2010-11-25 11:49:06 +01:00
Maarten Lankhorst
36fb590efd
winegstreamer: Fix seeking for real.
2010-11-25 11:48:45 +01:00
Maarten Lankhorst
a63c81d480
winegstreamer: Destroy thread in GST_Connect.
2010-11-17 14:01:16 +01:00
Maarten Lankhorst
f3481b0218
winegstreamer: Fix reference leak.
2010-11-17 14:01:16 +01:00
Maarten Lankhorst
694ec2a48a
winegstreamer: Fix support for seeking in demux.
2010-11-12 12:00:09 +01:00
Maarten Lankhorst
cf085af126
winegstreamer: Move up gst_segment_init to prevent a theoretical race condition.
2010-11-11 17:08:41 +01:00
Maarten Lankhorst
50d8b0db7a
winegstreamer: Fix regression from d62b4dcb66
.
...
Accidentally made a worse leak by plugging a smaller one.
2010-11-11 12:25:06 +01:00
Maarten Lankhorst
97393cd557
winegstreamer: Fix playing .flv and realmedia files.
2010-11-11 12:25:00 +01:00
Maarten Lankhorst
bdde3f1a7d
winegstreamer: Add better support for unsupported audio/video.
...
This will fix the hangs caused by trying to play audio/video files for
which the codecs are not enabled in gstreamer.
2010-11-11 12:24:58 +01:00
Maarten Lankhorst
482541447b
winegstreamer: Fix GetState.
2010-11-10 16:18:52 +01:00
Maarten Lankhorst
46f4011ec4
winegstreamer: Add support for qos to demuxer.
2010-11-10 12:15:27 +01:00
Maarten Lankhorst
d82d3d074b
winegstreamer: Move seeking from filter to pins.
2010-11-10 12:15:17 +01:00
Maarten Lankhorst
d62b4dcb66
winegstreamer: Fix buffer leak in error path.
2010-11-10 12:14:37 +01:00
Aric Stewart
9dc2c5cf0b
winegstreamer: 4 buffers is insufficient for some mpeg streams.
2010-11-09 17:08:21 +01:00
Maarten Lankhorst
76a976d049
winegstreamer: Clarify FIXME.
2010-11-09 17:07:52 +01:00
Maarten Lankhorst
4cbce24593
winegstreamer: Fix GSTInPin_EnumMediaTypes.
2010-11-09 16:57:09 +01:00
Maarten Lankhorst
ccc8141b82
winegstreamer: Send EOS on exiting thread.
2010-11-09 16:56:51 +01:00
Maarten Lankhorst
5d457e0c48
winegstreamer: Fix concept of time in demuxer.
2010-11-08 13:30:24 +01:00
Aric Stewart
7e8751b2e1
strmbase: More properly standardized pin implementations for NewSegment.
2010-11-01 14:53:29 +01:00
Aric Stewart
af927de18b
winegstreamer: Handle active push of data in Splitter.
2010-10-27 18:20:44 +02:00
Aric Stewart
85c2ebc563
winegstreamer: Add SourceSeeking implementation to the Splitter.
2010-10-27 18:20:35 +02:00
Aric Stewart
30c1fe5836
winegstreamer: Add output pin with audio format.
2010-10-27 18:20:27 +02:00
Aric Stewart
d53cdf7325
winegstreamer: Add splitter output pin with video format.
2010-10-27 18:20:20 +02:00
Aric Stewart
a2916f3a0b
winegstreamer: Add gstreamer splitter filter.
2010-10-27 18:19:06 +02:00