Can someone explain why Gstreamer does not play smooth video?
Same file (2500 kbit/s)
sh-4.2# /mxc_vpu_test.out -D "-i /tmp/sd/trailer_1080p.h264 -f2"
plays smoothly
sh-4.2# gplay /tmp/sd/trailer_1080p.h264
stutters:
VPU blocking: timeout.
...
VPU blocking: timeout.
VPU blocking: timeout.
EOS Found!
FSL_PLAYER_UI_MSG_EOS
total time:0:00:27.965825376 ,Render fps:9
Total rendered:275
>>VPU_DEC: State: Ready to Null
fsl_player_stop()
fsl_player_stop()
player_exit(): No more multimedia files, exit.
[--->FINALIZE v4l_sink
[--->FINALIZE vpu_dec
[Stopped ][Vol=01][00:00:00/00:00:00][fps:0]g_main_loop_thread_fun() quit!
fsl_player_deinit
real 0m30.191s
user 0m1.100s
sys 0m1.130s
The CPU usage of gplay is low, so I do not see what could be the cause of the timeout and stutters and frame-drops. Has this to do with A/V sync. Note that I have used a raw H.264 stream without audio or mux container.
(This is not due to VFS caching, I have changed the order of playout, and gplay always stutters).
The mxc_vpu_test.out needs raw codec content, not a container format. Actually, using the latest kernel patches (2011.12), this is the only thing that plays video smoothly.
/mxc_vpu_test.out -D "-i /tmp/sd/trailer_1080p.h264 -f2"
The GStreamer plug-in has issues with A/V sync disturbing the real-time requirements. See Wolfgang Wegner's emails on this.
Please try a file with container. the vpu plugin is suppose feed a frame-based data.