Menu

DMO Decoder

2009-10-01
2012-10-29
  • Cooly Martziano

    Cooly Martziano - 2009-10-01

    Hi,

    I've coded a decoder using the managed DirectShow (based on the DMOSplit
    sample), and it is working pretty good besides one aspect.
    When i seek forward and backwards, i'm hearing garbled audio.

    Is there anything special i should do in the code to overcome that?

    is it possible to control or get the seek position?

    Thanks,
    Cooly

     
  • snarfle

    snarfle - 2009-10-02

    Cool! What are you decoding?

    IIRC, when you declare your DMO class, you can also implement additional DS
    interfaces. If the wrapper doesn't override them, they will get forwarded to
    your code.

    You might be able to use this fact to receive notifications when things
    happen. Check out the docs for what happens during seeking.

     
  • Cooly Martziano

    Cooly Martziano - 2009-10-04

    Hi,

    I'm decoding some proprietary content of Audio which is stored compressed.
    Only when i seek back and forth i'm hearing noises that are caused (i believe)
    by wrong input that is being transfered to my DMO. I guess that in such case i
    should intercept the seek events to decide when should i start decoding and
    when should i wait for more raw data.

    I tried to search the documentation, but with no luck.

    Thanks.

     
  • snarfle

    snarfle - 2009-10-04

    You know, in theory, you shouldn't have to do any more than correctly support
    the DMO interfaces for this to work right.

    Have you checked out what all gets called on your DMO when you seek? In
    particular, does your InternalFlush get called? And are you sure you flush
    everything you need to when it is?

     
  • Cooly Martziano

    Cooly Martziano - 2009-10-07

    Yes, the internal flush gets called and i'm release everything that should be
    released.

    I think that the problem is with the sample that i'm getting. Is there any way
    for DMO to wait for additional data before processing it?

    In more details, if now i'm getting 250bytes each 0.25 secs, i'd like to
    gather 1KB before start processing it. is that possible?

    Thanks,
    Cooly.

     

Log in to post a comment.