[Live-devel] Stopping
d.gordenin at ngslab.ru
d.gordenin at ngslab.ru
Thu Sep 11 05:43:28 PDT 2025
Hello.
I have an RTSP server, it is fully our code, but it is based on Live555.
This server sends to a video player (ffplay or our custom player) a
stream, which earlier was recorded by another application. So, this
system is an video archive and the RTSP server is a player here.
It works fine, but I faced a problem. I recorded a stream from a USB web
camera. Using webrtc I change resolution and continue recording. So, the
archive containes frames with different resolutions (and may be
different SPS PPS). After I want to play them. Plaing works before the
changing resolution. The RTSP server is a FramedSource:
class VideoSource : public FramedSource
{
...
protected:
void doGetNextFrame() override;
}
voidVideoSource::doGetNextFrame()
{
...
//sending frames
memcpy(fTo, frame_.raw_data.data(), frame_.raw_data.size());
fFrameSize = frame_.raw_data.size();
...
//next circle
nextTask() = envir().taskScheduler().scheduleDelayedTask(0, (TaskFunc*)FramedSource::afterGetting, this);
}
This circle works before changing resolution. After the last frame
sending it never called again. And live555 stops the stream. Why?
Denis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20250911/d113fb68/attachment.htm>
More information about the live-devel
mailing list