Fixed possible assertion by codec when stereo/multichannel codec is used and stream is about to send keep-NAT-alive packet (thanks Bill Gardner for the patch).

git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2328 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/pjmedia/src/pjmedia/stream.c b/pjmedia/src/pjmedia/stream.c
index 736362c..081224e 100644
--- a/pjmedia/src/pjmedia/stream.c
+++ b/pjmedia/src/pjmedia/stream.c
@@ -179,7 +179,7 @@
 				   'A', 'B', 'C', 'D'};
 
 /* Zero audio frame samples */
-static pj_int16_t zero_frame[30 * 16000 / 1000];
+static pj_int16_t zero_frame[2 * 30 * 16000 / 1000];
 
 /*
  * Print error.
@@ -755,7 +755,8 @@
 	       frame->buf == NULL &&
 	       (stream->dir & PJMEDIA_DIR_ENCODING) &&
 	       stream->codec_param.info.frm_ptime *
-		stream->codec_param.info.clock_rate/1000 <
+	       stream->codec_param.info.channel_cnt *
+	       stream->codec_param.info.clock_rate/1000 <
 		  PJ_ARRAY_SIZE(zero_frame)) 
     {
 	pjmedia_frame silence_frame;
@@ -763,7 +764,8 @@
 	pj_bzero(&silence_frame, sizeof(silence_frame));
 	silence_frame.buf = zero_frame;
 	silence_frame.size = stream->codec_param.info.frm_ptime * 2 *
-			      stream->codec_param.info.clock_rate / 1000;
+			     stream->codec_param.info.channel_cnt *
+			     stream->codec_param.info.clock_rate / 1000;
 	silence_frame.type = PJMEDIA_FRAME_TYPE_AUDIO;
 	silence_frame.timestamp.u32.lo = pj_ntohl(stream->enc->rtp.out_hdr.ts);