locked
Quicktime .mov output using directshow RRS feed

  • Question

  • Sorry if this is a question discussed before, but I can't find anything useful using search.

    Since .mov is not a directshow supported format, I downloaded a 3rd party package that allows for a DS app reading and writing .mov files. Running graphedit confirmed that it was working correctly. However, the C++ app complains about the new GUIDs as 'unresolved external symbols'.  The package contains only .ax files but no library. So how do I build my app using Visual Studio 2008? Also, is there anything else I can do to read and write to .mov files using DS? Thanks very much for any help.

    Wednesday, September 7, 2011 6:59 PM

Answers

  • You are just missing a definition of the filter GUID in your code. Something like :

    #include <initguid.h>    // declares DEFINE_GUID to declare an EXTERN_C const.
    
    // The CLSID used by the minimal, in-place, null filter
    // DO NOT REUSE IT.  Run uuidgen.exe to create a new one.
    // {08af6540-4f21-11cf-aacb-0020af0b99a3}
    DEFINE_GUID(CLSID_NullNull,
    0x08af6540, 0x4f21, 0x11cf, 0xaa, 0xcb, 0x00, 0x20, 0xaf, 0x0b, 0x99, 0xa3);
    
    


    You can get the GUID value for your filter using Graphedit. When you select your filter in the "Insert Filter" dialog, it is at the end of the Filter Moniker (bottom of dialog) or of the Display Name when you expand the properties.

     


    Michel Roujansky, http://www.roujansky.com
    • Marked as answer by anjan22 Thursday, September 8, 2011 6:54 PM
    Thursday, September 8, 2011 7:58 AM

All replies

  • You are just missing a definition of the filter GUID in your code. Something like :

    #include <initguid.h>    // declares DEFINE_GUID to declare an EXTERN_C const.
    
    // The CLSID used by the minimal, in-place, null filter
    // DO NOT REUSE IT.  Run uuidgen.exe to create a new one.
    // {08af6540-4f21-11cf-aacb-0020af0b99a3}
    DEFINE_GUID(CLSID_NullNull,
    0x08af6540, 0x4f21, 0x11cf, 0xaa, 0xcb, 0x00, 0x20, 0xaf, 0x0b, 0x99, 0xa3);
    
    


    You can get the GUID value for your filter using Graphedit. When you select your filter in the "Insert Filter" dialog, it is at the end of the Filter Moniker (bottom of dialog) or of the Display Name when you expand the properties.

     


    Michel Roujansky, http://www.roujansky.com
    • Marked as answer by anjan22 Thursday, September 8, 2011 6:54 PM
    Thursday, September 8, 2011 7:58 AM
  • Hello Michael,

    Thanks, it builds now. Based on your tip, I also found this link to help solve the problem.

    http://support.microsoft.com/kb/130869

    Thursday, September 8, 2011 6:54 PM