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
ONESHELL pu 1 Activate the .ONESHELL feature
afh pu 6 cleanups of the audio format handlers
afh-preserve next 1 New option for para_afh to preserve timestamps
blob next 1 fixes for blob.c
compress next 5 improvements to the compress filter
duration-keyword pu 1 make "duration" a new keyword for the mood grammar
ff next 3 overhaul the ff server command
for-maint pu 0 urgent fixes for old bugs
misc pu 8 smallish miscellaneous changes for master
mixer-fix next 2 Two bug fixes for the sleep mode of para_mixer
para_play pu 2 Improvements to para_play
sf_float pu 1 support 32 bit float sample format.
ss pu 27 screen saver implementation based on Imagemagick
ssh pu 10 support for RFC4716 keys
ubsan pu 1 New option for configure to activate ubsan

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.

ONESHELL

  • desc: Activate the .ONESHELL feature
  • state: started on 2018-10-08
  • branch: pu
  • base: master
  • aim: master
  • number commits: 1
  • tip: 5904439a2ae297941993447d98e99ee583c60132
  • merge commit: 83d900cbad4b5248291e41da6eeaece223a71b0e
  • merge date: Mon, 26 Nov 2018 08:39:27 +0100
  • rebase count: 1

A single patch which instructs the build system to run multi-line statements in Makefiles in a single shell instance.

  • We now build the tree using the .ONESHELL feature of GNU make, which results in a significant speedup.

       Makefile.real   | 67 ++++++++++++++++++++++++++++++---------------------------
       m4/lls/makefile | 24 ++++++++++-----------
       t/makefile.test |  5 +++--
       3 files changed, 50 insertions(+), 46 deletions(-)
    

afh

  • desc: cleanups of the audio format handlers
  • state: started on 2018-09-19
  • branch: pu
  • base: master
  • aim: master
  • number commits: 6
  • tip: 6b4ea53e0071d911f48b17782136376a341af4b1
  • merge commit: 174cc57972046ccc72c6d50fcb5217ce0b307eb2
  • merge date: Mon, 26 Nov 2018 08:39:27 +0100
  • rebase count: 0

A couple of patches which remove ->init of struct audio_format_handler and struct receiver.

  • Cleanup of the audio format handler code.

       aac_afh.c     |  22 ++++----
       afh.c         |   1 -
       afh.h         |   9 ----
       afh_common.c  | 166 ++++++++++++++++++++--------------------------------------
       afh_recv.c    |   2 -
       audiod.c      |   1 -
       dccp_recv.c   |   1 -
       flac_afh.c    |  15 +++---
       http_recv.c   |   1 -
       mp3_afh.c     |  15 +++---
       ogg_afh.c     |  19 +++----
       opus_afh.c    |  19 +++----
       play.c        |   4 --
       recv.c        |   1 -
       recv.h        |   7 ---
       recv_common.c |  21 --------
       server.c      |   3 --
       spx_afh.c     |  17 +++---
       udp_recv.c    |   1 -
       wma_afh.c     |  16 +++---
       20 files changed, 118 insertions(+), 223 deletions(-)
    

afh-preserve

  • desc: New option for para_afh to preserve timestamps
  • state: started on 2018-07-31, cooking since 2018-09-04
  • branch: next
  • base: master
  • aim: master
  • number commits: 1
  • tip: 0e34285da6ad1111b270d3463d5216493ffcde6f
  • merge commit: effc3918d2c2caaf822316416f4495231aedf50b
  • merge date: Tue, 4 Sep 2018 12:38:03 +0200
  • rebase count: 15

A single patch which adds –preserve to para_afh.

para_afh: New option: –preserve to reset the modification time to the value of the original file after meta data modification.

     afh.c               | 18 ++++++++++++++++++
     m4/lls/afh.suite.m4 |  6 ++++++
     2 files changed, 24 insertions(+)

afh-preserve

  • desc: New option for para_afh to preserve timestamps
  • state: started on 2018-07-31, cooking since 2018-09-04
  • branch: next
  • base: master
  • aim: master
  • number commits: 1
  • tip: 0e34285da6ad1111b270d3463d5216493ffcde6f
  • merge commit: effc3918d2c2caaf822316416f4495231aedf50b
  • merge date: Tue, 4 Sep 2018 12:38:03 +0200
  • rebase count: 15

A single patch which adds –preserve to para_afh.

para_afh: New option: –preserve to reset the modification time to the value of the original file after meta data modification.

     afh.c               | 18 ++++++++++++++++++
     m4/lls/afh.suite.m4 |  6 ++++++
     2 files changed, 24 insertions(+)

