I have added new mime types with the 'post_mime_types' filter eg. PDF, doc, mp3 etc...
Filtering by custom mime type on the upload.php page in media grid view works as expected but in list view it doesn't.
The problem is that WordPress passes the mime types through urlencode
as it builds the html (wp-admin/includes/class-wp-media-list-table.php:73) and so
post_mime_type:application/pdf
becomes
post_mime_type:application%2Fpdf
for the drop down value.
When the filter form is submitted the encoded '/' is ignored and doesn't filter properly.
Changing the '%2F' back to a '/' with JS would work but I'd like to know if anyone has a solution to decode the string before its processed and the page reloaded.