[Live-devel] Control Flow Basics

Bonta Jeffrey-QA2122 Jeff.Bonta at motorola.com
Tue Jun 30 11:59:22 PDT 2009


Ross,

Sorry to be dense. I saw the text you provided from the FAQs, but wasn't
quite sure what it meant. As it is written, I understand this to mean
that a sink module that is part of a chain of nodes from the source to
the destination sink will receive data from an upstream source (or a
sink that is forwarding packets from an upstream node). If the sink
module is the final destination, it will consume the packets. If it is
an intermediate node, then it will transmit RTP packets to the next
downlink sink.

 

Is that a correct interpretation?

 

Also, suppose I only have one source and one sink. Does the instantiated
source receive an event (e.g. PLAY) to transmit the packets over the
socket interface, or does the instantiated sink actually handle the PLAY
event, pull the source information from the source object, then write
the packets to the socket interface, and finally read the packets from
the socket interface?

 

Regards,

Jeff

 

________________________________

From: live-devel-bounces at ns.live555.com
[mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson
Sent: Tuesday, June 30, 2009 1:15 PM
To: LIVE555 Streaming Media - development & use
Subject: Re: [Live-devel] Control Flow Basics

 

	So, what is confusing to me is that in the first question, data
flows from source to sink (which is what I would expect), yet the second
question suggests that data is transmitted by a sink and received by a
source (which is counterintuitive).


Jeff,

 

Note the last paragraph in
http://www.live555.com/liveMedia/faq.html#control-flow :

"Note that the flow of data from 'sources' to 'sinks' happens within
each application, and doesn't necessarily correspond to the sending or
receiving of network packets. For example, a server application (such as
"testMP3Streamer") that sends RTP packets will do so using one or more
"RTPSink" modules. These "RTPSink" modules receive data from other,
"*Source" modules (e.g., to read data from a file), and, as a side
effect, transmit RTP packets. "

 

For streaming H.164 video, see
http://www.live555.com/liveMedia/faq.html#h264-streaming

You will need to write a 'source' class (i.e., a subclass of
"FramedSource") that encapsulates your source of  H.264 NAL units.  You
will then feed this into a subclass of "H264VideoStreamFramer" - that
you will write.  (In particular, this subclass must implement the
"doGetNextFrame()" and "currentNALUnitEndsAccessUnit() " virtual
functions.

-- 


Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20090630/b807fd70/attachment-0001.html>


More information about the live-devel mailing list