blob

  • desc: fixes for blob.c
  • state: started on 2018-09-04, cooking since 2018-10-13
  • branch: next
  • base: master
  • aim: master
  • number commits: 1
  • tip: 126b6744c6dc58160dcbcc05e2aff2be7147f02f
  • merge commit: 1b78fccd76185757fd335b5d661235853d016d15
  • merge date: Sat, 13 Oct 2018 19:13:14 +0200
  • rebase count: 1

A single endian fix to blob.c.

     blob.c | 30 +++++++++++++++++++-----------
     1 file changed, 19 insertions(+), 11 deletions(-)

compress

  • desc: improvements to the compress filter
  • state: started on 2018-05-19, cooking since 2018-09-05
  • branch: next
  • base: master
  • aim: master
  • number commits: 5
  • tip: 99f21f0b6ecf29f949cdbce285e241a2e3ef3093
  • merge commit: ed37c0e869ce011fc82aaf882af2d906d9f3caf5
  • merge date: Wed, 5 Sep 2018 17:23:51 +0200
  • rebase count: 15

A short series which overhauls the algorithm behind the compress filter and its documentation.

  • An overhaul of the compress filter code. The refined algorithm should reduce clipping. The meaning of –aggressiveness has changed, see the updated and extended documentation of the compress filter for details.

       compress_filter.c          | 43 +++++++++++++++++++++++++++++++++++++++----
       m4/lls/filter_cmd.suite.m4 | 32 ++++++++++++++++++++++++++------
       2 files changed, 65 insertions(+), 10 deletions(-)
    

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: 6707dd0693e1ba8d2eab1e1e2edfd0966e1b2c82
  • merge commit: 33864cf6b8a0b70966407720f477fee4550ce471
  • merge date: Mon, 26 Nov 2018 08:39:27 +0100
  • rebase count: 15

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

ff

  • desc: overhaul the ff server command
  • state: started on 2018-05-01, cooking since 2018-08-01
  • branch: next
  • base: master
  • aim: master
  • number commits: 3
  • tip: 9d232e636d79a2321e280fe3eee6839c8f45c36f
  • merge commit: d397fe5f73aefdecc5d38a1cad7ec3429bf89edf
  • merge date: Wed, 1 Aug 2018 15:53:46 +0200
  • rebase count: 23

A short series which overhauls the ff server command.

  • The ff command now accepts a negative argument to instruct the virtual streaming system to jump backwards in the current audio stream. The old syntax (e.g., “ff 30-”) is still supported but it is deprecated and no longer documented. The compatibility code is sheduled for removal after 0.7.0.

       command.c                  | 32 ++++++++++++++++++++++----------
       m4/lls/server_cmd.suite.m4 | 20 ++++++++++----------
       2 files changed, 32 insertions(+), 20 deletions(-)
    

for-maint

  • desc: urgent fixes for old bugs
  • state: cooking for a while, to be merged soon
  • branch: pu
  • base: maint
  • aim: maint
  • number commits: 0
  • tip: 884f36e554f9c58815bc24cc3f1f033ab30cb7c7
  • merge commit: 884f36e554f9c58815bc24cc3f1f033ab30cb7c7
  • merge date: Mon, 30 Apr 2018 21:26:12 +0200
  • rebase count: 0

misc

  • desc: smallish miscellaneous changes for master
  • state: testing
  • branch: pu
  • base: master
  • aim: master
  • number commits: 8
  • tip: 5cd92fbcde8429c5789d2451013720ae5aa7e67b
  • merge commit: 6c810999690cbec3ed6cd55d66080e54c74152d4
  • merge date: Mon, 26 Nov 2018 08:39:27 +0100
  • 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.

     afs.c     |  5 +++--
     afs.h     |  2 ++
     daemon.c  | 16 ++++++++++++++++
     error.h   |  3 ++-
     mixer.c   |  4 ++--
     mp3_afh.c | 11 ++++++-----
     vss.c     |  1 +
     7 files changed, 32 insertions(+), 10 deletions(-)

mixer-fix

  • desc: Two bug fixes for the sleep mode of para_mixer
  • state: started on 2018-07-07, cooking since 2018-08-19
  • branch: next
  • base: master
  • aim: master
  • number commits: 2
  • tip: 176d4e57f7381f6215f2baf3b07f859bb4c72e76
  • merge commit: ac1f6dbdf38e764ba61c0fecffea3ccb747b3c5f
  • merge date: Sun, 19 Aug 2018 12:40:08 +0200
  • rebase count: 22

       mixer.c | 7 +++++--
       1 file changed, 5 insertions(+), 2 deletions(-)
    

