msvfw32: MCI Step is like Seek.
Joerg-Cyril.Hoehle at t-systems.com
Joerg-Cyril.Hoehle at t-systems.com
Wed Mar 17 08:11:30 CDT 2010
Hi,
the old code was wrong because MCI_STEP takes one parameter and is not
compatible with GENERIC_PARMS.
I felt this small function does not warrant 15 lines of code so I
merged it with MCI_SEEK.
InvalidateRect() is now called only in the absence of an error (like the
old Step code did, but Seek did it unconditionally).
I thought about adding MCI_NOTIFY because a seek will cause a mode
change if the device was playing or paused. But actually that should
be caught already by a well-behaved MCI driver whose player was
started with MCI_NOTIFY like mciwnd does: the player is stopped and sends
MCI_NOTIFY_ABORTED. So Seek needs not anticipate the mode change.
While we are at notifications, after I read MSDN on MCIWND, I was left wondering
whether MS-Windows might implement MCIWNDF_NOTIFYMODE via the periodic
timers, i.e. WM_TIMER would call MCIWND_notify_mode() beside
MCIWND_UpdateState(). This would guarantee notifications whenever the
mode changes, albeit a little late.
Wine's mciwnd currently does not guarantee notification every time the
mode changes. E.g., using MCIWNDM_SENDSTRING to send the MCI_PAUSE
command will not be caught with mciwave, because the notification
request given to play PLAY is only returned after the player stops,
not when paused.
Why did I find no single test for msvfw? Is the cause the problem Detlef
Riekenberg mentioned some time ago about some 16bit build dependency?
mciwnd.c and msvideo_main.c are large files and there's nothing except
the 4 ICOpen case tests I wrote last year?
Regards,
Jörg Höhle
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-msvfw32-MCI-Step-is-like-Seek.patch
Type: application/octet-stream
Size: 2307 bytes
Desc: 0001-msvfw32-MCI-Step-is-like-Seek.patch
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20100317/9353f898/attachment.obj>
More information about the wine-patches
mailing list