Skip to content
  • Yoann Lopes's avatar
    GStreamer: fix video output stopping when the main thread is blocked · f6838120
    Yoann Lopes authored
    
    
    When a new frame is ready to be rendered, our gst sink waits until the
    frame is actually processed in the GUI thread, but never more than 300
    ms. The time limit is there to avoid potential dead locks in specific
    situations. Before, if the wait would timeout, the sink would signal
    that there was an error rendering the frame, which would in turn put
    the pipeline in an error state and would stop processing any further
    frame. We now simply skip the frame if the GUI thread is blocked for
    too long and signal that everything went fine to the pipeline.
    This was already the logic in place for GStreamer 0.10 (see
    qvideosurfacegstsink.cpp).
    
    Task-number: QTBUG-60509
    Change-Id: I5173a15340c0e2065bb2fb5ca3bc045ac84ba7e1
    Reviewed-by: default avatarChristian Stromme <christian.stromme@qt.io>
    f6838120