Commit Graph

246 Commits

Author SHA1 Message Date
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
Anton Baskanov bbf0a93e4e amstream: Implement AMAudioStream::SetFormat.
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
Anton Baskanov 1ae8e519f4 amstream: Implement AMAudioStream::GetFormat.
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
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 d49417c081 amstream: Use shorter names for primary audio stream methods.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-05 08:30:46 +02:00
Zebediah Figura 953cf31158 amstream: Reimplement IPin locally for the primary audio stream.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-05 08:30:41 +02:00
Zebediah Figura 5527443865 amstream: Reimplement IMemInputPin locally for the primary audio stream.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-05 08:30:36 +02:00
Zebediah Figura 47105ce35c amstream: Get rid of the AudioMediaStreamImpl typedef.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-05 08:30:32 +02:00
Zebediah Figura c5651e9409 amstream: Reimplement IPin::EnumMediaTypes() for the primary audio stream.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-04 17:11:55 +02:00
Zebediah Figura d5f1a5c0be amstream/tests: Also test pin information for the primary audio stream.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-04 17:11:52 +02: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
Zebediah Figura bfc668833e amstream/tests: Add more tests for media types.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-03 12:16:37 +02:00
Zebediah Figura be8111f627 amstream/tests: Add some tests for IEnumMediaTypes.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-02 20:41:47 +02:00
Zebediah Figura d15c23b30a amstream: Don't keep track of streams in the multimedia stream object.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-02 20:41:45 +02:00
Zebediah Figura 6d6ea5dc7d amstream: Forward IMultiMediaStream::GetMediaStream() to the stream filter.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-02 20:41:44 +02:00
Zebediah Figura 6c55e734bd amstream: Move multimedia_stream_create() to avoid forward declarations.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-02 20:41:42 +02:00
Zebediah Figura 0d7d1ba210 amstream: Use shorter method names for the multimedia stream.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-02 20:41:39 +02:00
Zebediah Figura 8af6ed6881 amstream: Get rid of the IAMMultiMediaStreamImpl typedef.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-30 21:24:26 +02:00
Zebediah Figura 0a7933a4eb amstream: Rename amstream.c to multimedia.c.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-30 21:24:26 +02:00
Zebediah Figura 0fe51e0fa6 amstream/tests: Link to strmiids and uuid.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-30 21:24:26 +02:00
Zebediah Figura 6412145657 amstream/tests: Add some tests for IAMMultiMediaStream::Initialize().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-30 21:24:26 +02:00
Zebediah Figura 6fc7582713 amstream/tests: Separate and expand tests for IAMMultiMediaStream::AddMediaStream().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-30 21:24:26 +02:00
Zebediah Figura 3256484a14 amstream: Create the stream filter when the multimedia stream is created.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-29 20:08:14 +02:00
Zebediah Figura c8b94b6300 amstream: Use shorter names for IMediaStreamFilter methods.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-29 20:08:14 +02:00
Zebediah Figura bbd4641bc6 amstream: Get rid of the IMediaStreamFilterImpl typedef.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-29 20:08:14 +02:00
Zebediah Figura fb504baaa8 strmbase: Build with msvcrt.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-05 18:49:31 +02:00
Alistair Leslie-Hughes 623085d550 amstream: Leave critical section on success (Coverity).
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-27 14:42:20 +02:00
Zebediah Figura 7ef5f3be5a amstream: Reimplement IBaseFilter methods in the media stream filter.
In the long (or even short) term we probably want to decouple amstream from
strmbase entirely. The fact that pins and filters belong to separate objects
(and either one can even be provided by the application) prevents us from
performing some helpful restructuring.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-17 09:21:15 +02:00
Zebediah Figura f423c6e707 amstream: Reimplement IMediaStreamFilter::EnumPins().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-17 09:21:09 +02:00