Hello, I see that MPlayer provides some kind of Win32 DS loader interface, but I'm not sure how to use it. My purpose is to build a DS graph (I'm learning how right now, but I'm lost), which contains only one "element" - the EVR renderer with available input pin, where I can feed it with raw frames. I see that MPlayer has the needed infrastructure, but I'm not sure how it works. The documentation is incomplete. I hope that the provided code can act as I want it to, because I believe that until now it is used only to load a DS filter in the form of video/audio stream decoder. My purpose is to use the decoders from ffmpeg, but output to a DS renderer (EVR). Once EVR works as a general renderer with any codec (and I'm really close), I will connect a DXVA compatible ffmpeg decoder at its input pin. Any help will be appreciated.
On Wed, Feb 16, 2011 at 10:36 AM, Georgi Petrov <gogothebee@gmail.com> wrote:
Hello,
I see that MPlayer provides some kind of Win32 DS loader interface, but I'm not sure how to use it. My purpose is to build a DS graph (I'm learning how right now, but I'm lost), which contains only one "element" - the EVR renderer with available input pin, where I can feed it with raw frames. I see that MPlayer has the needed infrastructure, but I'm not sure how it works. The documentation is incomplete.
I hope that the provided code can act as I want it to, because I believe that until now it is used only to load a DS filter in the form of video/audio stream decoder. My purpose is to use the decoders from ffmpeg, but output to a DS renderer (EVR).
Once EVR works as a general renderer with any codec (and I'm really close), I will connect a DXVA compatible ffmpeg decoder at its input pin.
Any help will be appreciated.
I think I understand the situation a little bit more now. MPlayer's DS capabilities are limited towards supporting DS filters (decoders) when an external binary DS filter library (DLL) is loaded. It emulates most COM calls, which the DLL may try calling. This is not what I'm looking for. When I want to use EVR as a DS renderer, I guess I will have to get CoInitialize address with LoadLibrary from the Windows DLL, call it, then get all functions addresses I need with LoadLibrary and use them to initialize EVR as shown in the Windows SDK example. Once this is working, I will have the input pin ready for raw data and I will be able to connect it to libvo's output. Is this correct?
have a look at mplayer/stream/tvi_dshow.c its the directshow interface for tv in mplayer. maybe it will give you hints on how to make a graph. there is also the dsnative loader: http://oss.netfarm.it/dsnative/ http://oss.netfarm.it/mplayer/patches/99_vd_dsnative.diff http://oss.netfarm.it/mplayer-win32.php good luck.
participants (2)
-
compn -
Georgi Petrov