Comments (10)
I've managed to fix it by dumb-editing the meson.build file, removing the check:
#if not cc.has_header('deadbeef/deadbeef.h')
#error('missing header: deadbeef.h')
#endif
This way the compiler do the job without any other complaints.
Said this,
i'm afraid i'm not having audio out from my devices. The pw patchway graph is correctly showing the DeadBeef source, connected to playbacks. DeadBeef logs show this:
ddbpw_play
ddbpw_init
format 16bit int 2ch 44100Hz channelmask=3
PipeWire: Stream state connecting
PipeWire: Stream state paused
PipeWire: Control Volume value[0] = 1.000000
PipeWire: Control Mute value[0] = 0.000000
PipeWire: Control Channel Volumes
PipeWire: Control Soft Mute value[0] = 0.000000
PipeWire: Control Soft Volumes
PipeWire: Control Monitor Mute value[0] = 0.000000
PipeWire: Control Monitor Volumes
PipeWire: Control Channel Volumes value[0] = 1.000000 value[1] = 1.000000
but playback timer is stuck, no audio. something's wrong.
from ddb_output_pw.
You are supposed to have the deadbeef development package installed. Something like deadbeef-devel or similar. The build script search standard include paths by default such as /usr/include/deadbeef
and /usr/local/include/deadbeef
.
Pipewire is now bundled with latest Deadbeef nightly and will be included with version 1.9.5 (currently in beta in case you were unaware.
As for your problem with outputting to Pipewire I have no idea. Recheck pipewire configuration.
Do you actually have other stuff playing through Pipewire on your system? Is it setup as sound server? Pipewire and Pulseaudio cannot coexist. You can install packages like pipewire-pulse to enable it as a sound server. I'm just throwing things out here as the information you have provided isn't enough to debug.
Try to download something like Helvum or qpwgraph and see if Deadbeef is connected to a sound output.
You can also get debug output by running Deadbeef with environment variable override: PIPEWIRE_DEBUG=D
e.g. on command prompt:
$ PIPEWIRE_DEBUG=D deadbeef
from ddb_output_pw.
Hi and thanks for your support!
~$ pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 62
Tile Size: 65472
User Name: x
Host Name: x
Server Name: PulseAudio (on PipeWire 0.3.63)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_00_1b.0.pro-output-0
Default Source: alsa_input.pci-0000_00_1b.0.pro-input-0
Cookie: bb3c:22e1
Well it looks like after a reboot... everything's working..
There's a catch, though....
Playing a .dsf file through deadbeef (which rely upon ffmpeg decoding...) i got horrible sound
here's the pw-top:
ID QUANT RATE WAIT BUSY W/Q B/Q ERR FORMAT NAME
...
R 63 1024 48000 481,4us 48,1us 0,02 0,00 0 S32LE 2 48000 alsa_output.usb-FiiO_K3-00.pro-output-0
R 80 0 352800 24,6us 435,3us 0,00 0,02 0 F32LE 2 352800 + DeaDBeeF Music Player
there might be a problem in the resampling?
from ffmpeg's F32LE 2 352800 to pipewire output on alsa device, in S32LE 2 48000
and for convenience, since i'm new to the entire pipewire system... is there a way to disable the resampling?
I'm using wireplumber as session manager.
from ddb_output_pw.
I'm doing tests using the sample files, freely avalaible at oppo's:
https://www.oppodigital.com/hra/dsd-by-davidelias.aspx
I'm testing the one's name ""Vision of Her""
[DSF - DSD64]
[WAV - 24-bit, 88.2kHz Sampling]
[FLAC - 24-bit, 88.2kHz Sampling]
[WAV - 16-bit, 44.1kHz Sampling]
[MP3-320 - 320kHz, 44.1kHz]
[MQA - 24-bit, 352.8 kHz Sampling]
no issues but for dsd format. it sounds like its a ffmpeg conversion problem maybe.
from ddb_output_pw.
This is due to a bug in the pipewire plugin for deadbeef. I will fix it. The buffer length is too small.
from ddb_output_pw.
Ok. Thank you again.
As a last note, pipewire or not, deadbeef has some issue with DSD playback.
I can listen to dsd64, higher grade dsd are played at wrong speed and pitch.
from ddb_output_pw.
I have pushed a fix for the buffer size problem now.
I tested the "Vision of Her" DSD sample and it doesn't stutter on playback.
from ddb_output_pw.
I confirm DSD playback is fixed!
I had to edit once again the meson.build file, commenting out headers check.
This occours because i'm using linux mint. I've manually compiled and installed deadbeef (no .debs.. so... no dev package)
standard git'd package provides the files needed, but they must be pushed in.
~/ddb_output_pw$ cp /opt/deadbeef/include/deadbeef/ . -r
to let compile go straight.
maybe you could add this step in install instructions.
from ddb_output_pw.
Readme has been updated.
Btw. these are not install instructions. Regular users should not need to install things from source. This would have been available as a download eventually on Deadbeef's website (if not available as a distro package) if it wasn't decided to bundle it with Deadbeef.
from ddb_output_pw.
You are 100% right.
But i've noticed that sometimes, official .deb (ubuntu-ish) repos are not updated (or they don't have certain packages at all)
For example... you mentioned Helvum..
Helvum got NO .deb from official repos, and there are currently no PPAs to add, eventually.
I'm trying to compile it manually but i'm facing an issue (already discussed in their gitlab - its rust toolchain complaining about unstable features, so compile stops, hype!)
Everything that goes round this ecosystem, i mean pipewire/wireplumber/deadbeef/helvum is rather new and under active develop.
Difficulties are expected. And even though i'm a power user, for sure i'm not an expert!.
Thank you again for your work.
from ddb_output_pw.
Related Issues (8)
- Weird crash when switching between crashes HOT 2
- Request: Infobar Plugin Support For The Latest Deadbeef?
- Plugin broken with pipewire 0.3.53 HOT 2
- Using Pipewire volume control as default HOT 1
- Can't build on Fedora 36 HOT 3
- ddb_out_pw.so failed to load HOT 3
- ERROR: no member named 'streamer_get_playing_track_safe' in 'DB_functions_t';
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ddb_output_pw.