avformat/vivo: Favor setting fps from explicit fractions
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit bf1e93bdc9aaa4fd5c231030b5368aae0df018ee) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
		
							parent
							
								
									deba3d0372
								
							
						
					
					
						commit
						480f1a198c
					
				@ -121,7 +121,7 @@ static int vivo_get_packet_header(AVFormatContext *s)
 | 
				
			|||||||
static int vivo_read_header(AVFormatContext *s)
 | 
					static int vivo_read_header(AVFormatContext *s)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    VivoContext *vivo = s->priv_data;
 | 
					    VivoContext *vivo = s->priv_data;
 | 
				
			||||||
    AVRational fps = { 1, 25};
 | 
					    AVRational fps = { 0 };
 | 
				
			||||||
    AVStream *ast, *vst;
 | 
					    AVStream *ast, *vst;
 | 
				
			||||||
    unsigned char *line, *line_end, *key, *value;
 | 
					    unsigned char *line, *line_end, *key, *value;
 | 
				
			||||||
    long value_int;
 | 
					    long value_int;
 | 
				
			||||||
@ -212,13 +212,16 @@ static int vivo_read_header(AVFormatContext *s)
 | 
				
			|||||||
                    return AVERROR_INVALIDDATA;
 | 
					                    return AVERROR_INVALIDDATA;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                value_used = 1;
 | 
					                value_used = 1;
 | 
				
			||||||
                fps = av_inv_q(av_d2q(d, 10000));
 | 
					                if (!fps.num && !fps.den)
 | 
				
			||||||
 | 
					                    fps = av_inv_q(av_d2q(d, 10000));
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (!value_used)
 | 
					            if (!value_used)
 | 
				
			||||||
                av_dict_set(&s->metadata, key, value, 0);
 | 
					                av_dict_set(&s->metadata, key, value, 0);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    if (!fps.num || !fps.den)
 | 
				
			||||||
 | 
					        fps = (AVRational){ 1, 25 };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    avpriv_set_pts_info(ast, 64, 1, ast->codecpar->sample_rate);
 | 
					    avpriv_set_pts_info(ast, 64, 1, ast->codecpar->sample_rate);
 | 
				
			||||||
    avpriv_set_pts_info(vst, 64, fps.num, fps.den);
 | 
					    avpriv_set_pts_info(vst, 64, fps.num, fps.den);
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user