Video enhancements to the ADI service

The Video Messaging Server Interface enhances the Natural Access ADI service to support video applications and allow pass-through RTP play and record functions. The ADI service supports encoding types for audio and video channels.

The multimedia functions adiPlayMMFromMemory, adiPlayMMAsync, adiRecordMMToMemory, and adiRecordMMAsync can control audio and video streams in the following ways:

These functions are based on standard ADI functions, as shown in the following table:

Enhanced ADI function

Associated standard ADI function

adiPlayMMFromMemory

adiPlayFromMemory

adiPlayMMAsync

adiPlayAsync

adiRecordMMToMemory

adiRecordToMemory

adiRecordMMAsync

adiRecordAsync

For information about the standard ADI play and record commands, see the ADI Service Developer’s Reference Manual.

Note: The MM in the video play and record functions stands for MultiMedia.

Pass-through play and record limitations

The pass-through play and record limitations are the following:

Stop functions

Use the following standard ADI service functions to stop playing (adiStopPlaying) and to stop recording (adiStopRecording) pass-through multimedia streams:

DWORD adiStopPlaying ( CTAHD ctahd)

Argument

Description

ctahd

Context handle returned by ctaCreateContext or ctaAttachContext.

DWORD adiStopRecording ( CTAHD ctahd)

Argument

Description

ctahd

Context handle returned by ctaCreateContext or ctaAttachContext.

When a record operation is stopped on a context (audio or video), record is automatically stopped on the other context in the pass-through configuration and in the audio transcoding configuration when using either adiRecordMMToMemory or adiRecordMMAsync. See Defining the Video Messaging Server configuration for more information.

When a play operation is stopped on a context, it is not automatically stopped on the other context.

Multimedia encoding types

The ADI service supports the following encoding types to support the multimedia pass-through play/record features:

Media function

Encoding type

Pass-through audio

ADI_ENCODE_NATIVE_AMRNB

ADI_ENCODE_NATIVE_G_723_1

ADI_ENCODE_NATIVE_G_711

Pass-through video

ADI_ENCODE_NATIVE_MPEG4

ADI_ENCODE_NATIVE_H_263 (RFC 2190)

ADI_ENCODE_NATIVE_H_263P (RFC 2429)

ADI_ENCODE_NATIVE_H_264

Specify these encoding types in adiPlayMMFromMemory, adiPlayMMAsync, adiRecordMMToMemory, and adiRecordMMAsync.

Note: When performing audio transcoding, any ADI-supported audio encoding type can be used.  However, when using 3GP files, an AMR encoding type must be used (ADI_ENCODE_AMR_***), where *** is based on the frame rate. For more information, see the ADI Service Developer's Reference Manual.