paraslash

Paraslash network audio streaming tools


About
News
Download
Documentation
Development

Development


The table below shows the topics currently under development. Each topic is included in the integration branch shown as Branch . Topics in next are expected to be of higher quality than those in pu .

Name Branch Commits Description
duration-keyword pu 1 make "duration" a new keyword for the mood grammar
list-cleanups next 9 clean up list.h
misc pu 10 smallish miscellaneous changes for master
mp4ff pu 140 provide our own copy of libmp4ff
openssl-3 pu 1 Don't use openssl APIs anymore which got depreciated in openssl-3.
rm_task_subcmd next 1 Remove the obsolete server command "tasks".
rm_v1_moods next 1 Remove version 1 moods.
score-formula next 1 rework the score formula of the audio file selector
sf_float pu 1 support 32 bit float sample format.
sha256 pu 5 switch from sha1 to sha256
ubsan pu 1 New option for configure to activate ubsan
writer_improvements pu 3 improve handling of early EOF

Topic branch details

The SHA1 number shown as tip can be used to checkout a commit which only contains the changes introduced in this topic.

duration-keyword

  • desc: make “duration” a new keyword for the mood grammar
  • state: started on 2018-08-30
  • branch: pu
  • base: master
  • aim: master
  • number commits: 1
  • tip: a069eb1fe5689fe53b7e88e2e70deeff084fd034
  • merge commit: 444760e1073924be9575a7264f9644f05e0a3674
  • merge date: Tue, 21 Sep 2021 21:34:58 +0200
  • rebase count: 0

The new “duration” keyword of the mood grammar makes it possible to impose a constraint on the duration of the admissible files.

A single patch which was created already in 2018 but did not propagate for years to next and master for no good reason.

     mp.c          | 21 +++++++++++++++++++++
     mp.h          |  1 +
     web/manual.md |  1 +
     yy/mp.lex     |  1 +
     yy/mp.y       |  5 +++++
     5 files changed, 29 insertions(+)

list-cleanups

  • desc: clean up list.h
  • state: started on 2021-05-15, cooking since 2021-08-17
  • branch: next
  • base: master
  • aim: master
  • number commits: 9
  • tip: 442a3320ff155d09b990c0ee2abace399cbcd6dd
  • merge commit: c5e51f2c5fe37c10895133fb824712c3b52022a3
  • merge date: Sun, 8 Aug 2021 17:36:07 +0200
  • rebase count: 6

A bunch of simple patches which streamline the macros and inline functions of list.h which were taken from linux long ago without adjusting the coding style.

Cleanups of the linked list code.

     afs.c           |   2 +-
     buffer_tree.c   |   4 +-
     chunk_queue.c   |   2 +-
     close_on_fork.c |   2 +-
     list.h          | 202 +++++++++++++++++++++-----------------------------------
     mood.c          |   6 +-
     net.c           |   2 +-
     sched.c         |   2 +-
     send_common.c   |   4 +-
     sync_filter.c   |   2 +-
     udp_send.c      |   4 +-
     vss.c           |   2 +-
     12 files changed, 90 insertions(+), 144 deletions(-)

misc

  • desc: smallish miscellaneous changes for master
  • state: testing
  • branch: pu
  • base: master
  • aim: master
  • number commits: 10
  • tip: 3b79a85bae06efdfc30990880ed89473934757ab
  • merge commit: b0c9c49627fba3ae4b03412a9b4028f440c84706
  • merge date: Tue, 21 Sep 2021 21:34:56 +0200
  • rebase count: 0

Stuff in here is too small to get its own topic branch, and safe enough to be applied to master without cooking in next.

     aac_afh.c     | 24 +++++++++++-------------
     afh.c         |  5 +++--
     afh.h         |  8 +++-----
     afh_common.c  |  4 ++--
     afh_recv.c    | 11 ++++++-----
     afs.c         | 12 ++++++------
     afs.h         |  2 +-
     aft.c         | 28 ++++++++++++++++++----------
     server.c      |  5 ++---
     sync_filter.c |  3 ++-
     udp_send.c    |  2 ++
     vss.c         | 26 +++++++++++++++++---------
     12 files changed, 73 insertions(+), 57 deletions(-)

