]> git.sesse.net Git - nageru/log
nageru
4 years agoMake it possible to set number of channels imperatively instead of using a callback.
Steinar H. Gunderson [Fri, 21 Jun 2019 17:43:29 +0000 (19:43 +0200)]
Make it possible to set number of channels imperatively instead of using a callback.

num_channels() will still be used if it exists, for compatibility with older
themes.

4 years agoMake it possible to set channel names imperatively instead of using a callback.
Steinar H. Gunderson [Fri, 21 Jun 2019 17:31:28 +0000 (19:31 +0200)]
Make it possible to set channel names imperatively instead of using a callback.

channel_name() will still be used if it exists, for compatibility with older
themes.

4 years agoMove the handling of human-readable input resolution printing into C++; every theme...
Steinar H. Gunderson [Fri, 21 Jun 2019 16:22:28 +0000 (18:22 +0200)]
Move the handling of human-readable input resolution printing into C++; every theme should not need to care about this.

4 years agoSupport submenus within theme menus.
Steinar H. Gunderson [Fri, 21 Jun 2019 15:45:54 +0000 (17:45 +0200)]
Support submenus within theme menus.

4 years agoFix a possible deadlock in CEF.
Steinar H. Gunderson [Tue, 18 Jun 2019 20:47:08 +0000 (22:47 +0200)]
Fix a possible deadlock in CEF.

4 years agoSupport optional effects with multiple inputs.
Steinar H. Gunderson [Sun, 16 Jun 2019 17:14:24 +0000 (19:14 +0200)]
Support optional effects with multiple inputs.

This allows you to prune away entire sections of the chain; the typical
case is if you have an OverlayEffect(a, b) and want to disable that.
In the disabled versions of the chain, the OverlayEffect will be replaced
with an IdentityEffect that passes through a only and leaves the entire
subgraph under b noninstantiated.

4 years agoRefactor out find_inputs_for_block().
Steinar H. Gunderson [Sun, 16 Jun 2019 17:12:11 +0000 (19:12 +0200)]
Refactor out find_inputs_for_block().

4 years agoAdd an enable_if() to Block, for convenience.
Steinar H. Gunderson [Sun, 16 Jun 2019 09:02:11 +0000 (11:02 +0200)]
Add an enable_if() to Block, for convenience.

4 years agoSmall refactoring in Block.
Steinar H. Gunderson [Sun, 16 Jun 2019 08:38:03 +0000 (10:38 +0200)]
Small refactoring in Block.

4 years agoRename chain -> scene as appropriate.
Steinar H. Gunderson [Sun, 16 Jun 2019 08:30:38 +0000 (10:30 +0200)]
Rename chain -> scene as appropriate.

4 years agoMake Block.choose() return the effect that was chosen.
Steinar H. Gunderson [Sat, 15 Jun 2019 23:14:55 +0000 (01:14 +0200)]
Make Block.choose() return the effect that was chosen.

4 years agoFix so that parameters directly on effects actually override the ones on the block...
Steinar H. Gunderson [Sat, 15 Jun 2019 23:14:40 +0000 (01:14 +0200)]
Fix so that parameters directly on effects actually override the ones on the block, as was intended.

4 years agoRename choose_alternative() to choose().
Steinar H. Gunderson [Sat, 15 Jun 2019 22:31:20 +0000 (00:31 +0200)]
Rename choose_alternative() to choose().

4 years agoAllow calling disable() on everything that has an IdentityEffect as alternative.
Steinar H. Gunderson [Sat, 15 Jun 2019 22:02:56 +0000 (00:02 +0200)]
Allow calling disable() on everything that has an IdentityEffect as alternative.

4 years agoAllow giving class names to Block.choose_alternative.
Steinar H. Gunderson [Sat, 15 Jun 2019 22:01:05 +0000 (00:01 +0200)]
Allow giving class names to Block.choose_alternative.

4 years agoScene doesn't need theme->input_state to be set, as we never get Lua callacks from...
Steinar H. Gunderson [Sat, 15 Jun 2019 14:23:24 +0000 (16:23 +0200)]
Scene doesn't need theme->input_state to be set, as we never get Lua callacks from its setup_chain.

