Regarding doubt about smart record trigger start/stop deepsream-testsr

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU) - jetson nano
• DeepStream Version - 6.0.1
• JetPack Version (valid for Jetson only) - 4.6.3
• TensorRT Version - 8.4
• NVIDIA GPU Driver Version (valid for GPU only) - 10.2
• Issue Type( questions, new requirements, bugs) - doubts about deepstream-testsr-app how to change smart record trigger stop and start in deepstream-testsr-app code and it does not store smart record event and how to verify whether stored videos are smart record event or not
• How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing)
• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)

this is a configuration file of deepstream-testsr

################################################################################

Copyright (c) 2020-2021, NVIDIA CORPORATION. All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a

copy of this software and associated documentation files (the “Software”),

to deal in the Software without restriction, including without limitation

the rights to use, copy, modify, merge, publish, distribute, sublicense,

and/or sell copies of the Software, and to permit persons to whom the

Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in

all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL

THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER

LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING

FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER

DEALINGS IN THE SOFTWARE.

################################################################################

Following properties are mandatory when engine files are not specified:

int8-calib-file(Only in INT8)

Caffemodel mandatory properties: model-file, proto-file, output-blob-names

UFF: uff-file, input-dims, uff-input-blob-name, output-blob-names

ONNX: onnx-file

Mandatory properties for detectors:

num-detected-classes

Optional properties for detectors:

cluster-mode(Default=Group Rectangles), interval(Primary mode only, Default=0)

custom-lib-path,

parse-bbox-func-name

Mandatory properties for classifiers:

classifier-threshold, is-classifier

Optional properties for classifiers:

classifier-async-mode(Secondary mode only, Default=false)

Optional properties in secondary mode:

operate-on-gie-id(Default=0), operate-on-class-ids(Defaults to all classes),

input-object-min-width, input-object-min-height, input-object-max-width,

input-object-max-height

Following properties are always recommended:

batch-size(Default=1)

Other optional properties:

net-scale-factor(Default=1), network-mode(Default=0 i.e FP32),

model-color-format(Default=0 i.e. RGB) model-engine-file, labelfile-path,

mean-file, gie-unique-id(Default=0), offsets, process-mode (Default=1 i.e. primary),

custom-lib-path, network-mode(Default=0 i.e FP32)

The values in the config file are overridden by values set through GObject

properties.

[property]
gpu-id=0
net-scale-factor=0.0039215697906911373
model-file = Primary_Detector_Nano/resnet10.caffemodel
proto-file = Primary_Detector_Nano/resnet10.prototxt
model-engine-file = Primary_Detector_Nano/resnet10.caffemodel_b1_gpu0_fp16.engine
labelfile-path = Primary_Detector_Nano/labels.txt
#int8-calib-file = Primary_Detector/cal_trt.bin
#force-implicit-batch-dim = 1
batch-size=1
#width=1920
#height=1080
network-mode=1
num-detected-classes=4
interval=0
gie-unique-id=1
output-blob-names=conv2d_bbox;conv2d_cov/Sigmoid
#scaling-filter=0
#scaling-compute-hw=0
cluster-mode=2

[class-attrs-all]
pre-cluster-threshold=0.2
topk=20
nms-iou-threshold=0.5

#[class-attrs-0]
#pre-cluster-threshold=0.05
#eps=0.7
#dbscan-min-score=0.95

#[class-attrs-1]
#pre-cluster-threshold=0.05
#eps=0.7
#dbscan-min-score=0.5

#[class-attrs-2]
#pre-cluster-threshold=0.1
#eps=0.6
#dbscan-min-score=0.95

#[class-attrs-3]
#pre-cluster-threshold=0.05
#eps=0.7
#dbscan-min-score=0.5

deepstream-testsr-code

/*

  • Copyright (c) 2020-2021, NVIDIA CORPORATION. All rights reserved.
  • Permission is hereby granted, free of charge, to any person obtaining a
  • copy of this software and associated documentation files (the “Software”),
  • to deal in the Software without restriction, including without limitation
  • the rights to use, copy, modify, merge, publish, distribute, sublicense,
  • and/or sell copies of the Software, and to permit persons to whom the
  • Software is furnished to do so, subject to the following conditions:
  • The above copyright notice and this permission notice shall be included in
  • all copies or substantial portions of the Software.
  • THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  • IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  • FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
  • THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  • LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  • FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  • DEALINGS IN THE SOFTWARE.
    */

#include <gst/gst.h>
#include <glib.h>
#include <stdio.h>
#include <string.h>
#include <cuda_runtime_api.h>
#include “gst-nvdssr.h”

GST_DEBUG_CATEGORY (NVDS_APP);

#define MAX_DISPLAY_LEN 64

#define PGIE_CLASS_ID_VEHICLE 0
#define PGIE_CLASS_ID_PERSON 2

/* The muxer output resolution must be set if the input streams will be of

  • different resolution. The muxer will scale all the input frames to this
  • resolution. */
    #define MUXER_OUTPUT_WIDTH 1920
    #define MUXER_OUTPUT_HEIGHT 1080

/* Muxer batch formation timeout, for e.g. 40 millisec. Should ideally be set

  • based on the fastest source’s framerate. */
    #define MUXER_BATCH_TIMEOUT_USEC 40000

