mirror of https://git.ffmpeg.org/ffmpeg.git
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:
parent
ea395e8c6c
commit
b96532e970
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue