the demo I tried , If send the first buffer, the nvv4l2decoder only create src task
GST_PADS gstpad.c:6154:gst_pad_start_task:<nvv4l2decoder:src> created task 0x564198357830
if probe the nvv4l2decoder src buffer, there is no callback .
when I send the second buffer, the first buffer callback run .
or I send EOS to the pipeline line , the first buffer callback run .
the first buffer send log
0:00:05.375277852 3238 0x5593a3c18de0 ERROR v4l2 gstv4l2object.c:2077:gst_v4l2_object_get_interlace_mode: Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git
0:00:05.375316293 3238 0x5593a3c18de0 ERROR v4l2 gstv4l2object.c:2077:gst_v4l2_object_get_interlace_mode: Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git
0:00:05.375323894 3238 0x5593a3c18de0 ERROR v4l2 gstv4l2object.c:2077:gst_v4l2_object_get_interlace_mode: Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git
0:00:05.375376611 3238 0x5593a3c18de0 ERROR v4l2 gstv4l2object.c:2077:gst_v4l2_object_get_interlace_mode: Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git
0:00:05.375385462 3238 0x5593a3c18de0 ERROR v4l2 gstv4l2object.c:2077:gst_v4l2_object_get_interlace_mode: Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git
0:00:05.375419566 3238 0x5593a3c18de0 ERROR v4l2 gstv4l2object.c:2077:gst_v4l2_object_get_interlace_mode: Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git
0:00:05.375428031 3238 0x5593a3c18de0 ERROR v4l2 gstv4l2object.c:2077:gst_v4l2_object_get_interlace_mode: Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git
0:00:05.375471660 3238 0x5593a3c18de0 ERROR v4l2 gstv4l2object.c:2077:gst_v4l2_object_get_interlace_mode: Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git
0:00:05.375480121 3238 0x5593a3c18de0 ERROR v4l2 gstv4l2object.c:2077:gst_v4l2_object_get_interlace_mode: Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git
0:00:05.375526429 3238 0x5593a3c18de0 ERROR v4l2 gstv4l2object.c:2077:gst_v4l2_object_get_interlace_mode: Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git
0:00:05.375535126 3238 0x5593a3c18de0 ERROR v4l2 gstv4l2object.c:2077:gst_v4l2_object_get_interlace_mode: Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git
0:00:05.375566514 3238 0x5593a3c18de0 ERROR v4l2 gstv4l2object.c:2077:gst_v4l2_object_get_interlace_mode: Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git
0:00:05.375574617 3238 0x5593a3c18de0 ERROR v4l2 gstv4l2object.c:2077:gst_v4l2_object_get_interlace_mode: Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git
0:00:05.375605746 3238 0x5593a3c18de0 ERROR v4l2 gstv4l2object.c:2077:gst_v4l2_object_get_interlace_mode: Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git
0:00:05.375613588 3238 0x5593a3c18de0 ERROR v4l2 gstv4l2object.c:2077:gst_v4l2_object_get_interlace_mode: Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git
0:00:05.375719703 3238 0x5593a3c18de0 INFO v4l2 gstv4l2object.c:4490:gst_v4l2_object_probe_caps:<nvv4l2decoder:src> probed caps: image/jpeg, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)1920, height=(int)1088, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ bt601, smpte240m, bt709, 2:4:5:2, 2:4:5:3, 1:4:7:1, 2:4:7:1, 2:4:12:8, bt2020, 2:0:0:0 }; video/x-raw, format=(string)NV12, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)1920, height=(int)1088, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string){ progressive, interleaved }, colorimetry=(string){ bt601, smpte240m, bt709, 2:4:5:2, 2:4:5:3, 1:4:7:1, 2:4:7:1, 2:4:12:8, bt2020, 2:0:0:0 }; video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)1920, height=(int)1088, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ bt601, smpte240m, bt709, 2:4:5:2, 2:4:5:3, 1:4:7:1, 2:4:7:1, 2:4:12:8, bt2020, 2:0:0:0 }; video/mpeg, mpegversion=(int)2, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)1920, height=(int)1088, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ bt601, smpte240m, bt709, 2:4:5:2, 2:4:5:3, 1:4:7:1, 2:4:7:1, 2:4:12:8, bt2020, 2:0:0:0 }; video/x-vp9, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)1920, height=(int)1088, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ bt601, smpte240m, bt709, 2:4:5:2, 2:4:5:3, 1:4:7:1, 2:4:7:1, 2:4:12:8, bt2020, 2:0:0:0 }; video/x-vp8, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)1920, height=(int)1088, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ bt601, smpte240m, bt709, 2:4:5:2, 2:4:5:3, 1:4:7:1, 2:4:7:1, 2:4:12:8, bt2020, 2:0:0:0 }; video/x-h265, stream-format=(string)byte-stream, alignment=(string)au, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)1920, height=(int)1088, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ bt601, smpte240m, bt709, 2:4:5:2, 2:4:5:3, 1:4:7:1, 2:4:7:1, 2:4:12:8, bt2020, 2:0:0:0 }; video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)1920, height=(int)1088, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ bt601, smpte240m, bt709, 2:4:5:2, 2:4:5:3, 1:4:7:1, 2:4:7:1, 2:4:12:8, bt2020, 2:0:0:0 }
0:00:05.375897641 3238 0x5593a3c18de0 INFO GST_EVENT gstevent.c:814:gst_event_new_caps: creating caps event video/x-raw(memory:NVMM), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709, framerate=(fraction)1/1
0:00:05.375973925 3238 0x5593a3c18de0 INFO GST_EVENT gstevent.c:814:gst_event_new_caps: creating caps event video/x-raw(memory:NVMM), format=(string)NV12, width=(int)1920, height=(int)1080, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, framerate=(fraction)1/1, batch-size=(int)1, num-surfaces-per-frame=(int)1
0:00:05.376177095 3238 0x5593a3c18de0 INFO task gsttask.c:457:gst_task_set_lock: setting stream lock 0x5593a3c1cda0 on task 0x5593a3c1f710
0:00:05.376199800 3238 0x5593a3c18de0 INFO GST_PADS gstpad.c:6154:gst_pad_start_task:<stream-muxer:src> created task 0x5593a3c1f710
0:00:05.376395297 3238 0x5593a3c18de0 INFO v4l2 gstv4l2object.c:3152:gst_v4l2_object_setup_pool:<nvv4l2decoder:src> accessing buffers via mode 2
0:00:05.376517142 3238 0x5593a3c18de0 INFO v4l2bufferpool gstv4l2bufferpool.c:826:gst_v4l2_buffer_pool_set_config:<nvv4l2decoder:pool:src> increasing minimum buffers to 2
0:00:05.376536176 3238 0x5593a3c18de0 INFO v4l2bufferpool gstv4l2bufferpool.c:833:gst_v4l2_buffer_pool_set_config:<nvv4l2decoder:pool:src> increasing minimum buffers to 4
0:00:05.376546758 3238 0x5593a3c18de0 INFO v4l2bufferpool gstv4l2bufferpool.c:839:gst_v4l2_buffer_pool_set_config:<nvv4l2decoder:pool:src> reducing maximum buffers to 32
0:00:05.376559556 3238 0x5593a3c18de0 INFO v4l2bufferpool gstv4l2bufferpool.c:850:gst_v4l2_buffer_pool_set_config:<nvv4l2decoder:pool:src> can't allocate, setting maximum to minimum
0:00:05.376574253 3238 0x5593a3c18de0 INFO v4l2bufferpool gstv4l2bufferpool.c:855:gst_v4l2_buffer_pool_set_config:<nvv4l2decoder:pool:src> adding needed video meta
0:00:05.376768882 3238 0x5593a3c18de0 INFO v4l2bufferpool gstv4l2bufferpool.c:839:gst_v4l2_buffer_pool_set_config:<nvv4l2decoder:pool:src> reducing maximum buffers to 32
0:00:05.376785807 3238 0x5593a3c18de0 INFO v4l2bufferpool gstv4l2bufferpool.c:850:gst_v4l2_buffer_pool_set_config:<nvv4l2decoder:pool:src> can't allocate, setting maximum to minimum
0:00:05.376804599 3238 0x7faba40034f0 INFO GST_EVENT gstevent.c:895:gst_event_new_segment: creating segment event time segment start=0:00:00.000000000, offset=0:00:00.000000000, stop=99:99:99.999999999, rate=1.000000, applied_rate=1.000000, flags=0x00, time=0:00:00.000000000, base=0:00:00.000000000, position 0:00:00.000000000, duration 99:99:99.999999999
0:00:05.376868624 3238 0x5593a3c18de0 WARN v4l2videodec gstv4l2videodec.c:1673:gst_v4l2_video_dec_decide_allocation:<nvv4l2decoder> Duration invalid, not setting latency
0:00:05.376977022 3238 0x5593a3c18de0 WARN v4l2bufferpool gstv4l2bufferpool.c:1066:gst_v4l2_buffer_pool_start:<nvv4l2decoder:pool:src> Uncertain or not enough buffers, enabling copy threshold
0:00:05.377247522 3238 0x5593a3c18de0 INFO task gsttask.c:457:gst_task_set_lock: setting stream lock 0x5593a3c1cb50 on task 0x5593a3c1f830
0:00:05.377278048 3238 0x5593a3c18de0 INFO GST_PADS gstpad.c:6154:gst_pad_start_task:<nvv4l2decoder:src> created task 0x5593a3c1f830
the second buffer send log
start feed
send buffer success,frame=2,size=119669
0:00:10.378290484 3238 0x5593a3c18de0 INFO JA_STREAMER metric.cpp:21:metric_probe: element app-source pad src received,buffer=0x7faba4026e80,size=119669,pts=40000000
0:00:10.378345295 3238 0x5593a3c18de0 INFO JA_STREAMER metric.cpp:21:metric_probe: element jpegparse0 pad sink received,buffer=0x7faba4026e80,size=119669,pts=40000000
0:00:10.378896654 3238 0x5593a3c18de0 INFO JA_STREAMER metric.cpp:21:metric_probe: element jpegparse0 pad src received,buffer=0x7faba4026e80,size=119669,pts=40000000
0:00:10.378926113 3238 0x5593a3c18de0 INFO JA_STREAMER metric.cpp:21:metric_probe: element nvv4l2decoder pad sink received,buffer=0x7faba4026e80,size=119669,pts=40000000
0:00:10.379494580 3238 0x5593a3c19320 WARN v4l2bufferpool gstv4l2bufferpool.c:1513:gst_v4l2_buffer_pool_dqbuf:<nvv4l2decoder:pool:src> Driver should never set v4l2_buffer.field to ANY
0:00:10.379775119 3238 0x5593a3c19320 INFO videodecoder gstvideodecoder.c:3201:gst_video_decoder_clip_and_push_buf:<nvv4l2decoder> First buffer since flush took 0:00:10.117007518 to produce
0:00:10.379814495 3238 0x5593a3c19320 INFO JA_STREAMER metric.cpp:21:metric_probe: element nvv4l2decoder pad src received,buffer=0x7faba4026930,size=64,pts=0
0:00:10.380003753 3238 0x7faba40034f0 INFO JA_STREAMER metric.cpp:21:metric_probe: element stream-muxer pad src received,buffer=0x7faba4026600,size=64,pts=-1
0:00:10.380068660 3238 0x7faba40034f0 INFO JA_STREAMER metric.cpp:21:metric_probe: element fakesink pad sink received,buffer=0x7faba4026600,size=64,pts=-1
0:00:10.380161383 3238 0x7faba40034f0 INFO GST_STATES gstbin.c:3424:bin_handle_async_done:<dstest-appsrc-pipeline> committing state from READY to PAUSED, old pending PLAYING
0:00:10.380180451 3238 0x7faba40034f0 INFO GST_STATES gstbin.c:3453:bin_handle_async_done:<dstest-appsrc-pipeline> continue state change, pending PLAYING
0:00:10.380201899 3238 0x7faba40034f0 INFO GST_STATES gstelement.c:2579:_priv_gst_element_state_changed:<dstest-appsrc-pipeline> notifying about state-changed READY to PAUSED (PLAYING pending)
0:00:10.380551029 3238 0x7fab88004a80 INFO GST_STATES gstbin.c:3250:gst_bin_continue_func:<dstest-appsrc-pipeline> continue state change PAUSED to PLAYING, final PLAYING
0:00:10.380854344 3238 0x7fab88004a80 INFO GST_EVENT gstevent.c:1388:gst_event_new_latency: creating latency event 0:00:00.000000000
0:00:10.380928001 3238 0x7fab88004a80 INFO bin gstbin.c:2783:gst_bin_do_latency_func:<dstest-appsrc-pipeline> configured latency of 0:00:00.000000000
0:00:10.380980450 3238 0x7fab88004a80 INFO GST_STATES gstbin.c:2506:gst_bin_element_set_state:<fakesink> current PAUSED pending VOID_PENDING, desired next PLAYING
0:00:10.381011946 3238 0x7fab88004a80 INFO GST_STATES gstelement.c:2676:gst_element_continue_state:<fakesink> completed state change to PLAYING
0:00:10.381031284 3238 0x7fab88004a80 INFO GST_STATES gstelement.c:2579:_priv_gst_element_state_changed:<fakesink> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:10.381066985 3238 0x7fab88004a80 INFO GST_STATES gstbin.c:2954:gst_bin_change_state_func:<dstest-appsrc-pipeline> child 'fakesink' changed state to 4(PLAYING) successfully
0:00:10.381092954 3238 0x7fab88004a80 INFO GST_STATES gstbin.c:2506:gst_bin_element_set_state:<stream-muxer> current PAUSED pending VOID_PENDING, desired next PLAYING
0:00:10.381625765 3238 0x7fab88004a80 INFO GST_STATES gstelement.c:2676:gst_element_continue_state:<stream-muxer> completed state change to PLAYING
0:00:10.381648383 3238 0x7fab88004a80 INFO GST_STATES gstelement.c:2579:_priv_gst_element_state_changed:<stream-muxer> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:10.381684929 3238 0x7fab88004a80 INFO GST_STATES gstbin.c:2954:gst_bin_change_state_func:<dstest-appsrc-pipeline> child 'stream-muxer' changed state to 4(PLAYING) successfully
0:00:10.381705615 3238 0x7fab88004a80 INFO GST_STATES gstbin.c:2506:gst_bin_element_set_state:<nvv4l2decoder> current PAUSED pending VOID_PENDING, desired next PLAYING
0:00:10.381722085 3238 0x7fab88004a80 INFO GST_STATES gstelement.c:2676:gst_element_continue_state:<nvv4l2decoder> completed state change to PLAYING
0:00:10.381734845 3238 0x7fab88004a80 INFO GST_STATES gstelement.c:2579:_priv_gst_element_state_changed:<nvv4l2decoder> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:10.381763571 3238 0x7fab88004a80 INFO GST_STATES gstbin.c:2954:gst_bin_change_state_func:<dstest-appsrc-pipeline> child 'nvv4l2decoder' changed state to 4(PLAYING) successfully
0:00:10.381782109 3238 0x7fab88004a80 INFO GST_STATES gstbin.c:2506:gst_bin_element_set_state:<jpegparse0> current PAUSED pending VOID_PENDING, desired next PLAYING
0:00:10.381800298 3238 0x7fab88004a80 INFO GST_STATES gstelement.c:2676:gst_element_continue_state:<jpegparse0> completed state change to PLAYING
0:00:10.381812453 3238 0x7fab88004a80 INFO GST_STATES gstelement.c:2579:_priv_gst_element_state_changed:<jpegparse0> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:10.381840231 3238 0x7fab88004a80 INFO GST_STATES gstbin.c:2954:gst_bin_change_state_func:<dstest-appsrc-pipeline> child 'jpegparse0' changed state to 4(PLAYING) successfully
0:00:10.381858889 3238 0x7fab88004a80 INFO GST_STATES gstbin.c:2506:gst_bin_element_set_state:<app-source> current PAUSED pending VOID_PENDING, desired next PLAYING
0:00:10.381873009 3238 0x7fab88004a80 INFO GST_STATES gstelement.c:2676:gst_element_continue_state:<app-source> completed state change to PLAYING
0:00:10.381884878 3238 0x7fab88004a80 INFO GST_STATES gstelement.c:2579:_priv_gst_element_state_changed:<app-source> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:10.381912387 3238 0x7fab88004a80 INFO GST_STATES gstbin.c:2954:gst_bin_change_state_func:<dstest-appsrc-pipeline> child 'app-source' changed state to 4(PLAYING) successfully
0:00:10.381932074 3238 0x7fab88004a80 INFO GST_STATES gstelement.c:2676:gst_element_continue_state:<dstest-appsrc-pipeline> completed state change to PLAYING
0:00:10.381944034 3238 0x7fab88004a80 INFO GST_STATES gstelement.c:2579:_priv_gst_element_state_changed:<dstest-appsrc-pipeline> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)