moved routing of codec I/O to top level where it belonged