Hello, E have a filter graph rendering a video stream. Pretty simple:
(a) a DataSource object which we made that is a Csource filter puushing samples into the graph. (b) a decoder and (c) a renderer. The whole thing runs on an STA Thread. The samples from from the network and are picked up in C#. They are encoded and are supposed to be tnered into a queue within the DataSource. For this, the DataSource exposes an interface with a relevant function call. Now, internally the DataSource has a list and a mutex plus event to control acess to the list by the CSourceStream reading thread. THngs alook good so far. The data is picked up from the TCP Connection by means of a special thread pulling the data in. In order to get the data into the DataSource, I need to invoke on the "Winforms Thread" where the DataSource has been created. Surely, as the threading model is STA. Now, this invoke - blocks. Period. To my knowledge the only way for this would be if the MessagePump would be busy doing something else. Totally busy. But the surface of the program responds. This thread is doing a lot (some DirectShow activity etc.), but it is always a little available. The "TCP Pump" thread is also not identical. So invoking into the Message Pump Thread should work. Anyone has any ida what deadlocks and what approach I could use to figure this out? Regards Thomas Tomiczek THONA Consulting Ltd. (Microsoft MVP C#/.NET) You can read messages from the DOTNET archive, unsubscribe from DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com.