GNOME Bugzilla – Bug 779364
corrupt video frames
Last modified: 2017-08-09 09:57:54 UTC
hey. my application uses the following pipeline: filesrc ! decodebin ! appsink. filesrc is in version 1.10.3. decodebin and appsink are in version 1.8.3. since vaapi 1.10.2 vaapi delivers nv12 frames to me. previously, in 1.8.3, it's been i420. my application grabs theses frames from the pipeline and displays those via opengl. i know that both, my nv12 and i420 displaying, is correct. this problem only happens with vaapi installed. unfortunately i can't attach the file here as it's to big. but i think this is rather a problem of dimension than content. container width: 496, height: 1026 stream width: 490, height: 1000 the video_info object tells me that the video width is 490 and height is 1000. stride is 492. anyway, when i look into the actual buffer it feels more like the width is 496 and the stride is 512. means the data from 0 to 495 is more or less continous while from 496 to 511 its zero. this leads do a distorted displaying of the video. gst-launch-1.0 is able to play the video without any distortion. so i guess there is a workaround for that.
ah forget to mention: the video is in h264
mixing different version of gstreamer is not a good idea. Why don't you sync up to latest 1.10? The fix for that appeared in gstreamer-vaapi 1.10 but it need gst-plugins-base 1.10 too because the fix needed to add a new feature in the decoders base class.
Please use the same version of gstreamer and gstreamer-vaapi and you can use caps for setting your preferred caps.