[FFmpeg-devel] [PATCH] SHOUTcast HTTP Support
Micah F. Galizia
Sun Jan 10 02:27:17 CET 2010
On 10-01-09 08:09 PM, Micah F. Galizia wrote:
> On 10-01-09 07:15 PM, Micah F. Galizia wrote:
>> I've attached a patch adds support for SHOUTcast metadata. This patch
>> attempts to connect via HTTP with icy metadata enabled. If the
>> connection fails, connection is attempted again without icy metadata (in
>> case the server doesn't support it).
>> As new metadata is received, it is updated in the HTTPContext, and a
>> flag is set to indicate that the metadata has been updated. URLProtocol
>> has two new methods that indicate that the metadata has changed, and
>> pass the new metadata (not a copy, but the actual pointer) back to the
>> AVFormatContext through the ByteIOContext. Note, that the definition of
>> AVMetadata and AVMetadataConv has been moved from avformat.h to avio.h
>> so that they are defined before the definition of URLProtocol.
>> ByteIOContext has been updated to wrap the new URLProtocol methods so
>> that as packets are read the metadata can be returned. If the
>> ByteIOContext reports new metadata, then the updated fields are added to
>> the AVFormatContext.
>> A new method has been added to metadata API to allow applications to
>> monitor changes in metadata (av_metadata_updated), and ffplay has been
>> updated to use it.
>> One point I would like to note is that I was never able to find a server
>> that didn't like the icy-metadata request, so I haven't really verified
>> that reconnection without icy-metadata works. If someone knows a server
>> that will respond with an error, I would like to know.
> This version is patchecked.
Sorry for the spam. After a discussion on IRC, I've removed the
Micah F. Galizia
micahgalizia at gmail.com
"The mark of an immature man is that he wants to die nobly for a cause,
while the mark of the mature man is that he wants to live humbly for
one." --W. Stekel
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 11589 bytes
Desc: not available
More information about the ffmpeg-devel