Media recorder object

A media recorder object implements a use case by performing media recording given a prescribed set of inputs and outputs. The BlackBerry 10 implementation of OpenMAX AL supports audio and video recording. This object also uses a set of supported codecs.

All parameters are defined in OpenMAXAL_QNXConfigExt.h.

To set video encoding and decoding parameters, you can use the XAVideoEncoderItf interface.

The following configuration parameters are supported in the XAConfigExtensionItf interface:

Audio feature parameters

XAQ_CONFIGEXT_KEY_ENC_APPLICATION

Sets the encoder's intended application mode to audio or VoIP. Only valid for the Opus encoder. Use audio mode for non-voice signals including music and mixed music-voice content. Use VoIP mode for typical VoIP applications that use voice signals.

Parameters
  • XAQ_CONFIGEXT_VALUE_OPUS_APP_AUDIO
  • XAQ_CONFIGEXT_VALUE_OPUS_APP_VOIP

XAQ_CONFIGEXT_KEY_ENC_CBR

Enables or disables constant bitrate (CBR) encoding. Only valid for the Opus encoder.

Parameters
  • XAQ_CONFIGEXT_VALUE_DISABLE
  • XAQ_CONFIGEXT_VALUE_ENABLE

XAQ_CONFIGEXT_KEY_ENC_CVBR

Enables or disables constrained variable bitrate (CVBR) encoding. Only valid for the Opus encoder.

Parameters
  • XAQ_CONFIGEXT_VALUE_DISABLE
  • XAQ_CONFIGEXT_VALUE_ENABLE

XAQ_CONFIGEXT_KEY_ENC_DTX

Enables or disables the encoder's use of discontinuous transmission (DTX), a feature that temporarily shuts off or mutes a BlackBerry 10 device while it lacks voice input. Only valid for AMR and AMR-WB codecs.

Parameters
  • XAQ_CONFIGEXT_VALUE_DISABLE
  • XAQ_CONFIGEXT_VALUE_ENABLE

XAQ_CONFIGEXT_KEY_ENC_ENCODINGDTX

Enables or disables the encoder's use of discontinuous transmission (DTX), a feature that temporarily shuts off or mutes a BlackBerry 10 device while it lacks voice input. Only valid for the Opus encoder.

Parameters
  • XAQ_CONFIGEXT_VALUE_DISABLE
  • XAQ_CONFIGEXT_VALUE_ENABLE

XAQ_CONFIGEXT_KEY_ENC_INBAND_FEC

Enables or disables the use of inband forward error correction (FEC). Only valid for the Opus encoder.

Parameters
  • XAQ_CONFIGEXT_VALUE_DISABLE
  • XAQ_CONFIGEXT_VALUE_ENABLE

XAQ_CONFIGEXT_KEY_ENC_OPUS_MODE

Sets the Opus encoding mode. Only valid for the Opus encoder.

Parameters
  • XAQ_CONFIGEXT_VALUE_OPUS_MODE_AUTO
  • XAQ_CONFIGEXT_VALUE_OPUS_MODE_SILK_ONLY
  • XAQ_CONFIGEXT_VALUE_OPUS_MODE_HYBRID
  • XAQ_CONFIGEXT_VALUE_OPUS_MODE_CELT_ONLY

XAQ_CONFIGEXT_KEY_ENC_VAD

Enables or disables the encoder's use of voice activity detection (VAD), a speech processing technique used to detect human speech. Only valid for AMR, AMR-WB, G.711, G.729A, and GSM 06.10 codecs.

Parameters
  • XAQ_CONFIGEXT_VALUE_DISABLE
  • XAQ_CONFIGEXT_VALUE_ENABLE

Audio specification parameters

XAQ_CONFIGEXT_KEY_ENC_BANDWIDTH

Sets the encoder's target bandwidth. Only valid for the Opus encoder.

Parameters
  • XAQ_CONFIGEXT_VALUE_OPUS_BANDWIDTH_AUTO
  • XAQ_CONFIGEXT_VALUE_OPUS_BANDWIDTH_NARROWBAND
  • XAQ_CONFIGEXT_VALUE_OPUS_BANDWIDTH_MEDIUMBAND
  • XAQ_CONFIGEXT_VALUE_OPUS_BANDWIDTH_WIDEBAND
  • XAQ_CONFIGEXT_VALUE_OPUS_BANDWIDTH_SUPERWIDEBAND
  • XAQ_CONFIGEXT_VALUE_OPUS_BANDWIDTH_FULLBAND

