Use a function that handles parameters correctly when updating the
timestamp in the url for links, fix indentation in caption loading code.
Treat exceptions when checking for url existence as errors.
The event "loadeddata" is only triggered on firefox mobile once the
video/audio is played, so it requires the user to click on the play button
for it to be triggered.
The playback page was waiting for the event to be triggered before
removing the "loading" page, and that would never happen on firefox mobile.
Now we don't wait anymore for the video to be loaded, we just wait for
the slides and the initial setup.
When swapping video and presentation now the presentation is updated
properly, before it would not show any slide until there was a slide
change.
Also added a few protections to prevent js code from breaking.
When pan/zoom was done, the image would zoom and move inside the svg, that
occupied a larger area than the viewbox we wanted to show.
Had to control the size of the container that has the svg via javascript,
to make it exactly the size we want to display the presentations and with
this crop all parts of the presentation that lie outside the container.
Now it's done in the application and positioning is not hard-coded
inside acorn player, so it works in a responsive page.
Still not 100%, the playback jumps back and pauses on swap. Have to
make the transition seamless.
This fixes loading the shapes svg, and the events and cursor xml files
on servers configured with https support. (Otherwise they'll be loaded
off http:// and trigger mixed-content errors).
Note that this requires a new dependency be added to the
"bbb-playback-presentation" format; the "gnuplot" package is now
required (it's used to actually generate the chart images)
Now the 0.81 presentation playback files are in an appropriate versioned
directory. If desired, the recording metadata can be updated to reference
the versioned files directly, but an nginx redirect has been added so
that unmodified recordings will also work.
This makes it a bit more obvious how the versioning can work going
forwards, and makes it so that we do not need to update the nginx
config each time we have a new version of the playback files.
The 0.81 files remain at the top level of the presentation directory
for compatibility reasons.
This fixes an issue where recordings copied from a 0.81 server might
not play back correctly on a 0.9 server.
This changes the 0.9 recording scripts to use playback support files
from a different subdirectory, 'presentation2', while existing 0.81
recordings continue to use the 'presentation' directory.
If the raw files from an old recording are reprocessed, it will
switch to using the newer playback support files.
There are many codes other than '404' which indicate that the media
file is not present or otherwise unusable. Instead of checking for
a particular failure mode, check for explicit success.
I ran into this on a server that had directory listing disabled, and
returned a 403 (access denied) error on non-existant files.
Firefox has a bug where it can't seek in the audio-only webm files with
no cues, and it seems like they have no intention of fixing this...
Serve up the ogg files first for them.
Adding cues to audio-only webm files is *hard*, there are no standard
tools that support doing this cleanly.
I've been working on this for a while, and it's adapted from code that
has been fairly well-tested on a wide variety of recordings. I've found
it to do a more accurate job of combining multiple webcam files, and it
should be more accurate in the audio as well.
Another key feature is that it does fewer re-encoding steps during video
processing, which should both speed it up and hopefully improve quality.
The settings on the VP8 encoder have been tuned somewhat as well.