[MPlayer-users] lavf Seg Fault

Larry Reznick lreznick at idistream.com
Thu May 8 19:30:08 CEST 2008


Corey Hickey wrote:
> Larry Reznick wrote:
>   
>> I have been able to put previously encoded video and audio into MOV 
>> containers using the following syntax:
>>
>> mencoder -ovc copy -oac copy input.avi -of lavf -ofps 50 -o output.mov
>>
>> This has worked fine for months. Other players have been able to play them.
>>
>> I typically run an SVN update every Monday. Yesterday's update seg 
>> faulted. I ran another update today, and it seg faulted, too. This has 
>> to have broken within the last week because it ran ok before my update 
>> on Monday.
>>     
>
> I've asked how to fix this on ffmpeg-cvslog; the problem is apparent to
> me, but how to fix it is not. Follow along if you want:
>
> http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2008-May/013614.html
>
> For a temporary fix, try reverting the attached patch.
>
> -Corey
>   
> ------------------------------------------------------------------------
>
> Author: michael
> Date: Mon May  5 11:17:56 2008
> New Revision: 13061
>
> Log:
> Check url_seek() in url_open().
>
>
> Modified:
>    trunk/libavformat/avio.c
>
> Modified: trunk/libavformat/avio.c
> ==============================================================================
> --- trunk/libavformat/avio.c	(original)
> +++ trunk/libavformat/avio.c	Mon May  5 11:17:56 2008
> @@ -113,6 +113,12 @@ int url_open(URLContext **puc, const cha
>          *puc = NULL;
>          return err;
>      }
> +
> +    //We must be carefull here as url_seek() could be slow, for example for http
> +    if(   (flags & (URL_WRONLY | URL_RDWR))
> +       || !strcmp(proto_str, "file"))
> +        if(!uc->is_streamed && url_seek(uc, 0, SEEK_SET) < 0)
> +            uc->is_streamed= 1;
>      *puc = uc;
>      return 0;
>   fail:
> _______________________________________________
> ffmpeg-cvslog mailing list
> ffmpeg-cvslog at mplayerhq.hu
> https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-cvslog
>
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> MPlayer-users mailing list
> MPlayer-users at mplayerhq.hu
> https://lists.mplayerhq.hu/mailman/listinfo/mplayer-users


Thanks, Corey. That patch is definitely the problem. Commenting that 
code section out is sufficient to get the muxing working again.

It seems to me that this patch should be backed out until someone can 
prove the correct way to setup data structures before the url_seek() 
call. As the patch indicates, the prior code didn't have this segment. 
There must be some reason why opening requires a rewind, which is what 
this seek appears to try to do.

--Larry



More information about the MPlayer-users mailing list