ffmpegdemux: cache events from upstream and re-send them later
Cache any events we get from upstream before we're open, especially tag events we may be getting from apedemux/id3demux or the like, and push them downstream later when we've added our pads instead of just dropping them silently. Fixes transcoding tags for Monkey's Audio Files with preceding APE or ID3v2 tags (#586957). Add minimal unit test for this. Also push stream tags later after the global tags and the newsegment event rather than right after creating the pad.
Showing with 277 additions and 21 deletions