Kdenlive   bug tracker Home page

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0002326KdenliveMLTpublic2011-09-22 22:292011-09-24 00:47
Reportermcfrisk 
Assigned To 
PrioritynormalSeveritycrashReproducibilityhave not tried
StatusnewResolutionopen 
Platform32 bit intel and alikeOSDebian LinuxOS Version4.0
Product VersionRecent git 
Target VersionFixed in Version 
Summary0002326: melt crash while previewing in kdenlive
DescriptionProgram received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x55fffb70 (LWP 16190)]
0xb0e1817a in producer_get_image (frame=0x5dadf8e8, buffer=0x55ffee38,
    format=0x55fff21c, width=0x55ffee3c, height=0x55ffee40, writable=0)
    at producer_avformat.c:1259
warning: Source file is more recent than executable.
1259 AVStream *stream = context->streams[ self->video_index ];
(gdb) bt full
#0 0xb0e1817a in producer_get_image (frame=0x5dadf8e8, buffer=0x55ffee38,
    format=0x55fff21c, width=0x55ffee3c, height=0x55ffee40, writable=0)
    at producer_avformat.c:1259
        self = 0x1549e018
        producer = 0x13d0c000
        frame_properties = 0x5dadf8e8
        position = 0
        properties = 0x13d0c000
        context = 0x0
        stream = <optimized out>
        codec_context = <optimized out>
        image_size = <optimized out>
        pkt = {pts = 69538595134193, dts = 6248441055213777424,
          data = 0x7046a7a8 "", size = -1534250328,
          stream_index = -1208337081, flags = 1883679452, side_data = 0x0,
          side_data_elems = 12, duration = -1208225264, destruct = 0x2c,
          priv = 0xb7fbf210, pos = -5189744396693933552,
          convergence_duration = -5189420216869527161}
        ignore = <optimized out>
        source_fps = <optimized out>
        req_position = <optimized out>
        must_decode = <optimized out>
        use_new_seek = <optimized out>
---Type <return> to continue, or q <return> to quit---
        paused = 1571682536
#1 0xb7f9f886 in mlt_frame_get_image (self=0x5dadf8e8, buffer=0x55ffee38,
    format=0x55fff21c, width=0x55ffee3c, height=0x55ffee40, writable=0)
    at mlt_frame.c:453
        properties = 0x5dadf8e8
        get_image = 0xb0e18110 <producer_get_image>
        producer = <optimized out>
        requested_format = mlt_image_yuv422
        error = 0
0000002 0xb136382e in deinterlace_yadif (frame=0xa4127ad8, filter=0x1417ad80,
    image=0x55fff18c, format=0x55fff21c, width=0x55ffefb4, height=0x55ffefb8,
    mode=0) at filter_deinterlace.c:120
        properties = 0xa4127ad8
        previous_frame = 0x5dadf8e8
        previous_image = 0x0
        previous_width = 480
        previous_height = 270
        next_frame = 0x5f6f19f8
        next_image = 0x0
        next_width = 480
        next_height = 270
        error = <optimized out>
0000003 0xb13641b0 in filter_get_image (this=0xa4127ad8, image=0x55fff18c,
---Type <return> to continue, or q <return> to quit---
    format=0x55fff21c, width=0x55ffefb4, height=0x55ffefb8, writable=0)
    at filter_deinterlace.c:220
        mode = 0
        method_str = <optimized out>
        method = 7
        frame_method_str = <optimized out>
        error = 0
        properties = 0xa4127ad8
        deinterlace = 1
        progressive = <optimized out>
        filter = 0x1417ad80
0000004 0xb7f9f886 in mlt_frame_get_image (self=0xa4127ad8, buffer=0x55fff18c,
    format=0x55fff21c, width=0x55ffefb4, height=0x55ffefb8, writable=0)
    at mlt_frame.c:453
        properties = 0xa4127ad8
        get_image = 0xb1363ea0 <filter_get_image>
        producer = <optimized out>
        requested_format = mlt_image_rgb24a
        error = 0
0000005 0xad8f811d in filter_get_image (this=0xa4127ad8, image=0x55fff18c,
    format=0x55fff21c, width=0x55fff0c0, height=0x55fff0c4, writable=0)
    at filter_rescale.c:215
        interps = <optimized out>
---Type <return> to continue, or q <return> to quit---
        iwidth = 480
        iheight = 270
        factor = 1
        oheight = 50
        error = 0
        properties = 0xa4127ad8
        filter = 0x1489ee50
        filter_properties = 0x1489ee50
        scaler_method = 0xb0e13cb0 <filter_scale>
0000006 0xb7f9f886 in mlt_frame_get_image (self=0xa4127ad8, buffer=0x55fff18c,
    format=0x55fff21c, width=0x55fff0c0, height=0x55fff0c4, writable=0)
    at mlt_frame.c:453
        properties = 0xa4127ad8
        get_image = 0xad8f7ea0 <filter_get_image>
        producer = <optimized out>
        requested_format = mlt_image_rgb24a
        error = 0
0000007 0xad8f879a in filter_get_image (this=0xa4127ad8, image=0x55fff18c,
    format=0x55fff21c, width=0x55fff214, height=0x55fff218, writable=0)
    at filter_resize.c:267
        error = 0
        properties = 0xa4127ad8
        filter = 0x13e42d60
---Type <return> to continue, or q <return> to quit---
        aspect_ratio = 1.0000000000001599
        consumer_aspect = 1
        owidth = 88
        oheight = 50
        rescale = <optimized out>
0000008 0xb7f9f886 in mlt_frame_get_image (self=0xa4127ad8, buffer=0x55fff18c,
    format=0x55fff21c, width=0x55fff214, height=0x55fff218, writable=0)
    at mlt_frame.c:453
        properties = 0xa4127ad8
        get_image = 0xad8f8600 <filter_get_image>
        producer = <optimized out>
        requested_format = mlt_image_rgb24a
        error = 0
0000009 0xb7f89b5d in Mlt::Frame::get_image (this=0x569d9f50, format=@0x55fff21c,
    w=@0x55fff214, h=@0x55fff218, writable=0) at MltFrame.cpp:59
        image = 0x0
