summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2009-03-23 13:27:54 +0000
committerNanang Izzuddin <nanang@teluu.com>2009-03-23 13:27:54 +0000
commitf10dfa76dd0aebe48fc6f680c598d60b64cbad41 (patch)
tree976c1a6ce2de58b5a016b3b408bde81ae723c021
parentbd221ecd3671724c412284f22e29f5fa425c7645 (diff)
Ticket #729: back-porting ticket #728
git-svn-id: http://svn.pjsip.org/repos/pjproject/branches/1.0@2547 74dad513-b988-da41-8d7b-12977e46ad98
-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 ca0c70f8..2b1ad7b3 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;
}