• Ole André Vadla Ravnås's avatar
    elements: Fix pad callbacks so they handle when parent goes away · 037efe87
    Ole André Vadla Ravnås authored
    1) We need to lock and get a strong ref to the parent, if still there.
    2) If it has gone away, we need to handle that gracefully.
    This is necessary in order to safely modify a running pipeline. Has been
    observed when a streaming thread is doing a buffer_alloc() while an
    application thread sends an event on a pad further downstream, and from
    within a pad probe (holding STREAM_LOCK) carries out the pipeline plumbing
    while the streaming thread has its buffer_alloc() in progress.
gstqueue.c 50.9 KB