[FFmpeg-devel] [PATCH 2/2] avformat/dv: use av_packet_alloc() to allocate packets

James Almer jamrial at gmail.com
Sun May 2 16:26:32 EEST 2021


On 5/2/2021 6:21 AM, Michael Niedermayer wrote:
> On Fri, Apr 30, 2021 at 03:07:01PM -0300, James Almer wrote:
>> As avpriv_dv_get_packet can fail now, make it return < 0 on error, 0 on no
>> packet found, and > 0 on packet found.
>>
>> Signed-off-by: James Almer <jamrial at gmail.com>
>> ---
>>   libavdevice/iec61883.c |  2 +-
>>   libavformat/avidec.c   |  4 +++-
>>   libavformat/dv.c       | 51 ++++++++++++++++++++++++++----------------
>>   3 files changed, 36 insertions(+), 21 deletions(-)
> 
> crashes, but i guess thats what andreas already reported but
> if its something else or you need a testcase then ill retest this and
> provide a better report and test sample, just ask me if you need it

Can this file (or a portion of it) be added to FATE? Looking at 
coverage, these avpriv_ functions are only used with the raw DV demuxer. 
Both the AVI and MOV implementations are untested.

I also see three mov files in the FATE samples repo that are not being 
used. None of them have audio, though.

> 
> thx
> 
> [avi @ 0x2ced4680] Switching to NI mode, due to poor interleaving
> ==21022== Invalid read of size 8
> ==21022==    at 0x10F6A73: av_buffer_ref (in ffmpeg_g)
> ==21022==    by 0x72C6D0: av_packet_ref (in ffmpeg_g)
> ==21022==    by 0x7AA48B: avcodec_send_packet (in ffmpeg_g)
> ==21022==    by 0x6AE90A: try_decode_frame (in ffmpeg_g)
> ==21022==    by 0x6B98D8: avformat_find_stream_info (in ffmpeg_g)
> ==21022==    by 0x2DB293: open_input_file (in ffmpeg_g)
> ==21022==    by 0x2DEBB3: ffmpeg_parse_options (in ffmpeg_g)
> ==21022==    by 0x2D3391: main (in ffmpeg_g)
> ==21022==  Address 0x2d0a8748 is 8 bytes inside a block of size 24 free'd
> ==21022==    at 0x4C32D3B: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==21022==    by 0x10F6ABC: av_buffer_unref (in ffmpeg_g)
> ==21022==    by 0x72C640: av_packet_unref (in ffmpeg_g)
> ==21022==    by 0x59B371: avpriv_dv_produce_packet (in ffmpeg_g)
> ==21022==    by 0x577F4F: avi_read_packet (in ffmpeg_g)
> ==21022==    by 0x6B3D5A: ff_read_packet (in ffmpeg_g)
> ==21022==    by 0x6B4AFA: read_frame_internal (in ffmpeg_g)
> ==21022==    by 0x6B95FC: avformat_find_stream_info (in ffmpeg_g)
> ==21022==    by 0x2DB293: open_input_file (in ffmpeg_g)
> ==21022==    by 0x2DEBB3: ffmpeg_parse_options (in ffmpeg_g)
> ==21022==    by 0x2D3391: main (in ffmpeg_g)
> ==21022==  Block was alloc'd at
> ==21022==    at 0x4C33E76: memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==21022==    by 0x4C33F91: posix_memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==21022==    by 0x110C0E2: av_malloc (in ffmpeg_g)
> ==21022==    by 0x110C308: av_mallocz (in ffmpeg_g)
> ==21022==    by 0x10F6925: av_buffer_create (in ffmpeg_g)
> ==21022==    by 0x10F69E6: av_buffer_alloc (in ffmpeg_g)
> ==21022==    by 0x72BE07: av_grow_packet (in ffmpeg_g)
> ==21022==    by 0x6AEFD9: append_packet_chunked (in ffmpeg_g)
> ==21022==    by 0x577F02: avi_read_packet (in ffmpeg_g)
> ==21022==    by 0x6B3D5A: ff_read_packet (in ffmpeg_g)
> ==21022==    by 0x6B4AFA: read_frame_internal (in ffmpeg_g)
> ==21022==    by 0x6B95FC: avformat_find_stream_info (in ffmpeg_g)
> ==21022==    by 0x2DB293: open_input_file (in ffmpeg_g)
> ==21022==    by 0x2DEBB3: ffmpeg_parse_options (in ffmpeg_g)
> ==21022==    by 0x2D3391: main (in ffmpeg_g)
> 
> 
> [...]
> 
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
> 



More information about the ffmpeg-devel mailing list