0000010 0x081ba9d3 in KThumb::getFrame (producer=0x13ee3f28, framepos=375,
    width=90, height=50) at /home/mcfrisk/src/kdenlive-git/src/kthumb.cpp:180
        frame = 0x569d9f50
        __PRETTY_FUNCTION__ = "static QImage KThumb::getFrame(Mlt::Producer*, int, int, int)"
        ow = 90
        data = <optimized out>
---Type <return> to continue, or q <return> to quit---
        image = {<QPaintDevice> = {_vptr.QPaintDevice = 0x0,
            painters = 41376}, d = 0xb7e7a1a0}
        p = {<QPaintDevice> = {_vptr.QPaintDevice = 0xb6958338, painters = 0},
          d = 0x567e1f40}
        oh = 50
        format = mlt_image_yuv422
0000011 0x081bc355 in KThumb::doGetThumbs (this=0x9b4aa80)
    at /home/mcfrisk/src/kdenlive-git/src/kthumb.cpp:128
        img = {<QPaintDevice> = {_vptr.QPaintDevice = 0xb6958338,
            painters = 0}, d = 0x567e1f40}
        frame = 375
0000012 0x080e6f3c in run (this=0x7040f268)
    at /usr/include/qt4/QtCore/qtconcurrentrunbase.h:120
No locals.
0000013 QtConcurrent::RunFunctionTask<void>::run (this=0x7040f268)
    at /usr/include/qt4/QtCore/qtconcurrentrunbase.h:114
No locals.
0000014 0xb7c3b7f1 in QThreadPoolThread::run (this=0x1157dfc0)
    at concurrent/qthreadpool.cpp:106
        r = 0x7040f270
        expired = <optimized out>
        locker = {val = 290970336}
0000015 0xb7c48503 in QThreadPrivate::start (arg=0x1157dfc0)
---Type <return> to continue, or q <return> to quit---
    at thread/qthread_unix.cpp:320
        __clframe = {
          __cancel_routine = 0xb7c47400 <QThreadPrivate::finish(void*)>,
          __cancel_arg = 0x1157dfc0, __do_it = 1,
          __cancel_type = <optimized out>}
        thr = 0x1157dfc0
        data = 0x1157f068
0000016 0xb742bc39 in start_thread (arg=0x55fffb70) at pthread_create.c:304
        __res = <optimized out>
        __ignore1 = <optimized out>
        __ignore2 = <optimized out>
        pd = 0x55fffb70
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {-1220296716, 0, 4001536,
                1442837560, 137261176, 1924187069}, mask_was_saved = 0}},
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0,
              cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
0000017 0xb5c9796e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
No locals.
Backtrace stopped: Not enough registers or memory available to unwind further
(
Steps To ReproduceI was previewing timeline using proxy clips, though due to some other bug some of the proxy clips were not working. Then this hit.
TagsNo tags attached.
Build/Install MethodManual build from SVN
Attached Files

- Relationships

-  Notes
(0007352)
mcfrisk (reporter)
2011-09-23 22:52

mlt from git commit 07d7da3ba5d258b2ea9564978a9548d97bd262be
with patch http://www.kdenlive.org/mantis/view.php?id=2296#c7332 [^]

Hits when previewing and fixingf time line for proxy clips, bug http://www.kdenlive.org/mantis/view.php?id=2327 [^]


Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x3fa37b70 (LWP 31106)]
0xb0e1852a in producer_get_image (frame=0x93c98e0, buffer=0x3fa3731c,
    format=0x3fa37310, width=0x3fa370c4, height=0x3fa370c8, writable=0)
    at producer_avformat.c:1319
1319 int must_decode = strcmp( codec_context->codec->name, "dnxhd" ) &&
(gdb) thread apply bt full
(gdb) thread apply all bt full

Thread 199 (Thread 0x3c8ccb70 (LWP 31107)):
#0 0xb7fe2424 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb743120a in __pthread_cond_wait (cond=0x908dad0, mutex=0x908db00)
    at pthread_cond_wait.c:153
        __status = -512
        _val = 129
        futex_val = <optimized out>
        buffer = {__routine = 0xb74313a0 <__condvar_cleanup>,
          __arg = 0x3c8cc29c, __canceltype = 1073508807, __prev = 0x0}
        cbuffer = {oldtype = 0, cond = 0x908dad0, mutex = 0x908db00,
          bc_seq = 64}
        err = <optimized out>
        pshared = 0
        val = <optimized out>
        seq = 64
0000002 0xb13f3212 in consumer_thread (arg=0x908d958) at consumer_sdl_preview.c:449
        speed = 0
        refresh = <optimized out>
        this = 0x908d958
        consumer = 0x908d958
        properties = 0x908d958
---Type <return> to continue, or q <return> to quit---
        frame = <optimized out>
        last_position = -1
        eos = 0
        eos_threshold = 45
        preview_off = 0
0000003 0xb742cc39 in start_thread (arg=0x3c8ccb70) at pthread_create.c:304
        __res = <optimized out>
        __ignore1 = <optimized out>
        __ignore2 = <optimized out>
        pd = 0x3c8ccb70
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {-1220292620, 0, 4001536,
                1015858232, 116706581, -1695908350}, mask_was_saved = 0}},
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0,
              cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
0000004 0xb5c9896e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
No locals.
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 198 (Thread 0x3fa37b70 (LWP 31106)):
---Type <return> to continue, or q <return> to quit---
#0 0xb0e1852a in producer_get_image (frame=0x93c98e0, buffer=0x3fa3731c,
    format=0x3fa37310, width=0x3fa370c4, height=0x3fa370c8, writable=0)
    at producer_avformat.c:1319
        __s2_len = <optimized out>
        self = 0x42fc4400
        producer = 0x4fc69ca8
        frame_properties = 0x93c98e0
        position = 0
        properties = 0x4fc69ca8
        context = <optimized out>
        stream = <optimized out>
        codec_context = 0x7e0bcfc0
        image_size = 0
        pkt = {pts = 133602339425136, dts = 1119778238812,
          data = 0x18b719d8 "\001", size = 65, stream_index = -1208333257,
          flags = 410706436, side_data = 0x187aded0,
          side_data_elems = 1381296015, duration = -1208333257,
          destruct = 0x187ae204, priv = 0x3fa36e78,
          pos = -5189729299883888292,
          convergence_duration = -5189403724195106425}
        ignore = 0
        source_fps = 59.940059940059939
        req_position = <optimized out>
