Commit graph

1900 commits

Author SHA1 Message Date
Anton Baskanov fb0f6b4be4 quartz/tests: Add tests for MPEG audio decoder quality control.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
2022-05-24 21:22:03 +02:00
Anton Baskanov ea81a48259 winegstreamer: Implement IQualityControl in MPEG audio decoder.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
2022-05-24 21:22:03 +02:00
Anton Baskanov 16d93a32e3 winegstreamer: Add seeking passthrough to MPEG audio decoder.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
2022-05-24 21:22:02 +02:00
Anton Baskanov 32a72b3e78 quartz/tests: Add tests for MPEG audio decoder streaming events.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
2022-05-24 21:22:02 +02:00
Anton Baskanov 50c20cf8cf quartz/tests: Use correct media types in MPEG audio decoder tests.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
2022-05-24 21:22:02 +02:00
Zebediah Figura 2a44723d4d quartz/systemclock: Use timeGetTime() to retrieve the current time.
There is no evidence that the extra overhead should matter, and this allows us
to be consistent, and potentially change timeGetTime() without having to worry
about quartz.

On Windows, timeGetTime() has identical resolution to the interrupt time [i.e.
the "InterruptTime" member of the shared user data, or QueryInterruptTime()].
Like those sources, it approximately measures the boot time. However, the values
are not identical; timeGetTime() lags behind QueryInterruptTime() anywhere from
1 to 12 ms (regardless of timer period) on my Windows 10 virtual machine. The
actual lag is consistent within a process but varies between runs. I have not
been able to account for this lag—it's not the suspend bias, nor is it an
attempt to match the tick count more closely.

