2004-01-12 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_chain): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain): Fixing the direct put buffers detection. I prefer checking GST_BUFFER_PRIVATE than the free_func. 2004-01-12 Thomas Vander Stichele * sys/oss/gstossaudio.c: (plugin_init): * sys/oss/gstosselement.c: (gst_osselement_sync_parms): * sys/oss/gstosselement.h: make an oss debugging category make failure more descriptive 2004-01-11 David Schleef * 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-11 David Schleef * ext/alsa/gstalsasrc.c: (gst_alsa_src_set_caps): * ext/faac/gstfaac.c: (gst_faac_sinkconnect): * ext/gdk_pixbuf/gstgdkanimation.c: (gst_gdk_animation_iter_create_pixbuf): * ext/gdk_pixbuf/gstgdkpixbuf.c: (gst_gdk_pixbuf_sink_link), (gst_gdk_pixbuf_chain): * ext/gdk_pixbuf/gstgdkpixbuf.h: * ext/jack/gstjack.c: (gst_jack_change_state): * ext/xvid/gstxviddec.c: (gst_xviddec_sink_link): * gst-libs/gst/play/gstplay.c: (gst_play_get_sink_element): * gst-libs/gst/play/play.c: (gst_play_get_sink_element): * gst/videofilter/gstvideofilter.c: (gst_videofilter_set_output_size): Remove all usage of gst_pad_get_caps(), and replace it with gst_pad_get_allowed_caps() or gst_pad_get_negotiated_cap(). 2004-01-11 David Schleef * configure.ac: * ext/Makefile.am: Fixes to make ext/libcaca compile. * ext/divx/gstdivxdec.c: * ext/gdk_pixbuf/gstgdkpixbuf.c: (gst_gdk_pixbuf_sink_link), (gst_gdk_pixbuf_init), (gst_gdk_pixbuf_chain): Make gdkpixbufdec handle images that span multiple buffers. Now work with both filesrc ! gdkpixbufdec and qtdemux ! gdkpixbufdec. * ext/gdk_pixbuf/gstgdkpixbuf.h: * ext/libcaca/gstcacasink.h: Fixes needed due to recent video/video.h changes * ext/xvid/gstxvid.c: (gst_xvid_csp_to_caps): same * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_get), (gst_v4lmjpegsrc_buffer_free): Use buffer free function instead of GstData free function. * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_get), (gst_v4lsrc_buffer_free): same. 2004-01-12 Benjamin Otte * sys/v4l2/gstv4l2element.c: (gst_v4l2element_class_init), (gst_v4l2element_dispose), (gst_v4l2element_set_property), (gst_v4l2element_get_property): * sys/v4l2/v4l2_calls.c: (gst_v4l2_set_defaults), (gst_v4l2_open): add norm, channel and frequency properties. * sys/v4l2/gstv4l2tuner.c: fixes for tuner interface changes * sys/v4l2/gstv4l2element.h: * sys/v4l2/gstv4l2src.c: * sys/v4l2/gstv4l2src.h: * sys/v4l2/v4l2src_calls.c: * sys/v4l2/v4l2src_calls.h: rework v4l2src to work with saa1734 cards and allow mmaped buffers. 2004-01-12 Benjamin Otte * gst-libs/gst/tuner/tuner.c: (gst_tuner_class_init), (gst_tuner_find_norm_by_name), (gst_v4l2_find_channel_by_name), (gst_tuner_channel_changed), (gst_tuner_norm_changed), (gst_tuner_frequency_changed), (gst_tuner_signal_changed): * gst-libs/gst/tuner/tuner.h: GObjects aren't const. Add find_by_name functions. Add checks to _changed functions. * sys/v4l/gstv4ltuner.c: (gst_v4l_tuner_get_channel), (gst_v4l_tuner_get_norm): Fixes for above. 2004-01-12 Benjamin Otte * gst-libs/gst/video/video.h: Fix caps template names to be understandable. Prefix everything with GST_VIDEO. * ext/aalib/gstaasink.c: * ext/divx/gstdivxdec.c: * ext/divx/gstdivxenc.c: * ext/gdk_pixbuf/gstgdkpixbuf.c: * ext/hermes/gstcolorspace.c: (gst_colorspace_base_init): * ext/jpeg/gstjpegdec.c: (raw_caps_factory): * ext/jpeg/gstjpegenc.c: (raw_caps_factory): * ext/libcaca/gstcacasink.c: * ext/libpng/gstpngenc.c: (raw_caps_factory): * ext/snapshot/gstsnapshot.c: * ext/swfdec/gstswfdec.c: * ext/xvid/gstxviddec.c: * ext/xvid/gstxvidenc.c: * gst/chart/gstchart.c: * gst/deinterlace/gstdeinterlace.c: * gst/effectv/gsteffectv.c: * gst/flx/gstflxdec.c: (gst_flxdec_loop): * gst/goom/gstgoom.c: * gst/median/gstmedian.c: * gst/monoscope/gstmonoscope.c: (gst_monoscope_init), (gst_monoscope_srcconnect), (gst_monoscope_chain): * gst/overlay/gstoverlay.c: * gst/smooth/gstsmooth.c: * gst/smpte/gstsmpte.c: * gst/synaesthesia/gstsynaesthesia.c: * gst/videocrop/gstvideocrop.c: * gst/videodrop/gstvideodrop.c: * gst/y4m/gsty4mencode.c: * sys/qcam/gstqcamsrc.c: * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_palette_to_caps): Make them work with new video.h file. * sys/ximage/ximagesink.c: (gst_ximagesink_chain), (gst_ximagesink_buffer_free), (gst_ximagesink_buffer_alloc): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain), (gst_xvimagesink_buffer_free), (gst_xvimagesink_buffer_alloc): Make it work with new buffer allocation system. 2004-01-11 Julien MOUTTE * ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_chain): Fixing the pad_alloc_buffer implementation to use ->srcpad * ext/hermes/gstcolorspace.c: (gst_colorspace_chain): Fixing the pad_alloc_buffer implementation to use ->srcpad * gst/videoscale/gstvideoscale.c: (gst_videoscale_chain): Fixing the pad_alloc_buffer implementation to use ->srcpad * sys/ximage/ximagesink.c: (gst_ximagesink_ximage_new), (gst_ximagesink_chain), (gst_ximagesink_buffer_free), (gst_ximagesink_buffer_alloc): Now only use GST_BUFFER_PRIVATE to keep a reference to everything we need. * sys/ximage/ximagesink.h: adding a reference to the sink in the image. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new), (gst_xvimagesink_chain), (gst_xvimagesink_buffer_free), (gst_xvimagesink_buffer_alloc): Now only use GST_BUFFER_PRIVATE to keep a reference to everything we need. * sys/xvimage/xvimagesink.h: adding a reference to the sink in the image 2004-01-11 David Schleef * ext/divx/gstdivxenc.c: remove bogus gst_caps_is_fixed() test * gst/debug/efence.c: (gst_efence_chain), (gst_fenced_buffer_new), (gst_fenced_buffer_default_copy): Fix for rename of buffer private structure members. * gst/effectv/gstwarp.c: (gst_warptv_setup): Don't reset the time value during a resize/renegotiation. * gst/videofilter/gstvideofilter.c: (gst_videofilter_chain): use gst_pad_alloc_buffer(); * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_get), (gst_v4lmjpegsrc_buffer_free): Fix for rename of buffer private structure members. * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_get), (gst_v4lsrc_buffer_free): Fix for rename of buffer private structure members. * sys/ximage/ximagesink.c: (gst_ximagesink_chain), (gst_ximagesink_buffer_free), (gst_ximagesink_buffer_alloc): Fix for rename of buffer private structure members. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain), (gst_xvimagesink_buffer_free), (gst_xvimagesink_buffer_alloc): Fix for rename of buffer private structure members. 2004-01-11 Arwed v. Merkatz reviewed by: David Schleef * gst/videofilter/Makefile.am: * gst/videofilter/gstgamma.c: Gamma correction filter. Modified from the patch by ds to fit in with recent make_filter changes. 2004-01-11 Julien MOUTTE * configure.ac: Adding examples/switch/Makefile * examples/Makefile.am: Adding examples/switch * examples/switch/Makefile.am: Adding switcher example. * examples/switch/switcher.c: (got_eos), (idle_iterate), (switch_timer), (main): Adding an example demonstrating switch usage with 2 videotestsrc showing different patterns. * gst/switch/gstswitch.c: (gst_switch_request_new_pad), (gst_switch_init): Fixing switch with the new caps system. 2004-01-11 Benjamin Otte * gst-libs/gst/video/video.h: Fix 32bit caps. Issue remaining: The macro names are chosen poorly. They should probably be like GST_VIDEO_PAD_TEMPLATE_CAPS_{RGB,BGR,RGBx,BGRx}. 2004-01-11 Benjamin Otte * gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header), (qtdemux_parse_trak): fix audio chunk size/timestamp calculation 2004-01-11 Benjamin Otte * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps): fix SVQ3 caps 2004-01-11 Steve Baker * gst/effectv/gstaging.c: (gst_agingtv_get_type), (gst_agingtv_base_init), (gst_agingtv_class_init), (gst_agingtv_init), (gst_agingtv_setup), (gst_agingtv_rgb32), (gst_agingtv_set_property), (gst_agingtv_get_property): Port agingTV to videofilter 2004-01-09 Julien MOUTTE * ext/hermes/gstcolorspace.c: (gst_colorspace_chain): Implementing gst_pad_alloc_buffer to use optimized buffer allocation. 2004-01-09 Julien MOUTTE * ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_chain): Implementing gst_pad_alloc_buffer to use optimized buffer allocation. * gst-libs/gst/xoverlay/xoverlay.c: (gst_x_overlay_got_desired_size): Updating doc for the xid being 0. * gst/videoscale/gstvideoscale.c: (gst_videoscale_chain): Implementing gst_pad_alloc_buffer to use optimized buffer allocation. * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_get): Implementing gst_pad_alloc_buffer to use optimized buffer allocation. * sys/ximage/ximagesink.c: (gst_ximagesink_chain), (gst_ximagesink_buffer_free), (gst_ximagesink_buffer_alloc), (gst_ximagesink_set_xwindow_id), (gst_ximagesink_init): Implementing the bufferalloc_function to replace bufferpools, fixing the XOverlay interface implementation to handle xid being 0 and fix some bugs triggered by Benjamin's testcase. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain), (gst_xvimagesink_buffer_free), (gst_xvimagesink_buffer_alloc), (gst_xvimagesink_set_xwindow_id), (gst_xvimagesink_init): Implementing the bufferalloc_function to replace bufferpools, fixing the XOverlay interface implementation to handle xid being 0 and fix some bugs triggered by Benjamin's testcase. 2004-01-09 David Schleef * ext/librfb/gstrfbsrc.c: Hacking. Added actual decoding and mouse pointer events. It works. 2004-01-09 Ronald Bultje * ext/divx/gstdivxenc.c: (gst_divxenc_init): Use explicit caps - fix capsnego. * ext/xvid/gstxviddec.c: * ext/xvid/gstxvidenc.c: Remove macro-inside-macro which caused compile errors. * gst-libs/gst/riff/riff-read.c: (gst_riff_read_header): Error out if it's not a RIFF file. Else we error out without gst_element_error() which is not good... 2004-01-08 David Schleef * 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-08 David Schleef * gst/videodrop/gstvideodrop.c: (gst_videodrop_getcaps), (gst_videodrop_link), (gst_videodrop_init): Fix negotiation. 2004-01-08 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents): A configure event is not emiting the desired size signal. That fixes aspect ratio issues with gst-player. 2004-01-08 Ronald Bultje * gst/median/gstmedian.c: (gst_median_link), (gst_median_init): Fix capsnego. 2004-01-08 Julien MOUTTE * ext/sdl/sdlvideosink.c: (gst_sdlvideosink_create): Using XOverlay public method to fire size signal. 2004-01-07 Julien MOUTTE * examples/gstplay/Makefile.am: Adding the interface library. * gst-libs/gst/play/Makefile.am: Adding the interface library. * gst-libs/gst/play/gstplay.c: (gst_play_set_video_sink): Connecting to the XOverlay size signal instead of GstVideoSink. * gst-libs/gst/play/gstplay.h: Including the XOverlay interface to check GST_IS_X_OVERLAY before signal connect. * gst-libs/gst/video/gstvideosink.c: (gst_videosink_class_init): Removing the have_video_size signal. * gst-libs/gst/video/gstvideosink.h: Removing the have_video_size signal and associated public method. * sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents), (gst_ximagesink_sinkconnect): Using XOverlay public method to fire size signal. * sys/xvideo/xvideosink.c: (gst_xvideosink_sinkconnect), (gst_xvideosink_xwindow_new): Using XOverlay public method to fire size signal. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_sinkconnect): Using XOverlay public method to fire size signal. 2004-01-07 David Schleef * gst/videofilter/Makefile.am: * gst/videofilter/gstvideotemplate.c: * gst/videofilter/make_filter: Create gstvideoexample.c in a srcdir!=builddir friendly way. Convert make_filter to /bin/sh script. 2004-01-07 Thomas Vander Stichele * gst/modplug/gstmodplug.cc: fix element description 2004-01-07 Julien MOUTTE * examples/gstplay/player.c: (got_time_tick), (got_stream_length), (got_video_size): Adding some new lines in g_print calls. * sys/ximage/ximagesink.c: (gst_ximagesink_xwindow_new), (gst_ximagesink_xwindow_destroy), (gst_ximagesink_xwindow_resize), (gst_ximagesink_handle_xevents), (gst_ximagesink_fixate), (gst_ximagesink_sinkconnect), (gst_ximagesink_change_state), (gst_ximagesink_chain), (gst_ximagesink_buffer_new), (gst_ximagesink_set_xwindow_id), (gst_ximagesink_get_desired_size): Complete code review, reverting some stuff i disagree with, adding some fixes : time synchronization on invalid timestamps, renegotiation of private window. * sys/ximage/ximagesink.h: * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xwindow_destroy), (gst_xvimagesink_xwindow_resize), (gst_xvimagesink_handle_xevents), (gst_xvimagesink_get_xv_support), (gst_xvimagesink_xcontext_get), (gst_xvimagesink_fixate), (gst_xvimagesink_sinkconnect), (gst_xvimagesink_change_state), (gst_xvimagesink_chain), (gst_xvimagesink_buffer_new), (gst_xvimagesink_navigation_send_event), (gst_xvimagesink_set_xwindow_id), (gst_xvimagesink_get_desired_size), (gst_xvimagesink_xoverlay_init): Complete code review, reverting some stuff i disagree with, adding some fixes : Renegotiation of private window, implementing get_desired_size. 2004-01-07 Ronald Bultje * ext/audiofile/gstafsink.c: (gst_afsink_init), (gst_afsink_chain), (gst_afsink_handle_event): * ext/jpeg/gstjpegenc.c: (gst_jpegenc_init): * gst/avi/gstavimux.c: (gst_avimux_request_new_pad): * sys/dxr3/dxr3audiosink.c: (dxr3audiosink_init): * sys/dxr3/dxr3spusink.c: (dxr3spusink_init): * sys/dxr3/dxr3videosink.c: (dxr3videosink_init): Fix for instantiate-test (see core). Also remove dead code from jpegenc (which still needs fixing, but that's lower on my TODO list...). * sys/v4l2/gstv4l2src.c: (gst_v4l2src_getcaps): Never return NULL as caps. 2004-01-07 David Schleef * configure.ac: * ext/Makefile.am: * ext/librfb/Makefile.am: * ext/librfb/gstrfbsrc.c: New source plugin based on librfb-0.1. RFB (remote framebuffer) is the protocol used by VNC. 2004-01-07 David Schleef * gst/videofilter/gstvideotemplate.c: * gst/videofilter/gstvideotemplate.h: * gst/videofilter/make_filter: Merge videotemplate header into source file. * gst/effectv/Makefile.am: * gst/effectv/gsteffectv.c: (plugin_init): * gst/effectv/gstwarp.c: Make warpTV a subclass of videofilter. 2004-01-07 Benjamin Otte * ext/mad/gstid3tag.c: (gst_mad_id3_to_tag_list): Add guard against invalid utf-8 conversions in mad. Just in case. 2004-01-07 Benjamin Otte * sys/oss/gstosssink.c: (gst_osssink_sink_fixate): Fix for bug shown by poisoning 2004-01-06 Ronald Bultje * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_get), (gst_v4lmjpegsrc_buffer_free): * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_palette_to_caps), (gst_v4lsrc_srcconnect), (gst_v4lsrc_getcaps), (gst_v4lsrc_get), (gst_v4lsrc_buffer_free): Fix for removed bufferpools. 2004-01-07 Jan Schmidt * ext/dv/gstdvdec.c: (gst_dvdec_loop): Fix caps negotiation. * ext/dvdnav/dvdnavsrc.c: (dvdnavsrc_class_init), (dvdnavsrc_update_buttoninfo), (dvdnavsrc_get), (dvdnavsrc_get_event_mask), (dvdnav_handle_navigation_event), (dvdnavsrc_event): * ext/mpeg2dec/gstmpeg2dec.c: * gst-libs/gst/navigation/navigation.c: (gst_navigation_send_key_event), (gst_navigation_send_mouse_event): * gst-libs/gst/navigation/navigation.h: * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_handle_src_event): * sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents): Super-simple first version of mouse and keyboard events. Clicking on a DVD menu now works, although it may not take you where you expected. * gst/sine/gstsinesrc.c: (gst_sinesrc_src_fixate): * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_src_fixate): These fixate functions were broken - they never actually fixated :) 2004-01-06 Ronald Bultje * ext/shout/gstshout.c: (gst_icecastsend_base_init), (gst_icecastsend_init): fix for new caps system. * gst-libs/gst/mixer/mixertrack.h: * sys/oss/gstossmixer.c: (gst_ossmixer_build_list): Add 'master track' flag (for tools like ACME that only want to change the main volume). 2004-01-07 Jan Schmidt * ext/xvid/gstxvid.c: (gst_xvid_structure_to_csp), (gst_xvid_csp_to_caps): * ext/xvid/gstxviddec.c: (gst_xviddec_src_getcaps): * ext/xvid/gstxvidenc.c: ifdef out ARGB type when it isn't available in xvidcore 1.0.0beta2 2004-01-06 Ronald Bultje * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_loop): When we have received a new SCR right in the first buffer after a seek (so in the same cycle that handles the discont), we should handle the buffer instead of unreffing it, else we lose data. 2004-01-06 Iain * gst/intfloat/gstint2float.c (gst_int2float_link): Set the buffer-frames caps too. * gst/oneton/gstoneton.c (gst_oneton_sink_connect): Only create the new caps that we need, don't destroy them all and rebuild them. And when creating src pads, use the src pad template rather than the sink... 2004-01-05 Ronald Bultje * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_parse_syshead): Add pad to element *after* setting functions such as event handler. Without this, the scheduler (opt) will link pads, set the event handler from the default event function (dispatcher in gstpad.c) and *after* that, we will set our own event function, which will thus never be used (and thus mpegdemux doesn't handle events). 2004-01-04 David Schleef Fix the fixate functions to handle new prototype: * gst/sine/gstsinesrc.c: (gst_sinesrc_src_fixate): * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_src_fixate): * sys/oss/gstosssink.c: (gst_osssink_sink_fixate): * sys/ximage/ximagesink.c: (gst_ximagesink_fixate): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_fixate): 2004-01-04 Benjamin Otte * sys/ximage/ximagesink.h: * sys/ximage/ximagesink.c: (gst_ximagesink_xwindow_new), (gst_ximagesink_xwindow_destroy), (gst_ximagesink_sinkconnect), (gst_ximagesink_change_state), (gst_ximagesink_set_xwindow_id), (gst_ximagesink_xoverlay_init): assorted fixes to make (re)embedding work * sys/ximage/ximagesink.c: (gst_ximagesink_sinkconnect), (gst_ximagesink_get_desired_size): implement desired size additions to XOverlay 2004-01-04 Benjamin Otte * gst-libs/gst/xoverlay/xoverlay.c: (gst_x_overlay_base_init), (gst_x_overlay_got_xwindow_id), (gst_x_overlay_get_desired_size), (gst_x_overlay_got_desired_size): * gst-libs/gst/xoverlay/xoverlay.h: Add optional "desired size" signal and querying. 2004-01-04 Ronald Bultje * gst/matroska/matroska-demux.c: (gst_matroska_demux_parse_blockgroup): Fix EBML-laced block parsing. Diffs are relative to previous lace, not the first lace. Thanks to Mosu from the Matroska team for detecting this. * gst/wavparse/gstwavparse.c: (gst_wavparse_init), (gst_wavparse_parse_fmt), (gst_wavparse_getcaps), (gst_wavparse_handle_sink_event), (gst_wavparse_loop), (gst_wavparse_change_state): * gst/wavparse/gstwavparse.h: Quickfix for capsnego. 2004-01-04 Ronald Bultje * gst/wavenc/gstwavenc.c: (set_property), (gst_wavenc_init): Fix indenting, fix pad creation. 2004-01-04 Ronald Bultje * ext/xvid/gstxviddec.c: (gst_xviddec_init), (gst_xviddec_src_getcaps), (gst_xviddec_src_link), (gst_xviddec_sink_link): Implement src_getcaps() so proper size caps is negotiated. 2004-01-04 Ronald Bultje * ext/flac/gstflacdec.c: (gst_flacdec_loop): Finish flac decoder on EOS. See #116178. 2004-01-04 Ronald Bultje * gst/matroska/matroska-demux.c: (gst_matroska_demux_src_getcaps), (gst_matroska_demux_add_stream): * gst/matroska/matroska-ids.h: Add getcaps() function to fix capsnego... 2004-01-04 Ronald Bultje * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_parse_syshead), (gst_mpeg_demux_parse_packet), (gst_mpeg_demux_parse_pes): * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_parse_packhead): Fix more integer overflows. Again, see #126967. 2004-01-03 Ronald Bultje * ext/mpeg2dec/gstmpeg2dec.c: Add support for mpeg2dec-0.4.0 (released two weeks ago). See #130416. 2004-01-03 Ronald Bultje * configure.ac: * ext/xvid/gstxvid.c: (gst_xvid_init), (gst_xvid_error), (gst_xvid_structure_to_csp), (gst_xvid_csp_to_caps): * ext/xvid/gstxvid.h: * ext/xvid/gstxviddec.c: (gst_xviddec_class_init), (gst_xviddec_init), (gst_xviddec_setup), (gst_xviddec_chain), (gst_xviddec_src_link), (gst_xviddec_sink_link), (gst_xviddec_change_state): * ext/xvid/gstxviddec.h: * ext/xvid/gstxvidenc.c: (gst_xvidenc_profile_get_type), (gst_xvidenc_base_init), (gst_xvidenc_class_init), (gst_xvidenc_init), (gst_xvidenc_setup), (gst_xvidenc_chain), (gst_xvidenc_link), (gst_xvidenc_set_property), (gst_xvidenc_get_property), (gst_xvidenc_change_state): * ext/xvid/gstxvidenc.h: Update xvid plugin to latest xvid (1.0.0-beta3) API. 2004-01-03 Ronald Bultje * gst/rtp/rtp-packet.c: Add sys/types.h include, since OS X doesn't define in_addr_t in netinet/in.h, like it does on Linux (see #129600). 2004-01-03 Thomas Canty reviewed by: Ronald Bultje * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_dispose): Correct logic of dispose function (see #129306). 2004-01-03 Ronald Bultje * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_parse_pes): * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_class_init), (gst_mpeg_parse_init): * gst/mpegstream/gstmpegparse.h: Remove clock (which was never provided, i.e. dead code), and also fix integer overflows at high PTS values (see #126967). 2004-01-03 Ronald Bultje * ext/flac/gstflacdec.c: * ext/libpng/gstpngenc.h: * ext/mikmod/gstmikmod.h: OS X fixes (see #126628). 2004-01-02 David Schleef * ext/alsa/gstalsasrc.c: (gst_alsa_src_pad_factory), (gst_alsa_src_base_init): Remove bogus "src" request pad. * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_base_init), (gst_mpeg_parse_class_init): Move pad template registration to class_init, since the derived class (mpegdemux) doesn't want them. 2004-01-03 Ronald Bultje * sys/ximage/Makefile.am: * sys/xvideo/Makefile.am: * sys/xvimage/Makefile.am: Move interface libs from LDFLAGS to LIBADD, fix relocation errors after installation (see #127664). 2004-01-02 David Schleef * 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 Ronald Bultje * sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_init): * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_init): * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_base_init), (gst_v4lsrc_init): Fix pad template stuff. 2004-01-02 Ronald Bultje * gst/matroska/ebml-read.c: (gst_ebml_read_sint): * gst/matroska/ebml-write.c: (gst_ebml_write_sint): fix signed integer reading/writing. 2004-01-02 Benjamin Otte * ext/alsa/README: Remove outdated document 2004-01-03 Jan Schmidt * gst/cutter/gstcutter.c: (gst_cutter_init): src pad was being created twice - oops. 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