Commit graph

36 commits

Author SHA1 Message Date
Josselin Mouette
1f2cd3de4b Allow building against an external FFMpeg install. Fixes: #363363
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"
2006-12-14 23:31:45 +00:00
Michal Benes
5312e1f777 ext/ffmpeg/: Port of FFMpeg muxers to 0.10.
Original commit message from CVS:
Patch by: Michal Benes  <michal dot benes at xeris dot cz>
* ext/ffmpeg/Makefile.am:
* ext/ffmpeg/gstffmpeg.c: (plugin_init):
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_codecid):
* ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_base_init),
(gst_ffmpegmux_init), (gst_ffmpegmux_finalize),
(gst_ffmpegmux_request_new_pad), (gst_ffmpegmux_setcaps),
(gst_ffmpegmux_collected), (gst_ffmpegmux_change_state),
(gst_ffmpegmux_register):
Port of FFMpeg muxers to 0.10.
Still needs some loving in gstffmpegcodecmap to have them all supported
with correct input formats.
Closes #332339
2006-09-08 15:25:51 +00:00
Sebastien Moutte
df305f763b ext/ffmpeg/: Make stuff compile on Visual Studio 6.
Original commit message from CVS:
Patch by: Sebastien Moutte <sebastien at moutte dot net>
* ext/ffmpeg/gstffmpeg.c: (plugin_init):
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ff_vid_caps_new),
(gst_ff_aud_caps_new), (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_smpfmt_to_caps),
(gst_ffmpeg_init_pix_fmt_info):
* ext/ffmpeg/gstffmpegcodecmap.h:
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_send_event):
* ext/ffmpeg/gstffmpegprotocol.c:
Make stuff compile on Visual Studio 6.
Convert some crach macros to functions.
Convert some static tables to _init functions.
Fixes #343951.
2006-09-06 15:15:05 +00:00
Thomas Vander Stichele
d403852f04 ext/ffmpeg/: various compiler fixes
Original commit message from CVS:

* ext/ffmpeg/gstffmpeg.c:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps):
* ext/ffmpeg/gstffmpegdec.c:
(gst_ffmpegdec_add_pixel_aspect_ratio), (gst_ffmpegdec_frame):
* ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_seek):
* ext/ffmpeg/gstffmpegscale.c: (gst_ffmpegscale_transform_caps),
(gst_ffmpegscale_handle_src_event):
various compiler fixes
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_src_event),
(my_safe_copy), (gst_ffmpegdemux_open),
(gst_ffmpegdemux_change_state):
actually return the result.  Tee hee.
2006-03-31 22:26:12 +00:00
Edward Hervey
1b5a9e3fca ext/ffmpeg/: Port of ffvideoscale to 0.10.
Original commit message from CVS:
Reviewed by : Edward Hervey  <edward@fluendo.com>
* ext/ffmpeg/Makefile.am:
* ext/ffmpeg/gstffmpeg.c: (plugin_init):
* ext/ffmpeg/gstffmpegscale.c: (gst_ffmpegscale_base_init),
(gst_ffmpegscale_class_init), (gst_ffmpegscale_init),
(gst_ffmpegscale_finalize), (gst_ffmpegscale_transform_caps),
(gst_ffmpegscale_fixate_caps), (gst_ffmpegscale_get_unit_size),
(gst_ffmpegscale_set_caps), (gst_ffmpegscale_transform),
(gst_ffmpegscale_handle_src_event), (gst_ffmpegscale_register):
Port of ffvideoscale to 0.10.
Closes #332557
2006-03-01 15:08:08 +00:00
Thomas Vander Stichele
25a4d049dd ext/ffmpeg/gstffmpeg.c: set correct version on the plug-in - the GStreamer
Original commit message from CVS:

