- 23 Feb, 2016 1 commit
-
-
Anton Khirnov authored
Currently, AVStream contains an embedded AVCodecContext instance, which is used by demuxers to export stream parameters to the caller and by muxers to receive stream parameters from the caller. It is also used internally as the codec context that is passed to parsers. In addition, it is also widely used by the callers as the decoding (when demuxer) or encoding (when muxing) context, though this has been officially discouraged since Libav 11. There are multiple important problems with this approach: - the fields in AVCodecContext are in general one of * stream parameters * codec options * codec state However, it's not clear which ones are which. It is consequently unclear which fields are a demuxer allowed to set or a muxer allowed to read. This leads to erratic behaviour depending on whether decoding or encoding is being performed or not (and whether it uses the AVStream embedded codec context). - various synchronization issues arising from the fact that the same context is used by several different APIs (muxers/demuxers, parsers, bitstream filters and encoders/decoders) simultaneously, with there being no clear rules for who can modify what and the different processes being typically delayed with respect to each other. - avformat_find_stream_info() making it necessary to support opening and closing a single codec context multiple times, thus complicating the semantics of freeing various allocated objects in the codec context. Those problems are resolved by replacing the AVStream embedded codec context with a newly added AVCodecParameters instance, which stores only the stream parameters exported by the demuxers or read by the muxers.
-
- 27 Jul, 2015 1 commit
-
-
Vittorio Giovara authored
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
-
- 24 Feb, 2015 4 commits
-
-
Martin Storsjö authored
Many of these functions were named foo_free_context, and since the functions no longer should free the context itself, only allocated elements within it, the previous naming was slightly misleading. Signed-off-by: Martin Storsjö <martin@martin.st>
-
Martin Storsjö authored
Signed-off-by: Martin Storsjö <martin@martin.st>
-
Martin Storsjö authored
This makes it more consistent with depacketizers that don't have any .free function at all, where the payload context is freed by the surrounding framework. Always free the context in the surrounding framework, having the individual depacketizers only free any data they've specifically allocated themselves. This is similar to how this works for demuxer/muxers/codecs - a component shouldn't free the priv_data that the framework has allocated for it. Signed-off-by: Martin Storsjö <martin@martin.st>
-
Martin Storsjö authored
Signed-off-by: Martin Storsjö <martin@martin.st>
-
- 13 Oct, 2013 1 commit
-
-
Paul B Mahol authored
Signed-off-by: Paul B Mahol <onemda@gmail.com>
-
- 21 Dec, 2012 1 commit
-
-
Martin Storsjö authored
This allows depacketizers to figure out if packets have been lost. Signed-off-by: Martin Storsjö <martin@martin.st>
-
- 02 Nov, 2012 1 commit
-
-
Anton Khirnov authored
-
- 07 Aug, 2012 1 commit
-
-
Anton Khirnov authored
-
- 15 Jul, 2011 1 commit
-
-
Diego Biurrun authored
-
- 23 Apr, 2011 1 commit
-
-
Martin Storsjö authored
This avoids clashes if we internally want to override the global open function. Signed-off-by: Martin Storsjö <martin@martin.st>
-
- 03 Apr, 2011 2 commits
-
-
Anton Khirnov authored
-
Anton Khirnov authored
-
- 19 Mar, 2011 1 commit
-
-
Mans Rullgard authored
Signed-off-by: Mans Rullgard <mans@mansr.com>
-
- 22 Feb, 2011 1 commit
-
-
Anton Khirnov authored
In the name of consistency: put_byte -> avio_w8 put_<type> -> avio_w<type> put_buffer -> avio_write put_nbyte will be made private put_tag will be merged with avio_put_str Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com> (cherry picked from commit 77eb5504)
-
- 21 Feb, 2011 1 commit
-
-
Anton Khirnov authored
In the name of consistency: put_byte -> avio_w8 put_<type> -> avio_w<type> put_buffer -> avio_write put_nbyte will be made private put_tag will be merged with avio_put_str Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
-
- 20 Feb, 2011 2 commits
-
-
Anton Khirnov authored
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com> (cherry picked from commit ae628ec1)
-
Anton Khirnov authored
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
-
- 29 Nov, 2010 2 commits
-
-
Martin Storsjö authored
Originally committed as revision 25844 to svn://svn.ffmpeg.org/ffmpeg/trunk
-
Martin Storsjö authored
Originally committed as revision 25843 to svn://svn.ffmpeg.org/ffmpeg/trunk
-
- 03 Oct, 2010 1 commit
-
-
Martin Storsjö authored
Originally committed as revision 25327 to svn://svn.ffmpeg.org/ffmpeg/trunk
-
- 25 Sep, 2010 1 commit
-
-
Stefano Sabatini authored
corresponding AVMEDIA_TYPE_* symbols. Originally committed as revision 25201 to svn://svn.ffmpeg.org/ffmpeg/trunk
-
- 30 Jul, 2010 1 commit
-
-
Martin Storsjö authored
Originally committed as revision 24596 to svn://svn.ffmpeg.org/ffmpeg/trunk
-
- 25 Jul, 2010 1 commit
-
-
Martin Storsjö authored
Originally committed as revision 24501 to svn://svn.ffmpeg.org/ffmpeg/trunk
-
- 14 Jul, 2010 1 commit
-
-
Martin Storsjö authored
The timestamp of the first RTP packet forming the output AVPacket is written back in *timestamp, which is used in later calculations in generic rtpdec code (together with RTCP sync timestamps) to form the final pkt->pts value. Originally committed as revision 24235 to svn://svn.ffmpeg.org/ffmpeg/trunk
-
- 01 Jul, 2010 1 commit
-
-
Josh Allmann authored
Patch by Josh Allmann, joshua dot allmann at gmail Originally committed as revision 23941 to svn://svn.ffmpeg.org/ffmpeg/trunk
-