]> git.sesse.net Git - nageru/log
nageru
7 years agoRelease Nageru 1.3.1. 1.3.1
Steinar H. Gunderson [Fri, 1 Jul 2016 21:48:22 +0000 (23:48 +0200)]
Release Nageru 1.3.1.

7 years agoFix --flat-audio; add the gain staging auto knob, and make sure the UI reflects the...
Steinar H. Gunderson [Fri, 1 Jul 2016 21:18:20 +0000 (23:18 +0200)]
Fix --flat-audio; add the gain staging auto knob, and make sure the UI reflects the state.

7 years agoForce vsync off; fixes jittery display on the NVIDIA proprietary driver.
Steinar H. Gunderson [Fri, 1 Jul 2016 21:03:39 +0000 (23:03 +0200)]
Force vsync off; fixes jittery display on the NVIDIA proprietary driver.

7 years agoFix the display of the transition names again.
Steinar H. Gunderson [Thu, 30 Jun 2016 22:28:27 +0000 (00:28 +0200)]
Fix the display of the transition names again.

7 years agoRelease Nageru 1.3.0. 1.3.0
Steinar H. Gunderson [Sun, 26 Jun 2016 21:22:07 +0000 (23:22 +0200)]
Release Nageru 1.3.0.

7 years agoFix a crash when not encoding to x264.
Steinar H. Gunderson [Sat, 25 Jun 2016 21:22:03 +0000 (23:22 +0200)]
Fix a crash when not encoding to x264.

7 years agoUse the new libavformat functionality for marking keyframes.
Steinar H. Gunderson [Sat, 25 Jun 2016 21:08:11 +0000 (23:08 +0200)]
Use the new libavformat functionality for marking keyframes.

Note: This depends on code only recently in mainline avformat;
the commit in question is dbbaad3 in libav, 4e7a921 in ffmpeg,
merged Jun 23.

This removes our need for manually flushing before each keyframe
to to make sure we get the fragment boundaries correct. In turn,
this means we no longer need to interleave ourselves.

The lack of flushing (and that we start using libavformat's interleaving
queue again) also means that the muxer no longer has to guess at the
duration of the last frame in each fragment, which would sometimes
cause non-monotonic pts, which would confuse players in various ways.

7 years agoAdd support for arbitrary x264 parameters.
Steinar H. Gunderson [Tue, 14 Jun 2016 23:05:39 +0000 (00:05 +0100)]
Add support for arbitrary x264 parameters.

7 years agoDocument that you need a specific x264 patch.
Steinar H. Gunderson [Tue, 14 Jun 2016 09:24:34 +0000 (10:24 +0100)]
Document that you need a specific x264 patch.

7 years agoDocument the mlockall() change in NEWS.
Steinar H. Gunderson [Thu, 9 Jun 2016 18:34:20 +0000 (20:34 +0200)]
Document the mlockall() change in NEWS.

7 years agoTake out the persistent device memory patches, as the libusb patch is now in git...
Steinar H. Gunderson [Tue, 7 Jun 2016 22:56:48 +0000 (00:56 +0200)]
Take out the persistent device memory patches, as the libusb patch is now in git, and bmusb uses it if available.

7 years agoFix a possible int32 overload with huge framerate denominators.
Steinar H. Gunderson [Mon, 6 Jun 2016 17:05:26 +0000 (19:05 +0200)]
Fix a possible int32 overload with huge framerate denominators.

Found by Coverity Scan.

7 years agoInitialize stats buffers in speed control correctly
Steinar H. Gunderson [Mon, 6 Jun 2016 17:05:09 +0000 (19:05 +0200)]
Initialize stats buffers in speed control correctly

Found by Coverity Scan.

7 years agoFix an off-by-one copy in memcpy_interleaved_fastpath().
Steinar H. Gunderson [Mon, 6 Jun 2016 17:04:25 +0000 (19:04 +0200)]
Fix an off-by-one copy in memcpy_interleaved_fastpath().

Found by Coverity Scan.

