<div dir="ltr">Hi all,<br><br>TLDR: I am attempting to implement letterboxing with Gstreamer and OpenGL,<br>on Android. I observe intermittent failures.<br><br>Here's my simplified pipeline:<br><br>    udpsrc ! rtpjitterbuffer ! queue ! rtph265depay ! decodebin3 <br>    ! glupload ! glcolorconvert ! glcolorbalance<br>    ! glvideomixer background=black ! capsfilter <br>    ! gltransformation<br>    ! glimagesinkelement sync=false<br><br>The idea is to perform letterboxing by adding the `x` or `y` offset to the<br>glvideomixer and adjusting the `width` and `height` at the capsfilter. This<br>allows me to maintain the same video aspect ratio as the output window, preventing the<br>letterboxing bands from appearing when the video is zoomed in.<br><br>Here's an example: If the input video measures 320x240 and the window is<br>320x300, the `y` offset is 30, and the `width` and `height` are 320x300.<br><br>The problem happens when the output window is resized and the letterboxing needs<br>to be adjusted. I can resize the window several times before the change to the stream geometry fails with this message:<br><br>    ../libs/gst/base/gstbasetransform.c:1372:gst_base_transform_setcaps:<glcolorconvertelement0><br>       transform could not transform video/x-raw(memory:GLMemory), format=<br>       (string)RGBA, width=(int)..., height=(int)..., ..... in anything we<br>       support<br><br>I've attempted to pause the pipeline before changing the parameters and resume it<br>afterwards, but the problem remains.<br><br>Does anyone have any ideas about what might be causing this random failure?<br><br>(If you're wondering why I'm managing zooming and letterboxing in<br>gstreamer instead of in SurfaceView: In this specific system, SurfaceView, when<br>zoomed in, interferes with other UI elements).<br><br>Will appreciate your help,<br><br>Maxim<br></div>