In short, timeGetTime() seems to be idiosyncratic to winmm. Since quartz has
been shown to follow winmm exactly on Windows, let's follow it on Wine as well.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53005
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-17 11:50:18 +02:00
Anton Baskanov 2567ff497d winegstreamer: Set sample timestamps in MPEG audio decoder.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-11 19:33:23 +02:00
Anton Baskanov 5db4b0cff9 quartz/tests: Add tests for MPEG audio decoder sample timestamps.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-11 19:33:23 +02:00
Anton Baskanov bae7ac48bc winegstreamer: Add IMpegAudioDecoder stub to MPEG audio decoder.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50462
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-11 19:33:23 +02:00
Anton Baskanov 6eca6ad686 winegstreamer: Implement Receive() for MPEG audio decoder sink.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-06 12:06:50 +02:00
Anton Baskanov 23fb8a6b49 quartz/tests: Add tests for MPEG audio decoder sample processing.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-06 12:06:50 +02:00
Anton Baskanov b18b7260a2 quartz/tests: Don't fail tests when MPEG audio decoder creation fails.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-06 12:06:50 +02:00
Anton Baskanov f91f434835 winegstreamer: Commit allocator on pause in MPEG audio decoder.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-02 22:43:53 +02:00
Anton Baskanov 1933981760 quartz/tests: Add tests for MPEG audio decoder source connection.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-02 22:43:53 +02:00
Anton Baskanov 7c20724b0d quartz/tests: Add tests for MPEG audio decoder source allocator.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-02 22:43:53 +02:00
Anton Baskanov 562d8c338d winegstreamer: Implement output media type enumeration in MPEG audio decoder.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-02 22:43:53 +02:00
Anton Baskanov 7d28e8ec89 quartz/tests: Add tests for MPEG audio decoder output media type enumeration.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-02 22:43:53 +02:00
Anton Baskanov f46618e386 quartz/tests: Add tests for MPEG audio decoder sink allocator.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-02 22:43:53 +02:00
Anton Baskanov 64b96eec7d winegstreamer: Reject incompatible output types in MPEG audio decoder.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-28 23:03:36 +02:00
Anton Baskanov a7a90de929 quartz/tests: Add tests for MPEG audio decoder sink connection.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-28 23:03:31 +02:00
Anton Baskanov 2298f04a1d winegstreamer: Reject incompatible input media types in MPEG audio decoder.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-28 23:03:27 +02:00
Anton Baskanov f7668a85d1 quartz/tests: Add tests for MPEG audio decoder accepted media types.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-27 21:45:13 +02:00
Anton Baskanov c63b53326c quartz/tests: Add tests for MPEG audio decoder IEnumMediaTypes.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-27 21:45:09 +02:00
Anton Baskanov d7c4fa0d57 winegstreamer: Add a skeleton MPEG audio decoder filter.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 22:15:15 +02:00
Anton Baskanov cf849b7308 quartz/tests: Add tests for querying MPEG audio decoder pin info.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 22:10:32 +02:00
Anton Baskanov da0524a777 quartz/tests: Add tests for IBaseFilter_FindPin() on MPEG audio decoder.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 22:10:27 +02:00
Anton Baskanov 4e311ec13a quartz/tests: Add tests for IBaseFilter_EnumPins() on MPEG audio decoder.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 22:10:23 +02:00
Anton Baskanov 1a2697e58e quartz/tests: Add tests for MPEG audio decoder unconnected filter state change.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 22:10:18 +02:00
Anton Baskanov c4d4424358 quartz/tests: Add tests for MPEG audio decoder aggregation.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 22:10:13 +02:00
Anton Baskanov 0f4b8a3e85 quartz/tests: Add tests for MPEG audio decoder interfaces.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 22:10:02 +02:00
Zebediah Figura d0b400c945 quartz/vmr9: Stub IAMVideoAccelerator.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-14 09:28:41 +02:00
Zebediah Figura fc88f4b387 quartz/tests: Check for IAMVideoAccelerator.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-14 09:28:39 +02:00
Zebediah Figura d3e74a7270 quartz/tests: Test more VMR7 interfaces in all modes.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-14 09:28:36 +02:00
Rémi Bernon af3fcc3f3e quartz: Use the right VideoRenderer pin names.
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-03-28 22:22:31 +02:00
Rémi Bernon 9e32d45d98 quartz: Use the right AVIDec pin names.
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-03-28 22:22:28 +02:00
Rémi Bernon 7348ac6826 quartz: Use the right ACMWrapper pin names.
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-03-28 22:22:25 +02:00
Eric Pouech 3c2e6efb5a quartz/tests: Build without -DWINE_NO_LONG_TYPES.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-07 20:53:12 +01:00
Eric Pouech 64e2921ef3 quartz/tests: Use the correct integer types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-07 20:53:12 +01:00
Zebediah Figura 3b29ef9e75 quartz/tests: Test the timestamps associated with new segments.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-22 18:20:23 +01:00
Zebediah Figura 7b5dd73c30 quartz/tests: Reset sink event counters when initializing the stream.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-22 18:20:23 +01:00
Eric Pouech e102068c0d quartz: Always allocate the entire VIDEOINFO structure.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-17 22:16:03 +01:00
Zebediah Figura 9d5d8df6f0 quartz: Use IMemAllocator::GetBuffer() directly.
BaseOutputPinImpl_GetDeliveryBuffer() is doing nothing helpful here.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-07 10:57:52 +01:00
Zebediah Figura 4364ff8d5c quartz: Build without -DWINE_NO_LONG_TYPES.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-04 22:44:49 +01:00
Zebediah Figura e41b3529e3 quartz/filtergraph: Clean up CheckCircularConnection().
Use clearer variable names, and simplify the error handling.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-03 10:48:28 +01:00
Zebediah Figura ae9d64ed4c quartz/filtergraph: Remove redundant checks for pin direction from CheckCircularConnection().
These are already checked in the callers.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-03 10:48:24 +01:00
Zebediah Figura 9942693a85 quartz/filtergraph: Remove "#if 1" from CheckCircularConnection().
Cycle detection is done by native quartz.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-03 10:48:20 +01:00
Zebediah Figura 09cf9b8a13 quartz/tests: Test more interfaces exposed by the filter graph.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-03 10:48:13 +01:00
Zebediah Figura 75b8dcd29f quartz/filtergraph: Implement the IDispatch methods for IMediaEvent.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-02 10:55:13 +01:00
Zebediah Figura 8a2cdd7aa6 quartz/filtergraph: Implement the IDispatch methods for IMediaPosition.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-02 10:55:13 +01:00
Zebediah Figura e68a1009ad quartz/filtergraph: Implement the IDispatch methods for IMediaControl.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-02 10:55:13 +01:00