7 years agoMesa 11.2.2 is now in stretch.
Steinar H. Gunderson [Mon, 30 May 2016 23:10:23 +0000 (01:10 +0200)]
Mesa 11.2.2 is now in stretch.

7 years agoLock everything in system memory for better realtime behavior.
Steinar H. Gunderson [Mon, 16 May 2016 11:26:11 +0000 (13:26 +0200)]
Lock everything in system memory for better realtime behavior.

7 years agoThe EQ is low-cut (highpass), not lowpass.
Steinar H. Gunderson [Mon, 16 May 2016 00:13:33 +0000 (02:13 +0200)]
The EQ is low-cut (highpass), not lowpass.

7 years agoUpdate patch situation in README.
Steinar H. Gunderson [Mon, 16 May 2016 00:01:55 +0000 (02:01 +0200)]
Update patch situation in README.

In particular, 4.6.0 was just released, so we ask people to use that
instead of patching their kernel. Also, Mesa 11.2.x is now in unstable,
and should progress to testing soon.

7 years agoFix an embarrassing messup with the new ResamplingQueue formats.
Steinar H. Gunderson [Sun, 8 May 2016 17:24:19 +0000 (19:24 +0200)]
Fix an embarrassing messup with the new ResamplingQueue formats.

7 years agoFix a situation where first_output would never get set.
Steinar H. Gunderson [Sun, 8 May 2016 09:42:12 +0000 (11:42 +0200)]
Fix a situation where first_output would never get set.

7 years agoMake the audio resampler panic message slightly more readable.
Steinar H. Gunderson [Sat, 7 May 2016 23:59:07 +0000 (01:59 +0200)]
Make the audio resampler panic message slightly more readable.

7 years agoRemove the Mesa patch; replace with a recommendation to run 11.2.x.
Steinar H. Gunderson [Thu, 5 May 2016 10:51:59 +0000 (12:51 +0200)]
Remove the Mesa patch; replace with a recommendation to run 11.2.x.

This is now upstream, so it's probably just as easy for people to get 11.2.x as
to patch and build a Mesa 11.0.x version.

7 years agoFix a memory leak in interleaving.
Steinar H. Gunderson [Thu, 5 May 2016 09:29:14 +0000 (11:29 +0200)]
Fix a memory leak in interleaving.

7 years agoTurn on filler bits to cap the x264 bitrate from below, to increase smoothness in...
Steinar H. Gunderson [Thu, 5 May 2016 00:10:11 +0000 (02:10 +0200)]
Turn on filler bits to cap the x264 bitrate from below, to increase smoothness in some situations with low-complexity content.

7 years agoFlush after writing each frame, so that we do not get stuck with something in a long...
Steinar H. Gunderson [Thu, 5 May 2016 00:03:09 +0000 (02:03 +0200)]
Flush after writing each frame, so that we do not get stuck with something in a long muxer buffer.

7 years agoAdd back manual interleaving, but this time in Mux.
Steinar H. Gunderson [Wed, 4 May 2016 18:19:37 +0000 (20:19 +0200)]
Add back manual interleaving, but this time in Mux.

We need to interleave ourselves because we flush; otherwise, audio will
typically start 100 ms or so into the stream, and everything becomes bad.
Thankfully, we have only two streams to interleave, so we can choose
something quite simple, and this is still not bothered by the deadlocks
that arose from doing it in QuickSyncEncoder. (Hopefully we can soon find
keyframe boundaries without flushing, but it requires changes in avformat.)

Also fixes an issue where plugged packets would cause the boundaries
to fall in the wrong places.

7 years agoFix packet sorting in Mux.
Steinar H. Gunderson [Wed, 4 May 2016 18:18:27 +0000 (20:18 +0200)]
Fix packet sorting in Mux.

Packets cannot be compared based on dts/pts alone; they also need
to take the timebase into account. (Right now, this is harmless,
but we need more precise packet sorting in the next commit.)

7 years agoSmall refactoring in X264Encoder.
Steinar H. Gunderson [Wed, 4 May 2016 00:03:34 +0000 (02:03 +0200)]
Small refactoring in X264Encoder.

