我正在使用Yocto上运行的gstreamer API实现音频播放器。
当我播放广播流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分钟后广播流总是停止。 如何使广播流无限播放?