[Live-devel] How do I get the data from the lower levels..... Another DoGetNextFrame question (Ross Finlayson)

Waters, Ralph rwaters at pelco.com
Tue Nov 18 09:57:07 PST 2008


Hi Ross,

Thanks for the response. I'm sorry that I didn't ask my question in a
simpler manner. I hope this email helps. Please remember that I am a
novice at Live555, so I cannot see from your deeply experienced eyes.

Assumption: Live555 has raw RTP video and audio packets coming in, and
it re-assembles these into a framed video for output.
 
Question: How do I get the data, from a higher level task, suck as
PollTask (below) that is the re-assembled video payload. Video packets
may be created from re-assembled RTP packets, or the video packets can
be decomposed
From 1 RTP packet into many video packets.

I need to get this video frame data.

Real Question: How do I get at the processed packets of (video frame)
data, say from a MPEG4 or H.264 source, from a background PollTask?

Do I use the solution that you gave? "The alternative is to write a
static member function that then calls "doGetNextFrame()", and have
"scheduleDelayedTask()" arrange to call the static member function.
There are several examples of this in the code already." Or is that for
the incoming, unprocessed RTP data?

Or do I use something that calls afterGettingFrame from the sink? I
think this is more likely.


I need to call the "thing" that gets me processed data from something
like this:

//=====================================================================
// This polls the event loop every so often to check for events
//=====================================================================
void RtspClientPrivate::PollTask(void* pArgs) {

  //ACE_TRACE( ACE_TEXT("RtspClientPrivate::PollTask()") );


  RtspClientPrivate *pThis = reinterpret_cast<RtspClientPrivate
*>(pArgs);

  if(NULL != pThis){
	// Call this again, after a brief delay:
	int uSecsToDelay = 100000; // 100 ms
	TaskFunc *pFunc =
reinterpret_cast<TaskFunc*>(RtspClientPrivate::PollTask);
	
	// HOW DO I GET THE DATA THAT I NEED HERE? (the upper layer)

	pThis->m_pEnv->taskScheduler().scheduleDelayedTask(uSecsToDelay,
pFunc,
	
pArgs);
  }
}

Thanks, Rusty

- ------------------------------------------------------------------------------
Confidentiality Notice: The information contained in this transmission is legally privileged and confidential, intended only for the use of the individual(s) or entities named above. This email and any files transmitted with it are the property of Pelco. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any review, disclosure, copying, distribution, retention, or any action taken or omitted to be taken in reliance on it is prohibited and may be unlawful. If you receive this communication in error, please notify us immediately by telephone call to +1-559-292-1981 or forward the e-mail to administrator at pelco.com and then permanently delete the e-mail and destroy all soft and hard copies of the message and any attachments. Thank you for your cooperation. 
- ------------------------------------------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20081118/bbddeb2c/attachment-0001.html>


More information about the live-devel mailing list