Как играть в порт аудио в базовом формате - PullRequest
2 голосов
/ 10 декабря 2010

Как я могу сделать необработанные отправку и получение?Это не работает, я не могу воспроизвести то, что отправил:

Send: $ gst-launch -v autoaudiosrc ! udpsink host=127.0.0.1 auto-multicast=true port=4444

Recv/play:
[root@example ~]# gst-launch udpsrc multicast-group=127.0.0.1 port=4444 ! autoaudiosink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element /GstPipeline:pipeline0/GstAutoAudioSink:autoaudiosink0/GstPulseSink:autoaudiosink0-actual-sink-pulse: The stream is in the wrong format.
Additional debug info:
gstbaseaudiosink.c(866): gst_base_audio_sink_preroll (): /GstPipeline:pipeline0/GstAutoAudioSink:autoaudiosink0/GstPulseSink:autoaudiosink0-actual-sink-pulse:
sink not negotiated.
Execution ended after 16110169 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
[root@example ~]# 

1 Ответ

2 голосов
/ 10 декабря 2010

Вам необходимо указать возможности для источника. Вот что на самом деле означает ERROR: from element /GstPipeline:pipeline0/GstAudioConvert:audioconvert0: not negotiated. (Используйте флаг -v на gst-launch для просмотра более подробной информации об ошибках).

Итак, решение:

$ gst-launch -v udpsrc multicast-group=127.0.0.1 port=4444 \
    ! audio/x-raw-int, endianness=1234, signed=true, width=16, depth=16, rate=44100, channels=2 \
    ! autoaudiosink

На самом деле, я просто скопировал возможности из подробного вывода отправляющего gst-launch.

...