7 years agoAdd a NEWS entry about all the bug fixes.
Steinar H. Gunderson [Wed, 4 May 2016 00:00:16 +0000 (02:00 +0200)]
Add a NEWS entry about all the bug fixes.

7 years agoEncode audio as soon as we get it, instead of manually interleaving.
Steinar H. Gunderson [Tue, 3 May 2016 23:51:25 +0000 (01:51 +0200)]
Encode audio as soon as we get it, instead of manually interleaving.

I honestly can't remember why this design was chosen back in the day,
but it doesn't appear to make much sense as long as the mux can interleave
for us. It (hopefully) fixes a deadlock I've seen a few times, where the
mixer hangs on begin_frame() because there are no free surfaces,
but saved_codeddata() (which is freeing them, after save) is stuck
waiting for more audio from the mixer.

7 years agoFix an issue where a ResamplingQueue could reach unbounded length.
Steinar H. Gunderson [Tue, 3 May 2016 17:18:43 +0000 (19:18 +0200)]
Fix an issue where a ResamplingQueue could reach unbounded length.

This would happen if we stared asking for samples before the first insert,
causing the correction factor to become NaN and everything to go south.
This would also seemingly eventually cause panic messages when we believed we
were out of data in the same queue.

7 years agoFix leaking of streams in HTTPD.
Steinar H. Gunderson [Tue, 3 May 2016 16:40:18 +0000 (18:40 +0200)]
Fix leaking of streams in HTTPD.

7 years agoFix an out-of-bounds write (found by asan).
Steinar H. Gunderson [Tue, 3 May 2016 16:38:23 +0000 (18:38 +0200)]
Fix an out-of-bounds write (found by asan).

7 years agoShutdown microhttpd on shutdown.
Steinar H. Gunderson [Tue, 3 May 2016 00:09:16 +0000 (02:09 +0200)]
Shutdown microhttpd on shutdown.

7 years agoUpdate bmusb.
Steinar H. Gunderson [Mon, 2 May 2016 23:58:13 +0000 (01:58 +0200)]
Update bmusb.

7 years agoStop leaking memory allocators in DeckLinkCapture.
Steinar H. Gunderson [Mon, 2 May 2016 23:50:17 +0000 (01:50 +0200)]
Stop leaking memory allocators in DeckLinkCapture.

7 years agoUpdate bmusb.
Steinar H. Gunderson [Mon, 2 May 2016 23:45:57 +0000 (01:45 +0200)]
Update bmusb.

7 years agoFix some leaks on DecklinkCapture shutdown.
Steinar H. Gunderson [Mon, 2 May 2016 23:44:49 +0000 (01:44 +0200)]
Fix some leaks on DecklinkCapture shutdown.

7 years agoYet more fixes for clean shutdown.
Steinar H. Gunderson [Mon, 2 May 2016 23:15:17 +0000 (01:15 +0200)]
Yet more fixes for clean shutdown.

7 years agoAdd a snippet about speedcontrol to README.
Steinar H. Gunderson [Mon, 2 May 2016 21:50:36 +0000 (23:50 +0200)]
Add a snippet about speedcontrol to README.

7 years agoImplement x264 speedcontrol.
Steinar H. Gunderson [Fri, 29 Apr 2016 00:10:00 +0000 (02:10 +0200)]
Implement x264 speedcontrol.

Based on the speedcontrol patch series from x264-obe, but bugfixed,
reworked and pulled out so that it can run with vanilla x264.

Note that vanilla x264 right now has a bug that this patch exposes;
you want the patch called “Fix corruption with reconfig which changed
SPS (like change of --ref)” (currently in x264-sandbox).

7 years agoBetter error messages when channel_name/channel_color return nil.
Steinar H. Gunderson [Mon, 2 May 2016 19:45:52 +0000 (21:45 +0200)]
Better error messages when channel_name/channel_color return nil.

7 years agoFix uninitialized bytes sent to sigaction.
Steinar H. Gunderson [Mon, 2 May 2016 19:45:35 +0000 (21:45 +0200)]
Fix uninitialized bytes sent to sigaction.

