summaryrefslogtreecommitdiff
path: root/streamer.c
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-01-09 20:49:12 +0100
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-01-09 20:54:03 +0100
commitf26c90bb66c1aa0d8ec7ddcffada1edf1a12bf92 (patch)
treebc16badfa4d86e1ff4a6fbdf8125017a5498b163 /streamer.c
parent418960f37fe1d615b420f0b9ba9afcd7ba5434c1 (diff)
support for interruption of http streaming at any time
Diffstat (limited to 'streamer.c')
-rw-r--r--streamer.c18
1 files changed, 2 insertions, 16 deletions
diff --git a/streamer.c b/streamer.c
index 3eac2219..3a29866f 100644
--- a/streamer.c
+++ b/streamer.c
@@ -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 ();
}
}