~medibuntu-maintainers/mplayer/medibuntu.oneiric

« back to all changes in this revision

Viewing changes to libavcodec/libfaad.c

  • Committer: Gauvain Pocentek
  • Date: 2010-09-25 09:39:02 UTC
  • mfrom: (66.1.6 maverick)
  • Revision ID: gauvain@images-20100925093902-9q2akz3ls3qzhaaw
* Merge from Ubuntu:
  - put back faac support
  - recommends apport-hooks-medibuntu
  - change Maintainer, Uploaders & Vcs-* fields.
* merge from debian, remaining changes:
  - build depend against, lame, x264, xvid
* debian/patches/60eval-api.patch, backport patch from upstream to
  unbreak compilation for eval.h move not yet in 0.6
* gmplayer is gone now, please see smplayer as alternative frontend.
  LP: #503537, #493088, #467534, #467524, #460326, #390399, #285570,
      #208680, #118709, #513065, #459595, #455913, #179918, #65165.
* enable the mencoder package
* sort build depends alphabetically
* enable dvdnav support, Closes: #582508, #488226, LP: #611749
* prepare new upload
* no longer build mplayer-gui, it doesn't build anymore with shared
  swscale
* merge from debian/experimental, remaining changes:
  - build depend against, lame, x264, xvid
  - enable mencoder and mplayer-gui
* ensure that quilt patches are actually applied
* New Upstream Version, LP: #539315
* Build (against) again the System FFmpeg 
* tighten dependency on FFmpeg 0.6
* remove patches merged upstream
* remove 22disable-xscreensaver.patch
* refresh patches
* readd x264, xvid and mp3lame support, LP: #606125
* remove old parallel building mechanism, fixes FTBFS
* New upstream version
* compile against internal ffmpeg for now, LP: #587203, #588097
* recompile for directfb transtion, LP: #587163
* remove patches that were merged upstream
* avoid removing DOCS/html directory. it is included in release
  tarball
* convert to source Format: 3.0 (quilt)
* refreshed patches
* remove files that are included in upstream tarball
* rework debian/rules file
  - support parallel building
  - merge build rules for mplayer and mencoder package
  - remove unreferenced COMMON_CONFIGURE_FLAGS macro
  - rename DEB_BUILD_CONFIGURE -> CONFIGURE_FLAGS
  - don't build documentation - release tarballs have them prebuilt
  - build HTML documentation only if not already avaiable in the build
    tree
  - remove remaining references to debian/strip.sh from debian/rules
* remove copied vdpau headers
* copy in mencoder.c from upstream
* enable mplayer-gui (Closes: #579925) and mencoder packages. 
  (Closes: #396954, #400940, #580168)
* Fix rtsp vulnerability. Patch applied by DSA. Closes: #581245
* Fix another integer overflow, Closes: #524805
* prepare new upload
* sync libao2/ao_pulse.c with svn r30062, Closes: #558196, #580113
* make configure use pkg-config for fribidi checks. Closes: #582784,
  LP: #556200
* document 23mplayer-debug-printf.patch
* avoid mentioning of GTK frontend in mplayer description
* improve package descriptions of mplayer-doc and mplayer-dbg
* medium urgency because of fixed security issue
* fix SVN_VERION regex in debian rules to unbreak get-orig-source
  target. Closes: #582369
* forcefully disable arts support. Closes: #581225
* Remove mencoder from Depends in mplayer-dbg package.
* new upstream snapshot from rc3 branch.
* remove patches applied upstream:
  
  - 24_enable_fontconfig_by_default.diff
  - 30_add_gmplayer_man_rules.diff
  - 40_improve_desktop_file.patch
  - 41_fix_forcedsubsonly.patch
  - 50_fix_crashes_with_invalid_SDPs.patch
  - 50_fix_initial_volume_setting_pulse_output.patch
  - 61-malloc-bsd.patch
  - 62-disable-vidix-on-kfreebsd-amd64.patch
  - 63-sys-kd-include.patch
* don't install apport hook
* gross hack to avoid building mplayer-nogui and mplayer-gui packages
* add md5sum to remove to avoid spurious conffile prompt, Closes: #568272
* Make mplayer build on kFreeBSD (backports from upstream), Closes: #578622
  - Revert obscure hack that disables the malloc.h check on certain BSD
    platforms. 
  - disable vidix on kFreeBSD-amd64
  - rename 'struct keypad' -> 'struct m_keypad' to avoid FTBFS on
    kFreeBSD/amd64
* enable fontconfig by default. (Closes: #573257)

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
 */
22
22
 
23
23
/**
24
 
 * @file libavcodec/libfaad.c
 
24
 * @file
25
25
 * AAC decoder.
26
26
 *
27
27
 * still a bit unfinished - but it plays something
149
149
 
150
150
static int faac_decode_frame(AVCodecContext *avctx,
151
151
                             void *data, int *data_size,
152
 
                             uint8_t *buf, int buf_size)
 
152
                             AVPacket *avpkt)
153
153
{
 
154
    const uint8_t *buf = avpkt->data;
 
155
    int buf_size = avpkt->size;
154
156
    FAACContext *s = avctx->priv_data;
155
157
#ifndef FAAD2_VERSION
156
158
    unsigned long bytesconsumed;
181
183
        unsigned char channels;
182
184
        int r = s->faacDecInit(s->faac_handle, buf, buf_size, &srate, &channels);
183
185
        if(r < 0){
184
 
            av_log(avctx, AV_LOG_ERROR, "faac: codec init failed.\n");
 
186
            av_log(avctx, AV_LOG_ERROR, "libfaad: codec init failed.\n");
185
187
            return -1;
186
188
        }
187
189
        avctx->sample_rate = srate;
193
195
    out = s->faacDecDecode(s->faac_handle, &frame_info, (unsigned char*)buf, (unsigned long)buf_size);
194
196
 
195
197
    if (frame_info.error > 0) {
196
 
        av_log(avctx, AV_LOG_ERROR, "faac: frame decoding failed: %s\n",
 
198
        av_log(avctx, AV_LOG_ERROR, "libfaad: frame decoding failed: %s\n",
197
199
               s->faacDecGetErrorMessage(frame_info.error));
198
200
        return -1;
199
201
    }
318
320
    return 0;
319
321
}
320
322
 
321
 
#define AAC_CODEC(id, name, long_name_) \
322
 
AVCodec name ## _decoder = {    \
323
 
    #name,                      \
324
 
    CODEC_TYPE_AUDIO,           \
325
 
    id,                         \
326
 
    sizeof(FAACContext),        \
327
 
    faac_decode_init,           \
328
 
    NULL,                       \
329
 
    faac_decode_end,            \
330
 
    faac_decode_frame,          \
331
 
    .long_name = NULL_IF_CONFIG_SMALL(long_name_), \
332
 
}
333
 
 
334
 
// FIXME - raw AAC files - maybe just one entry will be enough
335
 
AAC_CODEC(CODEC_ID_AAC, libfaad, "libfaad AAC (Advanced Audio Codec)");
336
 
 
337
 
#undef AAC_CODEC
 
323
AVCodec libfaad_decoder = {
 
324
    "libfaad",
 
325
    AVMEDIA_TYPE_AUDIO,
 
326
    CODEC_ID_AAC,
 
327
    sizeof(FAACContext),
 
328
    faac_decode_init,
 
329
    NULL,
 
330
    faac_decode_end,
 
331
    faac_decode_frame,
 
332
    .long_name = NULL_IF_CONFIG_SMALL("libfaad AAC (Advanced Audio Codec)"),
 
333
};