* ext/ffmpeg/gstffmpeg.c:
set correct version on the plug-in - the GStreamer
FFMpeg version.  I could swear I had already done this
before.
2006-02-11 22:16:43 +00:00
Edward Hervey
bcea38b0d8 ext/ffmpeg/: Welcome the demuxers to 0.10 :)
Original commit message from CVS:
* ext/ffmpeg/Makefile.am:
* ext/ffmpeg/gstffmpeg.c: (plugin_init):
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_base_init),
(gst_ffmpegdemux_init), (gst_ffmpegdemux_stream_from_pad),
(gst_ffmpegdemux_handle_seek), (gst_ffmpegdemux_src_event),
(gst_ffmpegdemux_src_query_list), (gst_ffmpegdemux_src_query),
(gst_ffmpegdemux_add), (gst_ffmpegdemux_open),
(gst_ffmpegdemux_loop), (gst_ffmpegdemux_sink_activate),
(gst_ffmpegdemux_sink_activate_pull),
(gst_ffmpegdemux_change_state), (gst_ffmpegdemux_register):
* ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_open),
(gst_ffmpegdata_peek), (gst_ffmpegdata_read),
(gst_ffmpegdata_write), (gst_ffmpegdata_seek),
(gst_ffmpegdata_close):
Welcome the demuxers to 0.10 :)
For the time being the demuxers work only pull-based.
Seeking, querying works.
2006-02-10 19:42:19 +00:00
Edward Hervey
4ec81ff7fa ext/ffmpeg/: ffdeinterlace port to 0.10.
Original commit message from CVS:
reviewed by: Edward Hervey  <edward@fluendo.com>
* ext/ffmpeg/Makefile.am:
* ext/ffmpeg/gstffmpeg.c: (plugin_init):
* ext/ffmpeg/gstffmpegdeinterlace.c:
(gst_ffmpegdeinterlace_base_init),
(gst_ffmpegdeinterlace_class_init),
(gst_ffmpegdeinterlace_sink_setcaps), (gst_ffmpegdeinterlace_init),
(gst_ffmpegdeinterlace_chain), (gst_ffmpegdeinterlace_register):
ffdeinterlace port to 0.10.
Could be made a subclass of GstBaseTransform later on...
2006-01-20 14:17:16 +00:00
Sebastien Cote
38dc71e266 ext/ffmpeg/: Do proper locking around avcodec_open() and avcodec_close()
Original commit message from CVS:
* ext/ffmpeg/gstffmpeg.c: (gst_ffmpeg_avcodec_open),
(gst_ffmpeg_avcodec_close):
* ext/ffmpeg/gstffmpeg.h:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_close),
(gst_ffmpegdec_open):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_dispose),
(gst_ffmpegenc_getcaps), (gst_ffmpegenc_setcaps),
(gst_ffmpegenc_change_state):
Do proper locking around avcodec_open() and avcodec_close()
(fixes #322254, patch by: Sebastien Cote and Luca Ognibene).
2005-12-16 16:23:05 +00:00
Thomas Vander Stichele
2e02b4f6f5 ext/ffmpeg/: shut up the logging while it's probing for formats
Original commit message from CVS:

* ext/ffmpeg/gstffmpeg.c: (gst_ffmpeg_log_callback), (plugin_init):
* ext/ffmpeg/gstffmpeg.h:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps):
shut up the logging while it's probing for formats
2005-09-13 12:16:32 +00:00
Ronald S. Bultje
6984879ed6 Backport BRANCH-THREADED to HEAD, fix a bit.
Original commit message from CVS:
* configure.ac:
* ext/ffmpeg/Makefile.am:
* ext/ffmpeg/gstffmpeg.c: (plugin_init):
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_with_codecid):
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init),
(gst_ffmpegdec_init), (gst_ffmpegdec_query), (gst_ffmpegdec_event),
(gst_ffmpegdec_open), (gst_ffmpegdec_setcaps),
(gst_ffmpegdec_get_buffer), (gst_ffmpegdec_negotiate),
(gst_ffmpegdec_frame), (gst_ffmpegdec_sink_event),
(gst_ffmpegdec_chain), (gst_ffmpegdec_change_state),
(gst_ffmpegdec_register):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_class_init),
(gst_ffmpegenc_init), (gst_ffmpegenc_getcaps),
(gst_ffmpegenc_setcaps), (gst_ffmpegenc_chain_video),
(gst_ffmpegenc_chain_audio):
* ext/libpostproc/Makefile.am:
Backport BRANCH-THREADED to HEAD, fix a bit.
2005-08-05 15:29:56 +00:00
Luca Ognibene
a4cf1e11fc ext/ffmpeg/: Add ffdeinterlace element
Original commit message from CVS:
* ext/ffmpeg/Makefile.am:
* ext/ffmpeg/gstffmpegdeinterlace.c:
* ext/ffmpeg/gstffmpeg.c (plugin_init):
Add ffdeinterlace element
* TODO:
yo, another thing removed from the TODO
2005-05-15 19:21:04 +00:00
Luca Ognibene
eea570791c ext/ffmpeg/: Add ffvideoscale element (#303727)
Original commit message from CVS:
* ext/ffmpeg/gstffmpeg.c (plugin_init):
* ext/ffmpeg/Makefile.am:
* ext/ffmpeg/gstffmpegscale.c:
Add ffvideoscale element (#303727)

* TODO:
update TODO
2005-05-13 15:46:42 +00:00
Ronald S. Bultje
c74a433d1d ext/ffmpeg/gstffmpeg.c: Enable muxers (only mp4 muxer for now).
Original commit message from CVS:
* ext/ffmpeg/gstffmpeg.c: (plugin_init):
Enable muxers (only mp4 muxer for now).
* ext/ffmpeg/gstffmpegcodecmap.c:
(gst_ffmpeg_formatid_get_codecids), (gst_ffmpeg_caps_to_codecid):
* ext/ffmpeg/gstffmpegcodecmap.h:
Fix a bunch of typos in codec-id lookup (false/true return value
mixup), add a codec-id list retrieval function (because ffmpeg
does not provide one). With that, we can make valid pad templates.
* ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_init),
(gst_ffmpegmux_connect), (gst_ffmpegmux_loop),
(gst_ffmpegmux_change_state), (gst_ffmpegmux_get_id_caps),
(gst_ffmpegmux_register):
Fix for whatever changed since I last tried this. Works for MP4
muxing.
* ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_open),
(gst_ffmpegdata_peek), (gst_ffmpegdata_write),
(gst_ffmpegdata_seek), (gst_ffmpegdata_close):
Update obviously-untested write code...
2005-03-14 15:27:43 +00:00
Ronald S. Bultje
97df4afdb8 ext/ffmpeg/gstffmpeg.c: Fix compile with debug disabled (#165250).
Original commit message from CVS:
* ext/ffmpeg/gstffmpeg.c: (plugin_init):
Fix compile with debug disabled (#165250).
2005-01-27 10:21:07 +00:00
Ronald S. Bultje
9093685a44 ext/ffmpeg/: Add debugging category everywhere (correctly this time). Don't parse mp3 data (the parser is a piece of ...
Original commit message from CVS:
* ext/ffmpeg/gstffmpeg.c:
* ext/ffmpeg/gstffmpegcodecmap.c:
* ext/ffmpeg/gstffmpegcodecmap.h:
* ext/ffmpeg/gstffmpegcolorspace.c:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain):
* ext/ffmpeg/gstffmpegdemux.c:
* ext/ffmpeg/gstffmpegenc.c:
* ext/ffmpeg/gstffmpegmux.c:
* ext/ffmpeg/gstffmpegprotocol.c:
Add debugging category everywhere (correctly this time). Don't
parse mp3 data (the parser is a piece of crap). Fixes #155274
mostly. Seeking pending.
2004-12-18 20:53:55 +00:00
Thomas Vander Stichele
71f892d3de hook up our debug system
Original commit message from CVS:
hook up our debug system
2004-07-07 15:12:02 +00:00
Ronald S. Bultje
bc0e141ee7 ext/ffmpeg/gstffmpeg.c: Remove redundant calls which are called internally already.
Original commit message from CVS:
* ext/ffmpeg/gstffmpeg.c: (plugin_init):
Remove redundant calls which are called internally already.
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_with_codecid):
Indenting...
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop),
(gst_ffmpegdemux_register):
Remove typefind functions and rank for demuxers for any demuxer
that we already have in GStreamer.
2004-06-07 02:29:41 +00:00
Thomas Vander Stichele
7383aa1baa indent
Original commit message from CVS:
indent
2004-03-29 16:39:18 +00:00
Ronald S. Bultje
7b63c14e2b HACKING: Add some basic documentation on how our wrapping works.
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@...
2004-03-01 04:59:17 +00:00
David Schleef
2b03152605 Make sure everybody wraps #include "config.h" in #ifdef HAVE_CONFIG_H
Original commit message from CVS:
* ext/ffmpeg/gstffmpeg.c:
* ext/ffmpeg/gstffmpegcodecmap.c:
* ext/ffmpeg/gstffmpegdec.c:
* ext/ffmpeg/gstffmpegenc.c:
* ext/ffmpeg/gstffmpegprotocol.c:
* ext/gdk_pixbuf/gstgdkanimation.c:
* ext/jpeg/gstjpeg.c:
* ext/libpng/gstpng.c:
* ext/mpeg2dec/perftest.c:
* ext/speex/gstspeex.c:
* gst-libs/gst/resample/dtos.c:
* gst/intfloat/gstintfloatconvert.c:
* gst/oneton/gstoneton.c:
* gst/rtjpeg/RTjpeg.c:
* gst/rtp/gstrtp.c:
* sys/dxr3/dxr3init.c:
* sys/glsink/gstgl_nvimage.c:
* sys/glsink/gstgl_pdrimage.c:
* sys/glsink/gstglsink.c:
* testsuite/gst-lint:
Make sure everybody wraps #include "config.h" in #ifdef HAVE_CONFIG_H
2004-01-12 04:15:46 +00:00
Thomas Vander Stichele
d7bdecd09f fix compilation
Original commit message from CVS:
fix compilation
2003-12-05 16:01:23 +00:00
Ronald S. Bultje
28ba793266 Bla
Original commit message from CVS:
Bla
2003-11-02 13:12:14 +00:00
Benjamin Otte
98063f8cd3 merge TYPEFIND branch. Major changes:
Original commit message from CVS:
merge TYPEFIND branch. Major changes:
- totally reworked type(find) system
- all typefind functions are in gst/typefind now
- more typefind functions then before
- some plugins might fail to compile now because I don't have them installed and they
a) require bytestream or
b) haven't had their typefind fixed.
Please fix those plugins and put the typefind functions into gst/typefind if they don't have dependencies
2003-10-28 20:52:31 +00:00
Ronald S. Bultje
8358d67b73 Make it compile against latest CVS of FFMPEG:
Original commit message from CVS:
Make it compile against latest CVS of FFMPEG:
* Put gst/gst.h above avcodec.h because it needs some types defined in glib.h
* Remove HQ (removed from lavc) property

