[rtmpdump] rtmpsuck Segmentation Fault
silverbolt28 at ignmail.com
Wed Feb 17 04:19:25 CET 2010
> From: Howard Chu
> OK. The client is doing something weird; it sends a Play command
> immediately followed by an UnPause command (even though nothing was
> paused yet). The effect is that the server starts playing the media
> In rtmpsuck, whenever it sees a Play.Start status, it tries to
> advance to the next output file (assuming a multi-file playlist is
> in effect). In this case, since there's only one active file, it
> advances to nothing. (Closes the current file, and then has no
> active output file.)
> svn r254 fixes this latter problem, but the UnPause will still
> cause trouble - the output file will probably be broken. Since it
> writes the first 128KB of data, and then the server starts over
> again from the beginning, the file will have the beginning in it
> twice, and most players will choke if they see data starting over
> again from zero in an existing stream.
> I'd really rather not have to keep track of Pause/Seek offsets in
> this code. Perhaps I could have rtmpsuck drop the UnPause command
> if there is not a Pause currently in effect. Will have to think
> about it...
Awesome. Thanks a lot. It definitely works now, but as you said, the
beginning of the video plays twice.
Unfortunately, I ran into another problem when trying to use it on the longer
streams on that site. After some time, rtmpsuck will throw out a couple of error
messages, and the video will stop playing. I made another debug log, and here are
the lines right after the last RTMP_SendChunk section:
DEBUG2: RTMP_ReadPacket: fd=5
0000: c5 .
ERROR: RTMP_ReadPacket, failed to read RTMP packet body. len: 60764
DEBUG: RTMP_SendPause, 1, pauseTime=777685.00
DEBUG2: RTMP_SendPacket: fd=0, size=29
0000: 48 00 00 00 00 00 1d 14 H.......
0000: 02 00 05 70 61 75 73 65 00 00 00 00 00 00 00 00 ...pause........
0010: 00 05 01 01 00 41 27 bb aa 00 00 00 00 .....A'......
ERROR: WriteN, RTMP send error 88 (37 bytes)
ERROR: Request timeout/select failed, ignoring request
Closing connection... done!
DEBUG: serverThread: processed request
Caught signal: 2, cleaning up, just a second...
DEBUG: Done, exiting...
I didn't hit the pause button, so I have no idea where that came from.
Any ideas on what's going on here? If you need to see more of the log,
just let me know. I didn't want to upload the whole thing because it's
Upgrade to Premium IGN Email
- 15MB of space
- No ads!
- Pop3 Downloads
More information about the rtmpdump