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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
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.
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.
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?
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.
http://msdn.microsoft.com/en-
us/library/dd406949%28VS.85%29.aspx