summaryrefslogtreecommitdiff
path: root/pjmedia
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2011-06-22 09:33:55 +0000
committerNanang Izzuddin <nanang@teluu.com>2011-06-22 09:33:55 +0000
commitb7229ba3b5639e04706081fb57e34b05e0876883 (patch)
tree27a68811157a9427518c4b196336db613300ee8c /pjmedia
parentce6bdc7415d99992775a3c21126f3a3a7907cdda (diff)
Fixed #1315: fixed VAS to apply the output volume setting, set in creation param, after the stream is started.
git-svn-id: http://svn.pjsip.org/repos/pjproject/branches/1.x@3595 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia')
-rw-r--r--pjmedia/src/pjmedia-audiodev/symb_vas_dev.cpp21
1 files changed, 13 insertions, 8 deletions
diff --git a/pjmedia/src/pjmedia-audiodev/symb_vas_dev.cpp b/pjmedia/src/pjmedia-audiodev/symb_vas_dev.cpp
index fd4d0806..ea66650e 100644
--- a/pjmedia/src/pjmedia-audiodev/symb_vas_dev.cpp
+++ b/pjmedia/src/pjmedia-audiodev/symb_vas_dev.cpp
@@ -1746,12 +1746,6 @@ static pj_status_t factory_create_stream(pjmedia_aud_dev_factory *f,
return PJ_RETURN_OS_ERROR(err);
}
- /* Apply output volume setting if specified */
- if (param->flags & PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING) {
- stream_set_cap(&strm->base, PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING,
- &param->output_vol);
- }
-
/* Done */
strm->base.op = &stream_op;
*p_aud_strm = &strm->base;
@@ -1945,10 +1939,21 @@ static pj_status_t stream_start(pjmedia_aud_stream *strm)
} while (!stream->engine->IsStarted() &&
(now.MicroSecondsFrom(start) < VAS_WAIT_START * 1000));
- if (stream->engine->IsStarted())
+ if (stream->engine->IsStarted()) {
+
+ /* Apply output volume setting if specified */
+ if (stream->param.flags &
+ PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING)
+ {
+ stream_set_cap(strm,
+ PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING,
+ &stream->param.output_vol);
+ }
+
return PJ_SUCCESS;
- else
+ } else {
return PJ_ETIMEDOUT;
+ }
}
return PJ_EINVALIDOP;