15738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/****************************************************************************** 25738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 35738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * Copyright (C) 1999-2012 Broadcom Corporation 45738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 55738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 65738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * you may not use this file except in compliance with the License. 75738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * You may obtain a copy of the License at: 85738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 95738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * See the License for the specific language governing permissions and 155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * limitations under the License. 165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ******************************************************************************/ 185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef _SBC_IF_H 205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define _SBC_IF_H 215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PCM_BUFFER_SIZE 512 235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* 255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project SBC_Init - called once for each track played 265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project pcm_sample_freq - 4000 to 48000 285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project channels - 1 mono 2 stereo 295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project bits_per_sample - 8 or 16 305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project return - 0 sucess 315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectint SBC_init(int pcm_sample_freq, int channels, int bits_per_sample); 345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* 365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project SBC_write - called repeatedly with pcm_in pointer 375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project increasing by length until track is finished. 385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project pcm_in - pointer to PCM buffer 405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project length - any 415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project sbc_out - pointer to SBC output buffer 425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project return - number of bytes written to sbc_out 435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectint SBC_write(unsigned char *pcm_in, int length, unsigned char *sbc_out); 465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 48