[FFmpeg-devel] libavutils/logs.c: where to insert fopen();?

Igor 'Lo' (И.L.) bombsiteunrested
Fri Sep 10 19:24:53 CEST 2010


Hi all.
I wanted to override av_log's output, redirecting it to file (to save
an optimizator's coin for my perl's script around ffmpeg),

            AVClass** parent= *(AVClass***)(((uint8_t*)ptr) +
avc->parent_log_context_offset);
            if(parent && *parent){
                // WORKING
                FILE * xFile;
                xFile = fopen('yarr', 'w');
                fclose(xFile);

fopen() leads to segmentation fault.

DEBUG: process_event.c:129: process_event(): event: syscall (SYS_write [1])
[0x7f3d01fd9b50] SYS_write(2, "[mpeg4 @ 0x651b50] looks like th"...,
110[mpeg4 @ 0x651b50] looks like this file was encoded with
(divx4/(old)xvid/opendivx) -> forcing low_delay flag
 <no return ...>
DEBUG: wait_for_something.c:53: wait_for_something(): signal from pid 6484
DEBUG: process_event.c:135: process_event(): event: sysret (SYS_write [1])
[0x7f3d01fd9b50] <... SYS_write resumed> )
                                              = 110
DEBUG: wait_for_something.c:53: wait_for_something(): signal from pid 6484
DEBUG: process_event.c:129: process_event(): event: syscall (SYS_write [1])
[0x7f3d01fd9b50] SYS_write(2, "\033[0m", 4 <no return ...>
DEBUG: wait_for_something.c:53: wait_for_something(): signal from pid 6484
DEBUG: process_event.c:135: process_event(): event: sysret (SYS_write [1])
[0x7f3d01fd9b50] <... SYS_write resumed> )
                                              = 4
DEBUG: wait_for_something.c:53: wait_for_something(): signal from pid 6484
DEBUG: process_event.c:113: process_event(): event: signal (SIGSEGV [11])
[0x7f3d01f83e10] --- SIGSEGV (Segmentation fault) ---

So it seems to be a wrong place to open something. Can someone
recommend where to put that fopen() to avoid abusing i/o operations,
or whatever caused the conflict?
cheers,



More information about the ffmpeg-devel mailing list