diff options
author | Benny Prijono <bennylp@teluu.com> | 2008-02-29 12:00:46 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2008-02-29 12:00:46 +0000 |
commit | 81939c7e67c14187179b938c46e53b462ef37373 (patch) | |
tree | 18f8613185f961eb898c8d98f2ae59ff0da9e0e0 | |
parent | e421f89fe30b9fb93f336c8324547443542715b6 (diff) |
Added pjmedia_wsola_reset()
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1831 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r-- | pjmedia/include/pjmedia/wsola.h | 12 | ||||
-rw-r--r-- | pjmedia/src/pjmedia/wsola.c | 14 |
2 files changed, 26 insertions, 0 deletions
diff --git a/pjmedia/include/pjmedia/wsola.h b/pjmedia/include/pjmedia/wsola.h index 9592db38..dbeab186 100644 --- a/pjmedia/include/pjmedia/wsola.h +++ b/pjmedia/include/pjmedia/wsola.h @@ -99,6 +99,18 @@ PJ_DECL(pj_status_t) pjmedia_wsola_destroy(pjmedia_wsola *wsola); /** + * Reset the buffer contents of WSOLA. + * + * @param wsola WSOLA session. + * @param options Reset options, must be zero for now. + * + * @return PJ_SUCCESS normally. + */ +PJ_DECL(pj_status_t) pjmedia_wsola_reset(pjmedia_wsola *wsola, + unsigned options); + + +/** * Give one good frame to WSOLA to be kept as reference. Application * must continuously give WSOLA good frames to keep its session up to * date with current playback. Depending on the WSOLA implementation, diff --git a/pjmedia/src/pjmedia/wsola.c b/pjmedia/src/pjmedia/wsola.c index b0be6aba..23e73cf0 100644 --- a/pjmedia/src/pjmedia/wsola.c +++ b/pjmedia/src/pjmedia/wsola.c @@ -352,6 +352,20 @@ PJ_DEF(pj_status_t) pjmedia_wsola_destroy(pjmedia_wsola *wsola) return PJ_SUCCESS; } + +PJ_DEF(pj_status_t) pjmedia_wsola_reset( pjmedia_wsola *wsola, + unsigned options) +{ + PJ_ASSERT_RETURN(wsola && options==0, PJ_EINVAL); + PJ_UNUSED_ARG(options); + + pjmedia_zero_samples(wsola->buf, wsola->cur_cnt); + wsola->cur_cnt = (pj_uint16_t)(wsola->hist_cnt + + wsola->samples_per_frame); + return PJ_SUCCESS; +} + + static void expand(pjmedia_wsola *wsola, unsigned needed) { unsigned generated = 0; |