@ -226,6 +226,12 @@ function create_main_fragment(state, component) {
component . set ( { buffered : timeRangesToArray ( audio . buffered ) , seekable : timeRangesToArray ( audio . seekable ) } ) ;
component . set ( { buffered : timeRangesToArray ( audio . buffered ) , seekable : timeRangesToArray ( audio . seekable ) } ) ;
}
}
function audio _volumechange _handler ( ) {
audio _updating = true ;
component . set ( { volume : audio . volume } ) ;
audio _updating = false ;
}
return {
return {
c : function create ( ) {
c : function create ( ) {
audio = createElement ( "audio" ) ;
audio = createElement ( "audio" ) ;
@ -243,15 +249,19 @@ function create_main_fragment(state, component) {
if ( ! ( 'buffered' in state ) ) component . root . _beforecreate . push ( audio _progress _handler ) ;
if ( ! ( 'buffered' in state ) ) component . root . _beforecreate . push ( audio _progress _handler ) ;
addListener ( audio , "loadedmetadata" , audio _loadedmetadata _handler ) ;
addListener ( audio , "loadedmetadata" , audio _loadedmetadata _handler ) ;
if ( ! ( 'buffered' in state && 'seekable' in state ) ) component . root . _beforecreate . push ( audio _loadedmetadata _handler ) ;
if ( ! ( 'buffered' in state && 'seekable' in state ) ) component . root . _beforecreate . push ( audio _loadedmetadata _handler ) ;
addListener ( audio , "volumechange" , audio _volumechange _handler ) ;
} ,
} ,
m : function mount ( target , anchor ) {
m : function mount ( target , anchor ) {
insertNode ( audio , target , anchor ) ;
insertNode ( audio , target , anchor ) ;
audio . volume = state . volume ;
} ,
} ,
p : function update ( changed , state ) {
p : function update ( changed , state ) {
if ( ! audio _updating && ! isNaN ( state . currentTime ) ) audio . currentTime = state . currentTime ;
if ( ! audio _updating && ! isNaN ( state . currentTime ) ) audio . currentTime = state . currentTime ;
if ( ! audio _updating && audio _is _paused !== ( audio _is _paused = state . paused ) ) audio [ audio _is _paused ? "pause" : "play" ] ( ) ;
if ( ! audio _updating && audio _is _paused !== ( audio _is _paused = state . paused ) ) audio [ audio _is _paused ? "pause" : "play" ] ( ) ;
if ( ! audio _updating && ! isNaN ( state . volume ) ) audio . volume = state . volume ;
} ,
} ,
u : function unmount ( ) {
u : function unmount ( ) {
@ -265,6 +275,7 @@ function create_main_fragment(state, component) {
removeListener ( audio , "pause" , audio _play _pause _handler ) ;
removeListener ( audio , "pause" , audio _play _pause _handler ) ;
removeListener ( audio , "progress" , audio _progress _handler ) ;
removeListener ( audio , "progress" , audio _progress _handler ) ;
removeListener ( audio , "loadedmetadata" , audio _loadedmetadata _handler ) ;
removeListener ( audio , "loadedmetadata" , audio _loadedmetadata _handler ) ;
removeListener ( audio , "volumechange" , audio _volumechange _handler ) ;
}
}
} ;
} ;
}
}