> I have been playing with the FramedFilter class for a while, and created a > simple filter that will just deliver its input to its output. However, it is > not working for some reason. Can you point me to the point that I'm missing? [...] > void HistoryFilter::doGetNextFrame() > { > fFrameSize=0; You don't need to do this here (although it does no harm), because you are (properly) setting "fFrameSize" later, in your 'after getting' function.
> void HistoryFilter::afterGettingFrame(void* clientData, unsigned > frameSize, unsigned /*numTruncatedBytes*/, struct timeval > presentationTime, unsigned /*durationInMicroseconds*/) > { > HistoryFilter* filter = (HistoryFilter*)clientData; > filter->afterGettingFrame1(frameSize, presentationTime); > } > > void HistoryFilter::afterGettingFrame1(unsigned frameSize, struct timeval > presentationTime) > { > fFrameSize = frameSize; > fPresentationTime = presentationTime; > afterGetting(this); > } Your filter also needs to be setting "fNumTruncatedBytes" and "fDurationInMicroseconds" (in your case, because you're making a direct copy, these will be the values of the "numTruncatedBytes" and "durationInMicroseconds" parameters, respectively). > In my main server play() function, I put in this code: > > FramedSource* videoES = fileSource; > // Create a framer for the Video Elementary Stream: > videoSource = MPEG4VideoStreamFramer::createNew(*env, videoES); > historyFilter = HistoryFilter::createNew(*env, videoSource, "history.mp4"); > // Finally, start playing: > *env << "Beginning to read from file...\n"; > videoSink->startPlaying(*historyFilter, afterPlaying, videoSink); That looks fine - but don't forget to enter the event loop, by calling env->taskScheduler().doEventLoop(); at the end of this code, otherwise nothing will happen. (In a LIVE555-based application, almost everything gets done within the event loop). 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