Fix #1180: Fix broken media support detection
This commit is contained in:
parent
75f9537d89
commit
c6e3ce1925
|
@ -0,0 +1 @@
|
||||||
|
Fix broken media support detection (#1180)
|
|
@ -342,13 +342,19 @@ export default {
|
||||||
},
|
},
|
||||||
getSources (uploads) {
|
getSources (uploads) {
|
||||||
let self = this;
|
let self = this;
|
||||||
let sources = uploads.map(u => {
|
let a = document.createElement('audio')
|
||||||
|
let allowed = ['probably', 'maybe']
|
||||||
|
let sources = uploads.filter(u => {
|
||||||
|
let canPlay = a.canPlayType(u.mimetype)
|
||||||
|
return allowed.indexOf(canPlay) > -1
|
||||||
|
}).map(u => {
|
||||||
return {
|
return {
|
||||||
type: u.mimetype,
|
type: u.mimetype,
|
||||||
src: self.fullUrl(u.listen_url),
|
src: self.fullUrl(u.listen_url),
|
||||||
duration: u.duration
|
duration: u.duration
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
a.remove()
|
||||||
if (sources.length > 0) {
|
if (sources.length > 0) {
|
||||||
// We always add a transcoded MP3 src at the end
|
// We always add a transcoded MP3 src at the end
|
||||||
// because transcoding is expensive, but we want browsers that do
|
// because transcoding is expensive, but we want browsers that do
|
||||||
|
|
|
@ -408,12 +408,18 @@ export default {
|
||||||
return sound
|
return sound
|
||||||
},
|
},
|
||||||
getSrcs: function (trackData) {
|
getSrcs: function (trackData) {
|
||||||
let sources = trackData.uploads.map(u => {
|
let a = document.createElement('audio')
|
||||||
|
let allowed = ['probably', 'maybe']
|
||||||
|
let sources = trackData.uploads.filter(u => {
|
||||||
|
let canPlay = a.canPlayType(u.mimetype)
|
||||||
|
return allowed.indexOf(canPlay) > -1
|
||||||
|
}).map(u => {
|
||||||
return {
|
return {
|
||||||
type: u.extension,
|
type: u.extension,
|
||||||
url: this.$store.getters['instance/absoluteUrl'](u.listen_url),
|
url: this.$store.getters['instance/absoluteUrl'](u.listen_url),
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
a.remove()
|
||||||
// We always add a transcoded MP3 src at the end
|
// We always add a transcoded MP3 src at the end
|
||||||
// because transcoding is expensive, but we want browsers that do
|
// because transcoding is expensive, but we want browsers that do
|
||||||
// not support other codecs to be able to play it :)
|
// not support other codecs to be able to play it :)
|
||||||
|
@ -721,7 +727,7 @@ export default {
|
||||||
}, 500);
|
}, 500);
|
||||||
// If the session is playing as a PWA, populate the notification
|
// If the session is playing as a PWA, populate the notification
|
||||||
// with details from the track
|
// with details from the track
|
||||||
if ('mediaSession' in navigator) {
|
if (this.currentTrack && 'mediaSession' in navigator) {
|
||||||
let metadata = {
|
let metadata = {
|
||||||
title: this.currentTrack.title,
|
title: this.currentTrack.title,
|
||||||
artist: this.currentTrack.artist.name,
|
artist: this.currentTrack.artist.name,
|
||||||
|
|
|
@ -47,7 +47,6 @@ export function setCsrf(xhr) {
|
||||||
}
|
}
|
||||||
|
|
||||||
export function checkRedirectToLogin (store, router) {
|
export function checkRedirectToLogin (store, router) {
|
||||||
console.log('HELLO', store.state.auth.authenticated, router.currentRoute.fullPath)
|
|
||||||
if (!store.state.auth.authenticated) {
|
if (!store.state.auth.authenticated) {
|
||||||
router.push({name: 'login', query: {next: router.currentRoute.fullPath}})
|
router.push({name: 'login', query: {next: router.currentRoute.fullPath}})
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue