BASSenc

BASS_Encode_GetCount


Retrieves the amount of data queued, sent to or received from an encoder, or sent to a cast server.

QWORD BASS_Encode_GetCount(
    HENCODE handle,
    DWORD count
);

Parameters

handleThe encoder.
countThe count to retrieve. One of the following.
BASS_ENCODE_COUNT_QUEUEData currently in the queue, waiting to be sent to the encoder.
BASS_ENCODE_COUNT_QUEUE_LIMITThe queue's size limit.
BASS_ENCODE_COUNT_QUEUE_FAILData not queued due to the queue being full or out of memory.
BASS_ENCODE_COUNT_INData sent to the encoder.
BASS_ENCODE_COUNT_OUTData received from the encoder. This only applies when the encoder outputs to STDOUT or it is an ACM encoder.
BASS_ENCODE_COUNT_CASTData sent to a cast server.

Return value

If successful, the requested count (in bytes) is returned, else -1 is returned. Use BASS_ErrorGetCode to get the error code.

Remarks

The queue counts are based on the channel's sample format (floating-point if the BASS_CONFIG_FLOATDSP option is enabled), while the BASS_ENCODE_COUNT_IN count is based on the sample format used by the encoder, which could be different if one of the BASS_ENCODE_FP flags is active or the encoder is using an ACM codec (which take 16-bit data).

When the encoder output is being sent to a cast server, the BASS_ENCODE_COUNT_CAST count will match the BASS_ENCODE_COUNT_OUT count, unless there have been problems (eg. network timeout) that have caused data to be dropped.

Error codes

BASS_ERROR_HANDLEhandle is not valid.
BASS_ERROR_NOTAVAILThe encoder does not have a queue.
BASS_ERROR_ILLPARAMcount is not valid.

See also

BASS_Encode_CastGetStats, BASS_Encode_IsActive