Browse Source

asfdec: parse aspect ratio payload extension

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n1.1
Michael Niedermayer 12 years ago
parent
commit
343c73e252
1 changed files with 8 additions and 0 deletions
  1. +8
    -0
      libavformat/asfdec.c

+ 8
- 0
libavformat/asfdec.c View File

@@ -949,6 +949,7 @@ static int asf_read_frame_header(AVFormatContext *s, AVIOContext *pb){
}
if (asf->packet_replic_size >= 8) {
int64_t end = avio_tell(pb) + asf->packet_replic_size;
AVRational aspect;
asf->packet_obj_size = avio_rl32(pb);
if(asf->packet_obj_size >= (1<<24) || asf->packet_obj_size <= 0){
av_log(s, AV_LOG_ERROR, "packet_obj_size invalid\n");
@@ -971,6 +972,13 @@ static int asf_read_frame_header(AVFormatContext *s, AVIOContext *pb){
case 0x50:
// duration = avio_rl16(pb);
break;
case 0x54:
aspect.num = avio_r8(pb);
aspect.den = avio_r8(pb);
if (aspect.num > 0 && aspect.den > 0) {
s->streams[asf->stream_index]->sample_aspect_ratio = aspect;
}
break;
case 0x2A:
avio_skip(pb, 8);
ts0= avio_rl64(pb);


Loading…
Cancel
Save