/* By default, OSD process-mode is set to CPU_MODE. To change mode, set as:

  • 1: GPU mode (for Tesla only)
  • 2: HW mode (For Jetson only)
    */
    #define OSD_PROCESS_MODE 0

/* By default, OSD will not display text. To display text, change this to 1 */
#define OSD_DISPLAY_TEXT 0

gint frame_number = 0;
gchar pgie_classes_str[4][32] = { “Vehicle”, “TwoWheeler”, “Person”,
“Roadsign”
};

/* Config file parameters used for recording

  • User needs to change these parameters to reflect the change in recordings
  • e.g duration, start-time etc. */

/* Container format of recorded file 0 for mp4 and 1 for mkv format
*/
#define SMART_REC_CONTAINER 0

/* Cache functionality of recording
*/
#define CACHE_SIZE_SEC 15

/* Timeout if duration of recording is not set by user
*/
#define SMART_REC_DEFAULT_DURATION 10

/* Time at which it recording is started
*/
#define START_TIME 2

/* Duration of recording
*/
#define SMART_REC_DURATION 7

/* Interval in seconds for

  • SR start / stop events generation.
    */
    #define SMART_REC_INTERVAL 20

static gboolean bbox_enabled = TRUE;
static gint enc_type = 0; // Default: Hardware encoder
static gint sink_type = 2; // Default: Eglsink
static guint sr_mode = 0; // Default: Audio + Video

GOptionEntry entries = {
{“bbox-enable”, ‘e’, 0, G_OPTION_ARG_INT, &bbox_enabled,
“0: Disable bboxes,
1: Enable bboxes,
Default: bboxes enabled”, NULL}
,
{“enc-type”, ‘c’, 0, G_OPTION_ARG_INT, &enc_type,
“0: Hardware encoder,
1: Software encoder,
Default: Hardware encoder”, NULL}
,
{“sink-type”, ‘s’, 0, G_OPTION_ARG_INT, &sink_type,
“1: Fakesink,
2: Eglsink,
3: RTSP sink,
Default: Eglsink”, NULL}
,
{“sr-mode”, ‘m’, 0, G_OPTION_ARG_INT, &sr_mode,
“SR mode: 0 = Audio + Video,
1 = Video only,
2 = Audio only”, NULL}
,
{NULL}
,
};

static GstElement *pipeline = NULL, *tee_pre_decode = NULL;
static NvDsSRContext *nvdssrCtx = NULL;
static GMainLoop *loop = NULL;

static gboolean
bus_call (GstBus * bus, GstMessage * msg, gpointer data)
{
GMainLoop *loop = (GMainLoop *) data;
switch (GST_MESSAGE_TYPE (msg)) {
case GST_MESSAGE_EOS:
g_print (“End of stream\n”);
g_main_loop_quit (loop);
break;
case GST_MESSAGE_ERROR:{
gchar *debug;
GError *error;
gst_message_parse_error (msg, &error, &debug);
g_printerr (“ERROR from element %s: %s\n”,
GST_OBJECT_NAME (msg->src), error->message);
if (debug)
g_printerr (“Error details: %s\n”, debug);
g_free (debug);
g_error_free (error);
g_main_loop_quit (loop);
break;
}
default:
break;
}
return TRUE;
}

static gpointer
smart_record_callback (NvDsSRRecordingInfo * info, gpointer userData)
{
static GMutex mutex;
FILE *logfile = NULL;
g_return_val_if_fail (info, NULL);

g_mutex_lock (&mutex);
logfile = fopen (“smart_record.log”, “a”);
if (logfile) {
fprintf (logfile, “%d:%s:%d:%d:%s:%d channel(s):%d Hz:%ldms:%s:%s\n”,
info->sessionId, info->containsVideo ? “video” : “no-video”,
info->width, info->height, info->containsAudio ? “audio” : “no-audio”,
info->channels, info->samplingRate, info->duration,
info->dirpath, info->filename);
fclose (logfile);
} else {
g_print (“Error in opeing smart record log file\n”);
}
g_mutex_unlock (&mutex);

return NULL;
}

static gboolean
smart_record_event_generator (gpointer data)
{
NvDsSRSessionId sessId = 0;
NvDsSRContext *ctx = (NvDsSRContext *) data;
guint startTime = START_TIME;
guint duration = SMART_REC_DURATION;

if (ctx->recordOn) {
g_print(“smart record done!”);
g_print (“Recording done.\n”);
if (NvDsSRStop (ctx, 0) != NVDSSR_STATUS_OK)
g_printerr (“Unable to stop recording\n”);
} else {
g_print (“Recording started…\n”);
if (NvDsSRStart (ctx, &sessId, startTime, duration,
NULL) != NVDSSR_STATUS_OK)
g_printerr (“Unable to start recording\n”);
}
return TRUE;
}

static void
cb_newpad_audio_parsebin (GstElement * element, GstPad * element_src_pad, gpointer data)
{
GstPad *sinkpad = gst_element_get_static_pad(nvdssrCtx->recordbin, “asink”);
if (gst_pad_link(element_src_pad, sinkpad) != GST_PAD_LINK_OK) {
g_print (“Elements not linked. Exiting. \n”);
g_main_loop_quit(loop);
}
}

