Ahh, my understanding of COM cleanup grows...

-aric

On 5/18/12 10:27 AM, Michael Stefaniuc wrote:
Hello Aric,

On 05/18/2012 04:27 PM, Aric Stewart wrote:
diff --git a/dlls/quartz/avisplit.c b/dlls/quartz/avisplit.c
index 5027e90..bac1b24 100644
--- a/dlls/quartz/avisplit.c
+++ b/dlls/quartz/avisplit.c
@@ -288,7 +288,7 @@ static HRESULT AVISplitter_next_request(AVISplitterImpl 
*This, DWORD streamnumbe

  static HRESULT AVISplitter_Receive(AVISplitterImpl *This, IMediaSample 
*sample, DWORD streamnumber)
  {
-    Parser_OutputPin *pin = (Parser_OutputPin 
*)This->Parser.ppPins[1+streamnumber];
+    Parser_OutputPin *pin = 
impl_Parser_OutputPin_from_IPin(This->Parser.ppPins[1+streamnumber]);
this isn't right. impl_from_... should be used only from methods of the
respective implementation. You can either:
- Make This->Parser.ppPins an array of Parser_OutputPin instead of IPin
- Or if you need to support application provided IPin then you'll need
an unsafe_impl_from_...

      HRESULT hr;
      LONGLONG start, stop, rtstart, rtstop;
      StreamData *stream =&This->streams[streamnumber];

bye
         michael


Reply via email to