<HTML><BODY>Hi,<br><br>
<div></div>
<div>I use ffmpeg-0.7.1 (released on 2011-06-23) on Ubuntu 10.10 and I have a problem with decoding video from IP camera (rtsp). </div>
<div>When I try to call av_find_stream_info I get a segmentation fault in two different places.<br> </div>
<div>Here are logs:<br> </div>
<div></div>
<div>
<div>Jun 30 14:31:55 alexcomp kernel: [ 2215.171020] vcsrv[4563]: segfault at 65 ip 002cd104 sp b650812c error 4 in libavutil.so.50.43.0[2c3000+1b000]</div>
<div>Jun 30 14:32:10 alexcomp kernel: [ 2230.207775] vcsrv[4584]: segfault at 65 ip 00192104 sp b655e12c error 4 in libavutil.so.50.43.0[188000+1b000]</div>
<div>Jun 30 14:32:25 alexcomp kernel: [ 2245.247871] vcsrv[4605]: segfault at 65 ip 007c2104 sp b64b612c error 4 in libavutil.so.50.43.0[7b8000+1b000]</div>
<div>Jun 30 14:32:40 alexcomp kernel: [ 2260.293341] vcsrv[4626]: segfault at 65 ip 00b9b104 sp b665912c error 4 in libavutil.so.50.43.0[b91000+1b000]</div>
<div>Jun 30 14:32:55 alexcomp kernel: [ 2275.331671] vcsrv[4650]: segfault at bbb2f198 ip 003e1ec4 sp b72d6130 error 6 in libavformat.so.52.110.0[318000+fc000]</div>
<div>Jun 30 14:33:10 alexcomp kernel: [ 2290.377975] vcsrv[4673]: segfault at aa0ea794 ip 00ad8ec4 sp b72aa130 error 6 in libavformat.so.52.110.0[a0f000+fc000]</div>
<div>Jun 30 14:33:15 alexcomp kernel: [ 2295.707711] vcsrv[4679]: segfault at b663e008 ip 0033cec4 sp b663d130 error 6 in libavformat.so.52.110.0[273000+fc000]</div>
<div>Jun 30 14:33:30 alexcomp kernel: [ 2310.753208] vcsrv[4699]: segfault at b71b6114 ip 0098bec4 sp b71b5130 error 6 in libavformat.so.52.110.0[8c2000+fc000]<br><br> </div>
</div>
<div></div>
<div>I'm not sure that problem is in libs. I use libs this way:<br> </div>
<div></div>
<div>
<div>        CAMERA_MPEG_IP_OBJ* self_obj = NULL;</div>
<div>        CAMERA_OBJ_EXT* obj_ext = camera_obj->context;</div>
<div></div>
<div>        self_obj = (CAMERA_MPEG_IP_OBJ*)sys_malloc(sizeof(CAMERA_MPEG_IP_OBJ));</div>
<div>        if (self_obj)</div>
<div>        {</div>
<div>            AVInputFormat* file_iformat;</div>
<div>            int err, i, width, height;</div>
<div>            AVFormatContext* ic_ptr;</div>
<div></div>
<div>            /* set rendering file name */</div>
<div>            self_obj->m_URL = (obj_ext && obj_ext->conf.url ? </div>
<div>                                        sys_strdup(obj_ext->conf.url) : </div>
<div>                                        sys_strdup(camera_obj->name));</div>
<div></div>
<div>            if ( !self_obj->m_URL )</div>
<div>            {</div>
<div>                status = VC_ERR_FATAL;</div>
<div>            }</div>
</div>
<div>
<div>           if (status == VC_ERR_NONE)</div>
<div>            {</div>
<div>                self_obj->m_ic = 0;</div>
<div>                self_obj->m_video_st = 0;</div>
<div>                self_obj->m_frame = 0;</div>
<div>                self_obj->m_picture_pts = 0;</div>
<div>    </div>
<div>                // Callback registration</div>
<div><span> </span>        avcodec_register_all();</div>
<div>                avdevice_register_all();</div>
<div>                avfilter_register_all();</div>
<div>                av_register_all();</div>
<div>                </div>
<div></div>
<div>                self_obj->m_rgb_frame = (AVFrame*)sys_malloc(sizeof(AVFrame));</div>
<div><span> </span>        self_obj->m_packet = (AVPacket*)sys_malloc(sizeof(AVPacket));</div>
<div><span> </span>        self_obj->m_packet->data = NULL;</div>
<div><span> </span>        self_obj->m_picture = (AVPacket*)sys_malloc(sizeof(IplImage));</div>
<div><span> </span>        file_iformat = av_find_input_format("rstp");</div>
<div></div>
<div>            }</div>
<div></div>
<div></div>
<div>            // Open flow</div>
<div>            if (status == VC_ERR_NONE)</div>
<div>            {</div>
<div>                ic_ptr = &(self_obj->m_ic);</div>
<div>                err = av_open_input_file(ic_ptr, self_obj->m_URL, file_iformat,0, NULL);</div>
<div>                if (err < 0) </div>
<div>                {</div>
<div>                    log_fatal(VC_LOG_CAMERA, "Problem during stream open\n");</div>
<div>                    status = VC_ERR_FATAL;</div>
<div>                }</div>
<div>            }</div>
<div>            </div>
<div>            if (status == VC_ERR_NONE)</div>
<div>            {</div>
<div>               <strong> <font color="#cc0000">err = av_find_stream_info(self_obj->m_ic);</font></strong></div>
<div>                if (err < 0)</div>
<div>                {</div>
<div>                    log_fatal(VC_LOG_CAMERA, "Problem during stream info getting\n");    </div>
<div>                    status = VC_ERR_FATAL;</div>
<div>                }</div>
<div>            }<br><br> </div>
</div>
<div></div>
<div>And here is a configuration of my build:<br> </div>
<div></div>
<div>
<div>./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc \</div>
<div>    --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb \</div>
<div>    --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid \</div>
<div>    --enable-x11grab --enable-shared --enable-swscale --prefix=/usr<br> </div>
</div>
<div></div>
<div></div>
<div>Could you please help me with my problem?<br> </div>
<div></div>
<div>Thanks in advance,</div>
<div>Alexander</div></BODY></HTML>