> For our project we would have the requirements to make a distinction between > different use cases of RTSP server closures from the client’s side: session > shutdown for load balancing, priority management on stream access, … > For that I was thinking about using the “reason for leaving” of the RTCP BYE > sending, an optional field in the RFC 3550. > > My plan is to change the RTCPInstance::sendBYE for the sending
Yes, sounds good - provided, of course, that the ‘reason’ is an optional parameter, and that omitting this means “don’t include a reason”, as at present. > and the RTCPInstance ::setByeHandler () to get that reason. Hmmm… Right now I’m wondering how that could be done in a backwards-compatible way, because currently “setByeHandler()” takes, as parameter, a “TaskFunc*” for the handler function, where “TaskFunc” is defined as typedef void TaskFunc(void* clientData); I.e., there’s no way to pass the ‘reason’ to the handler function. I think we’d have to change “setByeHandler()” to take, instead, a “ByeHandlerFunc*” as parameter, where we define “ByeHandlerFunc” to be something like: typedef void ByeHandlerFunc(void* clientData, char const* byeReason = NULL); Note that “byeReason” is an optional parameter. I *think* that would be backwards compatible with existing code that calls “setByeHandler()” (it would, of course, need to be recompiled). If you have any other idea, let me know. Ross Finlayson Live Networks, Inc. http://www.live555.com/ _______________________________________________ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel