Commit graph

186 commits

Author SHA1 Message Date
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