7 years agoFilter Qt signals about updated names and colors.
Steinar H. Gunderson [Mon, 2 May 2016 19:44:02 +0000 (21:44 +0200)]
Filter Qt signals about updated names and colors.

This is rather painful and should not be needed, but evidently Qt
can build up unbounded signals/slots queues if we send too often
(and “too often” is seemingly mere hundreds of messages per second).

7 years agoAdd an option --map-signal= to override the default signal-to-card mapping.
Steinar H. Gunderson [Sun, 1 May 2016 20:11:05 +0000 (22:11 +0200)]
Add an option --map-signal= to override the default signal-to-card mapping.

7 years agoBegin the 1.3.0 NEWS entry.
Steinar H. Gunderson [Sun, 1 May 2016 19:56:17 +0000 (21:56 +0200)]
Begin the 1.3.0 NEWS entry.

7 years agoWhen doing a cut, do the shutdown in a separate thread.
Steinar H. Gunderson [Sun, 1 May 2016 19:52:15 +0000 (21:52 +0200)]
When doing a cut, do the shutdown in a separate thread.

Alleviates problems with dropped frames in the mixer because shutdown
takes too long. We still have a problem with audio going to a somewhat
random of the two files, though.

7 years agoUpload the textures from the main thread.
Steinar H. Gunderson [Sun, 1 May 2016 12:34:10 +0000 (14:34 +0200)]
Upload the textures from the main thread.

The texture upload from the dequeue threads (and then using fences) _should_
work, but there are seemingly driver bugs galore here; AMDs drivers crash
outright, while NVIDIA's are much more subtle, crashing after only days,
and running under apitrace shifts the behavior enough that I don't see it.

Let's try to do all of this from the main thread instead; Nageru is still
multithreaded OpenGL in many places, but with some luck, it will the last of
the NVIDIA crashes (generally manifesting themselves as libGL.so.1 free()ing
some stray pointer that was never actually allocated).

7 years agoAdd a flag to disable ALSA monitoring output.
Steinar H. Gunderson [Sat, 30 Apr 2016 23:50:18 +0000 (01:50 +0200)]
Add a flag to disable ALSA monitoring output.

7 years agoWhen dropping ALSA audio, say how much (in ms) we dropped.
Steinar H. Gunderson [Sat, 30 Apr 2016 23:18:21 +0000 (01:18 +0200)]
When dropping ALSA audio, say how much (in ms) we dropped.

8 years agoAdd an x264 example to the README.
Steinar H. Gunderson [Tue, 26 Apr 2016 22:24:46 +0000 (00:24 +0200)]
Add an x264 example to the README.

8 years agoFix a typo.
Steinar H. Gunderson [Tue, 26 Apr 2016 19:37:57 +0000 (21:37 +0200)]
Fix a typo.

8 years agoPut in a minimum H.264 quantizer as a safeguard.
Steinar H. Gunderson [Tue, 26 Apr 2016 17:15:00 +0000 (19:15 +0200)]
Put in a minimum H.264 quantizer as a safeguard.

8 years agoSupport setting x264 bitrate parameters from the command line.
Steinar H. Gunderson [Mon, 25 Apr 2016 22:44:31 +0000 (00:44 +0200)]
Support setting x264 bitrate parameters from the command line.

8 years agoSet x264 global headers (Quick Sync global headers are still not there).
Steinar H. Gunderson [Mon, 25 Apr 2016 21:04:59 +0000 (23:04 +0200)]
Set x264 global headers (Quick Sync global headers are still not there).

Should fix the H.264 stream in newer Firefox with some luck.

8 years agoSend the AVCodecContext for audio to the stream mux instead of constructing a fake...
Steinar H. Gunderson [Mon, 25 Apr 2016 19:17:25 +0000 (21:17 +0200)]
Send the AVCodecContext for audio to the stream mux instead of constructing a fake one. Probably fixes missing AAC extradata.

8 years agoMake SIGUSR1 actually quit, not just stop the mixer.
Steinar H. Gunderson [Sun, 24 Apr 2016 22:17:17 +0000 (00:17 +0200)]
Make SIGUSR1 actually quit, not just stop the mixer.

