[Live-devel] [PATCH]MPEG1-Audio for Kasenna

Derk-Jan Hartman hartman at videolan.org
Thu Jul 6 18:02:05 PDT 2006


On 5-jul-2006, at 14:45, Ross Finlayson wrote:
> Grumble......
>
> First, regarding the patch to "RTSPClient.cpp", please change it so
> that you are not simply duplicating the assignment to "sdpFmt" in the
> two branches.  Since the only change between the two branches is
> "video" vs "audio" in the "m=" line, you should be able to change
> this so that it continues to assign "sdpFmt" only once.
>
> Second, there is (to my knowledge) nothing wrong with
> "StreamParser".  Note that it is - as its name implies - meant for
> parsing a *byte stream* source (from which you can read
> arbitrarily-sized chunks of data).  The problem is that you are not
> feeding it a byte stream source.  Instead, you are trying to feed it
> a "BasicUDPSource", which "StreamParser" was not designed to read  
> from.
>
> Since your input (raw-UDP) packets contain MPEG audio frames as is,
> then I don't see why you need any 'framer' object in front of the
> "BasicUDPSource".  Instead, just deliver the data, as is, to
> VLC.  What's that you say?  VLC needs a presentation time?  Gee, if
> only there were some standard streaming media protocol that includes
> a presentation timestamp - then Kasenna could have used that!  Excuse
> my sarcasm, but I hope you can see why I have such disdain for
> Kasenna (a company which, by the way, I am in the process of putting
> out of business).

They don't need you for that. The badmouthing everyone does about  
them should take care of it eventually.
I have not ever spoken to a satisfied Kasenna customer, and that  
includes Glen Gray :D
Unfortunately not that many server platforms do Trickplay.

> If VLC can't handle playing MPEG audio data without a presentation
> timestamp (but it should be able to, because it's able to play HTTP
> MPEG audio streams just fine!), then I suggest writing a new
> "MPEG1or2AudioStreamDiscreteFramer" (a subclass of "FramedFilter")
> that - unlike "MPEG1or2AudioStreamFramer" - assumes that its input
> data will be (integral multiples of) discrete MPEG audio
> frames.  (Don't tell me that Kasenna delivers its MPEG audio data so
> that UDP packet boundaries don't align with MPEG audio frame
> boundaries - then I'll really puke :-)

Force VLC to use the mpga demuxer (much like the TS demux is forced)  
then it will play. I'm not sure if seeking and pausing is still  
possible then however (I seriously doubt it). Perhaps simply  
specifying the data to be "unpacketized" mpga/mp3 data will work as  
well. In that case the packetizer should kick in to clean up the  
data, timestamp it etc.

DJ


More information about the live-devel mailing list