Le 18 nov. 2009 à 14:23, Anatoliy Nenashev a écrit :

> Hi all!
> I need to solve the problem with memory usage by libavformat.
> Let us have the file test.avi which contains video in mpeg-2 format and audio 
> in mp3 format.
> I want to read only audio stream from that file. Now I can do it with this 
> code:
> 
>   int audio_stream_id;
>   AVFormatContext *pFormatCtx;
>   //open format context and get audio_stream id number
>   //........
>   AVPacket packet;
>   while( 0 == av_read_packet(pFormatCtx, &packet) )
>   {
>       if (packet.stream_index == audio_stream_id)
>       {
>           //do something with audio packet ....
>       }
>           av_free_packet(&packet);
>   }
>   //close context
> 
> 
> I don't need video stream data but av_read_packet allocates memory for 
> packet.data buffer which I need to deallocate by using av_free_packet. This 
> is very bad for performance. Does anybody have any idea how to skip memory 
> allocation for video stream buffer data?


Set the video stream discard field to AVDISCARD_ALL.

-- Jean-Daniel




_______________________________________________
libav-user mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/libav-user

Reply via email to