Make write_streamheader() and write_headers() accept an

AVFormatContext * in input rather than a NUTContext *, which allows to
log messages with av_log().

Originally committed as revision 23431 to svn://svn.ffmpeg.org/ffmpeg/trunk
oldabi
Stefano Sabatini 15 years ago
parent 652d9d24dc
commit da9e6c4295
  1. 14
      libavformat/nutenc.c

@ -391,7 +391,8 @@ static void write_mainheader(NUTContext *nut, ByteIOContext *bc){
} }
} }
static int write_streamheader(NUTContext *nut, ByteIOContext *bc, AVStream *st, int i){ static int write_streamheader(AVFormatContext *avctx, ByteIOContext *bc, AVStream *st, int i){
NUTContext *nut = avctx->priv_data;
AVCodecContext *codec = st->codec; AVCodecContext *codec = st->codec;
put_v(bc, i); put_v(bc, i);
switch(codec->codec_type){ switch(codec->codec_type){
@ -504,7 +505,8 @@ static int write_streaminfo(NUTContext *nut, ByteIOContext *bc, int stream_id){
return count; return count;
} }
static int write_headers(NUTContext *nut, ByteIOContext *bc){ static int write_headers(AVFormatContext *avctx, ByteIOContext *bc){
NUTContext *nut = avctx->priv_data;
ByteIOContext *dyn_bc; ByteIOContext *dyn_bc;
int i, ret; int i, ret;
@ -518,7 +520,7 @@ static int write_headers(NUTContext *nut, ByteIOContext *bc){
ret = url_open_dyn_buf(&dyn_bc); ret = url_open_dyn_buf(&dyn_bc);
if(ret < 0) if(ret < 0)
return ret; return ret;
write_streamheader(nut, dyn_bc, nut->avf->streams[i], i); write_streamheader(avctx, dyn_bc, nut->avf->streams[i], i);
put_packet(nut, bc, dyn_bc, 1, STREAM_STARTCODE); put_packet(nut, bc, dyn_bc, 1, STREAM_STARTCODE);
} }
@ -592,7 +594,7 @@ static int write_header(AVFormatContext *s){
put_buffer(bc, ID_STRING, strlen(ID_STRING)); put_buffer(bc, ID_STRING, strlen(ID_STRING));
put_byte(bc, 0); put_byte(bc, 0);
write_headers(nut, bc); write_headers(s, bc);
put_flush_packet(bc); put_flush_packet(bc);
@ -653,7 +655,7 @@ static int write_packet(AVFormatContext *s, AVPacket *pkt){
return -1; return -1;
if(1LL<<(20+3*nut->header_count) <= url_ftell(bc)) if(1LL<<(20+3*nut->header_count) <= url_ftell(bc))
write_headers(nut, bc); write_headers(s, bc);
if(key_frame && !(nus->last_flags & FLAG_KEY)) if(key_frame && !(nus->last_flags & FLAG_KEY))
store_sp= 1; store_sp= 1;
@ -797,7 +799,7 @@ static int write_trailer(AVFormatContext *s){
ByteIOContext *bc= s->pb; ByteIOContext *bc= s->pb;
while(nut->header_count<3) while(nut->header_count<3)
write_headers(nut, bc); write_headers(s, bc);
put_flush_packet(bc); put_flush_packet(bc);
ff_nut_free_sp(nut); ff_nut_free_sp(nut);
av_freep(&nut->stream); av_freep(&nut->stream);

Loading…
Cancel
Save