[pulseaudio-discuss] [PATCH v4 1/2] client audio: Support memfd transport

Ahmed S. Darwish darwish.07 at gmail.com
Mon Apr 25 16:59:03 UTC 2016


Hi!

Interesting discoveries ahead ..

On Mon, Apr 25, 2016 at 08:28:40PM +0530, Arun Raghavan wrote:
> On 25 April 2016 at 18:20, Ahmed S. Darwish <darwish.07 at gmail.com> wrote:
> >
> > Nonetheless, of course what you're proposing is the more correct
> > logic. So if this is the only problem, let's merge and I'll create
> > a follow-up patch this week that introduces the desired macros and
> > fixes up this version-check issue in the process.
> 
> Not to worry, I actually ended up fixing it locally.

Thanks!

> Still testing
> things, but I found an interesting breakage that I can't yet explain.
> I merged your patches and built the code, and the did something like:
> 
>   $> PULSE_LOG=4 LD_LIBRARY_PATH=$PWD/build/src/.libs gst-launch-1.0
> playbin uri=file:///path/to/some/file
> 
> which works fine (and I see logs about memfd being selected).
>

Just installed a shiny gstreamer-1.8 here. Simple commands like:

    $ gst-launch-1.0 audiotestsrc ! pulsesink

are working nicely here too ..

> But,
> 
>   $> PULSE_LOG=4 LD_LIBRARY_PATH=$PWD/build/src/.libs rhythmbox (or totem)
> 
> seems to fail with the following error:
> 
>   Format info property 'format.sample_format' type is not string.
> 
> Which is weird because the two lines should be doing the same thing.
>

Yup, I can replicate the above, with and without the memfd patch
series .. Seems we've got a new v9.0 release blocker :-(

Here are some quick debugging results:

- Totem with PulseAudio v8.0 is working nicely

- Totem with PulseAudio master, before merging any memfd patches,
  commit 0f48b7c82378c32194b625d1fd886eee7f1e5928 .. still has the
  bug

Here are more details on the bug, running the PA master branch
commit 0f48b7c82378c above:

$ GST_DEBUG=2 PULSE_LOG=4 totem brown.wav

Parsing configuration file '/home/darwish/.config/pulse/client.conf'
/home/darwish/.config/pulse/client.conf.d does not exist, ignoring.
Using shared memory pool with 1024 slots of size 64.0 KiB each, total size is 64.0 MiB, maximum usable slot size is 65472
Trying to connect to /run/user/1000/pulse/native...
SHM possible: yes
Protocol version: remote 30, local 30
Negotiated SHM: yes
0:00:00.275566120 24621      0x161f040 WARN    basesrc gstbasesrc.c:3486:gst_base_src_start_complete:<source> pad not activated yet
0:00:00.275902725 24621      0x161f040 WARN    basesrc gstbasesrc.c:3486:gst_base_src_start_complete:<source> pad not activated yet
Format info property 'format.sample_format' type is not string.
0:00:00.285102434 24621      0x21f11e0 WARN    pulse pulsesink.c:2167:gst_pulsesink_query_getcaps:<audio-sink-actual-sink-pulse> Could not create probe stream
0:00:00.365375427 24621 0x7f82c40ffb70 WARN    pulse pulsesink.c:2167:gst_pulsesink_query_getcaps:<audio-sink-actual-sink-pulse> Could not create probe stream
0:00:00.374087966 24621 0x7f82c40ffb70 WARN    pulse pulsesink.c:2167:gst_pulsesink_query_getcaps:<audio-sink-actual-sink-pulse> Could not create probe stream
0:00:00.374392912 24621 0x7f82c40ffb70 WARN    playsink gstplaysink.c:2916:gen_audio_chain:<playsink> error: Failed to configure the audio sink.
0:00:00.375476196 24621 0x7f82c40ffb70 WARN    wavparse gstwavparse.c:2261:gst_wavparse_loop:<wavparse0> error: Internal data flow error.
0:00:00.375555318 24621 0x7f82c40ffb70 WARN    wavparse gstwavparse.c:2261:gst_wavparse_loop:<wavparse0> error: streaming task paused, reason not-linked (-1)
0:00:00.442942584 24621      0x161f040 ERROR   default totem-gst-helpers.c:61:totem_gst_message_print: message = Internal GStreamer error: pad problem.  Please file a bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer.
0:00:00.442996447 24621      0x161f040 ERROR   default totem-gst-helpers.c:63:totem_gst_message_print: domain  = 5890 (gst-core-error-quark)
0:00:00.443018667 24621      0x161f040 ERROR   default totem-gst-helpers.c:64:totem_gst_message_print: code    = 5
0:00:00.443030278 24621      0x161f040 ERROR   default totem-gst-helpers.c:65:totem_gst_message_print: debug   = gstplaysink.c(2916): gen_audio_chain (): /GstPlayBin:play/GstPlaySink:playsink:
Failed to configure the audio sink.
0:00:00.443040339 24621      0x161f040 ERROR   default totem-gst-helpers.c:66:totem_gst_message_print: source  = <playsink>
0:00:00.443050652 24621      0x161f040 ERROR   default totem-gst-helpers.c:67:totem_gst_message_print: uri     = (NULL)

gstreamer pulsesink is complaining several times of not being
able to "create probe stream" ..

>
> I'll try to pin this down later tonight or tomorrow. Hopefully just a
> glitch in my setup.
>

I'll submit a bug report now, and mark it as a blocker. I'm
currently working on another blocker [*], but this seems to have
a much higher priority (a user-facing program not working) ..

[*] https://bugs.freedesktop.org/show_bug.cgi?id=95021

regards,

-- 
Darwish
http://darwish.chasingpointers.com


More information about the pulseaudio-discuss mailing list