mirror of
https://gitlab.xiph.org/xiph/icecast-server.git
synced 2024-11-03 04:17:17 -05:00
prevent updated metadata being passed to listeners when the text hasn't
actually changed svn path=/icecast/trunk/icecast/; revision=8214
This commit is contained in:
parent
1e6232c531
commit
b2b2850708
@ -93,8 +93,11 @@ int format_mp3_get_plugin (source_t *source)
|
|||||||
|
|
||||||
plugin->_state = state;
|
plugin->_state = state;
|
||||||
|
|
||||||
meta = refbuf_new (1);
|
/* initial metadata needs to be blank for sending to clients and for
|
||||||
memcpy (meta->data, "", 1);
|
comparing with new metadata */
|
||||||
|
meta = refbuf_new (2);
|
||||||
|
memcpy (meta->data, "\0\0", 2);
|
||||||
|
meta->len = 1;
|
||||||
state->metadata = meta;
|
state->metadata = meta;
|
||||||
state->interval = ICY_METADATA_INTERVAL;
|
state->interval = ICY_METADATA_INTERVAL;
|
||||||
|
|
||||||
@ -518,8 +521,9 @@ static refbuf_t *mp3_get_filter_meta (source_t *source)
|
|||||||
bytes -= metadata_remaining;
|
bytes -= metadata_remaining;
|
||||||
memmove (src, src+metadata_remaining, bytes);
|
memmove (src, src+metadata_remaining, bytes);
|
||||||
|
|
||||||
/* assign metadata if it's not 1 byte, as that indicates a change */
|
/* assign metadata if it's greater than 1 byte, and the text has changed */
|
||||||
if (source_mp3->build_metadata_len > 1)
|
if (source_mp3->build_metadata_len > 1 &&
|
||||||
|
strcmp (source_mp3->build_metadata+1, source_mp3->metadata->data+1) != 0)
|
||||||
{
|
{
|
||||||
refbuf_t *meta = refbuf_new (source_mp3->build_metadata_len);
|
refbuf_t *meta = refbuf_new (source_mp3->build_metadata_len);
|
||||||
memcpy (meta->data, source_mp3->build_metadata,
|
memcpy (meta->data, source_mp3->build_metadata,
|
||||||
|
Loading…
Reference in New Issue
Block a user