Commit graph

2004 commits

Author SHA1 Message Date
Anton Baskanov a91a7bf5a7 quartz: Hold the streaming lock while calling ICDecompressEnd.
Otherwise, the streaming thread might try to access the decompressor while it's being destroyed.
2024-05-22 22:28:43 +02:00
Anton Baskanov e6a6e6545b quartz: Use the correct stride when calculating image size in AVIDec. 2024-05-22 22:28:43 +02:00
Anton Baskanov a2996078bf quartz: Get output format from source, not sink in AVIDec. 2024-05-22 22:28:43 +02:00
Anton Baskanov 5e592a8e74 quartz/tests: Use unaligned width in AVIDec tests to expose incorrect stride calculation. 2024-05-22 22:28:43 +02:00
Elizabeth Figura 058439ce49 quartz: Link to msvcrt instead of ucrtbase.
It links to strmbase, which is built against msvcrt.
2024-05-14 18:28:32 +02:00
Akihiro Sagawa 7c03bca53b winegstreamer: Seek to the end after MPEG splitter connection.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56485
2024-05-07 22:49:45 +02:00
Akihiro Sagawa 3547dfc529 quartz/tests: Test read position after MPEG splitter connection.
To demonstrate the difference in behavior, we need a special MPEG
program stream that is at least 32kB over in size.
2024-05-07 22:49:45 +02:00
Alexandre Julliard 64923f3fee widl: Default to fully interpreted stubs mode. 2024-05-02 09:22:40 +02:00
Alexandre Julliard dc8395f287 quartz: Use fully interpreted IDL stubs. 2024-05-01 12:41:37 +02:00
Akihiro Sagawa 545b1c67b5 winegstreamer: Implement input media type enumeration in MPEG splitter. 2024-04-25 22:18:19 +02:00
Akihiro Sagawa 486f89b97d winegstreamer: Reject unexpected formats on init. 2024-04-25 22:18:19 +02:00
Akihiro Sagawa 953af3af5f quartz/tests: Add tests to reject unsupported contents for MPEG splitter. 2024-04-25 22:18:19 +02:00
Alfred Agrell 917bd3ca18 quartz: Fix memory leak on failure path. 2024-04-16 21:26:51 +02:00
Alfred Agrell 56dfb5bbf4 quartz/tests: Test the new error codes. 2024-04-16 21:26:51 +02:00
Alfred Agrell 6a3bec8e3f quartz: Fix error code on empty filename.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56491
2024-04-16 21:26:51 +02:00
Alfred Agrell 16579ffb1d quartz/tests: Test that compressed formats are offered for MPEGs. 2024-04-16 21:26:51 +02:00
Paul Gofman 1194995050 ddraw: Don't demand WINED3D_BIND_SHADER_RESOURCE for making surface in vidmem. 2024-03-28 19:48:08 +01:00
Alexandre Julliard 35cb600c43 idl: Use IPSFactoryBuffer instead of a non-existent IFactoryBuffer.
Caught by midl.
2024-03-27 22:19:24 +01:00
Rémi Bernon 7c7e55892e winegstreamer: Append an optional parser before decoders. 2024-03-21 10:50:32 +01:00
Zebediah Figura 525ef1bf77 quartz/tests: Add some tests for VMR7 renderless mode. 2024-03-19 23:02:11 +01:00
Zebediah Figura 668c959f5a quartz: Return S_OK from IVMRSurfaceAllocator_PrepareSurface(). 2024-03-19 23:02:11 +01:00
Zebediah Figura 442ef40665 quartz: Implement IVMRSurfaceAllocatorNotify::AdviseSurfaceAllocator(). 2024-03-19 23:02:11 +01:00
Zebediah Figura 4c40aeb90b quartz: Reimplement the VMR7 using the VMR7 presenter. 2024-03-19 23:02:11 +01:00
Zebediah Figura e428afe4ae quartz: Implement SetVideoClippingWindow() and PresentImage() in the VMR7 presenter. 2024-03-19 23:02:11 +01:00
Paul Gofman ec66697005 quartz: Force debug info in critical sections. 2024-03-07 22:56:12 +01:00
Brendan Shanks 542e11fcd9 quartz: Set the name of internal threads. 2024-03-07 08:58:49 +01:00
Alex Henrie 2e9a57a0b8 include: Add debugstr_time to wine/strmbase.h. 2024-02-22 12:30:47 +01:00
Eric Pouech eed778467a quartz: Delay import ddraw.
So that ddraw isn't always loaded, esp. for app not requesting vmr7.
Could lower memory pressure on 32bit.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-01-03 21:00:09 +01:00
Zebediah Figura 9be491e80f quartz: Implement sample allocation in the VMR7 presenter. 2023-12-07 21:58:24 +01:00
Zebediah Figura 830801d534 quartz: Stub IVMRWindowlessControl on the VMR7 presenter.
Rewrite needs this.
2023-12-07 21:58:23 +01:00
Zebediah Figura 7b751a9f7c quartz: Stub IVMRSurfaceAllocator on the VMR7 presenter. 2023-12-07 21:58:23 +01:00
Zebediah Figura cf44bec598 quartz: Stub CLSID_AllocPresenter. 2023-12-07 21:58:22 +01:00
Zebediah Figura 2c1dcf4b28 quartz: Specify the mode as a VMRMode. 2023-12-06 23:10:00 +01:00
Zebediah Figura dea65774ce quartz: Split the VMR into two separate filters.
Rewrite requires renderless mode in the VMR7, which means that it needs to
actually use ddraw instead of d3d9. At that point the two will share almost no
common code. Split them into separate objects which live in separate files.

