> 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

Reply via email to