Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
9bcb143a
Commit
9bcb143a
authored
Jan 10, 2010
by
Julius Schwartzenberg
Committed by
Alexandre Julliard
Jan 11, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
avifil32/tests: Test how avifile deals with audio stream and wave headers.
parent
ef19d852
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
72 additions
and
0 deletions
+72
-0
api.c
dlls/avifil32/tests/api.c
+72
-0
No files found.
dlls/avifil32/tests/api.c
View file @
9bcb143a
...
...
@@ -375,6 +375,76 @@ static void test_amh_corruption(void)
ok
(
DeleteFile
(
filename
)
!=
0
,
"Deleting file %s failed
\n
"
,
filename
);
}
static
void
test_ash1_corruption
(
void
)
{
COMMON_AVI_HEADERS
cah
;
char
filename
[
MAX_PATH
];
PAVIFILE
pFile
;
int
res
;
PAVISTREAM
pStream1
;
AVISTREAMINFO
asi1
;
GetTempPath
(
MAX_PATH
,
filename
);
strcpy
(
filename
+
strlen
(
filename
),
testfilename
);
/* Corrupt the sample size in the audio stream header */
init_test_struct
(
&
cah
);
cah
.
ash1
.
dwSampleSize
=
0xdeadbeef
;
create_avi_file
(
&
cah
,
filename
);
res
=
AVIFileOpen
(
&
pFile
,
filename
,
OF_SHARE_DENY_WRITE
,
0L
);
ok
(
res
==
0
,
"Unable to open file: error=%u
\n
"
,
res
);
res
=
AVIFileGetStream
(
pFile
,
&
pStream1
,
0
,
1
);
ok
(
res
==
0
,
"Unable to open audio stream: error=%u
\n
"
,
res
);
res
=
AVIStreamInfo
(
pStream1
,
&
asi1
,
sizeof
(
AVISTREAMINFO
));
ok
(
res
==
0
,
"Unable to read stream info: error=%u
\n
"
,
res
);
/* The result will still be 2, because the value is dynamically replaced with the nBlockAlign
value from the stream format header. The next test will prove this */
todo_wine
{
ok
(
asi1
.
dwSampleSize
==
2
,
"got %u (expected 2)
\n
"
,
asi1
.
dwSampleSize
);
}
AVIStreamRelease
(
pStream1
);
AVIFileRelease
(
pFile
);
ok
(
DeleteFile
(
filename
)
!=
0
,
"Deleting file %s failed"
,
filename
);
}
static
void
test_ash1_corruption2
(
void
)
{
COMMON_AVI_HEADERS
cah
;
char
filename
[
MAX_PATH
];
PAVIFILE
pFile
;
int
res
;
PAVISTREAM
pStream1
;
AVISTREAMINFO
asi1
;
GetTempPath
(
MAX_PATH
,
filename
);
strcpy
(
filename
+
strlen
(
filename
),
testfilename
);
/* Corrupt the block alignment in the audio format header */
init_test_struct
(
&
cah
);
cah
.
pcmwf
.
wf
.
nBlockAlign
=
0xdead
;
create_avi_file
(
&
cah
,
filename
);
res
=
AVIFileOpen
(
&
pFile
,
filename
,
OF_SHARE_DENY_WRITE
,
0L
);
ok
(
res
==
0
,
"Unable to open file: error=%u
\n
"
,
res
);
res
=
AVIFileGetStream
(
pFile
,
&
pStream1
,
0
,
1
);
ok
(
res
==
0
,
"Unable to open audio stream: error=%u
\n
"
,
res
);
ok
(
AVIStreamInfo
(
pStream1
,
&
asi1
,
sizeof
(
AVISTREAMINFO
))
==
0
,
"Unable to read stream info
\n
"
);
/* The result will also be the corrupt value, as explained above. */
todo_wine
{
ok
(
asi1
.
dwSampleSize
==
0xdead
,
"got 0x%x (expected 0xdead)
\n
"
,
asi1
.
dwSampleSize
);
}
AVIStreamRelease
(
pStream1
);
AVIFileRelease
(
pFile
);
ok
(
DeleteFile
(
filename
)
!=
0
,
"Deleting file %s failed"
,
filename
);
}
/* ########################### */
START_TEST
(
api
)
...
...
@@ -384,6 +454,8 @@ START_TEST(api)
test_AVISaveOptions
();
test_default_data
();
test_amh_corruption
();
test_ash1_corruption
();
test_ash1_corruption2
();
AVIFileExit
();
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment