-
Yes, the $mixedFiles['tmp_name'] is actually an array of files. The line of code I gave wasn't tested and was just to give you a direction.
As to the duration - I would assume that ffmpeg which is used to get a duration for some reason fails to determine it from a recorded but not yet transcoded video stream. You can dive deeper into the BxDolTranscoderVideo::getDuration and analyze the response given by ffmpeg there. You may try to use a custom approach to get a video stream duration, may be try a ffprobe instead of ffmpeg.
In case you would want to try a client side check instead of a server side check then you can do so by adding your custom verification to inc/js/classes/BxDolUploader.js, see this.submitRecording method.