summaryrefslogtreecommitdiff
path: root/libavformat/icecast.c
Commit message (Collapse)AuthorAge
* avio: Copy URLContext generic options into child URLContextsMartin Storsjö2016-03-24
| | | | | | | | | | | | | | | Since all URLContexts have the same AVOptions, such AVOptions will be applied on the outermost context only and removed from the dict, while they probably make sense on all contexts. This makes sure that rw_timeout gets propagated to the innermost URLContext (to make sure it gets passed to the tcp protocol, when opening a http connection for instance). Alternatively, such matching options would be kept in the dict and only removed after the ffurl_connect call. Signed-off-by: Martin Storsjö <martin@martin.st>
* urlprotocol: receive a list of protocols from the callerAnton Khirnov2016-02-22
| | | | | This way, the decisions about which protocols are available for use in any given situations can be delegated to the caller.
* lavf: reorganize URLProtocolsAnton Khirnov2016-02-22
| | | | | | | | | | Instead of a linked list constructed at av_register_all(), store them in a constant array of pointers. Since no registration is necessary now, this removes some global state from lavf. This will also allow the urlprotocol layer caller to limit the available protocols in a simple and flexible way in the following commits.
* Icecast: Send content-type in all casesMarvin Scholz2014-11-15
| | | | | | | | This is needed because Icecast since version 2.4.1 doesn't default to audio/mpeg anymore. AVOption default not used here, since a later check if -content_type is set is performed and would break. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* Icecast: Send 100-continue header if possibleMarvin Scholz2014-11-15
| | | | | | | | | | This allows for proper error reporting. Only do this for non-legacy requests as only Icecast >2.4.0 will reply with a proper status. Libav seems to accept both, 100 and 200 status codes, but let's stay close to spec. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* icecast: Do not use chunked postMark McGough2014-10-12
| | | | | | | | | | | | | Icecast uses HTTP 1.0 while Libav uses HTTP 1.1 and enables by default chunked post. Icecast actually forwards the HTTP chunk headers to the listener as part of the media stream (without the chunk encoding HTTP headers) causing the players to lose sync. Disabling the option is enough to feed icecast properly. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* Add Icecast protocolMarvin Scholz2014-08-04
Icecast is basically a convenience wrapper around the HTTP protocol. Signed-off-by: Martin Storsjö <martin@martin.st>