Commit Graph

73 Commits

Author SHA1 Message Date
Nikolay Sivov 3ac77317b8 mfreadwrite: Autodetect ftyp(isom) as .mp4.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 15:25:41 +01:00
Nikolay Sivov 954ed23648 mfreadwrite: Implement reader flushing.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 15:25:39 +01:00
Nikolay Sivov 7998801440 mfreadwrite: Implement async reader mode.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 15:25:37 +01:00
Nikolay Sivov 767744513e mfreadwrite: Request one sample at a time from the stream.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 15:25:35 +01:00
Nikolay Sivov 63e0b3a71a mfreadwrite: Handle MEStreamTick event in source reader.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 15:25:32 +01:00
Nikolay Sivov 66de5a8ee8 mfreadwrite: Make pending response reader structure more generic.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 15:25:30 +01:00
Derek Lesho 915e1c782e mfreadwrite: Pass source samples through decoder as they arrive.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-24 19:43:36 +01:00
Derek Lesho ecf70b83e2 mfreadwrite: Configure stream decoder on SetCurrentMediaType() if necessary.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-20 19:32:58 +01:00
Nikolay Sivov b8a846a5d1 mfreadwrite/tests: Add some missing checks (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-20 23:03:21 +01:00
Nikolay Sivov 979847e3a2 mfreadwrite/tests: Add a test for reading from delected stream.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-20 23:03:21 +01:00
Nikolay Sivov 8f0570b3d7 mfreadwrite: Start media source when stream selection changes.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-20 23:03:21 +01:00
Nikolay Sivov 9cb55ea30d mfreadwrite: Return earlier on ReadSample() is stream is deselected.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-05 16:16:04 +01:00
Nikolay Sivov a095d15769 mfreadwrite: Track source state in reader.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-05 16:16:00 +01:00
Nikolay Sivov 0cd9878a40 mfreadwrite: Use separate helpers for sync/async ReadSample().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-05 16:15:55 +01:00
Nikolay Sivov 9d14077e29 mfreadwrite/tests: Add some tests for "any"-stream requests.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-04 22:50:38 +01:00
Michael Stefaniuc 7bc4e49f11 mfreadwrite: Use wchar string literals instead of temp variables.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-30 09:11:59 +01:00
Nikolay Sivov 9681e8ca58 mfreadwrite: Remove unnecessary typedef.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-03 12:17:21 +02:00
Nikolay Sivov b182ba882c mfreadwrite: Add MFCreateSinkWriterFromURL() stub.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-25 17:44:03 +02:00
Alexandre Julliard 3db44e9940 mfreadwrite: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-11 08:26:09 +02:00
Nikolay Sivov 10bbe1111b mfreadwrite: Wake waiting threads on stream states changes.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-30 20:07:04 +02:00
Nikolay Sivov 2be769d648 mfreadwrite: Return sample timestamp from ReadSample().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-29 18:46:25 +02:00
Nikolay Sivov f8fff8b297 mfreadwrite: Handle some of stream state change events.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-22 11:22:01 +02:00
Nikolay Sivov 279f6dbd0c mfreadwrite: Wake also on new streams.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-22 11:21:58 +02:00
Nikolay Sivov 56bb596711 mfreadwrite: Handle failure path in GetNativeMediaType().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-22 11:21:56 +02:00
Nikolay Sivov 020d2202ea mfreadwrite: Add partial implementation of ReadSample().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-22 11:21:54 +02:00
Nikolay Sivov 2ca469f818 mfreadwrite/tests: Add some tests for ReadSample().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-19 12:03:16 +02:00
Nikolay Sivov fcf8cbfb2a mfreadwrite: Handle MEMediaSample event.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-19 12:03:14 +02:00
Nikolay Sivov 002010e31a mfreadwrite: Add a helper to get stream identifier.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-19 12:03:12 +02:00
Nikolay Sivov 5dfe477618 mfreadwrite: Add a helper to get associated event object value.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-19 12:03:10 +02:00
Nikolay Sivov 5b3fdc26b7 mfreadwrite: Duplicate media type returned with GetNativeMediaType().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-19 12:03:07 +02:00
Nikolay Sivov 3e8b14adb3 mfreadwrite: Output warning for uninitialized stream descriptor.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-18 18:47:15 +02:00
Nikolay Sivov dabb0bc25f mfreadwrite/tests: Remove broken test.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-10 18:52:30 +02:00
Nikolay Sivov 23b9b1ceb6 mfreadwrite: Set url hint for WAVE audio streams.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-09 15:46:03 +02:00
Nikolay Sivov 1d2567e03a mfreadwrite/tests: Add some tests for source reader.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-09 15:46:03 +02:00
Nikolay Sivov 8be164c921 mfreadwrite: Handle MENewStream event.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-09 15:46:03 +02:00
Nikolay Sivov 2d834c472d mfreadwrite: Keep media stream id for event matching.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-09 15:46:03 +02:00
Nikolay Sivov ea76c97ccd mfreadwrite/tests: Remove some null checks.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-08 09:55:22 +02:00
Nikolay Sivov a8a4a8d2a5 mfreadwrite/tests: Add missing return value check (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-08 09:55:22 +02:00
Nikolay Sivov e92bf051f5 mfreadwrite: Add a trace for async reader mode.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-01 21:54:31 +02:00
Nikolay Sivov 0694d0f321 mfreadwrite: Partially implement setting output media types for reader.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-01 21:54:31 +02:00
Nikolay Sivov a5fe3d65aa mfreadwrite: Set url hint from stream content.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-25 10:21:39 +01:00
Nikolay Sivov 0319a2dd3f mfreadwrite: Use single helper for source reader creation functions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-25 10:21:39 +01:00
Nikolay Sivov d6acb0edb8 mfreadwrite: Add partial implementation of SetCurrentPosition() for source reader.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-20 08:58:13 +01:00
Nikolay Sivov ca84c6e82e mfreadwrite: Forward remaining indices in GetPresentationAttribute() to stream descriptors.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-20 08:58:07 +01:00
Nikolay Sivov 021b0e2f68 mfreadwrite: Add support for MF_SOURCE_READER_DISCONNECT_MEDIASOURCE_ON_SHUTDOWN.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-20 08:57:59 +01:00
Nikolay Sivov 9e57659b7b mfreadwrite: Keep async callback reference for the reader.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-20 08:57:56 +01:00
Nikolay Sivov a35ddb13b7 mfreadwrite: Support source configuration with MF_SOURCE_READER_MEDIASOURCE_CONFIG.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-20 08:57:52 +01:00
Nikolay Sivov 04c8a756d6 mfreadwrite: Implement GetNativeMediaType() for source reader.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-19 18:31:57 +01:00
Nikolay Sivov f939fde874 mfreadwrite: Implement stream selection methods for source reader.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-19 18:31:55 +01:00
Nikolay Sivov 79b37c8aa0 mfreadwrite: Determine first streams on reader creation.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-19 18:31:52 +01:00