@Override public MetadataDecoder createDecoder(Format format) { switch (format.sampleMimeType) { case MimeTypes.APPLICATION_ID3: return new Id3Decoder(); case MimeTypes.APPLICATION_EMSG: return new EventMessageDecoder(); case MimeTypes.APPLICATION_SCTE35: return new SpliceInfoDecoder(); default: throw new IllegalArgumentException("Attempted to create decoder for unsupported format"); } }