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
b883b69e
Commit
b883b69e
authored
May 27, 2019
by
Zebediah Figura
Committed by
Alexandre Julliard
May 28, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
quartz/parser: Pass a BaseFilterFuncTable to Parser_Create().
Signed-off-by:
Zebediah Figura
<
z.figura12@gmail.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
461cee21
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
26 additions
and
13 deletions
+26
-13
avisplit.c
dlls/quartz/avisplit.c
+6
-1
mpegsplit.c
dlls/quartz/mpegsplit.c
+6
-1
parser.c
dlls/quartz/parser.c
+4
-8
parser.h
dlls/quartz/parser.h
+4
-2
waveparser.c
dlls/quartz/waveparser.c
+6
-1
No files found.
dlls/quartz/avisplit.c
View file @
b883b69e
...
...
@@ -1429,6 +1429,11 @@ static const IBaseFilterVtbl AVISplitterImpl_Vtbl =
Parser_QueryVendorInfo
};
static
const
BaseFilterFuncTable
avi_splitter_func_table
=
{
.
filter_get_pin
=
parser_get_pin
,
};
HRESULT
AVISplitter_create
(
IUnknown
*
pUnkOuter
,
LPVOID
*
ppv
)
{
static
const
WCHAR
sink_name
[]
=
{
'i'
,
'n'
,
'p'
,
'u'
,
't'
,
' '
,
'p'
,
'i'
,
'n'
,
0
};
...
...
@@ -1449,7 +1454,7 @@ HRESULT AVISplitter_create(IUnknown * pUnkOuter, LPVOID * ppv)
This
->
oldindex
=
NULL
;
hr
=
Parser_Create
(
&
This
->
Parser
,
&
AVISplitterImpl_Vtbl
,
&
CLSID_AviSplitter
,
sink_name
,
AVISplitter_Sample
,
AVISplitter_QueryAccept
,
&
avi_splitter_func_table
,
sink_name
,
AVISplitter_Sample
,
AVISplitter_QueryAccept
,
AVISplitter_InputPin_PreConnect
,
AVISplitter_Flush
,
AVISplitter_Disconnect
,
AVISplitter_first_request
,
AVISplitter_done_process
,
NULL
,
AVISplitter_seek
,
NULL
);
...
...
dlls/quartz/mpegsplit.c
View file @
b883b69e
...
...
@@ -868,6 +868,11 @@ static const IAMStreamSelectVtbl AMStreamSelectVtbl =
AMStreamSelect_Enable
};
static
const
BaseFilterFuncTable
mpeg_splitter_func_table
=
{
.
filter_get_pin
=
parser_get_pin
,
};
HRESULT
MPEGSplitter_create
(
IUnknown
*
pUnkOuter
,
LPVOID
*
ppv
)
{
static
const
WCHAR
sink_name
[]
=
{
'I'
,
'n'
,
'p'
,
'u'
,
't'
,
0
};
...
...
@@ -887,7 +892,7 @@ HRESULT MPEGSplitter_create(IUnknown * pUnkOuter, LPVOID * ppv)
ZeroMemory
(
This
,
sizeof
(
MPEGSplitterImpl
));
hr
=
Parser_Create
(
&
This
->
Parser
,
&
MPEGSplitter_Vtbl
,
&
CLSID_MPEG1Splitter
,
sink_name
,
MPEGSplitter_process_sample
,
MPEGSplitter_query_accept
,
&
mpeg_splitter_func_table
,
sink_name
,
MPEGSplitter_process_sample
,
MPEGSplitter_query_accept
,
MPEGSplitter_pre_connect
,
MPEGSplitter_cleanup
,
MPEGSplitter_disconnect
,
MPEGSplitter_first_request
,
NULL
,
NULL
,
MPEGSplitter_seek
,
NULL
);
if
(
FAILED
(
hr
))
...
...
dlls/quartz/parser.c
View file @
b883b69e
...
...
@@ -62,7 +62,7 @@ static inline ParserImpl *impl_from_BaseFilter( BaseFilter *iface )
return
CONTAINING_RECORD
(
iface
,
ParserImpl
,
filter
);
}
static
IPin
*
parser_get_pin
(
BaseFilter
*
iface
,
unsigned
int
index
)
IPin
*
parser_get_pin
(
BaseFilter
*
iface
,
unsigned
int
index
)
{
ParserImpl
*
filter
=
impl_from_BaseFilter
(
iface
);
...
...
@@ -73,13 +73,9 @@ static IPin *parser_get_pin(BaseFilter *iface, unsigned int index)
return
filter
->
ppPins
[
index
];
}
static
const
BaseFilterFuncTable
BaseFuncTable
=
{
.
filter_get_pin
=
parser_get_pin
,
};
HRESULT
Parser_Create
(
ParserImpl
*
pParser
,
const
IBaseFilterVtbl
*
Parser_Vtbl
,
const
CLSID
*
pClsid
,
const
WCHAR
*
sink_name
,
PFN_PROCESS_SAMPLE
fnProcessSampl
e
,
PFN_QUERY_ACCEPT
fnQueryAccept
,
PFN_PRE_CONNECT
fnPreConnect
,
const
CLSID
*
pClsid
,
const
BaseFilterFuncTable
*
func_table
,
const
WCHAR
*
sink_nam
e
,
PFN_
PROCESS_SAMPLE
fnProcessSample
,
PFN_
QUERY_ACCEPT
fnQueryAccept
,
PFN_PRE_CONNECT
fnPreConnect
,
PFN_CLEANUP
fnCleanup
,
PFN_DISCONNECT
fnDisconnect
,
REQUESTPROC
fnRequest
,
STOPPROCESSPROC
fnDone
,
SourceSeeking_ChangeStop
stop
,
SourceSeeking_ChangeStart
start
,
SourceSeeking_ChangeRate
rate
)
...
...
@@ -88,7 +84,7 @@ HRESULT Parser_Create(ParserImpl *pParser, const IBaseFilterVtbl *Parser_Vtbl,
PIN_INFO
piInput
;
/* pTransformFilter is already allocated */
BaseFilter_Init
(
&
pParser
->
filter
,
Parser_Vtbl
,
pClsid
,
(
DWORD_PTR
)(
__FILE__
": ParserImpl.csFilter"
),
&
BaseFuncT
able
);
BaseFilter_Init
(
&
pParser
->
filter
,
Parser_Vtbl
,
pClsid
,
(
DWORD_PTR
)(
__FILE__
": ParserImpl.csFilter"
),
func_t
able
);
pParser
->
fnDisconnect
=
fnDisconnect
;
...
...
dlls/quartz/parser.h
View file @
b883b69e
...
...
@@ -53,8 +53,8 @@ typedef struct Parser_OutputPin
extern
HRESULT
Parser_AddPin
(
ParserImpl
*
This
,
const
PIN_INFO
*
piOutput
,
ALLOCATOR_PROPERTIES
*
props
,
const
AM_MEDIA_TYPE
*
amt
);
HRESULT
Parser_Create
(
ParserImpl
*
parser
,
const
IBaseFilterVtbl
*
vtbl
,
const
CLSID
*
clsid
,
const
WCHAR
*
sink_name
,
PFN_PROCESS_SAMPLE
,
PFN_QUERY_ACCEPT
,
PFN_PRE_CONNECT
,
PFN_CLEANUP
,
PFN_DISCONNECT
,
const
CLSID
*
clsid
,
const
BaseFilterFuncTable
*
func_table
,
const
WCHAR
*
sink_name
,
PFN_
PROCESS_SAMPLE
,
PFN_
QUERY_ACCEPT
,
PFN_PRE_CONNECT
,
PFN_CLEANUP
,
PFN_DISCONNECT
,
REQUESTPROC
,
STOPPROCESSPROC
,
SourceSeeking_ChangeStop
,
SourceSeeking_ChangeStart
,
SourceSeeking_ChangeRate
)
DECLSPEC_HIDDEN
;
...
...
@@ -76,6 +76,8 @@ extern HRESULT WINAPI Parser_QueryFilterInfo(IBaseFilter * iface, FILTER_INFO *p
extern
HRESULT
WINAPI
Parser_JoinFilterGraph
(
IBaseFilter
*
iface
,
IFilterGraph
*
pGraph
,
LPCWSTR
pName
);
extern
HRESULT
WINAPI
Parser_QueryVendorInfo
(
IBaseFilter
*
iface
,
LPWSTR
*
pVendorInfo
);
IPin
*
parser_get_pin
(
BaseFilter
*
iface
,
unsigned
int
index
)
DECLSPEC_HIDDEN
;
/* COM helpers */
static
inline
Parser_OutputPin
*
unsafe_impl_Parser_OutputPin_from_IPin
(
IPin
*
iface
)
{
...
...
dlls/quartz/waveparser.c
View file @
b883b69e
...
...
@@ -413,6 +413,11 @@ static const IBaseFilterVtbl WAVEParser_Vtbl =
Parser_QueryVendorInfo
};
static
const
BaseFilterFuncTable
wave_parser_func_table
=
{
.
filter_get_pin
=
parser_get_pin
,
};
HRESULT
WAVEParser_create
(
IUnknown
*
pUnkOuter
,
LPVOID
*
ppv
)
{
static
const
WCHAR
sink_name
[]
=
{
'i'
,
'n'
,
'p'
,
'u'
,
't'
,
' '
,
'p'
,
'i'
,
'n'
,
0
};
...
...
@@ -430,7 +435,7 @@ HRESULT WAVEParser_create(IUnknown * pUnkOuter, LPVOID * ppv)
This
=
CoTaskMemAlloc
(
sizeof
(
WAVEParserImpl
));
hr
=
Parser_Create
(
&
This
->
Parser
,
&
WAVEParser_Vtbl
,
&
CLSID_WAVEParser
,
sink_name
,
WAVEParser_Sample
,
WAVEParser_QueryAccept
,
&
wave_parser_func_table
,
sink_name
,
WAVEParser_Sample
,
WAVEParser_QueryAccept
,
WAVEParser_InputPin_PreConnect
,
WAVEParser_Cleanup
,
WAVEParser_disconnect
,
WAVEParser_first_request
,
NULL
,
NULL
,
WAVEParserImpl_seek
,
NULL
);
...
...
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