Also add some functions to make SVQ1 decoding work:
* Add YUV9 colorspace
* Let lavc do its own buffer allocation and copy from there instead of using
our own buffer allocation functions. Somehow, that breaks. I don't know
why.
2003-10-26 11:30:18 +00:00
Ronald S. Bultje
5b255e085e FFMPEG-based colorspace conversion plugin
Original commit message from CVS:
FFMPEG-based colorspace conversion plugin
2003-10-25 16:29:13 +00:00
Ronald S. Bultje
cc76e12bb9 New typefind system: bytestream is now part of the core all plugins have been modified to use this new typefind syste...
Original commit message from CVS:
New typefind system:
* bytestream is now part of the core
* all plugins have been modified to use this new typefind system
* asf typefinding added
* mpeg video stream typefiding removed because it's broken
* duplicate typefind entries removed
* extra id3 typefinding added, because we've seen 4 types of files
(riff/wav, flac, vorbis, mp3) with id3 headers and each of these needs
to work. Instead, I've added an id3 element and let it redo typefiding
after the id3 header. this needs a hack because spider only typefinds
once. We can remove this hack once spider supports multiple typefinds.
* with all this, mp3 typefinding is semi-rewritten
* id3 typefinding in flac/vorbis is removed, it's no longer needed
* fixed spider and gst-typefind to use this, too.
* Other general cleanups
2003-10-01 13:14:43 +00:00
Ronald S. Bultje
d1c36f17ef New mimetypes gone into effect today - this commit changes all old mimetypes over to the new mimetypes spec as descri...
Original commit message from CVS:
New mimetypes gone into effect today - this commit changes all old mimetypes over to the new mimetypes spec as described in the previous commit's document. Note: some plugins will break, some pipelines will break, expect HEAD to be broken or at least not 100% working for a few days, but don't forget to report bugs
2003-07-06 20:49:15 +00:00
Ronald S. Bultje
e0b4b32a8e We hate double slashes.. I'm still disabling demux/mux in CVS, until I've got some working tests here
Original commit message from CVS:
We hate double slashes.. I'm still disabling demux/mux in CVS, until I've got some working tests here
2003-06-17 11:46:08 +00:00
Ronald S. Bultje
e8d306adb4 some first trial code for ffmux_* disable ffmux/ffdemux by default since they cause havoc
Original commit message from CVS:
* some first trial code for ffmux_*
* disable ffmux/ffdemux by default since they cause havoc

