This is because librtmp is sending pause/unpause when Stream BufferEmpty.
You can see this by turn on debug message "-V", and you will see,
DEBUG: HandleCtrl, received ctrl. type: 31, len: 6
DEBUG: HandleCtrl, Stream BufferEmpty 1
DEBUG: RTMP_SendPause, 1, pauseTime=0
DEBUG: Invoking pause
I try disable sending pause by comment out the following line in librtmp/rtmp.c,
if (!(r->Link.lFlags & RTMP_LF_BUFX))
Only comment the first line, and let the break command uncommented,
// if (!(r->Link.lFlags & RTMP_LF_BUFX))
Or you can just turn on "--live" option, so that it won't send pause on buffer empty, but the seek option will be disabled.
Hmm, I'v just found that, we should not comment that line in librtmp/rtmp.c.
You should better comment out the following lines in rtmpdump.c,
// if (!bLiveStream && !(protocol & RTMP_FEATURE_HTTP))
// rtmp.Link.lFlags |= RTMP_LF_BUFX;
But, please note that, on slow network bandwidth, this will make the video frames (that follow the buffer empty message) to be skipped in some frame, by the server.