Windows Media Video Decoder DMO problems

Discussion in 'Windows Media Player' started by NathanS, Jan 11, 2007.

  1. NathanS

    NathanS Guest

    I am developing an ActiveX control for use in a Video Conferencing
    project. This control basically acts as a DSP, capturing video using
    DirectShow and a SampleGrabber, then giving functions that will encode
    and/or decode each frame using Windows Media Video 9 or greater. I have
    been able to initialize the WM Encoder 9 DMO by enumerating and finding
    it based on my input and output media types. The problem is, when I go
    to initialize the Decoder DMO on the other side, I fail to initialize
    the decoder, even though I am simply swapping my Media Types and
    handing them to the Decoder DMO.

    Enabling my encoder looks something like this

    OpenVideoEncoder
    Original SubType is RGB24
    Source Width: 320
    Source Height: 240
    Source FPS: 30
    Enc Width: 320
    Enc Height: 240
    Enc FPS: 30
    Created DMO with code 0x0
    Get Interface for DMO with code 0x0
    Got stream count for DMO with code 0x0
    Number of Input Streams: 1
    Number of Output Streams: 2
    Created property bag with return code with code 0x0
    Wrote VBR Enable property with code 0x0
    Wrote VBR Quality property with code 0x0
    Wrote Buffer Window property with return code with code 0x0
    Key Frame property with return code with code 0x0
    Wrote Crispness property with return code with code 0x0
    Tested input type with code 0x0
    Set input type for DMO with return code with code 0x0
    Got CodecPrivateData with code 0x0
    Set Private Data Partial output with code 0x0
    Got private data size with code 0x0
    Size of Private data is 1024
    Got private data with code 0x0
    Tested output type with code 0x0
    Set output type for DMO with return code with code 0x0

    But, when I enable my decoder, it looks something like this:

    OpenVideoDecoder
    Original SubType is RGB24
    Source Width: 320
    Source Height: 240
    Source FPS: 30
    Enc Width: 320
    Enc Height: 240
    Enc FPS: 30
    Created DMO with code 0x0
    Get Interface for DMO with code 0x0
    Got stream count for DMO with code 0x0
    Number of Input Streams: 1
    Number of Output Streams: 1
    Tested input type with code 0x80040205
    Set input type for DMO with return code with code 0x80040205
    Tested output type with code 0x80040203
    Set output type for DMO with return code with code 0x80040203

    I have noticed that my computer has a WMVideo9 Encoder, but there is
    only a WMVideo8 and WMVideo Decoder DMO, and when my enumeration method
    finishes, it picks the WMV9 Encoder and the WMV Decoder.

    Does anyone know why I might be getting this behavior and how I might
    make this work? Thanks

    Nathan
     
    NathanS, Jan 11, 2007
    #1
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.