Please provide complete information as applicable to your setup. • Hardware Platform: GPU • DeepStream 6.3 • TensorRT 8.5.3-1+cuda11.8 • NVIDIA GPU Driver Version: 535.183.01
I am using the following pipeline to write the code, but I am having trouble that I cannot get the pad of nvstreamdemux to associate it with the new bin when I receive the camera add or remove signal in the bus_callback function. Can you explain why I cannot get the pad of nvstreamdemux in this dynamic way and is there any way I can fix it? Thanks! Below is the sample code and pipeline that I am planning to test.
Your codes show that you set the pipeline to “PLAYING” state before the first source is added. Please change the logic to add the first source and first sink when the pipeline is in “NULL” state.
Sorry for the delayed response, and thank you for replying. The pipeline I wrote is working with the add and remove functions in runtime with the element nvmultiurisrcbin, but when I execute the add and remove commands multiple times with the same camera_id, it seems like nvdslogger is printed exactly the number of times I add and remove the camera. I don’t understand why this is happening. I think it might be because I’m removing the pad and process_bin incorrectly when I call remove camera. Could you help me identify where the mistake is? Below are the images and code where I encountered this issue. Thank you.
I expect that when I add or remove any camera, it will show the current cameras. For example, if there are 3 cameras: cam0, cam1, cam2, it should display like this:
**PERF : FPS_0 (29.97)
**PERF : FPS_1 (29.97)
**PERF : FPS_2 (29.97).
But with the code above, if I remove cam2 and add it back, it will display like this:
**PERF : FPS_0 (29.97)
**PERF : FPS_1 (29.97)
**PERF : FPS_2 (29.97)
**PERF : FPS_2 (29.97)
cam2 has been printed twice consecutively at the same time