I'll enable them locally for testing purposes until I've got them working in a general setup, too.
2003-06-09 15:04:26 +00:00
Ronald S. Bultje
9b1645814e Remove typefinding as separate plugin, this is part of the demuxers now
Original commit message from CVS:
Remove typefinding as separate plugin, this is part of the demuxers now
2003-06-08 13:30:59 +00:00
Thomas Vander Stichele
ff9f7c32ca fix ffmpeg to work with installd version as well
Original commit message from CVS:
fix ffmpeg to work with installd version as well
2002-11-26 14:50:05 +00:00
Wim Taymans
ba9ed9b9e4 More ffmpeg wrapping going on here
Original commit message from CVS:
More ffmpeg wrapping going on here
2002-11-25 21:37:26 +00:00
Wim Taymans
4996d4c7d2 Release early.. try to wrap more ffmpeg stuff, like muxers and demuxers.
Original commit message from CVS:
Release early.. try to wrap more ffmpeg stuff, like muxers and demuxers.
This thing needs a fix in ffmpeg (which I will send to the ffmpeg authors
eventually)
2002-11-06 23:53:46 +00:00
Andy Wingo
f2b9ef90a2 s/Gnome-Streamer/GStreamer/
Original commit message from CVS:
s/Gnome-Streamer/GStreamer/
2002-03-20 21:44:42 +00:00
Thomas Vander Stichele
428baadc62 adding ffmpeg, but it needs proper handling
Original commit message from CVS:
adding ffmpeg, but it needs proper handling
2001-12-23 13:25:04 +00:00