Discussion:
Mechanism of passing data from source to sink
Alan Martinovic
2014-10-17 09:30:23 UTC
Permalink
Hi,
I've read how the control flow mechanism works (http://www.live555.com/liveMedia/faq.html#control-flow)
and I'm trying to get the idea of how it works in practice by following the Elphel example (http://www.live555.com/Elphel/).

I've traced the actual payload to the fTo variable

#ElphelJPEGDeviceSource.cpp 95-96
// Then, the JPEG payload:
fFrameSize = fread(fTo, 1, fMaxSize, fFid);


But when grepping through all the *Sink* and *Session* files, I found no traces of fTo. Plus, the fTo is protected.
At first, I was thinking that when triggered, the JPEGVideoRTPSink was getting the raw data by accessing the FramedSource.fTo and then adding the RTP headers to that data (which represent raw video).

By which method (variable?) do sinks and sources actually share the raw video data?


DISCLAIMER:
This e-mail may contain confidential and privileged material for the sole use of the intended recipient. Any review, use, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender by reply e-mail and delete all copies of this message.
Alan Martinovic
2014-10-17 09:37:36 UTC
Permalink
Hi,
I've read how the control flow mechanism works (http://www.live555.com/liveMedia/faq.html#control-flow)
and I'm trying to get the idea of how it works in practice by following the Elphel example (http://www.live555.com/Elphel/).

I've traced the actual payload to the fTo variable

#ElphelJPEGDeviceSource.cpp 95-96
// Then, the JPEG payload:
fFrameSize = fread(fTo, 1, fMaxSize, fFid);


But when grepping through all the *Sink* and *Session* files, I found no traces of fTo. Plus, the fTo is protected.
At first, I was thinking that when triggered, the JPEGVideoRTPSink was getting the raw data by accessing the FramedSource.fTo and then adding the RTP headers to that data (which represent raw video).

By which method (variable?) do sinks and sources actually share the raw video data?


DISCLAIMER:
This e-mail may contain confidential and privileged material for the sole use of the intended recipient. Any review, use, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender by reply e-mail and delete all copies of this message.
Alan Martinovic
2014-10-17 10:53:48 UTC
Permalink
Sorry for double posting, was a mistake.

From: live-devel [mailto:live-devel-***@ns.live555.com] On Behalf Of Alan Martinovic
Sent: Friday, October 17, 2014 11:38 AM
To: live-***@lists.live555.com
Subject: [Live-devel] Mechanism of passing data from source to sink

Hi,
I've read how the control flow mechanism works (http://www.live555.com/liveMedia/faq.html#control-flow)
and I'm trying to get the idea of how it works in practice by following the Elphel example (http://www.live555.com/Elphel/).

I've traced the actual payload to the fTo variable

#ElphelJPEGDeviceSource.cpp 95-96
// Then, the JPEG payload:
fFrameSize = fread(fTo, 1, fMaxSize, fFid);


But when grepping through all the *Sink* and *Session* files, I found no traces of fTo. Plus, the fTo is protected.
At first, I was thinking that when triggered, the JPEGVideoRTPSink was getting the raw data by accessing the FramedSource.fTo and then adding the RTP headers to that data (which represent raw video).

By which method (variable?) do sinks and sources actually share the raw video data?


DISCLAIMER:
This e-mail may contain confidential and privileged material for the sole use of the intended recipient. Any review, use, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender by reply e-mail and delete all copies of this message.

DISCLAIMER:
This e-mail may contain confidential and privileged material for the sole use of the intended recipient. Any review, use, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender by reply e-mail and delete all copies of this message.
Ross Finlayson
2014-10-17 13:53:09 UTC
Permalink
Post by Alan Martinovic
By which method (variable?) do sinks and sources actually share the raw video data?
To help understand this, I suggest taking a look at the “DeviceSource” model code (in “liveMedia/DeviceSource.cpp”). Note, in particular, the comments on lines 102-121.


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

Loading...