2004-01-02 Ronald Bultje * sys/ximage/ximagesink.c: (gst_ximagesink_sinkconnect): Comment out internal resize. It doesn't handle the resulting XEvent internally, does another try_set_caps() which leads to a really nice loop. Real fix will come when Julien and Dave are awake. ;). 2004-01-02 Ronald Bultje * ext/mpeg2enc/gstmpeg2enc.cc: fix const/nonconst compile issue. 2004-01-02 David Schleef * 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 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 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 * 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 * 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 * 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 * ext/esd/esdsink.c (gst_esdsink_link): Fix typo; get depth instead of signed. 2003-12-30 Jan Schmidt * ext/sndfile/gstsf.c: (gst_sf_loop): Fix warning about discarding const qualifier 2003-12-27 Jeremy Simon * 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 * 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 * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support): Free XVAdapterInfo correctly. 2003-12-27 Benjamin Otte * 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 * 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 * 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 * sys/oss/gstosssink.c (gst_osssink_sink_fixate): Return NULL if we can't fixate the caps anymore. 2003-12-23 David Schleef * 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 * 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 * 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 * sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get): Fix for 24bpp display. 2003-12-23 Colin Walters * ext/gnomevfs/gstgnomevfssink.c: Add ARG_HANDLE property that takes a GnomeVFSHandle directly. 2003-12-22 Benjamin Otte * 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 * gst/qtdemux/qtdemux.c: (plugin_init): qtdemux requires bytestream 2003-12-22 Benjamin Otte * 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 * 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 * 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 * 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 * 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 * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gst-plugins * moved CVS to freedesktop.org