don't stop on play command!
git-svn-id: https://svn.musicpd.org/mpd/trunk@1313 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This commit is contained in:
parent
a29e38bef5
commit
15c61f6eb0
@ -155,7 +155,7 @@ int handlePlay(FILE * fp, unsigned int * permission, int argArrayLength,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return playPlaylist(fp,song,1);
|
return playPlaylist(fp,song,0);
|
||||||
}
|
}
|
||||||
|
|
||||||
int handleStop(FILE * fp, unsigned int * permission, int argArrayLength,
|
int handleStop(FILE * fp, unsigned int * permission, int argArrayLength,
|
||||||
|
@ -256,7 +256,7 @@ int decodeSeek(PlayerControl * pc, DecoderControl * dc, OutputBuffer * cb,
|
|||||||
void decodeStart(PlayerControl * pc, OutputBuffer * cb, DecoderControl * dc) {
|
void decodeStart(PlayerControl * pc, OutputBuffer * cb, DecoderControl * dc) {
|
||||||
int ret;
|
int ret;
|
||||||
InputStream inStream;
|
InputStream inStream;
|
||||||
InputPlugin * plugin;
|
InputPlugin * plugin = NULL;
|
||||||
char * path;
|
char * path;
|
||||||
|
|
||||||
if(isRemoteUrl(pc->utf8url)) {
|
if(isRemoteUrl(pc->utf8url)) {
|
||||||
@ -311,7 +311,9 @@ void decodeStart(PlayerControl * pc, OutputBuffer * cb, DecoderControl * dc) {
|
|||||||
|
|
||||||
ret = DECODE_ERROR_UNKTYPE;
|
ret = DECODE_ERROR_UNKTYPE;
|
||||||
if(isRemoteUrl(pc->utf8url)) {
|
if(isRemoteUrl(pc->utf8url)) {
|
||||||
|
if(inStream.mime) {
|
||||||
plugin = getInputPluginFromMimeType(inStream.mime);
|
plugin = getInputPluginFromMimeType(inStream.mime);
|
||||||
|
}
|
||||||
if(plugin == NULL) {
|
if(plugin == NULL) {
|
||||||
plugin = getInputPluginFromSuffix(
|
plugin = getInputPluginFromSuffix(
|
||||||
getSuffix(dc->utf8url));
|
getSuffix(dc->utf8url));
|
||||||
|
@ -451,7 +451,6 @@ void mp3DecodeDataFinalize(mp3DecodeData * data) {
|
|||||||
mad_frame_finish(&data->frame);
|
mad_frame_finish(&data->frame);
|
||||||
mad_stream_finish(&data->stream);
|
mad_stream_finish(&data->stream);
|
||||||
|
|
||||||
closeInputStream(data->inStream);
|
|
||||||
if(data->frameOffset) free(data->frameOffset);
|
if(data->frameOffset) free(data->frameOffset);
|
||||||
if(data->times) free(data->times);
|
if(data->times) free(data->times);
|
||||||
}
|
}
|
||||||
@ -468,6 +467,7 @@ int getMp3TotalTime(char * file) {
|
|||||||
if(decodeFirstFrame(&data, NULL, NULL)<0) ret = -1;
|
if(decodeFirstFrame(&data, NULL, NULL)<0) ret = -1;
|
||||||
else ret = data.totalTime+0.5;
|
else ret = data.totalTime+0.5;
|
||||||
mp3DecodeDataFinalize(&data);
|
mp3DecodeDataFinalize(&data);
|
||||||
|
closeInputStream(&inStream);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -662,6 +662,7 @@ int mp3_decode(OutputBuffer * cb, DecoderControl * dc, InputStream * inStream) {
|
|||||||
|
|
||||||
flushOutputBuffer(cb);
|
flushOutputBuffer(cb);
|
||||||
mp3DecodeDataFinalize(&data);
|
mp3DecodeDataFinalize(&data);
|
||||||
|
closeInputStream(inStream);
|
||||||
|
|
||||||
/*if(dc->seek) {
|
/*if(dc->seek) {
|
||||||
dc->seekError = 1;
|
dc->seekError = 1;
|
||||||
|
@ -825,16 +825,21 @@ void playPlaylistIfPlayerStopped() {
|
|||||||
if(error==PLAYER_ERROR_NOERROR) playlist_errorCount = 0;
|
if(error==PLAYER_ERROR_NOERROR) playlist_errorCount = 0;
|
||||||
else playlist_errorCount++;
|
else playlist_errorCount++;
|
||||||
|
|
||||||
|
printf("HERE 1\n");
|
||||||
if(playlist_state==PLAYLIST_STATE_PLAY && (
|
if(playlist_state==PLAYLIST_STATE_PLAY && (
|
||||||
(playlist_stopOnError &&
|
(playlist_stopOnError &&
|
||||||
error!=PLAYER_ERROR_NOERROR) ||
|
error!=PLAYER_ERROR_NOERROR) ||
|
||||||
error==PLAYER_ERROR_AUDIO ||
|
error==PLAYER_ERROR_AUDIO ||
|
||||||
error==PLAYER_ERROR_SYSTEM ||
|
error==PLAYER_ERROR_SYSTEM ||
|
||||||
playlist_errorCount>=playlist.length)) {
|
playlist_errorCount>=playlist.length)) {
|
||||||
|
printf("HERE 1-1\n");
|
||||||
|
printf("playlist_stopOnError: %i\n", playlist_stopOnError);
|
||||||
stopPlaylist(stderr);
|
stopPlaylist(stderr);
|
||||||
|
printf("HERE 1-2\n");
|
||||||
}
|
}
|
||||||
else if(playlist_noGoToNext) currentSongInPlaylist(stderr);
|
else if(playlist_noGoToNext) currentSongInPlaylist(stderr);
|
||||||
else nextSongInPlaylist(stderr);
|
else nextSongInPlaylist(stderr);
|
||||||
|
printf("HERE 2\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user