static void
cb_newpad (GstElement * element, GstPad * element_src_pad, gpointer data)
{

g_print (“In cb_newpad\n”);
GstCaps *caps = gst_pad_get_current_caps (element_src_pad);
const GstStructure *str = gst_caps_get_structure (caps, 0);
const gchar *name = gst_structure_get_name (str);

GstElement *depay_elem = (GstElement *) data;

const gchar *media = gst_structure_get_string (str, “media”);
gboolean is_video = (!g_strcmp0 (media, “video”));
gboolean is_audio = (!g_strcmp0 (media, “audio”));
// g_print(“%c \n”,is_video);
// if (is_video){
// g_print(“video is presetn”);
//}

if (g_strrstr (name, “x-rtp”) && is_video) {

GstPad *sinkpad = gst_element_get_static_pad (depay_elem, "sink");
if (gst_pad_link (element_src_pad, sinkpad) != GST_PAD_LINK_OK) {
  g_print("video is present \n");
  g_printerr ("Failed to link depay loader to rtsp src \n");
  g_print("video is present \n");

}
gst_object_unref (sinkpad);

if (!bbox_enabled && (sr_mode == 0 || sr_mode == 1)) {
  GstElement *parser_pre_recordbin =
      gst_element_factory_make ("h265parse", "parser-pre-recordbin");

  gst_bin_add_many (GST_BIN (pipeline), parser_pre_recordbin, NULL);

  if (!gst_element_link_many (tee_pre_decode, parser_pre_recordbin,
          nvdssrCtx->recordbin, NULL)) {
    g_print ("Elements not linked. Exiting. \n");
    g_main_loop_quit(loop);
  }
  gst_element_sync_state_with_parent(parser_pre_recordbin);
}

}

if (g_strrstr (name, “x-rtp”) && is_audio) {
if (!bbox_enabled && (sr_mode == 0 || sr_mode == 2)) {
GstElement *parser_pre_recordbin =
gst_element_factory_make (“parsebin”, “audio-parser-pre-recordbin”);

  gst_bin_add_many (GST_BIN (pipeline), parser_pre_recordbin, NULL);

  GstPad *sinkpad = gst_element_get_static_pad(parser_pre_recordbin, "sink");
  if (gst_pad_link(element_src_pad, sinkpad) != GST_PAD_LINK_OK) {
    g_print ("Elements not linked. Exiting. \n");
    g_main_loop_quit(loop);
  }

  g_signal_connect(G_OBJECT(parser_pre_recordbin), "pad-added", G_CALLBACK(cb_newpad_audio_parsebin), NULL);

  gst_element_sync_state_with_parent(parser_pre_recordbin);
}

}

gst_caps_unref (caps);
}

