Media recording rewrite

Hopefully this will be the last change of interface for that function >__<.