ffmpeg/doc
Martin Storsjö db7968bff4 avio: Allow custom IO users to get labels for the output bytestream
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>
2016-05-18 10:36:45 +03:00
..
doxy Split global .gitignore file into per-directory files 2016-05-13 14:55:56 +02:00
examples Split global .gitignore file into per-directory files 2016-05-13 14:55:56 +02:00
.gitignore Split global .gitignore file into per-directory files 2016-05-13 14:55:56 +02:00
APIchanges avio: Allow custom IO users to get labels for the output bytestream 2016-05-18 10:36:45 +03:00
avconv.texi cosmetics: Fix spelling mistakes 2016-05-04 18:16:21 +02:00
avplay.texi cosmetics: Fix spelling mistakes 2016-05-04 18:16:21 +02:00
avprobe.texi avprobe: restore pseudo-INI old style format for compatibility. 2012-05-26 21:14:35 +02:00
avtools-common-opts.texi cosmetics: Fix spelling mistakes 2016-05-04 18:16:21 +02:00
avutil.txt cosmetics: Fix spelling mistakes 2016-05-04 18:16:21 +02:00
bitstream_filters.texi doc: Fix some obsolete references to av* tools as ff* tools 2013-02-18 13:04:29 +01:00
build_system.txt doc: Update paths to match new examples location 2016-03-23 09:35:40 +01:00
decoders.texi doc: Use the correct @subsection tag 2014-12-07 21:50:47 +01:00
demuxers.texi doc: document the asf demuxer 2013-08-28 11:02:56 +02:00
developer.texi cosmetics: Fix spelling mistakes 2016-05-04 18:16:21 +02:00
doxy-wrapper.sh Move all example programs to doc/examples 2014-02-16 21:37:21 +01:00
Doxyfile doc: Update paths to match new examples location 2016-03-23 09:35:40 +01:00
encoders.texi cosmetics: Fix spelling mistakes 2016-05-04 18:16:21 +02:00
eval.texi eval: Add the isinf() function and tests for it 2012-07-04 15:10:56 +03:00
faq.texi miscellaneous typo fixes 2013-07-25 19:43:32 +02:00
fate.texi cosmetics: Fix spelling mistakes 2016-05-04 18:16:21 +02:00
filters.texi cosmetics: Fix spelling mistakes 2016-05-04 18:16:21 +02:00
general.texi lavc: G.723.1 encoder 2015-11-30 10:58:46 -05:00
git-howto.texi cosmetics: Fix spelling mistakes 2016-05-04 18:16:21 +02:00
git-howto.txt doc/git-howto: expand format-patch and send-email notes. 2011-11-08 14:25:38 +01:00
indevs.texi cosmetics: Fix spelling mistakes 2016-05-04 18:16:21 +02:00
libavfilter.texi doc: Libavfilter English cleanup 2014-04-12 14:34:11 +02:00
Makefile Add a QSV decoding example. 2015-02-28 21:51:24 +01:00
metadata.texi replace FFmpeg with Libav in doc/ 2011-03-16 22:01:01 +01:00
multithreading.txt lavc decoders: work with refcounted frames. 2013-03-08 07:38:30 +01:00
muxers.texi hlsenc: Support outputting specific versions 2015-08-25 19:43:58 +02:00
nut.texi cosmetics: Fix spelling mistakes 2016-05-04 18:16:21 +02:00
optimization.txt cosmetics: Fix spelling mistakes 2016-05-04 18:16:21 +02:00
outdevs.texi doc: Fix some obsolete references to av* tools as ff* tools 2013-02-18 13:04:29 +01:00
platform.texi cosmetics: Fix spelling mistakes 2016-05-04 18:16:21 +02:00
print_options.c doc/print_options: Move options headers to a saner place 2013-08-02 19:19:02 +02:00
protocols.texi file: Add an option for following a file that is being written 2016-03-24 10:33:59 +02:00
rate_distortion.txt miscellaneous typo fixes 2012-12-21 00:18:34 +01:00
RELEASE_NOTES Add release notes for 11. 2014-09-04 07:14:27 -07:00
soc.txt Fix a bunch of common typos. 2011-12-11 00:32:25 +01:00
swscale.txt cosmetics: Fix spelling mistakes 2016-05-04 18:16:21 +02:00
t2h.init doc: update the reference for the title 2013-01-26 14:49:57 +01:00
tablegen.txt Update tablegen documentation for WRITE_ARRAY macro. 2010-06-27 14:31:50 +00:00
texi2pod.pl texi2pod: Make it output a single encoding string 2014-09-03 02:14:17 +02:00
viterbi.txt cosmetics: Fix spelling mistakes 2016-05-04 18:16:21 +02:00