<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<STYLE type=text/css>
BLOCKQUOTE{margin-Top: 0px; margin-Bottom: 0px; margin-Left: 2em}
</STYLE>
<!-- flashmail style begin -->
<STYLE type=text/css>
body {border-width:0;margin:0}
img {border:0;margin:0;padding:0}
</STYLE>
<BASE target=_blank><!-- flashmail style end -->
<META name=GENERATOR content="MSHTML 9.00.8112.16599"></HEAD>
<BODY 
style="LINE-HEIGHT: 1.5; BORDER-RIGHT-WIDTH: 0px; MARGIN: 12px; FONT-FAMILY: 微软雅黑; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; FONT-SIZE: 10.5pt; BORDER-LEFT-WIDTH: 0px" 
marginheight="0" marginwidth="0"><STATIONERY>
<DIV>When I use safari connect to live555 and request treansport stream, at each 
time of "getStreamParameters", like the following:</DIV>
<BLOCKQUOTE style="MARGIN-RIGHT: 0px" dir=ltr>
  <DIV> <STRONG>  ++fClientSessionId;<BR>   Port 
  clientRTPPort(0), clientRTCPPort(0), serverRTPPort(0), 
  serverRTCPPort(0);<BR>   netAddressBits destinationAddress = 
  0;<BR>   u_int8_t destinationTTL = 
  0;<BR>   Boolean isMulticast = 
  False;<BR>   void* streamToken;<BR>   <SPAN 
  style="FONT-SIZE: 16pt">subsession->getStreamParameters(fClientSessionId, 
  0, clientRTPPort,clientRTCPPort, -1,0,0, 
  \<BR>    destinationAddress,destinationTTL, isMulticast, 
  serverRTPPort,serverRTCPPort, streamToken);</SPAN></STRONG></DIV></BLOCKQUOTE>
<DIV dir=ltr>it will do the proces:</DIV>
<BLOCKQUOTE style="MARGIN-RIGHT: 0px" dir=ltr>
  <DIV dir=ltr><STRONG>FramedSource* 
  MPEG2TransportFileServerMediaSubsession<BR>    ::createNewStreamSource(unsigned 
  clientSessionId, unsigned& estBitrate) </STRONG></DIV></BLOCKQUOTE>
<DIV>but the privious <STRONG>FramedSource </STRONG>create by 
<STRONG>createNewStreamSource </STRONG>have not been destroyed, and I have 
played the opened file point:</DIV>
<BLOCKQUOTE style="MARGIN-RIGHT: 0px" dir=ltr>
  <DIV style="TEXT-INDENT: 2em"><BR><STRONG>ByteStreamFileSource 
  *ByteStreamFileSource::createNew(UsageEnvironment& env, char const* 
  fileName,<BR>    unsigned 
  preferredFrameSize,<BR>    unsigned playTimePerFrame) 
  {<BR>  FILE* fid = OpenInputFile(env, fileName);<BR>  if (fid == 
  NULL) return NULL;</STRONG></DIV>
  <DIV><STRONG></STRONG> </DIV>
  <DIV style="TEXT-INDENT: 2em"><STRONG> <SPAN 
  style="FONT-SIZE: 16pt">printf("==========================fid is %p\n", 
  fid);</SPAN></STRONG></DIV>
  <DIV><STRONG></STRONG> </DIV>
  <DIV style="TEXT-INDENT: 2em"><STRONG>  ByteStreamFileSource* 
  newSource<BR>    = new ByteStreamFileSource(env, fid, 
  preferredFrameSize, playTimePerFrame);<BR>  newSource->fFileSize = 
  GetFileSize(fileName, fid);</STRONG></DIV>
  <DIV><STRONG></STRONG> </DIV>
  <DIV style="TEXT-INDENT: 2em"><STRONG>  return 
  newSource;<BR>}    </STRONG></DIV></BLOCKQUOTE>
<DIV style="TEXT-INDENT: 2em" dir=ltr>the output result is different with each 
other, I think this is a bug, as time go long, it will occupy all the fd, isn't 
it?<BR></DIV>
<DIV style="FONT-FAMILY: Verdana; COLOR: #c0c0c0; FONT-SIZE: 10pt" 
align=left>2014-12-17</DIV>
<DIV style="FONT-FAMILY: Verdana; COLOR: #c0c0c0; FONT-SIZE: 10pt">
<HR 
style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; WIDTH: 122px; HEIGHT: 1px; BORDER-TOP: #c0c0c0 1px solid; BORDER-RIGHT: 0px" 
id=SignNameHR align=left>
</DIV>
<DIV style="FONT-FAMILY: Verdana; COLOR: #c0c0c0; FONT-SIZE: 10pt"><SPAN 
id=_FlashSignName>u8818test</SPAN> </DIV></STATIONERY></BODY></HTML>