beagleboard xM - kernel BB branch 3.6 - gst-dsp issue BUG: scheduling while atomic: queue1:src/89/0

Hi !

I am experiencing trouble with gst-dsp :

  • croostool CodeSrouce 2012

  • beagleboard xM

  • beagleboard kernel 3.6 (Beagleabord 3.6 branch)

  • gstreamer 0.10.36 with plugins base, good

  • custom FS (busybox only and base libs)

  • ti LI23.8 dspcode

  • gst-dsp 0.10.2
    I compiled the tidspbridge with "check that buffer are aligned (but also tested without this option).

I load the mailbox and tidspbridge and run the dsp-test that displays “copied 1000 times successfully”.

I test the gst-omapfb plugin that is ok (gst-launch -v videotestsrc pattern=snow ! omapfbsink)

If I try to read a videofile I get the following trace looping :

gst-launch-0.10 filesrc location="/home/mntfat/9_h264-avc1_720x400_
24fps_0bkps_aac_stereo_44KHz_128kbps.mp4" ! decodebin ! queue ! ffmpegcolorspace
! videoscale ! omapfbsink

(gst-launch-0.10:85): GStreamer-CRITICAL **: gst_mini_object_unref: assertion `GST_IS_MINI_OBJECT (mini_object)’ failed
setup_buffers: couldn’t allocate buffer: not-linked
setup_buffers: couldn’t allocate buffer: not-linked
setup_buffers: couldn’t allocate buffer: not-linked
setup_buffers: couldn’t allocate buffer: not-linked
[ 153.259735] BUG: scheduling while atomic: queue1:src/89/0x0000008e
[ 153.272521] Modules linked in: ntfs tidspbridge© mailbox_mach mailbox
[ 153.285766] [] (unwind_backtrace+0x0/0xe0) from [] (__schedule_bug+0x48/0x5c)
[ 153.301391] [] (__schedule_bug+0x48/0x5c) from [] (__schedule+0x60/0x798)
[ 153.316802] [] (__schedule+0x60/0x798) from [] (do_work_pending+0x18/0xa0)
[ 153.332336] [] (do_work_pending+0x18/0xa0) from [] (work_pending+0xc/0x20)
[ 153.348266] BUG: scheduling while atomic: queue1:src/89/0x0000008e
[ 153.361419] Modules linked in: ntfs tidspbridge© mailbox_mach mailbox.

The first frame of the video is displayed. A few times the video is displayed (slowly because there are a lot of kernel msgs)

I can encode video :
gst-launch -v videotestsrc num-buffers=500 ! video/x-raw-yuv, framerate=25/1, width=640, height=480 ! dspmp4venc ! filesink location=/home/mntfat/test.mp4

The file is played on desktop PC. If I try to read this with gst-dsp then I get the same kernel log as above.

Is the plugin not using correctly the dsp API or is it about mailbox/tidspbridge interface ?
Does Anybody knows a workaround about this ?

Regards,
Selso.