All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
To: Adam Duskett <adam.duskett@amarulasolutions.com>
Cc: buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH 3/3] package/flutter-pi: audio player plugin is not compatible with pulseaudio
Date: Tue, 23 Jan 2024 21:47:18 +0100	[thread overview]
Message-ID: <ZbAl1rLBq6tEC2b5@landeda> (raw)
In-Reply-To: <20240123190035.904936-4-adam.duskett@amarulasolutions.com>

Adam, All,

On 2024-01-23 12:00 -0700, Adam Duskett spake thusly:
> According to the README.md file:
> ```
> [The] plugin was tested to work with ALSA and `pulseaudio` might prevent the
>       plugin from playing audio correctly:
>     - Hence please make sure you delete `pulseaudio` package from your system.
> ```
> 
> And from plugins/audioplayers/README.md:
> ```
> ...
> - Make sure `pulseaudio` is deleted
> 
> Please note that plugin was not tested with `pulseaudio` and it is up to you
> to make gstreamer work via it. As `pulseaudio` takes full control over audio
> devices, `ALSA` will no longer function correctly with `pulseaudio` installed
> ```
> 
> As such, it is best to ensure the pulseaudio package is not selected to
> ensure the audio player plugin works out of the box.

I am not sure about this.

First, it is possible, albeit a bit kludgy, to make an ALSA application
work with P.A:

    https://www.freedesktop.org/wiki/Software/PulseAudio/FAQ/#canigetossandalsaapplicationstoworkwithpulseaudio

    Yes, you can! OSS applications are handled using the padsp utility
    shipped with PulseAudio:

        padsp myapp <arguments to myapp>

It is a LD_PRELOAD-based wrapper, hence it might be a bit kludgy, but it
is worth a try.

Second, it is possible for PA to not be used as a systemd daemon; that's
even the default, and Buildroot has an option for that:
    BR2_PACKAGE_PULSEAUDIO_DAEMON

In such a case, it is possible that a system is configured to run an
application or another, and thus it is a rruntime configuration that
ensures that the ALSA-based app and the PA-based one are nt running at
the same time.

Also, as you quoted, the plugin is "not tested with `pulseaudio` and it
is up to you to make gstreamer work via it". Untested does not mean
non-functional.

So, I don't see a reason to do that exclusion.

Regards,
Yann E. MORIN.

> Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
> ---
>  package/flutter-pi/Config.in | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/package/flutter-pi/Config.in b/package/flutter-pi/Config.in
> index 223e29749c..379b1da45b 100644
> --- a/package/flutter-pi/Config.in
> +++ b/package/flutter-pi/Config.in
> @@ -47,6 +47,7 @@ config BR2_PACKAGE_FLUTTER_PI_CHARSET_CONVERTER_PLUGIN
>  
>  config BR2_PACKAGE_FLUTTER_PI_GSTREAMER_AUDIO_PLAYER_PLUGIN
>  	bool "gstreamer audio player"
> +	depends on !BR2_PACKAGE_PULSEAUDIO
>  	select BR2_PACKAGE_GSTREAMER1
>  	select BR2_PACKAGE_GST1_PLUGINS_BASE
>  	select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA
> @@ -57,6 +58,9 @@ config BR2_PACKAGE_FLUTTER_PI_GSTREAMER_AUDIO_PLAYER_PLUGIN
>  	  Include the gstreamer based audio plugins in the finished
>  	  binary.
>  
> +comment "gstreamer audio player plugin is not compatible with pulseaudio"
> +	depends on BR2_PACKAGE_PULSEAUDIO
> +
>  config BR2_PACKAGE_FLUTTER_PI_GSTREAMER_VIDEO_PLAYER_PLUGIN
>  	bool "gstreamer video player"
>  	depends on BR2_PACKAGE_HAS_LIBGLES
> -- 
> 2.43.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

      reply	other threads:[~2024-01-23 20:47 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-23 19:00 [Buildroot] [PATCH 0/3] flutter-pi audio player plugin Config.in fixes Adam Duskett
2024-01-23 19:00 ` [Buildroot] [PATCH 1/3] package/flutter-pi: remove libgles requirement for gstreamer audio plugin Adam Duskett
2024-01-23 20:36   ` Yann E. MORIN
2024-02-04 21:32   ` Peter Korsgaard
2024-01-23 19:00 ` [Buildroot] [PATCH 2/3] package/flutter-pi: Fix help text for gstreamer audio player Adam Duskett
2024-01-23 20:37   ` Yann E. MORIN
2024-02-04 21:32   ` Peter Korsgaard
2024-01-23 19:00 ` [Buildroot] [PATCH 3/3] package/flutter-pi: audio player plugin is not compatible with pulseaudio Adam Duskett
2024-01-23 20:47   ` Yann E. MORIN [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZbAl1rLBq6tEC2b5@landeda \
    --to=yann.morin.1998@free.fr \
    --cc=adam.duskett@amarulasolutions.com \
    --cc=buildroot@buildroot.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.