]>
git.sesse.net Git - nageru/log
Steinar H. Gunderson [Sat, 28 Apr 2018 14:55:38 +0000 (16:55 +0200)]
Release Nageru 1.7.2.
Steinar H. Gunderson [Sat, 28 Apr 2018 14:53:20 +0000 (16:53 +0200)]
Add a GPU memory eviction counter to the Grafana dashboard.
Steinar H. Gunderson [Sat, 28 Apr 2018 14:51:07 +0000 (16:51 +0200)]
Add the GPU memory metrics to the Grafana dashboard.
Steinar H. Gunderson [Sat, 28 Apr 2018 14:47:31 +0000 (16:47 +0200)]
Upgrade the Grafana dashboard to 5.1.0.
In particular, this allows us to fix the x264 speed control heat map.
Steinar H. Gunderson [Sat, 28 Apr 2018 14:48:48 +0000 (16:48 +0200)]
Fix the names for the GPU memory metrics.
Steinar H. Gunderson [Sat, 28 Apr 2018 14:19:16 +0000 (16:19 +0200)]
Expose metrics about used GPU memory (and also print to stdout), for GPUs that expose such information.
Steinar H. Gunderson [Sat, 28 Apr 2018 13:04:15 +0000 (15:04 +0200)]
Try to autodetect a suitable DRM node for VA-API if needed.
This should help user-friendliness for initial setup a fair bit.
It also removes the dependency on libpci-dev, since outputting all
the candidate nodes probably isn't so useful anymore.
Steinar H. Gunderson [Sat, 28 Apr 2018 12:45:49 +0000 (14:45 +0200)]
Remove some stray debugging code in the theme.
Steinar H. Gunderson [Fri, 27 Apr 2018 20:26:25 +0000 (22:26 +0200)]
Loosen up an assert that would sometimes trigger when resetting FFmpeg sources.
Steinar H. Gunderson [Fri, 27 Apr 2018 18:49:18 +0000 (20:49 +0200)]
Make channel labels ignore their horizontal size policy.
This fixes an issue where the aspect ratio of the videos would be
all messed up due to the labels dictating the size. This could even
keep the window from being maximized if there were too many long
labels.
The best here would probably be some sort of marquee, but this is
an OK fix for now.
Steinar H. Gunderson [Fri, 27 Apr 2018 16:03:57 +0000 (18:03 +0200)]
Fix a crash when there are zero audio buses in multichannel mode.
Steinar H. Gunderson [Thu, 26 Apr 2018 20:43:43 +0000 (22:43 +0200)]
Fix a crash if somebody is trying to get metrics (or perhaps also tally) while we are shutting down.
Steinar H. Gunderson [Thu, 26 Apr 2018 20:31:27 +0000 (22:31 +0200)]
When grabbing the white balance, grab a single pixel instead of the entire framebuffer.
Steinar H. Gunderson [Thu, 26 Apr 2018 20:20:12 +0000 (22:20 +0200)]
Make the white balance picker more robust.
Earlier the change to neutral white balance could go out of sync
with when we wanted to sample, so we could come too early or too
late and get an already-corrected value.
This is also helped by the previous theme fixes for storing the
neutral_colors array as an upvalue in prepare_chain().
Steinar H. Gunderson [Thu, 26 Apr 2018 17:31:25 +0000 (19:31 +0200)]
In the example Lua scripts, package up the state in the prepare function.
Fixes issues where there are changes between get_chain() and callback
of the prepare (especially relevant with the planned upcoming changes
to white balance picking).
Steinar H. Gunderson [Thu, 26 Apr 2018 17:11:30 +0000 (19:11 +0200)]
Make the included Lua themes use strict-compliant.
Steinar H. Gunderson [Tue, 24 Apr 2018 20:47:35 +0000 (22:47 +0200)]
Make the FFmpegCapture disconnected frames proper black.
Less disturbing, more consistent between BGRA and Y'CbCr, and the
all-zero Y'CbCr frame causes out-of-gamut (negative) RGB values that
ended up confusing white balance adjustment a lot.
Steinar H. Gunderson [Tue, 24 Apr 2018 19:21:29 +0000 (21:21 +0200)]
If the user inadvertedly calls connect_signal() on an FFmpeg or CEF card, print out a friendly warning instead of crashing with an assertion failure.
Steinar H. Gunderson [Tue, 24 Apr 2018 18:26:20 +0000 (20:26 +0200)]
Add the busy/dead bus labels more consistently.
Steinar H. Gunderson [Tue, 24 Apr 2018 18:19:23 +0000 (20:19 +0200)]
Fix an issue where an ALSA card that was dead on boot could not be plugged in.
Steinar H. Gunderson [Mon, 23 Apr 2018 21:08:09 +0000 (23:08 +0200)]
In measure-x264.pl, allow single-digit SSIM levels.
Steinar H. Gunderson [Mon, 23 Apr 2018 19:37:03 +0000 (21:37 +0200)]
Unbreak the context menu for non-FFmpeg channels.
Steinar H. Gunderson [Mon, 23 Apr 2018 18:09:04 +0000 (20:09 +0200)]
Allow changing FFmpeg URL from the context menu.
Steinar H. Gunderson [Sun, 22 Apr 2018 21:00:52 +0000 (23:00 +0200)]
Make the right-click menu legal on signals connected to FFmpeg cards.
Steinar H. Gunderson [Sun, 22 Apr 2018 20:47:33 +0000 (22:47 +0200)]
Simple audio inputs are on cards, not signals.
Steinar H. Gunderson [Sun, 22 Apr 2018 13:23:35 +0000 (15:23 +0200)]
Add support for using FFmpeg video sources as audio.
Steinar H. Gunderson [Sun, 22 Apr 2018 13:22:00 +0000 (15:22 +0200)]
Unbreak benchmark_audio_mixer.
Steinar H. Gunderson [Sun, 22 Apr 2018 10:47:32 +0000 (12:47 +0200)]
Make FFmpegCapture reset the origin if it falls too far behind.
Steinar H. Gunderson [Fri, 20 Apr 2018 07:28:54 +0000 (09:28 +0200)]
Correct FFmpeg capture audio timestamps for non-locked audio.
Reduces jitter by a _lot_ when playing regular video files.
Steinar H. Gunderson [Wed, 18 Apr 2018 22:59:47 +0000 (00:59 +0200)]
Correct FFmpeg audio PTS.
The PTS should come from received (decoded) samples, not what we send
into the codec -- if there's codec delay, the difference could be
significant.
Steinar H. Gunderson [Wed, 18 Apr 2018 22:43:54 +0000 (00:43 +0200)]
Deliver more precise timestamps from FFmpegCapture.
Steinar H. Gunderson [Wed, 18 Apr 2018 21:13:45 +0000 (23:13 +0200)]
Reset audio resampler when FFmpeg inputs restart due to errors.
Not relevant for Kaeru, but will be relevant when Nageru gets FFmpeg
audio inputs soon.
Steinar H. Gunderson [Wed, 18 Apr 2018 20:08:09 +0000 (22:08 +0200)]
When outputting debug messages for an audio device, refer to the device spec instead of the internal card index.
Steinar H. Gunderson [Sun, 22 Apr 2018 13:17:13 +0000 (15:17 +0200)]
Fix a crash when trying to load/save files and CEF is active.
Steinar H. Gunderson [Sat, 21 Apr 2018 11:03:11 +0000 (13:03 +0200)]
Fix an issue where video inputs could send invalid Y'CbCr settings.
This would happen in the case where we had never sent a valid frame
(so we hadn't set luma coefficients) but wanted to send a disconnect frame,
tripping up a Movit assert.
Steinar H. Gunderson [Sat, 21 Apr 2018 10:01:26 +0000 (12:01 +0200)]
Fix a few Clang warnings.
Steinar H. Gunderson [Sat, 21 Apr 2018 09:36:42 +0000 (11:36 +0200)]
Add a concurrency TODO on RefCountedFrame.
Steinar H. Gunderson [Sat, 21 Apr 2018 09:34:34 +0000 (11:34 +0200)]
Make so that the 0 key maps to preview of the 10th input.
Steinar H. Gunderson [Sat, 21 Apr 2018 09:29:55 +0000 (11:29 +0200)]
Fix a problem where the previews would flicker.
When setting up a new frame, we'd set LiveInputWrapper state
(ie., which textures should FlatInput girender from) for all
chains, even preview chains which were just about to get rendered.
Those could then render from the wrong texture number -- and worse,
that texture was still in the process of being uploaded, causing
corrupted display.
There are probably still concurrency bugs left here, but this was
the biggest and most annoying one.
Steinar H. Gunderson [Fri, 20 Apr 2018 20:30:38 +0000 (22:30 +0200)]
Small refactoring in PBOFrameAllocator.
Steinar H. Gunderson [Sat, 14 Apr 2018 21:47:13 +0000 (23:47 +0200)]
Add a feature on VideoInput to interrupt the playing video.
Useful for when using FFmpeg sources to play network streams,
since FFmpeg can sometimes hang forever if the remote server
goes away.
Steinar H. Gunderson [Wed, 11 Apr 2018 22:34:48 +0000 (00:34 +0200)]
Remove an erroneous assert in ResamplingQueue.
Steinar H. Gunderson [Wed, 11 Apr 2018 18:06:38 +0000 (20:06 +0200)]
Ask for no buffering when opening FFmpeg streams; we do our own buffering, and the stream could be a live one.
Steinar H. Gunderson [Wed, 11 Apr 2018 17:03:03 +0000 (19:03 +0200)]
Make FFmpegCapture send semi-reasonable timestamps with its audio data.
Steinar H. Gunderson [Sat, 7 Apr 2018 21:11:28 +0000 (23:11 +0200)]
Revert "Simplify the timebase conversion in mux.cpp."
We should use the pts and dts from the function parameters, not from the
packet. Would cause all wrong durations in some cases.
This reverts commit
bcaf94e7f9a10925a86b8f7e03e5e184550ae9f5 .
Steinar H. Gunderson [Wed, 4 Apr 2018 22:48:13 +0000 (00:48 +0200)]
In Metacube, mark each keyframe with a pts metadata block (for easier HLS segmentation).
Steinar H. Gunderson [Mon, 26 Mar 2018 21:43:48 +0000 (23:43 +0200)]
Release Nageru 1.7.1.
Steinar H. Gunderson [Sat, 24 Mar 2018 17:02:59 +0000 (18:02 +0100)]
Simplify the timebase conversion in mux.cpp.
Steinar H. Gunderson [Sat, 24 Mar 2018 16:53:01 +0000 (17:53 +0100)]
Fix an FFmpeg deprecation warning.
Steinar H. Gunderson [Sat, 24 Mar 2018 16:49:52 +0000 (17:49 +0100)]
Fix a buffer overrun when compiled without CEF.
Steinar H. Gunderson [Sat, 24 Mar 2018 16:40:54 +0000 (17:40 +0100)]
Sync bmusb (got inadvertedly rewound earlier).
Steinar H. Gunderson [Sat, 24 Mar 2018 16:38:51 +0000 (17:38 +0100)]
Fix a Clang warning.
Steinar H. Gunderson [Sat, 24 Mar 2018 16:31:57 +0000 (17:31 +0100)]
Fix some compiler warnings.
Steinar H. Gunderson [Fri, 23 Mar 2018 15:59:46 +0000 (16:59 +0100)]
Fix some Clang warnings.
Steinar H. Gunderson [Fri, 23 Mar 2018 15:33:20 +0000 (16:33 +0100)]
Fix a thread race in X264Encoder. Found by GCC TSan.
Steinar H. Gunderson [Fri, 23 Mar 2018 15:33:11 +0000 (16:33 +0100)]
Fix a thread race in QuickSyncEncoder. Found by GCC TSan.
Steinar H. Gunderson [Fri, 23 Mar 2018 15:17:46 +0000 (16:17 +0100)]
Fix compilation without CEF.
Steinar H. Gunderson [Wed, 21 Mar 2018 22:02:19 +0000 (23:02 +0100)]
Yet another CEF-from-system tweak; assume libcef.so needs no rpath.
Steinar H. Gunderson [Wed, 21 Mar 2018 17:19:13 +0000 (18:19 +0100)]
Fix a crash bug when trying to send disconnected frames for Y'CbCr FFmpeg inputs.
Steinar H. Gunderson [Tue, 20 Mar 2018 22:07:11 +0000 (23:07 +0100)]
Do not link kaeru against CEF.
Steinar H. Gunderson [Tue, 20 Mar 2018 20:42:42 +0000 (21:42 +0100)]
When using CEF_BUILD_TYPE=system, do not take a private copy of CEF.
Steinar H. Gunderson [Tue, 20 Mar 2018 20:17:27 +0000 (21:17 +0100)]
Clean kaeru on make clean.
Steinar H. Gunderson [Sun, 18 Mar 2018 22:45:10 +0000 (23:45 +0100)]
Sync bmusb to 0.7.1 (no real changes).
Steinar H. Gunderson [Sun, 18 Mar 2018 22:26:00 +0000 (23:26 +0100)]
Fix an issue where we could discard a CEF frame in a situation where no new one would come, and thus be stuck on an old frame forever.
Steinar H. Gunderson [Sun, 18 Mar 2018 22:10:24 +0000 (23:10 +0100)]
When dropping CEF frames, ask for invalidation only a bit later.
Steinar H. Gunderson [Sat, 17 Mar 2018 15:14:41 +0000 (16:14 +0100)]
Fix a bug when looping FFmpeg inputs that have no audio.
Steinar H. Gunderson [Tue, 13 Mar 2018 17:56:31 +0000 (18:56 +0100)]
(Hopefully! :-) ) fix some deadlocks during CEF shutdown.
Steinar H. Gunderson [Tue, 13 Mar 2018 17:36:10 +0000 (18:36 +0100)]
Do not wait for OnBrowserDestroyed.
Evidently, there's no guarantee that this will ever come; see
http://magpcss.org/ceforum/viewtopic.php?f=6&t=14687
We were seemingly saved by our own inverted logic here earlier.
Steinar H. Gunderson [Sat, 10 Mar 2018 23:38:35 +0000 (00:38 +0100)]
Support building against system CEF, if one should be so lucky as to have such a thing.
Steinar H. Gunderson [Thu, 8 Mar 2018 18:31:41 +0000 (19:31 +0100)]
Release Nageru 1.7.0.
Steinar H. Gunderson [Wed, 7 Mar 2018 20:26:59 +0000 (21:26 +0100)]
Small hack; reject unknown /channels/foo instead of giving out the video stream.
Steinar H. Gunderson [Thu, 1 Mar 2018 19:08:59 +0000 (20:08 +0100)]
Expose the absolute path to the theme in Nageru.THEME_PATH.
Presumably useful if the theme wants to open up CEF stuff that is relative
to its own path (perhaps even in the same directory).
Also don't let themes return values (with LUA_MULTRET); they'd just hit the
assert one line further down anyway.
Steinar H. Gunderson [Thu, 1 Mar 2018 08:30:23 +0000 (09:30 +0100)]
Add resize(), so that HTML inputs do not need to be locked to the video resolution.
Steinar H. Gunderson [Thu, 1 Mar 2018 08:27:55 +0000 (09:27 +0100)]
Properly take the Lua lock when processing menu callbacks.
Steinar H. Gunderson [Tue, 27 Feb 2018 17:47:26 +0000 (18:47 +0100)]
Fix compilation with LuaJIT 2.0 (which Debian stretch ships).
Reported by Marcus Nilsen.
Steinar H. Gunderson [Mon, 26 Feb 2018 23:58:20 +0000 (00:58 +0100)]
Fix an issue where you could not give an absolute path to a theme.
Steinar H. Gunderson [Mon, 26 Feb 2018 23:50:02 +0000 (00:50 +0100)]
Add a system where themes can present a simple menu to the user.
Steinar H. Gunderson [Mon, 26 Feb 2018 23:49:48 +0000 (00:49 +0100)]
Make execute_javascript_async() wait for any pending reload().
Steinar H. Gunderson [Mon, 26 Feb 2018 19:04:51 +0000 (20:04 +0100)]
2018 README updates.
Steinar H. Gunderson [Mon, 26 Feb 2018 17:54:01 +0000 (18:54 +0100)]
Fix an issue where the mixer lagging too much behind CEF would cause us to display an old frame forever.
Steinar H. Gunderson [Sun, 25 Feb 2018 22:30:49 +0000 (23:30 +0100)]
When asked to execute JavaScript, defer until the current page load is done.
Steinar H. Gunderson [Sun, 25 Feb 2018 17:40:20 +0000 (18:40 +0100)]
Update the README for CEF.
Steinar H. Gunderson [Sun, 25 Feb 2018 17:36:29 +0000 (18:36 +0100)]
Copy and install CEF pack dependencies together with Nageru.
Steinar H. Gunderson [Sun, 25 Feb 2018 14:49:37 +0000 (15:49 +0100)]
Make compiling with CEF optional.
Steinar H. Gunderson [Sun, 25 Feb 2018 15:26:58 +0000 (16:26 +0100)]
Implement HTMLInput::execute_javascript_async().
Steinar H. Gunderson [Sun, 25 Feb 2018 14:33:50 +0000 (15:33 +0100)]
Implement HTMLInput::set_max_fps().
Steinar H. Gunderson [Sun, 25 Feb 2018 14:21:52 +0000 (15:21 +0100)]
Implement HTMLInput::reload().
Steinar H. Gunderson [Sun, 25 Feb 2018 12:45:43 +0000 (13:45 +0100)]
Implement HTMLInput::set_url().
Steinar H. Gunderson [Sat, 24 Feb 2018 17:49:36 +0000 (18:49 +0100)]
Implement basic support for CEF.
Having CEF directly into the process is less cumbersome than calling out
to CasparCG over a pipe, and typically yields higher performance.
Steinar H. Gunderson [Sat, 24 Feb 2018 17:49:59 +0000 (18:49 +0100)]
Add ui_analyzer.h to .gitignore.
Steinar H. Gunderson [Sat, 24 Feb 2018 00:08:32 +0000 (01:08 +0100)]
Add kaeru to .gitignore.
Steinar H. Gunderson [Mon, 19 Feb 2018 16:48:52 +0000 (17:48 +0100)]
Fix a stray debugging printf.
Steinar H. Gunderson [Mon, 19 Feb 2018 08:39:35 +0000 (09:39 +0100)]
Create QApplication after setting the OpenGL default format. Fixes a warning in newer Qt.
Steinar H. Gunderson [Mon, 19 Feb 2018 08:38:01 +0000 (09:38 +0100)]
Do not try to subscribe to our own MIDI port; causes some warnings on the console.
Steinar H. Gunderson [Mon, 19 Feb 2018 08:17:00 +0000 (09:17 +0100)]
Fix a dependency.
Steinar H. Gunderson [Sun, 18 Feb 2018 19:08:45 +0000 (20:08 +0100)]
Add a CORS policy to the channel endpoints, so that external applications can query the tally light.
Steinar H. Gunderson [Sun, 18 Feb 2018 18:12:38 +0000 (19:12 +0100)]
Enable the video grid display for simple video mode, too.
Steinar H. Gunderson [Sun, 18 Feb 2018 09:14:56 +0000 (10:14 +0100)]
Support a video grid view (ie., no audio controls at all) as third audio display option.
Steinar H. Gunderson [Sun, 18 Feb 2018 10:13:35 +0000 (11:13 +0100)]
Stop trying to re-probe ALSA cards if they are not capture cards. Reduces the debug spew a bit.
Steinar H. Gunderson [Thu, 15 Feb 2018 18:23:46 +0000 (19:23 +0100)]
Add an HTTP endpoint for enumerating channels and one for getting only their colors. Intended for remote tally applications.