Announcements
IMPORTANT: Cypress Developer Community is transitioning on October 20th. To learn more and be prepared for this change, check out our latest announcement.
cancel
Showing results for 
Search instead for 
Did you mean: 

Studio Bluetooth

nismc_3872836
New Contributor

Hi,

I'm currently debugging some audio quality issues our system is having with over A2DP (dropouts, pops, crackles), notably using phones transferring high data rates in the order of 40-50kB/s. Other phones with lower data rates in the order of 30kB/s do not suffer such problems. These figures were measured over the air using a bluetooth analyser.

My question is: what is the best way to configure the A2DP sink on our CYBT343026 in order to eliminate these issues? Currently it is setup like the example code given:

/** A2DP sink configuration data */

wiced_bt_a2dp_config_data_t handsfree_audio_config =

{

    .feature_mask = 0,                                          /* feature mask */

    .codec_capabilities =

    {

        .count = sizeof(handsfree_audio_codec_capabilities) / sizeof(handsfree_audio_codec_capabilities[0]),

        .info  = handsfree_audio_codec_capabilities,            /* codec configuration */

    },

    .p_param =

    {

        .buf_depth_ms                   = 300,                                          /* in msec */

        .start_buf_depth                = 50,                                           /* start playback percentage of the buffer depth */

        .target_buf_depth               = 50,                                           /* target level percentage of the buffer depth */

        .overrun_control                = WICED_BT_A2DP_SINK_OVERRUN_CONTROL_FLUSH_DATA,/* overrun flow control flag */

        .adj_ppm_max                    = +300,                                         /* Max PPM adjustment value */

        .adj_ppm_min                    = -300,                                         /* Min PPM adjustment value */

        .adj_ppb_per_msec               = 200,                                          /* PPM adjustment per milli second */

        .lvl_correction_threshold_high  = +2000,                                        /* Level correction threshold high value */

        .lvl_correction_threshold_low   = -2000,                                        /* Level correction threshold low value */

        .adj_proportional_gain          = 20,                                           /* Proportional component of total PPM adjustment */

        .adj_integral_gain              = 2,                                            /* Integral component of total PPM adjustment */

    },

};

Also, is there any way to detect/quantify packet loss, or any general failures with A2DP? Would also appreciate any additional info on the different parameters that can be affected!

Nick

0 Likes
1 Solution
AnjanaM_61
Moderator
Moderator

Hi Nick,

The audio dropouts may happen because of a number of reason - peer device being used, test env, rf/board design, etc. The default parameters should work well on most parts.

Could you please get us the over the air logs ?

Thanks,

Anjana

View solution in original post

4 Replies