comparison utils.c @ 869:8ff4e8ef8124 libavformat

allow NULL write_header() and write_trailer()
author michael
date Fri, 04 Nov 2005 23:50:11 +0000
parents 379c4e948363
children 91dcb9da9be6
comparison
equal deleted inserted replaced
868:c6b1dde68f3a 869:8ff4e8ef8124
2251 } 2251 }
2252 break; 2252 break;
2253 } 2253 }
2254 } 2254 }
2255 2255
2256 ret = s->oformat->write_header(s); 2256 if(s->oformat->write_header){
2257 if (ret < 0) 2257 ret = s->oformat->write_header(s);
2258 return ret; 2258 if (ret < 0)
2259 return ret;
2260 }
2259 2261
2260 /* init PTS generation */ 2262 /* init PTS generation */
2261 for(i=0;i<s->nb_streams;i++) { 2263 for(i=0;i<s->nb_streams;i++) {
2262 int64_t den = AV_NOPTS_VALUE; 2264 int64_t den = AV_NOPTS_VALUE;
2263 st = s->streams[i]; 2265 st = s->streams[i];
2538 goto fail; 2540 goto fail;
2539 if(url_ferror(&s->pb)) 2541 if(url_ferror(&s->pb))
2540 goto fail; 2542 goto fail;
2541 } 2543 }
2542 2544
2543 ret = s->oformat->write_trailer(s); 2545 if(s->oformat->write_trailer)
2546 ret = s->oformat->write_trailer(s);
2544 fail: 2547 fail:
2545 if(ret == 0) 2548 if(ret == 0)
2546 ret=url_ferror(&s->pb); 2549 ret=url_ferror(&s->pb);
2547 for(i=0;i<s->nb_streams;i++) 2550 for(i=0;i<s->nb_streams;i++)
2548 av_freep(&s->streams[i]->priv_data); 2551 av_freep(&s->streams[i]->priv_data);