[Live-devel] Some modifications done on the library
David BERTRAND
bidibulle at operamail.com
Thu Oct 5 01:19:55 PDT 2006
Hi Ross,
> I have made most of your proposed changes; they have been included in
> the latest release of the software.
Thank you very much for this.
> - In "FramedSource.hh", I don't believe that variables such as
> "fAfterGettingFunc" should be "protected". These are used only by
> the implementations of "FramedSource::getNextFrame()" and
> "FramedSource::afterGetting()" - which are central to the functioning
> of the library - and I don't see how/why subclasses would want to
> access (let alone modify) these variables.
That's because I implemented a class to duplicate received frames in order to serve several RTP sinks from a single RTP source. The signature of method getNextFrame() had to be modified to add a clientID in argument list and therefore I needed to get access to those variables. Extract of my code :
void RTPDuplicator::getNextFrame(u_int8_t clientId,
unsigned char* to, unsigned maxSize,
FramedSource::afterGettingFunc* afterGettingFunc,
void* afterGettingClientData,
FramedSource::onCloseFunc* onCloseFunc,
void* onCloseClientData)
{
[...]
fAfterGettingFunc = afterGettingFunc;
fAfterGettingClientData = afterGettingClientData;
fOnCloseFunc = onCloseFunc;
fOnCloseClientData = onCloseClientData;
fIsCurrentlyAwaitingData = True;
[...]
doGetNextFrame();
}
> - In "RTCP.hh", I'm not (yet) convinced about the need or
> desirability of subclassing "RTCPInstance". If the intention is to
> support new RTCP report types, then there may end up being a better
> way to do that.
No, the idea was to be able to "transparently" relay receiver reports from a player to a server instead of generating our own reports towards player and server (when we are in a RTSP proxy configuration). Our final goal is to implement 3GPP Rel 6 "Transparent end-to-end Packet-switched
Streaming Service" standard (known as 26234-670) whisle keeping using liveMedia library. To do so, we needed to modify completely the way reports are sent (in particular, the scheduling mechanis)and had to add methods like :
static void ReceiverReportHandler(void* clientData);
David
--
_______________________________________________
Surf the Web in a faster, safer and easier way:
Download Opera 9 at http://www.opera.com
Powered by Outblaze
More information about the live-devel
mailing list