use file extension for media detection

This commit is contained in:
Baltazar Gomez 2018-07-05 12:20:41 -06:00 committed by GitHub
parent 6eba5f8823
commit 6a21ea7d72
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -109,13 +109,13 @@ Lbry.connect = () => {
return Lbry.connectPromise; return Lbry.connectPromise;
}; };
Lbry.getMediaType = (contentType, fileName) => { Lbry.getMediaType = (contentType, extname) => {
if (fileName) { if (extname) {
const formats = [ const formats = [
[/^.+\.(mp4|m4v|webm|flv|f4v|ogv)$/i, 'video'], [/^(mp4|m4v|webm|flv|f4v|ogv)$/i, 'video'],
[/^.+\.(mp3|m4a|aac|wav|flac|ogg|opus)$/i, 'audio'], [/^(mp3|m4a|aac|wav|flac|ogg|opus)$/i, 'audio'],
[/^.+\.(html|htm|xml|pdf|odf|doc|docx|md|markdown|txt|epub|org)$/i, 'document'], [/^(html|htm|xml|pdf|odf|doc|docx|md|markdown|txt|epub|org)$/i, 'document'],
[/^.+\.(stl|obj|fbx|gcode)$/i, '3D-file'], [/^(stl|obj|fbx|gcode)$/i, '3D-file'],
]; ];
const res = formats.reduce((ret, testpair) => { const res = formats.reduce((ret, testpair) => {
switch (testpair[0].test(ret)) { switch (testpair[0].test(ret)) {
@ -124,8 +124,8 @@ Lbry.getMediaType = (contentType, fileName) => {
default: default:
return ret; return ret;
} }
}, fileName); }, extname);
return res === fileName ? 'unknown' : res; return res === extname ? 'unknown' : res;
} else if (contentType) { } else if (contentType) {
return /^[^/]+/.exec(contentType)[0]; return /^[^/]+/.exec(contentType)[0];
} }