If registering a should_exit callback but should_exit has already been
broadcasted, it wasn't ever run, leading likely to a freeze.
Steps to reproduce the fixed problem:
uv -t swmix:512:512:2 -t invalid
Fixed by immediately calling the registered callback if should_exit has
been already issued.
The compiler is run twice - first for real compilation, second for
dependency tracking. Do not print compilation message the second one
since it may be confusing.
Query directly, without help from GPUJPEG (although the code is actually
borrowed from there).
This enables device listing also if GPUJPEG is not compiled in and it
simplifies main.
When using modules, it should not depend on the preprocessor directive
but its sources should be included conditionally if enabled.
This change reduces number of features in config.h and also helps
refactoring because the absence of HAVE_ macro indicates that there is
no additional dependency on the module.
Fixed releasing of timers (recycle onle) + remove the last one,
otherwise it will be left dangling and triggerred (and crash) when gl
display is also launched.
+ moved server discovery before creating new GL textures etc.
- removed `needs_mainloop` attribute and deduce if mainloop is needed
from the presence of _run callback (the information is now redundant
only displays needing/running mainloop should announce _run callback)
- run the custom mainloop (currently only Syphon!) only when display
doesn't run its mainloop. This allows running Syphon and GL/SDL
display because it connects to the display mainloop.
It is unclear what should this parameter help with and it doesn't seem
that it is somewhere referenced (wiki, GitHub issues).
This reverts commit 2e4fac60b8.
get rid of direct GLUT dependency
+ mac_gl_common.m: fixed copyright + relicense (as the only author)
+ destroy_gl_context - noop for empty (zeroed, not initialized) context
+ GL: attach the context (will be useful later when running at the same
time Syphon and GL display)
When compressing very small video (16x16) with libx265, first frame is
2690 B, which is more than W*H*4 (1024) leading to a crash on assert.
steps to reproduce the fixed problem:
uv -t testcard:size=16x16 -c libavcodec:encoder=libx265
If shader conversion is used, the rendering pipeline needs to be
recreated because the converted frames are initialized with the actual
size. We can perhaps recreate it always if the properties change,
although strictly taken it is not necessarily needed if there is no
conversion and only size changes.
refer to GH-303
Now settings will display options reported in capabilities for all
devices, not just displays. If there are no options reported for a class
of devices (e.g. audio capture) then the settings tab will not appear.