int
main (int argc, char *argv)
{
GstElement *streammux = NULL, *sink = NULL, *pgie = NULL, *source = NULL,
*nvvidconv = NULL, *nvvidconv2 = NULL, *encoder_post_osd = NULL,
*queue_pre_sink = NULL, *queue_post_osd = NULL, *parser_post_osd = NULL,
*nvosd = NULL, *tee_post_osd = NULL, *queue_pre_decode = NULL,
*depay_pre_decode = NULL, *decoder = NULL, *nvvidconv3 = NULL,
swenc_caps = NULL;
g_print(“Hello \n”);
g_setenv(“GST_DEBUG”, "
:3", TRUE);
GstCaps *caps = NULL;
GstElement *cap_filter = NULL;

GstBus *bus = NULL;
guint bus_watch_id = 0;
guint i = 0, num_sources = 1;

guint pgie_batch_size = 0;

int current_device = -1;
cudaGetDevice(&current_device);
struct cudaDeviceProp prop;
cudaGetDeviceProperties(&prop, current_device);

GstElement *transform = NULL;
GOptionContext *gctx = NULL;
GOptionGroup *group = NULL;
GError *error = NULL;

NvDsSRInitParams params = { 0 };

gctx = g_option_context_new (“Nvidia DeepStream Test-SR app”);
group = g_option_group_new (“SR_test”, NULL, NULL, NULL, NULL);
g_option_group_add_entries (group, entries);

g_option_context_set_main_group (gctx, group);
g_option_context_add_group (gctx, gst_init_get_option_group ());

GST_DEBUG_CATEGORY_INIT (NVDS_APP, “NVDS_APP”, 0, NULL);

if (!g_option_context_parse (gctx, &argc, &argv, &error)) {
g_printerr (“%s”, error->message);
g_print (“%s”, g_option_context_get_help (gctx, TRUE, NULL));
return -1;
}

/* Check input arguments */
if (argc < 2) {
g_printerr (“Usage: %s <rtsp_h264 uri>\n”, argv[0]);
return -1;
}

if (argc > 2) {
g_printerr (“One rtsp_h264 uri supported Usage: %s <rtsp_h264 uri> \n”,
argv[0]);
return -1;
}
/* Standard GStreamer initialization */
gst_init (&argc, &argv);
loop = g_main_loop_new (NULL, FALSE);

/* Create gstreamer elements /
/
Create Pipeline element that will form a connection of other elements */
pipeline = gst_pipeline_new (“dstest-sr-pipeline”);

source = gst_element_factory_make (“rtspsrc”, “rtsp-source”);
g_object_set (G_OBJECT (source), “location”, argv[1], NULL);

depay_pre_decode = gst_element_factory_make (“rtph265depay”, “h264-depay”);
if (!source || !depay_pre_decode) {
g_print(“not linking”);
g_printerr (“One element in source end could not be created.\n”);
return -1;
}

queue_pre_decode = gst_element_factory_make (“queue”, “queue-pre-decode”);

if (!source || !depay_pre_decode || !queue_pre_decode) {
g_printerr (“One element in source end could not be created.\n”);
return -1;
}

g_signal_connect (G_OBJECT (source), “pad-added”,
G_CALLBACK (cb_newpad), depay_pre_decode);
/* Create tee which connects decoded source data and Smart record bin without bbox */
tee_pre_decode = gst_element_factory_make (“tee”, “tee-pre-decode”);

decoder = gst_element_factory_make (“nvv4l2decoder”, “nvv4l2-decoder”);

streammux = gst_element_factory_make (“nvstreammux”, “stream-muxer”);

/* Use nvinfer to infer on batched frame. */
pgie = gst_element_factory_make (“nvinfer”, “primary-nvinference-engine”);

/* Use queue to connect to the sink after tee_post_osd element */
queue_pre_sink = gst_element_factory_make (“queue”, “queue-pre-sink”);

/* Use convertor to convert from NV12 to RGBA as required by nvosd */
nvvidconv = gst_element_factory_make (“nvvideoconvert”, “nvvideo-converter”);

/* Use convertor to convert from RGBA to CAPS filter data format */
nvvidconv2 =
gst_element_factory_make (“nvvideoconvert”, “nvvideo-converter2”);

/* Create OSD to draw on the converted RGBA buffer */
nvosd = gst_element_factory_make (“nvdsosd”, “nv-onscreendisplay”);

/* Create tee which connects to sink and Smart record bin with bbox */
tee_post_osd = gst_element_factory_make (“tee”, “tee-post-osd”);

/* Finally render the osd output */
if(prop.integrated) {
transform = gst_element_factory_make (“nvegltransform”, “nvegl-transform”);
if (!transform) {
g_printerr (“One tegra element could not be created. Exiting.\n”);
return -1;
}
}

if (sink_type == 1) {
sink = gst_element_factory_make (“fakesink”, “nvvideo-renderer”);
}
else if (sink_type == 2) {
sink = gst_element_factory_make (“nveglglessink”, “nvvideo-renderer”);
g_object_set (G_OBJECT (sink), “async”, FALSE, NULL);
}
else if (sink_type == 3) {
sink = gst_element_factory_make (“nvrtspoutsinkbin”, “nvvideo-renderer”);
g_object_set (G_OBJECT (sink), “sync”, TRUE, NULL);
g_object_set (G_OBJECT (sink), “bitrate”, 768000, NULL);
g_object_set (G_OBJECT (sink), “enc-type”, 1, NULL);
}

g_object_set (G_OBJECT (streammux), “live-source”, 1, NULL);

caps = gst_caps_from_string (“video/x-raw(memory:NVMM), format=(string)I420”);
cap_filter =
gst_element_factory_make (“capsfilter”, “src_cap_filter_nvvidconv”);
g_object_set (G_OBJECT (cap_filter), “caps”, caps, NULL);
gst_caps_unref (caps);

if (!pgie || !nvvidconv || !nvosd || !nvvidconv2 || !cap_filter
|| !tee_post_osd || !tee_pre_decode || !sink) {
g_printerr (“One element could not be created. Exiting.\n”);
return -1;
}

g_object_set (G_OBJECT (streammux), “batch-size”, num_sources, NULL);

g_object_set (G_OBJECT (streammux), “width”, MUXER_OUTPUT_WIDTH, “height”,
MUXER_OUTPUT_HEIGHT,
“batched-push-timeout”, MUXER_BATCH_TIMEOUT_USEC, NULL);

/* Configure the nvinfer element using the nvinfer config file. */
g_object_set (G_OBJECT (pgie),
“config-file-path”, “dstestsr_pgie_config.txt”, NULL);

/* Override the batch-size set in the config file with the number of sources. */
g_object_get (G_OBJECT (pgie), “batch-size”, &pgie_batch_size, NULL);
if (pgie_batch_size != num_sources) {
g_printerr
(“WARNING: Overriding infer-config batch-size (%d) with number of sources (%d)\n”,
pgie_batch_size, num_sources);
g_object_set (G_OBJECT (pgie), “batch-size”, num_sources, NULL);
}

g_object_set (G_OBJECT (nvosd), “process-mode”, OSD_PROCESS_MODE,
“display-text”, OSD_DISPLAY_TEXT, NULL);

g_object_set (G_OBJECT (sink), “qos”, 0, NULL);

/* we add a message handler */
bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
bus_watch_id = gst_bus_add_watch (bus, bus_call, loop);
gst_object_unref (bus);

/* Set up the pipeline

  • rtsp-source-> h264-depay → tee-> queue → decoder ->nvstreammux → nvinfer → nvvidconv → nvosd → nvvidconv → caps_filter → tee → queue → video-renderer
  •                                                                                                                                 |-> queue -> encoder -> parser -> recordbin
    

*/
gst_bin_add_many (GST_BIN (pipeline), source, depay_pre_decode,
tee_pre_decode, queue_pre_decode, decoder, streammux, pgie, nvvidconv,
nvosd, nvvidconv2, cap_filter, tee_post_osd, queue_pre_sink, sink, NULL);

if(prop.integrated) {
gst_bin_add (GST_BIN (pipeline), transform);
}

/* Link the elements together till decoder */
if (!gst_element_link_many (depay_pre_decode, tee_pre_decode,
queue_pre_decode, decoder, NULL)) {
g_printerr (“Elements could not be linked: 1. Exiting.\n”);
return -1;
}

/* Link decoder with streammux */
GstPad *sinkpad, *srcpad;
gchar pad_name_sink[16] = “sink_0”;
gchar pad_name_src[16] = “src”;

sinkpad = gst_element_get_request_pad (streammux, pad_name_sink);
if (!sinkpad) {
g_printerr (“Streammux request sink pad failed. Exiting.\n”);
return -1;
}

srcpad = gst_element_get_static_pad (decoder, pad_name_src);
if (!srcpad) {
g_printerr (“Decoder request src pad failed. Exiting.\n”);
return -1;
}

if (gst_pad_link (srcpad, sinkpad) != GST_PAD_LINK_OK) {
g_printerr (“Failed to link decoder to stream muxer. Exiting.\n”);
return -1;
}

gst_object_unref (sinkpad);
gst_object_unref (srcpad);

/* Link the remaining elements of the pipeline to streammux */
if(prop.integrated) {
if (!gst_element_link_many (streammux, pgie,
nvvidconv, nvosd, nvvidconv2, cap_filter, tee_post_osd,
queue_pre_sink, transform, sink, NULL)) {
g_printerr (“Elements could not be linked. Exiting.\n”);
return -1;
}
} else {
if (!gst_element_link_many (streammux, pgie,
nvvidconv, nvosd, nvvidconv2, cap_filter, tee_post_osd,
queue_pre_sink, sink, NULL)) {
g_printerr (“Elements could not be linked. Exiting.\n”);
return -1;
}
}

/* Parameters are set before creating record bin

  • User can set additional parameters e.g recorded file path etc.
  • Refer NvDsSRInitParams structure for additional parameters
    */
    params.containerType = SMART_REC_CONTAINER;
    params.cacheSize = CACHE_SIZE_SEC;
    params.defaultDuration = SMART_REC_DEFAULT_DURATION;
    params.callback = smart_record_callback;
    params.fileNamePrefix = bbox_enabled ? “With_BBox” : “Without_BBox”;

if (NvDsSRCreate (&nvdssrCtx, &params) != NVDSSR_STATUS_OK) {
g_printerr (“Failed to create smart record bin”);
return -1;
}

gst_bin_add_many (GST_BIN (pipeline), nvdssrCtx->recordbin, NULL);

if (bbox_enabled) {
/* Encode the data from tee before recording with bbox /
if (enc_type == 0) {
/
Hardware encoder used*/
encoder_post_osd =
gst_element_factory_make (“nvv4l2h264enc”, “encoder-post-osd”);

  } else if (enc_type == 1) {
    /* Software encoder used*/

    swenc_caps =  gst_element_factory_make ("capsfilter", NULL);

    GstCaps *enc_caps = NULL;

    enc_caps = gst_caps_from_string ("video/x-h264, profile=(string)baseline");

    g_object_set (G_OBJECT (swenc_caps), "caps", enc_caps, NULL);
    gst_caps_unref (enc_caps);

    encoder_post_osd =
        gst_element_factory_make ("x264enc", "encoder-post-osd");

    nvvidconv3 = gst_element_factory_make ("nvvideoconvert", "nvvidconv3");
    gst_bin_add_many (GST_BIN (pipeline), swenc_caps, nvvidconv3, NULL);
  }

/* Parse the encoded data after osd component */
parser_post_osd = gst_element_factory_make ("h264parse", "parser-post-osd");

/* Use queue to connect the tee_post_osd to nvencoder */
queue_post_osd = gst_element_factory_make ("queue", "queue-post-osd");

gst_bin_add_many (GST_BIN (pipeline), queue_post_osd, encoder_post_osd,
    parser_post_osd, NULL);

if (enc_type == 0) {
  if (!gst_element_link_many (tee_post_osd, queue_post_osd, encoder_post_osd,
          parser_post_osd, nvdssrCtx->recordbin, NULL)) {
    g_print ("Elements not linked. Exiting. \n");
    return -1;
  }
}
else if (enc_type == 1) {
  /* Link swenc_caps and nvvidconv3 in case of software encoder*/
  if (!gst_element_link_many (tee_post_osd, nvvidconv3, queue_post_osd,
          encoder_post_osd, swenc_caps, parser_post_osd,
          nvdssrCtx->recordbin, NULL)) {
    g_print ("Elements not linked. Exiting. \n");
    return -1;
  }
}

}

if (nvdssrCtx) {
g_timeout_add (SMART_REC_INTERVAL * 1000, smart_record_event_generator,
nvdssrCtx);
}

/* Set the pipeline to “playing” state */
g_print (“Now playing:”);
g_print (" %s", argv[i + 1]);

g_print (“\n”);
gst_element_set_state (pipeline, GST_STATE_PLAYING);

/* Wait till pipeline encounters an error or EOS /
g_print (“Running…\n”);
g_main_loop_run (loop);
if (pipeline && nvdssrCtx) {
if(NvDsSRDestroy (nvdssrCtx) != NVDSSR_STATUS_OK)
g_printerr (“Unable to destroy recording instance\n”);
}
/
Out of the main loop, clean up nicely */
g_print (“Returned, stopping playback\n”);
gst_element_set_state (pipeline, GST_STATE_NULL);
g_print (“Deleting pipeline\n”);
gst_object_unref (GST_OBJECT (pipeline));
g_source_remove (bus_watch_id);
g_main_loop_unref (loop);
return 0;
}