mp4ff

  • desc: provide our own copy of libmp4ff
  • state: started on 2021-08-08
  • branch: pu
  • base: master
  • aim: master
  • number commits: 140
  • tip: 5922946f4640e552be8e6cfcc324b8d13d9d1d8e
  • merge commit: b9d3ec3693720724864be54912a7c3878827aae7
  • merge date: Tue, 21 Sep 2021 21:34:54 +0200
  • rebase count: 0

A stripped down copy of the discontinued libmp4ff library is has become part of paraslash. As a result, it is no longer necessary to install faad from source to get support for aac/m4a files. The faad decoder package must still be installed.

This 130+ patch behemoth adds a stripped down copy of libmp4ff to the repo. This has become necessary because the library was dropped from the faad project.

The series starts with a patch which adds an unmodified copy of the relevant parts of libmp4ff to the repo. All code is combined in a single .c file containing approximately 2K lines of code. The public API is defined in the new mp4.h.

The remaining patches clean up the two new files, simplifying and removing large parts of it. Some of the patches modifiy the API, and those require small changes to the aac audio format handler, which also becomes simpler due to these changes. The aac decoder, however, is not touched in this series.

     aac_afh.c    |  271 +++++----------
     configure.ac |   12 +-
     error.h      |   15 +-
     mp4.c        | 1046 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
     mp4.h        |   87 +++++
     5 files changed, 1236 insertions(+), 195 deletions(-)

openssl-3

  • desc: Don’t use openssl APIs anymore which got depreciated in openssl-3.
  • state: started on 2021-09-10
  • branch: pu
  • base: master
  • aim: master
  • number commits: 1
  • tip: f3be7384d13081dd1511ec95fb6df9030caa2768
  • merge commit: 44ea618d2084285bdd6f308231d8db441fb89fa4
  • merge date: Tue, 21 Sep 2021 21:34:51 +0200
  • rebase count: 0

       openssl.c | 18 +++++++++++++++++-
       1 file changed, 17 insertions(+), 1 deletion(-)
    

rm_task_subcmd

  • desc: Remove the obsolete server command “tasks”.
  • state: started on 2020-03-17, cooking since 2021-02-27
  • branch: next
  • base: master
  • aim: master
  • number commits: 1
  • tip: 5dffe231771540d1295c5d75b29920834478051f
  • merge commit: ad01d26fd6da15ea390d19a28082dd0400ccbfec
  • merge date: Sat, 27 Feb 2021 17:59:37 +0100
  • rebase count: 13

A single commit containing an incompatible change for 0.7.0.

The server command “tasks” server command has been removed.

     client.c                   | 1 -
     command.c                  | 8 --------
     m4/lls/server_cmd.suite.m4 | 9 ---------
     3 files changed, 18 deletions(-)

rm_v1_moods

  • desc: Remove version 1 moods.
  • state: started on 2020-03-16, cooking since 2021-02-27
  • branch: next
  • base: master
  • aim: master
  • number commits: 1
  • tip: 184ea897a9b446611a9d02315160b6d77c0926fe
  • merge commit: ea033fda3608cf2480f37a301c7ce6ec9c0f0ed3
  • merge date: Sat, 27 Feb 2021 17:59:36 +0100
  • rebase count: 13

A single commit which removes a long obsolete feature.

Support for the long deprecated version 1 moods, has been removed.

     configure.ac |   1 -
     mm.c         | 375 -------------------------------------------------------
     mm.h         |  62 ----------
     mood.c       | 399 ++++++-----------------------------------------------------
     4 files changed, 41 insertions(+), 796 deletions(-)

