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