title: DIrectshow function is blocked at system bootup
body: <p>I have an Directshow based mediaplayer application . It works very well without any issues during normal playabck . But occasionally i am facing one issue when the Mediaplayer started just after system boot .</p>
  
  <pre><code>HRESULT CSDirectShow::RenderOutputPins (IBaseFilter* pFilter)
  {
      const char* funcName = "CSDirectShow::RenderOutputPins()";
      HRESULT     hr = S_OK;
  
      // Enumerate all pins on the source filter,
      //  looking for the output pins so that I can call Render() on them
      //
      CComPtr&lt; IEnumPins &gt; pEnumPin;
      if (!FAILED (pFilter-&gt;EnumPins (&amp;pEnumPin)))
      {
          while (true)
          {
              // get the next pin
              //
  
              CComPtr&lt; IPin &gt; pPin;
              if (pEnumPin-&gt;Next (1L, &amp;pPin, NULL) != S_OK) break;
              // I'm not interested in connected pins
              //  if this pin is an unconnected output pin, then render it.
              //
              CComPtr&lt; IPin &gt; pConnectedPin;
              if (pPin-&gt;ConnectedTo (&amp;pConnectedPin) == VFW_E_NOT_CONNECTED)
              {
                  PIN_DIRECTION pinDirection;
                  PIN_INFO pinInfo;
                  //Get the information of the pin
                  if (pPin-&gt;QueryDirection (&amp;pinDirection) == S_OK
                                              &amp;&amp; pinDirection == PINDIR_OUTPUT 
                                              &amp;&amp; pPin-&gt;QueryPinInfo(&amp;pinInfo) == S_OK 
                                              &amp;&amp; strstr((char*)pinInfo.achName,"~")==NULL)
                  {
                      if (FAILED (hr = m_pGB-&gt;Render (pPin))) 
                      {
                          SafeRelease(&amp;pinInfo.pFilter);
                          return hr;
                      }
                  }
                  SafeRelease(&amp;pinInfo.pFilter);
              }
          }
      }
      TraceMsg ("%s: exit",funcName);
      return S_OK;
      }
  </code></pre>
  
  <p>When <strong><em>m_pGB->Render (pPin)</em></strong>  is called ,This function never returns and it is blocked inside .I confirmed using logs .This issue happens only when i start my application immediately after bootup . When issues occures if I close and restart my application it works like a charm .Since application is designed to start automatically after system bootup this behaviour has become a bigger concern .Kindly help</p>