{"id":287,"date":"2014-08-11T11:44:58","date_gmt":"2014-08-11T11:44:58","guid":{"rendered":"http:\/\/blogs.gentoo.org\/lu_zero\/?p=287"},"modified":"2014-08-11T11:45:36","modified_gmt":"2014-08-11T11:45:36","slug":"releases","status":"publish","type":"post","link":"https:\/\/blogs.gentoo.org\/lu_zero\/2014\/08\/11\/releases\/","title":{"rendered":"Releases!"},"content":{"rendered":"<p>Last we made a huge effort to make a release for every supported branch (and even one that is supposed not to be). Lots of patches to fix some old bugs got backported. I hope you appreciate the dedication.<\/p>\n<h2>Libav 0.8.15<\/h2>\n<p>We made an extra effort, this branch is supposed to be closed and the code is <strong>really<\/strong> ancient!<br \/>\nI went the extra mile and I had to run over all the codebase to fix a security issue properly: you might crash if your <strong>get_buffer<\/strong> callback doesn&#8217;t validate the frame dimension, that code is provided by the library user (e.g. VLC), so the solution is to wrap the <strong>get_buffer<\/strong> callback in a function <strong>ff_get_buffer<\/strong> and do the check there. For Libav 9 and following we did already for unrelated reasons, for Libav <strong>0.8<\/strong> I (actually we since the first patch didn&#8217;t cover all usage) had sift through the code and replace all the avctx-&gt;get_buffer() with ff_get_buffer().<\/p>\n<h2>Libav 9.16<\/h2>\n<p>This is a standard security release, backporting from Libav 10 might require some manual retouch since code got cleaned up a lot and some internals are different but it is still less painful than backporting from 11 to 0.8<\/p>\n<h2>Libav 10.3<\/h2>\n<p>This is a quite easy release, backporting fixes is nearly immediate since Libav 11 doesn&#8217;t have radical changes in the core internals and the cleanups can apply to <strong>release\/10<\/strong>.<\/p>\n<h2>Libav 11 alpha1<\/h2>\n<p><strong>Libav11<\/strong> is a major release API compatible with <strong>Libav10<\/strong>, that makes transitioning as smooth as possible: you enjoy automatically some under-the-hood changes that required an ABI bump (such as the input mime support to speed up AAC webradio startup time) and if you want you can start using the new API features (such as avresample AVFrame API, av_packet_rescale_ts(), AVColor in AVFrame and so on).<\/p>\n<h3>You can help!<\/h3>\n<p>Libav 11 will be out within the month and help is welcome to polish it and make sure we do not have rough edges.<\/p>\n<h4>Update a downstream project you are using<\/h4>\n<p>Many downstreams are still using (and sometimes misusing) the old (<strong>Libav9<\/strong>) and ancient (<strong>Libav0.8<\/strong>) API. We started writing <a href=\"http:\/\/wiki.libav.org\/Migration\">migration<\/a> guides to help, we contributed many patches already and the Debian packagers did a great job to take care of their side.<\/p>\n<p>Some patches are just waiting to be forwarded to the downstream or, if the package is orphaned, to your favourite distribution packagers.<\/p>\n<h4>Triage our bugzilla<\/h4>\n<p>Most of the Libav development happens in the <a href=\"http:\/\/libav.org\/contact.html\">mailing-lists<\/a> and sometimes<br \/>\nbugs reported over bugzilla get not updated timely. Triaging bugs sometimes take a little of time and helps a lot.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Last we made a huge effort to make a release for every supported branch (and even one that is supposed not to be). Lots of patches to fix some old bugs got backported. I hope you appreciate the dedication. Libav 0.8.15 We made an extra effort, this branch is supposed to be closed and the &hellip; <a href=\"https:\/\/blogs.gentoo.org\/lu_zero\/2014\/08\/11\/releases\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Releases!<\/span><\/a><\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true},"categories":[14,6],"tags":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/s1aGWH-releases","_links":{"self":[{"href":"https:\/\/blogs.gentoo.org\/lu_zero\/wp-json\/wp\/v2\/posts\/287"}],"collection":[{"href":"https:\/\/blogs.gentoo.org\/lu_zero\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.gentoo.org\/lu_zero\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.gentoo.org\/lu_zero\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.gentoo.org\/lu_zero\/wp-json\/wp\/v2\/comments?post=287"}],"version-history":[{"count":4,"href":"https:\/\/blogs.gentoo.org\/lu_zero\/wp-json\/wp\/v2\/posts\/287\/revisions"}],"predecessor-version":[{"id":291,"href":"https:\/\/blogs.gentoo.org\/lu_zero\/wp-json\/wp\/v2\/posts\/287\/revisions\/291"}],"wp:attachment":[{"href":"https:\/\/blogs.gentoo.org\/lu_zero\/wp-json\/wp\/v2\/media?parent=287"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.gentoo.org\/lu_zero\/wp-json\/wp\/v2\/categories?post=287"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.gentoo.org\/lu_zero\/wp-json\/wp\/v2\/tags?post=287"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}