<!doctype html public "-//W3C//DTD W3 HTML//EN">
<html><head><style type="text/css"><!--
blockquote, dl, ul, ol, li { padding-top: 0 ; padding-bottom: 0 }
 --></style><title>Re: [Live-devel] creating a simple RTP
server</title></head><body>
<blockquote type="cite" cite>
<blockquote>&gt;Are you *sure* that you don't know anything about the
format of your media?<br>
</blockquote>
</blockquote>
<blockquote type="cite" cite>&nbsp;</blockquote>
<blockquote type="cite" cite>&nbsp;</blockquote>
<blockquote type="cite" cite>ok then, suppose I know what media type
it is, for instance h263+ or mpeg2 or whatever is easiest to converse
about.</blockquote>
<blockquote type="cite" cite>further suppose that they media is not
coming from file, but rather it is handed out to me, already divided
into frames.</blockquote>
<blockquote type="cite" cite>&nbsp;</blockquote>
<blockquote type="cite" cite>I wish to properly package them in RTP
and send them to a known RTP client, who is already listening and
waiting for the packets.</blockquote>
<blockquote type="cite" cite>&nbsp;</blockquote>
<blockquote type="cite" cite>The live555 library already has a
XXXframer class for the codec, but do I really need it, after all, its
already framed ...</blockquote>
<div><br></div>
<div>No, you shouldn't need a &quot;*Framer&quot; class, provided that
you provide accurate presentation times for each frame.&nbsp; (Note,
though, that if you have MPEG-2 video with B-frames, then the
presentation times will *not* be monotonically increasing.&nbsp; If
you don't understand what I mean by this, then you should use a
&quot;MPEG1or2VideoStreamDiscreteFramer&quot; with MPEG-2
video.)</div>
<div><br></div>
<blockquote type="cite" cite>how do I go about implementing the a
ServerMediaSubsession class?</blockquote>
<div><br></div>
<div>Just use the existing &quot;*FileServerMediaSubsession&quot;
class as a model.</div>
<div><br></div>
<div>Of course, you will also need to write your own
&quot;FramedSource&quot; subclass that encapsultes your data source -
delivering one frame at a time.&nbsp; See the &quot;DeviceSource.cpp&quot;
code for a model.</div>
<div><br></div>
<blockquote type="cite" cite>or should I use<font size="-1"
color="#010001"> PassiveServerMediaSubsession
instead?</font></blockquote>
<div><br></div>
<div>&quot;PassiveServerMediaSubsession&quot; is used only for
multicast streams.</div>
<x-sigsep><pre>-- 
</pre></x-sigsep>
<div><br>
Ross Finlayson<br>
Live Networks, Inc.<br>
http://www.live555.com/</div>
</body>
</html>