8 years agoMake QuickSyncEncoder get its textures from ResourcePool.
Steinar H. Gunderson [Sun, 24 Apr 2016 21:45:55 +0000 (23:45 +0200)]
Make QuickSyncEncoder get its textures from ResourcePool.

This fixes a problem where the ResourcePool would not be aware
that a given texture had been deleted (and a new one come back
using the same texture number), and thus happily continue
to give out cached FBOs from it, even though OpenGL had unlinked
those FBOs when the texture was deleted.

8 years agoBe much slower about reducing queue length; this was a bit too spammy.
Steinar H. Gunderson [Sun, 24 Apr 2016 21:45:02 +0000 (23:45 +0200)]
Be much slower about reducing queue length; this was a bit too spammy.

8 years agoAdd some README notes about x264.
Steinar H. Gunderson [Sun, 24 Apr 2016 21:14:11 +0000 (23:14 +0200)]
Add some README notes about x264.

8 years agoFix a minor reentrancy problem in QuickSyncEncoder.
Steinar H. Gunderson [Sat, 23 Apr 2016 22:33:39 +0000 (00:33 +0200)]
Fix a minor reentrancy problem in QuickSyncEncoder.

8 years agoFix a context memory leak on cut.
Steinar H. Gunderson [Sat, 23 Apr 2016 22:31:00 +0000 (00:31 +0200)]
Fix a context memory leak on cut.

8 years agoMove X264Encoder out of QuickSyncEncoder. This completes independent restart of the...
Steinar H. Gunderson [Sat, 23 Apr 2016 21:45:39 +0000 (23:45 +0200)]
Move X264Encoder out of QuickSyncEncoder. This completes independent restart of the file mux from the stream (sans bugs).

8 years agoSet frag_duration=125000, to get smaller (less bursty) fragments when streaming.
Steinar H. Gunderson [Sat, 23 Apr 2016 21:45:00 +0000 (23:45 +0200)]
Set frag_duration=125000, to get smaller (less bursty) fragments when streaming.

8 years agoMake the VideoEncoder own the stream audio encoder (and make it unconditionally)...
Steinar H. Gunderson [Sat, 23 Apr 2016 21:36:49 +0000 (23:36 +0200)]
Make the VideoEncoder own the stream audio encoder (and make it unconditionally), not the QuickSyncEncoder.

8 years agoFix a circular initialization issue with AudioEncoder.
Steinar H. Gunderson [Sat, 23 Apr 2016 21:32:42 +0000 (23:32 +0200)]
Fix a circular initialization issue with AudioEncoder.

8 years agoMove audio encoding from QuickSyncEncoder into its own class.
Steinar H. Gunderson [Sat, 23 Apr 2016 21:03:06 +0000 (23:03 +0200)]
Move audio encoding from QuickSyncEncoder into its own class.

8 years agoMove the entire stream mux logic from QuickSyncEncoder into VideoEncoder.
Steinar H. Gunderson [Sat, 23 Apr 2016 20:32:17 +0000 (22:32 +0200)]
Move the entire stream mux logic from QuickSyncEncoder into VideoEncoder.

8 years agoStart pulling video orchestration logic into VideoEncoder.
Steinar H. Gunderson [Sat, 23 Apr 2016 20:16:20 +0000 (22:16 +0200)]
Start pulling video orchestration logic into VideoEncoder.

8 years agoMake more consistent filenames for QuickSyncEncoder and X264Encoder.
Steinar H. Gunderson [Sat, 23 Apr 2016 19:56:15 +0000 (21:56 +0200)]
Make more consistent filenames for QuickSyncEncoder and X264Encoder.

8 years agoRename H264Encoder to QuickSyncEncoder, since we will be splitting out the non-QuickS...
Steinar H. Gunderson [Sat, 23 Apr 2016 19:53:11 +0000 (21:53 +0200)]
Rename H264Encoder to QuickSyncEncoder, since we will be splitting out the non-QuickSync parts from it soon.

