Sebastian Dröge [Fri, 21 Aug 2020 07:35:11 +0000 (10:35 +0300)]
x264enc: Allow maximum quantizer value of 63 instead of 51
QP_MAX_SPEC in x264 is set to 63 nowadays and in theory it allows even
up to 81 (QP_MAX) but that seems to be outside the spec.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/67>
Tim-Philipp Müller [Thu, 20 Aug 2020 15:12:23 +0000 (16:12 +0100)]
Release 1.17.90
Jordan Petridis [Wed, 15 Jul 2020 07:49:03 +0000 (10:49 +0300)]
amrnbenc: remove global variables
gstcheck is declaring its own buffers glist which ends up
overwritten, loks like the code meant to use that already
gcc 10 is also complaining about this, but only on static
builds for some reason
```
FAILED: subprojects/gst-plugins-ugly/tests/check/elements_amrnbenc
/usr/bin/ld: subprojects/gstreamer/libs/gst/check/libgstcheck-1.0.a(gstcheck.c.o):(.bss+0x38): multiple definition of `buffers'; subprojects/gst-plugins-ugly/tests/check/708af1f@@elements_amrnbenc@exe/elements_amrnbenc.c.o:(.bss+0x18): first defined here
collect2: error: ld returned 1 exit status
```
also remove unused var `current_buf`
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/62>
Jan Schmidt [Wed, 1 Apr 2020 16:27:26 +0000 (03:27 +1100)]
rmdemux: Don't ignore the return value of gst_segment_do_seek()
If gst_segment_do_seek() fails, fail the seek.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/45>
Jan Schmidt [Wed, 1 Apr 2020 08:34:30 +0000 (19:34 +1100)]
asfdemux: Don't ignore the return result of gst_segment_do_seek()
gst_segment_do_seek() can fail, and our seek should fail
accordingly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/45>
Derek Lesho [Fri, 17 Apr 2020 16:34:16 +0000 (11:34 -0500)]
asfdemux: Only forward SEEK event when in push mode.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/48>
Stéphane Cerveau [Sat, 25 Jul 2020 20:19:20 +0000 (21:19 +0100)]
meson: add a plugin summary
This summary displays a list of plugins which
have been enabled.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/65>
Thibault Saunier [Wed, 3 Oct 2018 11:32:11 +0000 (13:32 +0200)]
x264enc: Add a 'Zero Latency' profile
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/42>
Mathieu Duponchelle [Wed, 22 Jul 2020 15:31:37 +0000 (17:31 +0200)]
tests/x264enc: Don't declare variables inside the for loop header
This is a C99 feature
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/64>
Jan Alexander Steffens (heftig) [Tue, 21 Jul 2020 13:40:26 +0000 (15:40 +0200)]
tests: x264enc: Test formats are compatible with profile
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/59>
Jan Alexander Steffens (heftig) [Wed, 1 Jul 2020 14:11:09 +0000 (16:11 +0200)]
x264enc: Separate high-10 video formats from 8-bit formats
If downstream is constrained to an 8-bit profile, caps queries would
still allow I420_10LE as input. If upstream actually sends such a caps
event, downstream would fail to accept the high-10 profile.
The following pipeline now fails earlier, during the negotiation phase
instead of the stream start:
gst-launch-1.0 videotestsrc ! video/x-raw,format=I420_10LE \
! x264enc ! video/x-h264,profile=constrained-baseline \
! fakesink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/59>
Jan Alexander Steffens (heftig) [Tue, 21 Jul 2020 13:39:31 +0000 (15:39 +0200)]
tests: x264enc: Test 10-bit formats
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/59>
Jan Alexander Steffens (heftig) [Tue, 21 Jul 2020 13:33:57 +0000 (15:33 +0200)]
tests: x264enc: Test all (8-bit) video formats
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/59>
Thibault Saunier [Tue, 7 Jul 2020 02:13:55 +0000 (22:13 -0400)]
x264enc: Forward downstream colorimetry and chroma-site upstream
So that the value can be used by upstream converters when necessary.
This whole logic has been copied from `__gst_video_element_proxy_caps`
but those 2 fields were missing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/60>
Tim-Philipp Müller [Wed, 8 Jul 2020 16:07:35 +0000 (17:07 +0100)]
meson: set release date from .doap file for releases
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/61>
Tim-Philipp Müller [Fri, 3 Jul 2020 01:03:37 +0000 (02:03 +0100)]
Back to development
Tim-Philipp Müller [Thu, 2 Jul 2020 23:29:25 +0000 (00:29 +0100)]
Release 1.17.2
Mathieu Duponchelle [Mon, 22 Jun 2020 22:03:04 +0000 (00:03 +0200)]
meson: mark plugins cache target as always stale
Thibault Saunier [Sat, 20 Jun 2020 02:55:28 +0000 (22:55 -0400)]
doc: Stop documenting properties from parents
Tim-Philipp Müller [Fri, 19 Jun 2020 23:28:13 +0000 (00:28 +0100)]
Back to development
Tim-Philipp Müller [Fri, 19 Jun 2020 18:20:41 +0000 (19:20 +0100)]
Release 1.17.1
Thibault Saunier [Tue, 9 Jun 2020 19:13:47 +0000 (15:13 -0400)]
docs: Update plugins cache
Thibault Saunier [Mon, 8 Jun 2020 13:37:10 +0000 (09:37 -0400)]
docs: Update plugins cache
Philippe Normand [Sat, 6 Jun 2020 09:15:25 +0000 (10:15 +0100)]
siddec: update gst_type_mark_as_plugin_api() calls
This was left behind in commit
bc1ab5e8e00a7ed6ac5e192af9310bd2146e446a.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/55>
Mathieu Duponchelle [Fri, 5 Jun 2020 22:41:38 +0000 (00:41 +0200)]
plugins: uddate gst_type_mark_as_plugin_api() calls
Thibault Saunier [Wed, 3 Jun 2020 22:38:28 +0000 (18:38 -0400)]
doc: Require hotdoc >= 0.11.0
Sebastian Dröge [Wed, 27 May 2020 13:02:02 +0000 (16:02 +0300)]
docs: Update gst_plugins_cache.json
Sebastian Dröge [Sat, 30 May 2020 20:16:50 +0000 (23:16 +0300)]
plugins: Use gst_type_mark_as_plugin_api() for all non-element plugin types
Tim-Philipp Müller [Mon, 1 Jun 2020 23:41:23 +0000 (00:41 +0100)]
asfdemux: extract WM/PartOfSet disc number and count metadata
Fixes #30
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/54>
Tim-Philipp Müller [Mon, 1 Jun 2020 23:40:48 +0000 (00:40 +0100)]
asfdemux: sprinkle some INDENT-OFF
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/54>
Tim-Philipp Müller [Wed, 27 May 2020 13:42:20 +0000 (14:42 +0100)]
tests: fix meson test env setup to make sure we use the right gst-plugin-scanner
If core is built as a subproject (e.g. as in gst-build), make sure to use
the gst-plugin-scanner from the built subproject. Without this, gstreamer
might accidentally use the gst-plugin-scanner from the install prefix if
that exists, which in turn might drag in gst library versions we didn't
mean to drag in. Those gst library versions might then be older than
what our current build needs, and might cause our newly-built plugins
to get blacklisted in the test registry because they rely on a symbol
that the wrongly-pulled in gst lib doesn't have.
This should fix running of unit tests in gst-build when invoking
meson test or ninja test from outside the devenv for the case where
there is an older or different-version gst-plugin-scanner installed
in the install prefix.
In case no gst-plugin-scanner is installed in the install prefix, this
will fix "GStreamer-WARNING: External plugin loader failed. This most
likely means that the plugin loader helper binary was not found or
could not be run. You might need to set the GST_PLUGIN_SCANNER
environment variable if your setup is unusual." warnings when running
the unit tests.
In the case where we find GStreamer core via pkg-config we use
a newly-added pkg-config var "pluginscannerdir" to get the right
directory. This has the benefit of working transparently for both
installed and uninstalled pkg-config files/setups.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/53>
Guillaume Desmottes [Wed, 27 May 2020 07:13:17 +0000 (09:13 +0200)]
dvdreadsrc: fix uninitialized warning
Variable is always set in actual code paths but let's keep gcc happy.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/51>
Nirbheek Chauhan [Mon, 11 May 2020 23:37:47 +0000 (05:07 +0530)]
meson: Pass native: false to add_languages()
This is needed for cross-compiling without a build machine compiler
available. The option was added in 0.54, but we only need this in
Cerbero and it doesn't affect older versions so it should be ok.
Will just cause a spurious warning.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/50>
Derek Lesho [Fri, 3 Apr 2020 19:24:46 +0000 (14:24 -0500)]
asfdemux: Always re-initialize metadata and global_metadata
When transitioning from the PAUSED state, to the READY state, and back,
metadata and global_metadata are left uninitialized, unlike when the
demxuer transitions from NULL to READY, then to PAUSED. I have found
this to cause a segmentation fault when fields in these structures are
set.
Nicolas Dufresne [Thu, 2 Apr 2020 20:18:00 +0000 (16:18 -0400)]
x264enc: Fix 'ref' property range and default
The --ref option indicate the size of the DPB, hence should be in the range of
0 to 16. This patch also fix the default to match x264enc default 3. This
change isn't a behaviour change since we don't enforce the reported default.
Thibault Saunier [Thu, 19 Mar 2020 21:05:43 +0000 (18:05 -0300)]
a52dec: Mark as converter
It is able to do channel downminxing, so technically it is also a
converter
This is also important so validate knows about that when doing its
checks
Thibault Saunier [Thu, 17 Oct 2019 12:55:51 +0000 (14:55 +0200)]
x264enc: Respect Youtube bitrate recommandation
Properly follow google recommendations[0] concerning bitrate when the
user wants to use the youtube profile.
[0]: https://support.google.com/youtube/answer/1722171?hl=en
Stéphane Cerveau [Wed, 18 Dec 2019 15:09:42 +0000 (16:09 +0100)]
ugly: use of g_value_dup_string
Use helper method to get string from GValue.
Dmitry Shusharin [Sat, 14 Dec 2019 11:49:54 +0000 (18:49 +0700)]
x264enc: fixed codestyle
Dmitry Shusharin [Sat, 14 Dec 2019 10:15:21 +0000 (17:15 +0700)]
x264enc: corrected em_data value in CEA-708 CC SEI message (fixes #28)
Section 4.4 of CEA-708-D specification (table 2) requires all bits to be
set inside em_data field. h264parse element (and possible third-party
decoders such as libav) also follows this requirement.
https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/issues/28
Tim-Philipp Müller [Sat, 8 Jun 2019 23:30:53 +0000 (00:30 +0100)]
Remove autotools build system
Aaron Boxer [Mon, 2 Sep 2019 13:33:15 +0000 (09:33 -0400)]
documentation: fix some typos
Mathieu Duponchelle [Fri, 23 Aug 2019 17:06:59 +0000 (19:06 +0200)]
docstrings: port ulinks to markdown links
Matthew Waters [Fri, 23 Aug 2019 06:25:25 +0000 (16:25 +1000)]
meson: Don't generate doc cache when no plugins are enabled
Fixes gst-build with -Dauto-features=disabled -Dugly=enabled
Seungha Yang [Mon, 15 Jul 2019 12:56:57 +0000 (21:56 +0900)]
x264enc: Port to color_{primaries,transfer,matrix}_to_iso
... with more color value mapping
Seungha Yang [Mon, 15 Jul 2019 13:38:35 +0000 (22:38 +0900)]
tests: x264enc: Enable test on Windows
... with removal of pointless unistd.h dependency.
Note that full dependency listing is required to run unit test
executable binary on Windows uninstalled environment.
Niels De Graef [Fri, 31 May 2019 21:07:58 +0000 (23:07 +0200)]
meson: Bump minimal GLib version to 2.44
This means we can use some newer features and get rid of some
boilerplate code using the G_DECLARE_* macros.
As discussed on IRC, 2.44 is old enough by now to start depending on it.
Mathieu Duponchelle [Wed, 29 May 2019 21:00:48 +0000 (23:00 +0200)]
doc: remove xml from comments
Tim-Philipp Müller [Sat, 25 May 2019 12:19:54 +0000 (14:19 +0200)]
asfdemux: remove some unused cruft in internal headers
Thibault Saunier [Thu, 16 May 2019 13:15:52 +0000 (09:15 -0400)]
docs: Stop building the doc cache by default
And update the cache
Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/issues/36
Thibault Saunier [Tue, 14 May 2019 02:54:16 +0000 (22:54 -0400)]
docs: Update plugins documentation cache
Thibault Saunier [Mon, 22 Oct 2018 09:47:37 +0000 (11:47 +0200)]
docs: Port documentation to hotdoc
Thibault Saunier [Mon, 22 Oct 2018 09:47:32 +0000 (11:47 +0200)]
docs: Port all docstring to gtk-doc markdown
Tim-Philipp Müller [Fri, 26 Apr 2019 17:28:04 +0000 (18:28 +0100)]
meson: sidplay: use library() instead of shared_module()
Like we do for other plugins, and also install a .pc file
if we build the plugin statically.
Sebastian Dröge [Mon, 22 Apr 2019 09:51:33 +0000 (12:51 +0300)]
meson: Always require the gmodule dependency
It's needed by the dvdread plugin but also by the x264 plugin in certain
circumstances. As it's part of GLib and always available, simply move it
as a hard dependency to the top-level meson.build.
Tim-Philipp Müller [Fri, 19 Apr 2019 09:28:17 +0000 (10:28 +0100)]
Back to development
Tim-Philipp Müller [Thu, 18 Apr 2019 23:24:40 +0000 (00:24 +0100)]
Release 1.16.0
Tim-Philipp Müller [Thu, 18 Apr 2019 23:24:40 +0000 (00:24 +0100)]
Update docs
Tim-Philipp Müller [Thu, 18 Apr 2019 23:24:38 +0000 (00:24 +0100)]
Update translations
Tim-Philipp Müller [Wed, 10 Apr 2019 23:28:18 +0000 (00:28 +0100)]
Release 1.15.90
Tim-Philipp Müller [Wed, 10 Apr 2019 23:28:18 +0000 (00:28 +0100)]
Update docs
Nirbheek Chauhan [Wed, 27 Mar 2019 16:29:45 +0000 (21:59 +0530)]
meson: Add a subproject fallback for x264
Piotr Drąg [Sun, 10 Mar 2019 19:33:31 +0000 (19:33 +0000)]
Update LINGUAS
Tim-Philipp Müller [Thu, 21 Mar 2019 11:23:07 +0000 (11:23 +0000)]
meson: add -Wno-unused also to C++ args when gst debug system is disabled
Tim-Philipp Müller [Mon, 4 Mar 2019 09:08:07 +0000 (09:08 +0000)]
Back to development
Mathieu Duponchelle [Thu, 28 Feb 2019 10:03:31 +0000 (11:03 +0100)]
x264enc: inject CEA708 closed captions
Tim-Philipp Müller [Tue, 26 Feb 2019 11:48:50 +0000 (11:48 +0000)]
Release 1.15.2
Tim-Philipp Müller [Tue, 26 Feb 2019 11:48:50 +0000 (11:48 +0000)]
Update docs
Tim-Philipp Müller [Tue, 26 Feb 2019 11:48:47 +0000 (11:48 +0000)]
Update translations
Tim-Philipp Müller [Fri, 22 Feb 2019 23:54:30 +0000 (23:54 +0000)]
sidplay: fix indentation
Sebastian Dröge [Tue, 12 Feb 2019 15:58:19 +0000 (17:58 +0200)]
dvdreadsrc: Work around GCC9 compiler warning
It's technically true but not for this specific type.
dvdreadsrc.c:394:65: error: taking address of packed member of ‘struct <anonymous>’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
394 | gst_dvd_read_src_make_clut_change_event (src, src->cur_pgc->palette);
| ~~~~~~~~~~~~^~~~~~~~~
Seungha Yang [Wed, 30 Jan 2019 10:50:30 +0000 (19:50 +0900)]
meson: Add support orc fallback
Allow fallback to orc subproject if any.
Sebastian Dröge [Fri, 25 Jan 2019 12:38:05 +0000 (14:38 +0200)]
x264: Only enable dynamic loading code for x264 < 253
Otherwise we get some compiler warnings:
../subprojects/gst-plugins-ugly/ext/x264/gstx264enc.c:200:1: warning: ‘unload_x264’ defined but not used [-Wunused-function]
unload_x264 (GstX264EncVTable * vtable)
^~~~~~~~~~~
../subprojects/gst-plugins-ugly/ext/x264/gstx264enc.c:154:1: warning: ‘load_x264’ defined but not used [-Wunused-function]
load_x264 (const gchar * filename)
^~~~~~~~~
Sebastian Dröge [Fri, 25 Jan 2019 12:36:55 +0000 (14:36 +0200)]
x264: Link to gmodule in the meson build if extra x264 libraries are provided
We would dynamically load additional x264 libraries then.
Helmut Grohne [Thu, 17 Jan 2019 15:29:38 +0000 (17:29 +0200)]
sid: Fix cross-compilation by using AC_TRY_LINK instead of AC_TRY_RUN
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=917899
Tim-Philipp Müller [Thu, 17 Jan 2019 02:02:30 +0000 (02:02 +0000)]
Release 1.15.1
Tim-Philipp Müller [Thu, 17 Jan 2019 02:02:30 +0000 (02:02 +0000)]
Update docs
Tim-Philipp Müller [Thu, 17 Jan 2019 02:02:22 +0000 (02:02 +0000)]
Update translations
Seungha Yang [Sun, 30 Dec 2018 13:48:42 +0000 (22:48 +0900)]
tests: Enable test generic_states on Windows
... and drop needless unistd.h dependency
Seungha Yang [Tue, 18 Dec 2018 13:48:42 +0000 (22:48 +0900)]
meson: Use join_paths() instead '/'
Seungha Yang [Fri, 7 Dec 2018 14:39:01 +0000 (23:39 +0900)]
tests: Enable unit test on Windows
Remove hard-coded ':' whitelist separator since it varies with OS
Thibault Saunier [Wed, 5 Dec 2018 20:24:25 +0000 (17:24 -0300)]
Automatic update of common submodule
From ed78bee to 59cb678
Seungha Yang [Sat, 24 Nov 2018 10:28:19 +0000 (19:28 +0900)]
meson: Specify encoding to UTF-8 when building with MSVC
Use build arguments consistent with core and -base. This can also
remove noisy "C4819" warning of non-us locale MSVC.
Jordan Petridis [Mon, 12 Nov 2018 11:30:59 +0000 (13:30 +0200)]
Add Gitlab CI configuration
This commit adds a .gitlab-ci.yml file, which uses a feature
to fetch the config from a centralized repository. The intent is
to have all the gstreamer modules use the same configuration.
The configuration is currently hosted at the gst-ci repository
under the gitlab/ci_template.yml path.
Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29
Matthew Waters [Mon, 5 Nov 2018 05:38:33 +0000 (05:38 +0000)]
Update common submodule location
Remove the git directory
Haihao Xiang [Mon, 5 Nov 2018 04:52:46 +0000 (12:52 +0800)]
Clone the code from gitlab
This fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/issues/22
Tim-Philipp Müller [Mon, 8 Oct 2018 19:45:52 +0000 (20:45 +0100)]
meson: use new 'python' module instead of deprecated
https://github.com/mesonbuild/meson/pull/4169
Tim-Philipp Müller [Sat, 22 Sep 2018 16:33:35 +0000 (17:33 +0100)]
tests: x264enc: fix leak in unit test
The static pad templates weren't static so their
contents were leaked. valgrind was not happy.
Also rename confusing define.
Seungha Yang [Tue, 18 Sep 2018 12:43:14 +0000 (21:43 +0900)]
x264enc: Avoid format decision per frame
Avoid switch/case per frame for format decision and detect the format
only if where it could be changed. Note that, whenever encoder->input_state
is changed, gst_x264_enc_init_encoder() is called.
https://bugzilla.gnome.org/show_bug.cgi?id=797164
Tim-Philipp Müller [Wed, 19 Sep 2018 11:00:32 +0000 (12:00 +0100)]
meson: add glib-checks option to disable API guards and such
We want this enabled by default, also in releases, but people
may want to disable this for performance-critical workloads or
on embedded devices.
Tim-Philipp Müller [Wed, 19 Sep 2018 10:58:54 +0000 (11:58 +0100)]
meson: fix missing closing bracket in option descriptions
Tim-Philipp Müller [Sat, 18 Aug 2018 20:22:42 +0000 (21:22 +0100)]
meson: add option to disable tests
Tim-Philipp Müller [Sat, 18 Aug 2018 20:20:20 +0000 (21:20 +0100)]
meson: clean up some cruft
Tim-Philipp Müller [Sat, 18 Aug 2018 20:15:23 +0000 (21:15 +0100)]
meson: add options to disable gobject cast checks and glib asserts
... and define G_DISABLE_DEPRECATED for development versions,
like we do in autotools.
Jan Alexander Steffens (heftig) [Thu, 16 Aug 2018 11:17:58 +0000 (13:17 +0200)]
x264enc: Set bit depth for x264 ≥ 153
https://bugzilla.gnome.org/show_bug.cgi?id=796975
Jan Alexander Steffens (heftig) [Thu, 16 Aug 2018 12:55:04 +0000 (14:55 +0200)]
x264enc: Remove superfluous x264_param_default
https://bugzilla.gnome.org/show_bug.cgi?id=796973
Nirbheek Chauhan [Fri, 27 Jul 2018 13:59:01 +0000 (19:29 +0530)]
Add feature options for all plugins
The only automagic dependency left is C++ availability detection.
https://bugzilla.gnome.org/show_bug.cgi?id=795107
Nirbheek Chauhan [Wed, 25 Jul 2018 11:47:21 +0000 (17:17 +0530)]
meson: Convert common options to feature options
The rest will be converted later, these are necessary for gst-build to
set options correctly.
https://bugzilla.gnome.org/show_bug.cgi?id=795107
Edward Hervey [Mon, 11 Jun 2018 12:43:20 +0000 (14:43 +0200)]
asfdemux: Remove 0.10 code
This was used to "close" a segment. It's no longer needed anymore
in 1.x (it was essentially sending the same thing again)
Edward Hervey [Fri, 11 May 2018 07:21:09 +0000 (09:21 +0200)]
asfdemux: Only send flush event on seeking flushes
And not on all the time