---Type <return> to continue, or q <return> to quit---
        must_decode = <optimized out>
        use_new_seek = <optimized out>
        paused = 0
#1 0xb7fa0886 in mlt_frame_get_image (self=0x93c98e0, buffer=0x3fa3731c,
    format=0x3fa37310, width=0x3fa370c4, height=0x3fa370c8, writable=0)
    at mlt_frame.c:453
        properties = 0x93c98e0
        get_image = 0xb0e18120 <producer_get_image>
        producer = <optimized out>
        requested_format = mlt_image_yuv422
        error = 0
0000002 0xad8f2388 in filter_get_image (this=0x93c98e0, image=0x3fa3731c,
    format=0x3fa37310, width=0x3fa370c4, height=0x3fa370c8, writable=0)
    at filter_crop.c:76
        error = 0
        properties = 0x93c98e0
        left = 0
        right = 0
        top = 0
        bottom = 0
        owidth = <optimized out>
        oheight = <optimized out>
0000003 0xb7fa0886 in mlt_frame_get_image (self=0x93c98e0, buffer=0x3fa3731c,
---Type <return> to continue, or q <return> to quit---
    format=0x3fa37310, width=0x3fa370c4, height=0x3fa370c8, writable=0)
    at mlt_frame.c:453
        properties = 0x93c98e0
        get_image = 0xad8f22a0 <filter_get_image>
        producer = <optimized out>
        requested_format = mlt_image_yuv422
        error = 0
0000004 0xb136406e in filter_get_image (this=0x93c98e0, image=0x3fa3731c,
    format=0x3fa37310, width=0x3fa370c4, height=0x3fa370c8, writable=0)
    at filter_deinterlace.c:239
        service = <optimized out>
        method_str = <optimized out>
        method = <optimized out>
        frame_method_str = <optimized out>
        error = <optimized out>
        properties = 0x93c98e0
        deinterlace = 1
        progressive = <optimized out>
        filter = 0x4fc0a350
0000005 0xb7fa0886 in mlt_frame_get_image (self=0x93c98e0, buffer=0x3fa3731c,
    format=0x3fa37310, width=0x3fa370c4, height=0x3fa370c8, writable=0)
    at mlt_frame.c:453
        properties = 0x93c98e0
---Type <return> to continue, or q <return> to quit---
        get_image = 0xb1363ea0 <filter_get_image>
        producer = <optimized out>
        requested_format = mlt_image_rgb24a
        error = 0
0000006 0xad8f811d in filter_get_image (this=0x93c98e0, image=0x3fa3731c,
    format=0x3fa37310, width=0x3fa371d0, height=0x3fa371d4, writable=0)
    at filter_rescale.c:215
        interps = <optimized out>
        iwidth = 480
        iheight = 270
        factor = 1
        oheight = 720
        error = 0
        properties = 0x93c98e0
        filter = 0x5d734448
        filter_properties = 0x5d734448
        scaler_method = 0xb0e13cb0 <filter_scale>
0000007 0xb7fa0886 in mlt_frame_get_image (self=0x93c98e0, buffer=0x3fa3731c,
    format=0x3fa37310, width=0x3fa371d0, height=0x3fa371d4, writable=0)
    at mlt_frame.c:453
        properties = 0x93c98e0
        get_image = 0xad8f7ea0 <filter_get_image>
        producer = <optimized out>
---Type <return> to continue, or q <return> to quit---
        requested_format = mlt_image_rgb24a
        error = 0
0000008 0xad8f879a in filter_get_image (this=0x93c98e0, image=0x3fa3731c,
    format=0x3fa37310, width=0x3fa37314, height=0x3fa37318, writable=0)
    at filter_resize.c:267
        error = 0
        properties = 0x93c98e0
        filter = 0x4b6cf130
        aspect_ratio = 1.0000000000001599
        consumer_aspect = 1
        owidth = 1280
        oheight = 720
        rescale = <optimized out>
0000009 0xb7fa0886 in mlt_frame_get_image (self=0x93c98e0, buffer=0x3fa3731c,
    format=0x3fa37310, width=0x3fa37314, height=0x3fa37318, writable=0)
    at mlt_frame.c:453
        properties = 0x93c98e0
        get_image = 0xad8f8600 <filter_get_image>
        producer = <optimized out>
        requested_format = mlt_image_rgb24a
        error = 0
0000010 0xb13f3e26 in consumer_play_video (frame=0x93c98e0, this=0x90772e8)
    at consumer_sdl_still.c:477
---Type <return> to continue, or q <return> to quit---
        height = 720
        width = 1280
        unlock = 0
        properties = 0x90772e8
        lock = <optimized out>
        screen = <optimized out>
        vfmt = mlt_image_yuv422
        image = 0x0
        changed = <optimized out>
        display_ratio = 1.7777777777777777
0000011 consumer_thread (arg=0x90772e8) at consumer_sdl_still.c:577
        this = 0x90772e8
        consumer = 0x90772e8
        properties = 0x90772e8
        frame = 0x93c98e0
        preview_off = 0
0000012 0xb742cc39 in start_thread (arg=0x3fa37b70) at pthread_create.c:304
        __res = <optimized out>
        __ignore1 = <optimized out>
        __ignore2 = <optimized out>
        pd = 0x3fa37b70
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {-1220292620, 0, 4001536,
---Type <return> to continue, or q <return> to quit---
                1067676728, 1502924051, -1695908350}, mask_was_saved = 0}},
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0,
              cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
0000013 0xb5c9896e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
No locals.
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 177 (Thread 0x70cffb70 (LWP 31084)):
#0 0xb7fe2424 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb7431703 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:236
No locals.
0000002 0xb7c4999e in wait (time=30000, this=0x13fa9308)
    at thread/qwaitcondition_unix.cpp:86
        tv = {tv_sec = 1316810758, tv_usec = 384858}
        ti = {tv_sec = 1316810788, tv_nsec = 384858000}
        code = <optimized out>
