summaryrefslogtreecommitdiff
path: root/pjmedia
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2009-02-13 15:33:03 +0000
committerNanang Izzuddin <nanang@teluu.com>2009-02-13 15:33:03 +0000
commit5b3605af27264b54156feb106402f132986c1558 (patch)
tree8f6088aca89f83ff68895c8dddfab36284d3383f /pjmedia
parentdb9db300b1be2f36c9ac064c8b4ab70dfa5bdfa8 (diff)
Ticket #728:
- Fixed l16_open() to initialize VAD & PLC settings. - Minor fixes: updated few parts related to macro PLC_DISABLED. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2453 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia')
-rw-r--r--pjmedia/src/pjmedia-codec/l16.c22
1 files changed, 18 insertions, 4 deletions
diff --git a/pjmedia/src/pjmedia-codec/l16.c b/pjmedia/src/pjmedia-codec/l16.c
index 18baf672..d520d252 100644
--- a/pjmedia/src/pjmedia-codec/l16.c
+++ b/pjmedia/src/pjmedia-codec/l16.c
@@ -98,7 +98,11 @@ static pjmedia_codec_op l16_op =
&l16_parse,
&l16_encode,
&l16_decode,
+#if !PLC_DISABLED
&l16_recover
+#else
+ NULL
+#endif
};
/* Definition for L16 codec factory operations. */
@@ -128,8 +132,8 @@ struct l16_data
unsigned frame_size; /* Frame size, in bytes */
unsigned clock_rate; /* Clock rate */
- pj_bool_t plc_enabled;
#if !PLC_DISABLED
+ pj_bool_t plc_enabled;
pjmedia_plc *plc;
#endif
pj_bool_t vad_enabled;
@@ -526,9 +530,17 @@ static pj_status_t l16_init( pjmedia_codec *codec, pj_pool_t *pool )
static pj_status_t l16_open(pjmedia_codec *codec,
pjmedia_codec_param *attr )
{
- /* Nothing to do.. */
- PJ_UNUSED_ARG(codec);
- PJ_UNUSED_ARG(attr);
+ struct l16_data *data = NULL;
+
+ PJ_ASSERT_RETURN(codec && codec->codec_data && attr, PJ_EINVAL);
+
+ data = (struct l16_data*) codec->codec_data;
+
+ data->vad_enabled = (attr->setting.vad != 0);
+#if !PLC_DISABLED
+ data->plc_enabled = (attr->setting.plc != 0);
+#endif
+
return PJ_SUCCESS;
}
@@ -547,7 +559,9 @@ static pj_status_t l16_modify(pjmedia_codec *codec,
pj_assert(data != NULL);
data->vad_enabled = (attr->setting.vad != 0);
+#if !PLC_DISABLED
data->plc_enabled = (attr->setting.plc != 0);
+#endif
return PJ_SUCCESS;
}