para_play

  • desc: Improvements to para_play
  • state: started on 2018-08-01
  • branch: pu
  • base: master
  • aim: master
  • number commits: 2
  • tip: f0158ae7db38fc277441bd05076987683fb73812
  • merge commit: 8efd5a977cca1f2ff6f87f7c509b30279383290b
  • merge date: Mon, 26 Nov 2018 08:39:27 +0100
  • rebase count: 1

       error.h              |  1 +
       m4/lls/play.suite.m4 | 11 +++++++----
       play.c               |  4 ++--
       3 files changed, 10 insertions(+), 6 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: cd2fe800b40da36cead5341eed3889c39a464373
  • merge commit: a4fe914bbb51c48d1f8185fdd13b9da72919d95f
  • merge date: Mon, 26 Nov 2018 08:39:27 +0100
  • rebase count: 0

The first few patches of this series are small cleanups related to writers. The last patch 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(-)
    

compress

  • desc: improvements to the compress filter
  • state: started on 2018-05-19, cooking since 2018-09-05
  • branch: next
  • base: master
  • aim: master
  • number commits: 5
  • tip: 99f21f0b6ecf29f949cdbce285e241a2e3ef3093
  • merge commit: ed37c0e869ce011fc82aaf882af2d906d9f3caf5
  • merge date: Wed, 5 Sep 2018 17:23:51 +0200
  • rebase count: 15

A short series which overhauls the algorithm behind the compress filter and its documentation.

  • An overhaul of the compress filter code. The refined algorithm should reduce clipping. The meaning of –aggressiveness has changed, see the updated and extended documentation of the compress filter for details.

       compress_filter.c          | 43 +++++++++++++++++++++++++++++++++++++++----
       m4/lls/filter_cmd.suite.m4 | 32 ++++++++++++++++++++++++++------
       2 files changed, 65 insertions(+), 10 deletions(-)
    

ss

  • desc: screen saver implementation based on Imagemagick
  • state: proof of concept
  • branch: pu
  • base: master
  • aim: master
  • number commits: 27
  • tip: 1a0aaace201dfc36395c0d419ae26af475da4fed
  • merge commit: ad4f9dfd637d0c4f4b078ed1564c7f578bd27794
  • merge date: Mon, 26 Nov 2018 08:39:27 +0100
  • rebase count: 23

A quick hack for a screen saver which shows the cover art of the current audio file in an X window and slowly distorts the image, using several transformations provided by the Imagemagick library. Psychedelic and funny to watch.

Not yet integrated in the build system, and definitely quite buggy but could be made to work reliably.

     para-ss |  44 +++++
     ss.c    | 602 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
     2 files changed, 646 insertions(+)

ssh

  • desc: support for RFC4716 keys
  • state: started on 2018-08-27
  • branch: pu
  • base: master
  • aim: master
  • number commits: 10
  • tip: 7bf3d2d5c2a82f146f3da6f1ec5c9310e5a0a360
  • merge commit: c44246dfd47c02591db2218565fd9571fd7b7af3
  • merge date: Mon, 26 Nov 2018 08:39:27 +0100
  • rebase count: 7

A medium sized series which teaches both crypto backends about the RFC4716 key format, which has become the default for ssh-keygen as of openssh-7.8.

  • para_client now supports RFC4716 private keys as generated with ssh-keygen -m RFC4716. In fact, this key format has been made the default, and the former PEM keys will be depreciated soon.

       crypt_backend.h |   9 +-
       crypt_common.c  | 160 +++++++++++++++++++++++++++++-
       error.h         |   1 +
       gcrypt.c        | 300 +++++++++++++++++++++++++++++---------------------------
       openssl.c       | 168 +++++++++++++++++++++++++++----
       web/manual.md   |   2 +-
       6 files changed, 473 insertions(+), 167 deletions(-)
    

ssh

  • desc: support for RFC4716 keys
  • state: started on 2018-08-27
  • branch: pu
  • base: master
  • aim: master
  • number commits: 10
  • tip: 7bf3d2d5c2a82f146f3da6f1ec5c9310e5a0a360
  • merge commit: c44246dfd47c02591db2218565fd9571fd7b7af3
  • merge date: Mon, 26 Nov 2018 08:39:27 +0100
  • rebase count: 7

A medium sized series which teaches both crypto backends about the RFC4716 key format, which has become the default for ssh-keygen as of openssh-7.8.

  • para_client now supports RFC4716 private keys as generated with ssh-keygen -m RFC4716. In fact, this key format has been made the default, and the former PEM keys will be depreciated soon.

       crypt_backend.h |   9 +-
       crypt_common.c  | 160 +++++++++++++++++++++++++++++-
       error.h         |   1 +
       gcrypt.c        | 300 +++++++++++++++++++++++++++++---------------------------
       openssl.c       | 168 +++++++++++++++++++++++++++----
       web/manual.md   |   2 +-
       6 files changed, 473 insertions(+), 167 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: eec6f92af3968142da6feffd13d945aafffec76c
  • merge commit: bd0bfb8fb1b03706d4ff2a577c00a74345de7f2e
  • merge date: Mon, 26 Nov 2018 08:39:27 +0100
  • rebase count: 13

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