8 years agoDon't check AVFMT_ALLOW_FLUSH
Martin Storsjö [Wed, 20 Apr 2016 11:48:33 +0000 (14:48 +0300)]
Don't check AVFMT_ALLOW_FLUSH

This check is redundant, av_write_frame does a similar check
internally already. The caller is not supposed to need to know/care
about this.

8 years agoSet duration for all video frames.
Steinar H. Gunderson [Tue, 19 Apr 2016 21:46:26 +0000 (23:46 +0200)]
Set duration for all video frames.

Generally the muxer will ignore these, but there's one specific case
where it cannot: Since we flush before keyframes, the mov (MP4) mux
will not be able to set a proper duration based on the next frame
(usually it just does next_dts - dts), and thus guesses that it will be
the same as the previous one. If we dropped a frame between those two,
the duration of said last frame will be wrong -- and the keyframe
(starting in the next fragment) will get the wrong pts, possibly
seemingly even going backwards.

If we lose a frame between the last frame and the keyframe, the pts
of the keyframe will still be a bit wonky, but according to wbs
(who wrote the mux), it's much better like so.

8 years agoScale duration correctly.
Steinar H. Gunderson [Tue, 19 Apr 2016 19:50:15 +0000 (21:50 +0200)]
Scale duration correctly.

8 years agoHook up SIGUSR1 for testing clean shutdown.
Steinar H. Gunderson [Tue, 19 Apr 2016 00:18:01 +0000 (02:18 +0200)]
Hook up SIGUSR1 for testing clean shutdown.