This commit essentially copies vmr9.c into vmr7.c, then removes the
VMR7-specific interfaces from the VMR9 and vice versa. The default presenter is
retained for now (but will be replaced eventually).

Since the VMR7 no longer exposes IVMRSurfaceAllocatorNotify9, the relevant calls
to AdviseNotify(), SetD3DDevice(), and AllocateSurfaceHelper() are changed from
COM methods to direct function calls. No other change should be made.
2023-12-06 23:09:58 +01:00
Zebediah Figura edc843d36f quartz: Do not forward IVMRWindowlessControl::SetVideoClippingWindow() to IVMRWindowlessControl9. 2023-12-06 23:09:58 +01:00
Zebediah Figura ecc04319e6 quartz: Improve the IVMRFilterConfig::SetNumberOfStreams() stub.
Bring it up to parity with IVMRFilterConfig9::SetNumberOfStreams().
2023-12-06 23:09:57 +01:00
Zebediah Figura 096172f27f quartz: Do not forward IVMRFilterConfig::SetRenderingMode() to IVMRFilterConfig9. 2023-12-06 23:09:57 +01:00
Zebediah Figura 20b1ef6ed0 quartz: Return the rect from get_default_rect() through a pointer.
Notably, this avoids the incorrect use of a static variable.
2023-12-06 23:09:55 +01:00
Alfred Agrell 31788cdc8c quartz/tests: Improve VMR9 ChangeD3DDevice test.
- Checks that it presents using the new device, instead of counting TerminateDevice.
- Works on Windows now.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55649
2023-12-05 22:01:08 +01:00
Anton Baskanov b9e8a742b7 winegstreamer: Handle quality control messages in CMpegVideoCodec.
Based on the code from quartz_parser and wg_parser.
2023-12-05 21:24:36 +01:00
Anton Baskanov 1fd2958fbe quartz/tests: Add quality control tests for CMpegVideoCodec. 2023-12-05 21:24:36 +01:00
Michael Stefaniuc 466c97008c quartz: Remove redudant NULL checks before CoTaskMemFree(). 2023-11-20 17:44:52 +01:00
Alex Henrie f73a839612 quartz: Use debugstr_fourcc instead of debugstr_an. 2023-11-03 11:56:45 +01:00
Alfred Agrell 012de8b265 quartz/tests: Add tests for CLSID_CMpegVideoCodec. 2023-11-01 22:44:12 +01:00
Alfred Agrell 65ea18ba78 quartz/tests: Add tests for new CLSID_MPEG1Splitter functionality. 2023-11-01 22:44:12 +01:00
Alexandre Julliard 7ccb5df0fc makefiles: Always use the global SOURCES variable for .rc files. 2023-11-01 22:43:56 +01:00
Alexandre Julliard c432eac726 makefiles: Always use the global SOURCES variable for .idl files. 2023-11-01 22:43:50 +01:00
Eric Pouech a23402f6e7 quartz: Return correct error when no audio devices are present.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-10-17 21:48:20 +02:00
Alfred Agrell f8d9bf3651 quartz/tests: Fix segfault in changed3ddevice test. 2023-09-14 20:27:41 +02:00
Alfred Agrell f413e9ab7d quartz: Delete some redundant members from struct quartz_vmr. 2023-09-12 20:28:05 +02:00