Media interface and implementations for Java