On Wed, Sep 9, 2009 at 3:17 PM, Ross Finlayson <span dir="ltr"><<a href="mailto:finlayson@live555.com">finlayson@live555.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
testOnDemandRTSPServer uses WAVAudioFileServerMediaSubsession, which has an option to convert to ulaw--this class is sort of like what I want (?), although it reads from a file instead of a live source (hence the "seek" and "scale" methods that are irrelevant to a live source) and my ulaw source is already encoded, so clearly there are some differences. Would a good approach be to create my own class that inherits from OnDemandServerMediaSubsession, and then overriding the appropriate methods?<br>
</blockquote>
<br></div>
Yes, exactly. Remember, when you instantiate "OnDemandServerMediaSubsession", to set the "reuseFirstSource" parameter to True, because you're reading from a live source rather than a file.<div class="im">
<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
And if yes, what methods would you recommend overriding?<br>
</blockquote>
<br></div>
You must write your own implementation of "createNewStreamSource()" and "createNewRTPSink()". As you noted, you can use the existing implementation of these functions in "WAVAudioFileServerMediaSubsession" as a model.<br>
</blockquote><div><br>Thanks, that helps. I have stuff sort of working, but I think I have a problem with my framer. I'm starting to think I need to have my
framer inherit from AudioInputDevice and _not_ FramedSource; I believe
this because VLC is incorrectly reporting the # of bits per sample as
16, and that's the only inheritance hierarchy I can see that clearly communicates such a
value. Is that correct? <br></div></div>