ralphy wrote: > Would you please post the exact change you made in a code block or patch > file? > > Thanks,
This is a snippet from my modified slimproto.c Code: -------------------- case 'u': { unsigned jiffies = unpackN(&strm->replay_gain); LOCK_O; output.state = jiffies ? OUTPUT_START_AT : OUTPUT_RUNNING; output.start_at = jiffies; status.frames_played = output.frames_played; UNLOCK_O; #if GPIO ampidle = 0; #endif LOCK_D; decode.state = DECODE_RUNNING; UNLOCK_D; LOG_DEBUG("unpause at: %u now: %u", jiffies, gettime_ms()); sendSTAT("STMr", 0); } -------------------- I added these three lines. Code: -------------------- LOCK_D; decode.state = DECODE_RUNNING; UNLOCK_D; -------------------- AGAIN, I DON'T MEAN TO SUGGEST THIS IS THE FIX. I BARELY KNOW THE CODE, AND I DID THIS SIMPLY TO FORCE THE DECODER TO RUN. It looks like there was an assumption that this conditional block of code in slimproto.c would be executed when autostart==1 and status.stream_state==STREAMING_HTTP, and would set decode.state to DECODE_RUNNING. However, with a very small mp3 file, that doesn't appear to be the case. I'm not seeing status.stream_state equal to STREAMING_HTTP. Code: -------------------- if ((status.stream_state == STREAMING_HTTP || status.stream_state == STREAMING_FILE) && !sentSTMl && decode.state == DECODE_READY) { if (autostart == 0) { decode.state = DECODE_RUNNING; _sendSTMl = true; sentSTMl = true; } else if (autostart == 1) { decode.state = DECODE_RUNNING; _start_output = true; } decode.state = DECODE_RUNNING; // autostart 2 and 3 require cont to be received first } -------------------- Thanks for looking into this! ------------------------------------------------------------------------ mhilbush's Profile: http://forums.slimdevices.com/member.php?userid=16832 View this thread: http://forums.slimdevices.com/showthread.php?t=97046 _______________________________________________ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix