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