summaryrefslogtreecommitdiff
path: root/pjmedia/src/pjmedia-audiodev/bb10_dev.c
diff options
context:
space:
mode:
authorLiong Sauw Ming <ming@teluu.com>2012-06-01 04:49:57 +0000
committerLiong Sauw Ming <ming@teluu.com>2012-06-01 04:49:57 +0000
commit4a362890c5c5f2f7e3da5a5a07d8e42687a82e5f (patch)
tree60c9768b01661272488944eb92a6654a90ed64f9 /pjmedia/src/pjmedia-audiodev/bb10_dev.c
parent1879ccebd5d2b1bfebaa08df0823ccb0937e8a53 (diff)
Re #1521: minor fixes to BB10 dev.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4151 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia/src/pjmedia-audiodev/bb10_dev.c')
-rw-r--r--pjmedia/src/pjmedia-audiodev/bb10_dev.c25
1 files changed, 5 insertions, 20 deletions
diff --git a/pjmedia/src/pjmedia-audiodev/bb10_dev.c b/pjmedia/src/pjmedia-audiodev/bb10_dev.c
index 8fcb7242..3e86277d 100644
--- a/pjmedia/src/pjmedia-audiodev/bb10_dev.c
+++ b/pjmedia/src/pjmedia-audiodev/bb10_dev.c
@@ -19,7 +19,7 @@
/*
* This is the implementation of BlackBerry 10 (BB10) audio device.
- * Original code was kindly donated by Truphone Ltd.
+ * Original code was kindly donated by Truphone Ltd. (http://www.truphone.com)
* The key methods here are bb10_capture_open, bb10_play_open together
* with the capture and play threads ca_thread_func and pb_thread_func
*/
@@ -567,6 +567,7 @@ static pj_status_t bb10_open_playback (struct bb10_stream *stream,
snd_pcm_channel_info_t pi;
snd_pcm_channel_setup_t setup;
snd_mixer_group_t group;
+ snd_pcm_channel_params_t pp;
unsigned int rate;
unsigned long tmp_buf_size;
@@ -589,7 +590,6 @@ static pj_status_t bb10_open_playback (struct bb10_stream *stream,
return PJMEDIA_EAUD_SYSERR;
}
- snd_pcm_channel_params_t pp;
memset (&pp, 0, sizeof (pp));
/* Request VoIP compatible capabilities
@@ -606,7 +606,8 @@ static pj_status_t bb10_open_playback (struct bb10_stream *stream,
pp.buf.block.frags_min = 1;
pp.format.interleave = 1;
/* HARD CODE for the time being PJMEDIA expects 16khz */
- PJ_TODO(REMOVE_SAMPLE_RATE_HARD_CODE);
+ PJ_TODO(REMOVE_SAMPLE_RATE_HARD_CODE);
+ pj_assert(param->clock_rate == VOIP_SAMPLE_RATE * 2);
pp.format.rate = VOIP_SAMPLE_RATE*2;
pp.format.voices = 1;
pp.format.format = SND_PCM_SFMT_S16_LE;
@@ -712,6 +713,7 @@ static pj_status_t bb10_open_capture (struct bb10_stream *stream,
pp.format.interleave = 1;
/* HARD CODE for the time being PJMEDIA expects 16khz */
PJ_TODO(REMOVE_SAMPLE_RATE_HARD_CODE);
+ pj_assert(param->clock_rate == VOIP_SAMPLE_RATE * 2);
pp.format.rate = VOIP_SAMPLE_RATE*2;
pp.format.voices = 1;
pp.format.format = SND_PCM_SFMT_S16_LE;
@@ -955,23 +957,6 @@ static pj_status_t bb10_stream_destroy (pjmedia_aud_stream *s)
bb10_stream_stop (s);
- if (stream->param.dir & PJMEDIA_DIR_PLAYBACK) {
- /*
- snd_mixer_close (stream->pb_mixer);
- snd_pcm_close (stream->pb_pcm);
- stream->pb_mixer = NULL;
- stream->pb_pcm = NULL;
- */
- }
- if (stream->param.dir & PJMEDIA_DIR_CAPTURE) {
- /*
- snd_mixer_close (stream->ca_mixer);
- snd_pcm_close (stream->ca_pcm);
- stream->ca_mixer = NULL;
- stream->ca_pcm = NULL;
- */
- }
-
pj_pool_release (stream->pool);
return PJ_SUCCESS;