and also getting this warnings

pstream-testsr-app$ ./deepstream-testsr-app “rtsp://admin:Sieora123@192.168.1.108:554/cam/realmonitor?channel=1&subtype=0”
Hello
Now playing: rtsp://admin:Sieora123@192.168.1.108:554/cam/realmonitor?channel=1&subtype=0

Using winsys: x11
Opening in BLOCKING MODE
0:00:00.610323459 16800 0x5595f8b840 WARN v4l2 gstv4l2object.c:2388:gst_v4l2_object_add_interlace_mode:0x5595f6a020 Failed to determine interlace mode
0:00:00.610446585 16800 0x5595f8b840 WARN v4l2 gstv4l2object.c:2388:gst_v4l2_object_add_interlace_mode:0x5595f6a020 Failed to determine interlace mode
0:00:00.610522992 16800 0x5595f8b840 WARN v4l2 gstv4l2object.c:2388:gst_v4l2_object_add_interlace_mode:0x5595f6a020 Failed to determine interlace mode
0:00:00.610595649 16800 0x5595f8b840 WARN v4l2 gstv4l2object.c:2388:gst_v4l2_object_add_interlace_mode:0x5595f6a020 Failed to determine interlace mode
0:00:00.610777161 16800 0x5595f8b840 WARN v4l2 gstv4l2object.c:4476:gst_v4l2_object_probe_caps:encoder-post-osd:src Failed to probe pixel aspect ratio with VIDIOC_CROPCAP: Unknown error -1
Opening in BLOCKING MODE
0:00:00.784436865 16800 0x5595f8b840 WARN v4l2 gstv4l2object.c:4476:gst_v4l2_object_probe_caps:nvv4l2-decoder:src Failed to probe pixel aspect ratio with VIDIOC_CROPCAP: Unknown error -1
0:00:00.784526865 16800 0x5595f8b840 WARN v4l2 gstv4l2object.c:2388:gst_v4l2_object_add_interlace_mode:0x5595b36d20 Failed to determine interlace mode
0:00:00.784621710 16800 0x5595f8b840 WARN v4l2 gstv4l2object.c:2388:gst_v4l2_object_add_interlace_mode:0x5595b36d20 Failed to determine interlace mode
0:00:00.784696346 16800 0x5595f8b840 WARN v4l2 gstv4l2object.c:2388:gst_v4l2_object_add_interlace_mode:0x5595b36d20 Failed to determine interlace mode
0:00:09.289613039 16800 0x5595f8b840 INFO nvinfer gstnvinfer.cpp:638:gst_nvinfer_logger: NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::deserializeEngineAndBackend() <nvdsinfer_context_impl.cpp:1900> [UID = 1]: deserialized trt engine from :/opt/nvidia/deepstream/deepstream-6.0/sources/apps/sample_apps/deepstream-testsr-app/Primary_Detector_Nano/resnet10.caffemodel_b1_gpu0_fp16.engine
INFO: [Implicit Engine Info]: layers num: 3
0 INPUT kFLOAT input_1 3x272x480
1 OUTPUT kFLOAT conv2d_bbox 16x17x30
2 OUTPUT kFLOAT conv2d_cov/Sigmoid 4x17x30

