Hi,
i'm working on j721s2 8.6 SDK(TDA4 VE), i used gstreamer api in sdk to decode h264 video, i guess the gstreamer is 1.0 version and glib is 2.0(i'm not very sure, but i saw them int the RTOS BSP SDK code), my pipeline was like: "appsrc max-bytes=10000 ! h264parse ! v4l2h264dec capture-io-mode=dmabuf ! video/x-raw,format=(string)NV12 ! tiovxmemalloc pool-size=4 ! appsink", i got a problem: the output NV12 frames were less than input h264 video frames but the "eos" signal was emitted. The call logic of gstreamer and glib api i used as below:
(1)first in the decode_init(), register "new_sample" signal callback and "eos" callback
(2) parse the h264, and push each video frame data into "appsrc" element:
(3)after parsing the video(also means every frame data was push into appsrc), then told gsteamer push-buffer operation was finished:
(4)waitting new-sample callback to get NV12
My problem: for example, i push 1511 frames into appsrc ,but i only get 1502 frames' new-sample callback
Please help, any suggestions are fine, thanks a lot!