why I got more than 1 buffer every second from audiobuffersplit?

I know the subject is not quite related to TX2. Since there are so many gstreamer experts in this forum, I decided to post it here.
I developed a program on TX2, using gstreamer. My pipeline looks like this:

pipeline_str = g_strdup_printf("rtspsrc location=%s latency=0 name=d d. ! \
        queue ! capsfilter caps=application/x-rtp,media=video ! decodebin3 ! nvvidconv ! \
        videorate ! video/x-raw,framerate=1/1 ! nvjpegenc ! appsink name=video_sink d. ! \
        queue ! capsfilter caps=application/x-rtp,media=audio ! decodebin ! audioconvert ! \
        audioresample ! audio/x-raw,format=S16LE,rate=16000,channels=1 ! audiobuffersplit output-buffer-duration=1/1 ! appsink name=audio_sink", 

Data comes from rtsp stream. Video part is ok. I want to get raw audio data every second. The size of buffer i got is 32000.I think this number is correct. But I got several buffers every second. What’s wrong with my pipeline?I want to receive exactly one buffer every second.

After removing “latency=0” and set the attribute “sync” of appsink element to TRUE, the result is much better.

audiobuffersplit is not NVIDIA-developed plugin. For further suggestion, you may go to