diff options
author | Alexey Yakovenko <wakeroid@gmail.com> | 2010-01-09 20:49:12 +0100 |
---|---|---|
committer | Alexey Yakovenko <wakeroid@gmail.com> | 2010-01-09 20:54:03 +0100 |
commit | f26c90bb66c1aa0d8ec7ddcffada1edf1a12bf92 (patch) | |
tree | bc16badfa4d86e1ff4a6fbdf8125017a5498b163 /streamer.c | |
parent | 418960f37fe1d615b420f0b9ba9afcd7ba5434c1 (diff) |
support for interruption of http streaming at any time
Diffstat (limited to 'streamer.c')
-rw-r--r-- | streamer.c | 18 |
1 files changed, 2 insertions, 16 deletions
@@ -36,8 +36,8 @@ #include "volume.h" #include "vfs.h" -#define trace(...) { fprintf(stderr, __VA_ARGS__); } -//#define trace(fmt,...) +//#define trace(...) { fprintf(stderr, __VA_ARGS__); } +#define trace(fmt,...) static intptr_t streamer_tid; static int src_quality; @@ -57,7 +57,6 @@ static float g_fbuffer[INPUT_BUFFER_SIZE]; #define SRC_BUFFER_SIZE (INPUT_BUFFER_SIZE*2) static float g_srcbuffer[SRC_BUFFER_SIZE]; static int streaming_terminate; -static playItem_t *streamer_initializing_item; // buffer up to 3 seconds at 44100Hz stereo #define STREAM_BUFFER_SIZE 0x80000 // slightly more than 3 seconds of 44100 stereo @@ -179,11 +178,9 @@ streamer_set_current (playItem_t *it) { } if (it->decoder) { streamer_lock (); - streamer_initializing_item = it; streamer_unlock (); int ret = it->decoder->init (DB_PLAYITEM (it)); streamer_lock (); - streamer_initializing_item = NULL; streamer_unlock (); pl_item_copy (&str_streaming_song, it); if (ret < 0) { @@ -246,17 +243,6 @@ streamer_set_nextsong (int song, int pstate) { playpos = 0; // try to interrupt file operation streamer_lock (); - if (streamer_file && streamer_file->vfs->streaming) { - trace ("interrupting streamer file access...\n"); - vfs_fstop (streamer_file); - } - else if (streamer_initializing_item) { - playItem_t *it = streamer_initializing_item; - if (it->decoder->info.file && it->decoder->info.file->vfs->streaming) { - trace ("interrupting plugin stream %p...\n", it->decoder->info.file); - vfs_fstop (it->decoder->info.file); - } - } streamer_unlock (); } } |