Re: File streaming

Dale_at_stopspam.com
Date: 10/21/04

  • Next message: Chris P. [MVP]: "Re: File streaming"
    Date: Thu, 21 Oct 2004 10:46:20 -0400
    
    

    On Tue, 12 Oct 2004 14:18:54 -0400, "Chris P. [MVP]" <msdn@chrisnet.net> wrote:

    > > 2.-Shall i choose to use WMV, ASF or AVI file?
    > AVI is not designed for streaming and requires a lot of work to make it
    > streamable. WMV/ASF are designed for streaming but there is an issue that
    > there is no standard WMV parser filter available, which makes playback from
    > a memory/network source tricky.

    Hi. I have a need to do exactly that -- playback a WMV file from a memory source. You say that there is no standard parser filter available; at this point I'd gladly use a non-standard one! You say it's tricky -- could you give me some hints as to the nature of the tricks? [So long as it doesn't involve writing the data to disk; that's not acceptable.]

    FWIW, I'm working in Delphi with the DSpack interface to DirectShow. I use a freeware source filter that takes a memory stream which works great for avi and mpg files; now if I can just get wmv type files to work!

    Here's what I've tried; first, I tried to use the WM ASF Reader object:

      ReaderObject: IUnknown;
      FS : IFileSourceFilter;

        // create a WM ASF Reader filter
        ReaderObject := CreateComObject(CLSID_WMAsfReader);
        ReaderObject.QueryInterface(IFileSourceFilter, FS);
        ReaderObject.QueryInterface(IWMReaderAdvanced2,RA);
        RA.SetPlayMode(WMT_PLAY_MODE_STREAMING);
        RA.OpenStream(TStreamAdapter.Create(VideoSrcStream),Self as IWMReaderCallback,nil);

    The SetPlayMode returns E_FAIL and the OpenStream returns E_NOTIMPL. So then I tried to use the Synchronous Reader

      hr : HRESULT;
      pSyncReader: IWMSyncReader;

        hr := WMCreateSyncReader(nil,WMT_RIGHT_PLAYBACK,pSyncReader);
        hr := pSyncReader.OpenStream(TStreamAdapter.Create(VideoSrcStream));
        AddFilter(pSyncReader as IBaseFilter);

    where AddFilter is a routine that adds the filter to the graph and then renders its pin(s); I get an EIntfCastError (0x80040111) "interface not supported". Any suggestions?

    Thanks

    -- 
    Dale
    

  • Next message: Chris P. [MVP]: "Re: File streaming"

    Relevant Pages

    • Re: FLASH market collapses
      ... Oh, it saves as .AVI, but some bigass mostly-uncompressed thing. ... for USB to sink, even crappy USB (probably like I have, or cheap thumbdrives ... But then, it occurs to me that AVI isn't a streaming format, ... I'd make reference to the PNY card reader I have ... ...
      (sci.electronics.design)
    • Re: Streaming Live AVI
      ... AVI is a streaming format just as much as ASF or MOV or MKV ...
      (microsoft.public.win32.programmer.directx.video)
    • Re: AVI format in media server
      ... AVI is a format of the data container to store video, audio and other media ... It is not designed for streaming so not supported by WMS ...
      (microsoft.public.windowsmedia.server)
    • Re: Enabling DirectX va
      ... > I know I could use WM AFS Reader for reading streaming content. ... It states that the WM ASF ... Reader filter is incapable of streaming content, and you need to write your ...
      (microsoft.public.win32.programmer.directx.video)
    • Re: DirectKS and DirectX
      ... Streaming Capture device. ... Connecting a source filter from ... capture and rendering in ASIO are tightly related). ...
      (microsoft.public.win32.programmer.directx.audio)