Re: How to register TypeLib for DirectShow filter?
- From: ziphnor@xxxxxxxxx
- Date: 16 Feb 2007 10:54:15 -0800
For example, this object might itself hold interface pointers that are
proxies to objects running in STA, or in other process. When you call
this MTA object from STA without marshalling, and as part of its method
implementation it calls through this proxy, the proxy is going to return
RPC_E_WRONG_THREAD error which the object probably doesn't expect.
An MTA object might do some complex processing and take a long time
before returning. This is usually not a problem on MTA thread, but when
you do this from STA your application's UI will freeze. Moreover,
Windows shell might freeze too, e.g. when it uses DDE (which it does
whenever you click, say, a link in your email reader, or double-click a
Word or Excel file).
I see your point. Still it would be nice to be able to force it, when
you know that there cant be any problems. But i suppose it all comes
down to the fact that its a mess creating a DirectShow graph from an
STA thread.
I managed to wriggle out of the whole problem by changing the
interface to the filter. My previous problem was that the filter
called back to C# and in the callback i needed to retrieve some
information from the filter (ie, calling back again in the callback),
which i couldnt because of the COM rules if i let the STA main thread
create the filter graph (and if i made the filter MTA, then the main
thread couldnt finish setting up the graph). I managed to simply avoid
the 'ping-pong' call by having the callback method get the necessary
data as an argument.
Thanks for helping me out.
.
- References:
- How to register TypeLib for DirectShow filter?
- From: ziphnor
- Re: How to register TypeLib for DirectShow filter?
- From: Brian Muth
- Re: How to register TypeLib for DirectShow filter?
- From: ziphnor
- Re: How to register TypeLib for DirectShow filter?
- From: Igor Tandetnik
- Re: How to register TypeLib for DirectShow filter?
- From: ziphnor
- Re: How to register TypeLib for DirectShow filter?
- From: Brian Muth
- Re: How to register TypeLib for DirectShow filter?
- From: ziphnor
- Re: How to register TypeLib for DirectShow filter?
- From: Igor Tandetnik
- How to register TypeLib for DirectShow filter?
- Prev by Date: Re: How to register TypeLib for DirectShow filter?
- Next by Date: attn: talya - very powerful nntp groups - ah - (1/1)
- Previous by thread: Re: How to register TypeLib for DirectShow filter?
- Next by thread: for susi: highly creative finances - dic - (1/1)
- Index(es):
Relevant Pages
|