summaryrefslogtreecommitdiff
path: root/libavformat/avio.h
Commit message (Collapse)AuthorAge
* avio: Allow custom IO users to get labels for the output bytestreamMartin Storsjö2016-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | This allows callers with avio write callbacks to get the bytestream positions that correspond to keyframes, suitable for live streaming. In the simplest form, a caller could expect that a header is written to the bytestream during the avformat_write_header, and the data output to the avio context during e.g. av_write_frame corresponds exactly to the current packet passed in. When combined with av_interleaved_write_frame, and with muxers that do buffering (most muxers that do some sort of fragmenting or clustering), the mapping from input data to bytestream positions is nontrivial. This allows callers to get directly information about what part of the bytestream is what, without having to resort to assumptions about the muxer behaviour. One keyframe/fragment/block can still be split into multiple (if they are larger than the aviocontext buffer), which would call the callback with e.g. AVIO_DATA_MARKER_SYNC_POINT, followed by AVIO_DATA_MARKER_UNKNOWN for the second time it is called with the following data. Signed-off-by: Martin Storsjö <martin@martin.st>
* avio: Remove a leftover commentMartin Storsjö2016-05-06
| | | | | | | The declarations that this comment referred to were removed in 2439f2ca8 - there is no unbuffered IO in this header now. Signed-off-by: Martin Storsjö <martin@martin.st>
* cosmetics: Fix spelling mistakesVittorio Giovara2016-05-04
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* lavc: Consistently prefix input buffer definesVittorio Giovara2015-07-27
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* avio: Add avio_put_str16beLuca Barbato2015-06-07
|
* doxygen: Add a number of missing function parameter descriptionsDiego Biurrun2014-02-17
|
* avio: introduce avio_closepLuca Barbato2012-10-10
|
* avformat: Identify anonymous AVIO typedef structs.Dale Curtis2012-09-27
| | | | | | | | | | Anonymous typedef structs prevent forward declaration, this change gives the AVIOContext and AVIOInterruptCB structures a name. These structures are now in line with other common structures such as AVFormatContext and AVCodecContext. Signed-off-by: Dale Curtis <dalecurtis@chromium.org> Signed-off-by: Diego Biurrun <diego@biurrun.de>
* avio: flush the internal buffer in avio_close()Stefano Sabatini2012-09-15
| | | | | This is consistent with stdio, and thus what people would naturally expect.
* avio: make AVIOContext.av_class pointer to constMans Rullgard2012-04-18
| | | | | | | | | | Fix this warning: libavformat/aviobuf.c:663:20: warning: assignment discards qualifiers from pointer target type Although this is a public header, it should remain source and binary compatible. Signed-off-by: Mans Rullgard <mans@mansr.com>
* lavf: remove disabled FF_API_OLD_INTERRUPT_CB cruftAnton Khirnov2012-01-27
|
* lavf: remove disabled FF_API_OLD_AVIO cruftAnton Khirnov2012-01-27
|
* avio: Fix the value of the deprecated URL_FLAG_NONBLOCKMartin Storsjö2012-01-12
| | | | | | | | | | This isn't used in practice anywhere within libav at the moment, but change it for consistency until it is removed. URL_RDONLY/WRONLY were fixed in commit 5b81e295931 (after the values that actually were used were changed at the major bump, in commit cbea3ac8), but this flag was unintentionally left unfixed. 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>
* lavf doxy: add installed headers to groups.Anton Khirnov2011-12-10
|
* lavf doxy: add avio groups into the lavf_io group.Anton Khirnov2011-12-10
|
* avio: Mark the old interrupt callback mechanism as deprecatedMartin Storsjö2011-11-18
| | | | Prepare for removing it at an upcoming major bump.
* avio: add avio_open2, taking an interrupt callback and optionsMartin Storsjö2011-11-13
| | | | | | | | | | | The interrupt callback has to be passed in during opening (setting it after opening isn't enough), since a blocking open couldn't be interrupted otherwise. Options are passed down to procotols and also need to be available during open() in most cases. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* avio: Add AVIOInterruptCBMartin Storsjö2011-11-13
| | | | | | | | | | | | | This is a better io interrupt callback function, which has an opaque parameter, which is given to the interrupt callback. This allows callers to precisely cancel IO for one single AVFormatContext, without interrupt other ones in the same process. Note, it's not needed in AVIOContext, at the moment. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* doxygen: Prefer member groups over grouping into modulesReinhard Tartler2011-07-02
| | | | | | | | | Before this, almost all module groups have been used for grouping functions and fields in structures semantically. This causes them to not appear properly in the file documentation and needlessly clutters up the "Modules" index. Additionally, this commit streamlines some spelling and appearances.
* Use av_printf_format to check the usage of printf style functionsMartin Storsjö2011-06-23
| | | | | | | | This helps catching cases where the format string doesn't match what is passed in, or injection bugs where user data is passed in as format string. Signed-off-by: Martin Storsjö <martin@martin.st>
* avio: document buffer must created with av_malloc() and friendsCan Wu2011-05-21
| | | | | | Else a later buffer resize in ffio_set_buf_size() will ABORT. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* avio: Fix the deprecated fallback URL-prefixed open flagsMartin Storsjö2011-04-28
| | | | | | | | | | | | | | | | While deprecated, they're totally useless as long as their values are different from the AVIO_FLAG values that are used internally. Currently, this leads to old libav applications still compiling correctly (since we haven't removed the fallback wrappers), but failing since the functions internally compare to the new AVIO_FLAG values. These should be removed at some point, but they aren't removed yet. The intent is to be able to recompile an old application against the new ABI without modifying the code, and this doesn't work currently. 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: remove misc disabled cruft.Anton Khirnov2011-04-19
|
* lavf: remove FF_API_URL_CLASS cruft.Anton Khirnov2011-04-19
|
* lavf: remove FF_API_UDP_GET_FILE cruftAnton Khirnov2011-04-19
|
* lavf: remove FF_API_REGISTER_PROTOCOL cruftAnton Khirnov2011-04-19
|
* lavf: remove FF_API_URL_RESETBUF cruftAnton Khirnov2011-04-19
|
* avio: deprecate url_exist in favor of avio_check.Anton Khirnov2011-04-13
|
* avio: add avio_check()Stefano Sabatini2011-04-13
| | | | | | | | The new function is more flexible than url_exist(), as it allows to specify which access flags to check, and does not require an explicit open of the checked resource. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* avio: left-shift AVIO_ flags on next bumpAnton Khirnov2011-04-13
| | | | Now AVIO_RDONLY is defined as 0, so it's not usable as a flag.
* avio: undeprecate av_url_read_fseek/fpause under nicer namesAnton Khirnov2011-04-12
| | | | It seems their replacements won't be ready anytime soon.
* avio: add more documentation for AVIOContext.Anton Khirnov2011-04-10
|
* avio: document some members of AVIOContext.Anton Khirnov2011-04-10
|
* avio: document avio_close().Anton Khirnov2011-04-10
|
* avio: cosmetics, vertically align comments.Anton Khirnov2011-04-10
|
* avio: cosmetics, group the reading functions.Anton Khirnov2011-04-10
|
* avio: cosmetics, merge all the FF_API_OLD_AVIO blocks.Anton Khirnov2011-04-10
|
* avio: cosmetics, move AVIOContext to start of the file.Anton Khirnov2011-04-10
|
* avio: update file header.Anton Khirnov2011-04-10
|
* avio: deprecate av_protocol_next().Anton Khirnov2011-04-08
|
* avio: add a function for iterating though protocol names.Anton Khirnov2011-04-08
|
* avio: make URLProtocol internal.Anton Khirnov2011-04-08
|
* avio: make URLContext internal.Anton Khirnov2011-04-08
|
* avio: deprecate the typedef for URLInterruptCBAnton Khirnov2011-04-08
| | | | | There's no particular reason to pollute the namespace with a typedef for it.
* avio: move extern url_interrupt_cb declaration from avio.h to url.hAnton Khirnov2011-04-07
|
* avio: make av_register_protocol2 internal.Anton Khirnov2011-04-07
|
* avio: avio_ prefix for url_set_interrupt_cb.Anton Khirnov2011-04-07
|
* avio: AVIO_ prefixes for URL_ open flags.Anton Khirnov2011-04-07
|