0000003 QWaitCondition::wait (this=0x13fa926c, mutex=0x13fa9268, time=30000)
---Type <return> to continue, or q <return> to quit---
    at thread/qwaitcondition_unix.cpp:160
        returnValue = 36
0000004 0xb7c3c884 in QThreadPoolThread::run (this=0x13fa9748)
    at concurrent/qthreadpool.cpp:140
        r = 0x70d65a38
        expired = <optimized out>
        locker = {val = 335188585}
0000005 0xb7c49503 in QThreadPrivate::start (arg=0x13fa9748)
    at thread/qthread_unix.cpp:320
        __clframe = {
          __cancel_routine = 0xb7c48400 <QThreadPrivate::finish(void*)>,
          __cancel_arg = 0x13fa9748, __do_it = 1,
          __cancel_type = <optimized out>}

        thr = 0x13fa9748
        data = 0x13faa7c0
0000006 0xb742cc39 in start_thread (arg=0x70cffb70) at pthread_create.c:304
        __res = <optimized out>
        __ignore1 = <optimized out>
        __ignore2 = <optimized out>
        pd = 0x70cffb70
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {-1220292620, 0, 4001536,
                1892676664, -2137731699, -1695908350}, mask_was_saved = 0}},
---Type <return> to continue, or q <return> to quit---
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0,
              cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
0000007 0xb5c9896e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
No locals.
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 176 (Thread 0x555fbb70 (LWP 31083)):
#0 __mempcpy_ia32 () at ../sysdeps/i386/i686/multiarch/../mempcpy.S:62
No locals.
#1 0xb5c0f865 in ___printf_fp (fp=0x555fae04, info=<optimized out>,
    args=0x555fadb4) at printf_fp.c:1237
        thousands_sep_len = 0
        copywc = 0x555f9fd4 L".88012000s?"
        factor = 1432330144
        nbuffer = <optimized out>
        buffer = 0x555f9fa0 "119.X\241_U\221\367\300\265\260\314?0.000000\t\311|\362\263\036WW\246\212", <incomplete sequence \373\267>
        buffer_end = 0x555f9fad "\314?0.000000\t\311|\362\263\036WW\246\212", <incomplete sequence \373\267>
        cp = 0x555f9ff0 "0"
---Type <return> to continue, or q <return> to quit---
        tmpptr = 0x1 <Address 0x1 out of bounds>
        wstartp = <optimized out>
        intdig_max = 0
        intdig_no = <optimized out>
        fracdig_max = 1432330157
        fracdig_no = <optimized out>
        width = -10
        expscale = <optimized out>
        ngroups = 0
        wbuffer_to_alloc = <optimized out>
        fracdig_min = 1432330704
        dig_max = 2147483647
        significant = 40
        wcp = 0x555f9ff0 L"00s?"
        chars_needed = 10
        spec = 102 'f'
        added_zeros = 0
        decimal = 0xb4ddccb0 "."
        decimalwc = <optimized out>
        thousands_sep = 0x0
        thousands_sepwc = 0 L'\000'
        grouping = 0x1 <Address 0x1 out of bounds>
        special = <optimized out>
---Type <return> to continue, or q <return> to quit---
        wspecial = 0x0
        fp_input = {3797248808, 1964115}
        to_shift = 1432330144
        is_neg = 0
        tmpsize = <optimized out>
        digit = <optimized out>
        done = <optimized out>
        cy = <optimized out>
        wide = 0
        wbuffer = <optimized out>
        buffer_malloced = 0
        expsign = 0
        exponent = 2
        fracsize = 3
        frac = 0x555fa040
        tmp = 0x555fa020
        scale = 0x555fa000
        scalesize = 2
        type = 102
0000002 0xb5c0d409 in _IO_vfprintf_internal (s=0x555fae04, format=0xb7fb8a58 "%f",
    ap=0x555faed8 "(kU\342S\370]@\\\361\373\267\300'p]\240=kK\320A\372\267\300'p]H") at vfprintf.c:1956
        ptr = 0x555fa1a0
