On 25.01.2009 23:53, Udo Richter wrote:
Hi list,
Attached is a new version of cDevice::PlayTsVideo and cDevice::PlayTsAudio that properly handles partially accepted buffers of the PlayVideo and PlayAudio functions. The original functions would discard any partially written data.
virtual int PlayVideo(const uchar *Data, int Length); ///< ... ///< PlayVideo() shall process the packet either as a whole (returning ///< Length) or not at all (returning 0 or -1 and setting 'errno' accordingly). ///< ... virtual int PlayAudio(const uchar *Data, int Length, uchar Id); ///< ... ///< PlayAudio() shall process the packet either as a whole (returning ///< Length) or not at all (returning 0 or -1 and setting 'errno' accordingly). ///< ...
By definition these two functions shall write "all or nothing". So the higher level functions needn't handle any partially written data.
Klaus