score-formula

  • desc: rework the score formula of the audio file selector
  • state: started on 2020-03-14, cooking since 2021-05-13
  • branch: next
  • base: master
  • aim: master
  • number commits: 1
  • tip: 86b5aba882056a6ff6d8645684e59222ba74a818
  • merge commit: c483c795293bc260e079fdfdc81967d809b4ec4b
  • merge date: Thu, 13 May 2021 18:12:16 +0200
  • rebase count: 9

  • A single patch which modifies the score function of the audio file selector to re-scale the two quantities that comprise the score value.

  • The score formula of the audio file selector has been reworked.

       mood.c | 123 +++++++++++++++++++++++++++++++++++++++++++++++++++--------------
       1 file changed, 98 insertions(+), 25 deletions(-)
    

sf_float

  • desc: support 32 bit float sample format.
  • state: started on 2018-04-29
  • branch: pu
  • base: master
  • aim: master
  • number commits: 1
  • tip: 0e062fdee6aed6efe5be7fd1f07c5e81751620e6
  • merge commit: 16be3972c37e5ddc9941f992d483dec77a0d46aa
  • merge date: Tue, 21 Sep 2021 21:34:49 +0200
  • rebase count: 70

A single patch which adds two new sample formats for 32 bit IEEE float waveform data.

  • The alsa writer also supports 32 bit float sample formats.

       alsa_write.c                    |  2 ++
       ao_write.c                      |  2 ++
       check_wav.c                     | 20 +++++++++++++++++---
       m4/lls/include/sample-format.m4 |  4 +++-
       para.h                          |  2 ++
       5 files changed, 26 insertions(+), 4 deletions(-)
    

sha256

  • desc: switch from sha1 to sha256
  • state: started on 2020-03-06
  • branch: pu
  • base: master
  • aim: master
  • number commits: 5
  • tip: 023a077d5d8526c4d4b08e52e296b9cc1c0b7828
  • merge commit: e6a972fd8545f0a605109100b624941717ab9c53
  • merge date: Tue, 21 Sep 2021 21:34:49 +0200
  • rebase count: 0

       Makefile.in                |   1 +
       Makefile.real              |   5 +-
       afs.c                      |   2 +-
       aft.c                      |  34 ++--
       client_common.c            |  38 ++++-
       command.c                  |  35 ++++-
       configure.ac               |  14 +-
       crypt.h                    |  39 +++++
       crypt_common.c             |  25 +++
       gcrypt.c                   |  16 ++
       m4/lls/server.suite.m4     |   2 +-
       m4/lls/upgrade_db.suite.m4 |  33 ++++
       openssl.c                  |   8 +
       upgrade_db.c               | 382 +++++++++++++++++++++++++++++++++++++++++++++
       web/manual.md              |   8 +-
       15 files changed, 602 insertions(+), 40 deletions(-)
    

ubsan

  • desc: New option for configure to activate ubsan
  • state: started on 2017-07-15
  • branch: pu
  • base: master
  • aim: master
  • number commits: 1
  • tip: c78c3d878bf8ea97b1e2e056863e3a5bfbe4a905
  • merge commit: 051c5dad376f1f4bfe5fec4621bbf84d10be3659
  • merge date: Tue, 21 Sep 2021 21:34:48 +0200
  • rebase count: 0

New option for configure: –enable-ubsan to detect and report undefined behaviour.

A single patch which adds an option to ./configure which instructs the compiler to activate its undefined behaviour checker.

     Makefile.in   | 2 ++
     Makefile.real | 5 +++++
     configure.ac  | 5 +++++
     3 files changed, 12 insertions(+)

writer_improvements

  • desc: improve handling of early EOF
  • state: started on 2021-09-05
  • branch: pu
  • base: master
  • aim: master
  • number commits: 3
  • tip: 305ef5eb511004295e448e3ea84f5555511241f0
  • merge commit: 782725a16d8e2bba5241d3217f3c421a14593744
  • merge date: Tue, 21 Sep 2021 21:34:48 +0200
  • rebase count: 0

       alsa_write.c   | 27 ++++++++++++++++++---------
       ao_write.c     | 12 +++++++++---
       oss_write.c    | 12 +++++++++---
       write.h        |  6 +++---
       write_common.c | 38 +++++++++++++++++++++-----------------
       5 files changed, 60 insertions(+), 35 deletions(-)