4 years agoGive a slightly friendlier error message if the user forgets to connect an input.
Steinar H. Gunderson [Sat, 15 Jun 2019 13:03:52 +0000 (15:03 +0200)]
Give a slightly friendlier error message if the user forgets to connect an input.

4 years agoRework the chain concept.
Steinar H. Gunderson [Thu, 13 Jun 2019 20:59:18 +0000 (22:59 +0200)]
Rework the chain concept.

For complex themes, building the multitude of chains one might need
has become very bothersome, with tricky Lua scripting and non-typesafe
multidimensional tables.

To alleviate this somewhat, we introduce a concept called Scenes.
A Scene is pretty much an EffectChain with a better name and significantly
more functionality. In particular, scenes don't consist of single Effects;
they consist of blocks, which can hold any number of alternatives for
Effects. On finalize, we will instantiate all possible variants of
EffectChains behind-the-scenes, like the Lua code used to have to do itself,
but this is transparent to the theme.

In particular, this means that inputs are much more flexible. Instead of
having to make separate chains for regular inputs, deinterlaced inputs,
video inputs and CEF inputs, you now just make an input, and can connect
any type to it runtime (or “display”, as it's now called). Output is also
flexible; by default, any scene will get both Y'CbCr and RGBA versions
compiled. (In both cases, you can make non-flexible versions to reduce
the number of different instantiations. This can be a good idea in
complex chains.)

This also does away with the concept of the prepare function for a chain;
any effect settings are snapshotted when you return from get_scene() (the new
name for get_chain(), obviously), so you don't need to worry about capturing
anything or get threading issues like you used to.

All existing themes will continue to work unmodified for the time being,
but it is strongly recommended to migrate from EffectChain to Scene.

4 years agoMove some Lua utility functions into a separate header file.
Steinar H. Gunderson [Tue, 11 Jun 2019 20:31:30 +0000 (22:31 +0200)]
Move some Lua utility functions into a separate header file.

4 years agoWork around a Mesa shader cache issue.
Steinar H. Gunderson [Sat, 25 May 2019 15:36:33 +0000 (17:36 +0200)]
Work around a Mesa shader cache issue.

4 years agoAdd a helper so that theme script warnings get line numbers.
Steinar H. Gunderson [Mon, 10 Jun 2019 10:07:49 +0000 (12:07 +0200)]
Add a helper so that theme script warnings get line numbers.

4 years agoDefer creation of effects until they are added to a chain.
Steinar H. Gunderson [Mon, 20 May 2019 16:41:12 +0000 (18:41 +0200)]
Defer creation of effects until they are added to a chain.

Right now, this is pretty much a no-op, but it is a necessary building
block for making auto-chains (chains that can specialize depending on
the conditions).

4 years agoFix ImageInput sRGB behavior.
Steinar H. Gunderson [Sun, 19 May 2019 08:37:18 +0000 (10:37 +0200)]
Fix ImageInput sRGB behavior.

After we made the different ImageInput instances share OpenGL textures,
some of them would assume they could output sRGB. Fix by the same way
we've done video textures, ie., use sRGBSwitchingInput.

4 years agoAlways require GL_EXT_texture_sRGB_decode.
Steinar H. Gunderson [Sun, 19 May 2019 08:34:24 +0000 (10:34 +0200)]
Always require GL_EXT_texture_sRGB_decode.

Keeping the pure OpenGL path does not seem to actually buy us any
compatibility, so we simplify things a bit for an upcoming fix.
Strangely enough, this does not seem to be in any OpenGL standard.
Sampler objects, which we also require, is, though.

4 years agoRemove a fixed FIXME.
Steinar H. Gunderson [Sat, 18 May 2019 18:45:41 +0000 (20:45 +0200)]
Remove a fixed FIXME.

4 years agoMake the ImageInput cache store textures, not images.
Steinar H. Gunderson [Sat, 18 May 2019 09:26:33 +0000 (11:26 +0200)]
Make the ImageInput cache store textures, not images.

This saves on a lot of texture memory when the same image is used
in multiple chains, but perhaps more importantly, will allow us to
decouple ImageInputs from which images they show later.

4 years agoRemove unused code.
Steinar H. Gunderson [Tue, 14 May 2019 22:14:46 +0000 (00:14 +0200)]
Remove unused code.

4 years agoIn ImageInput, make one global update thread instead of one per image.
Steinar H. Gunderson [Tue, 14 May 2019 16:12:20 +0000 (18:12 +0200)]
In ImageInput, make one global update thread instead of one per image.

Makes for fewer threads (obviously), and also probably makes it easier
to give it an OpenGL context later.

4 years agoRemove unused member in ImageInput.
Steinar H. Gunderson [Mon, 13 May 2019 22:55:09 +0000 (00:55 +0200)]
Remove unused member in ImageInput.

4 years agoFix another whitespace error.
Steinar H. Gunderson [Sun, 12 May 2019 10:23:18 +0000 (12:23 +0200)]
Fix another whitespace error.

4 years agoFix an indentation error.
Steinar H. Gunderson [Sat, 11 May 2019 16:44:28 +0000 (18:44 +0200)]
Fix an indentation error.

4 years agoRefactor out a function for adding the end of EffectChains.
Steinar H. Gunderson [Sat, 11 May 2019 14:47:33 +0000 (16:47 +0200)]
Refactor out a function for adding the end of EffectChains.

4 years agoAdd a --disable-audio option to Kaeru, to transcode streams with no audio.
Steinar H. Gunderson [Sat, 20 Apr 2019 14:12:59 +0000 (16:12 +0200)]
Add a --disable-audio option to Kaeru, to transcode streams with no audio.

4 years agoRelease Nageru and Futatabi 1.8.6. 1.8.6
Steinar H. Gunderson [Fri, 19 Apr 2019 07:22:44 +0000 (09:22 +0200)]
Release Nageru and Futatabi 1.8.6.

5 years agoMake the default theme dir pick up the --prefix option given to Meson.
Steinar H. Gunderson [Thu, 18 Apr 2019 20:52:00 +0000 (22:52 +0200)]
Make the default theme dir pick up the --prefix option given to Meson.

5 years agoFix saving of MIDI mappings with camera switch buttons that have no associated lights...
Steinar H. Gunderson [Mon, 8 Apr 2019 20:27:12 +0000 (22:27 +0200)]
Fix saving of MIDI mappings with camera switch buttons that have no associated lights (or vice versa).

This could cause invalid protobufs to be saved, causing assertion errors
when loading them back.

Reported by Niall Walsh.

5 years agoFix MIDI mapping setup of camera buttons/lights when clicking on them.
Steinar H. Gunderson [Mon, 8 Apr 2019 15:18:38 +0000 (17:18 +0200)]
Fix MIDI mapping setup of camera buttons/lights when clicking on them.

Reported by Niall Walsh.

5 years agoRemove the colons from the recording file names.
Steinar H. Gunderson [Thu, 4 Apr 2019 07:25:08 +0000 (09:25 +0200)]
Remove the colons from the recording file names.

They cause problems for just too much software, including most players.

5 years agoFix HTTP tally for the last two channels.
Steinar H. Gunderson [Wed, 3 Apr 2019 15:44:22 +0000 (17:44 +0200)]
Fix HTTP tally for the last two channels.

Reported by Niall Walsh.

5 years agoFix -o short option.
Steinar H. Gunderson [Sun, 31 Mar 2019 12:17:15 +0000 (14:17 +0200)]
Fix -o short option.

5 years agoErrors in flags do not need core dumps.
Steinar H. Gunderson [Sun, 31 Mar 2019 12:16:43 +0000 (14:16 +0200)]
Errors in flags do not need core dumps.

5 years agoRelease Nageru and Futatabi 1.8.5. 1.8.5
Steinar H. Gunderson [Sat, 30 Mar 2019 14:55:49 +0000 (15:55 +0100)]
Release Nageru and Futatabi 1.8.5.

5 years agoAdd audio output when playing at 100% speed.
Steinar H. Gunderson [Sat, 30 Mar 2019 13:45:58 +0000 (14:45 +0100)]
Add audio output when playing at 100% speed.

Fairly untested, but should work both on single-track export and
on realtime output. No audio stretching or pitch shift, so only
plays when we're at regular speed. Note: There's no monitor output yet,
so the Futatabi operator will be deaf. There are also no VU bars.

5 years agoFix storing of audio sizes in the database.
Steinar H. Gunderson [Sat, 30 Mar 2019 13:23:58 +0000 (14:23 +0100)]
Fix storing of audio sizes in the database.

5 years agoTiny fix in variational_refinement.txt.
Steinar H. Gunderson [Sat, 30 Mar 2019 12:51:42 +0000 (13:51 +0100)]
Tiny fix in variational_refinement.txt.

5 years agobmusb 0.7.4 is out, and we need it.
Steinar H. Gunderson [Fri, 29 Mar 2019 21:34:44 +0000 (22:34 +0100)]
bmusb 0.7.4 is out, and we need it.

5 years agoMake multitrack export include audio.
Steinar H. Gunderson [Thu, 28 Mar 2019 19:25:59 +0000 (20:25 +0100)]
Make multitrack export include audio.

5 years agoRemove a legacy FFmpeg test which is no longer needed (we have required 4.0 for a...
Steinar H. Gunderson [Thu, 28 Mar 2019 18:10:24 +0000 (19:10 +0100)]
Remove a legacy FFmpeg test which is no longer needed (we have required 4.0 for a while).

5 years agoMake Futatabi accept and record the audio, although it cannot use it for anything...
Steinar H. Gunderson [Thu, 28 Mar 2019 17:57:57 +0000 (18:57 +0100)]
Make Futatabi accept and record the audio, although it cannot use it for anything yet.

5 years agoInclude the raw audio in the MJPEG output.
Steinar H. Gunderson [Thu, 28 Mar 2019 17:49:01 +0000 (18:49 +0100)]
Include the raw audio in the MJPEG output.

5 years agoFix handling of truncated frame files.
Steinar H. Gunderson [Thu, 28 Mar 2019 08:25:13 +0000 (09:25 +0100)]
Fix handling of truncated frame files.

5 years agoOn errors, abort() instead of exit(1); exit() in a multithreaded program just gives...
Steinar H. Gunderson [Wed, 27 Mar 2019 23:56:20 +0000 (00:56 +0100)]
On errors, abort() instead of exit(1); exit() in a multithreaded program just gives more problems, and we want a core file.

5 years agoIn Futatabi, ignore non-video streams for now.
Steinar H. Gunderson [Wed, 27 Mar 2019 22:15:54 +0000 (23:15 +0100)]
In Futatabi, ignore non-video streams for now.

5 years agoCorrect a tiny miscalculation in convert_fixed24_to_fp32().
Steinar H. Gunderson [Mon, 25 Mar 2019 20:33:49 +0000 (21:33 +0100)]
Correct a tiny miscalculation in convert_fixed24_to_fp32().

5 years agoIf a HTTP server backlog becomes very large (>1 GB), kill the connection to avoid...
Steinar H. Gunderson [Fri, 22 Mar 2019 21:56:41 +0000 (22:56 +0100)]
If a HTTP server backlog becomes very large (>1 GB), kill the connection to avoid runaway OOM.

5 years agoFix some memory leaks in the VA-API upload code (also make it more RAII-ish to be...
Steinar H. Gunderson [Mon, 18 Mar 2019 21:53:21 +0000 (22:53 +0100)]
Fix some memory leaks in the VA-API upload code (also make it more RAII-ish to be fail safe).

5 years agoIncrease the size of the VA-API resource freelist, to try to trickle the threading...
Steinar H. Gunderson [Mon, 18 Mar 2019 18:31:18 +0000 (19:31 +0100)]
Increase the size of the VA-API resource freelist, to try to trickle the threading issues a tiny bit less.

5 years agoUse vaCreateImage + vaPutImage instead of vaDeriveImage.
Steinar H. Gunderson [Mon, 18 Mar 2019 18:29:38 +0000 (19:29 +0100)]
Use vaCreateImage + vaPutImage instead of vaDeriveImage.

Seemingly, this largely fixes the L3 issues I've been seeing, taking
CPU usage down from ~2.1–2.2 to ~1.4 cores.

A test run with eight full 1080p59.94 inputs demonstrates that it can
be done without the GPU keeling over, although there are some issues with
VA-API threading.

5 years agoWhen uploading MJPEG data to VA-API, do it directly into the buffer.
Steinar H. Gunderson [Sun, 17 Mar 2019 21:53:36 +0000 (22:53 +0100)]
When uploading MJPEG data to VA-API, do it directly into the buffer.

Besides the obvious of spending less time copying, this has two positive effects:

 - The VA-API thread is no longer a choke point; uploading can happen from
   multiple cores.
 - With one copy less, we seem to be reducing L3 cache pressure a bit;
   at some point between five and six 1080p sources, we “fall off a cliff”
   wrt. the L3 and start thrashing. This doesn't fix the issue, but alleviates
   it somewhat.

All in all, we seem to go down from ~2.6 to ~2.1–2.2 cores used with one
720p channel and five 1080p channels. I haven't tried saturating channels
yet to see how many we can actually encode.

5 years agoFix more repetition of the Userdata cast.
Steinar H. Gunderson [Sun, 17 Mar 2019 18:15:13 +0000 (19:15 +0100)]
Fix more repetition of the Userdata cast.

5 years agoFix some overly repetitive code in PBOFrameAllocator.
Steinar H. Gunderson [Sat, 16 Mar 2019 23:42:31 +0000 (00:42 +0100)]
Fix some overly repetitive code in PBOFrameAllocator.

5 years agoFix a confusing variable name (frame_bytes sounded like a number of bytes).
Steinar H. Gunderson [Thu, 14 Mar 2019 08:32:34 +0000 (09:32 +0100)]
Fix a confusing variable name (frame_bytes sounded like a number of bytes).

5 years agoFix an unneeded copy when muxing MJPEGs.
Steinar H. Gunderson [Wed, 13 Mar 2019 20:36:40 +0000 (21:36 +0100)]
Fix an unneeded copy when muxing MJPEGs.

Saves ~10% of one core at five 1080p50 sources.

5 years agoRelease Nageru and Futatabi 1.8.4. 1.8.4
Steinar H. Gunderson [Mon, 11 Mar 2019 22:40:21 +0000 (23:40 +0100)]
Release Nageru and Futatabi 1.8.4.

5 years agoVarious fixes for 32-bit platforms.
Steinar H. Gunderson [Mon, 11 Mar 2019 22:39:43 +0000 (23:39 +0100)]
Various fixes for 32-bit platforms.

5 years agoMove to one JPEG decoder thread per view.
Steinar H. Gunderson [Sun, 10 Mar 2019 22:29:24 +0000 (23:29 +0100)]
Move to one JPEG decoder thread per view.

This is, surprisingly, the most useful for VA-API decodes; they can
have long latency at 1080p, and Futatabi's dropping scheme sometimes
caused massive unfairness. Our system doesn't pipeline all that
nicely, so just having multiple threads was the simplest solution.
The risk is that we now access VA-API from multiple threads, which
has a tendency to tickle bugs, but we'll see.

Of course, for CPU decoding, you will also benefit.

5 years agoRelease Nageru and Futatabi 1.8.3. 1.8.3
Steinar H. Gunderson [Sun, 10 Mar 2019 19:23:25 +0000 (20:23 +0100)]
Release Nageru and Futatabi 1.8.3.

5 years agoUnbreak audio transcoding in Kaeru, which has seemingly been broken from the very...
Steinar H. Gunderson [Sun, 10 Mar 2019 11:40:35 +0000 (12:40 +0100)]
Unbreak audio transcoding in Kaeru, which has seemingly been broken from the very start.

5 years agoFor FFmpeg inputs, add an option for playing as fast as possible.
Steinar H. Gunderson [Sun, 10 Mar 2019 11:04:27 +0000 (12:04 +0100)]
For FFmpeg inputs, add an option for playing as fast as possible.

This is intended for live streams, where setting rate 2.0 or similar
would cause it to spew errors and keep resetting the clock. This mode
is automatically activated if rate >= 10.0.

5 years agoGet rid of an unneeded sleep and message on Futatabi exit.
Steinar H. Gunderson [Sun, 10 Mar 2019 00:36:14 +0000 (01:36 +0100)]
Get rid of an unneeded sleep and message on Futatabi exit.

5 years agoFix an issue where Matroska HTTP FFmpeg streams would not correctly restart on connec...
Steinar H. Gunderson [Sat, 9 Mar 2019 21:01:00 +0000 (22:01 +0100)]
Fix an issue where Matroska HTTP FFmpeg streams would not correctly restart on connection close.

5 years agoAdd a failsafe for interrupted FFmpeg streams.
Steinar H. Gunderson [Sat, 9 Mar 2019 21:00:40 +0000 (22:00 +0100)]
Add a failsafe for interrupted FFmpeg streams.

5 years agoFix a hang on exit when doing MJPEG encoding with VA-API.
Steinar H. Gunderson [Sat, 9 Mar 2019 20:35:59 +0000 (21:35 +0100)]
Fix a hang on exit when doing MJPEG encoding with VA-API.

5 years agoFix a MIDI-related deadlock in the GUI code.
Steinar H. Gunderson [Sat, 9 Mar 2019 20:33:16 +0000 (21:33 +0100)]
Fix a MIDI-related deadlock in the GUI code.

5 years agoFix a broken database definition.
Steinar H. Gunderson [Sat, 9 Mar 2019 20:15:07 +0000 (21:15 +0100)]
Fix a broken database definition.

5 years agoAdd some asserts to guard against nonsensical start pts.
Steinar H. Gunderson [Sat, 9 Mar 2019 19:40:11 +0000 (20:40 +0100)]
Add some asserts to guard against nonsensical start pts.

5 years agoFix a crash in Futatabi when two threads wanted to write to the database at the same...
Steinar H. Gunderson [Sat, 9 Mar 2019 18:08:18 +0000 (19:08 +0100)]
Fix a crash in Futatabi when two threads wanted to write to the database at the same time.

5 years agoMake the number of files into a #define.
Steinar H. Gunderson [Sat, 9 Mar 2019 17:59:44 +0000 (18:59 +0100)]
Make the number of files into a #define.

5 years agoUpdate some error messages.
Steinar H. Gunderson [Sat, 9 Mar 2019 17:44:18 +0000 (18:44 +0100)]
Update some error messages.

5 years agoUse REPLACE instead of INSERT for changing state and settings.
Steinar H. Gunderson [Sat, 9 Mar 2019 17:41:34 +0000 (18:41 +0100)]
Use REPLACE instead of INSERT for changing state and settings.

5 years agoUse REPLACE instead of INSERT + DELETE for frame files.
Steinar H. Gunderson [Sat, 9 Mar 2019 17:13:53 +0000 (18:13 +0100)]
Use REPLACE instead of INSERT + DELETE for frame files.

5 years agoAllow controlling video mixing from MIDI events.
Steinar H. Gunderson [Fri, 8 Mar 2019 21:56:52 +0000 (22:56 +0100)]
Allow controlling video mixing from MIDI events.

Adapted from a patch by Yann Dubreuil, from the BreizhCamp repository.

5 years agoAdapt to newer CEF versions.
Steinar H. Gunderson [Fri, 8 Mar 2019 21:03:46 +0000 (22:03 +0100)]
Adapt to newer CEF versions.

5 years agoFix some unneeded copying of encoded JPEGs around (would take ~15% of uninterpolated...
Steinar H. Gunderson [Wed, 6 Mar 2019 19:07:39 +0000 (20:07 +0100)]
Fix some unneeded copying of encoded JPEGs around (would take ~15% of uninterpolated export).

5 years agoAdd Shift+Ctrl for super-fast scrubbing.
Steinar H. Gunderson [Wed, 6 Mar 2019 19:02:13 +0000 (20:02 +0100)]
Add Shift+Ctrl for super-fast scrubbing.

5 years agoGive the ALSA threads names.
Steinar H. Gunderson [Wed, 6 Mar 2019 17:51:31 +0000 (18:51 +0100)]
Give the ALSA threads names.

Patch by Yann Dubreuil, from the BreizhCamp repository.

5 years agoUse ALSA timestamps for marking input data.
Steinar H. Gunderson [Wed, 6 Mar 2019 17:48:18 +0000 (18:48 +0100)]
Use ALSA timestamps for marking input data.

This reportedly gives much more stable delay, as the timer is sampled
when the audio actually arrives in the kernel. Patch by Yann Dubreuil,
from the BreizhCamp repository.

5 years agoRemove unused variable in ALSAInput.
Steinar H. Gunderson [Wed, 6 Mar 2019 17:43:19 +0000 (18:43 +0100)]
Remove unused variable in ALSAInput.

5 years agoFix detection of non-system CEF, when no system CEF package is installed.
Steinar H. Gunderson [Mon, 4 Mar 2019 08:17:44 +0000 (09:17 +0100)]
Fix detection of non-system CEF, when no system CEF package is installed.

Patch by Marcus Nilsen.

5 years agoFix a one-past-the-end access on Futatabi startup.
Steinar H. Gunderson [Mon, 4 Mar 2019 08:12:31 +0000 (09:12 +0100)]
Fix a one-past-the-end access on Futatabi startup.

Reported by Marcus Nilsen.

5 years agoMake TIMEBASE signed again; unsigned caused pts bugs, as signed * unsigned = signed.
Steinar H. Gunderson [Fri, 1 Mar 2019 22:29:28 +0000 (23:29 +0100)]
Make TIMEBASE signed again; unsigned caused pts bugs, as signed * unsigned = signed.

5 years agoFix a segfault that could happen with FFmpeg inputs and slow startup.
Steinar H. Gunderson [Thu, 28 Feb 2019 21:30:46 +0000 (22:30 +0100)]
Fix a segfault that could happen with FFmpeg inputs and slow startup.

5 years agoMark infinite clips as such in the machine-readable part of the subtitle track.
Steinar H. Gunderson [Wed, 27 Feb 2019 22:23:17 +0000 (23:23 +0100)]
Mark infinite clips as such in the machine-readable part of the subtitle track.

5 years agoMake it possible to queue and play clips with no cue-out set (infinite clips). Note...
Steinar H. Gunderson [Tue, 26 Feb 2019 23:35:19 +0000 (00:35 +0100)]
Make it possible to queue and play clips with no cue-out set (infinite clips). Note that you can only have one of them in the clip list for the time being.

5 years agoBe more lenient about the playlist focus; this was too much (we should at least be...
Steinar H. Gunderson [Tue, 26 Feb 2019 23:33:19 +0000 (00:33 +0100)]
Be more lenient about the playlist focus; this was too much (we should at least be able to queue and then immediately play).

5 years agoFix compilation with non-system CEF.
Steinar H. Gunderson [Sat, 23 Feb 2019 21:53:19 +0000 (22:53 +0100)]
Fix compilation with non-system CEF.

5 years agoRescale the pts/dts properly in the MJPEG encoder (matters only if we switch mux...
Steinar H. Gunderson [Thu, 21 Feb 2019 22:30:49 +0000 (23:30 +0100)]
Rescale the pts/dts properly in the MJPEG encoder (matters only if we switch mux away from mp4).

5 years agoMark a TODO.
Steinar H. Gunderson [Tue, 19 Feb 2019 23:38:38 +0000 (00:38 +0100)]
Mark a TODO.

5 years agoRemove the unused frame_length parameter to AudioMixer::add_audio().
Steinar H. Gunderson [Tue, 19 Feb 2019 23:25:43 +0000 (00:25 +0100)]
Remove the unused frame_length parameter to AudioMixer::add_audio().

5 years agoMore tweaks to the memcpy_interleaved multiversioning.
Steinar H. Gunderson [Tue, 19 Feb 2019 08:39:05 +0000 (09:39 +0100)]
More tweaks to the memcpy_interleaved multiversioning.