Skip to content

Draft: Feature/run rtspserver without gst pipeline

Hi,

I'm currently working on a project where, for security reasons, the rtsp server should run in a different process then the actual gstreamer rtpbin process. Also, the rtpbin process should keep running even when all rtsp clients are disconnected. I would like to use the gst-rtsp-server as a base for this rtsp server, however some adaptions are needed.

The main change which I have done so far is twofold:

  • allow NULL pointer in rtsp-media/rtsp-stream that point to rtpbin/payloader/element/pipeline as they are all NULL in my case.
  • Add virtual methods in rtsp-stream so I can make a derived type and have a custom implementation

I'm not asking to merge these things right away. This is still work in progress.

I would just want to have some feedback on these questions:

  • Does this look like the right approach? Are other solutions possible?
  • Are you planning to support a use case like this? (Where rtpbin/gst-pipeline runs in a seperate process)
  • Are these changes (allow NULL pointer and add virtual methods) acceptable to be merged in?
  • If they don't, I don't think I will proceed with this as I don't want to patch gst-rtsp-server on each new release.
  • Another approach I thought of, is to create dummy rtpbin and payloader elements and insert those into a gstreamer pipeline. These dummy elements could act then as a proxy for the real elements in the other process. I started it, but turned out to be much more work then I initially thought. What do you think, would this be feasible?

Merge request reports