| /* |
| * Copyright 2017 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| // |
| // Interface to the A2DP LDAC ABR |
| // |
| |
| #ifndef A2DP_VENDOR_LDAC_ABR_H |
| #define A2DP_VENDOR_LDAC_ABR_H |
| |
| #include <stdio.h> |
| |
| #include <ldacBT_abr.h> |
| |
| // Initial EQMID for ABR mode. |
| #define LDAC_ABR_MODE_EQMID LDACBT_EQMID_SQ |
| |
| // Loads the LDAC ABR library. |
| // Return true on success, otherwise false. |
| bool A2DP_VendorLoadLdacAbr(void); |
| |
| // Unloads the LDAC ABR library. |
| void A2DP_VendorUnloadLdacAbr(void); |
| |
| // Gets the LDAC ABR handle. |
| // Return the LDAC ABR handle. |
| HANDLE_LDAC_ABR a2dp_ldac_abr_get_handle(void); |
| |
| // Free the LDAC ABR handle. |
| void a2dp_ldac_abr_free_handle(HANDLE_LDAC_ABR hLdacAbr); |
| |
| // Initializes the LDAC ABR handle. |
| // Return 0 on success, or -1 on failure. |
| int a2dp_ldac_abr_init(HANDLE_LDAC_ABR hLdacAbr, unsigned int interval_ms); |
| |
| // Sets thresholds for the LDAC ABR handle. |
| // Return 0 on success, or -1 on failure. |
| int a2dp_ldac_abr_set_thresholds(HANDLE_LDAC_ABR hLdacAbr, |
| unsigned int th_critical, |
| unsigned int th_dangerous_trend, |
| unsigned int th_4hqsq); |
| |
| // LDAC ABR main process. |
| // It controls LDAC encoder bit rate based on A2DP transmit queue length. |
| // return current EQMID of LDAC encoder. |
| int a2dp_ldac_abr_proc(HANDLE_LDAC_BT hLdacParam, HANDLE_LDAC_ABR hLdacAbr, |
| size_t transmit_queue_length, unsigned int flag_enable); |
| |
| #endif // A2DP_VENDOR_LDAC_ENCODER_H |