---Type <return> to continue, or q <return> to quit---
        function_done = <optimized out>
        function_done = <optimized out>
        is_negative = <optimized out>
        alt = 0
        space = 0
        is_long_double = 0
        the_arg = {pa_wchar = -1220349561 L'\xb742f187', pa_int = -1220349561,
          pa_long_int = -1220349561, pa_long_long_int = 11664552327,
          pa_u_int = 3074617735, pa_u_long_int = 3074617735,
          pa_u_long_long_int = 11664552327,
          pa_double = 5.7630545788882702e-314,
          pa_long_double = <invalid float value>,
          pa_string = 0xb742f187 "\201\303", <incomplete sequence \336>,
          pa_wstring = 0xb742f187 L"\xde6dc381\x7e8b0000\x89f9890c\x7fe183f8\x757ce083\x158b6545h\x5589c985\x817475f0?\x1b900\xc0310000\xeb10ff0\x1d1850f\x468b0000\x75c08508\xf0458b2c\x1104683\x31084689\xf45d8bc0\x8bf8758b\xec89fc7d\x5d8bc35d\x8bf089f4\x758bfc7d\x5dec89f8\xfffa2ce9\xa838dff\x89ffffb0\xc70c2444\x3e082444\x8d000000\xffb73e83\x244489ff\xef838d04\x89ffffaf\xc2e82404\x83ffffc3\x4c7501f9\x3bf0558b\x26740856\x80e781\xff00000\x850f0eb1?\x87e83\xb1850f\x46c70000?\xff77e900\x568bffff\xbb804\xfa830000\x72840fff\x83ffffff\xc03001c2\xe9045689\xffffff65\xf03f983?\xe8bb8300!\xff25840f\x1baffff\xf0000000\x8516b10f\x8b4374c0\x1b11446\xa00548d?\x64fa8300\x31d04f0f\x1c783ff\x39ff478d\xf35b7dd0\xf0c03190\x850eb10f\x89ea75c0\x8b9fa\x562b0000\xc1d08914\xf9f71ffa\x89144603\x7e831446\x840---Type <return> to continue, or q <return> to quit---
f0008\xfffffee9\xb00a838d\x4489ffff\x44c70c24\x710824\x10e90000\x8dffffff\xffb00a83\x244489ff\x2444c70c?\xfef9e900\x468bffff\x1b90c\x80250000\x89000000\xc031ec45\xeb10ff0\x85850f\x93eb0000\x7502f983\xf0558b16?\x8563b00\xfe69850f\x8ee9ffff\x8dfffffe\xffb00a83\x244489ff\x3e838d0c\x89ffffb7\x8d042444\xffb0c083\x2444c7ff ?\x24048900\xffc270e8\xb9178dff\200\x4d84e8\xfa8de900\x78dffff?\x4cc3e800\xe1e90000\x8dfffffc\xe8f98916?\xfffe21e9\x89168dff\x4b37e8f9\x8de90000\x8dfffffe\xec4d8b16\x4b28e8\xff6ce900\x9090ffff\xe5895590\x83535657\x7d8b24ec\xc23fe808\xc381ffff\xdc23\x68a165\x45890000\xc478bf0\xe283c289\x43fa837f\x16b91376\x83000000\xc88924c4\x5d5f5e5b\x26748dc3\x93948b00\xffffb1e4\xe2ffda01\x26748d90\xf04d8b00\x8b084f3b\x2a840f17\xb9000002\xffffffff\x66ec7d89\xe84d8990\x7ee8d689\xc100006e\x4d8b13ee\xfc639e8\x2e58c\x24748900\x240c8904\x6fa4e8\x89c08500\x850fe045?\x558bf789\x13e7c1ec\xc883f889\x89c18901\xb10ff0f8\x89f8390a\xd2840fc2\x25000002\xfff80000\xc739f189\x44c7a775\xffff0424\x3489ffff\x6f5fe824\x10b90000\x83000000\xc88924c4\x5d5f5e5b\xbac031c3\001"..., pa_pointer = 0xb742f187,
          pa_user = 0xb742f187}
        showsign = 0
        step4_jumps = {1702 <repeats 14 times>, -49, 18, -1159, 349, 334, 401,
          -585, -4502, -6984, 785, 2805, -14018, -7094, 1702, 1702, 1702}
        string = <optimized out>
        width = <optimized out>
        use_outdigits = 0
        pad = <optimized out>
        group = 0
---Type <return> to continue, or q <return> to quit---
        is_short = 0
        is_char = 0
        is_long = 0
        base = 1432330496
        left = 0
        prec = -1
        spec = <optimized out>
        nspecs = 1
        nargs = <optimized out>
        max_ref_arg = <optimized out>
        cnt = <optimized out>
        nspecs_max = 1432333632
        specs = <optimized out>
        args_value = 0x555fa1a0
        _buffer = {__routine = 0, __arg = 0x208, __canceltype = -1341193424,
          __prev = 0x7399c5c0}
        _avail = 0
        thousands_sep = 0xb4ddccb2 ","
        grouping = 0xb4ddccb4 "\003\003"
        f = 0x0
        lead_str_end = 0xb7fb8a58 "%f"
        work_buffer = "\000\000\000\000\350\256_U\025\000\000\000p\213\373\267\000\000\000\000O\346\021\260\310\337W?\016\000\000\220_\001\000\000\000\000\000@---Type <return> to continue, or q <return> to quit---
\377\337\071\000\000\000\000\277f\366\000\000\000\000\200\240\321\b\000\000\000\000\000\220_\001\000\000\000\000\000\000\000\000\000G\001\001=\310\337W\311\000\000\000\000\300f\366\000\000\000\000\000\000\000\000\000O\346\021\260\310\337W?\016\000\000\220_\001\000\000\000\000\000\377\377\377\377\377\377\377\377\277f\366\000\000\000\000\200\300\\\025\000\000\000\000\000\220_\001\000\000\000\000\000\300f\366\000\000\000\000\000?\000\000\000\000\000\000\001\000\000\000\000\000\000\000\354IC\267", '\000' <repeats 12 times>"\364, \317C\267\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\340tMo\300\\\025\000\000\000\000\000\000\000\000\000\357\346\021\260\300f\366\000\000\000\000\000@B\017\000\000\000\000\000\220_\001\000\032\344?7\344?\016\347?\340\032?<"...
        workstart = 0x0
        workend = 0x555fad40 "\300?s\001"
        ap_save = 0x555faee0 "\\\361\373\267\300'p]\240=kK\320A\372\267\300'p]H"
        nspecs_done = 0
        save_errno = 0
        readonly_format = 0
        jump_table = "\001\000\000\004\000\016\000\006\000\000\a\002\000\003\t\000\005\b\b\b\b\b\b\b\b\b\000\000\000\000\000\000\000\032\000\031\000\023\023\023\000\035\000\000\f\000\000\000\000\000\000\025\000\000\000\000\022\000\r\000\000\000\000\000\000\032\000\024\017\023\023\023\n\017\034\000\v\030\027\021\026\f\000\025\033\020\000\000\022\000\r"
        __PRETTY_FUNCTION__ = "_IO_vfprintf_internal"
