[FFmpeg-devel] [PATCH/RFC] Detecting EOF in RTMP
Martin Storsjö
martin
Thu Dec 10 15:37:59 CET 2009
Hi,
I tried out the new and fancy RTMP support recently, against a slightly
customized Wowza setup.
When the live broadcast ends, the current rtmp protocol handler doesn't
detect this as an eof, and thus sits and waits for more data on the
connection.
When the broadcast is terminated, the last packet either contains a single
NetStream.Publish.UnpublishNotify status, or sometimes it contains a
series of four status codes:
NetStream.Publish.UnpublishNotify
NetStream.Play.Stop
NetStream.Play.Reset
NetStream.Play.Start
The attached patch is an attempt at fixing this case. The if clause in
rtmp_parse_result is needed since the packet that contained
UnpublishNotify also could contain a new Start status code.
On the other hand, that particular behaviour (sending a new Start code
even if no more data is sent) perhaps should be regarded as a server
misbehaviour? But I think at least the single UnpublishNotify should
trigger an eof in some way.
Kostya, what do you think about this approach? How is the eof condition
handled in other setups?
// Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ffmpeg-rtmp-eof.patch
Type: text/x-diff
Size: 1767 bytes
Desc:
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20091210/64b50dcb/attachment.patch>
More information about the ffmpeg-devel
mailing list