Re: Displaying WMV from a stream
From: Martin Harvey (Demon account) (martin_at_nospam_pergolesi.demon.co.uk)
Date: 10/19/04
- Previous message: Dale_at_stopspam.com: "Re: Displaying WMV from a stream"
- In reply to: Dale_at_stopspam.com: "Re: Displaying WMV from a stream"
- Next in thread: Martin Harvey (Demon account): "Re: Displaying WMV from a stream"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Mon, 18 Oct 2004 22:51:20 GMT
On Mon, 18 Oct 2004 17:11:41 -0400, Dale@stopspam.com wrote:
>[What is ksproxy?]
ksproxy is a magical bit of software that takes a whole bunch of user
mode direct show stuff, and translates it into magical kernel mode
stuff, so that you can write a device driver that understands
directshow. I seem to recall that when you got to insert filters,
GraphEdit has parts of the tree labelled "WDM Streaming Capture
Devices" and "WDM Streaming Rendering Devices" ... basically
everything under those branches is actually a device driver.. and
ksproxy makes it appear like a filter to the rest of the world.
>True, but not for ASF and WM files, apparently. At least, I can't find any separate source and parsing filters for those file types.
Ahhhhh ... This'll be MS trying to move away from DShow, and hence not
providing useful filters. I tend to do either raw YUV / RGB video, or
MPEG, which is much better supported.
>I did try GraphEdit, on a WMV file. It adds source filter with two output pins: Raw Audio 0 and Raw Video 1, which are connected to WMAudio Decoder DMO and WMVideo Decoder DMO respectively.
Well that's cool - you can at least decode the essence streams inside
the transport stream.
> But I'm not processing a file; I'm processing a stream that looks like a file -- essentially, a file in memory (although the whole file may not be present in memory at one time). And there's no RenderStream method to the FGM analogous to RenderFile. (Or is there?)
Right - so the problem is actually that you want to *discard*
functionality. Instead of having a file reader that reads and parses -
you want a basic file reader that gives you a raw transport stream,
and then a separate filter that parses the transport streams into the
separate essence streams (audio & video).
Now, as far as basic file reader filters, this already exists, I think
as part of the directshow install and is called "FileSource (Async)".
It'll give you a single transport stream with datatype {GUID_NULL}.
As far as parsing the WMV ... I'm not sure, you probably want to ask
on a the microsoft directshow newsroup - but if you have the combined
read/parse functionality, there must be a parser filter out there.
Perhaps a google search for WMV parser filter?
Then, when you want to read from a stream in memory, instead of
connecting the input of your parser filter to "file source async", you
write (or beg / borrow / steal) a source filter that reads the data
from memory and deals with it appropriately. I know how to write
source filters - but only in kernel mode(!) - sorry!
MH.
- Previous message: Dale_at_stopspam.com: "Re: Displaying WMV from a stream"
- In reply to: Dale_at_stopspam.com: "Re: Displaying WMV from a stream"
- Next in thread: Martin Harvey (Demon account): "Re: Displaying WMV from a stream"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|