[FFmpeg-devel] [PATCH 05/12] Make write_streamheader() and write_headers() accept an AVFormatContext * in input rather than a NUTContext *, which allows to log messages with av_log().
Stefano Sabatini
stefano.sabatini-lala
Wed Jun 2 19:22:17 CEST 2010
---
libavformat/nutenc.c | 14 ++++++++------
1 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/libavformat/nutenc.c b/libavformat/nutenc.c
index 469672b..7e83da6 100644
--- a/libavformat/nutenc.c
+++ b/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;
put_v(bc, i);
switch(codec->codec_type){
@@ -504,7 +505,8 @@ static int write_streaminfo(NUTContext *nut, ByteIOContext *bc, int stream_id){
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;
int i, ret;
@@ -518,7 +520,7 @@ static int write_headers(NUTContext *nut, ByteIOContext *bc){
ret = url_open_dyn_buf(&dyn_bc);
if(ret < 0)
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);
}
@@ -592,7 +594,7 @@ static int write_header(AVFormatContext *s){
put_buffer(bc, ID_STRING, strlen(ID_STRING));
put_byte(bc, 0);
- write_headers(nut, bc);
+ write_headers(s, bc);
put_flush_packet(bc);
@@ -653,7 +655,7 @@ static int write_packet(AVFormatContext *s, AVPacket *pkt){
return -1;
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))
store_sp= 1;
@@ -797,7 +799,7 @@ static int write_trailer(AVFormatContext *s){
ByteIOContext *bc= s->pb;
while(nut->header_count<3)
- write_headers(nut, bc);
+ write_headers(s, bc);
put_flush_packet(bc);
ff_nut_free_sp(nut);
av_freep(&nut->stream);
--
1.7.1
More information about the ffmpeg-devel
mailing list