(Anonymous contribution, not by me)
When transcoding a video using a recent version of PIL transcoding a
video fails reproducible. The reason for this is an AttributeError:
'module' object has no attribute 'frombytes'gets raised, while a
thumbnails is being created. This is because frombytes alias was
deprecated in favor of fromstring.
Because of gstreamer-1.0 we need to migrate from old format of storing
metadata to new one. It seems that there are cases when original
metadata is empty for some reason.
The patch adds an earlier check that original metadata exists, skipping
everything is it doesn't.
Closes bug 5071
The function to retrieve tags was used incorrectly in skip_transcode,
assuming that str will be returned.
Now the code is aware of the return format of the function.
Closes bug 5065
The Goblin image URL was hardcoded in the frontpage welcome
template. Now it correctly uses the static directory settings.
Signed-off-by: Berker Peksag <berker.peksag@gmail.com>
A stupid thing, really you should never commit binary code into the
repository, but...
This commit sponsored by Richard Fontana. The last sponsored commit!
And one I can imagine Fontana approving of, for he would've disapproved,
surely, of committing .mo files in the first place.
Gst 1.4 deprecated DiscovererInfo.get_misc in favour of
DiscovererInfo.get_missing_elements_installer_details. Something in
Python bindings seems to be broken and get_misc seems to be not
deprecated but broken.
The change makes sniffer use the method if get_misc fails.
Before only single video stream files were suported.
This patch adds support for files with multiple video streams. Metadata
of such files is now correctly stored. This required change of the
schema used to store info and the change is done in a migration.
Before uploaded media files were checked by extension. This led to
situations when a plugin can support file with specific extension but
doesn't due to lack of codecs, for example. Since the plugin reported
that it supports uploaded file type, the upload was being declared
successful, but transcoding failed.
The failures were not easy to debug.
The change adds a new hook that could allow two-step checking of the
content. The result of the hook execution returns a tuple with
media type name, manager and a callable sniffer, that can be used to
perform probably expensive checks of the content.
Also the change adds implementation of the hook for video.
Porting includes:
- thumbnailer
- transcoder
- metadata handling
- new common discoverer for media
- new tests with in-memory test video generating
- handling regardless of audio availability in the file
- Pythonic gst pipelines
Previous thumbnailer didn't always work properly. It was also not ready
to be ported to GStreamer 1.0
The rewrite makes it shorter, more pythonic and prepares it for porting.
- no longer uses playbin2;
- is tested
- logs some events
- previous thumbnailer is removed
This helper was originally added as a "polyfill"
(backward-compatibility shim) for Firefox version 23 and older, so
that <input type="range"> that audio.js uses could render nicely in
those versions of Firefox.
Chromium did not need this shim, and Firefox 23 (released on Aug 6,
2013) added support for this. Therefore, let us remove this
dependency. By current metrics at caniuse.com
<http://caniuse.com/#feat=input-range>, 88.14% of web users support
this attribute. Opera Mini and old versions of Internet Explorer (6-8)
are the only holdouts.
Note also that the html5slider.js is uninterested in adding this to
the npm package manager (or any package manager) repository
<https://github.com/fryn/html5slider/issues/5>, meaning that keeping
it in the mediagoblin extlib section would mean manual
maintenance/updating by the GNU MediaGoblin team.
This commit also removes GMG's use of the shim.