Commit graph

181 commits

Author SHA1 Message Date
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
9783a9207a expand tabs
Original commit message from CVS:
expand tabs
2005-12-06 19:57:08 +00:00
Julien Moutte
fbf165cc62 ext/ffmpeg/gstffmpegenc.c: Add rtp-payload-size property.
Original commit message from CVS:
2005-11-28  Julien MOUTTE  <julien@moutte.net>

* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_class_init),
(gst_ffmpegenc_init), (gst_ffmpegenc_getcaps),
(gst_ffmpegenc_setcaps), (gst_ffmpegenc_set_property),
(gst_ffmpegenc_get_property): Add rtp-payload-size property.
2005-11-28 17:12:13 +00:00
Julien Moutte
eb2e4a055a ext/ffmpeg/Makefile.am: Fix build.
Original commit message from CVS:
2005-10-23  Julien MOUTTE  <julien@moutte.net>

* ext/ffmpeg/Makefile.am: Fix build.
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_get_codecid_longname):
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_register): Add QDM2
and TrueMotion 2.
2005-10-23 16:07:46 +00:00
Thomas Vander Stichele
a2f57c7b3f ext/ffmpeg/gstffmpegcodecmap.c: we have better ways of debugging caps
Original commit message from CVS:

* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps):
we have better ways of debugging caps
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_setcaps):
ye gods.  get_template_caps doesn't return a ref, so when the
pad was not linked, crashes would ensue.  Serves me right.
2005-10-05 17:53:00 +00:00
Thomas Vander Stichele
4906947d18 replace do { } while (0); with { }
Original commit message from CVS:
replace do { } while (0); with { }
2005-09-30 09:29:22 +00:00
Wim Taymans
a5a31c9851 ext/ffmpeg/gstffmpegenc.c: Do not limit quantizer values so we can get realy low bitrates.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_setcaps):
Do not limit quantizer values so we can get realy low
bitrates.
2005-09-22 12:55:30 +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
Andy Wingo
a02a444d68 Update for state change type and macro changes.
Original commit message from CVS:
2005-09-05  Andy Wingo  <wingo@pobox.com>

* Update for state change type and macro changes.
2005-09-05 14:06:29 +00:00
Wim Taymans
0c53925656 ext/ffmpeg/gstffmpegenc.c: Fix return values from the setcaps function.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_setcaps),
(gst_ffmpegenc_chain_video), (gst_ffmpegenc_change_state):
Fix return values from the setcaps function.
2005-08-19 15:23:39 +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
Ronald S. Bultje
512472efad ext/ffmpeg/: Use special functions for timestamp-conversion again, since we otherwise don't handle clocktimenone corr...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.h:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_connect),
(gst_ffmpegdec_frame), (gst_ffmpegdec_chain):
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_link),
(gst_ffmpegenc_chain_video):
* ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_loop):
Use special functions for timestamp-conversion again, since we
otherwise don't handle clocktimenone correctly (#311593).
2005-07-27 16:03:51 +00:00
Ronald S. Bultje
ada045509e ext/: Update to ffmpeg snapshot of Jul 20 2005 4:00 PM GMT. Mostly some added codecs, some API changes, etc. Also add...
Original commit message from CVS:
* ext/ffmpeg/gstffmpeg.h:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_to_pixfmt), (gst_ffmpeg_formatid_get_codecids),
(gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_get_codecid_longname),
(gst_ffmpeg_img_convert):
* ext/ffmpeg/gstffmpegcodecmap.h:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_negotiate),
(gst_ffmpegdec_frame), (gst_ffmpegdec_chain),
(gst_ffmpegdec_register):
* ext/ffmpeg/gstffmpegdeinterlace.c:
(gst_ffmpegdeinterlace_getcaps), (gst_ffmpegdeinterlace_pad_link):
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_src_event),
(gst_ffmpegdemux_src_format_list), (gst_ffmpegdemux_src_query),
(gst_ffmpegdemux_src_convert), (gst_ffmpegdemux_add),
(gst_ffmpegdemux_register):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps),
(gst_ffmpegenc_link), (gst_ffmpegenc_chain_video),
(gst_ffmpegenc_chain_audio):
* ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_request_new_pad),
(gst_ffmpegmux_connect), (gst_ffmpegmux_loop),
(gst_ffmpegmux_register):
* ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_write):
* ext/ffmpeg/gstffmpegscale.c: (gst_ffmpegscale_pad_link):
* ext/libpostproc/gstpostproc.c: (gst_postproc_chain):
Update to ffmpeg snapshot of Jul 20 2005 4:00 PM GMT. Mostly
some added codecs, some API changes, etc. Also adds a VOB muxer
for MPEG-2 video and adds h264 to .mp4 muxing.
2005-07-20 15:40:57 +00:00
Luca Ognibene
26d61e741b ext/ffmpeg/: more DELTA_UNIT / KEY_UNIT fixes
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_chain_video):
more DELTA_UNIT / KEY_UNIT fixes
2005-06-27 21:02:40 +00:00
Luca Ognibene
2cfc4961ef ext/ffmpeg/gstffmpegenc.c (gst_ffmpegenc_chain_video): set the GST_BUFFER_DELTA_UNIT while encoding fix #308804
Original commit message from CVS:
Reviewed by: Luca Ognibene <luogni@tin.it>

