When I use safari connect to live555 and request treansport stream, at each 
time of "getStreamParameters", like the following:
   ++fClientSessionId;
   Port clientRTPPort(0), clientRTCPPort(0), serverRTPPort(0), 
serverRTCPPort(0);
   netAddressBits destinationAddress = 0;
   u_int8_t destinationTTL = 0;
   Boolean isMulticast = False;
   void* streamToken;
   subsession->getStreamParameters(fClientSessionId, 0, 
clientRTPPort,clientRTCPPort, -1,0,0, \
    destinationAddress,destinationTTL, isMulticast, 
serverRTPPort,serverRTCPPort, streamToken);
it will do the proces:
FramedSource* MPEG2TransportFileServerMediaSubsession
    ::createNewStreamSource(unsigned clientSessionId, unsigned& estBitrate) 
but the privious FramedSource create by createNewStreamSource have not been 
destroyed, and I have played the opened file point:

ByteStreamFileSource *ByteStreamFileSource::createNew(UsageEnvironment& env, 
char const* fileName,
    unsigned preferredFrameSize,
    unsigned playTimePerFrame) {
  FILE* fid = OpenInputFile(env, fileName);
  if (fid == NULL) return NULL;

 printf("==========================fid is %p\n", fid);

  ByteStreamFileSource* newSource
    = new ByteStreamFileSource(env, fid, preferredFrameSize, playTimePerFrame);
  newSource->fFileSize = GetFileSize(fileName, fid);

  return newSource;
}    
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?

2014-12-17



u8818test 
_______________________________________________
live-devel mailing list
[email protected]
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to