summaryrefslogtreecommitdiff
path: root/libavformat/http.c
Commit message (Collapse)AuthorAge
* lavf/http: Add httpproxy to the default protocol whitelist.Carl Eugen Hoyos2016-03-14
|
* Use correct msvc type specifiers for ptrdiff_t and size_t.Carl Eugen Hoyos2016-03-09
|
* avformat: Add a protocol blacklisting APIDerek Buitenhuis2016-03-04
| | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* Merge commit '2758cdedfb7ac61f8b5e4861f99218b6fd43491d'Derek Buitenhuis2016-02-29
|\ | | | | | | | | | | | | | | | | | | | | This commit also disables the async fate test, because it used internal APIs in a non-kosher way, which no longer exists. * commit '2758cdedfb7ac61f8b5e4861f99218b6fd43491d': lavf: reorganize URLProtocols Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * 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.
* | avformat/http: add crypto to default whitlist to get encrypted HLS working ↵Schenk, Michael2016-02-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | again I think we missed the crypto in the default_whitelist in case of http. Otherwise encrypted HLS will fail with [hls,applehttp @ 0x2af39c00] playlist[0] open_input [http://playertest.longtailvideo.com/adaptive/oceans_aes/oceans_aes-audio=65000-video=236000-14.ts], start_seq_no [1], cur_seq_no [14] [hls,applehttp @ 0x2af39c00] open_input curseqno [14] startseqno [1] [hls,applehttp @ 0x2af39c00] HLS request for url 'http://playertest.longtailvideo.com/adaptive/oceans_aes/oceans_aes-audio=65000-video=236000-14.ts', offset 0, playlist 0 [NULL @ 0x2af3a200] KEY_AES_128 seg->key [http://playertest.longtailvideo.com/adaptive/oceans_aes/oceans.key] pls->key_url [http://playertest.longtailvideo.com/adaptive/oceans_aes/oceans.key] [hls,applehttp @ 0x2af39c00] open_input [KEY_AES_128] [hls,applehttp @ 0x2af39c00] : c->persistence [0] [hls,applehttp @ 0x2af39c00] : c->probing [1] [hls,applehttp @ 0x2af39c00] : pls->input [NULL] [hls,applehttp @ 0x2af39c00] using normal http path for URL [crypto+http://playertest.longtailvideo.com/adaptive/oceans_aes/oceans_aes-audio=65000-video=236000-14.ts] [crypto @ 0x2aff7cc0] Protocol not on whitelist 'http,https,tls,rtp,tcp,udp! Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Update demuxers and protocols for protocol whitelist supportMichael Niedermayer2016-02-02
| | | | | | | | | | Reviewed-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/http: Added http_proxy optionJoel Holdsworth2015-12-27
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat: use AV_OPT_TYPE_BOOL in a bunch of placesClément Bœsch2015-12-04
| |
* | lavf/http: fix incorrect warning in range requestsRodger Combs2015-11-25
| |
* | avformat/http: Initialize .str based default for AV_OPT_TYPE_STRING typesMichael Niedermayer2015-10-31
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/http: add reconnect_delay_max optionMichael Niedermayer2015-09-09
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/http: exponentially delay reconnection to avoid flooding the serverMichael Niedermayer2015-09-07
| | | | | | | | | | Reviewed-by: Zhang Rui <bbcallen@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/http: Add reconnect_at_eof and reconnect_streamed optionsMichael Niedermayer2015-09-07
| | | | | | | | | | | | | | They allow reconnecting endless live streams which fail with eof Reviewed-by: Zhang Rui <bbcallen@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/http: print error that causes reconnectionMichael Niedermayer2015-09-06
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/http: require seekability only when seeking to position != 0Michael Niedermayer2015-09-06
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | lavf/http: Remove superfluous parenthesis.Stephan Holljes2015-09-03
| | | | | | | | | | | | Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com> Reviewed-by: Ganesh Ajjanagadde <gajjanag@mit.edu> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | lavf/http: Fix incorrectly placed parenthesis.Stephan Holljes2015-09-03
| | | | | | | | | | | | | | | | The assignment had incorrectly placed parentheses which resulted in ret always being > 0. Reviewed-by: wm4 <nfxjfg@googlemail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | lavf/http: Fix parsing http request data to not read over '\0'.Stephan Holljes2015-08-25
| | | | | | | | Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
* | lavf/http: Implement server side network code.Stephan Holljes2015-08-01
| | | | | | | | | | | | | | | | add http_accept, add http_handshake and move handshake logic there, handle connection closing. Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
* | Merge commit '5ae178539b91d25710b7bb322d156c31aea9f8bf'Michael Niedermayer2015-07-30
|\| | | | | | | | | | | | | * commit '5ae178539b91d25710b7bb322d156c31aea9f8bf': http: Add the trailing endlines if they are missing Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * http: Add the trailing endlines if they are missingLuca Barbato2015-07-30
| | | | | | | | | | Makes slightly easier the life of those want to use the option from the command line
* | lavf/http: Correctly terminate session with HTTP POST client.Stephan Holljes2015-06-10
| | | | | | | | | | | | | | | | | | Send a footer to correctly close client sockets. This fixes network errors in client applications. Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com> Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf/http: Add simple autodetection for client HTTP method, based on ↵Stephan Holljes2015-06-06
| | | | | | | | | | | | AVIO_FLAG_READ. Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
* | lavf/http: Indent else-clause.Stephan Holljes2015-06-06
| | | | | | | | Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
* | lavf/http: Properly process HTTP header on listen.Stephan Holljes2015-06-06
| | | | | | | | Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
* | lavf/http: Rudimentary error handling for HTTP requests received from clients.Stephan Holljes2015-06-06
| | | | | | | | Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
* | lavf/http: Process HTTP header before sending response.Stephan Holljes2015-06-06
| | | | | | | | Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
* | lavf/http: Document method option.Stephan Holljes2015-06-06
| | | | | | | | Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
* | avformat/http: Mark lower_proto as const in http_listen()Michael Niedermayer2015-05-10
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf/http: support HTTPS when listeningRodger Combs2015-05-02
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '1a3eb042c704dea190c644def5b32c9cee8832b8'Michael Niedermayer2015-04-20
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '1a3eb042c704dea190c644def5b32c9cee8832b8': Replace av_dlog with normal av_log at trace level Conflicts: ffplay.c libavdevice/fbdev_dec.c libavfilter/avfilter.c libavfilter/internal.h libavfilter/setpts.c libavfilter/src_movie.c libavfilter/vf_crop.c libavfilter/vf_drawtext.c libavfilter/vf_fieldorder.c libavformat/assdec.c libavformat/avidec.c libavformat/flvdec.c libavformat/http.c libavformat/ipmovie.c libavformat/isom.c libavformat/mov.c libavformat/mpegenc.c libavformat/mpegts.c libavformat/mpegtsenc.c libavformat/mux.c libavformat/mxfdec.c libavformat/nsvdec.c libavformat/oggdec.c libavformat/r3d.c libavformat/rtspdec.c libavformat/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Replace av_dlog with normal av_log at trace levelVittorio Giovara2015-04-19
| | | | | | | | This applies to every library where performance is not critical.
* | avformat/http: Fix 2 typosMichael Niedermayer2015-04-19
| | | | | | | | | | Found-by: wm4 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/http: Return an error in case of prematurely ending dataMichael Niedermayer2015-04-19
| | | | | | | | | | | | Fixes Ticket 4039 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf/http: handle case where the server returns a redirect during a seekRodger Combs2015-04-13
| | | | | | | | | | | | | | | | | | | | txoffer (e.g. http://tori.aoi-chan.com/ ) redirects to the same URI on your first request, and serves the actual file on the second. It's stupid, but AFAIK technically compliant. We'd previously see the server not handing back a Range header and return an error; now, instead, we see that there's a redirect and keep track of the offset we want while trying again at the new URL. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | libavformat/http.c: Make http-listen work as an input stream.Stephan Holljes2015-04-11
| | | | | | | | | | | | | | With this patch http can be used to listen for POST data to be used as an input stream. Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | libavformat/http.c: Fix missing parenthesis in http_listen()Stephan Holljes2015-04-06
| | | | | | | | | | Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf/http: add proof-of-concept http server.Stephan Holljes2015-04-05
| | | | | | | | | | Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com> Reviewed-By: Nicolas George <george@nsup.org>
* | avformat/http: Fix null check on allocated valueHimangi Saraogi2015-03-31
| | | | | | | | | | | | probably fixes CID 1292299 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/http: replace cookies with updated values instead of appending foreverMicah Galizia2015-03-18
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/http: support auto reconnectZhang Rui2015-03-13
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'daf8cf358a098a903d59adb6c0d0cc3262a8c93e'Michael Niedermayer2015-02-14
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'daf8cf358a098a903d59adb6c0d0cc3262a8c93e': avformat: Don't anonymously typedef structs Conflicts: libavformat/adtsenc.c libavformat/aiffenc.c libavformat/avidec.c libavformat/gif.c libavformat/iff.c libavformat/img2dec.c libavformat/jvdec.c libavformat/matroskadec.c libavformat/udp.c libavformat/wtvdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avformat: Don't anonymously typedef structsDiego Biurrun2015-02-14
| |
* | avformat/http: Use av_freep() avoid leaving stale pointers in memoryMichael Niedermayer2014-12-20
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/http: simplify chained_options copyingMichael Niedermayer2014-11-15
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Fix the timeout option not working when connecting to a HTTP url that ↵Brandon Lees2014-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | requires authentication. In http_open_cnx, the patch restores the AVDictionary if connection needs to be re-tried because of a authentication/redirect status code. Previously, if a 401/407/30x status code was encountered, http_open_cnx would restart at the redo label, but any options used by the underlying protocol would be missing because they were removed by the first attempt. Signed-off-by: Brandon Lees <brandon@n-hega.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/http: pass return code from http_open_cnx_internal() on its failureAndrey Utkin2014-10-23
| | | | | | | | | | | | | | | | Previously, AVERROR(EIO) was returned on failure of http_open_cnx_internal(). Now the value is passed to upper level, thus it is possible to distinguish ECONNREFUSED, ETIMEDOUT, ENETUNREACH etc. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/http: Use ff_http_averror()Andrey Utkin2014-10-20
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/http: Introduce ff_http_averror()Andrey Utkin2014-10-20
| | | | | | | | | | | | | | | | | | | | | | | | | | int ff_http_averror(int status_code, int default_averror) This helper function returns AVERROR_ value from 3-digit HTTP status code. Second argument, default_averror, is used if no specific AVERROR_ is available. It is introduced because in different places of code different return codes are used - -1, AVERROR(EIO), AVERROR_INVALIDDATA. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>