Commit Graph

46 Commits

Author SHA1 Message Date
Anton Baskanov a0711d16fa 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>
(cherry picked from commit b8a646f499)
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
2021-07-08 00:04:23 +02: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 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
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
Gijs Vermeulen a4ddb5a1e6 amstream: Return E_INVALIDARG when a rect but no surface is passed 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:33 +02:00
Gijs Vermeulen 97aeeb0142 amstream: Accept more media subtypes in AMVideoStream::ReceiveConnection().
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-07-28 12:59:27 +02:00
Gijs Vermeulen c6b4372845 amstream: Implement AMMediaStream::JoinFilterGraph.
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-07-14 18:04:05 +02:00
Gijs Vermeulen a7c515fe01 amstream: Accept only MEDIASUBTYPE_RGB8 in check_media_type().
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-07-01 10:59:35 +02:00
Gijs Vermeulen fddae90d9b amstream: Validate the format type in check_media_type().
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-07-01 10:59:35 +02:00
Gijs Vermeulen 83bdfb780c amstream: Return VFW_E_TYPE_NOT_ACCEPTED on error in AMVideoStream::QueryAccept().
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-07-01 10:59:35 +02:00
Gijs Vermeulen 276701e9b4 amstream: Lock the entirety of 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-07-01 10:59:35 +02:00
Gijs Vermeulen c80d5c1507 amstream: Decrement "sample_refs" only when the object is being released.
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-07-01 10:59:35 +02:00
Gijs Vermeulen b2c74e0cca amstream: Create ddraw if no source object was specified in ddraw_IAMMediaStream_Initialize().
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-06-25 23:08:31 +02:00
Gijs Vermeulen 51fce87c60 amstream: Implement IDirectDrawMediaStream::SetDirectDraw().
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-06-25 23:08:31 +02:00
Gijs Vermeulen 84566a0cc1 amstream: Use IDirectDraw instead of IDirectDraw7 internally.
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-06-25 23:08:31 +02:00
Gijs Vermeulen 69c69143be amstream: Implement IDirectDrawStreamSample::GetMediaStream().
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-06-23 22:38:05 +02:00
Gijs Vermeulen 1bdfa9ca79 amstream: Store parent as struct ddraw_stream in ddraw stream sample.
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-06-23 22:38:05 +02:00
Gijs Vermeulen 1e81d55190 amstream: Don't crash on NULL ddraw in IDirectDrawMediaStream::GetDirectDraw().
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-06-19 20:27:51 +02:00
Gijs Vermeulen b12ac596fd amstream: Get rid of the IDirectDrawStreamSampleImpl typedef.
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-06-19 20:27:47 +02:00
Anton Baskanov 5eb568354c amstream: Move initialization calls from *_stream_create into AMMultiMediaStream::AddMediaStream.
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-06-01 22:10:28 +02:00
Anton Baskanov f568c47a47 amstream: Move initialization code from ddraw_stream_create into AMDirectDrawStream::Initialize and ::JoinAMMultiMediaStream.
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-06-01 22:10:28 +02:00
Anton Baskanov 4300981d6b amstream: Don't crash if parent is NULL in AMAudioStream:: and AMDirectDrawStream::GetMultiMediaStream.
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-05-26 09:59:08 +02:00
Zebediah Figura f5aaca10af amstream: Don't duplicate IMediaStream method implementations.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-26 09:59:00 +02:00
Zebediah Figura a456808d82 amstream: Use wide character string literals.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-21 20:55:13 +01:00
Zebediah Figura 580ca7557d strmbase: Get rid of the BaseInputPin typedef.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-20 09:09:08 +01:00
Zebediah Figura ed685754e2 amstream: Use shorter method names for DirectDraw stream methods.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-04 17:11:50 +02:00
Zebediah Figura 2704646637 amstream: Reimplement IPin locally for the DirectDraw stream.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-04 17:11:48 +02:00
Zebediah Figura ee88009556 amstream: Reimplement IMemInputPin locally for the DirectDraw stream.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-04 17:11:45 +02:00
Zebediah Figura 2f9e6c0c72 amstream: Get rid of the DirectDrawMediaStreamImpl typedef.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-03 12:16:47 +02:00
Zebediah Figura 98c591b2ba amstream: Reimplement IPin::EnumMediaTypes() for the primary video stream.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-03 12:16:45 +02:00
Zebediah Figura 3537f73f21 amstream: Move audio and ddraw streams into separate files.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-03 12:16:40 +02:00