---Type <return> to continue, or q <return> to quit---
0000003 0xb5c29bdc in __IO_vsprintf (string=0x6ee75b40 "\270\376\337\071\r",
    format=0xb7fb8a58 "%f",
    args=0x555faed8 "(kU\342S\370]@\\\361\373\267\300'p]\240=kK\320A\372\267\300'p]H") at iovsprintf.c:43
        sf = {_sbf = {_f = {_flags = -72515583,
              _IO_read_ptr = 0x6ee75b40 "\270\376\337\071\r",
              _IO_read_end = 0x6ee75b40 "\270\376\337\071\r",
              _IO_read_base = 0x6ee75b40 "\270\376\337\071\r",
              _IO_write_base = 0x6ee75b40 "\270\376\337\071\r",
              _IO_write_ptr = 0x6ee75b40 "\270\376\337\071\r",
              _IO_write_end = 0xffffffff <Address 0xffffffff out of bounds>,
              _IO_buf_base = 0x6ee75b40 "\270\376\337\071\r",
              _IO_buf_end = 0xffffffff <Address 0xffffffff out of bounds>,
              _IO_save_base = 0x0, _IO_backup_base = 0x0, _IO_save_end = 0x0,
              _markers = 0x0, _chain = 0x0, _fileno = 0, _flags2 = 0,
              _old_offset = 0, _cur_column = 0, _vtable_offset = 0 '\000',
              _shortbuf = "", _lock = 0x0, _offset = 6093327554794462272,
              _codecvt = 0x5254e78f, _wide_data = 0xb7fa4c37,
              _freeres_list = 0x0, _freeres_buf = 0x4fc69ca8,
              _freeres_size = 31083, _mode = -1,
              _unused2 = "(p\243KPU\302O\\\361\373\267\062P\372\267@\234\237\223(\000\000\000\000\000\000\000\\\361\373\267\020\000\020\264\342\372M@"},
            vtable = 0xb5d21b00}, _s = {_allocate_buffer = 0,
---Type <return> to continue, or q <return> to quit---
            _free_buffer = 0xb4100010}}
        ret = <optimized out>
0000004 0xb5c1322b in __sprintf (s=0x6ee75b40 "\270\376\337\071\r",
    format=0xb7fb8a58 "%f") at sprintf.c:34
        done = 1432330224
0000005 0xb7fa3fb5 in mlt_property_get_string (self=0x5d7027c0)
    at mlt_property.c:468
No locals.
0000006 0xb7fa41d0 in mlt_property_get_string_l (self=0x5d7027c0, locale=0x0)
    at mlt_property.c:510
No locals.
0000007 0xb7fa5841 in mlt_properties_get (self=0x4fc69ca8,
    name=0x9473dad8 "meta.media.0.codec.frame_rate") at mlt_properties.c:750

        value = 0x555f9fd4
        list = <optimized out>
0000008 0xb0e148a6 in apply_properties (obj=0x4f614160, properties=0x4fc69ca8,
    flags=10) at producer_avformat.c:1670
        opt_name = 0x9473dad8 "meta.media.0.codec.frame_rate"
        opt = <optimized out>
        i = <optimized out>
        count = 51
0000009 0xb0e15d18 in audio_codec_init (self=0x42fc4400, index=1,
    properties=0x4fc69ca8) at producer_avformat.c:2389
---Type <return> to continue, or q <return> to quit---
        codec_context = 0x4f614160
        codec = 0xb07830e0
0000010 0xb0e16ba7 in producer_set_up_audio (frame=0x939f9c40, self=0x42fc4400)
    at producer_avformat.c:2473
        producer = 0x4fc69ca8
        context = <optimized out>
        properties = 0x4fc69ca8
        frame_properties = 0x939f9c40
        index = 1
0000011 producer_get_frame (producer=0x4fc69ca8, frame=0x555fb138, index=0)
    at producer_avformat.c:2530
        service = 0x4fc69ca8
        cache_item = <optimized out>
        self = 0x42fc4400
        position = <optimized out>
0000012 0xb7fab70f in producer_get_frame (service=0x4fc69ca8, frame=0x555fb138,
    index=0) at mlt_producer.c:584
        properties = 0x4fc69ca8
        eof = <optimized out>
        speed = 0
        clone = <optimized out>
        result = 1
        self = 0x4fc69ca8
---Type <return> to continue, or q <return> to quit---
0000013 0xb7fa96ed in mlt_service_get_frame (self=0x4fc69ca8, frame=0x555fb178,
    index=0) at mlt_service.c:481
        new_position = 0
        previous_frame = <optimized out>
        next_frame = <optimized out>
        properties = 0x5d718190
        in = 0
        out = 5388
        position = 0
        result = <optimized out>
0000014 0xb7f90213 in Mlt::Service::get_frame (this=0x4287f388, index=0)
    at MltService.cpp:95
        frame = 0x5d718190
        result = 0xb7f8db37

0000015 0x081ba961 in KThumb::getFrame (producer=0x4287f388, framepos=2404,
    width=90, height=50) at /home/mcfrisk/src/kdenlive-git/src/kthumb.cpp:170
        frame = <optimized out>
        __PRETTY_FUNCTION__ = "static QImage KThumb::getFrame(Mlt::Producer*, int, int, int)"
        ow = <optimized out>
        data = <optimized out>

        image = {<QPaintDevice> = {_vptr.QPaintDevice = 0x0,
            painters = 45472}, d = 0xb7e7b1a0}
---Type <return> to continue, or q <return> to quit---
        p = {<QPaintDevice> = {_vptr.QPaintDevice = 0xb6959338, painters = 0},
          d = 0x94743270}
        oh = <optimized out>
        format = <optimized out>
0000016 0x081bc325 in KThumb::doGetThumbs (this=0x9c3aa00)
    at /home/mcfrisk/src/kdenlive-git/src/kthumb.cpp:128
        img = {<QPaintDevice> = {_vptr.QPaintDevice = 0xb6959338,
            painters = 0}, d = 0x94743270}
        frame = 2404


0000017 0x080e6e9c in run (this=0x42e61da8)
    at /usr/include/qt4/QtCore/qtconcurrentrunbase.h:120
No locals.
0000018 QtConcurrent::RunFunctionTask<void>::run (this=0x42e61da8)
    at /usr/include/qt4/QtCore/qtconcurrentrunbase.h:114
No locals.
0000019 0xb7c3c7f1 in QThreadPoolThread::run (this=0x13fb1fb8)
    at concurrent/qthreadpool.cpp:106
        r = 0x42e61db0
        expired = <optimized out>
        locker = {val = 335188584}
0000020 0xb7c49503 in QThreadPrivate::start (arg=0x13fb1fb8)
    at thread/qthread_unix.cpp:320
        __clframe = {
---Type <return> to continue, or q <return> to quit---
          __cancel_routine = 0xb7c48400 <QThreadPrivate::finish(void*)>,
          __cancel_arg = 0x13fb1fb8, __do_it = 1,
          __cancel_type = <optimized out>}
        thr = 0x13fb1fb8
        data = 0x13fa94f0
