This just allocates the structre and creates the RIL connection. This is per audio_device structure to make sure we to not run into issues with audioserver threading. Change-Id: I42e1b7ae57579f39c5f76566ef5b67d4e2c13e3ftirimbino
parent
bc52af5471
commit
41c9f3d2bc
@ -0,0 +1,56 @@ |
||||
/*
|
||||
* Copyright (C) 2017 Christopher N. Hesse <raymanfx@gmail.com> |
||||
* |
||||
* 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. |
||||
*/ |
||||
|
||||
#define LOG_TAG "audio_hw_voice" |
||||
#define LOG_NDEBUG 0 |
||||
/*#define VERY_VERY_VERBOSE_LOGGING*/ |
||||
#ifdef VERY_VERY_VERBOSE_LOGGING |
||||
#define ALOGVV ALOGV |
||||
#else |
||||
#define ALOGVV(a...) do { } while(0) |
||||
#endif |
||||
|
||||
#include <stdlib.h> |
||||
#include <pthread.h> |
||||
|
||||
#include "audio_hw.h" |
||||
#include "voice.h" |
||||
|
||||
struct voice_session *voice_session_init(void) |
||||
{ |
||||
struct voice_session *session; |
||||
int ret; |
||||
|
||||
session = calloc(1, sizeof(struct voice_session)); |
||||
if (session == NULL) { |
||||
return NULL; |
||||
} |
||||
|
||||
/* Do this as the last step so we do not have to close it on error */ |
||||
ret = ril_open(&session->ril); |
||||
if (ret != 0) { |
||||
free(session); |
||||
return NULL; |
||||
} |
||||
|
||||
return session; |
||||
} |
||||
|
||||
void voice_session_deinit(struct voice_session *session) |
||||
{ |
||||
ril_close(&session->ril); |
||||
free(session); |
||||
} |
@ -0,0 +1,39 @@ |
||||
/*
|
||||
* Copyright (C) 2017 Christopher N. Hesse <raymanfx@gmail.com> |
||||
* |
||||
* 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. |
||||
*/ |
||||
|
||||
#ifndef VOICE_CALL_H |
||||
#define VOICE_CALL_H |
||||
|
||||
#include "ril_interface.h" |
||||
|
||||
struct voice_session { |
||||
struct ril_handle ril; |
||||
|
||||
struct pcm *pcm_voice_rx; |
||||
struct pcm *pcm_voice_tx; |
||||
|
||||
bool wb_amr; |
||||
bool two_mic_control; |
||||
bool two_mic_disabled; |
||||
|
||||
/* from uc_info */ |
||||
audio_devices_t out_device; |
||||
}; |
||||
|
||||
struct voice_session *voice_session_init(void); |
||||
void voice_session_deinit(struct voice_session *s); |
||||
|
||||
#endif /* VOICE_CALL_H */ |
Loading…
Reference in new issue