Hi Jefferson,
On 24/07/17 08:26, Jefferson Carpenter wrote:
Create a sample WMA file, which is saved into a temp directory at the beginning of the wmvcore tests.
Added a IWMReaderCallback implementation for use in conformance tests.
Tested various playback-related WMReader methods.
Changes in version 2 of this patch: Declared loop variable at top of function, and using C89-style comments.
The callback interface can just be static, see mshtml/tests/htmldoc.c for an example. Maybe using the CHECKED_CALLED syntax to check if something was been called. If the order of called is important then see msxml3/tests/saxreader.c for an example.
You cannot use Sleep in tests, no matter how small it has to wait, instead use an Event+WaitForSingleObject.
Use HeapAlloc/HeapFree instead of malloc/free, create a worker function if required.
+ IWMReader *reader; Leaking reader
+ /* Get output props. */ + hr = IWMReader_GetOutputProps(reader, 0, &props); + todo_wine ok(hr == S_OK, "Failed to get output props: 0x%08x\n", Leaking props here.
.... + for (i = 0; i < formatCount; i++) { + /* Get output props for format. */ + hr = IWMReader_GetOutputFormat(reader, 0, i, &props); + todo_wine ok(hr == S_OK, "Failed to get output format: and here.
Best Regards Alistair Leslie-Hughes
Thanks for the feedback. I am on it.
Couple questions: Why not use Sleep? (Some other tests such as ntdll/tests/threadpool.c seem to be using it). And why not use malloc / free?
On Mon, Jul 24, 2017 at 4:47 AM, Alistair Leslie-Hughes < leslie_alistair@hotmail.com> wrote:
Hi Jefferson,
On 24/07/17 08:26, Jefferson Carpenter wrote:
Create a sample WMA file, which is saved into a temp directory at the beginning of the wmvcore tests.
Added a IWMReaderCallback implementation for use in conformance tests.
Tested various playback-related WMReader methods.
Changes in version 2 of this patch: Declared loop variable at top of function, and using C89-style comments.
The callback interface can just be static, see mshtml/tests/htmldoc.c for an example. Maybe using the CHECKED_CALLED syntax to check if something was been called. If the order of called is important then see msxml3/tests/saxreader.c for an example.
You cannot use Sleep in tests, no matter how small it has to wait, instead use an Event+WaitForSingleObject.
Use HeapAlloc/HeapFree instead of malloc/free, create a worker function if required.
- IWMReader *reader;
Leaking reader
- /* Get output props. */
- hr = IWMReader_GetOutputProps(reader, 0, &props);
- todo_wine ok(hr == S_OK, "Failed to get output props: 0x%08x\n",
Leaking props here.
....
- for (i = 0; i < formatCount; i++) {
/* Get output props for format. */
hr = IWMReader_GetOutputFormat(reader, 0, i, &props);
todo_wine ok(hr == S_OK, "Failed to get output format:
and here.
Best Regards Alistair Leslie-Hughes