0000021 0xb742cc39 in start_thread (arg=0x555fbb70) at pthread_create.c:304
        __res = <optimized out>
        __ignore1 = <optimized out>
        __ignore2 = <optimized out>
        pd = 0x555fbb70
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {-1220292620, 0, 4001536,
                1432335416, -1609249338, -1695908350}, mask_was_saved = 0}},
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0,
              cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
0000022 0xb5c9896e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
No locals.
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 175 (Thread 0x40a3ab70 (LWP 31080)):
---Type <return> to continue, or q <return> to quit---
#0 0xb7fe2424 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb5c8af86 in *__GI___poll (fds=0xb5d21ff4, nfds=2, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:87
        resultvar = <optimized out>
        oldtype = 0
        result = <optimized out>
0000002 0xb59dbf5b in g_poll () from /lib/libglib-2.0.so.0
No symbol table info available.
0000003 0xb59cb96f in ?? () from /lib/libglib-2.0.so.0
No symbol table info available.
0000004 0xb59cbce4 in g_main_context_iteration () from /lib/libglib-2.0.so.0
No symbol table info available.

0000005 0xb7d722f7 in QEventDispatcherGlib::processEvents (this=0x18c98bf0,
    flags=...) at kernel/qeventdispatcher_glib.cpp:422
        d = 0x18bb12c0
        canWait = true
        savedFlags = {i = 0}
        result = <optimized out>
0000006 0xb7d430ed in QEventLoop::processEvents (this=0x40a3a2a0, flags=...)
    at kernel/qeventloop.cpp:149
        d = 0x17f59cb0
0000007 0xb7d43331 in QEventLoop::exec (this=0x40a3a2a0, flags=...)
---Type <return> to continue, or q <return> to quit---
    at kernel/qeventloop.cpp:201
        d = 0x17f59cb0
        app = 0x40a3a26c
0000008 0xb7c4669b in QThread::exec (this=0x18b22bc0) at thread/qthread.cpp:492
        d = 0x17f1ff50
        locker = {val = 401735584}
        eventLoop = {<QObject> = {_vptr.QObject = 0xb7e7a608,
            static staticMetaObject = {d = {superdata = 0x0,
                stringdata = 0xb7e060a0 "QObject", data = 0xb7e06140,
                extradata = 0xb7e75560}}, d_ptr = {d = 0x17f59cb0},
            static staticQtMetaObject = {d = {superdata = 0x0,
                stringdata = 0xb7e0ec80 "Qt", data = 0xb7e12500,
                extradata = 0x0}}}, static staticMetaObject = {d = {
              superdata = 0x8417520, stringdata = 0xb7e18400 "QEventLoop",
              data = 0xb7e18420, extradata = 0x0}}}
        returnCode = <optimized out>
0000009 0xb7d23c2d in QInotifyFileSystemWatcherEngine::run (this=0x18b22bc0)
    at io/qfilesystemwatcher_inotify.cpp:248
        sn = {<QObject> = {_vptr.QObject = 0xb7e7a728,
            static staticMetaObject = {d = {superdata = 0x0,
                stringdata = 0xb7e060a0 "QObject", data = 0xb7e06140,
                extradata = 0xb7e75560}}, d_ptr = {d = 0x18bf9470},
            static staticQtMetaObject = {d = {superdata = 0x0,
---Type <return> to continue, or q <return> to quit---
                stringdata = 0xb7e0ec80 "Qt", data = 0xb7e12500,
                extradata = 0x0}}}, static staticMetaObject = {d = {
              superdata = 0x8417520,
              stringdata = 0xb7e19600 "QSocketNotifier", data = 0xb7e19640,
              extradata = 0x0}}, sockfd = 34, sntype = QSocketNotifier::Read,
          snenabled = true}
0000010 0xb7c49503 in QThreadPrivate::start (arg=0x18b22bc0)
    at thread/qthread_unix.cpp:320
        __clframe = {
          __cancel_routine = 0xb7c48400 <QThreadPrivate::finish(void*)>,
          __cancel_arg = 0x18b22bc0, __do_it = 1,
          __cancel_type = <optimized out>}
        thr = 0x18b22bc0
        data = 0x19ada538
0000011 0xb742cc39 in start_thread (arg=0x40a3ab70) at pthread_create.c:304
        __res = <optimized out>
        __ignore1 = <optimized out>
        __ignore2 = <optimized out>
        pd = 0x40a3ab70
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {-1220292620, 0, 4001536,
                1084466232, 1479855597, -1695908350}, mask_was_saved = 0}},
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0,
---Type <return> to continue, or q <return> to quit---
              cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
0000012 0xb5c9896e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
No locals.
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 2 (Thread 0xb4a48b70 (LWP 30882)):
#0 0xb7fe2424 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb5c8af86 in *__GI___poll (fds=0xb5d21ff4, nfds=1, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:87
        resultvar = <optimized out>
        oldtype = 0
        result = <optimized out>
0000002 0xb59dbf5b in g_poll () from /lib/libglib-2.0.so.0
No symbol table info available.
0000003 0xb59cb96f in ?? () from /lib/libglib-2.0.so.0
No symbol table info available.
0000004 0xb59cc0f3 in g_main_loop_run () from /lib/libglib-2.0.so.0
No symbol table info available.
0000005 0xb4b81274 in ?? () from /usr/lib/libgio-2.0.so.0
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
0000006 0xb59f4b6f in ?? () from /lib/libglib-2.0.so.0
No symbol table info available.
0000007 0xb742cc39 in start_thread (arg=0xb4a48b70) at pthread_create.c:304
        __res = <optimized out>
        __ignore1 = <optimized out>
        __ignore2 = <optimized out>
        pd = 0xb4a48b70
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {-1220292620, 0, 4001536,
                -1264286664, 1450494981, -1695908350}, mask_was_saved = 0}},
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0,
              cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
