Commit Graph

492 Commits

Author SHA1 Message Date
Zebediah Figura 1b3d163208 winegstreamer/gsttffilter: Call IMemInputPin::Receive() directly.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-26 22:49:03 +01:00
Zebediah Figura bd83b11a23 strmbase: Return a strmbase_pin pointer from the filter_get_pin() callback.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-25 20:47:43 +01:00
Zebediah Figura 03f0479c34 strmbase: Rename the "mtCurrent" field of struct strmbase_pin to "mt".
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-19 09:23:09 +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 b3e325f36b strmbase: Move tracking of the stream start time to the renderer.
Only renderers should ever need to care about this.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-04 23:16:25 +02:00
Zebediah Figura f65cb89cbc winegstreamer: Initialize COM on the callback dispatcher thread.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47822
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-30 22:24:25 +02:00
Zebediah Figura c7a447b67a strmbase: Rename "pConnectedTo" to "peer".
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-27 13:26:52 +02:00
Zebediah Figura b0e47ab9e7 strmbase: Pass an unsigned index to pin_get_media_type().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-25 16:27:57 +02:00
Zebediah Figura f46fe6d371 strmbase: Rename pfnGetMediaType() to pin_get_media_type().
And remove the unnecessary calling convention.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-25 16:27:54 +02:00
Zebediah Figura 9f1909be89 strmbase: Rename pfnCheckMediaType() to pin_query_accept().
And remove the unnecessary calling convention.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-25 16:27:51 +02:00
Zebediah Figura 8619eb9838 strmbase: Get rid of the BasePin typedef.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-24 09:08:20 +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 bf46266099 winegstreamer: Don't set the source and target rects in amt_from_gst_caps_video().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-20 12:47:19 +02:00
Zebediah Figura 923a7808f4 winegstreamer: Set lSampleSize to 1 in amt_from_gst_caps_video().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-20 12:47:13 +02:00
Zebediah Figura 8d5c0a6631 winegstreamer: Clear bFixedSizeSamples in amt_from_gst_caps_video().
This makes no logical sense, but the native AVI splitter never sets this field.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-20 12:47:08 +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
Zebediah Figura 41fc456498 winegstreamer: Introduce a callback for filter-specific initialization.
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
Zebediah Figura e73c58f9e6 winegstreamer: Move more common pin initialization into create_pin().
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
Zebediah Figura 68a9cbcc80 winegstreamer: Also set cbFormat when using WAVE_FORMAT_PCM.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-17 14:54:32 +02:00
Zebediah Figura 19c6b2f26e winegstreamer: Clear bTemporalCompression in amt_from_gst_caps_audio().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-17 14:54:29 +02:00
Zebediah Figura 13da4669bd winegstreamer: Set bFixedSizeSamples in amt_from_gst_caps_audio().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-17 14:54:25 +02:00
Zebediah Figura ad79189402 winegstreamer: Set lSampleSize in amt_from_gst_caps_audio().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-17 14:54:21 +02:00
Zebediah Figura c9a94b4de1 winegstreamer: Factor out amt_from_gst_caps().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-16 10:12:53 +02:00
Zebediah Figura 450d443b89 winegstreamer: Use the "format" field to determine the subtype and bit depth.
The "bits" field does not directly describe the total bit depth.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-16 10:12:53 +02:00
Zebediah Figura 9ef5825941 winegstreamer: Improve some trace messages.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-16 10:12:40 +02:00
Zebediah Figura 7782b8ea4c winegstreamer: Store the pin media type directly.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-16 10:12:38 +02:00
Zebediah Figura 993d1dd2f8 winegstreamer: Get rid of the GSTOutPin typedef.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-13 19:34:19 +02:00
Zebediah Figura 4b635019dd winegstreamer: Get rid of the GSTImpl typedef.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-13 19:34:19 +02:00
Zebediah Figura 9c92c0bf19 winegstreamer: Use BasePinImpl_QueryAccept() and BasePinImpl_EnumMediaTypes().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-13 19:34:17 +02:00
Zebediah Figura 765cb748a8 strmbase: Get rid of the BaseOutputPinFuncTable typedef.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-13 10:37:49 +02:00
Zebediah Figura c585931d61 strmbase: Get rid of the BaseOutputPin typedef.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-13 10:37:37 +02:00
Zebediah Figura d9f218a338 winegstreamer: Use the global HeapAlloc() wrappers.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-10 23:20:41 +02:00
Zebediah Figura 9e015a2ad1 winegstreamer: Don't activate our source pad immediately after connecting.
There's not any reason to do this here; this should be handled with state
change transitions. Since the pipeline is in the ready state, the only
effect this will have is push_data() trying to run and failing since the
decodebin sink pad isn't active.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-10 23:20:41 +02:00
Zebediah Figura 3619ff7517 winegstreamer: Handle GST_EVENT_RECONFIGURE.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-09 16:25:56 +02:00
Zebediah Figura c98c263266 winegstreamer: Get rid of the unused "discont" field from GstImpl.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-09 16:25:56 +02:00
Zebediah Figura d6e2deef19 winegstreamer: Get rid of the GSTInPin structure.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-09 16:25:56 +02:00
Zebediah Figura 92e4d33635 winegstreamer: Get rid of the "isaud" and "isvid" fields of GstOutPin.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-09 16:25:56 +02:00
Zebediah Figura da69d353aa winegstreamer: Get rid of the unused "gstpool" field from GSTOutPin.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-09 16:25:56 +02:00
Zebediah Figura aa88c5d65b strmbase: Get rid of the "pCritSec" member of BasePin.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-06 13:07:22 +02:00
Zebediah Figura 28a511554c strmbase: Store the filter as a strmbase_filter pointer in the BasePin structure.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-06 13:07:16 +02:00
Zebediah Figura 06d72b61ce winegstreamer: Use strmbase_source_init().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-05 08:30:50 +02:00
Zebediah Figura eeb7bc58aa strmbase: Get rid of the BaseFilter typedef.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-29 20:08:14 +02:00
Zebediah Figura cfe3b05c83 strmbase: Get rid of the BaseFilterFuncTable typedef.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-29 20:08:14 +02:00
Zebediah Figura 1317102f6c strmbase: Get rid of the "debug_info" parameter to strmbase_filter_init().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-28 08:44:35 +02:00
Zebediah Figura abdaa6f21f winegstreamer: Share source with strmbase.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-05 18:45:57 +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
Zebediah Figura 2d5c9d0666 strmbase/transform: Store the pins inline in the TransformFilter structure.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-21 08:06:00 +02:00
Zebediah Figura 117e07e706 winegstreamer: Use strmbase pin reference counting methods.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-20 08:51:23 +02:00
Zebediah Figura 42b3fd84bb strmbase: Share pin and filter reference counts in base pin reference counting methods.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-19 10:26:21 +02:00
Zebediah Figura 8983528f60 winegstreamer: Share source pin and filter reference counts.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-18 08:57:33 +02:00
Zebediah Figura 8d249e1863 winegstreamer: Share sink pin and filter reference counts.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-18 08:57:31 +02:00
Zebediah Figura 690838a0e0 strmbase: Don't increment the pin reference count in filter_get_pin().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-11 18:21:26 +02:00
Zebediah Figura f500b1dc19 strmbase: Support aggregation in the base transform filter.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-06 17:40:44 +02:00
Zebediah Figura 31a5cb5f05 strmbase: Support aggregation in the base filter.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-04 23:05:25 +02:00
Zebediah Figura c15b457379 winegstreamer/gstdemux: Use BaseFilterImpl_QueryInterface().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-31 10:10:17 +02:00
Zebediah Figura 42699ad1ad winegstreamer/gstdemux: Use BaseFilterImpl_Release().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-27 14:37:40 +02:00
Zebediah Figura 1fc5c6b75d strmbase: Remove unnecessary calling convention from the filter_get_pin() callback.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-24 11:25:35 +02:00
Zebediah Figura 8a8c5a8229 strmbase: Rename pfnGetPin to filter_get_pin.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-24 11:25:35 +02:00
Zebediah Figura 97546ca0b7 strmbase: Use an unsigned int for the GetPin() callback.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-24 11:25:35 +02:00
Zebediah Figura 43444f4096 strmbase: Rename BaseFilter_Destroy() to strmbase_filter_cleanup().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-22 09:27:19 +02:00
Zebediah Figura 0f9e4cd660 strmbase: Get rid of the "filterVtbl" parameter to TransformFilter_Construct().
Reordering some functions to avoid forward declarations.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-15 09:36:15 +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 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
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 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
Akihiro Sagawa 6ea86fae55 winegstreamer: Fix a crash in Gstreamer_Mp3_SetMediaType().
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-06-14 01:02:59 +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 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
Michael Stefaniuc 8cbb680b44 winegstreamer: Avoid a FALSE:TRUE conditional expression.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-02 23:30:08 +09:00
Andrew Eikum 3fb8ec59ff winegstreamer: Fix usage of gst_audio_format_build_integer.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-20 12:09:13 +09:00
Sebastian Lackner 4c8125601b winegstreamer: Manually assign union variables.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-16 23:26:25 +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
Alexandre Julliard cf0e96c6d0 configure: Rename substituted variables to a standard _CFLAGS and _LIBS format. 2014-01-30 14:51:33 +01:00
Alexandre Julliard 8aa64e3580 configure: Automatically expand _CFLAGS and _LIBS variables in all makefiles. 2014-01-30 12:42:56 +01:00
Jacek Caban 289bdc4f45 strmbase: Store BasePinFuncTable inside Base*PinFuncTable structs. 2014-01-06 20:47:02 +01:00
Alexandre Julliard 5e7416e5c8 makefiles: Get rid of the MAKE_DLL_RULES variable. 2014-01-02 12:08:18 +01:00
Frédéric Delanoy 50435f6623 winegstreamer: Use boolean type where appropriate. 2013-11-11 17:06:44 +01:00
Frédéric Delanoy 4473ce4db9 Assorted spelling fixes. 2013-10-30 09:46:27 +01:00
Frédéric Delanoy afc0803df7 winegstreamer: Use BOOL type where appropriate. 2013-10-11 11:05:55 +02:00
Alexandre Julliard 96d9a7dec2 configure: Use the pkg-config helper macro for gstreamer. 2013-05-03 20:45:32 +02:00
Alessandro Pignotti f53fa4f05b strmbase: Remove code duplicated by every user of ISeekingPassThruImpl. 2013-03-05 09:50:02 +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
Christian Costa 1fcce23f34 winegstreamer: Remove left over FIXME. 2012-11-21 15:20:26 +01:00
Francois Gouget fac36c55e9 Assorted typo, spelling, wording and case fixes. 2012-05-15 16:26:43 +02:00
Christian Costa 1a5851f634 winegstreamer: Remove useless FIXME. 2012-04-16 11:48:09 +02:00
Aric Stewart 51e3834bfb strmbase: Add IMediaPosition implementation to PosPassThru. 2012-04-04 17:49:04 +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
Aric Stewart 9526499b88 winegstreamer: Set bmiHeader.biSizeImage in the transform filter. 2012-01-24 20:43:13 +01:00
Aric Stewart cb2d40275b winegstreamer: Update transform filters to use the correct csReceive critical section. 2012-01-23 11:10:21 +01:00
André Hentschel b5ba054ce8 Assorted header comment cleanup. 2012-01-04 19:35:13 +01:00
Maarten Lankhorst 6df92c11ca winegstreamer: Use WAVE_FORMAT_PCM when possible for demux. 2011-09-14 17:27:11 +02:00
Francois Gouget 312036d3c8 winegstreamer: Make GSTTf_QueryInterface() static. 2011-07-25 11:57:12 +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
Alexandre Julliard 5f49129e03 resources: Define a generic mechanism for adding extra values to the common version block. 2010-12-03 14:53:59 +01:00
Maarten Lankhorst e0169705d9 winegstreamer: Prevent gstreamer from being unloaded. 2010-11-29 19:43:33 +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 096da45036 winegstreamer: Fix deadlock when changing state.
Leaving the lock is legal and required here since gstreamer has its
own locking in place. gst_pad_push could otherwise deadlock.
2010-11-12 12:00:04 +01:00
Maarten Lankhorst 34d4b5a227 winegstreamer: Bump buffers to 2 in transform filter. 2010-11-12 11:59:47 +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 47725db633 winegstreamer: Set correct state when ending processing. 2010-11-11 12:25:10 +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 9ce718d0e9 winegstreamer: Add QOS to transformer filters. 2010-11-10 12:14:55 +01:00
Maarten Lankhorst 1b192ae799 winegstreamer: Fix NewSegment in transform filter. 2010-11-10 12:14:41 +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
Maarten Lankhorst 1577c5a8c3 winegstreamer: Forward media time on transform filter. 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 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
Aric Stewart aeb19307c7 winegstreamer: Add structure for gstreamer transform filters. 2010-10-28 12:38:13 +02:00
Alexandre Julliard 800cdcfe49 winegstreamer: Define real DllCanUnloadNow and DllGetClassObject functions. 2010-10-28 11:42:52 +02: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
Aric Stewart 48f3adc06b winegstreamer: Add glib threading overrides. 2010-10-26 18:11:36 +02:00
Alexandre Julliard 9db3ccd0dd winegstreamer: Fix module name and remove obsolete variables in makefile. 2010-10-23 10:44:34 +02:00
Aric Stewart 2914d65579 winegstreamer: Add wine GStreamer parser filter framework. 2010-10-22 15:49:19 +02:00