Giter Club home page Giter Club logo

Comments (2)

mikeboers avatar mikeboers commented on September 27, 2024

The first looks like:

#0  __GI___libc_free (mem=0x1) at malloc.c:2929
#1  0x00007ffff4bce14c in av_freep (arg=0xe42c60) at /build/buildd/libav-9.16/libavutil/mem.c:154
#2  0x00007fffeaa8b487 in __pyx_f_2av_6stream_pyav_release_buffer (__pyx_v_ctx=0xf18e80, __pyx_v_frame=0xfb7d00) at /home/mikeboers/PyAV/src/av/stream.c:1981
#3  0x00007ffff412038a in free_frame_buffer (s=0xfb3da0, s=0xfb3da0, pic=0xfb7d00) at /build/buildd/libav-9.16/libavcodec/mpegvideo.c:239
#4  ff_MPV_frame_start (s=s@entry=0xfb3da0, avctx=avctx@entry=0xf18e80) at /build/buildd/libav-9.16/libavcodec/mpegvideo.c:1382
#5  0x00007ffff400e0f2 in ff_h263_decode_frame (avctx=0xf18e80, data=0xf445e0, got_frame=0x7fffffffa208, avpkt=<optimized out>)
    at /build/buildd/libav-9.16/libavcodec/h263dec.c:622
#6  0x00007ffff41c8f43 in avcodec_decode_video2 (avctx=0xf18e80, picture=0xf445e0, got_picture_ptr=0x7fffffffa208, avpkt=0x7fffe80caf08)
    at /build/buildd/libav-9.16/libavcodec/utils.c:1288
#7  0x00007fffe8943adb in __pyx_f_2av_5video_6stream_11VideoStream__decode_one (__pyx_v_self=0x7fffe811b0f8, __pyx_v_packet=0x7fffe80caf08, 
    __pyx_v_data_consumed=0x7fffffffa280) at /home/mikeboers/PyAV/src/av/video/stream.c:1673
#8  0x00007fffeaa8ea5c in __pyx_f_2av_6stream_6Stream_decode (__pyx_v_self=0x7fffe811b0f8, __pyx_skip_dispatch=0, __pyx_optional_args=0x7fffffffa390)
    at /home/mikeboers/PyAV/src/av/stream.c:4151
#9  0x00007fffea881933 in __pyx_pf_2av_6packet_6Packet_6decode (__pyx_v_self=0x7fffe80caef0) at /home/mikeboers/PyAV/src/av/packet.c:1251
#10 0x00007fffea8817c2 in __pyx_pw_2av_6packet_6Packet_7decode (__pyx_v_self=0x7fffe80caef0, unused=0x0) at /home/mikeboers/PyAV/src/av/packet.c:1198
#11 0x000000000052d432 in PyEval_EvalFrameEx ()
#12 0x000000000052cf32 in PyEval_EvalFrameEx ()
...

The av_freep in pyav_release_buffer for the new attempt at fetching a PTS is freeing something that it shouldn't.

I just bypassed this instead of fixing it, so that I could hit the next one:

#0  avcodec_decode_subtitle2 (avctx=0x1261840, sub=0x7fffe80eb2e0, got_sub_ptr=0x7fffffffa204, avpkt=0x7fffe8156de8)
    at /build/buildd/libav-9.16/libavcodec/utils.c:1412
#1  0x00007fffe97dfee9 in __pyx_f_2av_9subtitles_6stream_14SubtitleStream__decode_one (__pyx_v_self=0x7fffe8122320, __pyx_v_packet=0x7fffe8156de8, 
    __pyx_v_data_consumed=0x7fffffffa280) at /home/mikeboers/PyAV/src/av/subtitles/stream.c:1152
#2  0x00007fffeaa8ea19 in __pyx_f_2av_6stream_6Stream_decode (__pyx_v_self=0x7fffe8122320, __pyx_skip_dispatch=0, __pyx_optional_args=0x7fffffffa390)
    at /home/mikeboers/PyAV/src/av/stream.c:4146
#3  0x00007fffea881933 in __pyx_pf_2av_6packet_6Packet_6decode (__pyx_v_self=0x7fffe8156dd0) at /home/mikeboers/PyAV/src/av/packet.c:1251
#4  0x00007fffea8817c2 in __pyx_pw_2av_6packet_6Packet_7decode (__pyx_v_self=0x7fffe8156dd0, unused=0x0) at /home/mikeboers/PyAV/src/av/packet.c:1198
#5  0x000000000052d432 in PyEval_EvalFrameEx ()
#6  0x000000000052cf32 in PyEval_EvalFrameEx ()
...

My guess is that the avctx->codec->decode (in C land) is failing.

from pyav.

mikeboers avatar mikeboers commented on September 27, 2024

The first was fixed by removing all of the Dranger-style PTS code.

The second was fixed by checking if there was a codec before decoding.

from pyav.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.