> I tried some other things:
> 1 - In the method createNewStreamSource return my FramedSource
> subclass instead of MPEG1or2AudioStreamFramer::createNew (I think that
> hears better but with errors)

Does your “FramedSource” subclass deliver discrete MP3 frames - i.e., one at a 
time - rather than an unstructured MP3 byte stream?  If so, then you should 
*not* use a “MPEG1or2AudioStreamFramer”.  (Sorry, I missed this before.)

Instead, your “createNewStreamSource()” implementation should return just an 
instance of your “FramedSource” subclass - so that your “FramedSource” subclass 
feeds directly to a “MPEG1or2AudioRTPSink".  (A “MPEG1or2AudioStreamFramer” is 
used only when parsing an unstructured MPEG audio byte stream - e.g., as you 
would get from a “.mp3” file.)


> 3 - I tried to change fMaxSize in order to not truncate bytes in my
> implementation of deliverFrame

No!  “fMaxSize” is an ‘in’ parameter.  It’s not something that you change.

If your “FramedSource” subclass is delivering discrete MP3 frames - i.e., one 
at a time - and you are feeding this directly to a “MPEG1or2AudioRTPSink” 
(i.e., *without* using a “MPEG1or2AudioStreamFramer”), then you should not be 
running into truncation problems, because “fMaxSize” should always be around 
1200 bytes or so (i.e., the size available for a RTP packet), and your MP3 
frames should all be much smaller than this.  (But if your “FramedSource” 
subclass is delivering *multiple* MP3 frames at a time, then you can still 
deliver these, provided that you are always delivering complete (not partial) 
MP3 frames, and are never truncating any of them.)


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