This feels wrong: it means that it is possible for FFmpegDecoder
to discard packets. I can't see how this is ok in all cases:
maybe we were lucky that it worked at all.
There was existing code to work around the case when FFmpeg files
have all-zero stream IDs. Extend this to cope with duplicate
stream IDs, as these have been seen in the wild.