Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Playback does not work on USB DAC with 1.3 and 1.3.1 #5352

Open
3 tasks done
SamuelGilbert42 opened this issue Apr 20, 2016 · 12 comments
Open
3 tasks done

Playback does not work on USB DAC with 1.3 and 1.3.1 #5352

SamuelGilbert42 opened this issue Apr 20, 2016 · 12 comments

Comments

@SamuelGilbert42
Copy link

Before posting

Please follow the steps below and check the boxes with [x] once you did the step.

  • I checked the issue tracker for similar issues
  • I checked the changelog if the issue is already resolved
  • I tried the latest Clementine build from here

System information

Please provide information about your system and the version of Clementine used.

Expected behaviour / actual behaviour

After selecting the my DAC (NuForce USB Audio Analog Stereo) from Tools->Preferences->Playback->Audio Output, I should be able to hear music play with the headphones connected to my DAC.

It worked yesterday, but it does not work today. My guess is that Clementine isn't using the proper end-point. My DAC has 2 (Analog and SPDIF). With the old interface in Clementine 1.2.3, I could write the proper ALSA device name (hw:Audio,0), but with this new interface, I can no longer specify nor select the end-point.

I confirmed that it's not the DAC or an hardware problem since playback works with VLC and mplayer.

Steps to reproduce the problem (only for bugs)

  1. Select "NuForce USB Audio Analog Stereo" from Tools->Preferences->Playback->Audio Output
  2. Start playback of a track
  3. Hear nothing, while seeing the song scroll-bar advance. The issue isn't systematic. It worked yesterday.
    clementine_output_selection_bug
@ghost
Copy link

ghost commented Apr 21, 2016

Maybe a compilation issue?
With Clementine from arch "extra" repo it works for me (I have a HRT Musicstreamer II+).
Anyway I agree with your "not possible to specify alsa output" rant.

@Ferroin
Copy link

Ferroin commented Apr 21, 2016

It could just as easily be poor hardware design (I've seen USB audio cards that have both analogue and optical digital outputs, and put the optical output first in enumeration), or even something with Pulseaudio (or ALSA) picking the wrong default output device (which I have regularly recurring issues with).

@SamuelGilbert42
Copy link
Author

SamuelGilbert42 commented Apr 21, 2016

Maybe a compilation issue?

I don't think so since I was able to replicate the issue with 1.3 (Arch), 1.3.1 (https://builds.clementine-player.org/), and git.

It could just as easily be poor hardware design

I don't think that's the case since I always got the analog output with ALSA device string "hw:Audio,0". In the same manner, "hw:Audio,1" has always been the SPDIF output.

From my point of view, even if the interface is now easier to use for most people who don't know about audio sink providers, it's still is a regression since I can no longer specify the output provider (ALSA, OSS, Pulse, etc) nor the exact sink.

I think we could inspire ourselves of VLC's configuration interface. It's also not perfect since you can not distinguish which sink is selected, but at least, you can select all of them to find the one that works. (See the screenshot)
vlc_audio_output_config

@Ferroin
Copy link

Ferroin commented Apr 21, 2016

The root issue is that they eliminated all the ability to specify output devices, it's not just an ALSA thing (it can't be done for JACK or OSS either). The functionality was actually useful, and was along the type of thing you could say 'If you need to ask what this is for, you don't need it' to regular users. Last I looked on Windows, you always get a full list of sound devices (similar to what you get in VLC, but without the channel selection options, which really are useless to a significant majority of people for music), and therefore this is a feature that's now missing on Linux.

Now, that said, the fact that the S/PDIF output is getting selected as the default by Pulseaudio (or whatever else Clementine is routing through) is itself an issue, and I regularly see rather stupid default device selection happen with all kinds of audio software.

@SamuelGilbert42
Copy link
Author

I though the output might have gone to a different end-point on my USB DAC, but that isn't the case. Even when I select my DAC in the preferences, the output is still routed the my laptop's built-in sound-card.

@ghost
Copy link

ghost commented May 3, 2016

"I regularly see rather stupid default device selection happen with all kinds of audio software."

My God, this x1000. Getting applications to automatically select a sane audio output is a nightmare on my rig. This is also almost never a problem as I can just point most applications manually to a sane output like with vlc. Needless to say, I need the "select audio output" feature to even be able to use Clementine in any meaningful way. I frankly don't even understand why they would take the feature away, it was useful and anyone who doesn't need it shouldn't be bothered by it. I've tried downgrading but there's some major compatability problems if I do.

@SamuelGilbert42
Copy link
Author

I don't think it's much an issue of selecting a sane default output. By default, to output went to my built-in sound-card which is probably what 95% of user want. However, the real issue is that selecting another output sink in the configuration is not honoured.

I've started looking at the code, but it will take a while since I don't have much time to dedicate to this and I need to learn GStreamer.

@ghost
Copy link

ghost commented May 3, 2016

I've tried using Rhythmbox, which uses GStreamer, and it works just
fine. I'm assuming that the problem is related to the autoselected
output which can't be changed as I've had quite a bit of personal grief
with that before on this setup. Thank you for looking into this, I
really like Clementine.

On 05/03/2016 08:43 AM, SamuelGilbert42 wrote:

I don't think it's much an issue of selecting a sane default output.
By default, to output went to my built-in sound-card which is probably
what 95% of user want. However, the real issue is that selecting
another output sink in the configuration is not honoured.

I've started looking at the code, but it will take a while since I
don't have much time to dedicate to this and I need to learn GStreamer.


You are receiving this because you commented.
Reply to this email directly or view it on GitHub
#5352 (comment)

@Moilleadoir
Copy link

Just ran into this issue experimenting with sending 192/24 audio to a receiver over HDMI. Works perfectly in Deadbeef though.

@more10
Copy link

more10 commented Jul 20, 2016

@more10
Copy link

more10 commented Jul 20, 2016

I would very much appreciate a checkbox "Bit perfect" output. Only compatible devices should be shown. Also there should be no EQ settings available.

@more10
Copy link

more10 commented Jul 21, 2016

Bit perfect output works with mpd.

kilobyte added a commit to kilobyte/Clementine that referenced this issue Jul 10, 2017
It works by scraping /proc/asound/cards rather than by proper ioctls,
doesn't check device suitability (like, an USB microphone would show up
as a card despite having no pcm output), and so on.  But we can improve
it later.

For consistency with the PulseAudio finder, only top-level devices are
shown.  We'd probably want subdevices as well (clementine-player#5352), but unless we query
plug sensors, the list would be too spammy for now.

Fixes clementine-player#5611.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants