<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"> 
Use int16_t instead of short.</blockquote><div><br>Ah yes, of course.<br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

It's a full duplicate of the DoWork for float and can be avoiding by templating (move<br>
the function to a .h, and include it twice with 2 sets of defines).<br></blockquote><div><br>I didn't know templating could be done in C, nice trick :) <br><br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

But the code is not acceptable IMHO:<br>
 - you don't handle overflow, and so you will have broken audio.<br>
 - you still use float, so no performance gain<font color="#888888"><br>
</font></blockquote></div><br>hmm, good point, i'm not used to those stuff, can you suggest a good way to fix it ?<br><br><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Checking the codec at every iteration is silly and easily avoided.<br></blockquote><div><br>I agree, i sent the patch anyway to get feedback on the right way to do it.<br><br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">


This should be a separate plug-in anyway. The code is totally useless on x86.<br></blockquote><div><br>ok<br></div></div>