← Back to team overview

desktop-packages team mailing list archive

[Bug 657457] Re: interleave ! pulsesink link doesn't work

 

[Expired for gst-plugins-good0.10 (Ubuntu) because there has been no
activity for 60 days.]

** Changed in: gst-plugins-good0.10 (Ubuntu)
       Status: Incomplete => Expired

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to gst-plugins-good0.10 in Ubuntu.
https://bugs.launchpad.net/bugs/657457

Title:
  interleave ! pulsesink link doesn't work

Status in “gst-plugins-good0.10” package in Ubuntu:
  Expired

Bug description:
  I have a stereo LADSPA plugin I want to use to filter my audio using
  gstreamer. Unfortunately, I discovered that gstreamer's gstladspa
  plugin can't be naturally used with stereo sound sources. However, I
  realized that the interleave and deinterleave plugins can be used to
  split a 2-channel stream to 2 separate streams, which can be routed to
  the LADSPA plugin, and the result can then be reassembled back to
  2-channel audio.

  However, there is a bug between the interleave and pulsesink. Given a
  suitable 2-channel file, one should be able to reproduce the problem
  on a 10.10 installation:

  gst-launch-0.10 \
   de.src0 '!' queue '!' in.sink0 \
   de.src1 '!' queue '!' in.sink1 \
   filesrc location="$1" '!' decodebin '!' deinterleave name=de \
   interleave name=in '!' audioconvert '!' pulsesink

  To parse this out, the fragment is copypasted from shell script. The
  filename to play is specified in $1, and is decoded and split to two
  channels (it is a stereo file), which are then piped through queue
  (which seems to be necessary for some reason) to the interleave sink,
  which assembles them together and sends the result to pulsesink.
  However, pulsesink rejects this command, saying:

  Setting pipeline to PAUSED ...
  Pipeline is PREROLLING ...
  ERROR: from element /GstPipeline:pipeline0/GstPulseSink:pulsesink0: Failed to create stream: Invalid argument
  Additional debug info:
  pulsesink.c(826): gst_pulseringbuffer_acquire (): /GstPipeline:pipeline0/GstPulseSink:pulsesink0
  ERROR: pipeline doesn't want to preroll.
  Setting pipeline to NULL ...
  Freeing pipeline ...

  The failure to create stream arises from pa_stream_new() call in
  ext/pulse/pulsesink.c. The strange thing is, if I change the sink to
  alsasink, the file I specified begins to play, indicating that the
  problem must somehow be related to pulsesink. Similarly, if I modify
  the last line to something like:

   interleave name=il '!' audioconvert '!' flacenc '!' decodebin '!'
  pulsesink

  also workarounds the problem, for some unfathomable reason.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gst-plugins-good0.10/+bug/657457/+subscriptions