Я использую аудиопроигрыватель, используя gstreamer API, работающий на Yocto.
, когда я воспроизводил URL-адрес потокового радио, он всегда останавливался через 2 часа 3 минуты, но я не установил тайм-аут для потокового воспроизведения.
Мои элементы конвейера имеют следующий вид:
gst_element_factory_make("uridecodebin","src");
gst_element_factory_make ("mpegaudioparse", "mpegaudioparse");
gst_element_factory_make ("avdec_mp3", "avdec_mp3");
gst_element_factory_make ("audioconvert", "audioconvert");
gst_element_factory_make ("autoaudiosink", "audio-output");
Через 2 часа 3 минуты мой слушатель конвейера получил GST_MESSAGE_ERROR, затем потоковая передача остановилась.
Internal data stream error.
ИтакЯ протестировал его с помощью команды gst-launch-1.0.
gst-launch-1.0 souphttpsrc location="http://ibabyradio-hichannel.cdn.hinet.net/live/pool/hich-ra000072/ra-hls/index.m3u8?token1=ymbOb0Q0Ryh7bFen9QWjJQ&token2=0T958wh7JBArVdmZsT70Og&expire1=1551838975&expire2=1551846175" ! hlsdemux ! decodebin ! audioconvert ! autoaudiosink
Он также автоматически завершился через 2 часа 3 минуты.
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Redistribute latency...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstAudioSinkClock
Execution ended after 2:03:44.008588520
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
Я не знаю, почему потоковое вещание всегда прекращалосьчерез 2 часа 3 мин.Как заставить радиопоток воспроизводиться бесконечно?