[FFmpeg-devel] [PATCH] SHOUTcast HTTP Support

Micah F. Galizia micahgalizia
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:
>> Greetings,
>> 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 
unnecessary comments.

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...
Name: shoutcast3.patch
Type: text/x-diff
Size: 11589 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20100109/5189ff41/attachment.patch>

More information about the ffmpeg-devel mailing list