diff --git a/codecs/codec_speex.c b/codecs/codec_speex.c
index c6f3db3ebf7b251157592fecde6b84c3097302a0..98a2aaab2922d3c4b4dbd77bc5cc6b94382a341b 100755
--- a/codecs/codec_speex.c
+++ b/codecs/codec_speex.c
@@ -10,7 +10,7 @@
  * This program is free software, distributed under the terms of
  * the GNU General Public License
  *
- * This work was motivated by Jeremy McNamera's 
+ * This work was motivated by Jeremy McNamara 
  */
 
 #define TYPE_SILENCE	 0x2
@@ -102,7 +102,7 @@ static struct ast_frame *lintospeex_sample()
 	f.subclass = AST_FORMAT_SLINEAR;
 	f.datalen = sizeof(slin_speex_ex);
 	/* Assume 8000 Hz */
-	f.timelen = sizeof(slin_speex_ex)/16;
+	f.samples = sizeof(slin_speex_ex)/2;
 	f.mallocd = 0;
 	f.offset = 0;
 	f.src = __PRETTY_FUNCTION__;
@@ -117,7 +117,7 @@ static struct ast_frame *speextolin_sample()
 	f.subclass = AST_FORMAT_SPEEX;
 	f.datalen = sizeof(speex_slin_ex);
 	/* All frames are 20 ms long */
-	f.timelen = 20;
+	f.samples = 160;
 	f.mallocd = 0;
 	f.offset = 0;
 	f.src = __PRETTY_FUNCTION__;
@@ -135,7 +135,7 @@ static struct ast_frame *speextolin_frameout(struct ast_translator_pvt *tmp)
 	tmp->f.subclass = AST_FORMAT_SLINEAR;
 	tmp->f.datalen = tmp->tail * 2;
 	/* Assume 8000 Hz */
-	tmp->f.timelen = tmp->tail / 8;
+	tmp->f.samples = tmp->tail;
 	tmp->f.mallocd = 0;
 	tmp->f.offset = AST_FRIENDLY_OFFSET;
 	tmp->f.src = __PRETTY_FUNCTION__;
@@ -220,7 +220,7 @@ static struct ast_frame *lintospeex_frameout(struct ast_translator_pvt *tmp)
 	speex_bits_pack(&tmp->bits, 15, 5);
 	len = speex_bits_write(&tmp->bits, (char *)tmp->outbuf, sizeof(tmp->outbuf));
 	tmp->f.datalen = len;
-	tmp->f.timelen = y * 20;
+	tmp->f.samples = y * 160;
 #if 0
 	{
 		static int fd = -1;