- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I uses DataReader, Spiltter, and Decoder. But I don't want to have Render. The Audio Media Buffer is created as LinearBuffer. and Decoder is DSAudioCodec. I called DSAudioCodec->LockInputBuffer, after data moved into decoder buffer, I called DSAudioCodec->UnLockInputBuffer. Everything works ok. But after a while, the InputBuffer is full. It seems to me DSAudioCodec->UnlockInputBuffer still keeps the SampleList and Buffer is still on hold. I guess it is freeed after Rendering. But I use other way to rendering. So there is any way to release LinearBuffer for the inputBuffer.
Thanks
David
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello david,
Seeingfrom the UMC documentation, the linearBuffer sizeare set by the Init() method and cannot be changed . The object tracks amount of free or filled bytes, and provides appropriate pointers to callers. If available amount of bytes is less than the required amount, the object immediately returns one of predefined
return values. So the caller code has to organize a special waiting code around an object
call. Despite the set reading and writing granulations, the object returns the entire amount
of bytes available for reading or writing. The granulations values have a meaning of
minimal acceptable values.
"After a while, the InputBuffer is full". So does it mean the read data into buffer too much, but no datawrite out? How about increate the Buffer size? or check the data writeout-in pipeline so the buffer is always ok as pseudo-infinite region?
Regards,
Ying
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello david,
Seeingfrom the UMC documentation, the linearBuffer sizeare set by the Init() method and cannot be changed . The object tracks amount of free or filled bytes, and provides appropriate pointers to callers. If available amount of bytes is less than the required amount, the object immediately returns one of predefined
return values. So the caller code has to organize a special waiting code around an object
call. Despite the set reading and writing granulations, the object returns the entire amount
of bytes available for reading or writing. The granulations values have a meaning of
minimal acceptable values.
"After a while, the InputBuffer is full". So does it mean the read data into buffer too much, but no datawrite out? How about increate the Buffer size? or check the data writeout-in pipeline so the buffer is always ok as pseudo-infinite region?
Regards,
Ying
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page