locked
Graph DirectShow not working RRS feed

  • Question

  • I have following problem in WinCE 6.0:

    I am building graph to display video source.

    My source filter handles MJPEG stream. Since CE 6.0 does not have MJPEG decompressor, I used MJPEG filter (jpeg2rgb.cpp) as a sample to write my own, changing very little code.

    All was fine and I was getting image running graph on Win CE device as well as on the emulator.

    Graph:
    SourceFilter->JPEG2RGB->Color Space Converter->Video Renderer.

     

    I am not sure if I have changes something; now I can build a graph, all filters agree and pins are connected; however after calling Run, FillBuffer in my source filter is called only once, I never receive next FillBuffer call.

    The seond time, allocator GetBuffer, returns VFW_E_NOT_COMMITTED from GetDeliveryBuffer and graph bails out (amfilter.cpp).

    I am not sure why.

    I am setting bitmap header compression (biCompression) to *(DWORD*)"MJPG" and media subtype using FOURCCMap to pass media subtype:

    SetSubtype(&FOURCCMap(. . ..biCompression).

    I do nor remember if I used different media type/subtype before in working version of my code.

    By the way, the same filter runs on my laptop without any problem using identical implementation of the graph.

    SourceFilter->MJPEG Decompressor->Color Space Converter->Video Renderer.

    Anyway, I have searched for GraphEdit for CE 6.0 but did not find it. I know it does not come with CE 6.0. Is there any way I could get it from some other source?

    Thanks,
    John


    MVP VC++
    Wednesday, February 24, 2010 10:02 PM

All replies