XAQ_CONFIGEXT_KEY_ENC_COMPLEXITY

Sets the complexity level for the encoder. A higher level of complexity means lower noise levels and higher CPU requirements. Only valid for the Opus encoder and the Speex encoder.

The Speex encoder does not support XAQ_CONFIGEXT_VALUE_COMPLEXITY_AUTUO and XAQ_CONFIGEXT_VALUE_COMPLEXITY_10.

Parameters
  • XAQ_CONFIGEXT_VALUE_COMPLEXITY_AUTO
  • XAQ_CONFIGEXT_VALUE_COMPLEXITY_0
  • XAQ_CONFIGEXT_VALUE_COMPLEXITY_1
  • XAQ_CONFIGEXT_VALUE_COMPLEXITY_2
  • XAQ_CONFIGEXT_VALUE_COMPLEXITY_3
  • XAQ_CONFIGEXT_VALUE_COMPLEXITY_4
  • XAQ_CONFIGEXT_VALUE_COMPLEXITY_5
  • XAQ_CONFIGEXT_VALUE_COMPLEXITY_6
  • XAQ_CONFIGEXT_VALUE_COMPLEXITY_7
  • XAQ_CONFIGEXT_VALUE_COMPLEXITY_8
  • XAQ_CONFIGEXT_VALUE_COMPLEXITY_9
  • XAQ_CONFIGEXT_VALUE_COMPLEXITY_10

XAQ_CONFIGEXT_KEY_ENC_FRAMESIZE

Sets the target frame size for encoding. Only valid for the Opus encoder.

Parameters
  • XAQ_CONFIGEXT_VALUE_RDA_FRAMERATE_00MS
  • XAQ_CONFIGEXT_VALUE_RDA_FRAMERATE_5MS
  • XAQ_CONFIGEXT_VALUE_RDA_FRAMERATE_10MS
  • XAQ_CONFIGEXT_VALUE_RDA_FRAMERATE_20MS
  • XAQ_CONFIGEXT_VALUE_RDA_FRAMERATE_30MS
  • XAQ_CONFIGEXT_VALUE_RDA_FRAMERATE_40MS
  • XAQ_CONFIGEXT_VALUE_RDA_FRAMERATE_50MS
  • XAQ_CONFIGEXT_VALUE_RDA_FRAMERATE_60MS
  • XAQ_CONFIGEXT_VALUE_RDA_FRAMERATE_16MS
  • XAQ_CONFIGEXT_VALUE_RDA_FRAMERATE_25MS

XAQ_CONFIGEXT_KEY_ENC_INPUTBLOCKSIZE

Sets the input block size in bytes.

Parameters: Input block size in the range 0 to MAX_INT64. Only valid for G.711, G.722, G.729A, and GSM 06.10 codecs.

XAQ_CONFIGEXT_KEY_ENC_MAX_PAYLOAD

Sets the maximum encoding payload (number of bytes per encoded packet). Only valid for the Opus encoder.

Parameters: Maximum payload in the range 0 to 1276.

XAQ_CONFIGEXT_KEY_ENC_PCKTLOSS

Sets the packet loss percentage. Only valid for the Opus encoder.

Parameters: Packet loss percentage in the range 0 to 100, inclusive.

XAQ_CONFIGEXT_KEY_ENC_QUALITY

Sets the quality for encoding. A quality of 0 produces barely intelligible noise, while a quality of 10 produces completely transparent audio. Only valid for the Speex encoder.

Parameters
  • XAQ_CONFIGEXT_VALUE_QUALITY_0
  • XAQ_CONFIGEXT_VALUE_QUALITY_1
  • XAQ_CONFIGEXT_VALUE_QUALITY_2
  • XAQ_CONFIGEXT_VALUE_QUALITY_3
  • XAQ_CONFIGEXT_VALUE_QUALITY_4
  • XAQ_CONFIGEXT_VALUE_QUALITY_5
  • XAQ_CONFIGEXT_VALUE_QUALITY_6
  • XAQ_CONFIGEXT_VALUE_QUALITY_7
  • XAQ_CONFIGEXT_VALUE_QUALITY_8
  • XAQ_CONFIGEXT_VALUE_QUALITY_9
  • XAQ_CONFIGEXT_VALUE_QUALITY_10

Last modified: 2014-11-17



Got questions about leaving a comment? Get answers from our Disqus FAQ.

comments powered by Disqus