<feed xmlns='http://www.w3.org/2005/Atom'>
<title>paraslash/filter.c, branch pu</title>
<subtitle>paraslash - network audio streaming tools</subtitle>
<id>https://git.tue.mpg.de/cgit/paraslash/atom?h=pu</id>
<link rel='self' href='https://git.tue.mpg.de/cgit/paraslash/atom?h=pu'/>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/'/>
<updated>2026-03-17T22:45:43Z</updated>
<entry>
<title>Switch to SPDX identifiers.</title>
<updated>2026-03-17T22:45:43Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2026-03-15T14:57:29Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=ea0cecf96e08c489fdcc94d046019f4ce46f58e2'/>
<id>urn:sha1:ea0cecf96e08c489fdcc94d046019f4ce46f58e2</id>
<content type='text'>
Generated with

	sed -i 's|Copyright.*Andre Noll.*|SPDX-License-Identifier: GPL-2.0 */|g' *.c *.h

followed by manually tweaking the result a bit. No license change intended.
</content>
</entry>
<entry>
<title>Improve filter documentation.</title>
<updated>2025-10-08T18:58:23Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2025-06-16T17:16:45Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=dd04521a32272317cb3c2a978ed4a8c293e40260'/>
<id>urn:sha1:dd04521a32272317cb3c2a978ed4a8c293e40260</id>
<content type='text'>
This extends the top level doxygen comments of filter.c and filter.h and
the documentation of para_filter(1)'s main function. The new text outlines
how filters in general and para_filter(1) in particular set up their buffer
tree nodes and register the corresponding tasks.

We re-order the function declarations of filter.h so that they are grouped
together. The previously undocumented write_int16_host_endian() is doxified
using the _static_inline_ macro to prevent doxygen from excluding the
documentation. On the other hand, most comments of filter.c are dedoxified,
so that only the top level file comment and the documentation of the main
function make it into the web docs. Everything else is too special to be
useful there.
</content>
</entry>
<entry>
<title>Revamp the stdin/stdout API.</title>
<updated>2025-08-27T17:16:54Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2025-07-09T15:20:42Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=c30b3cf7b9eb76f6b0a6259a4f630017de804608'/>
<id>urn:sha1:c30b3cf7b9eb76f6b0a6259a4f630017de804608</id>
<content type='text'>
With the current API it is impossible to free the memory that was allocated
by stdin_task_register() after schedule() returns. This commit replaces the
APIs defined in stdin.h and stdout.h to remove the memory leaks which are
inevitable with the old API. We also make struct stdin_task and stdout_task
opaque because the API users (client.c, filter.c, recv.c and write.c) should
not be able to manipulate the fields of these structures directly.

The new stdout API differs from the new stdin API only in that stdout_new()
needs an additional argument to let the caller pass in a pointer to the
parent buffer tree node. Other than that, the APIs are symmetric.

Use the opportunity to do the non-blocking dance in std{in,out}_new()
and std{in,out}_free() rather than in the post-monitor functions. This
way we may get rid of the silly -&gt;must_set_nonblock_flag boolean of struct
std{in,out}_task.
</content>
</entry>
<entry>
<title>Make struct sched private, introduce sched_new().</title>
<updated>2025-07-13T14:38:46Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2025-06-10T14:06:03Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=8925c518a819d6e4826dcbb616cc3e1b85920354'/>
<id>urn:sha1:8925c518a819d6e4826dcbb616cc3e1b85920354</id>
<content type='text'>
This moves the declaration of the structure from sched.h to sched.c because
the information stored in this structure has almost no users outside of the
scheduler core.

As a result, the size of the structure is no longer known outside of sched.c.
To initialize a scheduler instance, users now must call the new sched_new(),
passing an alternative poll function if needed, We don't let applications
set the default timeout anymore because the value is kind of arbitrary anyway
and most users specified one second. So hardcode this as the default.

Besides allocating the scheduler structure, sched_new() also initializes the
task list and the poll function pointer. Thanks to these initializations,
the two conditions of sched.c removed in this patch are never true.
</content>
</entry>
<entry>
<title>filter.c: Remove pointless variable and assignment.</title>
<updated>2025-07-12T19:45:44Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2025-07-08T19:39:11Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=7803a60490214ac030ee5a410c6e43866864031d'/>
<id>urn:sha1:7803a60490214ac030ee5a410c6e43866864031d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix (benign) memory leak at exit in para_filter.</title>
<updated>2025-07-12T19:45:44Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2025-07-08T19:37:04Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=b551413e7aee0791681ecb1b1e97c3e0c95c1505'/>
<id>urn:sha1:b551413e7aee0791681ecb1b1e97c3e0c95c1505</id>
<content type='text'>
We missed to free the filter-specific lopsub parse result.
</content>
</entry>
<entry>
<title>filter.c: Constify dummy variable.</title>
<updated>2025-05-28T17:23:40Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2025-05-27T19:19:30Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=842de7d07a58a12c95fd4b6ce9bb29b3e8f8f588'/>
<id>urn:sha1:842de7d07a58a12c95fd4b6ce9bb29b3e8f8f588</id>
<content type='text'>
It needs to be non-static, but it may be const because the amp filter
only reads the values of this array.
</content>
</entry>
<entry>
<title>filter.c: Remove unused status_item_list[].</title>
<updated>2025-05-28T17:21:29Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2025-05-27T19:15:51Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=e9ff6448bf9cf076d86a39be9c4c1e29caa17347'/>
<id>urn:sha1:e9ff6448bf9cf076d86a39be9c4c1e29caa17347</id>
<content type='text'>
para_filter does not need this at all, and never has, afaict.
</content>
</entry>
<entry>
<title>Merge topic branch t/build into master</title>
<updated>2025-05-20T19:37:21Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2025-05-20T19:33:04Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=82651853811d4743467a71c0f6dca7492a6157ec'/>
<id>urn:sha1:82651853811d4743467a71c0f6dca7492a6157ec</id>
<content type='text'>
A medium sized series for the build system which improves the way the git
version string is stored in the executables and man pages. Subsequent patches
of the series remove some warts from the makefile: we no longer use order-only
dependencies and the .PRECIOUS target.

The merge results in a conflict against the "remove regex include" commit
67388cd4fae0. This is trivial to resolve, though.

* refs/heads/t/build:
  Doxify version functions.
  Doxify OV_EXCLUDE_STATIC_CALLBACKS #define.
  Makefile: Fix braino in tarball target.
  build: Remove superfluous dependency in Makefile.real.
  build: Remove the .PRECIOUS target.
  build: Improve clean targets.
  build: Get rid of directory order-only dependencies.
  build: Compile with -Wunused -Wall also on BSD.
  build: Revamp git versioning.
  build: Merge version.{c,h} into string.{c,h}.
</content>
</entry>
<entry>
<title>Include regex.h from para.h.</title>
<updated>2025-05-19T17:35:58Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2025-05-18T20:05:45Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=67388cd4fae0cfd1674aada937f4f4d2faeeee1f'/>
<id>urn:sha1:67388cd4fae0cfd1674aada937f4f4d2faeeee1f</id>
<content type='text'>
Every .c file includes it anyway.
</content>
</entry>
</feed>
