This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

UNIVERSAL_process - max nb of inBufs



Hi,

 

when using Codec Engine version 2.25.01  and a IUNIVERSAL algo - in UNIVERSAL_process:

 

UNIVERSAL_process(

triggerphase_codec_handle, 

&inBufs, &outBufs, 

NULL, 

(UNIVERSAL_InArgs  *) &inArgs, 

(UNIVERSAL_OutArgs *) &outArgs);

whats the maximum number of inBufs? I set inBufs.numBufs to 31 - and UNIVERSAL_process fails. If I set it to 1 - it succeeds!

 

This is the log when it fails:

@12,493,634us: [+0 T:0x40022450 S:0xbecc78ac] ti.sdo.ce.universal.UNIVERSAL - UNIVERSAL_process> Enter (handle=0x49790, inBufs=0xbecc7a08, outBufs=0xbecc7944, inOutBufs=0x0, inArgs=0xbecc7acc, outArgs=0xbecc7ad8)

@12,494,678us: [+4 T:0x40022450 S:0xbecc7824] CV - VISA_getMaxMsgSize(0x49790): returning 0x1000

@12,495,338us: [+4 T:0x40022450 S:0xbecc7824] CV - VISA_getMaxMsgSize(0x49790): returning 0x1000

@12,495,980us: [+6 T:0x40022450 S:0xbecc7834] ti.sdo.ce.universal.UNIVERSAL - process> invalid arguments - too big (0x841d327c > 0x1000).  Validate .size fields

@12,496,651us: [+0 T:0x40022450 S:0xbecc78ac] ti.sdo.ce.universal.UNIVERSAL - UNIVERSAL_process> Exit (handle=0x49790, retVal=0xfffffffd)

 

C.

  • The input and output params are XDM1_BufDesc structures defined in xdm.h:

    #define XDM_MAX_IO_BUFFERS      16          /**< Max I/O Buffers */

    ...

    typedef struct XDM1_BufDesc {
        XDAS_Int32   numBufs;   /**< Number of buffers in @c descs array.
                                 *
                                 *   @remarks  Must be less than
                                 *             #XDM_MAX_IO_BUFFERS.
                                 */
        XDM1_SingleBufDesc descs[XDM_MAX_IO_BUFFERS]; /** Array of buffer
                                 * descriptors.
                                 */
    } XDM1_BufDesc;