I’m currently using cudaipc to make a unicast stream available to multiple sinks
Source pipeline
udpsrc ! ... ! nvh264dec ! cudaipcsink ipc-mode=mmap
Sink pipeline
cudaipcsrc ! cudaconvert ! cudadownload ! xvimagesink
The sink pipeline can go to the null state if the network source is active sending traffic, however we occasionally encounter traffic drops on the camera and if I try to stop it hangs. Upon increasing logging verbosity I see gst_cuda_ipc_client_stop:<cudaipclientunix0> Stopping
and it seems to just hang there. I also tried changing the io-mode
to import to trigger the async stop but that hangs as well.
I played with other properties on the source pipeline such as enable-last-sample=false
on the cudaipcsink and flush-on-eos=true
on udpsrc, but the result is the same.
Since i’m running multiple pipelines inside a single process, I cannot just kill the process if it hangs. Are there any other options I can try to just kill the sink pipeline?