comparison flvdec.c @ 620:7dbdbe073bcd libavformat

try to guess the fps if they are variable
author michael
date Sun, 19 Dec 2004 01:23:22 +0000
parents 256f7b271bdc
children b47948262721
comparison
equal deleted inserted replaced
619:7d50b0a324ea 620:7dbdbe073bcd
101 st = av_new_stream(s, is_audio); 101 st = av_new_stream(s, is_audio);
102 if (!st) 102 if (!st)
103 return AVERROR_NOMEM; 103 return AVERROR_NOMEM;
104 104
105 av_set_pts_info(st, 24, 1, 1000); /* 24 bit pts in ms */ 105 av_set_pts_info(st, 24, 1, 1000); /* 24 bit pts in ms */
106 st->codec.frame_rate_base= 0; 106 st->codec.frame_rate_base= 1;
107 st->codec.frame_rate= 1000;
107 } 108 }
108 break; 109 break;
109 } 110 }
110 111
111 if(is_audio){ 112 if(is_audio){
121 default: 122 default:
122 st->codec.codec_tag= (flags >> 4); 123 st->codec.codec_tag= (flags >> 4);
123 } 124 }
124 } 125 }
125 }else{ 126 }else{
126 if(st->codec.frame_rate_base == 0){
127 st->codec.codec_type = CODEC_TYPE_VIDEO; 127 st->codec.codec_type = CODEC_TYPE_VIDEO;
128 //guess the frame rate
129 if(pts){
130 st->codec.frame_rate_base=1;
131 st->codec.frame_rate= (1000 + pts/2)/pts;
132 }
133 switch(flags & 0xF){ 128 switch(flags & 0xF){
134 case 2: st->codec.codec_id = CODEC_ID_FLV1; break; 129 case 2: st->codec.codec_id = CODEC_ID_FLV1; break;
135 default: 130 default:
136 st->codec.codec_tag= flags & 0xF; 131 st->codec.codec_tag= flags & 0xF;
137 } 132 }
138 }
139 } 133 }
140 134
141 if (av_new_packet(pkt, size) < 0) 135 if (av_new_packet(pkt, size) < 0)
142 return AVERROR_IO; 136 return AVERROR_IO;
143 137