gst-player MJPEG over cellular on iOS

Michael McNamara mmcnamara at control4.com
Mon Apr 24 02:20:30 UTC 2017


I’ve been experimenting with gst-player and have run into an oddity I can’t figure out.  I am unable to stream MJPEG over a cellular connection:

*****
0:00:11.264458000 [332m 9865[00m  0x5a78138 [31;01mERROR  [00m [00m gst-player gstplayer.c:1160:error_cb:<player0>[00m ERROR: from element /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0/GstSoupHTTPSrc:source: Could not establish connection to server.

0:00:11.264586000 [332m 9865[00m  0x5a78138 [31;01mERROR  [00m [00m gst-player gstplayer.c:1162:error_cb:<player0>[00m Additional debug info:
gstsouphttpsrc.c(1294): gst_soup_http_src_parse_status (): /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0/GstSoupHTTPSrc:source:
Could not connect: Network is unreachable (4), URL: http://xx.xx.xx.xx/mjpg/video.mjpg?resolution=1024x768, Redirect to: (NULL)

0:00:11.264672000 [332m 9865[00m  0x5a78138 [31;01mERROR  [00m [00m gst-player gstplayer.c:1033:emit_error:<player0>[00m Error: Error from element /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0/GstSoupHTTPSrc:source: Could not open resource for reading.
Could not establish connection to server.
gstsouphttpsrc.c(1294): gst_soup_http_src_parse_status (): /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0/GstSoupHTTPSrc:source:
Could not connect: Network is unreachable (4), URL: http://xx.xx.xx.xx/mjpg/video.mjpg?resolution=1024x768, Redirect to: (NULL) (gst-player-error-quark, 0)
0:00:11.268926000 [332m 9865[00m  0x5a78138 [37mDEBUG  [00m [00m          gst-player gstplayer.c:866:change_state:<player0>[00m Changing app state from buffering to stopped
*****

There is no problem streaming MJPEG over WiFi connections.  I’ve tried a number of internet accessible cameras.  Initially I thought this might be due to the fact that some lower level networking libraries on iOS will not wake the cellular radio.  As a test I created a simple socket server that made certain the cellular radio was always active, but there was no difference.  Upon further testing I was able to connect to RTSP (TCP) streams and static images over cellular with no issues —using the same host in some cases.  So it would seem that it’s not a radio / connectivity issue.  Curiously souphttpsrc logs that it got headers:

*****
souphttpsrc gstsouphttpsrc.c:1034:gst_soup_http_src_got_headers:<source> got headers
*****

even when it’s reporting the network as unreachable.  I’ve tried this with both 1.10.4 and the latest 1.11.90.  Historically just using playbin (1.6.x) on iOS has worked without issue.  Any suggestions?  Has anyone else experienced something similar with gst-player?

Thanks!


More information about the gstreamer-devel mailing list