gst-launch не будет проигрываться на устройстве alsasink =hw:2
Использование следующего прекрасно работает
gst-launch-0.10 filesrc location=temp.wav ! wavparse ! audioconvert ! alsasink device=hw:0
так же как и
gst-launch-1.0 filesrc location=temp.wav ! wavparse ! audioconvert ! alsasink device=hw:0
Когда я использую hw:2, я получаю сообщение об ошибке "устройство занято", если проигрыватель использует его, и внутреннюю ошибку потока данных в противном случае.
Если я включу отладку
GST_DEBUG=2
Я получаю следующее
alsa pcm_hw.c:1693:_snd_pcm_hw_open: alsalib error: Invalid value for card
basetransform gstbasetransform.c:1414:gst_base_transform_setcaps:<audioconvert0> transform could not transform audio/x-raw, format=(string)S16LE, layout=(string)interleaved, channels=(int)2, channel-mask=(bitmask)0x0000000000000003, rate=(int)44100 in anything we support
basetransform gstbasetransform.c:1414:gst_base_transform_setcaps:<audioconvert0> transform could not transform audio/x-raw, format=(string)S16LE, layout=(string)interleaved, channels=(int)2, channel-mask=(bitmask)0x0000000000000003, rate=(int)44100 in anything we support
basetransform gstbasetransform.c:1414:gst_base_transform_setcaps:<audioconvert0> transform could not transform audio/x-raw, format=(string)S16LE, layout=(string)interleaved, channels=(int)2, channel-mask=(bitmask)0x0000000000000003, rate=(int)44100 in anything we support
basetransform gstbasetransform.c:1414:gst_base_transform_setcaps:<audioconvert0> transform could not transform audio/x-raw, format=(string)S16LE, layout=(string)interleaved, channels=(int)2, channel-mask=(bitmask)0x0000000000000003, rate=(int)44100 in anything we support
wavparse gstwavparse.c:2249:gst_wavparse_loop:<wavparse0> error: Internal data flow error.
wavparse gstwavparse.c:2249:gst_wavparse_loop:<wavparse0> error: streaming task paused, reason not-negotiated (-4)
basetransform gstbasetransform.c:1414:gst_base_transform_setcaps:<audioconvert0> transform could not transform audio/x-raw, format=(string)S16LE, layout=(string)interleaved, channels=(int)2, channel-mask=(bitmask)0x0000000000000003, rate=(int)44100 in anything we support
ERROR: from element /GstPipeline:pipeline0/GstWavParse:wavparse0: Internal data flow error.
Я получаю звук от обоих из следующих
gst123 -a alsa=hw:2 temp.wav
aplay -D hw:2 temp.wav
Я пропускаю некоторые дополнительные аргументы для gst-launch?
Любая помощь приветствуется!
1 ответ
Решение
При написании вопроса я нашел ответ, но подумал, что я смогу опубликовать вопрос на случай, если кто-нибудь еще столкнется с тем же. Был действительно пропущенный аргумент... аудиорешпер.
gst-launch-1.0 filesrc location=temp.wav ! wavparse ! audioconvert ! audioresample ! alsasink device=hw:2