Merge commit '8ac0f6767bf63d3e6b308ee6648ff02598b81e03'
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 2 Nov 2012 12:39:53 +0000 (13:39 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 2 Nov 2012 12:43:57 +0000 (13:43 +0100)
* commit '8ac0f6767bf63d3e6b308ee6648ff02598b81e03':
  dcadec: allow the decoder to change the channel layout mid-stream
  cook: use av_dlog() for debug logging instead of av_log() with AV_LOG_ERROR
  cook: move samples_per_frame from COOKSubpacket to where it is used
  cook: use av_get_channel_layout_nb_channels() instead of cook_count_channels()
  cook: reverse a condition so that the code makes more sense
  cook: remove unneeded COOKContext variable, sample_rate
  cook: remove unneeded COOKContext variable, bit_rate
  cook: use AVCodecContext.channels instead of keeping a private copy
  bmvaudio: set channel layout at init() rather than validating it
  atrac1: do not keep a copy of channel count in the private context
  dsicinaudio: set channels and channel layout
  g722dec: set channel layout at initialization instead of validating it
  amrwbdec: set channels, channel_layout, and sample_rate
  amrnbdec: set channels, channel_layout, and sample_rate
  dca_parser: allow the parser to change the sample rate
  lavc: check channel count after decoder init
  lavc: move SANE_NB_CHANNELS to internal.h and use it in the PCM decoders

Conflicts:
libavcodec/dcadec.c
libavcodec/pcm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavcodec/amrnbdec.c
libavcodec/amrwbdec.c
libavcodec/atrac1.c
libavcodec/bmv.c
libavcodec/cook.c
libavcodec/dca_parser.c
libavcodec/dsicinav.c
libavcodec/g722dec.c
libavcodec/internal.h
libavcodec/pcm.c
libavcodec/utils.c

Simple merge
Simple merge
Simple merge
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
+ #include "libavutil/audioconvert.h"
  #include "avcodec.h"
  #include "bytestream.h"
 +#include "libavutil/avassert.h"
  
  enum BMVFlags{
      BMV_NOP = 0,
@@@ -1219,11 -1190,6 +1202,11 @@@ static av_cold int cook_decode_init(AVC
          q->subpacket[s].gains2.now      = q->subpacket[s].gain_3;
          q->subpacket[s].gains2.previous = q->subpacket[s].gain_4;
  
-         if (q->num_subpackets + q->subpacket[s].num_channels > q->nb_channels) {
-             av_log(avctx, AV_LOG_ERROR, "Too many subpackets %d for channels %d\n", q->num_subpackets, q->nb_channels);
++        if (q->num_subpackets + q->subpacket[s].num_channels > q->avctx->channels) {
++            av_log(avctx, AV_LOG_ERROR, "Too many subpackets %d for channels %d\n", q->num_subpackets, q->avctx->channels);
 +            return AVERROR_INVALIDDATA;
 +        }
 +
          q->num_subpackets++;
          s++;
          if (s > MAX_SUBPACKETS) {
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge