Closed Deuchnord closed 1 year ago
Apple music works for me in audio-only ALAC (Apple lossless) mode, and current UxPlay also allows the cover art to be displayed. see the README. Are you choosing the correct button on the iOS device for airplay audio (it's different from the one for airplay mirror)
SEE https://developer.apple.com/design/human-interface-guidelines/technologies/airplay/icons/ the one on the left is audio, the one on the right is mirror
(From the README)
Connections to the UxPlay server by iOS/MacOS clients can be initiated both in AirPlay Mirror mode (which streams lossily-compressed AAC audio while mirroring the client screen, or in the alternative AirPlay Audio mode which streams Apple Lossless (ALAC) audio without screen mirroring. In Audio mode, metadata is displayed in the uxplay terminal; if UxPlay option -ca
Let us know if your problem is fixed! Thanks
Sorry, couldn't fix my issue :(
Are you choosing the correct button on the iOS device for airplay audio
Yes, I confirm I use the following icon to start audio Airplay: Audio Airplay icon
I have tried from both Apple Music app or from the widget in the Control center, same result: no sound.
Forgot to provide the console output. I didn't find anything wrong, but I still paste it here, just in case.
❯ uxplay
using system MAC address 24:4b:fe:8c:66:9b
Initialized server socket(s)
Accepted IPv4 client on socket 24
Local: 192.168.1.20
Remote: 192.168.1.19
Open connections: 1
Client identified as User-Agent: AirPlay/620.8.2
Accepted IPv4 client on socket 26
Local: 192.168.1.20
Remote: 192.168.1.19
Open connections: 2
ct=2 spf=352 usingScreen=0 isMedia=1 audioFormat=0x40000
start audio connection, format ALAC 44100/16/2
raop_rtp starting audio
==============Audio Metadata=============
Album: Lionheart
Artist: David Francisco
Composer: David Francisco & Janet R Smith
Genre: Pop
Title: Lionheart
==============Audio Metadata=============
Album: Lionheart
Artist: David Francisco
Composer: David Francisco & Janet R Smith
Genre: Pop
Title: Lionheart
==============Audio Metadata=============
Album: Lionheart
Artist: David Francisco
Composer: David Francisco & Janet R Smith
Genre: Pop
Title: Lionheart
The console output shows you are receiving ALAC audio from apple music, plus its metadata.
You say that sound works when you are in mirror mode. Strange
Check that the volume slider is not turned down in the audio mode.
It does work! No idea what is wrong in your case, if its not the volume turned down.
The uxplay -d will show you if the audio is arriving and being decrypted. check it.
Check that the volume slider is not turned down in the audio mode.
Had a doubt too, but it is not :D
The uxplay -d will show you if the audio is arriving and being decrypted. check it.
Here are the logs I have once I start playing music:
They audio (plus metadata and cover art) are being received and decrypted correctly.
strange that you are getting no audio. No idea why this could be if not a volume issue.
Get gstreamer debug output with "export GST_DEBUG=2" before running.
(then try GST_DEBUG=4) this should show things like
0:00:08.176619404 29383 0x7fc51000e360 INFO GST_STATES gstbin.c:2600:gst_bin_element_set_state:<avdec_alac0> skipping transition from PLAYING to PLAYING
0:00:08.176625931 29383 0x7fc51000e360 INFO GST_STATES gstbin.c:2931:gst_bin_change_state_func:<pipeline1> child 'avdec_alac0' changed state to 4(PLAYING) successfully
0:00:08.176633442 29383 0x7fc51000e360 INFO GST_STATES gstbin.c:2483:gst_bin_element_set_state:<queue1> current PLAYING pending VOID_PENDING, desired next PLAYING
0:00:08.176640560 29383 0x7fc51000e360 INFO GST_STATES gstbin.c:2600:gst_bin_element_set_state:<queue1> skipping transition from PLAYING to PLAYING
0:00:08.176646326 29383 0x7fc51000e360 INFO GST_STATES gstbin.c:2931:gst_bin_change_state_func:<pipeline1> child 'queue1' changed state to 4(PLAYING) successfully
0:00:08.176652686 29383 0x7fc51000e360 INFO GST_STATES gstbin.c:2483:gst_bin_element_set_state:<audio_source> current PLAYING pending VOID_PENDING, desired next PLAYING
0:00:08.176658834 29383 0x7fc51000e360 INFO GST_STATES gstbin.c:2600:gst_bin_element_set_state:<audio_source> skipping transition from PLAYING to PLAYING
0:00:08.176665293 29383 0x7fc51000e360 INFO GST_STATES gstbin.c:2931:gst_bin_change_state_func:<pipeline1> child 'audio_source' changed state to 4(PLAYING) successfully
0:00:08.176673442 29383 0x7fc51000e360 INFO GST_STATES gstelement.c:2807:gst_element_continue_state:<pipeline1> completed state change to PLAYING
0:00:08.176971775 29383 0x7fc4f8003a40 WARN pulse pulsesink.c:703:gst_pulsering_stream_underflow_cb:<autoaudiosink1-actual-sink-pulse> Got underflow
0:00:08.177530088 29383 0x7fc51000e360 INFO GST_STATES gstelement.c:2710:_priv_gst_element_state_changed:<pipeline1> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
==============Audio Metadata=============
Album: The Raw & The Cooked (Remastered & Expanded)
Artist: Fine Young Cannibals
Title: She Drives Me Crazy (Remastered)
that show avdec_alac is working in rendering the sound
Both of them show warnings, here is the output for GST_DEBUG=4
:
Accepted IPv4 client on socket 24
Local: 192.168.1.20
Remote: 192.168.1.19
Open connections: 1
Client identified as User-Agent: AirPlay/620.8.2
Accepted IPv4 client on socket 26
Local: 192.168.1.20
Remote: 192.168.1.19
Open connections: 2
ct=2 spf=352 usingScreen=0 isMedia=1 audioFormat=0x40000
start audio connection, format ALAC 44100/16/2
0:00:45.881822745 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2479:gst_bin_element_set_state:<autoaudiosink1> current NULL pending VOID_PENDING, desired next READY
0:00:45.881856669 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2806:gst_element_continue_state:<fake-audio-sink> completed state change to NULL
0:00:45.881874171 57802 0x7fb528075430 INFO GST_ELEMENT_PADS gstpad.c:2137:gst_pad_unlink: unlinking sink:proxypad1(0x55d0bb870380) and fake-audio-sink:sink(0x55d0bb879760)
0:00:45.881888047 57802 0x7fb528075430 INFO GST_ELEMENT_PADS gstpad.c:2192:gst_pad_unlink: unlinked sink:proxypad1 and fake-audio-sink:sink
0:00:45.881897094 57802 0x7fb528075430 INFO GST_PARENTAGE gstbin.c:1803:gst_bin_remove_func:<autoaudiosink1> removed child "fake-audio-sink"
0:00:45.881918775 57802 0x7fb528075430 INFO GST_REFCOUNTING gstelement.c:3382:gst_element_dispose:<fake-audio-sink> 0x55d0bb881690 dispose
0:00:45.881928032 57802 0x7fb528075430 INFO GST_ELEMENT_PADS gstelement.c:875:gst_element_remove_pad:<fake-audio-sink> removing pad 'sink'
0:00:45.881943240 57802 0x7fb528075430 INFO GST_REFCOUNTING gstelement.c:3428:gst_element_dispose:<fake-audio-sink> 0x55d0bb881690 parent class dispose
0:00:45.881952578 57802 0x7fb528075430 INFO GST_REFCOUNTING gstelement.c:3460:gst_element_finalize:<fake-audio-sink> 0x55d0bb881690 finalize
0:00:45.881961064 57802 0x7fb528075430 INFO GST_REFCOUNTING gstelement.c:3465:gst_element_finalize:<fake-audio-sink> 0x55d0bb881690 finalize parent
0:00:45.884606231 57802 0x7fb528075430 INFO GST_PLUGIN_LOADING gstplugin.c:987:_priv_gst_plugin_load_file_for_registry: plugin "/usr/lib/gstreamer-1.0/libgstpulseaudio.so" loaded
0:00:45.884767863 57802 0x7fb528075430 INFO GST_ELEMENT_FACTORY gstelementfactory.c:489:gst_element_factory_create_with_properties: creating element "pulsesink"
0:00:45.884789904 57802 0x7fb528075430 INFO GST_ELEMENT_PADS gstelement.c:759:gst_element_add_pad:<GstBaseSink@0x7fb51000b740> adding pad 'sink'
0:00:45.884817285 57802 0x7fb528075430 INFO GST_ELEMENT_PADS gstelement.c:1016:gst_element_get_static_pad: found pad autoaudiosink1-actual-sink-pulse:sink
0:00:45.884833215 57802 0x7fb528075430 INFO pulse pulsesink.c:3243:gst_pulsesink_change_state:<autoaudiosink1-actual-sink-pulse> new pa main loop thread
0:00:45.884950323 57802 0x7fb528075430 INFO pulse pulsesink.c:533:gst_pulseringbuffer_open_device:<autoaudiosink1-actual-sink-pulse> new context with name UxPlay@filius, pbuf=0x7fb510018090, pctx=0x7fb510012b60
0:00:45.886403476 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2806:gst_element_continue_state:<autoaudiosink1-actual-sink-pulse> completed state change to READY
0:00:45.886412913 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<autoaudiosink1-actual-sink-pulse> notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:45.886564246 57802 0x7fb528075430 INFO pulse pulsesink.c:3225:gst_pulsesink_release_mainloop:<autoaudiosink1-actual-sink-pulse> terminating pa main loop thread
0:00:45.886600383 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2806:gst_element_continue_state:<autoaudiosink1-actual-sink-pulse> completed state change to NULL
0:00:45.886606655 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<autoaudiosink1-actual-sink-pulse> notifying about state-changed READY to NULL (VOID_PENDING pending)
0:00:45.886635248 57802 0x7fb528075430 INFO GST_ELEMENT_PADS gstelement.c:1016:gst_element_get_static_pad: found pad autoaudiosink1-actual-sink-pulse:sink
0:00:45.886643474 57802 0x7fb528075430 INFO GST_PADS gstpad.c:2382:gst_pad_link_prepare: trying to link sink:proxypad1 and autoaudiosink1-actual-sink-pulse:sink
0:00:45.886649295 57802 0x7fb528075430 INFO GST_PADS gstpad.c:2590:gst_pad_link_full: linked sink:proxypad1 and autoaudiosink1-actual-sink-pulse:sink, successful
0:00:45.886653152 57802 0x7fb528075430 INFO GST_EVENT gstevent.c:1660:gst_event_new_reconfigure: creating reconfigure event
0:00:45.886665455 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2479:gst_bin_element_set_state:<autoaudiosink1-actual-sink-pulse> current NULL pending VOID_PENDING, desired next READY
0:00:45.886670314 57802 0x7fb528075430 INFO pulse pulsesink.c:3243:gst_pulsesink_change_state:<autoaudiosink1-actual-sink-pulse> new pa main loop thread
0:00:45.886707483 57802 0x7fb528075430 INFO pulse pulsesink.c:533:gst_pulseringbuffer_open_device:<autoaudiosink1-actual-sink-pulse> new context with name UxPlay@filius, pbuf=0x7fb510018470, pctx=0x7fb510012960
0:00:45.887226001 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2806:gst_element_continue_state:<autoaudiosink1-actual-sink-pulse> completed state change to READY
0:00:45.887244566 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<autoaudiosink1-actual-sink-pulse> notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:45.887270694 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2928:gst_bin_change_state_func:<autoaudiosink1> child 'autoaudiosink1-actual-sink-pulse' changed state to 2(READY) successfully
0:00:45.887285642 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2806:gst_element_continue_state:<autoaudiosink1> completed state change to READY
0:00:45.887293747 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<autoaudiosink1> notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:45.887305179 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2928:gst_bin_change_state_func:<pipeline1> child 'autoaudiosink1' changed state to 2(READY) successfully
0:00:45.887316510 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2479:gst_bin_element_set_state:<level1> current NULL pending VOID_PENDING, desired next READY
0:00:45.887324505 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2806:gst_element_continue_state:<level1> completed state change to READY
0:00:45.887331859 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<level1> notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:45.887341607 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2928:gst_bin_change_state_func:<pipeline1> child 'level1' changed state to 2(READY) successfully
0:00:45.887350984 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2479:gst_bin_element_set_state:<volume> current NULL pending VOID_PENDING, desired next READY
0:00:45.887359220 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2806:gst_element_continue_state:<volume> completed state change to READY
0:00:45.887366353 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<volume> notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:45.887375921 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2928:gst_bin_change_state_func:<pipeline1> child 'volume' changed state to 2(READY) successfully
0:00:45.887385078 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2479:gst_bin_element_set_state:<audioconvert1> current NULL pending VOID_PENDING, desired next READY
0:00:45.887392512 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2806:gst_element_continue_state:<audioconvert1> completed state change to READY
0:00:45.887399655 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<audioconvert1> notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:45.887408953 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2928:gst_bin_change_state_func:<pipeline1> child 'audioconvert1' changed state to 2(READY) successfully
0:00:45.887418310 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2479:gst_bin_element_set_state:<avdec_alac0> current NULL pending VOID_PENDING, desired next READY
0:00:45.887425964 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2806:gst_element_continue_state:<avdec_alac0> completed state change to READY
0:00:45.887433058 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<avdec_alac0> notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:45.887442265 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2928:gst_bin_change_state_func:<pipeline1> child 'avdec_alac0' changed state to 2(READY) successfully
0:00:45.887451051 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2479:gst_bin_element_set_state:<queue1> current NULL pending VOID_PENDING, desired next READY
0:00:45.887458415 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2806:gst_element_continue_state:<queue1> completed state change to READY
0:00:45.887465348 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<queue1> notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:45.887475026 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2928:gst_bin_change_state_func:<pipeline1> child 'queue1' changed state to 2(READY) successfully
0:00:45.887483071 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2479:gst_bin_element_set_state:<audio_source> current NULL pending VOID_PENDING, desired next READY
0:00:45.887490865 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2806:gst_element_continue_state:<audio_source> completed state change to READY
0:00:45.887497828 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<audio_source> notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:45.887506976 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2928:gst_bin_change_state_func:<pipeline1> child 'audio_source' changed state to 2(READY) successfully
0:00:45.887516824 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2778:gst_element_continue_state:<pipeline1> committing state from NULL to READY, pending PLAYING, next PAUSED
0:00:45.887524208 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<pipeline1> notifying about state-changed NULL to READY (PLAYING pending)
0:00:45.887532593 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2786:gst_element_continue_state:<pipeline1> continue state change READY to PAUSED, final PLAYING
0:00:45.887547962 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2479:gst_bin_element_set_state:<autoaudiosink1> current READY pending VOID_PENDING, desired next PAUSED
0:00:45.887559053 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2479:gst_bin_element_set_state:<autoaudiosink1-actual-sink-pulse> current READY pending VOID_PENDING, desired next PAUSED
0:00:45.887577808 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2935:gst_bin_change_state_func:<autoaudiosink1> child 'autoaudiosink1-actual-sink-pulse' is changing state asynchronously to PAUSED
0:00:45.887590241 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2935:gst_bin_change_state_func:<pipeline1> child 'autoaudiosink1' is changing state asynchronously to PAUSED
0:00:45.887599138 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2479:gst_bin_element_set_state:<level1> current READY pending VOID_PENDING, desired next PAUSED
0:00:45.887610138 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2806:gst_element_continue_state:<level1> completed state change to PAUSED
0:00:45.887617532 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<level1> notifying about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:45.887626899 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2928:gst_bin_change_state_func:<pipeline1> child 'level1' changed state to 3(PAUSED) successfully
0:00:45.887635696 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2479:gst_bin_element_set_state:<volume> current READY pending VOID_PENDING, desired next PAUSED
0:00:45.887645694 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2806:gst_element_continue_state:<volume> completed state change to PAUSED
0:00:45.887652938 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<volume> notifying about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:45.887662255 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2928:gst_bin_change_state_func:<pipeline1> child 'volume' changed state to 3(PAUSED) successfully
0:00:45.887670982 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2479:gst_bin_element_set_state:<audioconvert1> current READY pending VOID_PENDING, desired next PAUSED
0:00:45.887680820 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2806:gst_element_continue_state:<audioconvert1> completed state change to PAUSED
0:00:45.887688214 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<audioconvert1> notifying about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:45.887697311 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2928:gst_bin_change_state_func:<pipeline1> child 'audioconvert1' changed state to 3(PAUSED) successfully
0:00:45.887705957 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2479:gst_bin_element_set_state:<avdec_alac0> current READY pending VOID_PENDING, desired next PAUSED
0:00:45.887732637 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2806:gst_element_continue_state:<avdec_alac0> completed state change to PAUSED
0:00:45.887740572 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<avdec_alac0> notifying about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:45.887750089 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2928:gst_bin_change_state_func:<pipeline1> child 'avdec_alac0' changed state to 3(PAUSED) successfully
0:00:45.887759136 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2479:gst_bin_element_set_state:<queue1> current READY pending VOID_PENDING, desired next PAUSED
0:00:45.887775397 57802 0x7fb528075430 INFO task gsttask.c:516:gst_task_set_lock: setting stream lock 0x55d0bb878300 on task 0x55d0bb8cd710
0:00:45.887782981 57802 0x7fb528075430 INFO GST_PADS gstpad.c:6291:gst_pad_start_task:<queue1:src> created task 0x55d0bb8cd710
0:00:45.887839847 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2806:gst_element_continue_state:<queue1> completed state change to PAUSED
0:00:45.887850326 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<queue1> notifying about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:45.887860736 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2928:gst_bin_change_state_func:<pipeline1> child 'queue1' changed state to 3(PAUSED) successfully
0:00:45.887869953 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2479:gst_bin_element_set_state:<audio_source> current READY pending VOID_PENDING, desired next PAUSED
0:00:45.887889510 57802 0x7fb528075430 INFO basesrc gstbasesrc.c:1430:gst_base_src_do_seek:<audio_source> seeking: time segment start=0:00:00.000000000, offset=0:00:00.000000000, stop=99:99:99.999999999, rate=1.000000, applied_rate=1.000000, flags=0x00, time=0:00:00.000000000, base=0:00:00.000000000, position 0:00:00.000000000, duration 99:99:99.999999999
0:00:45.887903836 57802 0x7fb528075430 INFO task gsttask.c:516:gst_task_set_lock: setting stream lock 0x55d0bb799df0 on task 0x55d0bb8cd830
0:00:45.887911521 57802 0x7fb528075430 INFO GST_PADS gstpad.c:6291:gst_pad_start_task:<audio_source:src> created task 0x55d0bb8cd830
0:00:45.887957937 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2806:gst_element_continue_state:<audio_source> completed state change to PAUSED
0:00:45.887967595 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<audio_source> notifying about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:45.887984497 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2971:gst_bin_change_state_func:<pipeline1> child 'audio_source' changed state to 3(PAUSED) successfully without preroll
0:00:45.887996730 57802 0x7fb528075430 INFO pipeline gstpipeline.c:533:gst_pipeline_change_state:<pipeline1> pipeline is live
0:00:45.888007530 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2778:gst_element_continue_state:<pipeline1> committing state from READY to PAUSED, pending PLAYING, next PLAYING
0:00:45.888005236 57802 0x7fb5280816a0 INFO GST_ELEMENT_PADS gstelement.c:1013:gst_element_get_static_pad: no such pad 'sink' in element "audio_source"
0:00:45.888015665 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<pipeline1> notifying about state-changed READY to PAUSED (PLAYING pending)
0:00:45.888038037 57802 0x7fb5280816a0 FIXME default gstutils.c:4025:gst_pad_create_stream_id_internal:<audio_source:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:00:45.888039720 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2786:gst_element_continue_state:<pipeline1> continue state change PAUSED to PLAYING, final PLAYING
0:00:45.888105633 57802 0x7fb528075430 INFO GST_EVENT gstevent.c:1530:gst_event_new_latency: creating latency event 0:00:00.000000000
0:00:45.888124939 57802 0x7fb528075430 INFO bin gstbin.c:2759:gst_bin_do_latency_func:<pipeline1> configured latency of 0:00:00.000000000
0:00:45.888142251 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2479:gst_bin_element_set_state:<autoaudiosink1> current READY pending PAUSED, desired next PLAYING
0:00:45.888151499 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2935:gst_bin_change_state_func:<pipeline1> child 'autoaudiosink1' is changing state asynchronously to PLAYING
0:00:45.888160786 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2479:gst_bin_element_set_state:<level1> current PAUSED pending VOID_PENDING, desired next PLAYING
0:00:45.910152325 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2806:gst_element_continue_state:<level1> completed state change to PLAYING
0:00:45.910168055 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<level1> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:45.910185447 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2928:gst_bin_change_state_func:<pipeline1> child 'level1' changed state to 4(PLAYING) successfully
0:00:45.910199273 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2479:gst_bin_element_set_state:<volume> current PAUSED pending VOID_PENDING, desired next PLAYING
0:00:45.910207699 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2806:gst_element_continue_state:<volume> completed state change to PLAYING
0:00:45.910214752 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<volume> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:45.910224159 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2928:gst_bin_change_state_func:<pipeline1> child 'volume' changed state to 4(PLAYING) successfully
0:00:45.910233427 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2479:gst_bin_element_set_state:<audioconvert1> current PAUSED pending VOID_PENDING, desired next PLAYING
0:00:45.910243946 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2806:gst_element_continue_state:<audioconvert1> completed state change to PLAYING
0:00:45.910254235 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<audioconvert1> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:45.910264344 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2928:gst_bin_change_state_func:<pipeline1> child 'audioconvert1' changed state to 4(PLAYING) successfully
0:00:45.910277349 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2479:gst_bin_element_set_state:<avdec_alac0> current PAUSED pending VOID_PENDING, desired next PLAYING
0:00:45.910287548 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2806:gst_element_continue_state:<avdec_alac0> completed state change to PLAYING
0:00:45.910295222 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<avdec_alac0> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:45.910305421 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2928:gst_bin_change_state_func:<pipeline1> child 'avdec_alac0' changed state to 4(PLAYING) successfully
0:00:45.910315359 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2479:gst_bin_element_set_state:<queue1> current PAUSED pending VOID_PENDING, desired next PLAYING
0:00:45.910323094 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2806:gst_element_continue_state:<queue1> completed state change to PLAYING
0:00:45.910330428 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<queue1> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:45.910339895 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2928:gst_bin_change_state_func:<pipeline1> child 'queue1' changed state to 4(PLAYING) successfully
0:00:45.910353651 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2806:gst_element_continue_state:<audio_source> completed state change to PLAYING
0:00:45.910361486 57802 0x7fb528075430 INFO GST_STATES gstelement.c:2706:_priv_gst_element_state_changed:<audio_source> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:45.910371194 57802 0x7fb528075430 INFO GST_STATES gstbin.c:2928:gst_bin_change_state_func:<pipeline1> child 'audio_source' changed state to 4(PLAYING) successfully
raop_rtp starting audio
0:00:45.910394828 57802 0x7fb5280816a0 INFO GST_EVENT gstevent.c:892:gst_event_new_caps: creating caps event audio/x-alac, mpegversion=(int)4, channnels=(int)2, rate=(int)44100, stream-format=(string)raw, codec_data=(buffer)00000024616c616300000000000001600010280a0e0200ff00000000000000000000ac44
0:00:45.910483974 57802 0x7fb528081640 INFO libav :0:: Channel count 0
0:00:45.910501327 57802 0x7fb528081640 INFO libav :0:: is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
0:00:46.008533787 57802 0x7fb5280816a0 INFO GST_EVENT gstevent.c:972:gst_event_new_segment: creating segment event time segment start=0:00:00.000000000, offset=0:00:00.000000000, stop=99:99:99.999999999, rate=1.000000, applied_rate=1.000000, flags=0x00, time=0:00:00.000000000, base=0:00:00.000000000, position 0:00:00.000000000, duration 99:99:99.999999999
0:00:46.008574453 57802 0x7fb5280816a0 INFO basesrc gstbasesrc.c:3018:gst_base_src_loop:<audio_source> marking pending DISCONT
0:00:46.008650916 57802 0x7fb528081640 INFO libav :0:: Channel count 0
0:00:46.008667456 57802 0x7fb528081640 INFO libav :0:: is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
0:00:46.008712410 57802 0x7fb528081640 INFO libav :0:: Channel count 0
0:00:46.008719774 57802 0x7fb528081640 INFO libav :0:: is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
0:00:46.008744881 57802 0x7fb528081640 INFO task gsttask.c:368:gst_task_func:<queue1:src> Task going to paused
0:00:46.013276059 57802 0x7fb5280816a0 WARN basesrc gstbasesrc.c:3127:gst_base_src_loop:<audio_source> error: Internal data stream error.
0:00:46.013292009 57802 0x7fb5280816a0 WARN basesrc gstbasesrc.c:3127:gst_base_src_loop:<audio_source> error: streaming stopped, reason not-negotiated (-4)
0:00:46.013316184 57802 0x7fb5280816a0 INFO GST_ERROR_SYSTEM gstelement.c:2271:gst_element_message_full_with_details:<audio_source> posting message: Internal data stream error.
0:00:46.013342112 57802 0x7fb5280816a0 INFO GST_ERROR_SYSTEM gstelement.c:2298:gst_element_message_full_with_details:<audio_source> posted error message: Internal data stream error.
0:00:46.013355126 57802 0x7fb5280816a0 WARN queue gstqueue.c:992:gst_queue_handle_sink_event:<queue1> error: Internal data stream error.
0:00:46.013363712 57802 0x7fb5280816a0 WARN queue gstqueue.c:992:gst_queue_handle_sink_event:<queue1> error: streaming stopped, reason not-negotiated (-4)
0:00:46.013375314 57802 0x7fb5280816a0 INFO GST_ERROR_SYSTEM gstelement.c:2271:gst_element_message_full_with_details:<queue1> posting message: Internal data stream error.
0:00:46.013386395 57802 0x7fb5280816a0 INFO GST_ERROR_SYSTEM gstelement.c:2298:gst_element_message_full_with_details:<queue1> posted error message: Internal data stream error.
0:00:46.013395472 57802 0x7fb5280816a0 INFO task gsttask.c:368:gst_task_func:<audio_source:src> Task going to paused
==============Audio Metadata=============
Album: Mercury - Acts 1 & 2
Artist: Imagine Dragons
Composer: Dan Reynolds, Wayne Sermon, Ben McKee, Daniel Platzman, Mattias Larsson & Robin Fredriksson
Genre: Alternative
Title: Sharks
==============Audio Metadata=============
Album: Mercury - Acts 1 & 2
Artist: Imagine Dragons
Composer: Dan Reynolds, Wayne Sermon, Ben McKee, Daniel Platzman, Mattias Larsson & Robin Fredriksson
Genre: Alternative
Title: Sharks
==============Audio Metadata=============
Album: Mercury - Acts 1 & 2
Artist: Imagine Dragons
Composer: Dan Reynolds, Wayne Sermon, Ben McKee, Daniel Platzman, Mattias Larsson & Robin Fredriksson
Genre: Alternative
Title: Sharks
1.is gstreamer-libav installed? what does "pacman -Q | grep gst" show?
Your gstreamer seems not to be finding the ALAC decoder avdec_alac which I think is in gst-libav
on Manjaro (Arch-based) I see
pacman -Q | grep gst ✔
gst-libav 1.20.3-1
gst-plugins-bad 1.20.3-1
gst-plugins-bad-libs 1.20.3-1
gst-plugins-base 1.20.3-1
gst-plugins-base-libs 1.20.3-1
gst-plugins-good 1.20.3-1
gst-plugins-ugly 1.20.3-1
gstreamer 1.20.3-1
phonon-qt5-gstreamer 4.10.0-3
~
ALAC on the AUR uxplay 1.56 version works just fine for me on Manjaro (Arch based), including display of coverart using
uxplay -p -vs glimagesink -ca art&
feh -R 1 art
my best guess is you dont have gst-libav installed ???
run "gst-inspect-1.0 avdec_alac"
gst-inspect-1.0 avdec_alac 255 ✘
Factory Details:
Rank marginal (64)
Long-name libav ALAC (Apple Lossless Audio Codec) decoder
Klass Codec/Decoder/Audio
Description libav alac decoder
Author Wim Taymans <wim.taymans@gmail.com>, Ronald Bultje <rbultje@ronald.bitfreak.net>, Edward Hervey <bilboed@bilboed.com>
Plugin Details:
Name libav
Description All libav codecs and formats (system install)
Filename /usr/lib/gstreamer-1.0/libgstlibav.so
Version 1.20.3
License LGPL
Source module gst-libav
Source release date 2022-06-15
Binary package Arch Linux gst-libav 1.20.3-1
Origin URL Unknown package origin
- is gstreamer-libav installed? what does "pacman -Q | grep gst" show?
Yes, it is:
❯ pacman -Q | grep gst
clutter-gst 3.0.27-4
gst-editing-services 1.20.3-1
gst-libav 1.20.3-1
gst-plugin-gtk 1.20.3-1
gst-plugin-pipewire 1:0.3.56-1
gst-plugins-bad 1.20.3-1
gst-plugins-bad-libs 1.20.3-1
gst-plugins-base 1.20.3-1
gst-plugins-base-libs 1.20.3-1
gst-plugins-good 1.20.3-1
gst-python 1.20.3-1
gstreamer 1.20.3-1
- are you using a self-compiled uxplay from github, or the AUR version?
I'm using the AUR version.
run "gst-inspect-1.0 avdec_alac"
Factory Details:
Rank marginal (64)
Long-name libav ALAC (Apple Lossless Audio Codec) decoder
Klass Codec/Decoder/Audio
Description libav alac decoder
Author Wim Taymans <wim.taymans@gmail.com>, Ronald Bultje <rbultje@ronald.bitfreak.net>, Edward Hervey <bilboed@bilboed.com>
Plugin Details:
Name libav
Description All libav codecs and formats (system install)
Filename /usr/lib/gstreamer-1.0/libgstlibav.so
Version 1.20.3
License LGPL
Source module gst-libav
Source release date 2022-06-15
Binary package Arch Linux gst-libav 1.20.3-1
Origin URL Unknown package origin
GObject
+----GInitiallyUnowned
+----GstObject
+----GstElement
+----GstAudioDecoder
+----avdec_alac
Pad Templates:
SINK template: 'sink'
Availability: Always
Capabilities:
audio/x-alac
SRC template: 'src'
Availability: Always
Capabilities:
audio/x-raw
format: { (string)U8, (string)S16LE, (string)S32LE, (string)F32LE, (string)F64LE }
layout: { (string)interleaved, (string)non-interleaved }
Element has no clocking capabilities.
Element has no URI handling capabilities.
Pads:
SINK: 'sink'
Pad Template: 'sink'
SRC: 'src'
Pad Template: 'src'
Element Properties:
max-errors : Max consecutive decoder errors before returning flow error
flags: accès en lecture, accès en écriture
Integer. Range: -1 - 2147483647 Default: 10
min-latency : Aggregate output data to a minimum of latency time (ns)
flags: accès en lecture, accès en écriture
Integer64. Range: 0 - 9223372036854775807 Default: 0
name : The name of the object
flags: accès en lecture, accès en écriture, 0x2000
String. Default: "avdec_alac0"
parent : The parent of the object
flags: accès en lecture, accès en écriture, 0x2000
Object of type "GstObject"
plc : Perform packet loss concealment (if supported)
flags: accès en lecture, accès en écriture
Boolean. Default: false
tolerance : Perfect ts while timestamp jitter/imperfection within tolerance (ns)
flags: accès en lecture, accès en écriture
Integer64. Range: 0 - 9223372036854775807 Default: 0
The clue will be in the GST_DEBUG=4 output.
here is mine gst_debug_4.txt
here is the result of grep for "alac" in it
0:00:00.046163467 1827 0x55c740f4d600 INFO GST_PIPELINE gstparse.c:344:gst_parse_launch_full: parsing pipeline description 'appsrc name=audio_source ! queue ! avdec_alac ! audioconvert ! volume name=volume ! level ! autoaudiosink sync=false'
0:00:00.046277526 1827 0x55c740f4d600 INFO GST_ELEMENT_FACTORY gstelementfactory.c:489:gst_element_factory_create_with_properties: creating element "avdec_alac"
0:00:00.046779965 1827 0x55c740f4d600 INFO GST_PIPELINE subprojects/gstreamer/gst/parse/grammar.y:683:gst_parse_perform_link: linking some pad of GstQueue named queue1 to some pad of avdec_alac named avdec_alac0 (0/0) with caps "(NULL)"
0:00:00.046790104 1827 0x55c740f4d600 INFO GST_ELEMENT_PADS gstutils.c:1816:gst_element_link_pads_full: trying to link element queue1:(any) to element avdec_alac0:(any)
0:00:00.046798761 1827 0x55c740f4d600 INFO GST_PADS gstutils.c:1079:gst_pad_check_link: trying to link queue1:src and avdec_alac0:sink
0:00:00.046818284 1827 0x55c740f4d600 INFO GST_PADS gstpad.c:4357:gst_pad_peer_query:<avdec_alac0:src> pad has no peer
0:00:00.046834195 1827 0x55c740f4d600 INFO GST_PADS gstutils.c:1632:prepare_link_maybe_ghosting: queue1 and avdec_alac0 in same bin, no need for ghost pads
0:00:00.046846573 1827 0x55c740f4d600 INFO GST_PADS gstpad.c:2382:gst_pad_link_prepare: trying to link queue1:src and avdec_alac0:sink
0:00:00.046858267 1827 0x55c740f4d600 INFO GST_PADS gstpad.c:4357:gst_pad_peer_query:<avdec_alac0:src> pad has no peer
0:00:00.046872284 1827 0x55c740f4d600 INFO GST_PADS gstpad.c:2590:gst_pad_link_full: linked queue1:src and avdec_alac0:sink, successful
0:00:00.046899869 1827 0x55c740f4d600 INFO GST_PIPELINE subprojects/gstreamer/gst/parse/grammar.y:683:gst_parse_perform_link: linking some pad of avdec_alac named avdec_alac0 to some pad of GstAudioConvert named audioconvert1 (0/0) with caps "(NULL)"
0:00:00.046909906 1827 0x55c740f4d600 INFO GST_ELEMENT_PADS gstutils.c:1816:gst_element_link_pads_full: trying to link element avdec_alac0:(any) to element audioconvert1:(any)
0:00:00.046918507 1827 0x55c740f4d600 INFO GST_PADS gstutils.c:1079:gst_pad_check_link: trying to link avdec_alac0:src and audioconvert1:sink
0:00:00.046979855 1827 0x55c740f4d600 INFO GST_PADS gstutils.c:1632:prepare_link_maybe_ghosting: avdec_alac0 and audioconvert1 in same bin, no need for ghost pads
0:00:00.046993846 1827 0x55c740f4d600 INFO GST_PADS gstpad.c:2382:gst_pad_link_prepare: trying to link avdec_alac0:src and audioconvert1:sink
0:00:00.047042825 1827 0x55c740f4d600 INFO GST_PADS gstpad.c:2590:gst_pad_link_full: linked avdec_alac0:src and audioconvert1:sink, successful
0:00:00.047059117 1827 0x55c740f4d600 INFO GST_EVENT gstpad.c:5946:gst_pad_send_event_unchecked:<avdec_alac0:src> Received event on flushing pad. Discarding
(looks like the audio pipeline is now set up avdec_alac0:src is successfully connected to audioconvert1:sink.)
(much later, when stopping)
0:00:23.947185673 1827 0x55c740f4d600 INFO GST_ELEMENT_PADS gstpad.c:2137:gst_pad_unlink: unlinking avdec_alac0:src(0x55c7412ac7e0) and audioconvert1:sink(0x55c7412aca30)
0:00:23.947197762 1827 0x55c740f4d600 INFO GST_ELEMENT_PADS gstpad.c:2192:gst_pad_unlink: unlinked avdec_alac0:src and audioconvert1:sink
0:00:23.947276098 1827 0x55c740f4d600 INFO GST_ELEMENT_PADS gstpad.c:2137:gst_pad_unlink: unlinking queue1:src(0x55c7412ac340) and avdec_alac0:sink(0x55c7412ac590)
0:00:23.947288426 1827 0x55c740f4d600 INFO GST_ELEMENT_PADS gstpad.c:2192:gst_pad_unlink: unlinked queue1:src and avdec_alac0:sink
0:00:23.947298937 1827 0x55c740f4d600 INFO GST_PARENTAGE gstbin.c:1803:gst_bin_remove_func:<pipeline1> removed child "avdec_alac0"
0:00:23.947310358 1827 0x55c740f4d600 INFO GST_REFCOUNTING gstelement.c:3382:gst_element_dispose:<avdec_alac0> 0x55c7412aff10 dispose
0:00:23.947319273 1827 0x55c740f4d600 INFO GST_ELEMENT_PADS gstelement.c:875:gst_element_remove_pad:<avdec_alac0> removing pad 'sink'
0:00:23.947328592 1827 0x55c740f4d600 INFO GST_ELEMENT_PADS gstelement.c:875:gst_element_remove_pad:<avdec_alac0> removing pad 'src'
0:00:23.947339054 1827 0x55c740f4d600 INFO GST_REFCOUNTING gstelement.c:3428:gst_element_dispose:<avdec_alac0> 0x55c7412aff10 parent class dispose
0:00:23.947353887 1827 0x55c740f4d600 INFO GST_REFCOUNTING gstelement.c:3460:gst_element_finalize:<avdec_alac0> 0x55c7412aff10 finalize
0:00:23.947368933 1827 0x55c740f4d600 INFO GST_REFCOUNTING gstelement.c:3465:gst_element_finalize:<avdec_alac0> 0x55c7412aff10 finalize parent
~
Something seems to be stopping your gstreamer from using avdec_alac. From your output, maybe some other installation of an alac decoder (in ffmpeg?) is getting used instead?
your output looks suspicious when it mentions FFmpeg (which has a different implementation of libav!) maybe you have some bad version of ffmpeg installed somewhere that is somehow getting used by mistake.
raop_rtp starting audio
0:00:45.910394828 57802 0x7fb5280816a0 INFO GST_EVENT gstevent.c:892:gst_event_new_caps: creating caps event audio/x-alac, mpegversion=(int)4, channnels=(int)2, rate=(int)44100, stream-format=(string)raw, codec_data=(buffer)00000024616c616300000000000001600010280a0e0200ff00000000000000000000ac44
0:00:45.910483974 57802 0x7fb528081640 INFO libav :0:: Channel count 0
0:00:45.910501327 57802 0x7fb528081640 INFO libav :0:: is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
0:00:46.008533787 57802 0x7fb5280816a0 INFO GST_EVENT gstevent.c:972:gst_event_new_segment: creating segment event time segment start=0:00:00.000000000, offset=0:00:00.000000000, stop=99:99:99.999999999, rate=1.000000, applied_rate=1.000000, flags=0x00, time=0:00:00.000000000, base=0:00:00.000000000, position 0:00:00.000000000, duration 99:99:99.999999999
0:00:46.008574453 57802 0x7fb5280816a0 INFO basesrc gstbasesrc.c:3018:gst_base_src_loop:<audio_source> marking pending DISCONT
0:00:46.008650916 57802 0x7fb528081640 INFO libav :0:: Channel count 0
0:00:46.008667456 57802 0x7fb528081640 INFO libav :0:: is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
0:00:46.008712410 57802 0x7fb528081640 INFO libav :0:: Channel count 0
0:00:46.008719774 57802 0x7fb528081640 INFO libav :0:: is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
0:00:46.008744881 57802 0x7fb528081640 INFO task gsttask.c:368:gst_task_func:<queue1:src> Task going to paused
0:00:46.013276059 57802 0x7fb5280816a0 WARN basesrc gstbasesrc.c:3127:gst_base_src_loop:<audio_source> error: Internal data stream error.
0:00:46.013292009 57802 0x7fb5280816a0 WARN basesrc gstbasesrc.c:3127:gst_base_src_loop:<audio_source> error: streaming stopped, reason not-negotiated (-4)
0:00:46.013316184 57802 0x7fb5280816a0 INFO GST_ERROR_SYSTEM gstelement.c:2271:gst_element_message_full_with_details:<audio_source> posting message: Internal data stream error.
0:00:46.013342112 57802 0x7fb5280816a0 INFO GST_ERROR_SYSTEM gstelement.c:2298:gst_element_message_full_with_details:<audio_source> posted error message: Internal data stream error.
0:00:46.013355126 57802 0x7fb5280816a0 WARN queue gstqueue.c:992:gst_queue_handle_sink_event:<queue1> error: Internal data stream error.
0:00:46.013363712 57802 0x7fb5280816a0 WARN queue gstqueue.c:992:gst_queue_handle_sink_event:<queue1> error: streaming stopped, reason not-negotiated (-4)
0:00:46.013375314 57802 0x7fb5280816a0 INFO GST_ERROR_SYSTEM gstelement.c:2271:gst_element_message_full_with_details:<queue1> posting message: Internal data stream error.
I'm not sure what I can do here… I have only one version of ffmpeg, and it looks like it detects libav correctly:
~ took 34s
❯ pacman -Q | grep ffmpeg
ffmpeg 2:5.1-1
~ took 16ms
❯ ffmpeg --version
ffmpeg version n5.1 Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 12.1.1 (GCC) 20220730
configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librav1e --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-shared --enable-version3
libavutil 57. 28.100 / 57. 28.100
libavcodec 59. 37.100 / 59. 37.100
libavformat 59. 27.100 / 59. 27.100
libavdevice 59. 7.100 / 59. 7.100
libavfilter 8. 44.100 / 8. 44.100
libswscale 6. 7.100 / 6. 7.100
libswresample 4. 7.100 / 4. 7.100
libpostproc 56. 6.100 / 56. 6.100
try removing ffmpeg, to see if having that installed is the issue. (Uxplay should be using the libav from gstreamer package gst-libav)
try removing ffmpeg
This is not possible: it is a dependency of too many programs, and I use it myself to convert audio/video files. I'm creating a VM with Arch and try inside, but I can't do better.
I suggest just temporarily force-remove ffmpeg to see if its presence is interfering with gstreamer's libav plugin. (then re-installing it after the test).
Or hide it somehow by renaming the library or directory its in.
If ffmpeg is interfering, there may be some way to tell gstreamer not to use it.
AFAIK gstreamer-libav is based on an old fork of ffmpeg.
I have Arch-based Manjaro available for testing. It also has ffmpeg installed (v 2:5.0.1-3)
It causes no problem for UxPlay, which plays ALAC audio perfectly.
I have no idea what is wrong on your system.....
weirdly, my slightly older Manjaro ffmpeg uses "-version" not "--version" like yours.
ffmpeg -version ✔
ffmpeg version n5.0.1 Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 12.1.0 (GCC)
configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librav1e --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-shared --enable-version3
libavutil 57. 17.100 / 57. 17.100
libavcodec 59. 18.100 / 59. 18.100
libavformat 59. 16.100 / 59. 16.100
libavdevice 59. 4.100 / 59. 4.100
libavfilter 8. 24.100 / 8. 24.100
libswscale 6. 4.100 / 6. 4.100
libswresample 4. 3.100 / 4. 3.100
libpostproc 56. 3.100 / 56. 3.100
weirdly, my slightly older Manjaro ffmpeg uses "-version" not "--version" like yours.
The doubled dash was a typo, but it gives the same output as -version
, with an error at the end stating that the --version
option does not exist :)
The error message you are getting is not from code in GStreamer
0:00:45.910483974 57802 0x7fb528081640 INFO libav :0:: Channel count 0
0:00:45.910501327 57802 0x7fb528081640 INFO libav :0:: is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
The audio setup shows that channels = 2 was correctly understood by gstreamer when starting. Somehow something in libav reads a corrupt channels number "0"
I suppose that gstreamer is calling code from libav (in FFmpeg?) but don't know the details, and cant reproduce this error, at least on Arch-derived Manjaro.
Please build UxPlay directly from github (not AUR) and see if you still get the error. (Or just close the issue)
EDIT github version UxPlay-1.56 also worked fine with apple music with current Arch in virtualbox.
This error seems to come from near line 580 of libavcodec/alac.c in FFmpeg, with channel count=0 when it should be 2. I don't know why your installation of GStreamer is doing this. I couldn't reproduce it.
gst-libav does use ffmpeg for libavcodec.so
Tested on a current native new installation of Arch Linux x86_64
Apple music (ALAC) in uxplay-1.56 audio mode is working fine. (build from github and build from AUR both tested)
cannot reproduce @Deuchnord 's issue, (? perhaps reinstalling ffmpeg and/or uxplay and/or gst-libav might fix it)
uname -a Linux elite 5.19.9-arch1-1 #1 SMP PREEMPT_DYNAMIC Thu, 15 Sep 2022 16:08:26 +0000 x86_64 GNU/Linux
ffmpeg -version
ffmpeg version n5.1.1 Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 12.2.0 (GCC)
configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librav1e --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-opencl --enable-opengl --enable-shared --enable-version3 --enable-vulkan
libavutil 57. 28.100 / 57. 28.100
libavcodec 59. 37.100 / 59. 37.100
libavformat 59. 27.100 / 59. 27.100
libavdevice 59. 7.100 / 59. 7.100
libavfilter 8. 44.100 / 8. 44.100
libswscale 6. 7.100 / 6. 7.100
libswresample 4. 7.100 / 4. 7.100
libpostproc 56. 6.100 / 56. 6.100
can't duplicate
Hello,
When I connect Apple Music to UxPlay, there is no audio output. As a workaround, it looks like I need to share all the screen of my iPad.