eliminate OUTPUT_BUFFER_DC_STOP, OUTPUT_BUFFER_DC_SEEK
(Ab)use the decoder_command enumeration, which has nearly the same values and the same meaning.
This commit is contained in:
parent
67bf4b448d
commit
c7384b65ac
@ -82,15 +82,15 @@ void decoder_seek_error(struct decoder * decoder)
|
|||||||
* All chunks are full of decoded data; wait for the player to free
|
* All chunks are full of decoded data; wait for the player to free
|
||||||
* one.
|
* one.
|
||||||
*/
|
*/
|
||||||
static int need_chunks(struct decoder *decoder, InputStream * inStream,
|
static enum decoder_command
|
||||||
int seekable)
|
need_chunks(struct decoder *decoder, InputStream * inStream, int seekable)
|
||||||
{
|
{
|
||||||
if (dc.command == DECODE_COMMAND_STOP)
|
if (dc.command == DECODE_COMMAND_STOP)
|
||||||
return OUTPUT_BUFFER_DC_STOP;
|
return DECODE_COMMAND_STOP;
|
||||||
|
|
||||||
if (dc.command == DECODE_COMMAND_SEEK) {
|
if (dc.command == DECODE_COMMAND_SEEK) {
|
||||||
if (seekable) {
|
if (seekable) {
|
||||||
return OUTPUT_BUFFER_DC_SEEK;
|
return DECODE_COMMAND_SEEK;
|
||||||
} else {
|
} else {
|
||||||
decoder_seek_error(decoder);
|
decoder_seek_error(decoder);
|
||||||
}
|
}
|
||||||
@ -102,14 +102,14 @@ static int need_chunks(struct decoder *decoder, InputStream * inStream,
|
|||||||
notify_signal(&pc.notify);
|
notify_signal(&pc.notify);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return DECODE_COMMAND_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
int decoder_data(struct decoder *decoder, InputStream * inStream,
|
enum decoder_command
|
||||||
int seekable,
|
decoder_data(struct decoder *decoder, InputStream * inStream, int seekable,
|
||||||
void *dataIn, size_t dataInLen,
|
void *dataIn, size_t dataInLen,
|
||||||
float data_time, mpd_uint16 bitRate,
|
float data_time, mpd_uint16 bitRate,
|
||||||
ReplayGainInfo * replayGainInfo)
|
ReplayGainInfo * replayGainInfo)
|
||||||
{
|
{
|
||||||
size_t nbytes;
|
size_t nbytes;
|
||||||
char *data;
|
char *data;
|
||||||
@ -153,7 +153,7 @@ int decoder_data(struct decoder *decoder, InputStream * inStream,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return DECODE_COMMAND_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void decoder_flush(mpd_unused struct decoder *decoder)
|
void decoder_flush(mpd_unused struct decoder *decoder)
|
||||||
|
@ -125,11 +125,10 @@ void decoder_seek_error(struct decoder * decoder);
|
|||||||
* We send inStream for buffering the inputStream while waiting to
|
* We send inStream for buffering the inputStream while waiting to
|
||||||
* send the next chunk
|
* send the next chunk
|
||||||
*/
|
*/
|
||||||
int decoder_data(struct decoder *decoder, InputStream * inStream,
|
enum decoder_command
|
||||||
int seekable,
|
decoder_data(struct decoder *decoder, InputStream * inStream, int seekable,
|
||||||
void *data, size_t datalen,
|
void *data, size_t datalen, float data_time, mpd_uint16 bitRate,
|
||||||
float data_time, mpd_uint16 bitRate,
|
ReplayGainInfo * replayGainInfo);
|
||||||
ReplayGainInfo * replayGainInfo);
|
|
||||||
|
|
||||||
void decoder_flush(struct decoder *decoder);
|
void decoder_flush(struct decoder *decoder);
|
||||||
|
|
||||||
|
@ -171,7 +171,7 @@ static inline int flacSendChunk(FlacData * data)
|
|||||||
1, data->chunk,
|
1, data->chunk,
|
||||||
data->chunk_length, data->time,
|
data->chunk_length, data->time,
|
||||||
data->bitRate,
|
data->bitRate,
|
||||||
data->replayGainInfo) == OUTPUT_BUFFER_DC_STOP)
|
data->replayGainInfo) == DECODE_COMMAND_STOP)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -927,21 +927,22 @@ static int mp3Read(mp3DecodeData * data, struct decoder *decoder,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (data->outputPtr >= data->outputBufferEnd) {
|
if (data->outputPtr >= data->outputBufferEnd) {
|
||||||
ret = decoder_data(decoder, data->inStream,
|
enum decoder_command cmd;
|
||||||
|
cmd = decoder_data(decoder, data->inStream,
|
||||||
data->inStream->seekable,
|
data->inStream->seekable,
|
||||||
data->outputBuffer,
|
data->outputBuffer,
|
||||||
data->outputPtr - data->outputBuffer,
|
data->outputPtr - data->outputBuffer,
|
||||||
data->elapsedTime,
|
data->elapsedTime,
|
||||||
data->bitRate / 1000,
|
data->bitRate / 1000,
|
||||||
(replayGainInfo != NULL) ? *replayGainInfo : NULL);
|
(replayGainInfo != NULL) ? *replayGainInfo : NULL);
|
||||||
if (ret == OUTPUT_BUFFER_DC_STOP) {
|
if (cmd == DECODE_COMMAND_STOP) {
|
||||||
data->flush = 0;
|
data->flush = 0;
|
||||||
return DECODE_BREAK;
|
return DECODE_BREAK;
|
||||||
}
|
}
|
||||||
|
|
||||||
data->outputPtr = data->outputBuffer;
|
data->outputPtr = data->outputBuffer;
|
||||||
|
|
||||||
if (ret == OUTPUT_BUFFER_DC_SEEK)
|
if (cmd == DECODE_COMMAND_STOP)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,9 +22,6 @@
|
|||||||
#include "notify.h"
|
#include "notify.h"
|
||||||
#include "audio_format.h"
|
#include "audio_format.h"
|
||||||
|
|
||||||
#define OUTPUT_BUFFER_DC_STOP -1
|
|
||||||
#define OUTPUT_BUFFER_DC_SEEK -2
|
|
||||||
|
|
||||||
/* pick 1020 since its devisible for 8,16,24, and 32-bit audio */
|
/* pick 1020 since its devisible for 8,16,24, and 32-bit audio */
|
||||||
#define CHUNK_SIZE 1020
|
#define CHUNK_SIZE 1020
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user