We are testing iSAC and currently we can produce and listen to sound coded
in iSAC-format.

ISAC_2_Pcm16-function is translating iSAC-sound into Pcm-format.
The function needs to buffer data because the packages are not the same
size. The function handles all "packages" received from input_buffer as they
arrive. This means with varying circumstances it may process either alot of
data or possibly no data at all. The function will keep pushing data into
one "package" until it reaches the max buffer size.

If the max buffer size is met and there happens to be no data left for a
particular "package" to process and the ISAC_2_Pcm16 returns a value 0, Sems
just stops (without errors) even though there might be alot of sound
"packages"  left to process.

/**
 * \brief Sound converter function pointer.
 * @param out      [out] output buffer
 * @param in       [in] input buffer
 * @param size       [in] size of input buffer
 * @param channels [in] number of channels
 * @param rate     [in] sampling rate
 * @param h_codec  [in] codec handle
 * @return
 *     <ul>
 *     <li>if sucess:  bytes written in output buffer (0 is legal)
 *     <li>if failure: err < 0
 *     </ul>
 * @see amci_codec_t::intern2type
 * @see amci_codec_t::type2intern
 */

In the plugin interface documentation it says '(0 is legal)'.

What might this mean and how can I solve this issue?


- Lari Saukkonen
_______________________________________________
Sems mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/sems

Reply via email to