* ext/ffmpeg/gstffmpegenc.c (gst_ffmpegenc_chain_video):
set the GST_BUFFER_DELTA_UNIT while encoding
fix #308804
2005-06-25 15:33:29 +00:00
Ronald S. Bultje
722d9491dd configure.ac: scale requires -libs (video.h).
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.
2005-06-03 11:34:13 +00:00
Luca Ognibene
6e5fa03b6b ext/ffmpeg/: Makes ffmpegdec and ffmpegenc use these functions and remove a comment from a previuos patch
Original commit message from CVS:
* ext/ffmpeg/gstffmpegenc.c (gst_ffmpegenc_chain_video):
* ext/ffmpeg/gstffmpegdec.c (gst_ffmpegdec_chain):
Makes ffmpegdec and ffmpegenc use these functions
and remove a comment from a previuos patch

* ext/ffmpeg/gstffmpegcodecmap.h:
Add two utility functions to convert the pts from/to
the ffmpeg format
2005-05-11 15:18:23 +00:00
Ronald S. Bultje
3d55f87758 ext/ffmpeg/gstffmpegenc.c: Don't crash if avcodec_open failed (#301717).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps):
Don't crash if avcodec_open failed (#301717).
2005-04-23 16:07:34 +00:00
Ronald S. Bultje
23e0f2c1f6 ext/ffmpeg/gstffmpegcodecmap.c: Add ALAC, shorten and some more in new FFMPEG snapshot of 21/4, somewhere this aftern...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_caps_to_codecid),
(gst_ffmpeg_get_codecid_longname):
Add ALAC, shorten and some more in new FFMPEG snapshot of
21/4, somewhere this afternoon.
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_register):
Add warnings to decoder registration to easier add new ones
during snapshot updates.
2005-04-21 19:01:36 +00:00
Ronald S. Bultje
35bb7be72c ext/ffmpeg/gstffmpegenc.c: Fix crash on randomly sized input (#169082).
Original commit message from CVS:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_chain_video):
Fix crash on randomly sized input (#169082).
2005-03-12 23:59:15 +00:00
Ronald S. Bultje
cdcc9bc7cf ext/ffmpeg/gstffmpegenc.c: Only free context if it was created (otherwise it crashes).
Original commit message from CVS:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_link):
Only free context if it was created (otherwise it crashes).
2005-02-05 18:35:18 +00:00
Ronald S. Bultje
68331a35b5 ext/ffmpeg/: Oops, unbreak audio.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_register):
Oops, unbreak audio.
2005-01-28 12:22:54 +00:00
Ronald S. Bultje
37062fde79 ext/ffmpeg/gstffmpegcodecmap.c: Add AMR mimetypes (since those are recognized in ffmpeg).
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_to_codecid):
Add AMR mimetypes (since those are recognized in ffmpeg).
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame),
(gst_ffmpegdec_register):
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_register):
Register law codecs too, add time debug. Use ANY for template caps
since we don't necessarily have available decoders for recognized
formats.
2005-01-28 10:45:37 +00:00
Ronald S. Bultje
3643177798 ext/ffmpeg/gstffmpegenc.c: Remove EMU_EDGE, since that really fixes #162905. Revert previous hacks.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_init),
(gst_ffmpegenc_link), (gst_ffmpegenc_chain_video):
Remove EMU_EDGE, since that really fixes #162905. Revert
previous hacks.
2005-01-17 13:35:06 +00:00
Ronald S. Bultje
b7411c3e84 ext/ffmpeg/gstffmpegenc.c: Unref after encode (#162905).
Original commit message from CVS:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_chain_video):
Unref after encode (#162905).
2005-01-16 12:15:10 +00:00
Ronald S. Bultje
006e7999fd ext/ffmpeg/gstffmpegenc.c: Workaround memory issues (#162905).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_link),
(gst_ffmpegenc_chain_video):
Workaround memory issues (#162905).
2005-01-16 11:29:28 +00:00
Ronald S. Bultje
3d22ebc2a7 ext/ffmpeg/gstffmpegenc.c: Call parent.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_dispose):
Call parent.
2005-01-09 21:47:26 +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
Ronald S. Bultje
67927465e6 ext/ffmpeg/gstffmpegenc.c: Move setup of sink caps (accepted formats) to a separate function rather than doing it on ...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_base_init),
(gst_ffmpegenc_init), (gst_ffmpegenc_getcaps),
(gst_ffmpegenc_link):
Move setup of sink caps (accepted formats) to a separate function
rather than doing it on initialization.
2004-12-17 11:32:45 +00:00
Ronald S. Bultje
0e41db4c65 ext/ffmpeg/: Sync with gst-plugins ffmpegcolorspace, align-by-4. Ready to re-sync gst-plugins ffmpegcolorspace with o...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_avpicture_fill):
* ext/ffmpeg/gstffmpegcodecmap.h:
* ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_chain):
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_get_buffer),
(gst_ffmpegdec_chain):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_chain_video):
Sync with gst-plugins ffmpegcolorspace, align-by-4. Ready to
re-sync gst-plugins ffmpegcolorspace with ours and deprecate
this one.
2004-10-29 09:47:41 +00:00
Ronald S. Bultje
8aaf62d816 ext/ffmpeg/: Fix encoders. Fix if encoder supports >1 caps.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_codectype_to_caps), (gst_ffmpeg_caps_with_codecid):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_base_init),
(gst_ffmpegenc_connect), (gst_ffmpegenc_register):
Fix encoders. Fix if encoder supports >1 caps.
2004-10-25 11:56:52 +00:00
Ronald S. Bultje
918b5444c9 ext/ffmpeg/: Hmm, fancy names...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c:
(gst_ffmpeg_get_codecid_longname):
* ext/ffmpeg/gstffmpegcodecmap.h:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_base_init),
(gst_ffmpegdec_register):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_base_init),
(gst_ffmpegenc_register):
Hmm, fancy names...
2004-10-24 22:24:43 +00:00
Ronald S. Bultje
54a86d367d ext/ffmpeg/gstffmpegenc.c: Set chain function before adding pad, fix memleak on error, error out on encode errors bec...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_init),
(gst_ffmpegenc_chain_video):
Set chain function before adding pad, fix memleak on error, error
out on encode errors because none of subsequent frames will work
any better (this is not input dependent).
2004-10-11 08:21:16 +00:00
Thomas Vander Stichele
842f7aacbe put them back
Original commit message from CVS:
put them back
2004-07-08 14:01:28 +00:00
Thomas Vander Stichele
d867b293f7 bring in line with others
Original commit message from CVS:
bring in line with others
2004-07-03 23:34:04 +00:00
Stéphane Loeuillet
de518b6888 ext/ffmpeg/gstffmpegdec.c ext/ffmpeg/gstffmpegenc.c change plugins category to meet our new naming standard :
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c
* ext/ffmpeg/gstffmpegenc.c
change plugins category to meet our new naming standard :
Codec/Encoder|Decoder/Audio|Video
suggested by bilboed, approved by Company
2004-05-09 22:15:29 +00:00
Ronald S. Bultje
d8f7d245f4 ext/ffmpeg/gstffmpegcodecmap.*: Change some function names to reflect that they don't really _return_ something, but ...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_get_palette),
(gst_ffmpeg_set_palette), (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_to_smpfmt),
(gst_ffmpeg_caps_to_pixfmt), (gst_ffmpeg_caps_with_codectype),
(gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_caps_to_codecid):
* ext/ffmpeg/gstffmpegcodecmap.h:
Change some function names to reflect that they don't really
_return_ something, but rather _use_ something to fill a
AVCodecContext. s/to/with/. Restructure the extradata handling,
it's now not picking up the type from the caps but rather
using the type as provided in the function. This is a lot
cleaner. Implement MS RLE palette pickup.
* ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_pad_link):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_connect):
Sync with the above function name changes.
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_close),
(gst_ffmpegdec_open), (gst_ffmpegdec_connect),
(gst_ffmpegdec_chain), (gst_ffmpegdec_change_state):
Add some hacks to convert palette-based raw image formats to
RGBA32. Ugly, but I don't know how else to handle palette-based
RGB, since img_convert() (and thus ffcolorspace) doesn't accept
a palette as argument.
2004-04-16 01:28:36 +00:00
Thomas Vander Stichele
7383aa1baa indent
Original commit message from CVS:
indent
2004-03-29 16:39:18 +00:00
Ronald S. Bultje
d5cfdabbd8 ext/ffmpeg/: Fix category.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_base_init):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_base_init):
Fix category.
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_class_init),
(gst_ffmpegdemux_init), (gst_ffmpegdemux_close):
Slightly rewrite the init function, old one was ugly. Also remove
dispose function since it's obsolete, the change_state function
cleans up already. Also fixes segfault in test-app
gstreamer/tests/instantiate/create
2004-03-25 05:14:10 +00:00
Ronald S. Bultje
91b5e3f532 ext/ffmpeg/: Add encode property to codec mapper, so we can get better-fitting caps. Also use this everywhere. ;). La...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps):
* ext/ffmpeg/gstffmpegcodecmap.h:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain),
(gst_ffmpegdec_register):
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_add),
(gst_ffmpegdemux_register):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_connect),
(gst_ffmpegenc_register):
* ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_register):
Add encode property to codec mapper, so we can get better-fitting
caps. Also use this everywhere. ;). Lastly, add some new codecIDs
to our list of recognized ones.
2004-03-15 00:01:03 +00:00
Benjamin Otte
0556f090e5 ext/ffmpeg/: fix memleaks
Original commit message from CVS:
2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_base_init):
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_base_init):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_base_init):
* ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_base_init):
fix memleaks
2004-02-11 08:38:26 +00:00
David Schleef
8e29a788e4 Fix memory leaks:
Original commit message from CVS:
reviewed by: David Schleef  <ds@schleef.org>
Fix memory leaks:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_register):
2004-02-02 20:27:13 +00:00
David Schleef
df75119488 ext/ffmpeg/gstffmpegenc.c: Fix use of already-freed caps.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_connect): Fix use of
already-freed caps.
2004-01-16 19:54:16 +00:00
Ronald S. Bultje
8a6c344dc7 ext/ffmpeg/gstffmpegenc.c: Link with right caps (else, it segfaults).
Original commit message from CVS:
2004-01-16  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_connect):
Link with right caps (else, it segfaults).
* ext/mplex/gstmplexjob.cc:
Fix for slight API change in 1.6.1.93 release of mjpegtools.
2004-01-16 14:10:44 +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
David Schleef
2e20e4ccdf ext/ffmpeg/gstffmpegenc.c: Fix pad_link function to handle formats that ffmpeg returns as multiple caps structures.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_connect):
Fix pad_link function to handle formats that ffmpeg returns
as multiple caps structures.
* gst/videofilter/gstvideofilter.c: (gst_videofilter_chain):
Only complain if source buffer is _smaller_ than expected.
* gst/videoscale/gstvideoscale.c: (gst_videoscale_init),
(gst_videoscale_handle_src_event): Resize navigation events
when passing them upstream.
* gst/videotestsrc/gstvideotestsrc.c:
* gst/videotestsrc/gstvideotestsrc.h:
* gst/videotestsrc/videotestsrc.c:
* gst/videotestsrc/videotestsrc.h:
Rewrite many of the buffer painting functions to handle odd
sizes (for many formats, size%4!=0 or size%8!=0).  Most have
been verified to work with my video card.
* testsuite/gst-lint:  Add check for elements calling
gst_pad_get_caps() instead of gst_pad_get_allowed_caps().
2004-01-09 01:53:31 +00:00
David Schleef
e83494a26f fix compiler warning
Original commit message from CVS:
fix compiler warning
2004-01-02 23:42:14 +00:00
David Schleef
87e0627bfb ext/ffmpeg/gstffmpegenc.c: Negotiation fixes.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_init),
(gst_ffmpegenc_connect):  Negotiation fixes.
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_negotiate_format):
Remove inappropriate gst_caps_free().
* sys/ximage/ximagesink.c: (gst_ximagesink_sinkconnect):
Reenable Ronald's internal resize code, since the core handles
it correctly now.
2004-01-02 23:11:41 +00:00
Ronald S. Bultje
e1c922ecac configure.ac: Fix configure check for mpeg2enc. We need 1.6.1.93 instead of 1.6.1.92, since the pkg-config file of 1....
Original commit message from CVS:
2004-01-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* configure.ac:
Fix configure check for mpeg2enc. We need 1.6.1.93 instead of
1.6.1.92, since the pkg-config file of 1.6.1.92 is borked and
it therefore uses the wrong include paths. Too bad... Note
that 1.6.1.93 is not release yet. ;).
Also add a check for mplex, which is now using the lib'ified
mplex from mjpegtools, too.
* ext/ffmpeg/gstffmpegcodecmap.c:
Add codec_tag for 3ivx/xvid. For xvid, this should fix playback
issues. I don't think ffmpeg handles 3ivx correctly, so this
probably won't work. But it won't hurt either.
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_connect),
(gst_ffmpegdec_chain):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_connect),
(gst_ffmpegenc_chain_audio):
Fix memleak in audio encoding. Close codec if open fails, this
calls the cleanup routines so we can re-use the context.
* ext/mpeg2enc/gstmpeg2enc.cc:
Fix pad template names/types, fix memory issue with getcaps().
* ext/mpeg2enc/gstmpeg2encoder.cc:
* ext/mpeg2enc/gstmpeg2encoder.hh:
Fix compile issue with new caps system (const thingy).
* ext/mpeg2enc/gstmpeg2encpicturereader.cc:
* ext/mpeg2enc/gstmpeg2encpicturereader.hh:
We read a first frame right on initing, so that we have a caps
when we init the output. This caps is cached in padprivate and
read as first frame.
* ext/mplex/Makefile.am:
* ext/mplex/gstmplex.cc:
* ext/mplex/gstmplex.h:
* ext/mplex/gstmplex.hh:
* ext/mplex/gstmplexibitstream.cc:
* ext/mplex/gstmplexibitstream.hh:
* ext/mplex/gstmplexjob.cc:
* ext/mplex/gstmplexjob.hh:
* ext/mplex/gstmplexoutputstream.cc:
* ext/mplex/gstmplexoutputstream.hh:
We wrap mjpegtools mplex. So I rewrote the plugin. The old plugin
had issues, didn't do capsnego, supported only a subset of the
mplex features and required a mplex fork in our local CVS. Plus
that it worked agaist a very old mplex version. Rewriting was
faster than updating it.
* gst-libs/ext/Makefile.am:
* gst-libs/ext/mplex/INSTRUCT:
* gst-libs/ext/mplex/Makefile.am:
* gst-libs/ext/mplex/README:
* gst-libs/ext/mplex/TODO:
* gst-libs/ext/mplex/ac3strm_in.cc:
* gst-libs/ext/mplex/audiostrm.hh:
* gst-libs/ext/mplex/audiostrm_out.cc:
* gst-libs/ext/mplex/aunit.hh:
* gst-libs/ext/mplex/bits.cc:
* gst-libs/ext/mplex/bits.hh:
* gst-libs/ext/mplex/buffer.cc:
* gst-libs/ext/mplex/buffer.hh:
* gst-libs/ext/mplex/fastintfns.h:
* gst-libs/ext/mplex/format_codes.h:
* gst-libs/ext/mplex/inputstrm.cc:
* gst-libs/ext/mplex/inputstrm.hh:
* gst-libs/ext/mplex/lpcmstrm_in.cc:
* gst-libs/ext/mplex/mjpeg_logging.cc:
* gst-libs/ext/mplex/mjpeg_logging.h:
* gst-libs/ext/mplex/mjpeg_types.h:
* gst-libs/ext/mplex/mpastrm_in.cc:
* gst-libs/ext/mplex/mpegconsts.cc:
* gst-libs/ext/mplex/mpegconsts.h:
* gst-libs/ext/mplex/mplexconsts.hh:
* gst-libs/ext/mplex/multplex.cc:
* gst-libs/ext/mplex/outputstream.hh:
* gst-libs/ext/mplex/padstrm.cc:
* gst-libs/ext/mplex/padstrm.hh:
* gst-libs/ext/mplex/stillsstream.cc:
* gst-libs/ext/mplex/stillsstream.hh:
* gst-libs/ext/mplex/systems.cc:
* gst-libs/ext/mplex/systems.hh:
* gst-libs/ext/mplex/vector.cc:
* gst-libs/ext/mplex/vector.hh:
* gst-libs/ext/mplex/videostrm.hh:
* gst-libs/ext/mplex/videostrm_in.cc:
* gst-libs/ext/mplex/videostrm_out.cc:
* gst-libs/ext/mplex/yuv4mpeg.cc:
* gst-libs/ext/mplex/yuv4mpeg.h:
* gst-libs/ext/mplex/yuv4mpeg_intern.h:
* gst-libs/ext/mplex/yuv4mpeg_ratio.cc:
We don't fork mjpegtools' mplex in our CVS anymore.
* gst/avi/gstavidemux.c: (gst_avi_demux_src_getcaps),
(gst_avi_demux_add_stream):
* gst/avi/gstavidemux.h:
Add getcaps() function for proper caps nego. This makes some
parts of AVI playback/reading work.
* sys/ximage/ximagesink.c: (gst_ximagesink_sinkconnect):
Resize window on new capsnego. This is probably wrong, but
I'm still committing it because with current capsnego, the
first successfull capsnego is auto-fixated, therefore rounded
down to the lowest values in the caps. this results in a 16x16
XWindow that is not reized when real capsnego finishes.
Dave, I see more cases of this, do you know a proper solution?
* tools/gst-launch-ext.in:
Fix MPEG-4 AAC (Apple iPod/iTunes) file commandline.
2004-01-01 22:45:56 +00:00
David Schleef
5153d56e2c Merge CAPS branch
Original commit message from CVS:
Merge CAPS branch
2003-12-22 01:46:58 +00:00
Leif Johnson
579ca39de7 + checking in plugin category changes
Original commit message from CVS:
+ checking in plugin category changes
2003-11-16 22:01:30 +00:00
Ronald S. Bultje
ebbae798e3 Oops, some pretty bad memleaks
Original commit message from CVS:
Oops, some pretty bad memleaks
2003-11-12 11:27:40 +00:00
Ronald S. Bultje
199e7f14f2 Several encoding changes: for video, double check the pix_fmt after opening the AVCodec. The pix_fmt will be changed ...
Original commit message from CVS:
Several encoding changes:
* for video, double check the pix_fmt after opening the AVCodec. The pix_fmt
will be changed to the preferred pix_fmt instead of that opening the
codec fails. We fail when it has changed (then, ffmpeg doesn't like it).
* for video, set the correct timestamp.
* for audio, do *not* set the frame_size: most codecs don't like it. Instead,
keep a cache of buffers and always give data of size "frame_size". Maybe
I should have used bytestream here, I'm not sure. This works, though.
I can now create mpeg1 video, mp2 and ac3 audio. I didn't test any others yet.
I also didn't start working on integration with any of the muxers yet, that's
all one big TODO. One thing at a time, please. :).
2003-11-12 10:42:36 +00:00
Benjamin Otte
7e8b50efaa fix ffmpeg by using an ugly hack (put data as GType 0 when there is no type available yet)
Original commit message from CVS:
fix ffmpeg by using an ugly hack (put data as GType 0 when there is no type available yet)
2003-11-02 19:07:41 +00:00
Ronald S. Bultje
28ba793266 Bla
Original commit message from CVS:
Bla
2003-11-02 13:12:14 +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
601a18b167 and small improvement in naming of the FFMPEG encoders. This makes their naming look slightly better in apps using el...
Original commit message from CVS:
Typo (> instead of <) in codec selection (we don't want raw audio to raw audio encoders), and small improvement in naming of the FFMPEG encoders. This makes their naming look slightly better in apps using element_factory->details->longname.
2003-10-20 08:24:39 +00:00
Andy Wingo
8603e03fd5 /GstBuffer/GstData/ in the API where you can pass events. Fix the plugins to deal with that. Fixes #113488.
Original commit message from CVS:
/GstBuffer/GstData/ in the API where you can pass events. Fix the plugins to deal with that. Fixes #113488.
2003-10-08 16:07:38 +00:00
Benjamin Otte
9db37279fc use commas instead of newlines for author field (makes output greppable)
Original commit message from CVS:
use commas instead of newlines for author field (makes output greppable)
2003-07-08 19:48:54 +00:00
Benjamin Otte
4c1d919cbf compatibility fix for new GST_DEBUG stuff.
Original commit message from CVS:
compatibility fix for new GST_DEBUG stuff.
Includes fixes for missing includes for config.h and unistd.h

I only ensured for plugins I can build that they work, so if some of them are still broken, you gotta fix them yourselves unfortunately.
2003-06-29 19:45:00 +00:00
Ronald S. Bultje
a617e29786 No quasi codecs
Original commit message from CVS:
No quasi codecs
2003-06-17 11:44:38 +00:00
Ronald S. Bultje
40deef896e Loop through input capses instead of just picking the first, and handle encoding errors
Original commit message from CVS:
Loop through input capses instead of just picking the first, and handle encoding errors
2003-06-07 21:06:05 +00:00
Ronald S. Bultje
49b22bcee6 Rewrite of gstffmpegenc
Original commit message from CVS:
Rewrite of gstffmpegenc
2003-06-07 20:46:24 +00:00
Ronald S. Bultje
80924bdfdc remove gstffmpegdecall. This was a temporary hack to get around some issues with our video/avi-centered mimetype syst...
Original commit message from CVS:
* remove gstffmpegdecall. This was a temporary hack to get around
some issues with our video/avi-centered mimetype system. Now that
we use proper identifiers, we don't need that piece of cruft anymore.
* update ffmpeg codec map for ffdec_*, plus make the uncompressed stream
caps also be formed by the codec mapper (this is easier to handle imo).
* add audio support (untested, though :P).
* remove the copying of buffer content and add a get_buffer() handler
instead.
* add an int to ffmpegenc to make it compile and resolve the symbol. I'll
truely fix that later on.
* make mimetypes in the ffmpeg codec mapper conform to docs/random/mimetypes
* etc.

Oh, and let's not forget that it can play back DIVX5 et all nicely. Support
for SVQ1/3 is also there, so if someone completes qtdemux, we can watch
these, too.
2003-06-07 00:41:32 +00:00
Ronald S. Bultje
56ab463205 Use new ffmpeg revision
Original commit message from CVS:
Use new ffmpeg revision
2003-05-29 19:34:00 +00:00
David I. Lehn
3a0476127a check for type register failures
Original commit message from CVS:
check for type register failures
2003-01-20 18:22:00 +00:00
David I. Lehn
7e51a8b664 lower sample_rate property minimum value to -1 to accoutn for default of -1
Original commit message from CVS:
lower sample_rate property minimum value to -1 to accoutn for default of -1
2003-01-18 21:36:25 +00:00
Thomas Vander Stichele
b914183d97 PadConnect -> PadLink
Original commit message from CVS:
PadConnect -> PadLink
2003-01-10 13:38:12 +00:00
Thomas Vander Stichele
45c7badc47 another batch of connect->link fixes please let me know about issues and please refrain of making them yourself, so t...
Original commit message from CVS:
another batch of connect->link fixes
please let me know about issues
and please refrain of making them yourself, so that I don't spend double
the time resolving conflicts
2003-01-10 10:22:01 +00:00
Wim Taymans
631ae96d59 Fix for latest ffmpeg
Original commit message from CVS:
Fix for latest ffmpeg
2002-12-28 00:11:56 +00:00
Ronald S. Bultje
0d32d395f1 Update API to whatever ffmpeg changed the past few days
Original commit message from CVS:
Update API to whatever ffmpeg changed the past few days
2002-12-12 13:12:44 +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
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
Christian Schaller
4af5086de4 plugins part of license field patch
Original commit message from CVS:
plugins part of license field patch
2002-09-18 19:02:18 +00:00
Wim Taymans
9b5d3a77dd Some fixes, this at least compiles again and does decoding/encoding against latest ffmpeg CVS
Original commit message from CVS:
Some fixes, this at least compiles again and does decoding/encoding
against latest ffmpeg CVS
2002-06-03 22:48:11 +00:00
Andy Wingo
c8f838fd03 GstPadTemplate <-> gst_pad_template <-> GST_PAD_TEMPLATE same with *factory and typefind.
Original commit message from CVS:
GstPadTemplate <-> gst_pad_template <-> GST_PAD_TEMPLATE

same with *factory and typefind.

also, some -Werror fixes.
2002-04-11 20:42:00 +00:00
Andy Wingo
762502fd52 filter newlines out of GST_DEBUG statements to reflect new core behavior fixes to adder's caps, again
Original commit message from CVS:
* filter newlines out of GST_DEBUG statements to reflect new core behavior
* fixes to adder's caps, again
2002-03-24 22:06: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
Andy Wingo
16d56e8a03 removal of //-style comments don't link plugins to core libs -- the versioning is done internally to the plugins with...
Original commit message from CVS:
* removal of //-style comments
* don't link plugins to core libs -- the versioning is done internally to the plugins with the plugin_info struct,
and symbol resolution is lazy, so we can always know if a plugin can be loaded by the plugin_info data. in theory.
2002-03-19 04:09:41 +00:00
Wim Taymans
7e54c58ea6 Bring the plugins in sync with the new core capsnego system.
Original commit message from CVS:
Bring the plugins in sync with the new core capsnego system.
Added some features, enhancements...
2002-01-13 22:27:22 +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