|
@@ -283,7 +283,7 @@ static void process_strm(u8_t *pkt, int len) {
|
|
break;
|
|
break;
|
|
case 'q':
|
|
case 'q':
|
|
decode_flush();
|
|
decode_flush();
|
|
- output_flush();
|
|
|
|
|
|
+ if (!output.external) output_flush();
|
|
status.frames_played = 0;
|
|
status.frames_played = 0;
|
|
stream_disconnect();
|
|
stream_disconnect();
|
|
sendSTAT("STMf", 0);
|
|
sendSTAT("STMf", 0);
|
|
@@ -291,7 +291,7 @@ static void process_strm(u8_t *pkt, int len) {
|
|
break;
|
|
break;
|
|
case 'f':
|
|
case 'f':
|
|
decode_flush();
|
|
decode_flush();
|
|
- output_flush();
|
|
|
|
|
|
+ if (!output.external) output_flush();
|
|
status.frames_played = 0;
|
|
status.frames_played = 0;
|
|
if (stream_disconnect()) {
|
|
if (stream_disconnect()) {
|
|
sendSTAT("STMf", 0);
|
|
sendSTAT("STMf", 0);
|
|
@@ -330,12 +330,6 @@ static void process_strm(u8_t *pkt, int len) {
|
|
LOCK_O;
|
|
LOCK_O;
|
|
output.state = jiffies ? OUTPUT_START_AT : OUTPUT_RUNNING;
|
|
output.state = jiffies ? OUTPUT_START_AT : OUTPUT_RUNNING;
|
|
output.start_at = jiffies;
|
|
output.start_at = jiffies;
|
|
-#if EMBEDDED
|
|
|
|
- if (output.external) {
|
|
|
|
- decode_resume(output.external);
|
|
|
|
- output.external = 0;
|
|
|
|
- }
|
|
|
|
-#endif
|
|
|
|
UNLOCK_O;
|
|
UNLOCK_O;
|
|
|
|
|
|
LOG_DEBUG("unpause at: %u now: %u", jiffies, gettime_ms());
|
|
LOG_DEBUG("unpause at: %u now: %u", jiffies, gettime_ms());
|
|
@@ -382,6 +376,7 @@ static void process_strm(u8_t *pkt, int len) {
|
|
#if EMBEDDED
|
|
#if EMBEDDED
|
|
if (output.external) decode_resume(output.external);
|
|
if (output.external) decode_resume(output.external);
|
|
output.external = 0;
|
|
output.external = 0;
|
|
|
|
+ _buf_resize(outputbuf, output.init_size);
|
|
#endif
|
|
#endif
|
|
output.threshold = strm->output_threshold;
|
|
output.threshold = strm->output_threshold;
|
|
output.next_replay_gain = unpackN(&strm->replay_gain);
|
|
output.next_replay_gain = unpackN(&strm->replay_gain);
|