Page 1 of 1

Apple Http Live Streaming sessions reset by VLC

Posted: 03 Jul 2012 22:46
by jules27
I'm trying to use VLC to play HTTP Live Streaming videos via command line off of my server. It works nicely except that the streams I play stop playing after a couple of minutes. I did a packet capture and saw that VLC is the one that's sending the RST packets, not the server. This applies to both static files and live streams. I followed the logic using GDB and could only find the functions responsible for initiating the termination:

Code: Select all

Breakpoint 1, Close (p_this=0x101e05750) at httplive.c:1993 1993 stream_sys_t *p_sys = s->p_sys; (gdb) bt #0 Close (p_this=0x101e05750) at httplive.c:1993 #1 0x0000000100090156 in vlc_module_unload (module=0x101e05750, deinit=0x18) at modules/modules.c:402 #2 0x000000010006bdd5 in StreamDelete (s=0x101e05750) at input/stream_filter.c:124 #3 0x000000010006bde3 in StreamDelete (s=0x101e06070) at input/stream_filter.c:127 #4 0x000000010005f330 in InputSourceClean (in=0x100809eb0) at input/input.c:2683 #5 0x000000010005fe5e in End (p_input=0x100282ba0) at input/input.c:1384 #6 0x00000001000657e5 in Run (obj=<value temporarily unavailable, due to optimizations>) at input/input.c:545 #7 0x00007fff84c8cfd6 in _pthread_start () #8 0x00007fff84c8ce89 in thread_start ()
This is an excerpt of the verbose console output right before the connection is terminated:

Code: Select all

[0x1002898c0] stream_filter_httplive stream: - segment 18273 appended [0x1002898c0] stream_filter_httplive stream: playing segment 18262 from stream 1 [0x1002898c0] stream_filter_httplive stream: downloaded segment 18273 from stream 1 [0x1002898c0] stream_filter_httplive stream: Reloading HLS live meta playlist [0x1002898c0] stream_filter_httplive stream: playing segment 18263 from stream 1 [0x1002898c0] stream_filter_httplive stream: playing segment 18264 from stream 1 [0x1002898c0] stream_filter_httplive stream: playing segment 18265 from stream 1 [0x1002898c0] stream_filter_httplive stream: playing segment 18266 from stream 1 [0x1002898c0] stream_filter_httplive stream: playing segment 18267 from stream 1 [0x1002898c0] stream_filter_httplive stream: playing segment 18268 from stream 1 [0x1002898c0] stream_filter_httplive stream: playing segment 18269 from stream 1 [0x1002898c0] stream_filter_httplive stream: playing segment 18270 from stream 1 [0x1002898c0] stream_filter_httplive stream: playing segment 18271 from stream 1 [0x1002898c0] stream_filter_httplive stream: playing segment 18272 from stream 1 [0x1002898c0] stream_filter_httplive stream warning: playback in danger of stalling [0x1002898c0] stream_filter_httplive stream: playing segment 18273 from stream 1 [0x1002898c0] stream_filter_httplive stream warning: playback in danger of stalling [0x101e331d0] access_http access error: failed to read answer [0x101e331d0] access_mms access error: cannot connect to bitcast-s.lab2.bitgravity.com:80 [0x1002898c0] main stream error: no suitable access module for `http://<server>.com/path/to/file' [0x1002898c0] stream_filter_httplive stream: Live Playlist HLS protocol version: 1 [0x1002898c0] stream_filter_httplive stream: updating hls stream (program-id=1, bandwidth=45426) has 0 segments [0x1002898c0] stream_filter_httplive stream: updating hls stream (program-id=1, bandwidth=617147) has 3 segments [0x1002898c0] stream_filter_httplive stream: - segment 18274 appended
This is seen on Mac in both command line and GUI running 2.1.0-git Rincewind (revision 1.3.0-git-3016-gbe215a7).

Can anyone help me locate potential root causes? Or, is there a code hack to tell VLC to keep making the requests?