Using DMO to Access Windows Media Decoder

Windows Media

    Next

  • 1. WMVCore Dll crashes
    Hi, I have created my own ASF Writer using Windows Media Format. The graph goes like Capture Device---------->My Asf Writer (MyFilter). In MyFilter I am using two qeues for storing the raw data for processing latter on a thread so that receive is not blocked. The procesing thread picks the samples and writes the ASF file. Now as I have to switch sink files on processing thread so after a file is written I am firing NotifyEvent to my app giving the switched file information and Calling NotifyEvent Crashes my application throwing exception in WMVCoreDll. If I not fire the event everything works fine. I am not able to understand why crash is happening in WMVCore dll... Have a nice day and keep :-) ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Avnish Jain
  • 2. Graph Latency
    Hi I am using Format and Dshow Sdk to broadcast the live Stream , i need to reduce the graph latency I have to bring the latency below 1sec here is my graph steps CaptureFilter--->DV Splitter----> DV Video Decoder--->AsfWriter and after AsfWriter i retrieve the IWMWriterAdvanced2 Add the network sink and run the graph and I am using Profile Editor of WME in which I have set the buffer 1sec and on media player side again the buffer is 1 sec and using WM A/V 9.0 codec with CBR but still i am getting delay around 6 to 7 seconds please help me to reduce the latency.......... Thanks
  • 3. Format SDK encoder and multiprocessor
    We have developped a transcoding application converting MPEG2 into Windows Media 9 using IWMWriter. This application is running on a dual hyperthreading processor. My problem is that only 50% of the "4 cpu" are used. Is it possible to change some parameters in the format SDK to use all CPU to have more working threads for encoding, or is it limited to 2? Thanks
  • 4. A question about adding marker to a file
    Hi, everone: That's a simple question. Could I add marker to the file while other objects are accessing this file? For example, a reader object is reading samples from the file. Or the format SDK doesn't warrant that? Thanks!
  • 5. Looking for Info
    I am a beginner so please bear with me.. I have been looking around the Media SDK.. reading documention. I am looking for information about WMA files File format how it writes the wma format so other applications can read wma files File name artist album track genre ect. I will be using Access to read the data allow the user to update the record and write back to the wma file(add a couple of custome fields for our internal use) either Media Player or 3rd party wma player Any Thoughts

Using DMO to Access Windows Media Decoder

Postby nathan » Thu, 11 Jan 2007 06:27:34 GMT

I am using WMF 11 to write an ActiveX Control that will basically be a
DSP and Codec wrapped into one. I am using DirectShow to access capture
devices and grab raw frames from the device. I have written functions
to open the WM Encoder as a DMO and I can successfully process inputs
and outputs, although I have some serious doubts that the fantastic
data rates I am getting are actually right. So, now I am ready to move
ahead and write the decoder part. I wrote a function to open the DMO
for WM Decoder. I get my input and output types and successfully find a
DMO that will handle those rates. But, when I go to set an Input Type
or Output Type, I get an error.

Here is actually the text from a debug file I am writing from the
control

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

So you see, at the point that I call "SetInputType" on the DMO, I get
0x80040205. I tried taking the Media Types directly from the encoder,
swapping them and putting them into the Decoder (so that I keep the
same private data), but I still get this error. I suspicion that it
might be the fact that on encoding I am selecting a WMV9 Encoder, but
on decoding, I don't even have that option, so it just selects the WMV
Decoder. Can anyone shed some light on this for me? Thanks.

Nathan


Similar Threads:

1.Windows Media Video DMO Decoder instanciated twice with video acceleration

I have build a Video DMO decoder that works like a charm on all winXP
boxes, and on most win2K boxes.  However, I have come across several
problems on win2K boxes with video acceleration on.  In this scenario,
my DMO class gets instantiated twice (I set a breakpoint in the
constructor, and I hit it twice).

Firstly, why would my DMO get instantiated twice?  

Secondly, on the 2nd instantiation, the biHeight value is negative on
the 2nd instantiation.

On the same box that exhibits this problem, if I turn off video
acceleration and replay the video in wmplayer, everything is great.

Thanks,
Corey

2.Windows Media Player DMO Decoder question

Hi.

in the InternalProcessOutput funtion of the DMO :

I have a byte[] array which is essentially a bitmap image.

I have the pbOutput variable in which I'm supposed to put my output to
the renderer.

The pbOutput is an IntPtr.  I want to feed it my bitmap byte array.

What conversion do I have to make, or is this too simplistic?

BTW, must the bitmap be the same size/color as the render expects?
what else do I have to check?

Thanks
Roey

3.Windows Media Video Decoder DMO problems

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

4.Using MPEG4 decoder DMO

Hello All,

I am developing filters for playback of AVI, MP4 etc on WinCE 5.0. I
have a AVI with MS MPEG4 video and I want to use WMV/MPEG4 decoder DMO
(hoping that it supports MS MPEG4 V1 V2 V3). But my demux filter
output pin is not able to connect to input pin of MPEG4 DMO (this is
my initial guess). I think the problem might be in media types. I
searched for the media types supported by DMO but not able to get any
information. Also I want to make sure that I can use MPEG4 DMO, and it
wont require any special handling.
Can anybody please help me in this? I am using Windows media player
for testing. I have my own MPEG4 decoder filter which works fine with
AVI but it have some performance issues. Thats why I am trying to use
the MS DMO. If someone can provide me the details about the media
types for pins that will be great help.

Thanks in advance.

-Sourabh

5.Plugin to win media player (custom mp3 decoder as DMO)

hi everybody,

I have written a DMO (wrapper ) above my custom MP3 decoder ,and
successfully able to register it and get it working (decodes) using my
own app.
Now what i wanted to do isi want make this as a plugin to win media
player 10.
i am still learning  win media player SDK.I created a DSP plugin(using
SDK wizard) and merged my DMO code with that.
In my DoProcessOutput call i am just dng a copy of input to output.
But the PROBLEM is when data reaches this point it is already decoded.I
want to get the raw data at this point so that i can call my own mp3
decode.
What could be the problem?
Am i following the correct procedure here?
Do i need to put it into another plugin (rendering..) to decode using
my own decoder DMO?

any kind of help would be appreciated.

TIA
anand

6. Live Streaming using Windows Media Encoder 9 DMO on Vista

7. using Windows media player 9 with a toshiba dvd decoder

8. DMO_MEDIA_TYPE, DMO, Codec, Encoder and Decoder



Return to Windows Media

 

Who is online

Users browsing this forum: No registered users and 83 guest