Regarding using duration. If a media existed, and was then updated inside the editor, with an invalid url, it'll detect and old duration. I could clear the duration, but that worried me because of potential unexpected results. This seemed much more explicit, and would only ever happen via saved data, and could not hurt anything else.

I would be willing to sort out duration to make it work though, if you think it is worth it.