| Commit message (Collapse) | Author | Files | Lines |
|
Convenient method that behave differently than Read, and that will be used by
tag scanners.
This method will return in case of error, if the whole data is read or is EOF
is reached.
|
|
|
|
Seeking on NFS or SMB is cheap. Actually, only HTTP streams are
expensive to seek. This enables a few features on NFS/SMB files, for
example Ogg tags.
|
|
|
|
Remove the "whence" parameter that is not actually necessary, and only
complicates the InputStream implementations.
|
|
Allow compiling test programs with only selected plugins.
|
|
Replace InputPlugin attributes.
|
|
Replaces the method Close().
|
|
|
|
|
|
|
|
Merge some duplicate code.
|
|
|
|
|
|
|
|
|
|
Decouple some more from GLib.
|
|
|
|
Replaces GLib's GError.
|
|
|
|
|
|
|
|
|
|
|
|
Hide the definition from C code, to prepare the transition to C++.
|
|
|
|
|
|
|
|
Move code from the Vorbis decoder plugin.
|
|
|
|
Add GMutex, GCond attributes which will be used by callers to
conditionally wait on the stream.
Remove the (now-useless) plugin method buffer(), wait on GCond
instead. Lock the input_stream before each method call. Do the same
with the playlist plugins.
|
|
To check for errors without reading. The decoder thread wants to do
that, before it passes the input stream to the plugin.
|
|
|
|
Update the struct attributes, important for facades like the "rewind"
plugin. To replace buffer().
|
|
|
|
All close() implementations must call this method.
|
|
Major API redesign: don't let the caller allocate the input_stream
object. Let each input plugin allocate its own (derived/extended)
input_stream pointer. The "data" attribute can now be removed, and
all input plugins simply cast the input_stream pointer to their own
structure (with an "struct input_stream base" as the first attribute).
|
|
|
|
This replaces the rewinding buffer code from the CURL input plugin.
It is more generic, and allows rewinding even when the server sends
Icy-Metadata (which would have been too difficult to implement within
the CURL plugin).
This is a rather complex patch for the stable branch (v0.15.x), but it
fixes a serious problem: the "vorbis" decoder plugin was unable to
play streams with Icy-Metadata, because it couldn't rewind the stream
after detecting the codec (Vorbis vs. FLAC).
|
|
|
|
|
|
|
|
This is easier to traverse.
|
|
After we've been hit by Large File Support problems several times in
the past week (which only occur on 32 bit platforms, which I don't
have), this is yet another attempt to fix the issue.
|
|
This has been replaced by the last.fm playlist plugin. The input
plugin has never worked well, and was just a playground to experiment
with the last.fm radio protocol.
|
|
The "off_t" type may change when you enable or disable large file
support on 32 bit platforms. This caused severe ABI problems within
MPD when we enabled LFS for the first time: two sources included
config.h and sys/types.h in different order, and had different off_t
sizes - leading to memory corruption because of ABI incompatibility.
This patch attempts to get rid of all public "off_t" uses: it removes
"off_t" from the input_stream ABI/API, and switches to GLib's 64 bit
"goffset" type. This may hurt 32 bit embedded platforms a tiny bit,
but that's not even measurable.
|
|
|
|
This updates the copyright header to all be the same, which is
pretty much an update of where to mail request for a copy of the GPL
and the years of the MPD project. This also puts all committers under
'The Music Player Project' umbrella. These entries should go
individually in the AUTHORS file, for consistancy.
|
|
The lastfm input plugin enables MPD to play lastfm:// URLs. This
plugin is not complete yet: it plays only the first song in the
last.fm playlist, and the playlist parser isn't even implemented
properly.
|
|
Allow input plugins to configure with an "input" block in mpd.conf.
Also allow the user to disable a plugin completely.
|