<HTML><HEAD><TITLE>Samsung Enterprise Portal mySingle</TITLE>
<META content="text/html; charset=windows-1252" http-equiv=Content-Type>
<STYLE id=mysingle_style type=text/css>P {
MARGIN-BOTTOM: 5px; FONT-SIZE: 9pt; FONT-FAMILY: Arial, arial; MARGIN-TOP: 5px
}
TD {
MARGIN-BOTTOM: 5px; FONT-SIZE: 9pt; FONT-FAMILY: Arial, arial; MARGIN-TOP: 5px
}
LI {
MARGIN-BOTTOM: 5px; FONT-SIZE: 9pt; FONT-FAMILY: Arial, arial; MARGIN-TOP: 5px
}
BODY {
FONT-SIZE: 9pt; FONT-FAMILY: Arial, arial; MARGIN: 10px; LINE-HEIGHT: 1.4
}
</STYLE>
<META content=IE=5 http-equiv=X-UA-Compatible>
<META content=IE=5 http-equiv=X-UA-Compatible>
<META name=GENERATOR content="MSHTML 11.00.9600.18212"></HEAD>
<BODY>
<META content=IE=5 http-equiv=X-UA-Compatible>
<META content=IE=5 http-equiv=X-UA-Compatible>
<META name=GENERATOR content=ActiveSquare>
<META content=IE=5 http-equiv=X-UA-Compatible><X-BODY>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Malgun Gothic">Hi, </SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Malgun Gothic">We are developing AAC(MP4A-LATM) based streaming using Live555 RTSP server & client.</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Malgun Gothic">The encoding and decoding are done by Android server and client apps respectively.</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Malgun Gothic"><STRONG>Issue Faced</STRONG>: </SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Malgun Gothic">Decoder getting corrupted data.</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Malgun Gothic"><STRONG>Reason</STRONG>: </SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Malgun Gothic">The <FONT size=2>MPEG4LATMAudioRTPSource is givng wrong framesize and hence the client is getting each packet fragmented.</FONT></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Malgun Gothic"><STRONG>API</STRONG>: </SPAN><B><FONT color=#7f0055 size=2><FONT color=#7f0055 size=2><SPAN style="FONT-FAMILY: Malgun Gothic; BACKGROUND-COLOR: #afeeee">unsigned</SPAN></B></FONT></FONT><FONT size=2><SPAN style="FONT-FAMILY: Malgun Gothic; BACKGROUND-COLOR: #afeeee"> </SPAN><B><SPAN style="FONT-FAMILY: Malgun Gothic; BACKGROUND-COLOR: #afeeee">LATMBufferedPacket::nextEnclosedFrameSize</SPAN></B><SPAN style="FONT-FAMILY: Malgun Gothic; BACKGROUND-COLOR: #afeeee">(</SPAN></FONT><B><FONT color=#7f0055 size=2><FONT color=#7f0055 size=2><SPAN style="FONT-FAMILY: Malgun Gothic; BACKGROUND-COLOR: #afeeee">unsigned</SPAN></B></FONT></FONT><FONT size=2><SPAN style="FONT-FAMILY: Malgun Gothic; BACKGROUND-COLOR: #afeeee"> </SPAN></FONT><B><FONT color=#7f0055 size=2><FONT color=#7f0055 size=2><SPAN style="FONT-FAMILY: Malgun Gothic; BACKGROUND-COLOR: #afeeee">char</SPAN></B></FONT></FONT><FONT size=2><SPAN style="FONT-FAMILY: Malgun Gothic; BACKGROUND-COLOR: #afeeee">*& framePtr, </SPAN></FONT><B><FONT color=#7f0055 size=2><FONT color=#7f0055 size=2><SPAN style="FONT-FAMILY: Malgun Gothic; BACKGROUND-COLOR: #afeeee">unsigned</SPAN></B></FONT></FONT><FONT size=2><SPAN style="FONT-FAMILY: Malgun Gothic; BACKGROUND-COLOR: #afeeee"> dataSize) {</SPAN></FONT><FONT size=2><SPAN style="FONT-FAMILY: Malgun Gothic; BACKGROUND-COLOR: #afeeee">}</SPAN></FONT></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Malgun Gothic"> The above api always return size less than the actual data size.</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Malgun Gothic"></SPAN> </P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Malgun Gothic"><STRONG>Solution Tried</STRONG>: If we return the 'dataSize' from the above api then it decodes fine.</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Malgun Gothic"></SPAN> </P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Malgun Gothic">Log Analysis:</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Malgun Gothic">----------------</SPAN></P>
<TABLE style="WIDTH: 679px; BACKGROUND-COLOR: #ffffff" cellSpacing=0 cellPadding=0 width=679 border=1>
<TBODY>
<TR>
<TD height=20 width=679>
<P>01-05 19:05:00.612 14678 15640 V LiveMedia-Core: GroupsockHelper::readSocket bytesRead : 103, port=41506<SPAN style="COLOR: #0000ff"> // reading 103 bytes of data</SPAN></P>
<P><SPAN style="COLOR: #0000ff">// AAC payloadLen = 103 - 12(RTPHeaderLen) = 91</SPAN></P>
<P><SPAN style="COLOR: #0000ff"></SPAN> </P>
<P>01-05 19:05:00.612 14678 15640 V RTSPClientExt: MediaSinkExt::onFrameReceived(): seqNo: 33024 <SPAN style="COLOR: #ff0000">// getting fragment_1<BR></SPAN>01-05 19:05:00.612 14678 15640 I Live555Player: onDataReceived( <SPAN style="COLOR: #ff0000">34 </SPAN>) time= 1420464900620117</P>
<P>01-05 19:05:00.612 14678 15640 V RTSPClientExt: MediaSinkExt::onFrameReceived(): seqNo: 33024 <SPAN style="COLOR: #ff0000">// getting fragment_2<BR></SPAN>01-05 19:05:00.612 14678 15640 I Live555Player: onDataReceived( <SPAN style="COLOR: #ff0000">11 </SPAN>) time= 1420464900620117</P>
<P>01-05 19:05:00.612 14678 15640 V RTSPClientExt: MediaSinkExt::onFrameReceived(): seqNo: 33024 <SPAN style="COLOR: #ff0000">// getting fragment_3</SPAN><BR>01-05 19:05:00.612 14678 15640 I Live555Player: onDataReceived( <SPAN style="COLOR: #ff0000">46 </SPAN>) time= 1420464900620117 </P></TD></TR></TBODY></TABLE>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Malgun Gothic"></SPAN> </P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Malgun Gothic">Why the MP4A RTP sink splits the frame into multiple fragments?</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Malgun Gothic"><FONT size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Malgun Gothic">Please suggest how to proceed further.</SPAN></P></FONT></SPAN>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Malgun Gothic"></SPAN> </P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Malgun Gothic"></SPAN> </P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Malgun Gothic">Regards</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Malgun Gothic">Girish P</SPAN></P><!--girish.gp:EP-->
<P> </P>
<TABLE id=confidentialsignimg>
<TBODY>
<TR>
<TD NAMO_LOCK>
<P><IMG border=0 src="cid:BGFC2LL5XOK0@namo.co.kr"></P></TD></TR></TBODY></TABLE></X-BODY></BODY></HTML><img src='http://ext.samsung.net/mailcheck/SeenTimeChecker?do=e7bc4897eaf7ac7ad29dd8bcbf9824886ad0f8b000b7b1d2a4f0aefeb2bc05d4504be936a51f6bf839a35d3a0748b8160707355fbf6122350407d1a278fe738d3298a32fe7c0f484cf878f9a26ce15a0' border=0 width=0 height=0 style='display:none'>