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
7602829c
Commit
7602829c
authored
Oct 13, 2010
by
Aric Stewart
Committed by
Alexandre Julliard
Oct 14, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
strmbase: Add GetMediaType and GetMediaTypeVersion to BasePin function table.
Allows for more widespread use of the BasePinImpl version of EnumMediaTypes.
parent
3c2dfd18
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
43 additions
and
47 deletions
+43
-47
vfwcapture.c
dlls/qcap/vfwcapture.c
+4
-2
dsoundrender.c
dlls/quartz/dsoundrender.c
+3
-1
filesource.c
dlls/quartz/filesource.c
+4
-9
nullrenderer.c
dlls/quartz/nullrenderer.c
+3
-1
parser.c
dlls/quartz/parser.c
+5
-11
videorenderer.c
dlls/quartz/videorenderer.c
+3
-1
pin.c
dlls/strmbase/pin.c
+1
-1
transform.c
dlls/strmbase/transform.c
+17
-21
strmbase.h
include/wine/strmbase.h
+3
-0
No files found.
dlls/qcap/vfwcapture.c
View file @
7602829c
...
...
@@ -692,7 +692,9 @@ static HRESULT WINAPI VfwPin_DecideBufferSize(BaseOutputPin *iface, IMemAllocato
static
const
BasePinFuncTable
output_BaseFuncTable
=
{
NULL
,
BaseOutputPinImpl_AttemptConnection
BaseOutputPinImpl_AttemptConnection
,
VfwPin_GetMediaTypeVersion
,
VfwPin_GetMediaType
};
static
const
BaseOutputPinFuncTable
output_BaseOutputFuncTable
=
{
...
...
@@ -784,7 +786,7 @@ VfwPin_EnumMediaTypes(IPin * iface, IEnumMediaTypes ** ppEnum)
VfwPinImpl
*
This
=
(
VfwPinImpl
*
)
iface
;
hr
=
qcap_driver_get_format
(
This
->
driver_info
,
&
pmt
);
if
(
SUCCEEDED
(
hr
))
hr
=
EnumMediaTypes_Construct
((
BasePin
*
)
iface
,
VfwPin_GetMediaType
,
VfwPin_GetMediaTypeVersion
,
ppEnum
);
hr
=
BasePinImpl_EnumMediaTypes
(
iface
,
ppEnum
);
TRACE
(
"%p -- %x
\n
"
,
This
,
hr
);
DeleteMediaType
(
pmt
);
...
...
dlls/quartz/dsoundrender.c
View file @
7602829c
...
...
@@ -386,7 +386,9 @@ static const BaseFilterFuncTable BaseFuncTable = {
static
const
BasePinFuncTable
input_BaseFuncTable
=
{
DSoundRender_CheckMediaType
,
NULL
NULL
,
BasePinImpl_GetMediaTypeVersion
,
BasePinImpl_GetMediaType
};
static
const
BaseInputPinFuncTable
input_BaseInputFuncTable
=
{
...
...
dlls/quartz/filesource.c
View file @
7602829c
...
...
@@ -760,13 +760,6 @@ static ULONG WINAPI FileAsyncReaderPin_Release(IPin * iface)
return
refCount
;
}
static
HRESULT
WINAPI
FileAsyncReaderPin_EnumMediaTypes
(
IPin
*
iface
,
IEnumMediaTypes
**
ppEnum
)
{
TRACE
(
"(%p)
\n
"
,
ppEnum
);
return
EnumMediaTypes_Construct
((
BasePin
*
)
iface
,
FileAsyncReaderPin_GetMediaType
,
BasePinImpl_GetMediaTypeVersion
,
ppEnum
);
}
static
const
IPinVtbl
FileAsyncReaderPin_Vtbl
=
{
FileAsyncReaderPin_QueryInterface
,
...
...
@@ -781,7 +774,7 @@ static const IPinVtbl FileAsyncReaderPin_Vtbl =
BasePinImpl_QueryDirection
,
BasePinImpl_QueryId
,
FileAsyncReaderPin_QueryAccept
,
FileAsyncReaderPin
_EnumMediaTypes
,
BasePinImpl
_EnumMediaTypes
,
BasePinImpl_QueryInternalConnections
,
BaseOutputPinImpl_EndOfStream
,
BaseOutputPinImpl_BeginFlush
,
...
...
@@ -839,7 +832,9 @@ static HRESULT WINAPI FileAsyncReaderPin_DecideBufferSize(BaseOutputPin *iface,
static
const
BasePinFuncTable
output_BaseFuncTable
=
{
NULL
,
FileAsyncReaderPin_AttemptConnection
FileAsyncReaderPin_AttemptConnection
,
BasePinImpl_GetMediaTypeVersion
,
FileAsyncReaderPin_GetMediaType
};
static
const
BaseOutputPinFuncTable
output_BaseOutputFuncTable
=
{
...
...
dlls/quartz/nullrenderer.c
View file @
7602829c
...
...
@@ -108,7 +108,9 @@ static const BaseFilterFuncTable BaseFuncTable = {
static
const
BasePinFuncTable
input_BaseFuncTable
=
{
NullRenderer_CheckMediaType
,
NULL
NULL
,
BasePinImpl_GetMediaTypeVersion
,
BasePinImpl_GetMediaType
};
static
const
BaseInputPinFuncTable
input_BaseInputFuncTable
=
{
...
...
dlls/quartz/parser.c
View file @
7602829c
...
...
@@ -44,6 +44,7 @@ static HRESULT WINAPI Parser_ChangeStart(IMediaSeeking *iface);
static
HRESULT
WINAPI
Parser_ChangeStop
(
IMediaSeeking
*
iface
);
static
HRESULT
WINAPI
Parser_ChangeRate
(
IMediaSeeking
*
iface
);
static
HRESULT
WINAPI
Parser_OutputPin_DecideBufferSize
(
BaseOutputPin
*
iface
,
IMemAllocator
*
pAlloc
,
ALLOCATOR_PROPERTIES
*
ppropInputRequest
);
static
HRESULT
WINAPI
Parser_OutputPin_GetMediaType
(
BasePin
*
iface
,
int
iPosition
,
AM_MEDIA_TYPE
*
pmt
);
static
inline
ParserImpl
*
impl_from_IMediaSeeking
(
IMediaSeeking
*
iface
)
{
...
...
@@ -409,7 +410,9 @@ HRESULT WINAPI Parser_QueryVendorInfo(IBaseFilter * iface, LPWSTR *pVendorInfo)
static
const
BasePinFuncTable
output_BaseFuncTable
=
{
NULL
,
BaseOutputPinImpl_AttemptConnection
BaseOutputPinImpl_AttemptConnection
,
BasePinImpl_GetMediaTypeVersion
,
Parser_OutputPin_GetMediaType
};
static
const
BaseOutputPinFuncTable
output_BaseOutputFuncTable
=
{
...
...
@@ -618,15 +621,6 @@ static ULONG WINAPI Parser_OutputPin_Release(IPin * iface)
return
refCount
;
}
static
HRESULT
WINAPI
Parser_OutputPin_EnumMediaTypes
(
IPin
*
iface
,
IEnumMediaTypes
**
ppEnum
)
{
TRACE
(
"(%p)
\n
"
,
ppEnum
);
/* override this method to allow enumeration of your types */
return
EnumMediaTypes_Construct
((
BasePin
*
)
iface
,
Parser_OutputPin_GetMediaType
,
BasePinImpl_GetMediaTypeVersion
,
ppEnum
);
}
static
HRESULT
WINAPI
Parser_OutputPin_Connect
(
IPin
*
iface
,
IPin
*
pReceivePin
,
const
AM_MEDIA_TYPE
*
pmt
)
{
Parser_OutputPin
*
This
=
(
Parser_OutputPin
*
)
iface
;
...
...
@@ -664,7 +658,7 @@ static const IPinVtbl Parser_OutputPin_Vtbl =
BasePinImpl_QueryDirection
,
BasePinImpl_QueryId
,
Parser_OutputPin_QueryAccept
,
Parser_OutputPin
_EnumMediaTypes
,
BasePinImpl
_EnumMediaTypes
,
BasePinImpl_QueryInternalConnections
,
BaseOutputPinImpl_EndOfStream
,
BaseOutputPinImpl_BeginFlush
,
...
...
dlls/quartz/videorenderer.c
View file @
7602829c
...
...
@@ -556,7 +556,9 @@ static const BaseFilterFuncTable BaseFuncTable = {
static
const
BasePinFuncTable
input_BaseFuncTable
=
{
VideoRenderer_CheckMediaType
,
NULL
NULL
,
BasePinImpl_GetMediaTypeVersion
,
BasePinImpl_GetMediaType
};
static
const
BaseInputPinFuncTable
input_BaseInputFuncTable
=
{
...
...
dlls/strmbase/pin.c
View file @
7602829c
...
...
@@ -320,7 +320,7 @@ HRESULT WINAPI BasePinImpl_EnumMediaTypes(IPin * iface, IEnumMediaTypes ** ppEnu
/* override this method to allow enumeration of your types */
return
EnumMediaTypes_Construct
(
This
,
BasePinImpl_GetMediaType
,
BasePinImpl_
GetMediaTypeVersion
,
ppEnum
);
return
EnumMediaTypes_Construct
(
This
,
This
->
pFuncsTable
->
pfnGetMediaType
,
This
->
pFuncsTable
->
pfn
GetMediaTypeVersion
,
ppEnum
);
}
HRESULT
WINAPI
BasePinImpl_QueryInternalConnections
(
IPin
*
iface
,
IPin
**
apPin
,
ULONG
*
cPin
)
...
...
dlls/strmbase/transform.c
View file @
7602829c
...
...
@@ -108,6 +108,18 @@ static HRESULT WINAPI TransformFilter_Output_DecideBufferSize(BaseOutputPin *Thi
return
pTransformFilter
->
pFuncsTable
->
pfnDecideBufferSize
(
pTransformFilter
,
pAlloc
,
ppropInputRequest
);
}
static
HRESULT
WINAPI
TransformFilter_Output_GetMediaType
(
BasePin
*
This
,
int
iPosition
,
AM_MEDIA_TYPE
*
pmt
)
{
TransformFilter
*
pTransform
=
(
TransformFilter
*
)
This
->
pinInfo
.
pFilter
;
if
(
iPosition
<
0
)
return
E_INVALIDARG
;
if
(
iPosition
>
0
)
return
VFW_S_NO_MORE_ITEMS
;
CopyMediaType
(
pmt
,
&
pTransform
->
pmt
);
return
S_OK
;
}
static
IPin
*
WINAPI
TransformFilter_GetPin
(
BaseFilter
*
iface
,
int
pos
)
{
TransformFilter
*
This
=
(
TransformFilter
*
)
iface
;
...
...
@@ -134,6 +146,8 @@ static const BaseFilterFuncTable tfBaseFuncTable = {
static
const
BasePinFuncTable
tf_input_BaseFuncTable
=
{
TransformFilter_Input_CheckMediaType
,
NULL
,
BasePinImpl_GetMediaTypeVersion
,
BasePinImpl_GetMediaType
};
static
const
BaseInputPinFuncTable
tf_input_BaseInputFuncTable
=
{
...
...
@@ -143,6 +157,8 @@ static const BaseInputPinFuncTable tf_input_BaseInputFuncTable = {
static
const
BasePinFuncTable
tf_output_BaseFuncTable
=
{
NULL
,
BaseOutputPinImpl_AttemptConnection
,
BasePinImpl_GetMediaTypeVersion
,
TransformFilter_Output_GetMediaType
};
static
const
BaseOutputPinFuncTable
tf_output_BaseOutputFuncTable
=
{
...
...
@@ -508,26 +524,6 @@ static const IPinVtbl TransformFilter_InputPin_Vtbl =
TransformFilter_InputPin_NewSegment
};
static
HRESULT
WINAPI
TransformFilter_Output_GetMediaType
(
BasePin
*
This
,
int
iPosition
,
AM_MEDIA_TYPE
*
pmt
)
{
TransformFilter
*
pTransform
=
(
TransformFilter
*
)
This
->
pinInfo
.
pFilter
;
if
(
iPosition
<
0
)
return
E_INVALIDARG
;
if
(
iPosition
>
0
)
return
VFW_S_NO_MORE_ITEMS
;
CopyMediaType
(
pmt
,
&
pTransform
->
pmt
);
return
S_OK
;
}
static
HRESULT
WINAPI
TransformFilter_Output_EnumMediaTypes
(
IPin
*
iface
,
IEnumMediaTypes
**
ppEnum
)
{
BasePin
*
This
=
(
BasePin
*
)
iface
;
TRACE
(
"(%p/%p)->(%p)
\n
"
,
This
,
iface
,
ppEnum
);
return
EnumMediaTypes_Construct
(
This
,
TransformFilter_Output_GetMediaType
,
BasePinImpl_GetMediaTypeVersion
,
ppEnum
);
}
static
const
IPinVtbl
TransformFilter_OutputPin_Vtbl
=
{
BaseOutputPinImpl_QueryInterface
,
...
...
@@ -542,7 +538,7 @@ static const IPinVtbl TransformFilter_OutputPin_Vtbl =
BasePinImpl_QueryDirection
,
BasePinImpl_QueryId
,
TransformFilter_Output_QueryAccept
,
TransformFilter_Output
_EnumMediaTypes
,
BasePinImpl
_EnumMediaTypes
,
BasePinImpl_QueryInternalConnections
,
BaseOutputPinImpl_EndOfStream
,
BaseOutputPinImpl_BeginFlush
,
...
...
include/wine/strmbase.h
View file @
7602829c
...
...
@@ -48,6 +48,9 @@ typedef struct BasePinFuncTable {
BasePin_CheckMediaType
pfnCheckMediaType
;
/* Required for Output Pins*/
BasePin_AttemptConnection
pfnAttemptConnection
;
/* Required for BasePinImpl_EnumMediaTypes */
BasePin_GetMediaTypeVersion
pfnGetMediaTypeVersion
;
BasePin_GetMediaType
pfnGetMediaType
;
}
BasePinFuncTable
;
typedef
struct
BaseOutputPin
...
...
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