GNOME Bugzilla – Bug 316846
OSS plugin doesn't work on FreeBSD
Last modified: 2006-04-25 22:28:17 UTC
Version details: cvs checkout 20050920 Distribution/Version: 7.0-current The oss plugin doesn't work, if I replace osssink with esdsink it works. > gst-launch-0.9 --gst-debug-level=2 filesrc location=oneti_01.mp3 ! mad ! audioconvert ! osssink PAUSE pipeline ... WARN (0x80f27a0 - 0:00:00.527364000) basesrc( 748) gstbasesrc.c(705):gst_base_src_loop:<filesrc0> error: streaming stopped, reason pad not negotiated WARN (0x80f27a0 - 0:00:00.527707000) basesrc( 748) gstbasesrc.c(705):gst_base_src_loop:<filesrc0> error: streaming stopped, reason pad not negotiated PREROLLED pipeline ... ERROR: from element /pipeline0/filesrc0: streaming stopped, reason pad not negotiated Additional debug info: gstbasesrc.c(705): gst_base_src_loop: /pipeline0/filesrc0: streaming stopped, reason pad not negotiated ERROR: pipeline doesn't want to preroll. PAUSE pipeline ... READY pipeline ... NULL pipeline ... FREEING pipeline ...
Created attachment 52740 [details] gst-launch-0.9 --gst-debug=*:5 sinesrc ! audioconvert ! audio/x-raw-int,channels=2 ! osssink 2>&1 | bzip2 > sinesrc.log.bz2
gst-launch-0.9 sinesrc ! osssink works, but gst-launch-0.9 sinesrc ! audioconvert ! osssink doesn't (see error above). But its not that simple, with gst-launch-0.9 sinesrc ! audiorate ! audioconvert ! osssink I get a nice clear tone. This last trick doesn't work for bigger pipelines: =================== gst-launch-0.9 filesrc location= AniMix_Project-Full.512x384.XviD.avi ! avidemux name=d d. ! queue ! mad ! osssink d. ! queue ! ffdec_mpeg4 ! ffmpegcolorspace ! xvimagesink =================== Which will play happily to the end of the avi, but when I put audioconvert in between mad and osssink it bugs out with the error in post #0 above. If I put in audiorate ! audioconvert between mad and osssink I get this: Note: I don't know it audiorate ! audioconvert is allowed, but because it worked with sinesrc I tried it here too. =================== PAUSE pipeline ... (process:10870): GStreamer-WARNING **: timeout in PREROLL, forcing next state change PREROLLED pipeline ... ERROR: from element /pipeline0/audioconvert0: not negotiated Additional debug info: gstbasetransform.c(1176): gst_base_transform_handle_buffer: /pipeline0/audioconvert0: not negotiated ERROR: pipeline doesn't want to preroll. ===================
Is this still an issue with current CVS?
Yes. Using cvs snapshot of 2005.11.02. The timeout in PREROLL is gone. This is the error that I get when using oggdemux ! vorbisdec ! audioconvert ! osssink. It works when using esdsink instead of osssink. =================== ERROR: from element /pipeline0/oggdemux0: Internal data stream error. Additional debug info: gstoggdemux.c(2323): gst_ogg_demux_loop: /pipeline0/oggdemux0: stream stopped, reason not-negotiated ERROR: pipeline doesn't want to preroll. =================== I also get a bunch of these: ERROR (0x8101060 - 0:00:02.979257000) oss(72473) gstosshelper.c(257):gst_oss_helper_rate_probe_check: Driver bug recognized (driver does not round rates correctly). Please file a bug report.
Thanks for confirming this. Could you attach another debug log with --gst-debug=oss:5 --gst-debug-no-color or the environment variables GST_DEBUG_NO_COLOR=1 and GST_DEBUG=oss:5 set? Cheers -Tim
Created attachment 54219 [details] Requested debug log --gst-debug=oss:5.bzip2
Your driver is buggy. Which driver is it?
*** This bug has been marked as a duplicate of 334832 ***