8 years agoFix a threading issue during shutdown (two threads would try to encode audio at the...
Steinar H. Gunderson [Tue, 19 Apr 2016 00:09:44 +0000 (02:09 +0200)]
Fix a threading issue during shutdown (two threads would try to encode audio at the same time).

8 years agoFix flag mismatches in the zerocopy diagnostics.
Steinar H. Gunderson [Tue, 19 Apr 2016 00:04:27 +0000 (02:04 +0200)]
Fix flag mismatches in the zerocopy diagnostics.

8 years agoDeal properly with audio at the end of the stream.
Steinar H. Gunderson [Mon, 18 Apr 2016 23:58:59 +0000 (01:58 +0200)]
Deal properly with audio at the end of the stream.

8 years agoMore shutdown issues with X264Encoder (still not fully there).
Steinar H. Gunderson [Mon, 18 Apr 2016 23:58:45 +0000 (01:58 +0200)]
More shutdown issues with X264Encoder (still not fully there).

8 years agoFix a shutdown issue in X264Encoder.
Steinar H. Gunderson [Mon, 18 Apr 2016 23:56:38 +0000 (01:56 +0200)]
Fix a shutdown issue in X264Encoder.

8 years agoRemove some debugging output.
Steinar H. Gunderson [Mon, 18 Apr 2016 23:25:45 +0000 (01:25 +0200)]
Remove some debugging output.

8 years agoMake X264Encoder possible to shut down.
Steinar H. Gunderson [Mon, 18 Apr 2016 23:14:28 +0000 (01:14 +0200)]
Make X264Encoder possible to shut down.

8 years agoAdd Metacube stream output (for Cubemap).
Steinar H. Gunderson [Mon, 18 Apr 2016 22:19:43 +0000 (00:19 +0200)]
Add Metacube stream output (for Cubemap).

8 years agoPut a global lock around glFenceSync/glDeleteSync calls, to workaround apitrace bug...
Steinar H. Gunderson [Mon, 18 Apr 2016 21:12:05 +0000 (23:12 +0200)]
Put a global lock around glFenceSync/glDeleteSync calls, to workaround apitrace bug #446. (Replaying Nageru calls using apitrace can be very useful, and it should not have any appreciable performance impact in practice.)

8 years agoSynchronize the Mux class, since both H264EncoderImpl and X264Encoder are writing...
Steinar H. Gunderson [Mon, 18 Apr 2016 17:35:18 +0000 (19:35 +0200)]
Synchronize the Mux class, since both H264EncoderImpl and X264Encoder are writing to it (from different threads).

8 years agoPut __restrict on the right place (the pointer; the pointee cannot be restricted...
Steinar H. Gunderson [Mon, 18 Apr 2016 14:39:03 +0000 (16:39 +0200)]
Put __restrict on the right place (the pointer; the pointee cannot be restricted). Fixes compilation with Clang.

8 years agoMake it possible to set x264 preset/tune from the command line.
Steinar H. Gunderson [Mon, 18 Apr 2016 14:16:41 +0000 (16:16 +0200)]
Make it possible to set x264 preset/tune from the command line.

8 years agoSeparate muxing entirely out of the HTTPD class.
Steinar H. Gunderson [Mon, 18 Apr 2016 13:24:16 +0000 (15:24 +0200)]
Separate muxing entirely out of the HTTPD class.

At some point, it was indeed more convenient to mux separately to everybody,
but muxing needs to know more stuff these days, so it was getting increasingly
ugly. This code follows roughly what VLC does to extract the header and various
block boundaries.

8 years agoCorrect audio pts for framing. Still something fishy around, though.
Steinar H. Gunderson [Sun, 17 Apr 2016 22:56:54 +0000 (00:56 +0200)]
Correct audio pts for framing. Still something fishy around, though.

8 years agoFix some small memory leaks (some bigger remain).
Steinar H. Gunderson [Sun, 17 Apr 2016 22:41:41 +0000 (00:41 +0200)]
Fix some small memory leaks (some bigger remain).

8 years agoFix a memory leak in audio encoding.
Steinar H. Gunderson [Sun, 17 Apr 2016 22:31:35 +0000 (00:31 +0200)]
Fix a memory leak in audio encoding.

8 years agoSet global headers to fix some issues with AAC over HTTP.
Steinar H. Gunderson [Sun, 17 Apr 2016 22:12:08 +0000 (00:12 +0200)]
Set global headers to fix some issues with AAC over HTTP.

8 years agoMore fixes for non-PCM HTTP audio codecs.
Steinar H. Gunderson [Sun, 17 Apr 2016 22:09:21 +0000 (00:09 +0200)]
More fixes for non-PCM HTTP audio codecs.

8 years agoRemove some debugging spew.
Steinar H. Gunderson [Sun, 17 Apr 2016 22:05:12 +0000 (00:05 +0200)]
Remove some debugging spew.

8 years agoSupport encoding the HTTP stream with x264. Highly experimental for now!
Steinar H. Gunderson [Sun, 17 Apr 2016 20:38:05 +0000 (22:38 +0200)]
Support encoding the HTTP stream with x264. Highly experimental for now!

8 years agoMake it possible for file and HTTP streams to use different audio codecs.
Steinar H. Gunderson [Sun, 17 Apr 2016 20:35:34 +0000 (22:35 +0200)]
Make it possible for file and HTTP streams to use different audio codecs.

8 years agoFix encoding to audio codecs that need a fixed frame size (e.g. mp3lame).
Steinar H. Gunderson [Sun, 17 Apr 2016 20:32:58 +0000 (22:32 +0200)]
Fix encoding to audio codecs that need a fixed frame size (e.g. mp3lame).

8 years agoPull the file muxing out of the HTTPD. (It was pretty ugly all along.)
Steinar H. Gunderson [Sun, 17 Apr 2016 19:46:15 +0000 (21:46 +0200)]
Pull the file muxing out of the HTTPD. (It was pretty ugly all along.)

8 years agoPull the Mux class out of HTTPD. (First step towards decoupling file and HTTP muxing.)
Steinar H. Gunderson [Sun, 17 Apr 2016 19:37:47 +0000 (21:37 +0200)]
Pull the Mux class out of HTTPD. (First step towards decoupling file and HTTP muxing.)

8 years agoChoose sample format on-the-fly instead of hard-coding it in defs.h.
Steinar H. Gunderson [Sun, 17 Apr 2016 16:16:40 +0000 (18:16 +0200)]
Choose sample format on-the-fly instead of hard-coding it in defs.h.