aboutsummaryrefslogtreecommitdiffstats
path: root/src/metadata_pipe.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'mk/tag'Eric Wong2008-09-031-17/+17
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * mk/tag: (22 commits) tag: fix segfault on update utf8.h: Fix build (broken os_compat.h #include) tag: optimize tag_dup(), copy item references tag: fix the shout and oggflac plugins const pointers tag: static directory name tag: try not to reallocate tag.items in every add() call song: don't export newNullSong() tag: try not to duplicate the input string tag: pass length to fix_utf8() added "length" parameter to validUtf8String() assert value!=NULL in fix_utf8() tag: converted macro fixUtf8() to an inline function tag: added a pool for tag items tag: converted tag_item.value to a char array removed tree.c tag: converted MpdTag.items to a pointer list tag: moved code to tag_id3.c wavpack: tag_new() cannot fail tag: converted tag_add_item() to an inline function ...
| * tag: renamed functions, no CamelCaseMax Kellermann2008-09-021-10/+10
| |
| * tag: renamed MpdTag and MpdTagItem to struct mpd_tag, struct tag_itemMax Kellermann2008-09-021-7/+7
| | | | | | | | | | Getting rid of CamelCase; not having typedefs also allows us to forward-declare the structures.
* | Add missing function prototypesEric Wong2008-09-021-4/+0
|/
* metadata_pipe: free current_tag in metadata_pipe_clearEric Wong2008-08-271-0/+5
| | | | | This avoids writing the metadata of a static song into the URL of song; leading to confusing looking playlists.
* metadata_pipe: inline clear_pipe_unlocked() functionEric Wong2008-08-271-12/+9
| | | | | | I considered calling it from metadata_pipe_recv() in the past, but it's not necessary, so just inline it again to simplify things.
* metadata_pipe: remove highly unlikely memory leakEric Wong2008-08-271-0/+1
| | | | | | | When we send metadata, there's a remote chance that our pipe is full and our tag will be silently discarded. If that happens, the readers will never have a chance to free the tag, so ensure we free it before returning to the caller.
* Reimplement dynamic metadata handlingEric Wong2008-08-261-0/+155
This has been tested for both playback of streams and outputting to streams, and seems to work fine with minimal locking. This reuses the sequence number infrastructure in OutputBuffer for synchronizing metadata payloads; so (IMNSHO) should be much more understandable than various flags being set here and there.. It could still use some cleanup and much testing, but synchronization issues should be minimal.