Internal data stream error when uridecodebin

• Hardware Platform ( GPU)
• DeepStream Version 6.1

Hi, I got this problem so often when deploying our product to client’s environment. This happened when camera was disconnected then alive again but my deep-stream pipeline always throwed that error by bus_call in some cases. Do you have any idea to reproduce error with internal data error?

Thank you.

Are you using rtsp camera?

You can try using nvurisrcbin and configure the rtsp-reconnect-attempts and rtsp-reconnect-interval properties.

deepstream-app already supports this feature

Yes, I am using rtsp camera.

You can try using nvurisrcbinand configure thertsp-reconnect-attemptsandrtsp-reconnect-interval properties.

Coz Internal data stream error is catched inside nvinfer.cpp, though try using nvurisrcbin, i think this error probably occurred again?

nvurisrcbin will handle the error and the error will not be passed in the pipeline.

1 Like

sorry, in case i want catch the response to know it reconnected successfully or not, how can I do it?

If you mean reconnect attempt exceeded, refer this code snippet in /opt/nvidia/deepstream/deepstream/sources/apps/sample_apps/deepstream-app/deepstream_app.c.

To get the status of each reconnection success or failure, you need to modify watch_source_async_state_change in /opt/nvidia/deepstream/deepstream/sources/gst-plugins/gst-nvurisrcbin/gstdsnvurisrcbin.cpp

if (gst_nvmessage_is_reconnect_attempt_exceeded (message)) {
        NvDsRtspAttemptsInfo rtsp_info = {0};
        gboolean rec_attempt_exceeded_for_all = TRUE;
        if (gst_nvmessage_parse_reconnect_attempt_exceeded (message, &rtsp_info)) {
          if (rtsp_info.attempt_exceeded) {
            appCtx->config.multi_source_config[rtsp_info.source_id].rtsp_reconnect_attempt_exceeded =
                       rtsp_info.attempt_exceeded;
            NVGSTDS_INFO_MSG_V ("rtsp reconnect attempt exceeded for source_id : %d\n",rtsp_info.source_id);
          }

          if (appCtx->eos_received) {
            for (int i = 0; i < MAX_SOURCE_BINS; i++) {
              if (appCtx->config.multi_source_config[i].type == NV_DS_SOURCE_RTSP) {
                  if (appCtx->config.multi_source_config[i].rtsp_reconnect_attempt_exceeded != TRUE) {
                    rec_attempt_exceeded_for_all = FALSE;
                  }
              }
            }

            if (rec_attempt_exceeded_for_all) {
              NVGSTDS_INFO_MSG_V ("Exiting ...\n");
              appCtx->quit = TRUE;
              return FALSE;
            }
          }
        }
      }

Hi this is from deepstream 7.0, right?, I dont see your references in deepstream 6.3 and I am expecting to use deesptream 6.3