Skip to content

Releases: i-rinat/freshplayerplugin

freshplayerplugin v0.3.11

24 May 12:01
Compare
Choose a tag to compare
  • 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

23 Dec 15:01
Compare
Choose a tag to compare
  • 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

09 Dec 19:30
Compare
Choose a tag to compare
  • 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

30 May 23:18
Compare
Choose a tag to compare
  • graphics: add fullscreen_horz_maximize_atom and fullscreen_vert_maximize_atom configuration options which control _NET_WM_STATE_MAXIMIZED_HORZ and _NET_WM_STATE_MAXIMIZED_VERT atoms. Setting both options to 0 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

04 Oct 23:04
Compare
Choose a tag to compare
  • 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

12 Apr 21:14
Compare
Choose a tag to compare
  • 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

20 Dec 13:56
Compare
Choose a tag to compare
  • 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

03 Oct 13:05
Compare
Choose a tag to compare
  • 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

17 Aug 10:38
Compare
Choose a tag to compare
  • 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

05 Jul 15:36
Compare
Choose a tag to compare
  • add video decoding through VDPAU
  • bugfixes