gst-plugins-good-0.10.30 avimux FPE crash

RaubTieR VoiD raubtierxxx at gmail.com
Tue Sep 20 03:49:37 PDT 2011


Greetings.

I am developing a video rendering app, on Ubuntu 10.10, using gstreamer-0.10
and gstreamer-plugins-good-0.10.30. My pipeline is: multijpegsrc ->
ffdec_mjpeg -> ffmpegcolorspace -> videoflip -> textoverlay -> textoverlay
-> textoverlay -> tee(src) -> ffenc_mp4 -> (video_0)avimux -> filesink,
tee(src1) -> queue -> xvimagesink; filesrc -> wavparse -> audioconvert ->
ffenc_mp2 -> (audio_0)avimux. Where multijpegsrc is an adapted version of
multifilesrc, which uses another file-choosing algorithm corresponding to my
needs, but overall effect of working element is the same.
My goal is to make avi-video of multiple (m)jpeg images, applying wav sound
where available, and rendering some text over the picture; also a sort of
rendering process preview (onto xvimagesink) required.
Ok, I've got my avi-vid, with sound and such, BUT when videostream ends,
program gets terminated with SIGFPE exception (i suppose division by zero in
avimux). Still i have undamaged video file, but i don't want my app to
crash. When I turn off sound-subpipeline, everything works ok without crash.
Also I am using a kind of wav-switching system, which pauses whole pipeline
for a moment, changes "location" of filesrc, and resumes pipeline then (I'm
not sure if that might cause a problem, but i have to change wavs on-fly
somehow).

some GDB stuff:
Program terminated with signal 8, Arithmetic exception.
#0  0x0408e04c in gst_avi_mux_audsink_set_fields (avimux=0x9960020)
    at gstavimux.c:726
726        avipad->parent.hdr.rate = avipad->auds.av_bps /
avipad->auds.blockalign;

considering types of arguments, I get zero value in avipad->auds.blockalign

(gdb) list
721        /* FIXME ?? some rumours say this should be largest audio chunk
size */
722        avipad->auds.blockalign = avipad->parent.hdr.scale;
723      } else {
724        /* by spec, hdr.rate is av_bps related, is calculated that way in
stop_file,
725         * and reduces to sample rate in PCM like cases */
726        avipad->parent.hdr.rate = avipad->auds.av_bps /
avipad->auds.blockalign;
727        avipad->parent.hdr.samplesize = avipad->auds.blockalign;
728        avipad->parent.hdr.scale = 1;
729      }
730    }

(gdb) bt
#0  0x0408e04c in gst_avi_mux_audsink_set_fields (avimux=0x9960020)
    at gstavimux.c:726
#1  gst_avi_mux_stop_file (avimux=0x9960020) at gstavimux.c:1838
#2  0x0408e915 in gst_avi_mux_do_one_buffer (pads=0x94d2670,
avimux=0x9960020)
    at gstavimux.c:2068
#3  gst_avi_mux_collect_pads (pads=0x94d2670, avimux=0x9960020)
    at gstavimux.c:2084
#4  0x0199ffa2 in gst_collect_pads_check_collected (pads=0x94d2670)
    at gstcollectpads.c:1126
#5  0x019a04e0 in gst_collect_pads_event (pad=0x9965330, event=0x9b5c250)
    at gstcollectpads.c:1232
#6  0x0408f08c in gst_avi_mux_handle_event (pad=0x9965330, event=0x9b5c250)
    at gstavimux.c:1913
#7  0x00a790c3 in gst_pad_send_event (pad=0x9965330, event=0x9b5c250)
    at gstpad.c:5043
#8  0x00a7963a in gst_pad_push_event (pad=0x99654c0, event=0x9b5c250)
    at gstpad.c:4899
#9  0x019968e2 in gst_base_transform_sink_event (pad=0x99653f8,
    event=0x9b5c250) at gstbasetransform.c:1710
#10 0x00a790c3 in gst_pad_send_event (pad=0x99653f8, event=0x9b5c250)
    at gstpad.c:5043
[35 more skipped]

Is this a bug or incorrect use of pipeline's plugins?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20110920/2257ec69/attachment.htm>


More information about the gstreamer-devel mailing list