Comment 2 for bug 1557641

Revision history for this message
Karl Palsson (ubuntu-tweak) wrote :

Affects me on fedora 23, with master, 0.30-1-ga54a035 0.30 wouldn't build (libm not linked)
0.29 doesn't build either: src/ffmpeg2theora.c:1071:40: error: 'AVCODEC_MAX_AUDIO_FRAME_SIZE' undeclared (first use in this function)) nor would 0.29

Both master and patched 0.30 have the following bt. Input test video is a raw file from a canon 500d. ffmpeg2theora --info at the bottom...

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'testi.mov':
  Metadata:
    major_brand : qt
    minor_version : 537331968
    compatible_brands: qt CAEP
    creation_time : 2016-07-26 15:01:29
  Duration: 00:00:09.83, start: 0.000000, bitrate: 27233 kb/s
    Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuvj420p(pc, smpte170m/bt709/bt709), 1280x720, 26524 kb/s, 30 fps, 30 tbr, 3k tbn, 6k tbc (default)
    Metadata:
      creation_time : 2016-07-26 15:01:29
    Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 44100 Hz, mono, s16, 705 kb/s (default)
    Metadata:
      creation_time : 2016-07-26 15:01:29
[swscaler @ 0x66d4a0] deprecated pixel format used, make sure you did set range correctly

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff502bc4b in av_samples_fill_arrays () from /lib64/libavutil.so.54

(gdb) bt
#0 0x00007ffff502bc4b in av_samples_fill_arrays () from /lib64/libavutil.so.54
#1 0x00007ffff502bf24 in av_samples_alloc () from /lib64/libavutil.so.54
#2 0x000000000040c8d1 in ff2theora_output (this=this@entry=0x64d190) at src/ffmpeg2theora.c:1068
#3 0x000000000040482f in main (argc=<optimized out>, argv=<optimized out>) at src/ffmpeg2theora.c:3095
(gdb)
(gdb) up
#1 0x00007ffff502bf24 in av_samples_alloc () from /lib64/libavutil.so.54
(gdb) up
#2 0x000000000040c8d1 in ff2theora_output (this=this@entry=0x64d190) at src/ffmpeg2theora.c:1068
1068 if (av_samples_alloc(dst_audio_data, &dst_linesize, this->channels,
(gdb) p *this
$1 = {context = 0x64d6a0, video_index = 0, audio_index = 1, deinterlace = 0, soft_target = 0, buf_delay = -1,
  vhook = 0, disable_video = 0, no_upscaling = 0, audiostream = -1, sample_rate = 44100, channels = 1,
  disable_audio = 0, audio_quality = 1, audio_bitrate = 0, preset = 0, included_subtitles = 1,
  disable_metadata = 0, disable_oshash = 0, videostream = -1, picture_width = 1280, picture_height = 720, fps = 30,
  sws_colorspace_ctx = 0x66d4a0, sws_scale_ctx = 0x741ec0, aspect_numerator = 0, aspect_denominator = 0,
  colorspace = 0, pixel_aspect = {num = 0, den = 0}, frame_aspect = {num = 0, den = 1}, max_x = -1, max_y = -1,
  pix_fmt = 0, video_quality = 38, video_bitrate = 0, keyint = 64, pp_mode = '\000' <repeats 254 times>,
  resize_method = -1, force_input_fps = {num = -1, den = 1}, sync = 1, frame_topBand = 0, frame_bottomBand = 0,
  frame_leftBand = 0, frame_rightBand = 0, frame_width = 1280, frame_height = 720, frame_x_offset = 0,
  frame_y_offset = 0, start_time = 0, end_time = 0, framerate_new = {num = -1, den = 1}, framerate = {num = 0,
    den = 0}, pts_offset_frame = 0, pts_offset = -9223372036854775808, frame_count = 0, sample_count = 0,
  n_kate_streams = 0, kate_streams = 0x0, ignore_non_utf8 = 0, video_gamma = 0, video_bright = 0, video_contr = 0,
  video_satur = 1, y_lut_used = 0, uv_lut_used = 0, y_lut = '\000' <repeats 255 times>,
  uv_lut = '\000' <repeats 255 times>, buffersink_ctx = 0x0, buffersrc_ctx = 0x0, filter_graph = 0x0,
  filter_frame = 0x0, last_width = 0, last_height = 0, last_pixfmt = AV_PIX_FMT_YUV420P}
(gdb)

(gdb) p dst_audio_data
$2 = (uint8_t **) 0x0
(gdb) p dst_linesize
$3 = 1846
(gdb) p this->channels
$4 = 1

Let me know if you need more information. I'm aware it's a segfault in libavutil, but I had an old version locally before as well, and I suspect it's from something ffmpeg2theora is doing.