gstreamer/ChangeLog
David Schleef df3920121f Add fixate function and test for bad caps
Original commit message from CVS:
Add fixate function and test for bad caps
2004-01-02 10:04:34 +00:00

401 lines
16 KiB
Text

2004-01-02 David Schleef <ds@schleef.org>
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_fixate),
(gst_xvimagesink_sinkconnect), (gst_xvimagesink_init):
Add fixate function and a check for bad formats.
2004-01-01 David Schleef <ds@schleef.org>
Negotiation fixes:
* gst-libs/gst/audio/gstaudiofilter.c: (gst_audiofilter_link),
(gst_audiofilter_init):
* gst/debug/efence.c: (gst_efence_init):
* gst/deinterlace/gstdeinterlace.c: (gst_deinterlace_link),
(gst_deinterlace_init):
* gst/volume/gstvolume.c: (volume_connect):
2004-01-01 David Schleef <ds@schleef.org>
Convert elements to use gst_pad_use_explicit_caps() where
appropriate:
* ext/a52dec/gsta52dec.c: (gst_a52dec_init), (gst_a52dec_reneg):
* ext/audiofile/gstafparse.c: (gst_afparse_init),
(gst_afparse_open_file):
* ext/audiofile/gstafsrc.c: (gst_afsrc_init),
(gst_afsrc_open_file):
* ext/esd/esdmon.c: (gst_esdmon_init), (gst_esdmon_get):
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_init),
(gst_ffmpegdec_chain):
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop):
* ext/flac/gstflacdec.c: (gst_flacdec_init), (gst_flacdec_write):
* ext/gdk_pixbuf/gstgdkpixbuf.c: (gst_gdk_pixbuf_init),
(gst_gdk_pixbuf_chain):
* ext/jpeg/gstjpegdec.c: (gst_jpegdec_init), (gst_jpegdec_link),
(gst_jpegdec_chain):
* ext/mad/gstmad.c: (gst_mad_init), (gst_mad_chain):
* ext/mikmod/gstmikmod.c: (gst_mikmod_init),
(gst_mikmod_negotiate):
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_init),
(gst_mpeg2dec_negotiate_format):
* ext/mpeg2enc/gstmpeg2enc.cc:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_push):
* ext/speex/gstspeexdec.c: (gst_speexdec_init),
(gst_speexdec_sinkconnect):
* ext/swfdec/gstswfdec.c: (gst_swfdec_loop), (gst_swfdec_init):
* ext/vorbis/vorbisfile.c: (gst_vorbisfile_init),
(gst_vorbisfile_new_link):
* gst/ac3parse/gstac3parse.c: (gst_ac3parse_init),
(gst_ac3parse_chain):
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_add_audio_stream),
(gst_asf_demux_setup_pad):
* gst/auparse/gstauparse.c: (gst_auparse_init),
(gst_auparse_chain):
* gst/id3/gstid3types.c: (gst_id3types_loop):
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream):
* gst/mpeg1videoparse/gstmp1videoparse.c: (gst_mp1videoparse_init),
(mp1videoparse_parse_seq):
* gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_init),
(bpf_from_header):
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_parse_syshead),
(gst_mpeg_demux_parse_pes), (gst_mpeg_demux_lpcm_set_caps):
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_init),
(gst_mpeg_parse_send_data):
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(gst_qtdemux_add_stream):
* gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream):
* gst/wavparse/gstwavparse.c: (gst_wavparse_init),
(gst_wavparse_parse_fmt):
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.
2003-12-31 David Schleef <ds@schleef.org>
* gst/tcp/gsttcpsrc.c: (gst_tcpsrc_get):
* gst/udp/gstudpsrc.c: (gst_udpsrc_get):
Change gst_pad_proxy_link() to gst_pad_try_set_caps()
2003-12-30 David Schleef <ds@schleef.org>
* ext/ffmpeg/gstffmpegcolorspace.c:
(gst_ffmpegcsp_caps_remove_format_info), (gst_ffmpegcsp_getcaps),
(gst_ffmpegcsp_pad_link), (gst_ffmpegcsp_init),
(gst_ffmpegcsp_chain): Negotiation fixes
* ext/mad/gstmad.c: (gst_mad_chain): Negotiation fixes
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain),
(gst_audio_convert_link), (gst_audio_convert_channels):
* gst/audioscale/gstaudioscale.c: (gst_audioscale_getcaps),
(gst_audioscale_link), (gst_audioscale_get_buffer),
(gst_audioscale_chain): Negotiation fixes
* gst/audioscale/gstaudioscale.h:
* gst/videofilter/gstvideofilter.c:
(gst_videofilter_format_get_structure), (gst_videofilter_getcaps),
(gst_videofilter_link), (gst_videofilter_init),
(gst_videofilter_set_output_size), (gst_videofilter_setup),
(gst_videofilter_find_format_by_structure):
* gst/videofilter/gstvideofilter.h: Negotiation fixes
* gst/videoscale/gstvideoscale.c: (gst_videoscale_getcaps),
(gst_videoscale_link):
* gst/videoscale/videoscale.c: (videoscale_get_structure),
(videoscale_find_by_structure), (gst_videoscale_setup):
* gst/videoscale/videoscale.h: Negotiation fixes
* sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents),
(gst_ximagesink_fixate), (gst_ximagesink_init): Add a fixate
function, restrict resizing to a multiple of 4 (hack until
everyone supports odd sizes correctly).
2003-12-29 Colin Walters <walters@verbum.org>
* ext/esd/esdsink.c (gst_esdsink_link): Fix typo; get depth instead of
signed.
2003-12-30 Jan Schmidt <thaytan@mad.scientist.com>
* ext/sndfile/gstsf.c: (gst_sf_loop):
Fix warning about discarding const qualifier
2003-12-27 Jeremy Simon <jesimon@libertysurf.fr>
* gst/cutter/gstcutter.c:
* gst/videoscale/gstvideoscale.c:
* gst/volenv/gstvolenv.c:
* gst-libs/gst/audio/audio.c:
* gst-libs/gst/video/video.c:
Fix warnings
2003-12-27 Benjamin Otte <in7y118@public.uni-hamburg.de>
* ext/alsa/gstalsa.c: (gst_alsa_open_audio):
Don't send ALSA debugging to stderr.
* ext/alsa/gstalsa.h:
Use GST_WARNING instead of g_warning when ALSA functions fail.
2003-12-27 Benjamin Otte <in7y118@public.uni-hamburg.de>
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support):
Free XVAdapterInfo correctly.
2003-12-27 Benjamin Otte <in7y118@public.uni-hamburg.de>
* ext/mad/gstid3tag.c: (gst_id3_tag_add_src_pad),
(gst_id3_tag_do_caps_nego), (gst_id3_tag_src_link):
Make id3tag use correct caps nego.
2003-12-27 Amaury Jacquot <sxpert@esitcom.org>
* ext/ivorbis/vorbis.c:
* ext/ivorbis/vorbisenc.h:
* ext/ivorbis/vorbisfile.c:
Modify so that it uses the new caps things
2003-12-27 Benjamin Otte <in7y118@public.uni-hamburg.de>
* testsuite/spider/spider1.c: (main):
* testsuite/spider/spider2.c: (main):
* testsuite/spider/spider3.c: (main):
Make tests compile again. They probably don't work.
2003-12-24 Colin Walters <walters@verbum.org>
* sys/oss/gstosssink.c (gst_osssink_sink_fixate): Return NULL if
we can't fixate the caps anymore.
2003-12-23 David Schleef <ds@schleef.org>
* gst/volume/gstvolume.c: (volume_init): Proxy getcaps.
* sys/oss/gstosssink.c: (gst_osssink_init),
(gst_osssink_sink_fixate): Add fixate function.
2003-12-24 Ronald Bultje <rbultje@ronald.bitfreak.net>
* ext/ffmpeg/gstffmpegcodecmap.c:
* ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_getcaps),
(gst_ffmpegcsp_srcconnect_func), (gst_ffmpegcsp_sinkconnect),
(gst_ffmpegcsp_srcconnect), (gst_ffmpegcsp_get_type),
(gst_ffmpegcsp_base_init), (gst_ffmpegcsp_class_init),
(gst_ffmpegcsp_init), (gst_ffmpegcsp_chain),
(gst_ffmpegcsp_change_state), (gst_ffmpegcsp_set_property),
(gst_ffmpegcsp_get_property), (gst_ffmpegcsp_register):
fix typo in RGB masks, and move back to "old" colorspace
capsnego code until whoever wrote this new crap has actually
tested it so that it works.
And yes, this works, keep it that way please.
2003-12-23 Ronald Bultje <rbultje@ronald.bitfreak.net>
* ext/divx/gstdivxdec.c: (gst_divxdec_base_init),
(gst_divxdec_init), (gst_divxdec_negotiate):
* ext/divx/gstdivxdec.h:
* ext/divx/gstdivxenc.c: (gst_divxenc_base_init),
(gst_divxenc_init):
* ext/faac/gstfaac.c: (gst_faac_base_init), (gst_faac_init),
(gst_faac_sinkconnect), (gst_faac_srcconnect):
* ext/mpeg2enc/gstmpeg2enc.cc:
* ext/mpeg2enc/gstmpeg2encoder.cc:
* ext/mpeg2enc/gstmpeg2encpicturereader.cc:
* sys/dxr3/dxr3audiosink.c: (dxr3audiosink_base_init),
(dxr3audiosink_init), (dxr3audiosink_pcm_sinklink):
* sys/dxr3/dxr3spusink.c: (dxr3spusink_base_init),
(dxr3spusink_init):
* sys/dxr3/dxr3videosink.c: (dxr3videosink_base_init),
(dxr3videosink_init):
Fix caps breakage after Dave's caps branch merge.
2003-12-23 Ronald Bultje <rbultje@ronald.bitfreak.net>
* sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get):
Fix for 24bpp display.
2003-12-23 Colin Walters <walters@verbum.org>
* ext/gnomevfs/gstgnomevfssink.c: Add ARG_HANDLE property that takes
a GnomeVFSHandle directly.
2003-12-22 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/volume/Makefile.am:
* gst/volume/gstvolume.c: (volume_connect), (volume_parse_caps),
(volume_base_init), (volume_init):
Reenable volume element and fix to work with new caps stuff.
Rhythmbox needs this.
2003-12-22 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/qtdemux/qtdemux.c: (plugin_init):
qtdemux requires bytestream
2003-12-22 Benjamin Otte <in7y118@public.uni-hamburg.de>
* ext/alsa/gstalsa.c: (gst_alsa_get_caps), (gst_alsa_link):
Fix remaining caps handling errors due to CAPS merge.
2003-12-22 Benjamin Otte <in7y118@public.uni-hamburg.de>
* ext/faad/gstfaad.c: (gst_faad_base_init), (gst_faad_init),
(gst_faad_sinkconnect), (gst_faad_srcgetcaps),
(gst_faad_srcconnect):
Port to new caps system.
2003-12-21 Julien MOUTTE <julien@moutte.net>
* examples/gstplay/player.c: (got_time_tick), (got_stream_length),
(got_video_size), (main): using g_print instead of g_message.
* gst-libs/gst/play/gstplay.c: (gst_play_pipeline_setup): Fixing EOS
signal which was not emitted because of "switch" element added to the
bin but not connected. (Removing from the bin temporarily)
2003-12-21 Julien MOUTTE <julien@moutte.net>
* configure.ac: X_DISPLAY_MISSING is set to 1 if AC_PATH_XTRA fails to
find X development files. I don't understand the previous tests and
they fail on my debian/ppc unstable. This one works.
* examples/gstplay/player.c: (main): Set the pipeline to READY before
exiting.
* gst-libs/gst/play/gstplay.c: (gst_play_get_length_callback),
(gst_play_set_video_sink), (gst_play_set_audio_sink),
(gst_play_set_visualization): Add some safety checks in set_ methods
and state_change. This was throwing some ugly CRITICAL messages when
pipeline was getting disposed and casts were failing.
2003-12-21 Ronald Bultje <rbultje@ronald.bitfreak.net>
* configure.ac:
Improve mpeg2enc detection. This is for distributions that do
ship mjpegtools, but without mpeg2enc. Also does object check
for might there ever be ABI incompatibility.
* ext/mpeg2enc/gstmpeg2enc.cc:
Add Andrew as second maintainer (he's helping me), and also add
an error if no caps was set. This happens if I pull before capsnego
and that's something I should solve sometime else.
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_blockgroup):
Fix time parsing.
* gst/matroska/matroska-mux.c: (gst_matroska_mux_audio_pad_link),
(gst_matroska_mux_track_header):
Add caps to templates.
* gst/mpegaudioparse/gstmpegaudioparse.c: (mp3_sink_factory):
Add mpegversion=1 to prevent confusion with MPEG/AAC.
* gst/mpegstream/gstmpegdemux.c:
Remove layer since it causes warnings about unfixed caps.
* gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_get):
Fix obvious typo (we error out if caps were set, we should of
course error out if *no* caps were set).
* sys/oss/gstosselement.c: (gst_osselement_convert):
Fix format conversion, we confused bits/bytes.
* sys/oss/gstosselement.h:
Improve documentation for 'bps'.
* sys/v4l/TODO:
Remove stuff about plugins that need removing - this was done
ages ago.
* sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_init),
(gst_v4lmjpegsrc_src_convert), (gst_v4lmjpegsrc_src_query):
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_init), (gst_v4lsrc_src_convert),
(gst_v4lsrc_src_query):
* sys/v4l2/gstv4l2src.c: (gst_v4l2src_init),
(gst_v4l2src_src_convert), (gst_v4l2src_src_query):
Add get_query_types(), get_formats() and query() functions.
2003-12-21 Thomas Vander Stichele <thomas at apestaart dot org>
* ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gst-plugins
* moved CVS to freedesktop.org