Thanks for the VOL header tip. I printed out the first 64 bytes of each encoded frame and found the VOL header in the first frame after creating the videnc algorithm. 28 bytes up until the 0-0-1-B6 start of frame code.
I could not find any way to force it to add a header to a frame.
The headers are all the same so I copied one, as you mention, from the first frame encoded and add to the first frame recorded to an avi file, and it works.
However, since I also need to start the file with an I-frame, I first send the SET_PARAMS with forceFrame to I-Frame and then add the header. This keeps failing though. It does not like some setting in the dynamic params, even though I keep it the same as when I create the algorithm.
It seems that once I start executing process commands, I can no longer do a set params, even if I keep the dynamic params and params exactly how they were at the last creation or process.
So for now, I am just deleting and re-creating the algorithm and keeping the manageinbufscache to false. This re-creates the header and forces an I-frame.
> what you are missing is a VOL header, not every I-frame caries the information
needed to decode the stream, it's in the VOL object. you might be able to
force the coded to generate a VOL header, check the codec specs.
(you might also scan for and save the VOL header on the 1st encoded frame
and re-use it later...)