67 if (decoder->is_our_file_from_vfs !=
NULL)
72 if (decoder->is_our_file_from_vfs (state->
filename, state->
handle))
115 const char *
s = strstr (state->
filename,
"://");
120 AUDDBG (
"Probing by scheme.\n");
134 AUDDBG (
"Probing by extension.\n");
148 AUDDBG (
"Probing by MIME type.\n");
156 AUDDBG (
"Probing by content.\n");
164 AUDDBG (
"Probing %s.\n", filename);
194 AUDDBG (
"Probe failed.\n");
202 g_return_val_if_fail (ip,
NULL);
203 g_return_val_if_fail (ip->probe_for_tuple,
NULL);
206 Tuple * tuple = ip->probe_for_tuple (filename, handle);
215 void * * data, int64_t * size)
221 g_return_val_if_fail (ip,
FALSE);
222 g_return_val_if_fail (ip->get_song_image,
FALSE);
225 bool_t success = ip->get_song_image (filename, handle, data, size);
248 g_return_val_if_fail (ip,
FALSE);
249 g_return_val_if_fail (ip->update_song_tuple,
FALSE);
256 bool_t success = ip->update_song_tuple (tuple, handle);
273 g_return_val_if_fail (ip,
FALSE);
274 g_return_val_if_fail (ip->file_info_box,
FALSE);
276 ip->file_info_box (filename);
bool_t input_plugin_has_images(PluginHandle *plugin)
const char PluginHandle decoder file_can_write_tuple
static void probe_by_mime(ProbeState *state)
EXPORT int vfs_fclose(VFSFile *file)
Closes a VFS stream and destroys a VFSFile object.
PluginHandle * file_find_decoder(const char *filename, bool_t fast)
void input_plugin_for_key(int key, const char *value, PluginForEachFunc func, void *data)
bool_t file_read_image(const char *filename, PluginHandle *decoder, void **data, int64_t *size)
bool_t input_plugin_can_write_tuple(PluginHandle *plugin)
static bool_t check_opened(ProbeState *state)
bool_t file_write_tuple(const char *filename, PluginHandle *decoder, const Tuple *tuple)
EXPORT int vfs_fseek(VFSFile *file, int64_t offset, int whence)
Performs a seek in given VFS stream.
static void probe_by_scheme(ProbeState *state)
static void probe_by_extension(ProbeState *state)
void playlist_rescan_file(const char *filename)
const void * plugin_get_header(PluginHandle *plugin)
bool_t input_plugin_has_infowin(PluginHandle *plugin)
static bool_t probe_func(PluginHandle *plugin, ProbeState *state)
bool_t(* PluginForEachFunc)(PluginHandle *plugin, void *data)
static void probe_by_content(ProbeState *state)
EXPORT VFSFile * vfs_fopen(const char *path, const char *mode)
Opens a stream from a VFS transport using one of the registered VFSConstructor handlers.
VFSFile * probe_buffer_new(const char *filename)
static bool_t probe_func_fast(PluginHandle *plugin, ProbeState *state)
EXPORT bool_t uri_get_extension(const char *uri, char *buf, int buflen)
EXPORT char * vfs_get_metadata(VFSFile *file, const char *field)
Returns metadata about the stream.
void plugin_for_enabled(int type, PluginForEachFunc func, void *data)
void data PluginHandle plugin
const char PluginHandle decoder const char PluginHandle decoder custom_infowin
const char * plugin_get_name(PluginHandle *plugin)