voc: set bits_per_sample correctly (fix mplayer playback)

Originally committed as revision 4968 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Aurelien Jacobs 2006-02-09 23:53:07 +00:00
parent ea395e8c6c
commit b96532e970
1 changed files with 13 additions and 0 deletions

View File

@ -90,6 +90,18 @@ static int voc_read_header(AVFormatContext *s, AVFormatParameters *ap)
return 0; return 0;
} }
static int voc_get_bps(int codec_id)
{
switch (codec_id) {
case CODEC_ID_PCM_S16LE:
return 16;
case CODEC_ID_ADPCM_CT:
return 4;
default:
return 8;
}
}
int int
voc_get_packet(AVFormatContext *s, AVPacket *pkt, AVStream *st, int max_size) voc_get_packet(AVFormatContext *s, AVPacket *pkt, AVStream *st, int max_size)
{ {
@ -115,6 +127,7 @@ voc_get_packet(AVFormatContext *s, AVPacket *pkt, AVStream *st, int max_size)
dec->sample_rate = sample_rate; dec->sample_rate = sample_rate;
dec->channels = channels; dec->channels = channels;
dec->codec_id = codec_get_id(voc_codec_tags, get_byte(pb)); dec->codec_id = codec_get_id(voc_codec_tags, get_byte(pb));
dec->bits_per_sample = voc_get_bps(dec->codec_id);
voc->remaining_size -= 2; voc->remaining_size -= 2;
max_size -= 2; max_size -= 2;
channels = 1; channels = 1;