Commit Graph

280 Commits

Author SHA1 Message Date
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
Anton Baskanov 117e13e05e amstream: Return E_NOTIMPL from AMAudioStream::QueryInterface.
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-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 3328f7f7ca amstream/tests: Add IDirectDrawMediaStream::SetDirectDraw() tests.
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 10:11:26 +02:00
Anton Baskanov b9712f2f37 amstream: Implement AMAudioStream::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-06-19 21:21:59 +02:00
Anton Baskanov 0736217336 amstream: Implement IAudioStreamSample::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-06-19 21:21:54 +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 b809070476 amstream/tests: Add IDirectDrawStreamSample::GetMediaStream() tests.
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:49 +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 57b627fba6 amstream: Implement MediaStreamFilter::GetCurrentStreamTime.
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-18 19:56:43 +02:00
Zebediah Figura 3d92885390 amstream/tests: Define and use a global variable holding an audio media type.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-04 11:59:10 +02:00
Anton Baskanov aba27fd5a3 amstream: Call MediaStreamFilter::SupportSeeking() 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-06-03 22:57:07 +02:00
Anton Baskanov 1c99a8e095 amstream: Implement MediaStreamFilter::SetPositions().
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-03 22:57:04 +02:00
Anton Baskanov 77134d806d amstream: Implement MediaStreamFilter::SupportSeeking().
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-03 22:57:00 +02:00
Anton Baskanov ae1ca7029a amstream: Implement AMAudioStream::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-06-03 22:56:57 +02:00
Anton Baskanov d1197ffaeb amstream: Leave critical section on error in MediaStreamFilter::EnumPins().
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-03 22:56:53 +02:00
Anton Baskanov d17b009bf6 amstream: Add tests for IAMMediaStream::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 7d07142b1f amstream: Allow AMAudioStream and AMDirectDrawStream to be created by CoCreateInstance.
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 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 8b5f9145f7 amstream: Move initialization code from audio_stream_create into AMAudioStream::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 410934a762 amstream: Simplify flush_receive_queue() a bit.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-25 20:20:19 +02:00
Zebediah Figura dab1b7e758 amstream/tests: Remove some no longer necessary callbacks.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-27 12:01:57 +02:00
Anton Baskanov 0884111fec amstream: Implement IAudioStreamSample::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-04-23 09:12:08 +02:00
Anton Baskanov bdf5188d16 amstream: Implement IAudioStreamSample::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-04-23 09:12:06 +02:00
Anton Baskanov 1a20f9b06b amstream: Implement AMAudioStream::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-04-23 09:12:04 +02:00
Anton Baskanov b90cd8b0a4 amstream: Implement AMAudioStream::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-04-23 09:11:59 +02:00
Anton Baskanov e7f0917665 amstream: Store parent as struct audio_stream in audio 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-04-22 08:29:30 +02:00
Anton Baskanov 86bc6a28f7 amstream: Implement AMAudioStream::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-04-20 12:38:10 +02:00
Anton Baskanov 2006621683 amstream: Implement MediaStreamFilter::Stop, ::Pause, and ::Run.
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-03-27 21:16:13 +01:00
Anton Baskanov ed93b25f4d amstream/tests: Refactor test stream to allow multiple instances.
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-03-27 21:16:13 +01:00
Anton Baskanov ef2249e4b6 amstream: Implement MediaStreamFilter::GetState.
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-03-27 21:16:13 +01:00
Anton Baskanov 7ff63efa01 amstream: Implement adding existing streams in AMMultiMediaStream::AddMediaStream.
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-03-27 21:16:13 +01:00
Zebediah Figura 6cb835f852 amstream: Forbid changing the multimedia stream mode.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-05 19:48:29 +01:00
Zebediah Figura fa62cde374 amstream: Forbid changing the graph in IAMMultiMediaStream::Initialize().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-05 19:48:25 +01:00
Zebediah Figura 20004d1557 amstream: Set the multimedia stream graph in IAMMultiMediaStream::Initialize() only if a graph is specified.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-05 19:48:22 +01:00
Zebediah Figura 8e4f8771af amstream: Explicitly create the graph in IAMMultiMediaStream::OpenFile().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-05 19:48:17 +01:00
Zebediah Figura e6a82aa8ee amstream: Create a default filter graph in IAMMultiMediaStream::AddMediaStream() if one does not exist yet.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-05 19:48:14 +01:00
Zebediah Figura 753d007cbb amstream: Simplify IAMMultiMediaStream::GetFilterGraph().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-05 19:48:09 +01:00
Zebediah Figura 2227facdd6 amstream: Return E_INVALIDARG if AMMSF_ADDDEFAULTRENDERER is requested with a non-NULL ret_stream parameter.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-04 09:50:26 +01:00
Zebediah Figura 3e6eaaa2c5 amstream: Allow AMMSF_ADDDEFAULTRENDERER only with MSPID_PrimaryAudio.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-04 09:50:23 +01:00
Zebediah Figura c6d436f7fd amstream: Implement IMediaStreamFilter::EnumMediaStreams().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-04 09:50:20 +01:00
Zebediah Figura ca4f624e03 amstream: Check for an existing stream in IAMMultiMediaStream::AddMediaStream().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-04 09:50:17 +01:00
Zebediah Figura 6b04ca02c0 amstream: Implement IAMMultiMediaStream::EnumMediaStreams().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-04 09:50:13 +01:00
Anton Baskanov 5b94633aa3 amstream: Reject incompatible media types in AMAudioStream::ReceiveConnection.
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-02-26 21:47:24 +01:00