Commit bd83e181 authored by Ronald S. Bultje's avatar Ronald S. Bultje

New libfaad (MPEG-2/4 AAC decoder) plugin

Original commit message from CVS:
New libfaad (MPEG-2/4 AAC decoder) plugin
parent 81238366
...@@ -745,6 +745,14 @@ GST_CHECK_FEATURE(ESD, [esound plug-ins], esdsink esdmon, [ ...@@ -745,6 +745,14 @@ GST_CHECK_FEATURE(ESD, [esound plug-ins], esdsink esdmon, [
AS_SCRUB_INCLUDE(ESD_CFLAGS) AS_SCRUB_INCLUDE(ESD_CFLAGS)
]) ])
dnl **** Free AAC Decoder (FAAD) ****
translit(dnm, m, l) AM_CONDITIONAL(USE_FAAD, true)
GST_CHECK_FEATURE(FAAD, [AAC decoder plug-in], faad, [
GST_CHECK_LIBHEADER(FAAD, faad, faacDecOpen, , faad.h, FAAD_LIBS="-lfaad")
AS_SCRUB_INCLUDE(FAAD_CFLAGS)
AC_SUBST(FAAD_LIBS)
])
dnl **** festival **** dnl **** festival ****
dnl translit(dnm, m, l) AM_CONDITIONAL(USE_FESTIVAL, true) dnl translit(dnm, m, l) AM_CONDITIONAL(USE_FESTIVAL, true)
dnl GST_CHECK_FEATURE(FESTIVAL, [festival plug-ins], festivalsrc, [ dnl GST_CHECK_FEATURE(FESTIVAL, [festival plug-ins], festivalsrc, [
...@@ -1375,6 +1383,7 @@ ext/dv/Makefile ...@@ -1375,6 +1383,7 @@ ext/dv/Makefile
ext/dvdread/Makefile ext/dvdread/Makefile
ext/dvdnav/Makefile ext/dvdnav/Makefile
ext/esd/Makefile ext/esd/Makefile
ext/faad/Makefile
ext/ffmpeg/Makefile ext/ffmpeg/Makefile
ext/flac/Makefile ext/flac/Makefile
ext/gdk_pixbuf/Makefile ext/gdk_pixbuf/Makefile
......
...@@ -70,6 +70,12 @@ else ...@@ -70,6 +70,12 @@ else
MAS_DIR= MAS_DIR=
endif endif
if USE_FAAD
FAAD_DIR=faad
else
FAAD_DIR=
endif
## if USE_FESTIVAL ## if USE_FESTIVAL
## FESTIVAL_DIR=festival ## FESTIVAL_DIR=festival
## else ## else
...@@ -274,31 +280,98 @@ else ...@@ -274,31 +280,98 @@ else
SPEEX_DIR= SPEEX_DIR=
endif endif
SUBDIRS=$(A52DEC_DIR) $(AALIB_DIR) $(ALSA_DIR) \ SUBDIRS=\
$(ARTS_DIR) $(ARTSC_DIR) $(AUDIOFILE_DIR) \ $(A52DEC_DIR) \
$(CDPARANOIA_DIR) $(DIVX_DIR) \ $(AALIB_DIR) \
$(DVDREAD_DIR) $(DVDNAV_DIR) $(ESD_DIR) $(MAS_DIR) \ $(ALSA_DIR) \
$(FFMPEG_DIR) $(FLAC_DIR) $(GDK_PIXBUF_DIR) \ $(ARTS_DIR) \
$(GNOMEVFS_DIR) $(GSM_DIR) $(HERMES_DIR) \ $(ARTSC_DIR) \
$(JACK_DIR) $(JPEG_DIR) \ $(AUDIOFILE_DIR) \
$(LADSPA_DIR) $(LAME_DIR) $(LCS_DIR) \ $(CDPARANOIA_DIR) \
$(LIBDV_DIR) $(LIBFAME_DIR) $(LIBPNG_DIR) \ $(DIVX_DIR) \
$(MAD_DIR) $(MATROSKA_DIR) $(MIKMOD_DIR) \ $(DVDREAD_DIR) \
$(MPEG2DEC_DIR) $(MPLEX_DIR) $(PANGO_DIR) $(RAW1394_DIR) \ $(DVDNAV_DIR) \
$(SDL_DIR) $(SHOUT_DIR) $(SIDPLAY_DIR) \ $(ESD_DIR) \
$(SMOOTHWAVE_DIR) $(SNDFILE_DIR) $(SWFDEC_DIR) $(TARKIN_DIR) \ $(FAAD_DIR) \
$(VORBIS_DIR) $(XVID_DIR) $(SNAPSHOT_DIR) $(SPEEX_DIR) $(FFMPEG_DIR) \
$(FLAC_DIR) \
$(GDK_PIXBUF_DIR) \
$(GNOMEVFS_DIR) \
$(GSM_DIR) \
$(HERMES_DIR) \
$(JACK_DIR) \
$(JPEG_DIR) \
$(LADSPA_DIR) \
$(LAME_DIR) \
$(LCS_DIR) \
$(LIBDV_DIR) \
$(LIBFAME_DIR) \
$(LIBPNG_DIR) \
$(MAD_DIR) \
$(MAS_DIR) \
$(MATROSKA_DIR) \
$(MIKMOD_DIR) \
$(MPEG2DEC_DIR) \
$(MPLEX_DIR) \
$(PANGO_DIR) \
$(RAW1394_DIR) \
$(SDL_DIR) \
$(SHOUT_DIR) \
$(SIDPLAY_DIR) \
$(SMOOTHWAVE_DIR) \
$(SNAPSHOT_DIR) \
$(SNDFILE_DIR) \
$(SPEEX_DIR) \
$(SWFDEC_DIR) \
$(TARKIN_DIR) \
$(VORBIS_DIR) \
$(XVID_DIR)
DIST_SUBDIRS=\ DIST_SUBDIRS=\
a52dec aalib alsa arts artsd \ a52dec \
audiofile cdparanoia divx dv \ aalib \
dvdread dvdnav esd mas ffmpeg \ alsa \
flac gdk_pixbuf gnomevfs gsm \ arts \
hermes ivorbis jack jpeg \ artsd \
ladspa lame lcs libfame libpng \ audiofile \
mad matroska mikmod \ cdparanoia \
mpeg2dec mplex pango raw1394 \ divx \
sdl snapshot sndfile \ dv \
shout shout2 sidplay \ dvdread \
smoothwave swfdec tarkin vorbis \ dvdnav \
xvid speex esd \
mas \
faad \
ffmpeg \
flac \
gdk_pixbuf \
gnomevfs \
gdm \
hermes \
ivorbis \
jack \
jpeg \
ladspa \
lame \
lcs \
libfame \
libpng \
mad \
matroska \
mikmod \
mpeg2dec \
mplex \
pango \
raw1394 \
sdl \
snapshot \
sndfile \
shout \
shout2 \
sidplay \
smoothwave \
speex \
swfdec \
tarkin \
vorbis \
xvid
plugin_LTLIBRARIES = libgstfaad.la
libgstfaad_la_SOURCES = gstfaad.c
libgstfaad_la_CFLAGS = $(FAAD_CFLAGS) $(GST_CFLAGS)
libgstfaad_la_LIBADD = $(FAAD_LIBS)
libgstfaad_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
noinst_HEADERS = gstfaad.h
This diff is collapsed.
/* GStreamer FAAD (Free AAC Decoder) plugin
* Copyright (C) 2003 Ronald Bultje <rbultje@ronald.bitfreak.net>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef __GST_FAAD_H__
#define __GST_FAAD_H__
#include <gst/gst.h>
#include <faad.h>
G_BEGIN_DECLS
#define GST_TYPE_FAAD \
(gst_faad_get_type ())
#define GST_FAAD(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_FAAD, GstFaad))
#define GST_FAAD_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_FAAD, GstFaadClass))
#define GST_IS_FAAD(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_FAAD))
#define GST_IS_FAAD_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_FAAD))
typedef struct _GstFaad {
GstElement element;
/* pads */
GstPad *srcpad, *sinkpad;
/* cache for latest MPEG-frame */
gint samplerate,
channels,
bps;
/* FAAD object */
faacDecHandle handle;
} GstFaad;
typedef struct _GstFaadClass {
GstElementClass parent_class;
} GstFaadClass;
GType gst_faad_get_type (void);
G_END_DECLS
#endif /* __GST_FAAD_H__ */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment