[Live-devel] Patch to RTSPClient to support Kasenna RTSP

Ross Finlayson finlayson at live.com
Wed Oct 20 03:13:39 PDT 2004


>>I'm noticing you implemented this slightly different than I had
>>anticipated. In my understanding it is possible to set an option on the
>>RTSPClient object when you create it. This eliminates the need for
>>changing the DescribeURL method etc, which would keep the API unchanged.
>
>There isn't really a way to keep the API completely unchanged. The
>information has to be passed one way or another.
>
>The options, as I see it, are:
>
>  (a) Pass a flag to describeURL, setupMediaSubsession. The flag has a
>      default value of false, so it is fully backwards compatible.
>
>  (b) Pass a flag to createNew. Store it as a private variable. Use it
>      in exactly the same way as option (a). Perhaps this is a better
>      way to do this.

I don't think so, because (b) precludes the possibility of ever using a 
single "RTSPClient" object to do more than one "DESCRIBE": one using normal 
RTSP; the other using Kasenna.

Actually, I don't particularly like either (a) or (b).  Is it not possible 
to instead avoid adding extra 'Kasenna' flags to "describe...()" and 
"setup...()", but instead to figure out automatically - from the response 
to the initial "DESCRIBE" (or perhaps "OPTIONS") - whether or not the 
stream needs special 'Kasenna' hack handling for the subsequent "SETUP" and 
"PLAY"?  This is what I'd prefer to do, if it's possible, because it would 
avoid the caller having to know - in advance - whether or not a "rtsp://" 
URL is for a regular stream or a 'Kasenna' stream.

I realize that this would probably require permanently adding
         application/x-rtsp-mh,
to the "DESCRIBE" "Accept:" line, but this is something that I'd be willing 
to live with if it meant that we could detect 'Kasenna' streams at run time.


	Ross Finlayson
	LIVE.COM
	<http://www.live.com/>



More information about the live-devel mailing list