This just replaces every "$ERROR_CFLAGS" usage with a usage of
"$WARNING_CFLAGS $ERROR_CFLAGS" to get the same functionality as
previously.
Actually using that separation will happen later.
Cache any events we get from upstream before we're open, especially
tag events we may be getting from apedemux/id3demux or the like, and
push them downstream later when we've added our pads instead of just
dropping them silently. Fixes transcoding tags for Monkey's Audio
Files with preceding APE or ID3v2 tags (#586957). Add minimal unit
test for this.
Also push stream tags later after the global tags and the newsegment
event rather than right after creating the pad.
So we don't build stuff we don't use, with the added benefit that
the GStreamer registry won't complain about not being able to
load these 'plugins' when running GStreamer uninstalled.
Don't use AC_CONFIG_SUBDIRS to call the FFmpeg configure script, as it
complains about all the unknown parameters autoconf gives it, and fiddling
with ac_configure_args makes maintainer-mode call our real configure script
with a bunch of bogus arguments.
Instead, use AC_CONFIG_COMMANDS to call the FFmpeg configure script
ourselves.
Remove autogen.sh code that modifies the FFmpeg configure script, as it's
not needed now that we only pass it arguments it understands, and move
the detection of flags like --disable-ffmpeg into the configure script,
otherwise they never get passed to FFmpeg if we call configure ourselves,
such as from a tarball.
Bring make dist in sync with autogen.sh's retrieval of ffmpeg
checkout, which also includes an update to selected revision
of libswscale external. Also include *.S files (needed for
e.g. ARM build).
Original commit message from CVS:
* configure.ac:
* ext/ffmpeg/gstffmpegmux.c:
Fix tag merging. Use tagsetter and not internal copies. Depend on
CVS core and use new API to flush.
Original commit message from CVS:
* configure.ac:
Apparently AC_CONFIG_MACRO_DIR breaks when using more
than one macro directory, reverting last change.
Original commit message from CVS:
* configure.ac:
Fix typo: libswcale -> libswscale for the pkg-config check.
* ext/libswscale/gstffmpegscale.c:
Fix include path, newer ffmpeg installs the headers for all
libraries into separate directories. Fixes bug #560137.
Original commit message from CVS:
Based on a patch by: Alexis Ballier <aballier at gentoo dot org>
* configure.ac:
* ext/ffmpeg/gstffmpeg.c:
* ext/ffmpeg/gstffmpeg.h:
* ext/ffmpeg/gstffmpegaudioresample.c:
* ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_flags_get_type),
(gst_ffmpeg_cfg_init):
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_to_pixfmt), (gst_ffmpeg_caps_with_codecid):
* ext/ffmpeg/gstffmpegcodecmap.h:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps),
(gst_ffmpegdec_register):
* ext/ffmpeg/gstffmpegdeinterlace.c:
* ext/ffmpeg/gstffmpegdemux.c:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps),
(gst_ffmpegenc_setcaps), (gst_ffmpegenc_register):
* ext/ffmpeg/gstffmpegmux.c:
* ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_seek):
* ext/libpostproc/gstpostproc.c:
* ffmpegrev:
Update ffmpeg/swscale snapshot to the latest revision and adjust
to API changes. Fixes bug #556405.
Require libavutil for swscale too when building with an external
ffmpeg and fix includes for external ffmpeg.
Original commit message from CVS:
Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
* configure.ac:
* ext/ffmpeg/Makefile.am:
Fix cross compilation and add support for compilation with mingw32.
Fixes bug #542216.
Original commit message from CVS:
* configure.ac:
Slim down the build of 'prefered' ffmpeg snapshot to disable compilation
of things we don't need.
* ffmpegrev:
Update our 'prefered' ffmpeg snapshot to rev 15004. This has the fix for a nasty
wma2 decoding regression.
Original commit message from CVS:
* configure.ac:
0.10.4.2 pre-release.
* docs/Makefile.am:
Disable recursion into the plugins docs directory - there's no
docs in there anyway, and it breaks distcheck.
Original commit message from CVS:
Patch by:
Hans de Goede <j dot w dot r degoede at hhs dot nl>
* configure.ac:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_avpicture_fill):
* ext/ffmpeg/gstffmpegcodecmap.h:
* ext/ffmpeg/gstffmpegdec.c: (get_output_buffer):
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop):
* ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_collected):
Use av_picture_copy() instead of libswscale to copy pictures. This
removes the swscale dependency and is faster. Fixes bug #534390.
Original commit message from CVS:
2008-04-15 Andy Wingo <wingo@pobox.com>
* configure.ac (FFMPEG_SOURCE): Enable PIC code using what ffmpeg
wants us to tell it, --enable-shared. Works for me on mac os 10.5
and on x86-64 rawhide.
Original commit message from CVS:
* ffmpegrev: Bump upstream ffmpeg revision to todays
* configure.ac: Fix configure for build modification in upstream
* ext/libpostproc/gstpostproc.c: (gst_post_proc_transform_ip):
Fix build for modifications in upstream
Original commit message from CVS:
2008-03-17 Andy Wingo <wingo@pobox.com>
* ext/ffmpeg/Makefile.am (libgstffmpeg_la_LIBADD): Re-add -lz
explicitly here.
* configure.ac: Remove -lz from FFMPEG_LIBS, because FFMPEG_LIBS
are used in the Makefile.am as a DEPENDENCIES target, and -lz is
not a target. Also in a blahriffic turn of events, MMX and Altivec
code on MacOS 10.5 produces non-PIC code. Turn them off on macos.
Original commit message from CVS:
* autogen.sh:
Add -Wno-portability to the automake parameters to stop warnings
about GNU make extensions being used. We require GNU make in almost
every Makefile anyway.
* configure.ac:
Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
at the same time is required for per target flags.
Original commit message from CVS:
* configure.ac:
Add big fat warning message with explanation when building
against an external copy of ffmpeg. Fixes#407779.
Original commit message from CVS:
* configure.ac:
* tests/Makefile.am:
Remove bogus check for libcheck, since we check for
gstreamer-check and it pulls in the required info from there, and we
weren't actually _using_ the information for libcheck ourselves
anyway.
Original commit message from CVS:
* configure.ac:
Add -no-undefined to GST_ALL_LDFLAGS; without it, no shared libs
will be built or installed on MingW for our plugins in ext/; also,
it looks like the right thing to do and we do it for all our other
plugin modules as well. Fixes#440253.
Original commit message from CVS:
* configure.ac:
* ext/ffmpeg/Makefile.am:
* ext/libpostproc/Makefile.am:
Fix the build on MacOSX.
This requires a recent enough version of libtool (ex : 1.5.22), since
the one shipped by Apple is from the middle ages and is packed with
issues.
Fixes#435742
Original commit message from CVS:
* configure.ac:
actually properly define HAVE_FFMPEG_UNINSTALLED
also use it as a conditional
* ext/ffmpeg/Makefile.am:
add a dep on the internal lib so the plugin gets rebuilt on
code changes to the ffmpeg lib
Original commit message from CVS:
* Makefile.am:
* configure.ac:
* ext/ffmpeg/Makefile.am:
* ext/ffmpeg/gstffmpeg.c:
* ext/ffmpeg/gstffmpegdemux.c:
* ext/libpostproc/Makefile.am:
* ext/libpostproc/gstpostproc.c:
Allow building against an external FFMpeg install. Fixes: #363363
Patch by: Josselin Mouette <joss at debian dot org>
When built against an external install, the plugin description will
say "system install" instead of "local snapshot"
Original commit message from CVS:
Reviewed by: Edward Hervey <edward@fluendo.com>
* configure.ac:
postproc filters need liboil to detect the cpu architecture
* ext/libpostproc/Makefile.am:
Update for liboil requirement, libpostproc being moved around in
ffmpeg mirror, and removal of unused header file.
* ext/libpostproc/gstpostproc.h:
Header file not needed anymore
* ext/libpostproc/gstpostproc.c: (gst_pp_scope_get_type),
(change_context), (append), (change_mode),
(gst_post_proc_base_init), (gst_post_proc_class_init),
(gst_post_proc_init), (gst_post_proc_dispose),
(gst_post_proc_setcaps), (gst_post_proc_transform_ip),
(gst_post_proc_set_property), (gst_post_proc_get_property),
(gst_post_proc_deblock_set_property),
(gst_post_proc_deblock_get_property),
(gst_post_proc_tmpnoise_set_property),
(gst_post_proc_tmpnoise_get_property),
(gst_post_proc_autolevels_set_property),
(gst_post_proc_autolevels_get_property),
(gst_post_proc_forcequant_set_property),
(gst_post_proc_forcequant_get_property), (gst_post_proc_register),
(plugin_init):
Port of postprocessing elements to 0.10.
Original commit message from CVS:
* configure.ac:
Don't build programs in ffmpeg checkout, since we're never going to use
them in the gstreamer plugin. Also it allows building the plugin on
systems that don't have UI-specific libraries (like X).
Original commit message from CVS:
2006-04-21 Andy Wingo <wingo@pobox.com>
* configure.ac (GST_MAJORMINOR): Drop the required gstreamer
version back down to the latest release, I don't think thomas'
commit on 1 april was meant to change it.
Original commit message from CVS:
* configure.ac:
Apply patch from Sebastien Cote to handle --with-pkg-config-path
before looking for GStreamer patches. (Re-closes #319248)
Original commit message from CVS:
2005-11-14 Andy Wingo <wingo@pobox.com>
* configure.ac (GST_PLUGIN_LDFLAGS): -no-undefined for better
debugging, allows dll builds on windows. Fixes#316076.
Original commit message from CVS:
* NEWS:
* RELEASE:
* TODO:
* configure.ac:
Release 0.8.5 "For the better of the world".
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_with_codecid):
Stay backwards compatible a short while longer (SVQ3).
Original commit message from CVS:
* configure.ac:
scale requires -libs (video.h).
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps):
Don't crash if open failed.
Original commit message from CVS:
* configure.ac:
only export gst* symbols
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain):
change g_warning to debugging message, that wasn't a programming
error
Original commit message from CVS:
* configure.ac:
Patch properly. Update version.
* gst-libs/ext/ffmpeg/Makefile.am:
Comment out patching - all handled by configure.
* gst-libs/ext/ffmpeg/Tag:
Update version.
* gst-libs/ext/ffmpeg/patch/autotools.diff:
Some small updates to improve compiling.
* gst-libs/ext/ffmpeg/patch/functions.diff:
Update date.
* gst-libs/ext/ffmpeg/patch/matroska.diff:
Newer patch - see ffmpeg-devel mailinglists.
* gst-libs/ext/ffmpeg/patch/function.patch:
Remove old cruft.
* gst-libs/ext/ffmpeg/patch/disabletools.diff:
Now handled by --disable-... in configure.
Original commit message from CVS:
* configure.ac:
Brackets cause autoconf errors. So remove them.
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_add):
Actually use the event/convert/query functions. D'oh.
Original commit message from CVS:
* configure.ac:
* gst-libs/ext/ffmpeg/Makefile.am:
Slightly change the way we set this up. Ugly, but now it works
again. This baby is looking for a proper fix.
* gst-libs/ext/ffmpeg/Tag:
Apparently CVS and me disagree on the tag... Ohwell, CVS wins.
* gst-libs/ext/ffmpeg/patch/autotools.diff:
* gst-libs/ext/ffmpeg/patch/disableinstalllibs.diff:
Slight nag on a link between lavf/lavc in ffmpeg. Not really
important for us since the code is the same in the end, but this
is actually correct from a per-patch point-of-view...
Original commit message from CVS:
* HACKING:
Add some basic documentation on how our wrapping works.
* TODO:
Add a list of things that could be worked on or that need doing.
* configure.ac:
Update snapshot.
* ext/ffmpeg/Makefile.am:
Changne .la links. See below (autotools patch).
* ext/ffmpeg/gstffmpeg.c: (plugin_init):
Enable demuxers. See below (gstffmpegdemux.c).
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_to_caps):
Realmedia caused a crash - fix that.
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_averror),
(gst_ffmpegdemux_base_init), (gst_ffmpegdemux_init),
(gst_ffmpegdemux_close), (gst_ffmpegdemux_dispose),
(gst_ffmpegdemux_stream_from_pad),
(gst_ffmpegdemux_src_event_mask), (gst_ffmpegdemux_src_event),
(gst_ffmpegdemux_src_format_list),
(gst_ffmpegdemux_src_query_list), (gst_ffmpegdemux_src_query),
(gst_ffmpegdemux_src_convert), (gst_ffmpegdemux_add),
(gst_ffmpegdemux_open), (gst_ffmpegdemux_loop),
(gst_ffmpegdemux_change_state), (gst_ffmpegdemux_register):
Right. OK, so I fixed up the demuxing and have it basically-working,
and the best way to get some more people to test it is to actually
enable it. I'm not sure if we want this for 0.8.0, but we can at
least give it a try. I've tested avi, matroska and mpeg, all appear
to work. The cool thing is that this gives us instant support for
several exotic formats that we'd never care about ourselves. Again,
this needs more testing for it to still be enabled in 0.8.0, but I
want to give it a try...
* ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_base_init),
(gst_ffmpegmux_init), (gst_ffmpegmux_request_new_pad),
(gst_ffmpegmux_connect), (gst_ffmpegmux_loop),
(gst_ffmpegmux_register):
Add some fixups that I use locally. Make it work in the case of
MPEG encoding, but the muxer is still not in shape to be enabled.
* ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_open),
(gst_ffmpegdata_read), (gst_ffmpegdata_write),
(gst_ffmpegdata_seek), (gst_ffmpegdata_close):
Some small fixups that crept into it while it was disabled for the
last few years. Basically works.
* gst-libs/ext/ffmpeg/Makefile.am:
Instead of having our local-autotoolized version, I patch the ffmpeg
source to be fully autotoolized. That means a simple SUBDIRS here
is now enough.
* gst-libs/ext/ffmpeg/Tag:
Version update.
* gst-libs/ext/ffmpeg/patch/autotools.diff:
Autotoolize ffmpeg. Needs to be sent to ffmpeg-devel@...
* gst-libs/ext/ffmpeg/patch/disableinstalllibs.diff:
Don't install their libs.
* gst-libs/ext/ffmpeg/patch/disablemmx.diff:
Don't use MMX. It cannot ocmpile using PIC.
* gst-libs/ext/ffmpeg/patch/disabletools.diff:
Don't compile/install their tools, we don't use them.
* gst-libs/ext/ffmpeg/patch/functions.diff:
Prevent symbol conflicts.
* gst-libs/ext/ffmpeg/patch/matroska.diff:
Add a matroska demuxer. Needs to be sent to ffmpeg-devel@...