Commit Graph

361 Commits

Author SHA1 Message Date
Anton Baskanov b8a646f499 amstream: Support the event parameter in IDirectDrawStreamSample::Update.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50628
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-21 21:00:33 +02:00
Anton Baskanov 3088ce35cb amstream/tests: Add a test for event parameter of IDirectDrawStreamSample::Update.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-21 21:00:33 +02:00
Anton Baskanov c19fb3d70d amstream: Implement AMMultiMediaStream::GetEndOfStreamEventHandle.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=34746
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-21 21:00:33 +02:00
Anton Baskanov ba44377fe8 amstream/tests: Add tests for AMMultiMediaStream::GetEndOfStreamEventHandle.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-21 21:00:33 +02:00
Anton Baskanov 1917fe0e07 amstream: Call IMediaStreamFilter::Flush in IPin::BeginFlush.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-20 22:57:11 +02:00
Anton Baskanov 35fc7319e2 amstream/tests: Test that streams call IMediaStreamFilter::Flush in IPin::BeginFlush.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-20 22:57:11 +02:00
Anton Baskanov 9a0027dbba amstream: Call IMediaStreamFilter::EndOfStream when streams receive EOS.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-20 22:57:11 +02:00
Anton Baskanov 1296b0efb5 amstream/tests: Test that streams call IMediaStreamFilter::EndOfStream.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-20 22:57:11 +02:00
Anton Baskanov eea53b3c40 amstream: Implement MediaStreamFilter::EndOfStream.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-12 19:33:48 +02:00
Anton Baskanov 4fb348315f amstream/tests: Add more tests for IMediaStreamFilter::EndOfStream.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-12 19:32:15 +02:00
Anton Baskanov ac65e15409 amstream/tests: Add tests for MediaStreamFilter::EndOfStream.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-07 22:36:12 +02:00
Anton Baskanov ad61b39283 amstream/tests: Refactor test graph to support multiple interfaces.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-07 22:36:12 +02:00
Jacek Caban d614d04833 amstream/tests: Move WINE_NO_NAMELESS_EXTENSION to source file.
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-29 09:24:52 +02:00
Jacek Caban b39b9eea39 include: Don't default to WINE_NO_NAMELESS_EXTENSION for Wine build.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-22 21:48:38 +01:00
Zebediah Figura 690afb42f6 strmbase: Rename csFilter to filter_cs.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-19 08:52:32 +01:00
Zebediah Figura 402532b3fd amstream/tests: Define NONAMELESSUNION.
Old versions of gcc allow nameless unions, but can't parse them in designated initializers.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50378
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-21 21:08:14 +01:00
Zebediah Figura 6e6d73b818 amstream/tests: Commit the allocator directly.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-18 10:48:20 +01:00
Anton Baskanov a103368917 amstream: Implement AMMultiMediaStream::GetTime.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-18 10:47:57 +01:00
Anton Baskanov 23cbd7f591 amstream: Implement AMMultiMediaStream::GetState.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-18 10:47:55 +01:00
Anton Baskanov 16874608d6 amstream: Implement MediaStreamFilter::IsFormatSupported.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-18 10:47:52 +01:00
Anton Baskanov 826164c127 amstream: Factor out the common code of MediaStreamFilter seeking tests.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-18 10:47:30 +01:00
Anton Baskanov e5d1245842 amstream: Implement AMDirectDrawStream::GetTimePerFrame.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 21:06:18 +01:00
Anton Baskanov b2148c2fff amstream: Wait for presentation time in AMDirectDrawStream::Receive.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 17:51:30 +01:00
Anton Baskanov a68f2bd7b4 amstream/tests: Add comments to AMDirectDrawStream::CompletionStatus tests.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 17:51:30 +01:00
Anton Baskanov 4919b9b99f amstream: Implement MediaStreamFilter::Flush.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-05 22:30:05 +01:00
Anton Baskanov 28764bd0c5 amstream: Implement MediaStreamFilter::WaitUntil.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-04 09:07:23 +01:00
Anton Baskanov 8492657ab8 amstream: Release filter critical section before calling upstream seeking methods.
Otherwise a seek might deadlock when the stream calls the filter methods (e.g. WaitUntil) from streaming thread.

Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-04 09:07:20 +01:00
Anton Baskanov 7cdfafe0bc amstream: Handle AMMSF_NOCLOCK flag in AMMultiMediaStream::OpenFile.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-03 21:50:20 +01:00
Anton Baskanov a73460bca0 amstream: Wait for the state transition to complete in AMMultiMediaStream::SetState.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-03 21:50:14 +01:00
Anton Baskanov aaf461b7d2 amstream: Implement SSUPDATE_CONTINUOUS flag in IDirectDrawStreamSample::Update.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-13 11:33:46 +02:00
Anton Baskanov 5d5102f849 amstream: Reference the multimedia stream in ddraw stream sample.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-07 22:31:24 +02:00
Anton Baskanov 6bfa705e3c amstream: Implement AMDirectDrawStream::NewSegment.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-06 21:49:41 +02:00
Anton Baskanov b9fb8c55c4 amstream: Implement AMDirectDrawStream::BeginFlush and ::EndFlush.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-06 21:49:38 +02:00
Anton Baskanov e58b42d48d amstream: Implement IDirectDrawStreamSample::GetSampleTimes.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-02 09:57:13 +02:00
Anton Baskanov 29a4921278 amstream: Implement IDirectDrawStreamSample::CompletionStatus.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-02 09:57:10 +02:00
Anton Baskanov dca38a84fb amstream: Implement AMDirectDrawStream::Receive and IDirectDrawStreamSample::Update.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-25 19:39:30 +02:00
Anton Baskanov 5f7e25c7b1 amstream: Call ::SetFormat in AMDirectDrawStream::CreateSample.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-25 19:29:33 +02:00
Anton Baskanov fdf43b9bac amstream: Implement AMDirectDrawStream::EndOfStream.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-24 15:02:28 +02:00
Anton Baskanov 999b59b7c1 amstream: Implement AMDirectDrawStream::SetState.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-24 15:02:25 +02:00
Anton Baskanov e64a2e112e amstream: Use current format to create surface in AMDirectDrawStream::CreateSample.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-10 10:23:24 +02:00
Anton Baskanov 47ab124022 amstream: Reconnect if the new format is incompatible with the connection media type in AMDirectDrawStream::SetFormat.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-10 10:23:23 +02:00
Anton Baskanov 337fcca4d1 amstream: Reject incompatible media types in AMDirectDrawStream::ReceiveConnection.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-10 10:23:21 +02:00
Anton Baskanov 8c1204ffee amstream: Implement AMDirectDrawStream::SetFormat.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-10 10:23:19 +02:00
Anton Baskanov 3f712c1d43 amstream: Implement AMDirectDrawStream::GetFormat.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-10 10:23:17 +02:00
Zebediah Figura 5f71e720fd amstream/tests: Get rid of test_renderfile().
It's not testing anything anymore that's not tested elsewhere.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-31 22:07:48 +02:00
Zebediah Figura b02de178eb amstream/tests: Avoid leaking "stream" in test_find_pin().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-31 22:07:44 +02:00
Gijs Vermeulen a53288e8c9 amstream: Implement IMediaStreamFilter::ReferenceTimeToStreamTime().
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-25 23:01:48 +02:00
Gijs Vermeulen 0a2bf90733 amstream: Return S_FALSE when IMediaSeeking::GetDuration() fails in IAMMultiMediaStream::GetDuration().
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-20 18:47:14 +02:00
Gijs Vermeulen bdf8600338 amstream: Return VFW_E_CANNOT_CONNECT in IAMMultiMediaStream::OpenFile() when no renderers are present and AMMSF_NORENDER is not specified.
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-20 18:47:08 +02:00
Gijs Vermeulen a518975663 amstream: Increase parent IAMMediaStream refcount in IDirectDrawMediaStream::CreateSample().
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-05 22:51:35 +02:00