0:00:09.291180553 16800 0x5595f8b840 INFO nvinfer gstnvinfer.cpp:638:gst_nvinfer_logger: NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::generateBackendContext() <nvdsinfer_context_impl.cpp:2004> [UID = 1]: Use deserialized engine model: /opt/nvidia/deepstream/deepstream-6.0/sources/apps/sample_apps/deepstream-testsr-app/Primary_Detector_Nano/resnet10.caffemodel_b1_gpu0_fp16.engine
0:00:09.324804436 16800 0x5595f8b840 INFO nvinfer gstnvinfer_impl.cpp:313:notifyLoadModelStatus: [UID 1]: Load new model:dstestsr_pgie_config.txt sucessfully
Running…
0:00:09.530996474 16800 0x7f3c050630 FIXME default gstutils.c:3981:gst_pad_create_stream_id_internal:fakesrc0:src Creating random stream-id, consider implementing a deterministic way of creating a stream-id
In cb_newpad
0:00:12.275004653 16800 0x5595f53ed0 FIXME basesink gstbasesink.c:3145:gst_base_sink_default_event: stream-start event without group-id. Consider implementing group-id handling in the upstream elements
NvMMLiteOpen : Block : BlockType = 279
NVMEDIA: Reading vendor.tegra.display-size : status: 6
NvMMLiteBlockCreate : Block : BlockType = 279
0:00:12.315002135 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.315154689 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.315597036 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.315783704 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.316033342 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.316124385 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.316286938 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.316410950 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.316496732 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.316618816 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.316703035 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.316814859 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.317071997 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.317217832 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.317300801 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.317390073 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.317463094 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.317537678 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.317624970 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.317695023 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.317767107 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.317837420 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.317912733 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.317985182 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.318058203 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.318130600 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.318203048 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.318277164 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.318363206 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.318701386 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.318820606 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.319004722 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.319096233 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.319181286 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.319427694 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.319511445 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.319609050 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.319693061 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.319765718 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.319874417 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.319967439 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.320044471 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.320150201 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.320245618 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.320736872 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.321520890 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.322295584 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.323266790 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.323629397 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.324195548 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.324294559 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.324362164 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.324651750 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.324942482 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.325184203 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.325448684 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.325914521 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.332963385 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.333161511 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.333255835 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.333317815 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.333398128 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.333451774 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.333502556 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.333554067 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.333608963 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.333662193 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.333715214 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.333767402 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.333818913 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.333870736 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.333923028 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.333992091 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.334050425 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.334103811 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.334157197 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.334209541 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.334261625 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.334321261 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.334373761 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.334429335 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.334481419 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.334532669 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.334585794 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.334638087 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.334691681 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.334743869 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.334796786 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.334960589 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.425750439 16800 0x55964050f0 WARN v4l2 gstv4l2object.c:4476:gst_v4l2_object_probe_caps:nvv4l2-decoder:src Failed to probe pixel aspect ratio with VIDIOC_CROPCAP: Unknown error -1
0:00:12.425918982 16800 0x55964050f0 WARN v4l2 gstv4l2object.c:2388:gst_v4l2_object_add_interlace_mode:0x5595b36d20 Failed to determine interlace mode
0:00:12.426060597 16800 0x55964050f0 WARN v4l2 gstv4l2object.c:2388:gst_v4l2_object_add_interlace_mode:0x5595b36d20 Failed to determine interlace mode
0:00:12.426245391 16800 0x55964050f0 WARN v4l2 gstv4l2object.c:2388:gst_v4l2_object_add_interlace_mode:0x5595b36d20 Failed to determine interlace mode
NvMMLiteOpen : Block : BlockType = 4
===== NVMEDIA: NVENC =====
NvMMLiteBlockCreate : Block : BlockType = 4
0:00:12.460269331 16800 0x5595f53f20 WARN v4l2 gstv4l2object.c:4043:gst_v4l2_object_set_format_full:encoder-post-osd:sink Reuse caps framerate 0/1 - fix v4l2 output driver
0:00:12.464607286 16800 0x5595f53f20 WARN v4l2bufferpool gstv4l2bufferpool.c:1087:gst_v4l2_buffer_pool_start:encoder-post-osd:pool:src Uncertain or not enough buffers, enabling copy threshold
0:00:12.724691102 16800 0x55964050f0 WARN v4l2videodec gstv4l2videodec.c:1755:gst_v4l2_video_dec_decide_allocation: Duration invalid, not setting latency
0:00:12.726123979 16800 0x55964050f0 WARN v4l2bufferpool gstv4l2bufferpool.c:1087:gst_v4l2_buffer_pool_start:nvv4l2-decoder:pool:src Uncertain or not enough buffers, enabling copy threshold
0:00:12.726960184 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.727121123 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.731584130 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.731715954 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.732204656 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.732629191 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.732723723 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.733127425 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.733524876 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.733614564 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.735129838 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.735404580 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.735539581 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.738255334 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.751064195 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.751681648 16800 0x7f44003850 WARN v4l2bufferpool gstv4l2bufferpool.c:1536:gst_v4l2_buffer_pool_dqbuf:nvv4l2-decoder:pool:src Driver should never set v4l2_buffer.field to ANY
0:00:12.809863662 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.810265228 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.810674972 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.810798046 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.811045912 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.829533937 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.835438624 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.838581359 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.838707506 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.839674806 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.839776317 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.839889496 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.839982830 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:12.840059966 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
H264: Profile = 66, Level = 0
0:00:13.357539190 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.357905079 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.359501759 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.360294058 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.361253702 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.361346827 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.361428859 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.361509381 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.361585788 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.361661414 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.363348564 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.363559815 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.363645233 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.363721588 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.363798568 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.363872995 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.363951173 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.364025184 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.364098622 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.365491551 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.365658323 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.365758532 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.367932874 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.368133918 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.368218502 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.368298919 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.368375378 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.370638314 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.370738992 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.370818108 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
NVMEDIA_ENC: bBlitMode is set to TRUE
0:00:13.583973655 16800 0x7f600044a0 WARN v4l2bufferpool gstv4l2bufferpool.c:1536:gst_v4l2_buffer_pool_dqbuf:encoder-post-osd:pool:src Driver should never set v4l2_buffer.field to ANY
0:00:13.595318546 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.596047719 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.596641317 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.691158752 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.691634381 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.692825433 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.693967370 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.694302321 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.783356115 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.783473356 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.783591117 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.783655180 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.783736900 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.783809765 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.783870026 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.783946485 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.785121547 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.785280559 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:13.836442461 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.005390386 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.006624771 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.045351930 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.045501046 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.045610579 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.045731830 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.045918185 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.046742828 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.047293041 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.047394032 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.047472366 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.048048725 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.048268206 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.049015087 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.049782281 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.049856553 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.049921293 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.049975148 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.050033065 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.050085357 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.050137232 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.050188066 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.050378432 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.050668383 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.050734894 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.050788436 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.050851666 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.050920937 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.050982031 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.051045678 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.051101512 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.051162658 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.051360524 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.051419171 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.051902300 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.052010999 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.052096624 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.052182458 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.052267928 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.052354647 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.052445742 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.053295385 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.236142180 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.236840832 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.237897143 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.238931319 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.240308779 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.241070921 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.241730354 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.242302911 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.242705935 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.243309794 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.243573442 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.243809486 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.244289751 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.244464544 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.244630275 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.458294475 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.459000002 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.510814619 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present
0:00:14.511375301 16800 0x7f3c008770 FIXME rtph265depay gstrtph265depay.c:1278:gst_rtp_h265_depay_process: Assuming DONL field is not present

