Re: ASF File Writer in WinCE6.0
- From: "Meir [MSFT]" <meirab@xxxxxxxxxxxxxxxxxxxx>
- Date: Mon, 30 Jul 2007 12:03:56 -0700
If you don't set the depth, it will be MAXLONGLONG by default. How much memory do you have available on the system when the graph is starting?
Also, the multiplexer input pins flow is controlled by StreamControl. Are you calling ICaptureGraphBuilder2::ControlStream to start the capture?
"ce_dev" <cedev@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message news:2A8D8A56-A75E-4E07-A4F2-53493509112C@xxxxxxxxxxxxxxxx
I am facing the same problem...I tried both the cases you mentioned
case 1.) MEDIATYPE_VideoBuffered as input and output type of my filter
Buffering filter is inserted in my filter graph and the filter graph
triggers event EC_BUFFER_FULL continously.And asf file generated has only
header and no data.IBuffering::GetBufferingDepth returned 0x7ffffffff and
resetting it to some random value didn't stop EC_BUFFER_FULL event.
Further I inserted a dummy dump filter instead of asf mux ,and I am able to
get raw encoded data.
case2: input is MEDIATYPE_Video and output MEDIATYPE_VideoBuffered
In this case buffering filter was not added to my graph. asf file had only
header again.Further I noticed , through SetNotifyWindow, the event
registered got triggered only once with event 0xd hex value.
And where exactly AM_SAMPLE_ENDOFSTREAM should be unset? At present this is
done at Transform(...) of my encoder on every outgoing sample. Is this the
Thanks & Regards,
"Meir [MSFT]" wrote:
The Buffering filter needs to be inserted before the encoder, not after. To
control the buffering filter insertion, you need to modify the media types
of the encoder. The ASF multiplexer will only accept the media type
MEDIATYPE_VideoBuffered on the video input pin. Your encoder needs to accept
MEDIATYPE_VideoBuffered on the input pin and deliver MEDIATYPE_VideoBuffered
on the output pin if you want to include the buffering filter in your graph,
or accept MEDIATYPE_Video on the input pin and deliver
MEDIATYPE_VideoBuffered on the output pin if you don't want to include the
buffering filter in your graph.
Typically, the buffering filter needs to be inserted in the graph before the
encoder unless your encoder can provide data in real time.
The buffering filter input pin is replicating the media sample parameters.
AM_SAMPLE_ENDOFSTREAM is set as a property flag through the IMediaSample2
interface. If you don't set it explicitly on your media sample, if might
contain garbage data, so you want to make sure to explicitly unset the flag.
Here's the link to the ASF file writter documentation:
This posting is provided "AS IS" with no warranties, and confers no rights.
"WinCE_Coder" <WinCECoder@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
> Thanks GraemaeW and Meir,
> The connection with the ASF Writer is good but we are not able to store
> H.264 content inside the ASF Container. From the Quartz DLL log, we > came
> know that the Buffering Filter has been added between our Encode > Transform
> Filter and the ASF Writer. So, is there any precautions that we need to
> while using the Buffering Filter?
> We observe an "End of Stream" Message from the
> CBufferingInputPin::FillBuffer() function after the initial connection
> connected with our Encode Filter. However, we do not observe this > message
> when connected with the MS WMV Encode Filter.
> Additionally, we wanted to know if Microsoft is planning to support the
> 1. AVI Mux or the MP4 mux which are popular container formats to store
> 2. Is there any further documentation available on the Buffering Filter > or
> the ASF File Mux Filter.
> 3.Is there any documentation available on the meaning behind each of > the
> debug zones of the quartz.dll? We wanted to isolate messages between > the
> buffering and the ASF Mux Writer alone and not other parts of the > Graph.
> "Meir [MSFT]" wrote:
>> What is the size of the H.264 encoded frames your encoder is >> producing?
>> There's an issue with the multiplexer where if the frames are too >> small,
>> encoding will hang (The exact value is 204 byte per frame).
>> The workaround for this is to increase the number of buffers in the
>> allocator negociated between your encoder and the multiplexer so >> famesize
>> number_of_frames > 2K
>> This posting is provided "AS IS" with no warranties, and confers no
>> "WinCE_Coder" <WinCECoder@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
>> > Hello,
>> > We are having our own custom Encode Transform filter which accepts
>> > input
>> > from a Camera Driver and encodes the same into elementary H264 >> > streams.
>> > We tried connecting the output of our Transform fitler into the ASF
>> > File
>> > Writer component available with WinCE6.0. The filter connection >> > process
>> > is
>> > good, however we are not seeing the output dump. Is there any
>> > limitation
>> > on
>> > the ASF File Writer that is not documented? We observe that only the
>> > ASF
>> > Header is found in the output file and nothing else.
>> > When we use the Microsoft WMV Encode and the ASF File writer with >> > the
>> > 6.0
>> > Camera driver, we are able to generate a proper ASF FIle. But are >> > not
>> > able
>> > to
>> > repeat the same with our H.264 Encode Filter? Are we missing >> > something.
>> > Thanks,
- Re: ASF File Writer in WinCE6.0
- From: ce_dev
- Re: ASF File Writer in WinCE6.0
- Prev by Date: Re: Running from RAM, demand paging
- Next by Date: RE: When I click on Target->Connectivity options it is not opened
- Previous by thread: Re: ASF File Writer in WinCE6.0
- Next by thread: Re: ASF File Writer in WinCE6.0