[FFmpeg-devel] Memory leak using bitstream filters with	shared libs
    Luca Barbato 
    lu_zero
       
    Mon Mar 10 14:34:31 CET 2008
    
    
  
Michael Niedermayer wrote:
> 
> ugh ....
> No it would not do. It completely defeats the sense behind destruct() that
> is to allow a destruct different from what av_free() does.
> One solution i could see is to:
>  static inline void av_free_packet(AVPacket *pkt)
>  {
> -    if (pkt && pkt->destruct) {
> -        pkt->destruct(pkt);
> +    if(pkt){
> +        if(pkt->destruct)
> +            pkt->destruct(pkt);
> +        pkt->data = NULL; pkt->size = 0;
>      }
>  }
> ----
>  void av_destruct_packet(AVPacket *pkt)
>  {
>      av_free(pkt->data);
> -    pkt->data = NULL; pkt->size = 0;
>  }
> ----
> -void av_destruct_packet_nofree(AVPacket *pkt)
> -{
> -    pkt->data = NULL; pkt->size = 0;
> -}
> 
> and use NULL instead of av_destruct_packet_nofree
> 
> Anyway ive no interrest to workaround binutil bugs, if anyone cares he has
> to do the work and testing.
given that it says that you have to use -Bsymbolic with shared objects 
and that implies PIC (no, x86 is broken for not using PIC and that horse 
has been already beaten)... Still the change you proposed should cleanup 
ffmpeg from an API ugliness.
lu
-- 
Luca Barbato
Gentoo Council Member
Gentoo/linux Gentoo/PPC
http://dev.gentoo.org/~lu_zero
    
    
More information about the ffmpeg-devel
mailing list