0000008 0xb5c9896e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
No locals.
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 1 (Thread 0xb4ddf940 (LWP 30879)):
#0 0xb7fe2424 in __kernel_vsyscall ()
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#1 0xb5c8af86 in *__GI___poll (fds=0xb5d21ff4, nfds=15, timeout=692)
    at ../sysdeps/unix/sysv/linux/poll.c:87
        resultvar = <optimized out>
        oldtype = 0
        result = <optimized out>
0000002 0xb59dbf5b in g_poll () from /lib/libglib-2.0.so.0
No symbol table info available.
0000003 0xb59cb96f in ?? () from /lib/libglib-2.0.so.0
No symbol table info available.
0000004 0xb59cbce4 in g_main_context_iteration () from /lib/libglib-2.0.so.0
No symbol table info available.
0000005 0xb7d722f7 in QEventDispatcherGlib::processEvents (this=0x8419400,
    flags=...) at kernel/qeventdispatcher_glib.cpp:422
        d = 0x8438470
        canWait = true
        savedFlags = {i = 0}
        result = <optimized out>
0000006 0xb60cb6fa in QGuiEventDispatcherGlib::processEvents (this=0x8419400,
    flags=...) at kernel/qguieventdispatcher_glib.cpp:204
        d = 0x8434d68
        saved_flags = {i = 0}
        returnValue = 252
0000007 0xb7d430ed in QEventLoop::processEvents (this=0xbfffecd4, flags=...)
---Type <return> to continue, or q <return> to quit---
    at kernel/qeventloop.cpp:149
        d = 0x93bdd70
0000008 0xb7d43331 in QEventLoop::exec (this=0xbfffecd4, flags=...)
    at kernel/qeventloop.cpp:201
        d = 0x93bdd70
        app = 0xbfffec8c
0000009 0xb7d47a8a in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
        threadData = 0x84186f0
        eventLoop = {<QObject> = {_vptr.QObject = 0xb7e7a608,
            static staticMetaObject = {d = {superdata = 0x0,
                stringdata = 0xb7e060a0 "QObject", data = 0xb7e06140,
                extradata = 0xb7e75560}}, d_ptr = {d = 0x93bdd70},
            static staticQtMetaObject = {d = {superdata = 0x0,
                stringdata = 0xb7e0ec80 "Qt", data = 0xb7e12500,
                extradata = 0x0}}}, static staticMetaObject = {d = {
              superdata = 0x8417520, stringdata = 0xb7e18400 "QEventLoop",
              data = 0xb7e18420, extradata = 0x0}}}
        returnCode = <optimized out>
0000010 0xb6014624 in QApplication::exec () at kernel/qapplication.cpp:3741
No locals.

0000011 0x0808958d in main (argc=Cannot access memory at address 0xf
)
    at /home/mcfrisk/src/kdenlive-git/src/main.cpp:89
        aboutData = {d = 0x841f610}
---Type <return> to continue, or q <return> to quit---
        app = <incomplete type>
        window = <optimized out>
        __PRETTY_FUNCTION__ = "int main(int, char**)"
        options = {d = 0x8432b58}
        result = <optimized out>
(gdb)
(0007353)
mcfrisk (reporter)
2011-09-23 23:14

Should producer_get_image() do avformat_lock() and unlock()?

I have no clue but will try to run with:


--- a/src/modules/avformat/producer_avformat.c
+++ b/src/modules/avformat/producer_avformat.c
@@ -1251,6 +1251,7 @@ static int producer_get_image( mlt_frame frame, uint8_t **
        mlt_properties properties = MLT_PRODUCER_PROPERTIES( producer );
 
        pthread_mutex_lock( &self->video_mutex );
+ avformat_lock();
 
        // Fetch the video format context
        AVFormatContext *context = self->video_format;
@@ -1633,6 +1634,7 @@ static int producer_get_image( mlt_frame frame, uint8_t **
 
 exit_get_image:
 
+ avformat_unlock();
        pthread_mutex_unlock( &self->video_mutex );
 
        // Set the progressive flag
(0007354)
mcfrisk (reporter)
2011-09-23 23:30

No help, seems to deadlock.
(0007355)
mcfrisk (reporter)
2011-09-24 00:20

This did not seem to help:

--- a/src/modules/avformat/producer_avformat.c
+++ b/src/modules/avformat/producer_avformat.c
@@ -1885,13 +1885,13 @@ static void producer_set_up_video( producer_avformat sel
        {
                // Reset the video properties if the index changed
                self->video_index = index;
+ avformat_lock();
                if ( self->video_codec )
                {
- avformat_lock();
                        avcodec_close( self->video_codec );
- avformat_unlock();
                }
                self->video_codec = NULL;
+ avformat_unlock();
        }
 
        // Get the frame properties

but maybe with this shot in the dark:

--- a/src/modules/avformat/producer_avformat.c
+++ b/src/modules/avformat/producer_avformat.c
@@ -863,11 +863,10 @@ static void reopen_video( producer_avformat self, mlt_prod
        mlt_service_lock( MLT_PRODUCER_SERVICE( producer ) );
        pthread_mutex_lock( &self->audio_mutex );
 
+ avformat_lock();
        if ( self->video_codec )
        {
- avformat_lock();
                avcodec_close( self->video_codec );
- avformat_unlock();
        }
        self->video_codec = NULL;
        if ( self->dummy_context )
@@ -876,6 +875,7 @@ static void reopen_video( producer_avformat self, mlt_produc
        if ( self->video_format )
                av_close_input_file( self->video_format );
        self->video_format = NULL;
+ avformat_unlock();
 
        int audio_index = self->audio_index;
        int video_index = self->video_index;
(0007356)
mcfrisk (reporter)
2011-09-24 00:47

Nope, none of these help.

- Issue History
Date Modified Username Field Change
2011-09-22 22:29 mcfrisk New Issue
2011-09-23 22:52 mcfrisk Note Added: 0007352
2011-09-23 23:14 mcfrisk Note Added: 0007353
2011-09-23 23:30 mcfrisk Note Added: 0007354
2011-09-24 00:20 mcfrisk Note Added: 0007355
2011-09-24 00:47 mcfrisk Note Added: 0007356


Copyright © 2000 - 2014 MantisBT Team
Powered by Mantis Bugtracker