static gboolean smart_record_event_generator(gpointer data) {
NvDsSRSessionId sessId = 0;
NvDsSRContext *ctx = (NvDsSRContext *) data;
guint startTime = START_TIME;
guint duration = 60; // Total duration of recording (60 seconds)
guint segmentDuration = 10; // Duration of each segment (10 seconds)
guint numSegments = duration / segmentDuration; // Number of segments
if (ctx->recordOn) {
g_print(“smart record done!”);
g_print(“Recording done.\n”);
if (NvDsSRStop(ctx, 0) != NVDSSR_STATUS_OK)
g_printerr(“Unable to stop recording\n”);
} else {
g_print(“Recording started…\n”);

// Start recording for each segment
for (guint i = 0; i < numSegments; i++) {
  guint segmentStartTime = startTime + (i * segmentDuration);
  g_print("1");
  if (NvDsSRStart(ctx, &sessId, segmentStartTime, segmentDuration, NULL) != NVDSSR_STATUS_OK) {
    g_printerr("Unable to start recording\n");
    break;
  }


  // Sleep for the duration of the segment
  g_usleep(segmentDuration * G_USEC_PER_SEC);
}

// Stop recording after all segments have been recorded
if (NvDsSRStop(ctx, 0) != NVDSSR_STATUS_OK)
  g_printerr("Unable to stop recording\n");

}

return TRUE;
}

