Skip to content

Commit

Permalink
0.2.5.0 released
Browse files Browse the repository at this point in the history
  • Loading branch information
philippe44 committed Sep 12, 2015
1 parent e7419d6 commit 76f3ba9
Show file tree
Hide file tree
Showing 10 changed files with 228 additions and 168 deletions.
1 change: 1 addition & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
- When using aac, content-type shall always be "audio/aac" even if ProtocolInfo has m4a (works with foobar, not yet with Sonos)
- Change detection of endianness and aiff header bug (version < 7.8, only for *native* aif file)
- Still a bug on aiff header detection when moving player live from a < 7.8 to a 7.9
- L24_format can be set to 3 to force truncation only when using raw sample and audio/L24 is not found in protocolinfo
- (P) correct profile nested structure overloading logic
- (P) add option to disable coverart
- (P) add a 30s surveillance timer to check that squeeze2upnp is still running
Expand Down
13 changes: 10 additions & 3 deletions application/squeeze2upnp/mr_util.c
Original file line number Diff line number Diff line change
Expand Up @@ -141,9 +141,7 @@ static bool SetContentTypeRawAudio(struct sMR *Device, sq_seturi_t *uri, bool Ma
{
bool ret = false;
char *p, *buf;
char fmt[SQ_STR_LENGTH];

sprintf(fmt, "audio/L%d", (Device->sq_config.L24_format != L24_TRUNC_16) ? uri->sample_size : 16);
p = buf = strdup(Device->Config.RawAudioFormat);

while (!ret && p && *p) {
Expand All @@ -152,7 +150,16 @@ static bool SetContentTypeRawAudio(struct sMR *Device, sq_seturi_t *uri, bool Ma

if (q) *q = '\0';

if (strstr(p, "pcm") || strstr(p,"raw")) { ret = _SetContentType(Device->ProtocolCap, uri, 1, fmt); order = 0;}
if (strstr(p, "pcm") || strstr(p,"raw")) {
char fmt[SQ_STR_LENGTH];

sprintf(fmt, "audio/L%d", (Device->sq_config.L24_format == L24_TRUNC_16 && uri->sample_size == 24) ? 16 : uri->sample_size);
ret = _SetContentType(Device->ProtocolCap, uri, 1, fmt);
if (!ret && Device->sq_config.L24_format == L24_TRUNC_16_PCM && uri->sample_size == 24) {
ret = _SetContentType(Device->ProtocolCap, uri, 1, "audio/L16");
}
order = 0;
}
if (strstr(p, "wav")) { ret = _SetContentType(Device->ProtocolCap, uri, 3, "audio/wav", "audio/x-wav", "audio/wave"); order = 1;}
if (strstr(p, "aif")) { ret = _SetContentType(Device->ProtocolCap, uri, 2, "audio/aiff", "audio/x-aiff"); order = 0;}

Expand Down
3 changes: 2 additions & 1 deletion application/squeezetiny/output_mr.c
Original file line number Diff line number Diff line change
Expand Up @@ -558,7 +558,8 @@ static void output_thru_thread(struct thread_ctx_s *ctx) {
p = _buf_readp(ctx->streambuf);

// 3 bytes but truncate that to 2 bytes
if (out->sample_size == 24 && ctx->config.L24_format == L24_TRUNC_16) {
if (out->sample_size == 24 && (ctx->config.L24_format == L24_TRUNC_16 ||
ctx->config.L24_format == L24_TRUNC_16_PCM)) {
nb_write = truncate16(p, &space, out->endianness, 0);
}
// 2 or 4 bytes or 3 bytes with no packing, but change endianness
Expand Down
2 changes: 1 addition & 1 deletion application/squeezetiny/squeezedefs.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

//#define __EARLY_STMd__

#define VERSION "v0.2.5.0-dev-4"
#define VERSION "v0.2.5.0"

#if defined(linux)
#define LINUX 1
Expand Down
2 changes: 1 addition & 1 deletion application/squeezetiny/squeezeitf.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ typedef sq_action_t sq_event_t;
SQ_RATE_32000 = 32000, SQ_RATE_24000 = 24000, SQ_RATE_22500 = 22500,
SQ_RATE_16000 = 16000, SQ_RATE_12000 = 12000, SQ_RATE_11025 = 11025,
SQ_RATE_8000 = 8000, SQ_RATE_DEFAULT = 0} sq_rate_e;
typedef enum { L24_PACKED, L24_PACKED_LPCM, L24_TRUNC_16, L24_UNPACKED_HIGH, L24_UNPACKED_LOW } sq_L24_pack_t;
typedef enum { L24_PACKED, L24_PACKED_LPCM, L24_TRUNC_16, L24_TRUNC_16_PCM, L24_UNPACKED_HIGH, L24_UNPACKED_LOW } sq_L24_pack_t;
typedef enum { FLAC_NO_HEADER = 0, FLAC_NORMAL_HEADER = 1, FLAC_FULL_HEADER = 2 } sq_flac_header_t;
typedef int sq_dev_handle_t;
typedef unsigned sq_rate_t;
Expand Down
179 changes: 102 additions & 77 deletions doc/userguide.htm

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions plugin/CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
- When using aac, content-type shall always be "audio/aac" even if ProtocolInfo has m4a (works with foobar, not yet with Sonos)
- Change detection of endianness and aiff header bug (version < 7.8, only for *native* aif file)
- Still a bug on aiff header detection when moving player live from a < 7.8 to a 7.9
- L24_format can be set to 3 to force truncation only when using raw sample and audio/L24 is not found in protocolinfo
- (P) correct profile nested structure overloading logic
- (P) add option to disable coverart
- (P) add a 30s surveillance timer to check that squeeze2upnp is still running
Expand Down
2 changes: 1 addition & 1 deletion plugin/HTML/EN/plugins/UPnPBridge/settings/basic.html
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@
[% END %]
</select></td>
<th>[% "PLUGIN_UPNPBRIDGE_L24FORMAT" | string %]</th><td><select class="stdedit" name="L24_format" id="L24_format">
[% FOREACH entry IN [ ['',''], ['plain 24 bits','0'], ['packed type 1','1'] ['16 bits convert','2'] ] %]
[% FOREACH entry IN [ ['',''], ['plain 24 bits','0'], ['packed type 1','1'] ['16 bits always','2'] ['16 bits raw only', '3'] ] %]
<option [% IF entry.1 == L24_format %]selected[% END %] value="[% entry.1 %]">[% entry.0 %]</option>
[% END %]
</select></td></tr>
Expand Down
179 changes: 102 additions & 77 deletions plugin/HTML/EN/plugins/UPnPBridge/userguide.htm

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions plugin/install.xml
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
<?xml version='1.0' standalone='yes'?>
<extensions>
<optionsURL>plugins/UPnPBridge/settings/basic.html</optionsURL>
<email>[email protected]</email>
<module>Plugins::UPnPBridge::Plugin</module>
<defaultState>enabled</defaultState>
<version>0.2.5.0-dev-4</version>
<name>PLUGIN_UPNPBRIDGE</name>
<optionsURL>plugins/UPnPBridge/settings/basic.html</optionsURL>
<description>PLUGIN_UPNPBRIDGE_DESC</description>
<targetApplication>
<id>SlimServer</id>
<maxVersion>*.*</maxVersion>
<minVersion>7.5</minVersion>
</targetApplication>
<creator>Philippe</creator>
<module>Plugins::UPnPBridge::Plugin</module>
<name>PLUGIN_UPNPBRIDGE</name>
<email>[email protected]</email>
<description>PLUGIN_UPNPBRIDGE_DESC</description>
<profilesURL>http://sourceforge.net/projects/lms-to-upnp/files/profiles.xml/download</profilesURL>
<version>0.2.5.0</version>
<creator>Philippe</creator>
</extensions>

0 comments on commit 76f3ba9

Please sign in to comment.