Releases: i-rinat/freshplayerplugin
freshplayerplugin v0.3.11
- misc: build compatibility with newer FFmpeg (AV-prefixed macros);
- misc: stop using __thread for thread-local variables;
- graphics: add explicit fullscreen window position configuration;
- misc: fix tests on big-endian machines;
- misc: mention that v0.3.10 existed, but without a changelog entry.
At some point in time FFmpeg changed its macros, and now they have AV_
prefix. To allow build with either newer or older versions, available macros are now detected at build time. Code no longer uses __thread
variable annotations, as they turned out to use too much thread-local storage slots, which are extremely scarce on some configurations. Now g_private_get()
and g_private_set()
are used instead. New configuration file option was added: fullscreen_window_geometry
. Its usage forces fullscreen window to have the specified geometry. Should help when there is no window manager which usually does the task of stretching a window to full screen.
These were actually changes of v0.3.10, but v0.3.10
had missing version bump and changelog entry. So here they are.
freshplayerplugin v0.3.9
- network: stop using files with NPN_PostURL
Freshplayerplugin used file support in NPN_PostURL and NPN_PostURLNotify, which was removed in Firefox 55. This release changes code so that it now constructs whole request in memory. Memory consumption during file uploads may increase significantly.
freshplayerplugin v0.3.8
- misc: add
NPN_PluginThreadAsyncCall
emulation for Firefox 58
Firefox no longer supports arbitrary NPAPI plugins. The only plugin still supported is Flash. Turned out, official NPAPI version of Flash doesn't use NPN_PluginThreadAsyncCall
, so that part of API was dropped from the browser code. Code is scheduled to land in Firefox 58. However, it's still possible to get what that function did by reusing GLib's main loop.
freshplayerplugin v0.3.7
- graphics: add
fullscreen_horz_maximize_atom
andfullscreen_vert_maximize_atom
configuration options which control_NET_WM_STATE_MAXIMIZED_HORZ
and_NET_WM_STATE_MAXIMIZED_VERT
atoms. Setting both options to0
makes fullscreen work with WindowMaker, but breaks it with other window managers; - misc: drop libpdf and NaCl wrappers. They weren't working anyway. And now with stricter plugin policy in Firefox they have no future;
- misc: search for PepperFlash in Chrome component update directories. Chrome now updates PepperFlash by downloading newer versions into own settings directory. Now these directories are probed for the plugin too.
freshplayerplugin v0.3.6
- graphics: fix off-by-one pixel issue in dpi scaling mode;
- graphics: try to flicker less. Additional buffering and more aggressive synchronization were added to lower frequency of all-white frames on Dailymotion;
- misc: use ICU library enhanced with WhatWG encoding spec for character set conversion;
- misc: guess default encoding from locale name as Chromium does;
- misc: dynamically link with GTK+ at run time.
With using of ICU, new dependency added: libicu-dev
. At the same time, neither GTK+ libraries nor headers required at build time. GTK+ is still expected to be available at run time.
Regarding plugins, there are two browser types: conservative, like Firefox, which even in GTK+ 3 build still provides GTK+ 2 for plugins, and fearless ones, which being linked against GTK+ 3, load plugins into own process. Second type causes mixing both major GTK+ versions in the same process with unpredictable outcomes. The only way to be compatible with both browser types is to avoid explicit linking, and guess GTK+ version at run time.
freshplayerplugin v0.3.5
- use
/dev/video*
rather than/dev/v4l/by-path/*
when searching for webcams [1]; - fixing wrong port byte order in some
PPB_NetAddress
functions; - fix task ordering issue in
PPB_MessageLoop
[2].
[1] It turned out, created by v4l2 loopback driver device didn't show up in /dev/v4l/by-path/
.
[2] Caused HW decoding failures on some pages.
freshplayerplugin v0.3.4
- graphics: add non-XRender fallback; enabled if XRender is not available, but could be forced by
enable_xrender=0
config parameter; - graphics: GLES2 emulation code from ANGLE is now used by default, which relieves dependency on
libgles2-mesa-dev
package, as only GL and GLX are used; - graphics: mouse pointer is restored when moved outside of a plugin instance;
- audio: reduced latency is requested when capturing via PulseAudio. Previously it was up to PulseAudio to decide which value to choose;
- input: fast enough consecutive mouse clicks are converted to a doubleclick event;
make install
should do installation now;- it's possible to display freshwrapper version by adding
show_version_info=1
into the config file. It would be shown as another context menu item (press right mouse button on a Flash movie); gdb
is called from SIGSEGV handler (and some other signals too), and instructed to save backtrace information to/tmp/freshwrapper-backtrace-%d-%d.txt
file where%d
's are replaced with current time and process id;- linker script is now used to filter visible symbols.
freshplayerplugin v0.3.3
- add implementation of
PPB_NetAddress;1.0
inferface; - add "noaudio" backend which doesn't output any sound, but provides synchronization events [1];
- callbacks are now called on the same message loop they were passed from, not on main plugin thread as before;
- own configuration parser is used,
libconfig-dev
is no longer required [2]; - to mitigate interlocking issues, Javascript code is no longer called from
NPP_SetWindow()
handler; -fvisibility=hidden
option is no longer used for executables (should fix build on mipsel);- plugin file name is changed to
libfreshwrapper-flashplayer.so
[3].
[1] Flash relies on audio card to measure time, which could prevent video from playing if no sound card was available.
[2] Across distros, libconfig
have two incompatible versions.
[3] Scripts on Twitch.tv use filename in version detection, and having "pepper" in a name breaks user interface. See #273 for details.
freshplayerplugin v0.3.2
- fix fullscreen geometry issues (black screen with a tiny video in top left corner);
- synchronize with vertical blank in fullscreen mode;
- add autoconnect and server autostart configuration for JACK output;
- add NPAPI:AudioControl support.
freshplayerplugin v0.3.1
- add video decoding through VDPAU
- bugfixes