Re: mciwave: Stub a boundary case in Save.
<Joerg-Cyril.Hoehle(a)t-systems.com> wrote:
This will allow me to enable one more testcase when I'll eventually submit the long awaited update to mciwave tests.
- if (dwFlags & MCI_WAIT) - { - FIXME("MCI_WAIT not implemented\n"); + if (wmw->hFile == 0) { + FIXME("Save file with zero-length sample\n"); + return MCIERR_INTERNAL; } - WAVE_mciStop(wDevID, 0, NULL); + WAVE_mciStop(wDevID, MCI_WAIT, NULL);
Please don't change the indentation style of the code. Also, it's not clear to me why you have removed the MCI_WAIT fixme, added MCI_WAIT to mciStop, and treat hFile == 0 as a zero-length sample. -- Dmitry.
Dmitry Timoshkov wrote:
Please don't change the indentation style of the code. Oops! Also, it's not clear to me why you have removed the MCI_WAIT fixme, Because there's nothing to fix. My tests revealed no difference w/ or w/o WAIT flag.
added MCI_WAIT to mciStop, It doesn't actually matter, since WAIT is ignored in Stop and it is synchronous anyway (currently), but I wanted to make it crystal clear that Save should wait for the completion of the Stop command before accessing the buffers.
and treat hFile == 0 as a zero-length sample. That's the state of the MCI prior to the record command; only "Record" will create a (temp) file in Wine. Yet "Open new; Save" must work. That is the boundary case that my (yet unreleased) tests trigger. The native MCI then creates a formaly correct .wav file with the current format and a zero-length sample embedded therein. Funny, isn't it?
Regards, Jörg Höhle
participants (2)
-
Dmitry Timoshkov -
Joerg-Cyril.Hoehle@t-systems.com