mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-24 13:56:33 +02:00
move sample size adjusting code after audio stsd v2 parsing to let v2 set correct channel number, fix Sony-hdv2.mov
Originally committed as revision 6373 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
e6f4c806e3
commit
9770089d34
@ -985,12 +985,6 @@ static int mov_read_stsd(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
bits_per_sample = av_get_bits_per_sample(st->codec->codec_id);
|
|
||||||
if (bits_per_sample) {
|
|
||||||
st->codec->bits_per_sample = bits_per_sample;
|
|
||||||
sc->sample_size = (bits_per_sample >> 3) * st->codec->channels;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Read QT version 1 fields. In version 0 theese dont exist
|
//Read QT version 1 fields. In version 0 theese dont exist
|
||||||
dprintf("version =%d mp4=%d\n",version,c->mp4);
|
dprintf("version =%d mp4=%d\n",version,c->mp4);
|
||||||
if(version==1) {
|
if(version==1) {
|
||||||
@ -1008,6 +1002,12 @@ static int mov_read_stsd(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom)
|
|||||||
get_be32(pb); /* bytes per audio packet if constant */
|
get_be32(pb); /* bytes per audio packet if constant */
|
||||||
get_be32(pb); /* lpcm frames per audio packet if constant */
|
get_be32(pb); /* lpcm frames per audio packet if constant */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bits_per_sample = av_get_bits_per_sample(st->codec->codec_id);
|
||||||
|
if (bits_per_sample) {
|
||||||
|
st->codec->bits_per_sample = bits_per_sample;
|
||||||
|
sc->sample_size = (bits_per_sample >> 3) * st->codec->channels;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
/* other codec type, just skip (rtp, mp4s, tmcd ...) */
|
/* other codec type, just skip (rtp, mp4s, tmcd ...) */
|
||||||
url_fskip(pb, size - (url_ftell(pb) - start_pos));
|
url_fskip(pb, size - (url_ftell(pb) - start_pos));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user