diff --git a/configure.in b/configure.in
index 6495ab0a626dc828ecd11a20f7b23823f07a704a..cda24af910c293d9ae752986b1fe4d0a5dedaac2 100644
--- a/configure.in
+++ b/configure.in
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 
-AC_INIT([linphone],[3.3.99],[linphone-developers@nongnu.org])
+AC_INIT([linphone],[3.3.99.1],[linphone-developers@nongnu.org])
 AC_CANONICAL_SYSTEM
 
 dnl Source packaging numbers
diff --git a/coreapi/linphonecall.c b/coreapi/linphonecall.c
index 871d00e5702299374e3ce17f9c3c5aee4a518a2d..0899231260c704787d30c6352f8fbbba9e449b03 100644
--- a/coreapi/linphonecall.c
+++ b/coreapi/linphonecall.c
@@ -609,8 +609,10 @@ void linphone_call_start_media_streams(LinphoneCall *call){
 					recfile=NULL;
 				}
 				/*if playfile are supplied don't use soundcards*/
-				if (playfile) captcard=NULL;
-				if (recfile) playcard=NULL;
+				if (lc->use_files) {
+					captcard=NULL;
+					playcard=NULL;
+				}
 				audio_stream_start_full(
 					call->audiostream,
 					call->audio_profile,
diff --git a/coreapi/linphonecore.c b/coreapi/linphonecore.c
index 82d77c6ab1b30ddeaee19b56ecb6de5c79ae5afa..cede342dc680beaf687f5b9bdcb46e331229d049 100644
--- a/coreapi/linphonecore.c
+++ b/coreapi/linphonecore.c
@@ -3238,10 +3238,19 @@ MSVideoSize linphone_core_get_preferred_video_size(LinphoneCore *lc){
 	return lc->video_conf.vsize;
 }
 
+/**
+ * Ask the core to stream audio from and to files, instead of using the soundcard.
+**/
 void linphone_core_use_files(LinphoneCore *lc, bool_t yesno){
 	lc->use_files=yesno;
 }
 
+/**
+ * Sets a wav file to be played when putting somebody on hold,
+ * or when files are used instead of soundcards (see linphone_core_use_files()).
+ * 
+ * The file must be a 16 bit linear wav file.
+**/
 void linphone_core_set_play_file(LinphoneCore *lc, const char *file){
 	LinphoneCall *call=linphone_core_get_current_call(lc);
 	if (lc->play_file!=NULL){
@@ -3255,6 +3264,13 @@ void linphone_core_set_play_file(LinphoneCore *lc, const char *file){
 	}
 }
 
+
+/**
+ * Sets a wav file where incoming stream is to be recorded,
+ * when files are used instead of soundcards (see linphone_core_use_files()).
+ * 
+ * The file must be a 16 bit linear wav file.
+**/
 void linphone_core_set_record_file(LinphoneCore *lc, const char *file){
 	LinphoneCall *call=linphone_core_get_current_call(lc);
 	if (lc->rec_file!=NULL){