tvheadend/tvheadend — pull request #449 by dreamcat4 (2014-08-06 11:23:37+00:00)
Title: (partial) Fix libav transcoding for some people

Many thanks to @kvaster for his patch.
It does not break anything previous. And it does not fix completely.

This fixes for versions of ffmpeg and libav which are:

* Not too old.
* Not too New.
* Older ones should still work too. Just I don't have so can't test.

* Have tested on ffmpeg-2.2.4 and all works fine. Can't see no segfault, or other errors. Transcoding work well for direct Play button, and for the Plex plugin [`realriot/tvheadend-ng`][https://github.com/realriot/tvheadend-ng.bundle].

* Does not fix for very newest versions of ffmpg/libav.

Why? the newest ffmpeg/libav versions have removed at some unknown recent commit in recent months the deprecated function `avcodec_decode_audio3`. Which tvheadend currently still uses / depends upon.

https://github.com/FFmpeg/FFmpeg/blob/97478ef5fe7dd2ff8da98e381de4a6b2b979b485/doc/API changes#L1029-1034

We should replace entirely the deprecated `_audio3` function to the newer `avcodec_decode_audio4` function. And make a new _minimum version requirement_ = `54.40.0`. However that change is more risk / complex than these ones. And not done yet. So is not included with this pull request.