i have modified in this code for video total duration video and segmentation but it is continuously storing the video where i need to change for this triggering start and stop

g_timeout_add (SMART_REC_INTERVAL * 1000, smart_record_event_generator,
    nvdssrCtx);

you can comment out this code, it will trigger the event.

i have done but video is not storing what else should i do

you need to call NvDsSRStart to start record, and call NvDsSRStop to stop recording.

ok

one more doubt also i have how to verify is storing video whether smart record event or not

static gboolean smart_record_event_generator(gpointer data) {
NvDsSRSessionId sessId = 0;
NvDsSRContext *ctx = (NvDsSRContext *) data;
guint startTime = START_TIME;
guint duration = 60; // Total duration of recording (60 seconds)
guint segmentDuration = 10; // Duration of each segment (10 seconds)
guint numSegments = duration / segmentDuration; // Number of segments
NvDsSRStart();
if (ctx->recordOn) {
g_print(“smart record done!”);
g_print(“Recording done.\n”);
if (NvDsSRStop(ctx, 0) != NVDSSR_STATUS_OK)
g_printerr(“Unable to stop recording\n”);
} else {
g_print(“Recording started…\n”);

// Start recording for each segment
for (guint i = 0; i < numSegments; i++) {
  guint segmentStartTime = startTime + (i * segmentDuration);
  g_print("1");
  if (NvDsSRStart(ctx, &sessId, segmentStartTime, segmentDuration, NULL) != NVDSSR_STATUS_OK) {
    g_printerr("Unable to start recording\n");
    break;
  }


  // Sleep for the duration of the segment
  g_usleep(segmentDuration * G_USEC_PER_SEC);
}

// Stop recording after all segments have been recorded
if (NvDsSRStop(ctx, 0) != NVDSSR_STATUS_OK)
  g_printerr("Unable to stop recording\n");

}

return TRUE;
}

it has fileNamePrefix and timestamp, like this, With_BBox_00000_20230609-062033_74979.mp4

how do i call static gboolean smart_record_event_generator(

you can call it in probe function or add a timer to call it.

can give me a brief about the where i have to call NvDsSRStart to start record, and call NvDsSRStop

if using timer, please refer to sample deepstream-testsr
in deepstream SDK.
if using probe function, please refer to Getting error "No video stream found" in smart recording in deepstream-test5.

everything is ok but need to stop the video in deepstream-testsr just tell that one thing how to set duration of the video

please find params.defaultDuration = SMART_REC_DEFAULT_DURATION; in testsr.
please refer to smart record doc

ok fanzh

params.containerType = SMART_REC_CONTAINER;
params.cacheSize = CACHE_SIZE_SEC;
params.defaultDuration = SMART_REC_DEFAULT_DURATION;
params.callback = smart_record_callback;
params.fileNamePrefix = bbox_enabled ? “With_BBox” : “Without_BBox”;

Is this still an DeepStream issue to support? Thanks

even though i have changed in params.defaultDuration = SMART_REC_DEFAULT_DURATION; but not stopping

i gave only total duration 60 but it is running continuously