Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
20d87e76
Commit
20d87e76
authored
Apr 06, 2007
by
Chris Robinson
Committed by
Alexandre Julliard
Apr 07, 2007
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
quartz: Make sure cached media samples are released for parser filters.
parent
828d5a0c
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
28 additions
and
2 deletions
+28
-2
avisplit.c
dlls/quartz/avisplit.c
+14
-1
waveparser.c
dlls/quartz/waveparser.c
+14
-1
No files found.
dlls/quartz/avisplit.c
View file @
20d87e76
...
...
@@ -577,6 +577,19 @@ static HRESULT AVISplitter_InputPin_PreConnect(IPin * iface, IPin * pConnectPin)
return
hr
;
}
static
HRESULT
AVISplitter_Cleanup
(
LPVOID
iface
)
{
AVISplitterImpl
*
This
=
(
AVISplitterImpl
*
)
iface
;
TRACE
(
"(%p)->()
\n
"
,
This
);
if
(
This
->
pCurrentSample
)
IMediaSample_Release
(
This
->
pCurrentSample
);
This
->
pCurrentSample
=
NULL
;
return
S_OK
;
}
HRESULT
AVISplitter_create
(
IUnknown
*
pUnkOuter
,
LPVOID
*
ppv
)
{
HRESULT
hr
;
...
...
@@ -594,7 +607,7 @@ HRESULT AVISplitter_create(IUnknown * pUnkOuter, LPVOID * ppv)
This
->
pCurrentSample
=
NULL
;
hr
=
Parser_Create
(
&
(
This
->
Parser
),
&
CLSID_AviSplitter
,
AVISplitter_Sample
,
AVISplitter_QueryAccept
,
AVISplitter_InputPin_PreConnect
,
NULL
);
hr
=
Parser_Create
(
&
(
This
->
Parser
),
&
CLSID_AviSplitter
,
AVISplitter_Sample
,
AVISplitter_QueryAccept
,
AVISplitter_InputPin_PreConnect
,
AVISplitter_Cleanup
);
if
(
FAILED
(
hr
))
return
hr
;
...
...
dlls/quartz/waveparser.c
View file @
20d87e76
...
...
@@ -301,6 +301,19 @@ static HRESULT WAVEParser_InputPin_PreConnect(IPin * iface, IPin * pConnectPin)
return
hr
;
}
static
HRESULT
WAVEParser_Cleanup
(
LPVOID
iface
)
{
WAVEParserImpl
*
This
=
(
WAVEParserImpl
*
)
iface
;
TRACE
(
"(%p)->()
\n
"
,
This
);
if
(
This
->
pCurrentSample
)
IMediaSample_Release
(
This
->
pCurrentSample
);
This
->
pCurrentSample
=
NULL
;
return
S_OK
;
}
HRESULT
WAVEParser_create
(
IUnknown
*
pUnkOuter
,
LPVOID
*
ppv
)
{
HRESULT
hr
;
...
...
@@ -318,7 +331,7 @@ HRESULT WAVEParser_create(IUnknown * pUnkOuter, LPVOID * ppv)
This
->
pCurrentSample
=
NULL
;
hr
=
Parser_Create
(
&
(
This
->
Parser
),
&
CLSID_WAVEParser
,
WAVEParser_Sample
,
WAVEParser_QueryAccept
,
WAVEParser_InputPin_PreConnect
,
NULL
);
hr
=
Parser_Create
(
&
(
This
->
Parser
),
&
CLSID_WAVEParser
,
WAVEParser_Sample
,
WAVEParser_QueryAccept
,
WAVEParser_InputPin_PreConnect
,
WAVEParser_Cleanup
);
if
(
FAILED
(
hr
))
return
hr
;
...
...
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