Skip to content
  • HoonHee Lee's avatar
    decodebin3: introduce parse input lock for upstream changes · fdfd764a
    HoonHee Lee authored
    When upstream changes like dynamic stream changes is happened,
    below symptom may be observed.
      1) DecodebinInputSteam is created in create_input_stream.
         But, it is not linked yet to multiqueue sinkpad and not assigned.
      2) custom-eos is delivered to multiqueue srcpad and it understands
        input stream is null and try to release slot by async call.
      3) The new input stream is linked to slot by link_input_to_slot.
      4) The slot is released by free_multiqueue_slot.
    
    After that the DecodebinInputStream lost correponding slot and
    It may cause unexpected behaviour or crash symptom.
    
    To avoid this problem, take parse input lock for create_input_stream
    and custom-eos is handled in multiqueue srcpad.
    fdfd764a