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
56062fb9
Commit
56062fb9
authored
Nov 26, 2013
by
Piotr Caban
Committed by
Alexandre Julliard
Nov 26, 2013
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
qcap: Add Avi Mux input pin ReceiveConnection test.
parent
6348029c
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
40 additions
and
4 deletions
+40
-4
avimux.c
dlls/qcap/avimux.c
+3
-3
qcap.c
dlls/qcap/tests/qcap.c
+37
-1
No files found.
dlls/qcap/avimux.c
View file @
56062fb9
...
...
@@ -953,9 +953,6 @@ static HRESULT WINAPI AviMuxIn_CheckMediaType(BasePin *base, const AM_MEDIA_TYPE
FIXME
(
"(%p:%s)->(AM_MEDIA_TYPE(%p))
\n
"
,
base
,
debugstr_w
(
base
->
pinInfo
.
achName
),
pmt
);
dump_AM_MEDIA_TYPE
(
pmt
);
if
(
!
pmt
)
return
E_POINTER
;
if
(
IsEqualIID
(
&
pmt
->
majortype
,
&
MEDIATYPE_Audio
)
&&
IsEqualIID
(
&
pmt
->
formattype
,
&
FORMAT_WaveFormatEx
))
return
S_OK
;
...
...
@@ -1073,6 +1070,9 @@ static HRESULT WINAPI AviMuxIn_ReceiveConnection(IPin *iface,
debugstr_w
(
avimuxin
->
pin
.
pin
.
pinInfo
.
achName
),
pConnector
,
pmt
);
dump_AM_MEDIA_TYPE
(
pmt
);
if
(
!
pmt
)
return
E_POINTER
;
hr
=
BaseInputPinImpl_ReceiveConnection
(
iface
,
pConnector
,
pmt
);
if
(
FAILED
(
hr
))
return
hr
;
...
...
dlls/qcap/tests/qcap.c
View file @
56062fb9
...
...
@@ -275,6 +275,9 @@ int call_no;
static
void
check_calls_list
(
const
char
*
func
,
call_id
id
,
filter_type
type
)
{
if
(
!
current_calls_list
)
return
;
while
(
current_calls_list
[
call_no
].
wine_missing
||
current_calls_list
[
call_no
].
wine_extra
||
current_calls_list
[
call_no
].
optional
||
current_calls_list
[
call_no
].
broken
)
{
if
(
current_calls_list
[
call_no
].
wine_missing
)
{
...
...
@@ -1067,7 +1070,11 @@ static void test_AviMux_QueryInterface(void)
static
void
test_AviMux
(
void
)
{
IPin
*
avimux_in
,
*
avimux_out
;
test_filter
source_filter
=
{{
&
BaseFilterVtbl
},
{
&
EnumPinsVtbl
},
{
&
PinVtbl
},
{
&
KsPropertySetVtbl
},
{
&
EnumMediaTypesVtbl
},
PINDIR_OUTPUT
,
SOURCE_FILTER
};
VIDEOINFOHEADER
videoinfoheader
;
IPin
*
avimux_in
,
*
avimux_out
,
*
pin
;
AM_MEDIA_TYPE
source_media_type
;
AM_MEDIA_TYPE
*
media_type
;
PIN_DIRECTION
dir
;
IBaseFilter
*
avimux
;
...
...
@@ -1128,6 +1135,35 @@ static void test_AviMux(void)
ok
(
hr
==
S_FALSE
,
"Next returned %x
\n
"
,
hr
);
IEnumMediaTypes_Release
(
emt
);
hr
=
IPin_ReceiveConnection
(
avimux_in
,
&
source_filter
.
IPin_iface
,
NULL
);
ok
(
hr
==
E_POINTER
,
"ReceiveConnection returned %x
\n
"
,
hr
);
current_calls_list
=
NULL
;
memset
(
&
source_media_type
,
0
,
sizeof
(
AM_MEDIA_TYPE
));
memset
(
&
videoinfoheader
,
0
,
sizeof
(
VIDEOINFOHEADER
));
source_media_type
.
majortype
=
MEDIATYPE_Video
;
source_media_type
.
subtype
=
MEDIASUBTYPE_RGB32
;
source_media_type
.
formattype
=
FORMAT_VideoInfo
;
source_media_type
.
bFixedSizeSamples
=
TRUE
;
source_media_type
.
lSampleSize
=
40000
;
source_media_type
.
cbFormat
=
sizeof
(
VIDEOINFOHEADER
);
source_media_type
.
pbFormat
=
(
BYTE
*
)
&
videoinfoheader
;
videoinfoheader
.
AvgTimePerFrame
=
333333
;
videoinfoheader
.
bmiHeader
.
biSize
=
sizeof
(
BITMAPINFOHEADER
);
videoinfoheader
.
bmiHeader
.
biWidth
=
100
;
videoinfoheader
.
bmiHeader
.
biHeight
=
100
;
videoinfoheader
.
bmiHeader
.
biPlanes
=
1
;
videoinfoheader
.
bmiHeader
.
biBitCount
=
32
;
videoinfoheader
.
bmiHeader
.
biSizeImage
=
40000
;
videoinfoheader
.
bmiHeader
.
biClrImportant
=
256
;
hr
=
IPin_ReceiveConnection
(
avimux_in
,
&
source_filter
.
IPin_iface
,
&
source_media_type
);
ok
(
hr
==
S_OK
,
"ReceiveConnection returned %x
\n
"
,
hr
);
hr
=
IPin_ConnectedTo
(
avimux_in
,
&
pin
);
ok
(
hr
==
S_OK
,
"ConnectedTo returned %x
\n
"
,
hr
);
ok
(
pin
==
&
source_filter
.
IPin_iface
,
"incorrect pin: %p, expected %p
\n
"
,
pin
,
&
source_filter
.
IPin_iface
);
IPin_Release
(
avimux_in
);
IPin_Release
(
avimux_out
);
IBaseFilter_Release
(
avimux
);
...
...
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