Deepstream 4.02

I have queries if you address those it would be helpful.

  1. Where common buffer GstBuffer get released. Could you point?
  2. Processing pipline I mean detection->tracking->classification is syn or asyn.
    Wanted to check if batch of stream is ready then pass to detection and once classification result is ready then next batch pass to the pipline.
    My understanding is correct or not please pointout.
  1. Gstreamer is a asynchronized framework. The GstBuffer is released when the reference count goes to zero. So theoretically, GstBuffer is released inside the gstreamer core.
  2. For every batch, the processing is sync, the detection is first, and the tracking and the classification happens. But for the whole pipeline and the whole stream, the processings are async. When the classification classify the 30th batch, the detection may detect the 34th batch in parallel.

Please upgrade to latest DeepStream DeepStream Getting Started | NVIDIA Developer

I am eager to know for pipline is asynchronous then how tracking id is assigned to each batch. I mean if first detection batch is processed and then pass the GstBuffer to tracker now tracker is doing processing mean while detector is ready with other batch then how tracker get to know this is new batch data because buffer is common.

Every frame in the batch has its own metadata,the source id,timestamp of every frame are different. MetaData in the DeepStream SDK — DeepStream DeepStream Version: 5.0 documentation

This portion I know. every meta data I am aware. My question is , once the tracker assigned id , then the common buffer is going to be used and that buffer passed to the classifier. Let say mean while detection result is ready and pass to tracker buffer is common will it modify the buffer without tracker id and that access classifier layer or process is synchronous means one batch pass from detection then tracker and then classifier. After that next batch is processed.

Amar Kumar

When one batch is in tracker, the succeeded batch can be handled in detector in parallel.

When this succeeded batch push to the tracker once all pipline is completed means tracker and clssifiction?

Yes. When one batch tracking and classification finishes, the succeded batch may be in tracker.

Is there any signal that indicate the classification done now , so next batch pass to tracker.?

Batches are encapsulated in GstBuffer, no special signal is needed. Gstreamer itself works in asynchronized mode. We just use the existed mechanism.