From 0930be14e223c23242676c3a2f2ef71e0ef99568 Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Wed, 5 Mar 2014 10:16:55 +0000 Subject: Fixed #1743: Unplugging the earpeace while audio is running would cause audio to stop in BB10 10.2.1. This also fix the issue in #1732 git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4778 74dad513-b988-da41-8d7b-12977e46ad98 --- pjmedia/src/pjmedia-audiodev/bb10_dev.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pjmedia/src/pjmedia-audiodev/bb10_dev.c b/pjmedia/src/pjmedia-audiodev/bb10_dev.c index 32466148..3d72a0fa 100644 --- a/pjmedia/src/pjmedia-audiodev/bb10_dev.c +++ b/pjmedia/src/pjmedia-audiodev/bb10_dev.c @@ -499,7 +499,8 @@ static int pb_thread_func (void *arg) status.status)); if (status.status == SND_PCM_STATUS_READY || status.status == SND_PCM_STATUS_UNDERRUN || - status.status == SND_PCM_STATUS_ERROR ) + status.status == SND_PCM_STATUS_ERROR || + status.status == SND_PCM_STATUS_CHANGE) { if (snd_pcm_plugin_prepare (stream->pb_pcm, SND_PCM_CHANNEL_PLAYBACK) < 0) @@ -583,7 +584,8 @@ static int ca_thread_func (void *arg) * after */ if (status.status == SND_PCM_STATUS_READY || status.status == SND_PCM_STATUS_OVERRUN || - status.status == SND_PCM_STATUS_ERROR) + status.status == SND_PCM_STATUS_ERROR || + status.status == SND_PCM_STATUS_CHANGE) { if (snd_pcm_plugin_prepare (stream->ca_pcm, SND_PCM_CHANNEL_CAPTURE) < 0) @@ -1034,6 +1036,11 @@ static pj_status_t bb10_stream_set_cap(pjmedia_aud_stream *strm, PJ_ASSERT_RETURN(value, PJ_EINVAL); /* OS 10.2.1 requires pausing audio stream */ + /* No longer necessary! + * See https://trac.pjsip.org/repos/ticket/1743 + */ + need_restart = PJ_FALSE; + /* need_restart = (stream->pb_thread != NULL); if (need_restart) { PJ_LOG(4,(THIS_FILE, "pausing audio stream..")); @@ -1043,6 +1050,7 @@ static pj_status_t bb10_stream_set_cap(pjmedia_aud_stream *strm, return ret; } } + */ route = *((pjmedia_aud_dev_route*)value); PJ_LOG(4,(THIS_FILE, "setting audio route to %d..", route)); -- cgit v1.2.3