playlist/item: redirect request following deletion of node
playlist/item: redirect request following deletion of node

:: Introduction
----------------------------------------------------------------------

When we are dealing with a flat playlist, a request to add children to
an item results in that item being deleted, and its children being
inserted into the parent of said item. This is done in order to not
introduce any nested levels in the tree.

What this further means is that /if/ the item that is effectivelly removed is
scheduled for playback prior to the removal, the playlist might try to play an
entity which does not exist anymore; which is problematic for several reasons.

Note: The problem does not exist when --playlist-tree is enabled since
      the item on which children should be attached is then preserved.

:: Solution
----------------------------------------------------------------------

The solution to the previously described problem is to "redirect" any
pending request that refers to the deleted entity, so that it instead
refers to its first child (if any).

closes #17183

Signed-off-by: Thomas Guillem <5f50a84c1fa3bcff146405017f36aec1a10a9e38@gllm.fr>

xkfz007/vlc,xkfz007/vlc,xkfz007/vlc,xkfz007/vlc,xkfz007/vlc,xkfz007/vlc,xkfz007/vlc