summaryrefslogtreecommitdiff
path: root/libavformat/http.c
Commit message (Collapse)AuthorAge
...
* http: Pass the proper return code of net IO operationsSamuel Pitoiset2012-05-30
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Add 'post_data', a new option which sets custom HTTP post dataSamuel Pitoiset2012-05-30
| | | | | | | This allows doing http posts with a content-length header sent in advance, avoiding chunked encoding. Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Add support for reusing the http socket for subsequent requestsSamuel Pitoiset2012-05-28
| | | | | | | Introduce ff_http_do_new_request(), a new function which sends a new HTTP request, reusing the existing connection to the server. Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Add support for using persistent connectionsSamuel Pitoiset2012-05-28
| | | | | | | Add a new AVOption 'multiple_requests', which indicates if we want to use persistent connections (ie. Connection: keep-alive). Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Add support for reading http POST reply headersSamuel Pitoiset2012-05-22
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Add http_shutdown() for ending writing of postsSamuel Pitoiset2012-05-22
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Factorize the code by adding http_read_header()Samuel Pitoiset2012-05-20
| | | | | | This function is used for reading http reply headers. Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Clear the auth state on redirectsMartin Storsjö2012-03-13
| | | | | | | Currently we only try continuing with the same auth mechanism as the initial request. Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Retry auth if it failed due to being staleMartin Storsjö2012-03-13
| | | | | | | Allow up to 4 retries for normal requests, where both the proxy and the target server might need to authenticate. Signed-off-by: Martin Storsjö <martin@martin.st>
* avio: Add an URLProtocol flag for indicating that a protocol uses networkMartin Storsjö2012-01-05
| | | | | | | This definition is in two files, since the definitions will move to the private header at the next bump. Signed-off-by: Martin Storsjö <martin@martin.st>
* Remove extraneous semicolonsMans Rullgard2011-12-11
| | | | | | These semicolons cause invalid empty top-level declarations. Signed-off-by: Mans Rullgard <mans@mansr.com>
* http: Make sure proxyauth is initializedMartin Storsjö2011-12-01
| | | | | | | | | This string will be passed to ff_http_auth_create_response even if no proxy is used, resulting in reading uninitialized memory. The other auth string is always initialized by av_url_split. Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Don't use the normal http proxy mechanism for httpsMartin Storsjö2011-11-18
| | | | | | | | | | The tls protocol handles connections via proxies internally. With TLS/SSL, the peer verification requires that the client speaks directly with the server, since the proxy doesn't have the remote server's private key. Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Reorder two code blocksMartin Storsjö2011-11-18
| | | | | | This is in preparation for a later commit. Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Add a new protocol for opening connections via http proxiesMartin Storsjö2011-11-18
| | | | | | | | | | This opens a plain TCP connection through the proxy via the CONNECT HTTP method. Normally, this is allowed for connections on port 443, but can in general be used to allow connections to any port (depending on proxy configuration), and could thus be used to tunnel any TCP connection via a HTTP proxy. Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Split out the non-chunked buffer reading part from http_readMartin Storsjö2011-11-18
| | | | | | | This is in preparation for a later commit, where this function is reused. Signed-off-by: Martin Storsjö <martin@martin.st>
* avio: add support for passing options to protocols.Anton Khirnov2011-11-13
| | | | | Not used anywhere yet, support for passing options from avio_open() will follow.
* avio: Add an AVIOInterruptCB parameter to ffurl_open/ffurl_allocMartin Storsjö2011-11-13
| | | | | Change all uses of these function to pass the relevant callback on.
* http: Handle proxy authenticationMartin Storsjö2011-11-11
| | | | | | | | Tested with both Basic and Digest authentication, and tested with both proxy authentication and authentication for the requested resource at the same time. Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Print an error message for Authorization Required, tooMartin Storsjö2011-11-11
| | | | | | | | | | | The error was hidden before, to avoid showing an error on the first request where no auth has been provided, when the server indicates which authentication method to use. Now the error is printed if an authentication method was used, but failed. Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Don't add a Range: bytes=0- header for POSTMartin Storsjö2011-11-10
| | | | | | That header simply doesn't make sense in that context. Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Change the chunksize AVOption into chunked_postMartin Storsjö2011-11-10
| | | | | | | | | | | | | | | | | The chunksize internal variable has two different uses - for reading, it's the amount of data left of the current chunk (or -1 if the server doesn't send data in chunked mode), where it's only an internal state variable. For writing, it's used to decide whether to enable chunked encoding (by default), by using the value 0, or disable chunked encoding (value -1). This, while consistent, doesn't make much sense to expose as an AVOption. This splits the usage of the internal variable into two variables, chunksize which is used for reading (as before), and chunked_post which is the user-settable option, with the values 0 and 1, where 1 is default. Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Add encoding/decoding flags to the AVOptionsAnton Khirnov2011-11-10
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* http: use different classes for http and https.Anton Khirnov2011-11-10
|
* http: Change an error log message to a warningMartin Storsjö2011-11-10
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Remove the now unused ff_http_set_headers custom functionMartin Storsjö2011-11-10
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Make custom headers settable via an AVOptionMartin Storsjö2011-11-10
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* Replace all usage of strcasecmp/strncasecmpReimar Döffinger2011-11-06
| | | | | | | | | | | All current usages of it are incompatible with localization. For example strcasecmp("i", "I") != 0 is possible, but would break many of the places where it is used. Instead use our own implementations that always treat the data as ASCII. Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Remove the custom function for disabling chunked postsMartin Storsjö2011-11-05
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* avformat: Add the https protocolMartin Storsjö2011-11-05
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* Replace outdated references to ffmpeg tool with avconv.Diego Biurrun2011-11-02
|
* AVOptions: rename FF_OPT_TYPE_* => AV_OPT_TYPE_*Anton Khirnov2011-10-12
|
* http: Consider the stream as seekable if the reply contains Accept-Ranges: bytesStefan Fritsch2011-09-04
| | | | | | | | | | | | The initial request contains "Range: 0-", which servers normally have responded with "HTTP/1.1 206 Partial Content" reply with a Content-Range header, which was used as indicator for seekability. Apache, since 2.2.20, responds with "HTTP/1.1 200 OK" for these requests, which is more friendly to caches and proxies, but the seekability still is indicated via the Accept-Ranges: bytes header. Signed-off-by: Martin Storsjö <martin@martin.st>
* lavf: use designated initializers for AVClasses.Anton Khirnov2011-05-17
|
* AVOptions: make default_val a union, as proposed in AVOption2.Anton Khirnov2011-05-10
| | | | This breaks API and ABI.
* libavformat: Make protocols pass URLContext as log context where availableMartin Storsjö2011-04-20
| | | | | | | Since the libavformat major bump, URLContext contains an AVClass, making it a usable log context. Signed-off-by: Martin Storsjö <martin@martin.st>
* avio: remove AVIO_* access symbols in favor of new AVIO_FLAG_* symbolsStefano Sabatini2011-04-19
| | | | | | | | Make AVIO_FLAG_ access constants work as flags, and in particular fix the behavior of functions (such as avio_check()) which expect them to be flags rather than modes. This breaks API.
* lavf: use designated initializers for all protocolsAnton Khirnov2011-04-08
| | | | | This is more readable and makes it easier to reorder URLProtocol members.
* avio: AVIO_ prefixes for URL_ open flags.Anton Khirnov2011-04-07
|
* avio: make url_get_file_handle() internal.Anton Khirnov2011-04-04
|
* avio: make url_close() internal.Anton Khirnov2011-04-04
|
* avio: make url_write() internal.Anton Khirnov2011-04-04
|
* avio: make url_read() internal.Anton Khirnov2011-04-04
|
* avio: make url_open() internal.Anton Khirnov2011-04-04
|
* http: header field names are case insensitiveTyler2011-03-28
| | | | | | | | | Amazon S3 sends header field names all lowercase. This is actually acceptable according to the HTTP standard. http://tools.ietf.org/html/rfc2616#section-4.2 Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Replace dprintf with av_dlogLuca Barbato2011-01-29
| | | | dprintf clashes with POSIX.1-2008
* Prefix all _demuxer, _muxer, _protocol from libavformat and libavdevice.Diego Elio Pettenò2011-01-26
| | | | | This also lists the objects from those two libraries as internal (by adding the ff_ prefix) so that they can then be hidden via linker scripts.
* http: Handle 301/307 redirect requests, tooMike Edenfield2010-11-02
| | | | | | Patch by Mike Edenfield, kutulu at kutulu dot org Originally committed as revision 25651 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move AVOptions from libavcodec to libavutilMichael Niedermayer2010-09-26
| | | | Originally committed as revision 25210 to svn://svn.ffmpeg.org/ffmpeg/trunk