Live Source Cannot create device. The device may be in use by another program.

Unanswered Live Source Cannot create device. The device may be in use by another program.

  • Tuesday, July 06, 2010 2:55 PM
     
     

    I have a DirectShow filter registered that I am selecting as a live source.  The direct show filter outputs MPEG2 Transport stream, which I Expression encoder pro 4 supports as a live input.

    Expression encoder pro 4 comes back with a pop up and the error :
    "Cannot create device.  The device may be in use by another program."

    I have access to the Direct show filter source code, if I had some idea of why it reports this error I could investigate?

    Many thanks

    John

     

All Replies

  • Tuesday, July 06, 2010 4:11 PM
     
     

    I have been debugging the interaction of Expression encoder with my DirectShow capture device.

    When selected it calls the GetMediaType which is most of note.  The code is as shown below  ;

    So my assumption is Expression encoder does not support MEDIATYPE_Stream and MEDIASUBTYPE_MPEG2_TRANSPORT??

    Can you confirm it should support this type, or suggest somewhere else to investigate?

    Thanks

    John

     

    HRESULT  CTsPin::GetMediaType(int Pos, CMediaType* pType)
    {
      if ( Pos<0 || pType==NULL )    return E_INVALIDARG;

      if ( Pos>=1 )    return VFW_S_NO_MORE_ITEMS;

      pType->SetType(&MEDIATYPE_Stream);
      pType->SetSubtype(&MEDIASUBTYPE_MPEG2_TRANSPORT);

      return S_OK;
    }