undo last changes
git-svn-id: https://svn.musicpd.org/mpd/trunk@2345 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This commit is contained in:
parent
a494bd73d8
commit
91c7621376
32
src/decode.c
32
src/decode.c
@ -119,12 +119,6 @@ int calculateCrossFadeChunks(PlayerControl * pc, AudioFormat * af) {
|
|||||||
quitDecode(pc,dc); \
|
quitDecode(pc,dc); \
|
||||||
return; \
|
return; \
|
||||||
} \
|
} \
|
||||||
{ \
|
|
||||||
MpdTag * tag = metadataChunkToMpdTagDup( \
|
|
||||||
&fileMetadataChunk); \
|
|
||||||
sendMetadataToAudioDevice(tag); \
|
|
||||||
freeMpdTag(tag); \
|
|
||||||
} \
|
|
||||||
pc->totalTime = dc->totalTime; \
|
pc->totalTime = dc->totalTime; \
|
||||||
pc->sampleRate = dc->audioFormat.sampleRate; \
|
pc->sampleRate = dc->audioFormat.sampleRate; \
|
||||||
pc->bits = dc->audioFormat.bits; \
|
pc->bits = dc->audioFormat.bits; \
|
||||||
@ -147,10 +141,11 @@ int calculateCrossFadeChunks(PlayerControl * pc, AudioFormat * af) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int waitOnDecode(PlayerControl * pc, DecoderControl * dc, OutputBuffer * cb,
|
int waitOnDecode(PlayerControl * pc, DecoderControl * dc, OutputBuffer * cb,
|
||||||
int * decodeWaitedOn, MetadataChunk * fileMetadataChunk)
|
int * decodeWaitedOn)
|
||||||
{
|
{
|
||||||
strncpy(pc->currentUrl, pc->utf8url, MAXPATHLEN);
|
strncpy(pc->currentUrl, pc->utf8url, MAXPATHLEN);
|
||||||
pc->currentUrl[MAXPATHLEN] = '\0';
|
pc->currentUrl[MAXPATHLEN] = '\0';
|
||||||
|
MpdTag * tag = NULL;
|
||||||
|
|
||||||
while(decode_pid && *decode_pid>0 && dc->start) my_usleep(10000);
|
while(decode_pid && *decode_pid>0 && dc->start) my_usleep(10000);
|
||||||
|
|
||||||
@ -162,8 +157,10 @@ int waitOnDecode(PlayerControl * pc, DecoderControl * dc, OutputBuffer * cb,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
memcpy(fileMetadataChunk, &(pc->fileMetadataChunk),
|
if((tag = metadataChunkToMpdTagDup(&(pc->fileMetadataChunk)))) {
|
||||||
sizeof(MetadataChunk));
|
sendMetadataToAudioDevice(tag);
|
||||||
|
freeMpdTag(tag);
|
||||||
|
}
|
||||||
|
|
||||||
pc->totalTime = pc->fileTime;
|
pc->totalTime = pc->fileTime;
|
||||||
pc->bitRate = 0;
|
pc->bitRate = 0;
|
||||||
@ -176,8 +173,7 @@ int waitOnDecode(PlayerControl * pc, DecoderControl * dc, OutputBuffer * cb,
|
|||||||
}
|
}
|
||||||
|
|
||||||
int decodeSeek(PlayerControl * pc, DecoderControl * dc, OutputBuffer * cb,
|
int decodeSeek(PlayerControl * pc, DecoderControl * dc, OutputBuffer * cb,
|
||||||
int * decodeWaitedOn, int * next,
|
int * decodeWaitedOn, int * next)
|
||||||
MetadataChunk * fileMetadataChunk)
|
|
||||||
{
|
{
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
|
||||||
@ -191,8 +187,7 @@ int decodeSeek(PlayerControl * pc, DecoderControl * dc, OutputBuffer * cb,
|
|||||||
cb->end = 0;
|
cb->end = 0;
|
||||||
dc->error = 0;
|
dc->error = 0;
|
||||||
dc->start = 1;
|
dc->start = 1;
|
||||||
waitOnDecode(pc,dc,cb,decodeWaitedOn,
|
waitOnDecode(pc,dc,cb,decodeWaitedOn);
|
||||||
fileMetadataChunk);
|
|
||||||
}
|
}
|
||||||
if(*decode_pid>0 && dc->state!=DECODE_STATE_STOP &&
|
if(*decode_pid>0 && dc->state!=DECODE_STATE_STOP &&
|
||||||
dc->seekable)
|
dc->seekable)
|
||||||
@ -249,9 +244,7 @@ int decodeSeek(PlayerControl * pc, DecoderControl * dc, OutputBuffer * cb,
|
|||||||
if(pause) closeAudioDevice(); \
|
if(pause) closeAudioDevice(); \
|
||||||
} \
|
} \
|
||||||
if(pc->seek) { \
|
if(pc->seek) { \
|
||||||
if(decodeSeek(pc,dc,cb,&decodeWaitedOn,&next, \
|
if(decodeSeek(pc,dc,cb,&decodeWaitedOn,&next) == 0) { \
|
||||||
&fileMetadataChunk) == 0) \
|
|
||||||
{ \
|
|
||||||
doCrossFade = 0; \
|
doCrossFade = 0; \
|
||||||
nextChunk = -1; \
|
nextChunk = -1; \
|
||||||
bbp = 0; \
|
bbp = 0; \
|
||||||
@ -477,14 +470,13 @@ void decodeParent(PlayerControl * pc, DecoderControl * dc, OutputBuffer * cb) {
|
|||||||
double sizeToTime = 0.0;
|
double sizeToTime = 0.0;
|
||||||
int previousMetadataChunk = -1;
|
int previousMetadataChunk = -1;
|
||||||
MetadataChunk currentMetadataChunk;
|
MetadataChunk currentMetadataChunk;
|
||||||
MetadataChunk fileMetadataChunk;
|
|
||||||
int currentChunkSent = 1;
|
int currentChunkSent = 1;
|
||||||
int end;
|
int end;
|
||||||
int next = -1;
|
int next = -1;
|
||||||
|
|
||||||
memset(silence,0,CHUNK_SIZE);
|
memset(silence,0,CHUNK_SIZE);
|
||||||
|
|
||||||
if(waitOnDecode(pc,dc,cb,&decodeWaitedOn,&fileMetadataChunk)<0) return;
|
if(waitOnDecode(pc,dc,cb,&decodeWaitedOn)<0) return;
|
||||||
|
|
||||||
pc->elapsedTime = 0;
|
pc->elapsedTime = 0;
|
||||||
pc->state = PLAYER_STATE_PLAY;
|
pc->state = PLAYER_STATE_PLAY;
|
||||||
@ -635,9 +627,7 @@ void decodeParent(PlayerControl * pc, DecoderControl * dc, OutputBuffer * cb) {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
next = -1;
|
next = -1;
|
||||||
if(waitOnDecode(pc,dc,cb,&decodeWaitedOn,
|
if(waitOnDecode(pc,dc,cb,&decodeWaitedOn)<0) {
|
||||||
&fileMetadataChunk)<0)
|
|
||||||
{
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
nextChunk = -1;
|
nextChunk = -1;
|
||||||
|
Loading…
Reference in New Issue
Block a user