Menu

#728 Unable to browse menu image or create iso image on FreeBSD

common
open
nobody
None
5
2023-07-23
2023-03-27
Alan Hicks
No

There are a couple of issues running DVDStyler 3.3b3 on FreeBSD, it compiles but I'm neither able to choose an image in a menu image button, nor create an iso image. The image button allows manual insertion of a time, but cannot use the up/down arrows or the slider to navigate the mpeg file.
Although the compile completed successfully, there are a few deprecated warnings copied below for convenience:
./thumb_md5.cpp:202:5: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
ThumbnailFactory.cpp:366:8: warning: using integer absolute value function 'labs' when argument is of floating point type [-Wabsolute-value]
utils.cpp:80:9: warning: 'Normalize' is deprecated: specify the wanted flags explicitly to avoid surprises [-Wdeprecated-declarations]
mediaenc_ffmpeg.cpp:498:2: warning: 'av_init_packet' is deprecated [-Wdeprecated-declarations]
wx32-gtk3-3.2.1
wxsvg-1.5.23 and wxsvg-1.5.24
The full compile logs are in the following ticket:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=270223

Any help appreciated,
Alan

Discussion

  • Alan Hicks

    Alan Hicks - 2023-03-28

    Debugging shows it barfs in mediaenc_ffmpeg.cpp line 333
    There are two channels, and barfs on the second:

        for (int i = 0; i < c->channels; i++) {
            uint16_t *samples = (uint16_t*)m_audioFrame->data[i];
            memset(samples, 0, c->frame_size * av_get_bytes_per_sample(c->sample_fmt));
        }
    

    (lldb) frame variable
    (wxFfmpegMediaEncoder ) this = 0x00007fffffffa3f0
    (int) codecId = 86016
    (const AVCodec
    ) encoder = 0x000000080252f480
    (AVSampleFormat) sampleFmt = AV_SAMPLE_FMT_S16
    (AVCodecContext ) c = 0x000000080cd0be00
    (int) ret = 0
    (int) i = 0
    (uint16_t
    ) samples = 0x000000080d3b8c00
    step to next
    (lldb) frame variable
    (wxFfmpegMediaEncoder ) this = 0x00007fffffffa3f0
    (int) codecId = 86016
    (const AVCodec
    ) encoder = 0x000000080252f480
    (AVSampleFormat) sampleFmt = AV_SAMPLE_FMT_S16
    (AVCodecContext ) c = 0x000000080cd0be00
    (int) ret = 0
    (int) i = 1
    (uint16_t
    ) samples = 0x0000000000000000

    For info about the mpeg:
    ffprobe sample.mpg
    Input #0, mpeg, from '/home/alan/sample.mpg':
    Duration: 01:43:08.96, start: 0.200000, bitrate: 2285 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, top first), 704x576 [SAR 16:11 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Side data:
    cpb: bitrate max/min/avg: 15000000/0/0 buffer size: 1835008 vbv_delay: N/A
    Stream #0:1[0x1c0]: Audio: mp2, 48000 Hz, stereo, s16p, 256 kb/s

     
  • Alan Hicks

    Alan Hicks - 2023-04-02

    Testing samples before the memset fixes this bug, Valgrind shows nothing notable.

     
  • Alan Hicks

    Alan Hicks - 2023-07-23

    Please close this ticket as a local fix has been applied to the FreeBSD port. Though please consider applying the patch.

     

Log in to post a comment.

MongoDB Logo MongoDB