[gstreamer-bugs] [Bug 632118] [alsasink] probe does not work

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Oct 26 21:04:47 PDT 2010


https://bugzilla.gnome.org/show_bug.cgi?id=632118
  GStreamer | gst-plugins-base | git

--- Comment #6 from Pierre Bossart <bossart.nospam at gmail.com> 2010-10-26 22:14:56 UTC ---
example with an iec958 device that's busy:

with git master
gst-launch filesrc location=~/AURAL/ac3/Bjorn_Lynne-The_Fairy_Woods.ac3 !
ac3iec958 ! alsasink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstAlsaSink:alsasink0: Could not
open resource for writing.
Additional debug info:
gstalsasink.c(756): gst_alsasink_prepare ():
/GstPipeline:pipeline0/GstAlsaSink:alsasink0:
Could not open IEC958 (SPDIF) device for playback
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...


with suggested work-around
gst-launch filesrc location=~/AURAL/ac3/Bjorn_Lynne-The_Fairy_Woods.ac3 !
ac3iec958 ! alsasink
0:00:00.028269053  8659  0x8808070 ERROR           GST_PIPELINE
./grammar.y:614:gst_parse_perform_link: could not link ac3iec0 to alsasink0
WARNING: erroneous pipeline: could not link ac3iec0 to alsasink0

In the default case, the connection is allowed without checking if the device
is available. When you actually probe if the device is available and change the
caps accordingly as done with my patch, the pipeline isn't constructed.

I think the second case is more correct... What I wanted to highlight is that
the iec958 cap on the sink pad should only be enabled if the device is actually
available. Likewise we should only enable in the sink caps the sampling
frequencies and formats that are actually supported by the device. This was the
intent of the code written in gstalsa.c, but it is unfortunately not called
since the handle is not opened or the state isn't correct.

Got it?

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.




More information about the Gstreamer-bugs mailing list