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_PluginThreadAsyncCallemulation 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_atomandfullscreen_vert_maximize_atomconfiguration options which control_NET_WM_STATE_MAXIMIZED_HORZand_NET_WM_STATE_MAXIMIZED_VERTatoms. Setting both options to0makes 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_NetAddressfunctions; - 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=0config parameter; - graphics: GLES2 emulation code from ANGLE is now used by default, which relieves dependency on
libgles2-mesa-devpackage, 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 installshould do installation now;- it's possible to display freshwrapper version by adding
show_version_info=1into the config file. It would be shown as another context menu item (press right mouse button on a Flash movie); gdbis called from SIGSEGV handler (and some other signals too), and instructed to save backtrace information to/tmp/freshwrapper-backtrace-%d-%d.txtfile 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.0inferface; - 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-devis no longer required [2]; - to mitigate interlocking issues, Javascript code is no longer called from
NPP_SetWindow()handler; -fvisibility=hiddenoption 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