videoaggregator: fix negotiation error when handling interlace mode
@JaredHu
Submitted by Haihua Hu Link to original bug (#787819)
Description
I found that if the video has none progressive interlace mode, sometime pipeline will crash at very early time.
pipeline is as below:
gst-launch-1.0 glvideomixer background=2 name=m sink_1::xpos=200 sink_1::ypos=200 sink_2::xpos=400 sink_2::ypos=400 sink_2::alpha=0.5 ! glimagesink sync=false uridecodebin uri=file://FILE1 ! m. uridecodebin uri=file://
FILE2 ! m. uridecodebin uri=file://$FILE3 ! m.
Test platform: i.Mx (ARM core), decode: software decode(libav)
Because of performance limitation, video buffers from different chain will come to videoaggregator(glvideomixer) one by one with big latency. So src caps will be set before some sink pads. But src caps miss configure interlace mode which will cause following sink pad configure failure and out put below log:
"got input caps %" GST_PTR_FORMAT ", but current caps are %"
Version: 1.12.x