Apple Http Live Streaming sessions reset by VLC
Posted: 03 Jul 2012 22:46
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:
This is an excerpt of the verbose console output right before the connection is terminated:
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?
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 ()
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
Can anyone help me locate potential root causes? Or, is there a code hack to tell VLC to keep making the requests?