<feed xmlns='http://www.w3.org/2005/Atom'>
<title>paraslash/error.h, branch v0.3</title>
<subtitle>paraslash - network audio streaming tools</subtitle>
<id>https://git.tue.mpg.de/cgit/paraslash/atom?h=v0.3</id>
<link rel='self' href='https://git.tue.mpg.de/cgit/paraslash/atom?h=v0.3'/>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/'/>
<updated>2009-09-19T08:26:04Z</updated>
<entry>
<title>Complete re-write of the ogg vorbis audio format handler.</title>
<updated>2009-09-19T08:26:04Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2009-09-19T08:26:04Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=80dba626e7eddcaa9059e37afef95ad01967d833'/>
<id>urn:sha1:80dba626e7eddcaa9059e37afef95ad01967d833</id>
<content type='text'>
The new code is quite a bit smaller, performes much better and chooses
a chunk time dependent on the average ogg page size rather than using
a hardcoded chunk time of 250ms.
</content>
</entry>
<entry>
<title>Scoring fixes.</title>
<updated>2009-07-11T14:53:50Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2009-07-11T14:53:50Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=2a4d7bb5f5cecdbcbda6b9f9b531c919ecc6b161'/>
<id>urn:sha1:2a4d7bb5f5cecdbcbda6b9f9b531c919ecc6b161</id>
<content type='text'>
Rename add_item_score to get_item_score(), properly check its return value,
and use the computed score only for admissible files.
</content>
</entry>
<entry>
<title>Add new prebuffer filter.</title>
<updated>2009-05-10T15:46:40Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2009-05-10T15:46:40Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=edbfcc7dc35f75908de68bdd024d00e0d4617fbe'/>
<id>urn:sha1:edbfcc7dc35f75908de68bdd024d00e0d4617fbe</id>
<content type='text'>
This could be handy for lossy networks that require a lot of buffering
in addition to methods (like FEC) to cope with packet loss.
</content>
</entry>
<entry>
<title>First draft of the oss writer.</title>
<updated>2009-05-09T08:59:14Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2009-05-09T08:59:14Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=4dbf56eff63e120c3888fa2badc9fbf930c6ba46'/>
<id>urn:sha1:4dbf56eff63e120c3888fa2badc9fbf930c6ba46</id>
<content type='text'>
This adds client-side support for FreeBSD and NetBSD and provides an
alternative writer for Linux.
</content>
</entry>
<entry>
<title>Merge branch 'master' into next</title>
<updated>2009-05-03T17:09:16Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2009-05-03T17:09:16Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=343f3c63fc3a7f9ca4ba4163c9e4cf06cde8d0c3'/>
<id>urn:sha1:343f3c63fc3a7f9ca4ba4163c9e4cf06cde8d0c3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Alsa fixes and cleanups.</title>
<updated>2009-05-03T16:11:22Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2009-05-03T16:11:22Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=9b5d9adba31e6d42b9dde81fcd3b6f8a0b16bcfc'/>
<id>urn:sha1:9b5d9adba31e6d42b9dde81fcd3b6f8a0b16bcfc</id>
<content type='text'>
This patch

- replaces the unused E_SND_PCM_INFO error by E_PHYSICAL_WIDTH,

- checks the return value of snd_pcm_format_physical_width() and returns
  -E_PHYSICAL_WIDTH if this causes bytes_per_frame being non-positive,

- introduces an upper bound for the start threshold. Without that
  change, playback could be delayed by several seconds on some alsa
  configurations (problem pointed out by Johannes Wörner, thanks).

- does not return early on input errors which could cause the last
  part of the audio stream being skipped.

- avoids calling snd_pcm_writei() with a frame count of zero which
  could happen with the old code in case there's more than zero but
  less than a full frame of audio data available.

- cleans up the documentation of struct private_alsa_write_data
</content>
</entry>
<entry>
<title>Merge branch 'master' into next</title>
<updated>2009-04-25T20:33:43Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2009-04-25T20:33:43Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=b27f3e8dd53af7209626a9f0e98eb4770602c2e7'/>
<id>urn:sha1:b27f3e8dd53af7209626a9f0e98eb4770602c2e7</id>
<content type='text'>
Conflicts:
	mp3_afh.c
</content>
</entry>
<entry>
<title>[udp_send] Refuse to stream files with invalid chunk tables.</title>
<updated>2009-04-23T15:18:03Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2009-04-23T15:18:03Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=a2872df1d181fe8ed736fcf2bda09134c380d5d2'/>
<id>urn:sha1:a2872df1d181fe8ed736fcf2bda09134c380d5d2</id>
<content type='text'>
If an audio file contains a chunk so large that even the maximal
possible number of slices is not sufficient to put this chunk into
a single FEC group, we must refuse to send this file. It's likely a
corrupt file anyway.

The old code in num_slices() was buggy as it returned the number of
slices needed to send the file as an uint8_t, so the return value
was actually the number of needed slices mod 256. This could trigger
the assert() in setup_next_fec_group() which checks that the group
contains at least one chunk.

This patch changes num_slices() to detect this situation more
reliably. As it is likely caused by a bad audio file rather than by a
networking problem, we do _not_ kick the fec client, but deactivate
it for the current file only. This requires the new "error" member
of struct fec_client which indicates a temporarily disabled fec client.
</content>
</entry>
<entry>
<title>Kill remaining instances of signal().</title>
<updated>2009-04-06T17:02:16Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2009-04-06T17:02:16Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=3781a3df94ce9bb28c98369df7a140fb4c086c23'/>
<id>urn:sha1:3781a3df94ce9bb28c98369df7a140fb4c086c23</id>
<content type='text'>
Also, make para_sigaction() and para_install_sighandler() return void
and exit on errors.
</content>
</entry>
<entry>
<title>fecdec: Return an error on zero size slices.</title>
<updated>2009-03-28T18:13:23Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2009-03-28T18:13:23Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=f97bcd9d55344c8f1232470eac01974cd53a9d7f'/>
<id>urn:sha1:f97bcd9d55344c8f1232470eac01974cd53a9d7f</id>
<content type='text'>
</content>
</entry>
</feed>
