=== release 0.10.6 === 2007-06-18 Jan Schmidt * configure.ac: releasing 0.10.6, "Wobble Board" 2007-06-17 Tim-Philipp Müller * gst/rtsp/rtspconnection.c: (rtsp_connection_connect), (rtsp_connection_free): Revert previous commit again, since we are frozen (sorry). 2007-06-17 Tim-Philipp Müller Patch by: Peter Kjellerstedt * gst/rtsp/rtspconnection.c: (rtsp_connection_connect), (rtsp_connection_free): inet_ntoa() uses a static buffer internally, so we need to copy the returned string if we want to store it for later (#447961). 2007-06-15 Jan Schmidt * win32/vs6/autogen.dsp: * win32/vs6/gst_plugins_good.dsw: * win32/vs6/libgstalaw.dsp: * win32/vs6/libgstalpha.dsp: * win32/vs6/libgstalphacolor.dsp: * win32/vs6/libgstapetag.dsp: * win32/vs6/libgstaudiofx.dsp: * win32/vs6/libgstauparse.dsp: * win32/vs6/libgstautodetect.dsp: * win32/vs6/libgstavi.dsp: * win32/vs6/libgstcutter.dsp: * win32/vs6/libgstdirectdraw.dsp: * win32/vs6/libgstdirectsound.dsp: * win32/vs6/libgsteffectv.dsp: * win32/vs6/libgstflx.dsp: * win32/vs6/libgstgoom.dsp: * win32/vs6/libgsticydemux.dsp: * win32/vs6/libgstid3demux.dsp: * win32/vs6/libgstinterleave.dsp: * win32/vs6/libgstjpeg.dsp: * win32/vs6/libgstlevel.dsp: * win32/vs6/libgstmatroska.dsp: * win32/vs6/libgstmedian.dsp: * win32/vs6/libgstmonoscope.dsp: * win32/vs6/libgstmulaw.dsp: * win32/vs6/libgstmultipart.dsp: * win32/vs6/libgstqtdemux.dsp: * win32/vs6/libgstrtp.dsp: * win32/vs6/libgstrtsp.dsp: * win32/vs6/libgstsmpte.dsp: * win32/vs6/libgstspeex.dsp: * win32/vs6/libgstudp.dsp: * win32/vs6/libgstvideobalance.dsp: * win32/vs6/libgstvideobox.dsp: * win32/vs6/libgstvideocrop.dsp: * win32/vs6/libgstvideoflip.dsp: * win32/vs6/libgstvideomixer.dsp: * win32/vs6/libgstwaveform.dsp: * win32/vs6/libgstwavenc.dsp: * win32/vs6/libgstwavparse.dsp: Mark *.dsp & *.dsw as binary files and convert to DOS line endings, as they don't load into VS6 correctly otherwise. 2007-06-15 Jan Schmidt * gst/rtsp/rtspconnection.c: (rtsp_connection_create), (rtsp_connection_connect): Fix the MingW build. Patch By: Vincent Torri Fixes: #446981 2007-06-14 Jan Schmidt * tests/check/elements/.cvsignore: * tests/icles/.cvsignore: Hush the buildbots up 2007-06-14 Jan Schmidt * configure.ac: * sys/Makefile.am: * sys/directdraw/Makefile.am: * sys/directsound/Makefile.am: * sys/waveform/Makefile.am: Make sure to dist everything needed for win32 builds. 2007-06-14 Edward Hervey * gst/qtdemux/qtdemux.c: (qtdemux_parse_trak): For AMR-NB streams, export the AMRSpecificBox as codec_data on the caps. Fixes #447458 2007-06-13 Wim Taymans * gst/rtp/gstrtph264depay.c: (gst_rtp_h264_depay_setcaps): Make sure we allocate enough memory for the codec_data. Fixes #447210. 2007-06-12 Sebastien Moutte * win32/MANIFEST: Add videocrop project file to the win32 manifest. * win32/vs6/gst_plugins_good.dsw: Add qtdemux,videocrop and waveform projects to the workspace. * win32/vs6/libgstqtdemux.dsp: Add zlib to the link list of qtdemux. * win32/vs6/libgstvideocrop.dsp: Add a project file for videocrop. 2007-06-12 Jan Schmidt * po/POTFILES.in: Add qtdemux for translation 2007-06-12 Jan Schmidt * configure.ac: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * docs/plugins/inspect/plugin-videocrop.xml: * gst-plugins-good.spec.in: * sys/Makefile.am: * tests/check/Makefile.am: * tests/icles/Makefile.am: * tests/icles/videocrop-test.c: Move videocrop and osxvideo from -bad. 2007-06-12 Jan Schmidt * configure.ac: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * docs/plugins/gst-plugins-good-plugins.args: * docs/plugins/inspect/plugin-qtdemux.xml: * docs/plugins/inspect/plugin-quicktime.xml: * win32/MANIFEST: Move qtdemux from -bad. * gst-plugins-good.spec.in: Update spec file to reflect moving of qtdemux and wavpack 2007-06-12 Jan Schmidt * win32/MANIFEST: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * docs/plugins/inspect/plugin-directdraw.xml: * docs/plugins/inspect/plugin-directsound.xml: * docs/plugins/inspect/plugin-waveform.xml: Move the waveform plugin from -bad too. Update the inspect xml files to mention Plugins Good instead of Plugins Bad. 2007-06-12 Andy Wingo * sys/v4l2/v4l2src_calls.c (gst_v4l2_buffer_finalize) (gst_v4l2_buffer_class_init, gst_v4l2_buffer_get_type) (gst_v4l2_buffer_new): Behave more like ximagesink's buffers, with finalization and resuscitation. No longer public. (gst_v4l2_buffer_pool_finalize, gst_v4l2_buffer_pool_init) (gst_v4l2_buffer_pool_class_init, gst_v4l2_buffer_pool_get_type) (gst_v4l2_buffer_pool_new, gst_v4l2_buffer_pool_activate) (gst_v4l2_buffer_pool_destroy): Make the pool follow common miniobject semantics, and be threadsafe. (gst_v4l2src_queue_frame): Remove this function, as we just call the ioctls directly in the two places where we queue buffers. (gst_v4l2src_grab_frame): Return a flowreturn and fill the buffer directly. (gst_v4l2src_capture_init): Use the new buffer_pool_new function to allocate the pool, which also preallocates the GstBuffers. (gst_v4l2src_capture_start): Call buffer_pool_activate instead of queueing the frames directly. (gst_v4l2src_grab_frame): Return a copy of the pool buffer if all mmap buffers have been dequeued. * sys/v4l2/gstv4l2src.h (struct _GstV4l2BufferPool): Make this a real MiniObject instead of rolling our own refcounting and finalizing. Give it a lock. (struct _GstV4l2Buffer): Remove one intermediary object, having the buffers hold the struct v4l2_buffer directly. * sys/v4l2/gstv4l2src.c (gst_v4l2src_set_caps): Pass the caps to capture_init so that it can set them on the buffers that it will create. (gst_v4l2src_get_read): For better or for worse, include the timestamping and offsetting code here; really we should be using bufferalloc though. (gst_v4l2src_get_mmap): Just make grab_frame return one of our preallocated, mmap'd buffers. 2007-06-11 Wim Taymans Patch by: daniel fischer * sys/ximage/gstximagesrc.c: (gst_ximage_src_start), (gst_ximage_src_get_caps): Actually use the display_name property so that we can dump any available X display. Fixes #445905. 2007-06-11 Wim Taymans Patch by: Tommi Myöhänen * gst/rtp/gstrtppcmadepay.c: (gst_rtp_pcma_depay_setcaps): * gst/rtp/gstrtppcmudepay.c: (gst_rtp_pcmu_depay_setcaps): Add missing rate fields to caps. Fixes #441118. 2007-06-10 Sebastien Moutte * win32/vs6/gst_plugins_good.dsw: * win32/vs8/gst-plugins-good.sln: Add DirectSound and DirectDraw sinks project files to workspace and solution files. 2007-06-10 Sebastian Dröge Patch by: Josh Coalson , updated by Alexis Ballier : * configure.ac: * ext/flac/gstflacdec.c: (gst_flac_dec_reset_decoders), (gst_flac_dec_setup_seekable_decoder), (gst_flac_dec_setup_stream_decoder), (gst_flac_dec_seek), (gst_flac_dec_tell), (gst_flac_dec_length), (gst_flac_dec_eof), (gst_flac_dec_read_seekable), (gst_flac_dec_read_stream): * ext/flac/gstflacdec.h: * ext/flac/gstflacenc.c: (gst_flac_enc_init), (gst_flac_enc_finalize), (gst_flac_enc_set_metadata), (gst_flac_enc_sink_setcaps), (gst_flac_enc_update_quality), (gst_flac_enc_seek_callback), (gst_flac_enc_write_callback), (gst_flac_enc_tell_callback), (gst_flac_enc_sink_event), (gst_flac_enc_chain), (gst_flac_enc_set_property), (gst_flac_enc_get_property), (gst_flac_enc_change_state): * ext/flac/gstflacenc.h: Add support for flac >= 1.1.3 which changed the API. Fixes bug #385887. 2007-06-09 Sebastian Dröge * ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_sink_set_caps): Remove workaround for bug #421543. This is fixed in core 0.10.13 and not necessary anymore as we need at least that core version. 2007-06-09 Sebastian Dröge * ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_reset), (gst_wavpack_dec_chain): * ext/wavpack/gstwavpackdec.h: * ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_reset), (gst_wavpack_parse_push_buffer): * ext/wavpack/gstwavpackparse.h: Improve discont handling by checking if the next Wavpack block has the expected, following block index. 2007-06-08 Thomas Vander Stichele * gst/rtp/gstrtpmp4vpay.c (gst_rtp_mp4vpay_details): Fix element description. 2007-06-08 Thomas Vander Stichele * configure.ac: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * docs/plugins/gst-plugins-good-plugins.args: * docs/plugins/gst-plugins-good-plugins.hierarchy: * docs/plugins/gst-plugins-good-plugins.signals: * docs/plugins/inspect/plugin-autodetect.xml: * docs/plugins/inspect/plugin-gconfelements.xml: * docs/plugins/inspect/plugin-ladspa.xml: * docs/plugins/inspect/plugin-rtp.xml: * docs/plugins/inspect/plugin-wavpack.xml: * ext/Makefile.am: * tests/check/Makefile.am: move wavpack plugin. See #352605. 2007-06-08 Jan Schmidt * configure.ac: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * docs/plugins/gst-plugins-good-plugins.args: * sys/Makefile.am: * win32/MANIFEST: Add DirectDraw & DirectSound plugins to the build and docs. 2007-06-08 Tim-Philipp Müller * ext/dv/gstdvdemux.c: (gst_dvdemux_loop): * ext/libpng/gstpngdec.c: (user_read_data), (gst_pngdec_task): When operating in pull mode, error out correct on not-linked. 2007-06-06 Andy Wingo * sys/v4l2/v4l2src_calls.c (gst_v4l2src_probe_caps_for_format) (gst_v4l2src_probe_caps_for_format_and_size): Only probe for format and size if the ioctls are defined; should fix compilation on Linux < 2.16.19. 2007-06-06 Tim-Philipp Müller * gst/videobox/gstvideobox.c: (gst_video_box_ayuv_i420): Printf fixes in debug statements; use LOG level for debug statements that are printed for each and every frame; convert c++ comments to C-style comments; not much point using g_try_malloc() if we then not even check the return value. 2007-06-05 Tim-Philipp Müller * configure.ac: Bump requirements to released versions (core and base 0.10.13). * gst/icydemux/gsticydemux.c: (gst_icydemux_unicodify): Use gst_tag_utf8_from_freeform_string() from libgsttag instead of own implementation. 2007-06-05 Andy Wingo * sys/v4l2/gstv4l2src.c (gst_v4l2src_start, gst_v4l2src_stop): Add some useless comments. * sys/v4l2/v4l2src_calls.c (gst_v4l2src_capture_init): Don't queue frames before calling STREAMON, that might leave them in a state where they can't be dequeued if we go back to NULL without calling STREAMON, according to the docs. (gst_v4l2src_capture_start): Enqueue buffers here instead, right before we call STREAMON. (gst_v4l2src_capture_deinit): Remove crack to work around dequeue failures. (For me this code hung.) The pool refcounting is still crack; added a note to that effect. 2007-06-05 Wim Taymans * gst/multipart/multipartmux.c: (gst_multipart_mux_class_init), (gst_multipart_mux_get_mime), (gst_multipart_mux_collected): Add support for mapping gst structure names to the MIME type equivalent. Implemented for audio/x-mulaw->audio/basic. Fixes #442874. 2007-06-03 Sebastian Dröge * gst/wavenc/gstwavenc.c: (gst_wavenc_create_header_buf), (gst_wavenc_sink_setcaps), (gst_wavenc_format_samples), (gst_wavenc_chain), (gst_wavenc_change_state): * gst/wavenc/gstwavenc.h: Properly write wav files with width!=depth by having the depth most significant bytes set and all others zero. Fixes #442535. 2007-06-01 Wim Taymans * gst/rtsp/rtspconnection.c: Add include to make buildbot happy. 2007-06-01 Wim Taymans Patch by: Peter Kjellerstedt * gst/rtsp/rtspconnection.c: (rtsp_connection_create), (rtsp_connection_connect), (add_date_header), (rtsp_connection_send), (parse_response_status), (parse_request_line), (parse_line), (rtsp_connection_receive): * gst/rtsp/rtspdefs.c: (rtsp_version_as_text): * gst/rtsp/rtspdefs.h: * gst/rtsp/rtspmessage.c: (key_value_foreach), (rtsp_message_init_request), (rtsp_message_init_response), (rtsp_message_remove_header), (rtsp_message_append_headers), (rtsp_message_dump): * gst/rtsp/rtspmessage.h: Improves version checking, allowing an RTSP server to reply with "505 RTSP Version not supported. Adds a Date header to all messages. Replies with RTSP_EPARSE rather than RTSP_EINVALID in cases where we want to be able to send a response even if something in the request was invalid. EINVAL is only used when passing wrong arguments to functions. Do not handle an invalid method in parse_request_line(). Defer this to the caller so it can respond with "405 Method Not Allowed". Improves parsing of the timeout parameter to the Session header, allowing whitespace after the semicolon. Avoids a compiler warning due to variables shadowing a function argument. 2007-06-01 Wim Taymans Based on Patch by: Daniel Charles * gst/rtp/gstrtpamrdepay.c: (gst_rtp_amr_depay_setcaps), (gst_rtp_amr_depay_process): * gst/rtp/gstrtpamrdepay.h: * gst/rtp/gstrtpamrpay.c: (gst_rtp_amr_pay_base_init), (gst_rtp_amr_pay_class_init), (gst_rtp_amr_pay_init), (gst_rtp_amr_pay_setcaps), (gst_rtp_amr_pay_handle_buffer): * gst/rtp/gstrtpamrpay.h: Add support for AMR-WB. Small cleanups such as using BOILERPLATE. 2007-05-31 Wim Taymans * gst/rtsp/rtspextwms.c: (rtsp_ext_wms_configure_stream): Fix compile warning when debug is disabled as spotted bu Saur on IRC. 2007-05-30 Andy Wingo * sys/v4l2/gstv4l2object.h: * sys/v4l2/gstv4l2object.c (gst_v4l2_object_new): Revert some unintended changes. * sys/v4l2/v4l2src_calls.h: * sys/v4l2/v4l2src_calls.c (gst_v4l2src_fill_format_list): Store the format list in the order that the driver gives it to us. (gst_v4l2src_probe_caps_for_format_and_size) (gst_v4l2src_probe_caps_for_format): New functions, fill GstCaps based on the capabilities of the device. (gst_v4l2src_grab_frame): Update for object variable renaming. (gst_v4l2src_set_capture): Update to be strict in its parameters, as in the set_caps below. (gst_v4l2src_capture_init): Update for object variable renaming, and reflow. (gst_v4l2src_capture_start, gst_v4l2src_capture_stop) (gst_v4l2src_capture_deinit): Update for object variable renaming. (gst_v4l2src_update_fps, gst_v4l2src_set_fps) (gst_v4l2src_get_fps): Remove; these functions don't have much meaning outside of an atomic set_caps method. (gst_v4l2src_buffer_new): Don't set buffer duration, it is not known. * sys/v4l2/gstv4l2tuner.c (gst_v4l2_tuner_set_channel): Remove call to update_fps; not sure about this change. (gst_v4l2_tuner_set_norm): Work around the fact that for the moment we don't have an update_fps_func. * sys/v4l2/gstv4l2src.h (struct _GstV4l2Src): Don't put v4l2 structures in the object, just store what we need. Do store the probed caps of the device. Don't store the current frame rate. * sys/v4l2/gstv4l2src.c (gst_v4l2src_init): Remove the update_fps_function, for now. Update for new object variable naming. (gst_v4l2src_set_property, gst_v4l2src_get_property): Update for new object variable naming. (gst_v4l2src_v4l2fourcc_to_structure): Rename from ..._to_caps. (gst_v4l2_structure_to_v4l2fourcc): Rename from ...caps_to_.... (gst_v4l2src_get_caps): Rework to probe the device for supported frame sizes and frame rates. (gst_v4l2src_set_caps): Rework to be strict in the given parameters: if someone asks us to have a certain size and rate, that is what we configure. (gst_v4l2src_get_read): Update for object variable naming. Don't leak buffers on short reads. (gst_v4l2src_get_mmap): Update for object variable naming, and add comments. (gst_v4l2src_create): Update for object variable naming. 2007-05-30 Tim-Philipp Müller * gst/avi/gstavidemux.c: (gst_avi_demux_base_init), (gst_avi_demux_reset), (gst_avi_demux_parse_stream): * gst/avi/gstavidemux.h: Parse subtitle text streams instead of erroring out (#442034). Still needs a parser for the subtitles to actually show up. 2007-05-30 Tim-Philipp Müller * gst/avi/gstavidemux.c: (gst_avi_demux_push_event), (gst_avi_demux_loop): Make _push_event() return TRUE if the event could be pushed on at least one pad and not only if it could be pushed on all pads, otherwise we'll end up posting an error message on EOS if one or more source pads are not connected. 2007-05-28 Wim Taymans * gst/rtsp/rtsptransport.c: Use renamed RTP bin. 2007-05-28 Wim Taymans Based on patch by: Dejan Sakelšak * gst/videobox/gstvideobox.c: (gst_video_box_class_init), (gst_video_box_set_property), (gst_video_box_transform_caps), (video_box_recalc_transform), (gst_video_box_set_caps), (gst_video_box_get_unit_size), (gst_video_box_apply_alpha), (gst_video_box_ayuv_ayuv), (gst_video_box_clear), (UVfloor), (UVceil), (gst_video_box_ayuv_i420), (gst_video_box_i420_ayuv), (gst_video_box_i420_i420), (gst_video_box_transform), (plugin_init): Add AYUV->AYUV and AYUV->I420 formats. Fix negotiation and I420->AYUV conversion. Fixes #429329. 2007-05-26 Wim Taymans * ext/speex/gstspeexdec.c: (speex_dec_chain_parse_data): Use different variables for nested for loops so that the outer loop functions properly and speex files with multiple frames per buffer work properly. Fixes #441408. 2007-05-25 Tim-Philipp Müller * gst/id3demux/gstid3demux.c: (gst_id3demux_sink_event): Don't leak newsegment events. 2007-05-25 Tim-Philipp Müller * gst/wavparse/Makefile.am: Add '-lm' to LIBS for ceil(), don't assume one of our dependencies drags it in. 2007-05-25 Tim-Philipp Müller * ext/flac/gstflacenc.c: (gst_flac_enc_init), (notgst_value_array_append_buffer), (gst_flac_enc_process_stream_headers), (gst_flac_enc_write_callback), (gst_flac_enc_chain), (gst_flac_enc_change_state): * ext/flac/gstflacenc.h: Collect headers, add "streamheader" field to output caps and set BUFFER_IN_CAPS flag on pushed header buffers. That way oggmux produces output according to the official FLAC-to-Ogg mapping instead of completely broken files. Fixes #426044. 2007-05-25 Jan Schmidt * gst/id3demux/gstid3demux.c: (gst_id3demux_reset), (gst_id3demux_send_new_segment), (gst_id3demux_chain), (gst_id3demux_sink_event): * gst/id3demux/gstid3demux.h: * gst/apetag/gsttagdemux.c: (gst_tag_demux_reset), (gst_tag_demux_chain), (gst_tag_demux_sink_event), (gst_tag_demux_send_new_segment): Handle and adjust new-segment events so that downstream really sees a stream with the tag pieces stripped off the front and back. Fixes strangeness in seeking when mp3 decoders use the new-segment byte position to estimate their current playback position timestamp and then the arriving buffers don't match up. 2007-05-25 Jan Schmidt * gst/autodetect/gstautoaudiosink.c: (gst_auto_audio_sink_detect): Don't unnecessarily perform a READY->NULL->READY transition on the detected audio sink when starting up. Fixes: #440127 2007-05-24 Tim-Philipp Müller * ext/flac/gstflacenc.c: (gst_flac_enc_sink_setcaps), (gst_flac_enc_chain): Don't crash in chain function if setcaps hasn't been called. 2007-05-24 Wim Taymans * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_parse_methods): Init value to avoid infinte loops. 2007-05-24 Wim Taymans Patch by: Peter Kjellerstedt * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_setup_auth), (gst_rtspsrc_try_send), (gst_rtspsrc_parse_methods), (gst_rtspsrc_setup_streams), (gst_rtspsrc_open), (gst_rtspsrc_play): (rtsp_connection_send), (rtsp_connection_receive): * gst/rtsp/rtspextwms.c: (rtsp_ext_wms_after_send): Fix for new API. * gst/rtsp/rtspconnection.c: (add_auth_header), Only add authorisation and session headers when sending messages. * gst/rtsp/rtspmessage.c: (key_value_foreach), (rtsp_message_init), (rtsp_message_init_request), (rtsp_message_init_response), (rtsp_message_unset), (rtsp_message_add_header), (rtsp_message_remove_header), (rtsp_message_get_header), (rtsp_message_append_headers), (dump_key_value), (rtsp_message_dump): * gst/rtsp/rtspmessage.h: Add support for multiple headers of the same type by storing the parsed headers in a GArray instaed of a hashtable. 2007-05-21 Wim Taymans * gst/udp/gstudpsrc.c: (gst_udpsrc_class_init), (gst_udpsrc_create), (gst_udpsrc_unlock), (gst_udpsrc_unlock_stop): Since we depend on 0.10.13 -core, override the unlock_stop vmethod for safer shutdown. 2007-05-21 Wim Taymans * gst/rtsp/gstrtpdec.c: (gst_rtp_dec_class_init): * gst/rtsp/gstrtpdec.h: Added signal for backwards compat. 2007-05-21 Sebastian Dröge Patch by: René Stadler * configure.ac: * gst/auparse/gstauparse.c: (gst_au_parse_reset), (gst_au_parse_parse_header), (gst_au_parse_chain): * gst/auparse/gstauparse.h: Use audioconvert for converting from non-native endianness floats in auparse instead of doing it ourself. Fixes #424527. This needs the audioconvert from plugins-base CVS. 2007-05-21 Wim Taymans * gst/rtp/gstrtph263ppay.c: (gst_fragmentation_mode_get_type), (gst_rtp_h263p_pay_flush): Fix enum registration. 2007-05-21 Wim Taymans Patch by: Antoine Tremblay * gst/rtp/gstrtph263ppay.c: (gst_fragmentation_mode_get_type), (gst_rtp_h263p_pay_class_init), (gst_rtp_h263p_pay_init), (gst_rtp_h263p_pay_set_property), (gst_rtp_h263p_pay_get_property), (gst_rtp_h263p_pay_flush): * gst/rtp/gstrtph263ppay.h: Add new fragmentation mode base on GOB headers. Fixes #438940. 2007-05-20 Tim-Philipp Müller * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_loop_udp): Printf format fix. 2007-05-18 Wim Taymans * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_setup_streams): Don't crash when an unsupported transport error was returned by the server, just try to configure the next stream. Fixes #439255. 2007-05-18 Wim Taymans * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_class_init), (gst_rtspsrc_set_property), (gst_rtspsrc_get_property), (gst_rtspsrc_stream_configure_udp), (gst_rtspsrc_loop_interleaved), (gst_rtspsrc_loop_udp), (gst_rtspsrc_try_send), (gst_rtspsrc_send), (gst_rtspsrc_setup_streams), (gst_rtspsrc_open): * gst/rtsp/gstrtspsrc.h: Add TCP timeout property and use it for all TCP connection. * gst/rtsp/rtspconnection.c: (rtsp_connection_connect), (rtsp_connection_write), (rtsp_connection_next_timeout), (rtsp_connection_reset_timeout): Make connect and writes cancelable and make them use the timeout. 2007-05-18 Wim Taymans * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send_keep_alive), (gst_rtspsrc_loop_interleaved), (gst_rtspsrc_loop_udp), (gst_rtspsrc_try_send), (gst_rtspsrc_send), (gst_rtspsrc_setup_streams): Refactor timeout handling. Also send keep-alive when dealing with TCP transport. * gst/rtsp/rtspconnection.c: (rtsp_connection_create), (rtsp_connection_free), (rtsp_connection_next_timeout), (rtsp_connection_reset_timeout): * gst/rtsp/rtspconnection.h: Use a timer to handle the session timeouts, add some methods to deal with timeouts. 2007-05-17 Wim Taymans * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send), (gst_rtspsrc_setup_streams): Ignore streams that fail the setup command, we will retry with a different transport later on. * gst/rtsp/rtspextwms.c: (rtsp_ext_wms_parse_sdp), (rtsp_ext_wms_configure_stream): Fix encoding name case. 2007-05-16 Edward Hervey * ext/libpng/gstpngdec.c: (user_endrow_callback), (user_read_data): Fix build on macosx. 2007-05-16 Sebastian Dröge * ext/raw1394/gstdv1394src.c: (gst_dv1394src_uri_set_uri): Replace direct comparison of a string with the string literal "" with a comparison of the first character with '\0'. Fixes #438926. 2007-05-15 Stefan Kost * gst/debug/breakmydata.c (gst_break_my_data_init): One more try. This should be the proper fix now. 2007-05-15 Stefan Kost * gst/debug/breakmydata.c: Ooops, no // comments please. 2007-05-15 Stefan Kost * gst/debug/breakmydata.c: (gst_break_my_data_class_init), (gst_break_my_data_init): Fix gst_buffer_is_writable() assertion. 2007-05-14 David Schleef * sys/v4l2/gstv4l2src.c: Add support for Bayer images as video/x-raw-bayer. Fixes #314160. 2007-05-14 Wim Taymans * gst/rtp/gstrtptheoradepay.c: (decode_base64), (gst_rtp_theora_depay_parse_configuration): * gst/rtp/gstrtptheorapay.c: (encode_base64), (gst_rtp_theora_pay_finish_headers), (gst_rtp_theora_pay_handle_buffer): Update theora pay/depayloader in a similar to vorbis. * gst/rtp/gstrtpvorbisdepay.c: (gst_rtp_vorbis_depay_parse_configuration): Update docs. 2007-05-14 Wim Taymans * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send): When we try to execute a method that is not supported by the server, don't error out but remove the method from the accepted methods so that we never try to perform this method again. 2007-05-14 Wim Taymans * gst/rtp/gstrtpvorbisdepay.c: (gst_rtp_vorbis_depay_process): Remove annoying _dump_mem. 2007-05-14 Wim Taymans * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_parse_range): Parse range correctly. * gst/rtsp/rtspurl.c: (rtsp_url_get_request_uri): The baseurl now always has a '/' at the start. 2007-05-14 Wim Taymans * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_configure_caps), (gst_rtspsrc_parse_range), (gst_rtspsrc_open), (gst_rtspsrc_parse_rtpinfo), (gst_rtspsrc_play): Factor out caps configuration and configure more stuff such as the time ranges and speed/scale values. * gst/rtsp/rtsptransport.c: Add Copyright after non-trival fixes. 2007-05-12 Wim Taymans Patch by: Peter Kjellerstedt * gst/rtsp/gstrtspsrc.h: * gst/rtsp/rtspconnection.c: (rtsp_connection_receive): * gst/rtsp/rtspmessage.c: (rtsp_message_init_data), (rtsp_message_get_header): * gst/rtsp/rtspmessage.h: Make channel guint8 where possible. Make rtsp_message_init_data() take the channel as a guint8. * gst/rtsp/rtspdefs.c: Fixed a typo: Timout -> Timeout * gst/rtsp/rtspdefs.h: Make RTSP_CHECK() behave as a statement. * gst/rtsp/sdpmessage.c: Avoid a compiler warning in INIT_ARRAY(). Fixes #437692. 2007-05-12 Wim Taymans Patch by: Peter Kjellerstedt * gst/rtsp/rtspurl.c: (rtsp_url_parse), (rtsp_url_free), (rtsp_url_get_request_uri): * gst/rtsp/rtspurl.h: Add support for query parameters to RTSP URLs. 2007-05-12 Wim Taymans Patch by: Peter Kjellerstedt * gst/rtsp/rtsptransport.c: (rtsp_transport_init), (parse_mode), (parse_range), (range_as_text), (rtsp_transport_mode_as_text), (rtsp_transport_profile_as_text), (rtsp_transport_ltrans_as_text), (rtsp_transport_parse), (rtsp_transport_as_text): * gst/rtsp/rtsptransport.h: Add validation to rtsp_transport_parse(). Add rtsp_transport_as_text() to generate an RTSP header from an RTSPTransport. Change ssrc to guint (was a string) since that is what it is, even though it is sent as a hex string. Correctly identify PLAY|RECORD mode parameters (the syntax in the RFC is incorrect, which can be seen when looking at the examples in the RFC). Fixes #437670. 2007-05-11 Zaheer Abbas Merali <> Patch by: Eric Anholt * sys/ximage/gstximagesrc.c (gst_ximage_src_open_display, gst_ximage_src_ximage_get): Use union of all damage between frames to make it faster. Fixes bug #342463. Also fix crasher when cursor is at bottom right of window. 2007-05-11 Tim-Philipp Müller * gst/wavparse/gstwavparse.c: (gst_wavparse_stream_headers): Skip LIST chunks before the fmt chunk (fixes #437499). Also fix streaming mode regression for file from #343837 with 'bext' chunk before the 'fmt' chunk. 2007-05-11 Wim Taymans * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_flush), (gst_rtspsrc_do_seek), (gst_rtspsrc_perform_seek), (gst_rtspsrc_handle_src_event), (gst_rtspsrc_stream_configure_manager), (gst_rtspsrc_stream_configure_tcp), (gst_rtspsrc_loop_interleaved), (gst_rtspsrc_send_keep_alive), (gst_rtspsrc_open), (gst_rtspsrc_parse_rtpinfo), (gst_rtspsrc_play): * gst/rtsp/gstrtspsrc.h: * gst/rtsp/rtspdefs.h: Preliminary seek support. Activate internal pads so that we can receive events on them. Don't try to parse a range string when it's NULL. 2007-05-11 Wim Taymans * gst/rtp/README: Update README with new RTP variables that will be used for synchronisation. * gst/rtp/gstrtpvorbisdepay.c: (decode_base64), (gst_rtp_vorbis_depay_parse_configuration), (gst_rtp_vorbis_depay_process): * gst/rtp/gstrtpvorbispay.c: (encode_base64), (gst_rtp_vorbis_pay_finish_headers), (gst_rtp_vorbis_pay_handle_buffer): Update vorbis pay and depayloader to draft-04. 2007-05-11 Wim Taymans * gst/rtsp/rtsptransport.c: UDP MCAST is actually the default for RTP/AVP. 2007-05-13 Sebastien Moutte * gst/level/gstlevel.c: (gst_level_transform_ip): Use guint8 * instead of gpointer then vs6 can build in_data += (filter->width / 8). 2007-05-11 Zaheer Abbas Merali <> * sys/ximage/gstximagesrc.c (gst_ximage_src_start, gst_ximage_src_ximage_get): * sys/ximage/gstximagesrc.h (last_ximage): When using Damage actually keep the last frame, and not assume that the buffer we get already has the last frame on it. Copy the cursor over if we specify a non-zero start x and start y. 2007-05-11 Wim Taymans * gst/rtsp/rtsptransport.c: Make UDP the default transport when not specified. 2007-05-09 David Schleef * gst/level/gstlevel.c: Revert last change. 2007-05-09 Sebastien Moutte * gst/level/gstlevel.c: (gst_level_calculate_##TYPE), (gst_level_transform_ip): Use guint8 * instead of gpointer then vs6 know the size of data pointed when moving the pointer. * gst/rtp/gstrtph264pay.c: (gst_rtp_h264_pay_handle_buffer): Move instructions after variables declaration. * win32/vs6/autogen.dsp: * win32/vs6/libgstrtp.dsp: * win32/vs6/libgstrtsp.dsp: Update vs6 project files. 2007-05-09 Wim Taymans * gst/rtsp/Makefile.am: * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_handle_src_query), (gst_rtspsrc_send_keep_alive), (gst_rtspsrc_open): * gst/rtsp/rtsprange.c: (parse_npt_time), (parse_npt_range), (parse_clock_range), (parse_smpte_range), (rtsp_range_parse), (rtsp_range_free): * gst/rtsp/rtsprange.h: Add code to parse time ranges. Report DURATION on the stream when possible. 2007-05-08 Tim-Philipp Müller * gst/videomixer/videomixer.c: (gst_videomixer_blend_ayuv_ayuv), (gst_videomixer_fill_checker), (gst_videomixer_fill_color), (gst_videomixer_collected): Fix strides calculation for AYUV (it's just width*4) (#436910). 2007-05-06 Sebastian Dröge * gst/audiofx/audioamplify.c: (gst_audio_amplify_transform_ip): * gst/audiofx/audiodynamic.c: (gst_audio_dynamic_transform_ip): * gst/audiofx/audioinvert.c: (gst_audio_invert_transform_ip): Sync the GObject properties before each processing step to properly work with the controller. 2007-05-04 Wim Taymans * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send_keep_alive), (gst_rtspsrc_loop_udp), (gst_rtspsrc_try_send), (gst_rtspsrc_send), (gst_rtspsrc_setup_streams), (gst_rtspsrc_open), (gst_rtspsrc_close), (gst_rtspsrc_play), (gst_rtspsrc_pause), (gst_rtspsrc_change_state): Let more error state trickle down so that we can catch more error cases. Handle keep-alive a little smarter by selecting a method the server actually supports. Fix a race in UDP streaming shutdown. 2007-05-04 Wim Taymans * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send_keep_alive): Ignore errors when trying to use the keep-alive messages. 2007-05-04 Wim Taymans * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_handle_src_event), (gst_rtspsrc_handle_src_query), (gst_rtspsrc_sink_chain), (gst_rtspsrc_stream_configure_manager), (gst_rtspsrc_stream_free_udp), (gst_rtspsrc_stream_configure_tcp), (gst_rtspsrc_stream_configure_mcast), (gst_rtspsrc_stream_configure_udp), (gst_rtspsrc_stream_configure_udp_sink), (gst_rtspsrc_stream_configure_transport): Send RTCP messages back to the server over the TCP connection. * gst/rtsp/rtspconnection.c: (rtsp_connection_write), (rtsp_connection_send), (rtsp_connection_read), (read_body), (rtsp_connection_receive): * gst/rtsp/rtspconnection.h: Factor out and expose lowlevel _write and _read methods. Implement sending data messages to the server. 2007-05-03 Wim Taymans * gst/multipart/multipartmux.c: (gst_multipart_mux_queue_pads), (gst_multipart_mux_collected): Fix timestamps on outgoing buffers. 2007-05-03 Wim Taymans * gst/multipart/multipartmux.c: (gst_multipart_mux_request_new_pad), (gst_multipart_mux_collected), (gst_multipart_mux_change_state): Emit NEWSEGMENT events before pushing the first buffer. 2007-05-03 Wim Taymans * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_finalize), (gst_rtspsrc_alloc_udp_ports), (gst_rtspsrc_handle_src_event), (gst_rtspsrc_handle_src_query), (gst_rtspsrc_stream_configure_manager), (gst_rtspsrc_stream_free_udp), (gst_rtspsrc_stream_configure_tcp), (gst_rtspsrc_stream_configure_mcast), (gst_rtspsrc_stream_configure_udp), (gst_rtspsrc_stream_configure_udp_sink), (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_push_event), (gst_rtspsrc_loop_udp), (gst_rtspsrc_open), (gst_rtspsrc_parse_rtpinfo), (gst_rtspsrc_play), (gst_rtspsrc_pause): Refactor transport configuration code. Create internal pads for TCP transport so that we can implement events and queries. Handle events and queries. Parse range from the SDP. Fix race in pause handler where the connection could still be flushing. 2007-05-02 Wim Taymans * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_init), (gst_rtspsrc_finalize), (new_session_pad), (request_pt_map), (gst_rtspsrc_loop_send_cmd), (gst_rtspsrc_try_send), (gst_rtspsrc_send), (gst_rtspsrc_async_open), (gst_rtspsrc_close), (gst_rtspsrc_play), (gst_rtspsrc_handle_message), (gst_rtspsrc_change_state): * gst/rtsp/gstrtspsrc.h: Fix race when multiple udp sources post timeouts, just act on the first received timeout. Protect stream list with a recursive lock to fix some races. Flush connection when we need to do a reconnect or stop. Make state lock recursive. * gst/rtsp/rtspconnection.c: (rtsp_connection_connect), (rtsp_connection_close): Some small cleanups. 2007-05-02 Wim Taymans * gst/wavparse/gstwavparse.c: (gst_wavparse_perform_seek), (gst_wavparse_stream_headers), (gst_wavparse_stream_data): Only set DISCONT when there actually is a discont or when we just started. 2007-05-02 Sebastian Dröge * ext/flac/gstflac.c: (plugin_init): Call bindtextdomain() to get localized strings. 2007-05-02 Wim Taymans * gst/wavparse/gstwavparse.c: (gst_wavparse_perform_seek), (gst_wavparse_stream_headers), (gst_wavparse_add_src_pad), (gst_wavparse_stream_data): * gst/wavparse/gstwavparse.h: Be a bit more clever when dealing with VBR files with FACT tags, we don't want to timestamp buffers in that case but the estimated BPS can be used for seeking. Only send close segment in the streaming thread. 2007-05-02 Sebastian Dröge * ext/flac/gstflacdec.c: (gst_flac_dec_loop): Correctly post an error on the bus if something went wrong in the loop function. This fixes a few cases where the task was paused and nothing happened anymore. 2007-05-02 Wim Taymans * gst/rtsp/test.c: (main): Fix compilation of deprecated test just because I'm too lazy to delete it. 2007-05-02 Wim Taymans * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_init), (gst_rtspsrc_finalize), (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_handle_request), (gst_rtspsrc_loop_interleaved), (gst_rtspsrc_send_keep_alive), (gst_rtspsrc_loop_udp), (gst_rtspsrc_loop_send_cmd), (gst_rtspsrc_try_send), (gst_rtspsrc_open), (gst_rtspsrc_handle_message): * gst/rtsp/gstrtspsrc.h: Fix sending RTCP to the right place. Fix bug in reffing the wrong UDP element. Use new pad names for the session manager. Implement handling server requests in interleaved and UDP modes. Handle session keep-alive in UDP modes. Remove GCond for handling UDP timeouts. * gst/rtsp/rtspconnection.c: (rtsp_connection_connect), (rtsp_connection_send), (rtsp_connection_read), (read_body), (rtsp_connection_receive), (rtsp_connection_close): * gst/rtsp/rtspconnection.h: Store connection IP address for later. Add timeout args to all operations that might block forever. Parse session timeout. Only close sockets when not already closed. * gst/rtsp/rtspdefs.c: * gst/rtsp/rtspdefs.h: Add timeout return value and error string. * gst/rtsp/rtspmessage.c: (rtsp_message_init_response): Add small comment. 2007-05-01 Wim Taymans Patch by: Sjoerd Simons * gst/rtp/gstrtpmp4vpay.c: (gst_rtp_mp4v_pay_init), (gst_rtp_mp4v_pay_empty), (gst_rtp_mp4v_pay_event): * gst/rtp/gstrtpmp4vpay.h: Handle NEWSEGMENT and FLUSH events. Fixes #434824. 2007-04-30 Tim-Philipp Müller * docs/plugins/gst-plugins-good-plugins-docs.sgml: Remove v4l2src from docs, since it breaks the docs build, and the plugin is only built if --enable-experimental is used anyway. * docs/plugins/Makefile.am: Spaces => tab. 2007-04-29 Wim Taymans * gst/udp/gstmultiudpsink.c: (leave_multicast), (gst_multiudpsink_add), (gst_multiudpsink_remove): Add code to drop membership of a multicast group. * gst/udp/gstudpsink.c: (gst_udpsink_update_uri), (gst_udpsink_set_uri): Implement URI handler. * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_parse_rtpinfo): Use URI handler to make udpsink instace. Improve code to configure port and destination. 2007-04-29 Wim Taymans * gst/udp/gstmultiudpsink.c: (gst_multiudpsink_add): Fix multicast detection. Don't try to join a multicast group if the address is not multicast. * gst/udp/gstudpsrc.c: (gst_udpsrc_update_uri): Small debug improvement. 2007-04-27 Wim Taymans * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_parse_rtpinfo), (gst_rtspsrc_play), (gst_rtspsrc_handle_message): Ignore ASYNC state messages from the udpsink, it's irrelevant for the parent. 2007-04-27 Wim Taymans * gst/rtp/gstrtpilbcdepay.h: Fix mode property when specified as an arg. 2007-04-26 Edward Hervey * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * docs/plugins/gst-plugins-good-plugins.hierarchy: * docs/plugins/inspect/plugin-osxaudio.xml: Add documentation for osxaudio plugin. 2007-04-26 Wim Taymans * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_init), (gst_rtspsrc_finalize), (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_open), (gst_rtspsrc_close), (gst_rtspsrc_parse_rtpinfo), (gst_rtspsrc_play), (gst_rtspsrc_pause): * gst/rtsp/gstrtspsrc.h: Protect state changes with a lock. * gst/rtsp/rtspconnection.c: (rtsp_connection_create), (parse_line): * gst/rtsp/rtspconnection.h: Remove some unused stuff. 2007-04-26 Wim Taymans * gst/udp/gstudpsrc.c: (gst_udpsrc_create): Handle the case where there are exactly 0 bytes to read and the ioctl did not report an error. Fixes #433530. 2007-04-26 Wim Taymans * gst/wavparse/gstwavparse.c: (gst_wavparse_perform_seek), (gst_wavparse_stream_headers), (gst_wavparse_stream_data): * gst/wavparse/gstwavparse.h: Apply DISCONT to buffers. Only apply timestamp to the first sample after a DISCONT, too many VBR files cause random jitter in the timestamps. Fixes #433119. 2007-04-25 Wim Taymans * gst/rtsp/gstrtpdec.c: (gst_rtp_dec_class_init), (gst_rtp_dec_init), (gst_rtp_dec_set_property), (gst_rtp_dec_get_property): * gst/rtsp/gstrtpdec.h: Add dummy latency property to be backwards compat with rtpbin. * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_class_init), (gst_rtspsrc_set_property), (gst_rtspsrc_get_property), (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_parse_rtpinfo): * gst/rtsp/gstrtspsrc.h: Add latency property and configure in the session manager. Don't set invalid clock-base and seqnum-base on caps, some servers sometimes don't send them. 2007-04-25 Tim-Philipp Müller * gst/alpha/gstalphacolor.c: (gst_alpha_color_base_init), (gst_alpha_color_transform_caps), (gst_alpha_color_set_caps): Double-check that RGB input caps are really RGBA caps (apparently the core doesn't always catch it if those caps aren't a subset of our template caps, also see #421543). Fixes #429319 in a way. Also, don't leak the pad template in the transform_caps function. * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * tests/check/elements/alphacolor.c: (setup_alphacolor), (cleanup_alphacolor), (create_caps_rgb24), (create_caps_rgba32), (create_buffer_rgb24_3x4), (create_buffer_rgba32_3x4), (GST_START_TEST), (alphacolor_suite): Add some basic unit tests for alphacolor. 2007-04-25 Tim-Philipp Müller * ext/libpng/gstpngdec.c: (gst_pngdec_task): If we get a fatal flow return in the loop function, first post the error message and only then send the EOS event downstream, otherwise applications might get an eos message before the error message and think everything was ok (related to #429319). 2007-04-25 Wim Taymans * gst/rtsp/rtspconnection.c: (rtsp_connection_receive): Read the channel byte as an unsigned byte. 2007-04-25 Wim Taymans * gst/rtp/gstrtpL16depay.c: (gst_rtp_L16_depay_set_property): * gst/rtp/gstrtpamrdepay.c: (gst_rtp_amr_depay_init), (gst_rtp_amr_depay_setcaps), (gst_rtp_amr_depay_process): * gst/rtp/gstrtpgsmdepay.c: (gst_rtp_gsm_depay_init), (gst_rtp_gsm_depay_setcaps): * gst/rtp/gstrtph263pdepay.c: (gst_rtp_h263p_depay_setcaps): * gst/rtp/gstrtph264depay.c: (gst_rtp_h264_depay_setcaps): * gst/rtp/gstrtpilbcdepay.c: (gst_rtp_ilbc_depay_class_init), (gst_rtp_ilbc_depay_init), (gst_rtp_ilbc_depay_setcaps), (gst_rtp_ilbc_depay_process), (gst_ilbc_depay_set_property), (gst_ilbc_depay_get_property): * gst/rtp/gstrtpmp2tdepay.c: (gst_rtp_mp2t_depay_setcaps): * gst/rtp/gstrtpmp4adepay.c: * gst/rtp/gstrtppcmadepay.c: (gst_rtp_pcma_depay_init), (gst_rtp_pcma_depay_setcaps): * gst/rtp/gstrtppcmudepay.c: (gst_rtp_pcmu_depay_init), (gst_rtp_pcmu_depay_setcaps): Make sure we configure the clock_rate in the baseclass in the setcaps function. Fixes #431282. 2007-04-25 Wim Taymans * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_finalize), (gst_rtspsrc_stream_free), (request_pt_map), (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_open): * gst/rtsp/gstrtspsrc.h: Parse server address from SDP. Hook up a udpsink to send RTCP back to the server. * docs/plugins/gst-plugins-good-plugins-sections.txt: * gst/rtsp/rtsptransport.h: Add some docs. 2007-04-25 Stefan Kost * gst/wavparse/gstwavparse.c: (gst_wavparse_stream_headers): Make header field check conditional. Fixes #433135 2007-04-24 Tim-Philipp Müller * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * docs/plugins/inspect/plugin-alphacolor.xml: * gst/alpha/Makefile.am: * gst/alpha/gstalphacolor.c: * gst/alpha/gstalphacolor.h: Add minimal docs blurb to alphacolor; split out headers into separate header file for gtk-doc. 2007-04-20 Tim-Philipp Müller * gst/debug/progressreport.c: (gst_progress_report_report): Don't try to post NULL message (in case we can't query upstream position or duration). 2007-04-18 Michael Smith * gst/cutter/gstcutter.c: (gst_cutter_init), (gst_cutter_chain), (gst_cutter_get_caps): * gst/cutter/gstcutter.h: Fix some of the most obvious bugs in cutter. Now doesn't leak everything if input is silent. 2007-04-18 Sebastian Dröge * gst/wavenc/gstwavenc.c: (gst_wavenc_create_header_buf), (gst_wavenc_sink_setcaps), (gst_wavenc_change_state): * gst/wavenc/gstwavenc.h: Wav apparently only supports width==GST_ROUND_UP(depth), everything else results in a invalid block align and invalid files. 2007-04-17 Tim-Philipp Müller Patch by: Snaik * gst/smpte/barboxwipes.c: (gst_wipe_boxes_draw): Add missing break statement for BOX_HORIZONTAL case. 2007-04-17 Sebastian Dröge Patch by: Vincent Torri * gst/wavparse/gstwavparse.c: (gst_wavparse_stream_headers): Use correct format strings for integer types. 2007-04-17 Sebastian Dröge * gst/wavparse/gstwavparse.c: (gst_wavparse_base_init), (gst_wavparse_create_sourcepad): Use gst_riff_create_audio_template_caps () instead of the local caps. This makes updates of the local caps unecessary whenever libgstriff gets support for new formats. 2007-04-16 Tim-Philipp Müller Patch by: Brian Cameron * sys/sunaudio/gstsunaudio.c: * sys/sunaudio/gstsunaudiomixer.c: * sys/sunaudio/gstsunaudiomixer.h: * sys/sunaudio/gstsunaudiomixerctrl.c: * sys/sunaudio/gstsunaudiomixerctrl.h: * sys/sunaudio/gstsunaudiomixertrack.h: * sys/sunaudio/gstsunaudiosink.c: * sys/sunaudio/gstsunaudiosink.h: * sys/sunaudio/gstsunaudiosrc.c: * sys/sunaudio/gstsunaudiosrc.h: Fix and/or update copyright attributions (#430228). 2007-04-13 Wim Taymans * docs/plugins/gst-plugins-good-plugins-sections.txt: Fix docs. * gst/rtsp/URLS: Add some more example urls. * gst/rtsp/gstrtpdec.c: (gst_rtp_dec_marshal_BOXED__UINT_UINT), (gst_rtp_dec_chain_rtp): Better debugging. * gst/rtsp/gstrtspsrc.c: (request_pt_map), (gst_rtspsrc_activate_streams), (gst_rtspsrc_loop_interleaved), (gst_rtspsrc_parse_rtpinfo): Remove unused code. 2007-04-13 Stefan Kost * gst/wavparse/gstwavparse.c: (uint64_ceiling_scale_int), (gst_wavparse_perform_seek), (gst_wavparse_stream_headers), (gst_wavparse_stream_data): Relax the audio/mpeg caps again and add FIXME: comment. 2007-04-13 Stefan Kost * gst/wavparse/gstwavparse.c: (uint64_ceiling_scale_int), (gst_wavparse_perform_seek), (gst_wavparse_stream_headers), (gst_wavparse_stream_data): * gst/wavparse/gstwavparse.h: More sanity check for the header fields. Fix type for 'rate' header field. 2007-04-12 Tim-Philipp Müller * gst/icydemux/gsticydemux.c: (notgst_tag_freeform_string_to_utf8), (gst_icydemux_unicodify): If the metadata strings we get in the stream are not UTF-8, try to interpret them according to the character encodings specified in the GST_ICY_TAG_ENCODING and GST_TAG_ENCODING environment variables, and only fall back to locale/ISO-8859-1 if those aren't set or don't work. Should fix #428901. 2007-04-12 Wim Taymans * gst/rtp/gstrtph264depay.c: Use the proper sync word for SPS and PPS. 2007-04-12 Thomas Vander Stichele * gst/rtp/Makefile.am: * gst/rtp/fnv1hash.c (MASK_24, FNV1_HASH_32_INIT, FNV1_HASH_32_PRIME, fnv1_hash_32_new, fnv1_hash_32_update, fnv1_hash_32_to_24): * gst/rtp/fnv1hash.h (__GST_FNV1_HASH_H__): Add a simple hashing implementation that we can use to generate a 24-bit ident value based on the codebooks for vorbis and theora. * gst/rtp/gstrtptheorapay.c (gst_rtp_theora_pay_finish_headers, gst_rtp_theora_pay_handle_buffer): * gst/rtp/gstrtpvorbisdepay.c (gst_rtp_vorbis_depay_parse_configuration, gst_rtp_vorbis_depay_switch_codebook, gst_rtp_vorbis_depay_process): * gst/rtp/gstrtpvorbispay.c (gst_rtp_vorbis_pay_reset_packet, gst_rtp_vorbis_pay_init_packet, gst_rtp_vorbis_pay_flush_packet, gst_rtp_vorbis_pay_finish_headers, gst_rtp_vorbis_pay_handle_buffer): Use the hashing function, ensuring that the same codebooks result in the same ident and thus the same SDP description. Various log fixes/changes. 2007-04-12 Wim Taymans Patch by: jerry tan * sys/sunaudio/gstsunaudiosrc.c: (gst_sunaudiosrc_open): remove the call of ioctl (fd, AUDIO_MIXER_MULTIPLE_OPEN), it is the application's responsibility to make sure it open the device once. Remove a careless error if AUDIODEV is set. Fixes #392620. 2007-04-12 Wim Taymans * gst/rtsp/gstrtpdec.c: (gst_rtp_dec_marshal_BOXED__UINT_UINT), (gst_rtp_dec_class_init), (gst_rtp_dec_chain_rtp): * gst/rtsp/gstrtpdec.h: Make backward compat with rtpbin by adding the request-pt-map signals. * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_create_stream), (new_session_pad), (request_pt_map), (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_stream_configure_caps), (gst_rtspsrc_activate_streams): * gst/rtsp/gstrtspsrc.h: Implement request-pt-map signals instead of setting caps on the buffers for the session manager. 2007-04-11 Wim Taymans * gst/udp/gstudp.c: (plugin_init): Register GstNetBuffer in plugin_init so that the type can be used from multiple threads without races. 2007-04-10 Wim Taymans * gst/rtp/gstrtpamrdepay.c: (gst_rtp_amr_depay_setcaps), (gst_rtp_amr_depay_process): Fix depayloader clock_rate and some cleanups. * gst/rtp/gstrtph264depay.c: (gst_rtp_h264_depay_finalize), (gst_rtp_h264_depay_setcaps), (gst_rtp_h264_depay_process): * gst/rtp/gstrtph264depay.h: Don't push codec_data in the adapter because it might get flushed when we get a discont. * gst/rtp/gstrtpmp4gdepay.c: (gst_rtp_mp4g_depay_process): Handle multiple AU per packet. * gst/rtp/gstrtpsv3vdepay.c: (gst_rtp_sv3v_depay_process), (gst_rtp_sv3v_depay_plugin_init): Disable rank, this one does not work. Remove timestamping, base class does that. 2007-04-10 Stefan Kost * gst/auparse/gstauparse.c: (gst_au_parse_parse_header): limit caps to the formats we announce in the template * gst/wavparse/gstwavparse.c: (uint64_ceiling_scale_int), (gst_wavparse_perform_seek), (gst_wavparse_stream_headers), (gst_wavparse_add_src_pad), (gst_wavparse_stream_data): fix some crashers/asserts when dealing with broken files 2007-04-10 Wim Taymans Patch by: Peter Kjellerstedt * gst/avi/gstavidemux.c: (gst_avi_demux_massage_index): * gst/rtp/gstrtpL16depay.c: * gst/rtp/gstrtpmp4gdepay.c: (gst_rtp_mp4g_depay_process): * gst/rtp/gstrtpspeexdepay.c: (gst_rtp_speex_depay_get_mode), (gst_rtp_speex_depay_setcaps): * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_media_to_caps), (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_loop_udp): * gst/udp/gstmultiudpsink.c: (gst_multiudpsink_init_send): Fix some compiler warnings. Fixes #428182. 2007-04-06 Wim Taymans * gst/rtsp/Makefile.am: * gst/rtsp/gstrtpdec.c: (find_session_by_id), (create_session), (free_session), (gst_rtp_dec_base_init), (gst_rtp_dec_class_init), (gst_rtp_dec_init), (gst_rtp_dec_finalize), (gst_rtp_dec_query_src), (gst_rtp_dec_chain_rtp), (gst_rtp_dec_chain_rtcp), (gst_rtp_dec_set_property), (gst_rtp_dec_get_property), (gst_rtp_dec_provide_clock), (gst_rtp_dec_change_state), (create_recv_rtp), (create_recv_rtcp), (create_rtcp), (gst_rtp_dec_request_new_pad), (gst_rtp_dec_release_pad): * gst/rtsp/gstrtpdec.h: * gst/rtsp/gstrtsp.c: (plugin_init): Morph RTPDec into something compatible with RTPBin as a fallback. Various other style fixes. * gst/rtsp/gstrtspsrc.c: (find_stream_by_id), (find_stream_by_udpsrc), (gst_rtspsrc_stream_free), (gst_rtspsrc_cleanup), (gst_rtspsrc_media_to_caps), (new_session_pad), (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_activate_streams), (gst_rtspsrc_loop_interleaved), (gst_rtspsrc_loop_udp), (gst_rtspsrc_setup_auth), (gst_rtspsrc_handle_message), (gst_rtspsrc_change_state): * gst/rtsp/gstrtspsrc.h: Implement RTPBin session manager handling. Don't try to add empty properties to caps. Implement fallback session manager, handling. Don't combine errors from RTCP streams, just ignore them. * gst/rtsp/rtsptransport.c: (rtsp_transport_get_manager): * gst/rtsp/rtsptransport.h: Implement fallback session manager. Make RTPBin the default one when available. 2007-04-05 Wim Taymans * gst/rtp/gstrtpmp4adepay.c: (gst_rtp_mp4a_depay_class_init), (gst_rtp_mp4a_depay_setcaps), (gst_rtp_mp4a_depay_plugin_init): This element is ready to be autoplugged. 2007-04-05 Julien MOUTTE * gst/avi/gstavidemux.c: (gst_avi_demux_process_next_entry): Don't leave the offsets defined by upstream element on the compressed data buffer we are pushing downstream. Make them GST_BUFFER_OFFSET_NONE. 2007-04-04 Stefan Kost * gst/avi/README: * gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query), (gst_avi_demux_parse_stream), (gst_avi_demux_parse_index), (gst_avi_demux_stream_index), (gst_avi_demux_sync), (gst_avi_demux_stream_scan), (gst_avi_demux_massage_index), (gst_avi_demux_calculate_durations_from_index), (gst_avi_demux_stream_header_push), (gst_avi_demux_stream_header_pull), (gst_avi_demux_combine_flows), (gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data): Don't abort on out-of-memory. Use stream-nr as unsigned integer only. 2007-04-03 Wim Taymans * gst/smpte/barboxwipes.c: Fix error as spotted by Snaik 2007-03-30 Sebastian Dröge * gst/wavparse/gstwavparse.c: Support audio/x-raw-float in wav files. This only works with plugins-base CVS, using an older version doesn't have any disadvantages though. 2007-03-30 Sebastian Dröge * configure.ac: * gst/auparse/gstauparse.c: (gst_au_parse_reset), (gst_au_parse_parse_header), (gst_au_parse_chain): * gst/auparse/gstauparse.h: Revert last change as we don't want plugins-good to depend on plugins-base CVS now. 2007-03-29 Sebastian Dröge * configure.ac: Require gst-plugins-base CVS for audioconvert with non-native float support and width/depth fix in libgstriff. Patch by: René Stadler * gst/auparse/gstauparse.c: (gst_au_parse_reset), (gst_au_parse_parse_header), (gst_au_parse_chain): * gst/auparse/gstauparse.h: Don't swap the floats ourself if they're not in native endianness. Instead let audioconvert handle this. Fixes #339838. 2007-03-29 Wim Taymans * gst/rtp/gstasteriskh263.h: * gst/rtp/gstrtph263pdepay.c: (gst_rtp_h263p_depay_process), (gst_rtp_h263p_depay_change_state): * gst/rtp/gstrtph263pdepay.h: * gst/rtp/gstrtph264depay.c: (gst_rtp_h264_depay_class_init), (gst_rtp_h264_depay_setcaps), (gst_rtp_h264_depay_process), (gst_rtp_h264_depay_change_state): * gst/rtp/gstrtph264depay.h: * gst/rtp/gstrtpmp4adepay.c: (gst_rtp_mp4a_depay_class_init), (gst_rtp_mp4a_depay_setcaps), (gst_rtp_mp4a_depay_process): * gst/rtp/gstrtpmp4gdepay.c: (gst_rtp_mp4g_depay_process): Flush adapter on disconts. 2007-03-29 Wim Taymans * gst/rtp/gstrtpL16depay.c: (gst_rtp_L16_depay_process): * gst/rtp/gstrtpgsmdepay.c: (gst_rtp_gsm_depay_process): * gst/rtp/gstrtpilbcdepay.c: (gst_rtp_ilbc_depay_process): * gst/rtp/gstrtpmp2tdepay.c: (gst_rtp_mp2t_depay_process): * gst/rtp/gstrtpmp4gdepay.c: (gst_rtp_mp4g_depay_process): * gst/rtp/gstrtpmp4gpay.c: (gst_rtp_mp4g_pay_flush): * gst/rtp/gstrtpmp4vdepay.c: (gst_rtp_mp4v_depay_setcaps), (gst_rtp_mp4v_depay_process): * gst/rtp/gstrtpmp4vpay.c: (gst_rtp_mp4v_pay_flush): * gst/rtp/gstrtpmpadepay.c: (gst_rtp_mpa_depay_process): * gst/rtp/gstrtpmpapay.c: (gst_rtp_mpa_pay_flush): * gst/rtp/gstrtpmpvdepay.c: (gst_rtp_mpv_depay_process): * gst/rtp/gstrtppcmadepay.c: (gst_rtp_pcma_depay_process): * gst/rtp/gstrtppcmudepay.c: (gst_rtp_pcmu_depay_process): * gst/rtp/gstrtpsv3vdepay.c: (gst_rtp_sv3v_depay_process): Use more efficient adapter and rtpbuffer methods when possible. 2007-03-29 Sebastian Dröge * gst/wavenc/gstwavenc.c: (gst_wavenc_create_header_buf), (gst_wavenc_sink_setcaps): Correctly handle width!=depth input. * gst/wavparse/gstwavparse.c: Already export in the caps that width==8 uses unsigned samples and everything else uses signed samples. 2007-03-29 Wim Taymans Patch by: Laurent Glayal * gst/udp/gstdynudpsink.c: (gst_dynudpsink_class_init), (gst_dynudpsink_init), (gst_dynudpsink_set_property), (gst_dynudpsink_get_property), (gst_dynudpsink_init_send), (gst_dynudpsink_close): * gst/udp/gstdynudpsink.h: * gst/udp/gstudpsrc.c: (gst_udpsrc_class_init), (gst_udpsrc_init), (gst_udpsrc_create), (gst_udpsrc_set_property), (gst_udpsrc_get_property), (gst_udpsrc_start), (gst_udpsrc_stop): * gst/udp/gstudpsrc.h: Rework the socket allocation a bit based on the sockfd argument so that it becomes usable. Add a closefd property to instruct the udp elements to close the custom file descriptors when going to READY. Fixes #423304. API:GstUDPSrc::closefd property API:GstDynUDPSink::closefd property 2007-03-29 Wim Taymans Patch by: Laurent Glayal * gst/rtp/Makefile.am: * gst/rtp/gstrtp.c: (plugin_init): * gst/rtp/gstrtph264pay.c: (gst_rtp_h264_pay_base_init), (gst_rtp_h264_pay_class_init), (gst_rtp_h264_pay_init), (gst_rtp_h264_pay_finalize), (gst_rtp_h264_pay_setcaps), (gst_rtp_h264_pay_handle_buffer), (gst_rtp_h264_pay_set_property), (gst_rtp_h264_pay_get_property), (gst_rtp_h264_pay_change_state), (gst_rtp_h264_pay_plugin_init): * gst/rtp/gstrtph264pay.h: Added H264 payloader. Fixes #423782. * gst/rtp/gstrtph264depay.c: (gst_rtp_h264_depay_class_init), (gst_rtp_h264_depay_setcaps), (gst_rtp_h264_depay_process): Small fixes. 2007-03-29 Sebastian Dröge * gst/wavparse/gstwavparse.c: Actually support depths from 1 to 32, not only 8 to 32. 2007-03-29 Sebastian Dröge * gst/wavparse/gstwavparse.c: Add support for wav files containing audio/x-raw-int with random depths between 1 and 32 bits. 2007-03-28 Wim Taymans Based on patch by: Stefan Kost * gst/rtp/Makefile.am: * gst/rtp/gstrtp.c: (plugin_init): * gst/rtp/gstrtpmp4adepay.c: (gst_rtp_mp4a_depay_base_init), (gst_rtp_mp4a_depay_class_init), (gst_rtp_mp4a_depay_init), (gst_rtp_mp4a_depay_finalize), (gst_rtp_mp4a_depay_setcaps), (gst_rtp_mp4a_depay_process), (gst_rtp_mp4a_depay_set_property), (gst_rtp_mp4a_depay_get_property), (gst_rtp_mp4a_depay_change_state), (gst_rtp_mp4a_depay_plugin_init): * gst/rtp/gstrtpmp4adepay.h: Added MP4A-LATM depayloader. Fixes #417792. * gst/rtp/gstrtpmp4vdepay.c: (gst_rtp_mp4v_depay_setcaps), (gst_rtp_mp4v_depay_process): Fixup depayloader, setting codec_data, using more efficient adaptor and rtpbuffer handling. * gst/rtsp/URLS: Add url to test above. 2007-03-25 Wim Taymans * gst/rtsp/gstrtspsrc.c: (find_stream_by_setup), (gst_rtspsrc_create_stream), (gst_rtspsrc_stream_free), (get_default_rate_for_pt), (gst_rtspsrc_parse_rtpmap), (gst_rtspsrc_media_to_caps), (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_stream_configure_caps), (gst_rtspsrc_activate_streams), (gst_rtspsrc_parse_rtpinfo): * gst/rtsp/gstrtspsrc.h: Handle default clock-rates for static payload types, rearrange stuff so that the rtpmap field in the sdp can override the defaults. Parse RTP-Info field to get the seqnum and timebase fields that should go in the caps. Delay configuring caps after we got the RTP-Info from the PLAY reply from the server. 2007-03-22 Wim Taymans Patch by: Christophe Dehais * ext/gconf/gconf.c: (gst_gconf_render_bin_with_default): Accept complex pipeline descriptions as an audio profile instead of just a single element. Fixes #420658. 2007-03-21 Tim-Philipp Müller * gst/apetag/gsttagdemux.c: (gst_tag_demux_get_type): Rename registered type in preparation of GstTagDemux moving to -base at some point in the future. 2007-03-19 Tim-Philipp Müller * gst/wavparse/gstwavparse.c: (gst_wavparse_stream_headers): Streaming mode fixes: don't unref buffer we don't own any longer; remove bogus adapter flush. Fixes #419338. 2007-03-17 David Schleef * REQUIREMENTS: Change the format to key/value, add a bunch of information, remove a bunch of requirements that are for other GStreamer packages. 2007-03-17 David Schleef * REQUIREMENTS: Fix a few things. This file really needs a good once-over. 2007-03-15 Edward Hervey * sys/Makefile.am: Don't forget to distribute the sys/osxaudio/ directory. 2007-03-15 Edward Hervey * configure.ac: * sys/Makefile.am: * sys/osxaudio/Makefile.am: * sys/osxaudio/gstosxaudio.c: * sys/osxaudio/gstosxaudiosink.c: (gst_osx_audio_sink_osxelement_do_init), (gst_osx_audio_sink_init), (gst_osx_audio_sink_getcaps), (gst_osx_audio_sink_create_ringbuffer), (plugin_init): * sys/osxaudio/gstosxaudiosrc.c: (gst_osx_audio_src_osxelement_do_init), (gst_osx_audio_src_init), (gst_osx_audio_src_create_ringbuffer): * sys/osxaudio/gstosxringbuffer.c: (gst_osx_ring_buffer_get_type), (gst_osx_ring_buffer_class_init), (gst_osx_ring_buffer_init), (gst_osx_ring_buffer_acquire), (gst_osx_ring_buffer_start), (gst_osx_ring_buffer_pause), (gst_osx_ring_buffer_stop): * sys/osxaudio/gstosxringbuffer.h: Activate osxaudio in gst-plugins-good with proper build setup. Add inlined documentation. Fix debug statements Fix ringbuffer when pausing. Fixes #323471 2007-03-14 Philippe Kalaf * gst/rtp/gstrtppcmapay.c: * gst/rtp/gstrtppcmapay.h: * gst/rtp/gstrtppcmupay.c: * gst/rtp/gstrtppcmupay.h: Ported mulaw and alaw payloaders to use new base class 2007-03-14 Thomas Vander Stichele * po/af.po: * po/az.po: * po/cs.po: * po/en_GB.po: * po/it.po: * po/nl.po: * po/or.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/uk.po: * po/vi.po: Update translations. 2007-03-14 Tim-Philipp Müller * configure.ac: Fix string replace error (AG_AG_GST_* => AG_GST_*). 2007-03-12 Tim-Philipp Müller * gst/apetag/gsttagdemux.c: (gst_tag_demux_srcpad_event): Fix handling of -1 values for start and stop values when seeking, and SEEK_CUR+SEEK_END here as well. 2007-03-12 Jan Schmidt * gst/id3demux/gstid3demux.c: (gst_id3demux_srcpad_event): Fix handling of -1 values for start and stop values when seeking, and SEEK_CUR+SEEK_END. 2007-03-12 Tim-Philipp Müller * gst/id3demux/id3v2frames.c: (parse_picture_frame): Fix parsing of ID3 v2.2.0 PIC frames. Only in version >= 2.3.0 is the image format a variable-length NUL-terminated string; in versions before that the image format is a fixed-length string of 3 characters (see #348644 for a sample tag). Also make supplied mime type lower-case and fix up 'jpg' to 'jpeg'. 2007-03-10 Sebastien Moutte * win32/MANIFEST: Add new project files to MANIFEST. * win32/vs6/libgstaudiofx.dsp: * win32/vs6/libgstrtp.dsp: * win32/vs6/libgstrtsp.dsp: Update project files. 2007-03-10 Tim-Philipp Müller * gst/avi/gstavidemux.c: (gst_avi_demux_parse_subindex), (gst_avi_demux_parse_index): * sys/v4l2/v4l2_calls.c: (gst_v4l2_fill_lists): * sys/v4l2/v4l2src_calls.c: (gst_v4l2src_grab_frame): Printf format fixes; also add some missing quotes in translated strings. Fixes #416728 and #416727. 2007-03-09 Jan Schmidt * gst/autodetect/gstautoaudiosink.c: (gst_auto_audio_sink_find_best): Tim and I can't think of any reason the child audio sink needs to be set back to NULL after successfully determining that it can reach READY - it gets immediately set back to READY by the caller anyway, causing an unnecessary close/open of any audio devices involved. 2007-03-09 Tim-Philipp Müller * po/LINGUAS: * po/ja.po: Add ja.po file from #377306. 2007-03-09 Tim-Philipp Müller * sys/sunaudio/gstsunaudio.c: (plugin_init): * sys/sunaudio/gstsunaudiomixertrack.c: (gst_sunaudiomixer_track_new): Actually translate sunaudio mixer track labels instead of just marking the strings as translatable (#377306); clean up weird label string mapping code that serves no apparent purpose. Also set the 'untranslated-label' property when creating mixer tracks if the GstMixerTrack base class supports this. * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * tests/check/elements/sunaudio.c: (GST_START_TEST), (sunaudio_suite): Very minimalistic unit test for sunaudiomixer element (compiles, but not actually tested on a system where sunaudiomixer is available). 2007-03-09 Jan Schmidt * tests/check/Makefile.am: Re-enable the states test and see if it works on the buildbots. 2007-03-09 Jan Schmidt * ext/dv/gstdvdec.c: (gst_dvdec_init), (gst_dvdec_sink_setcaps), (gst_dvdec_src_negotiate), (gst_dvdec_chain), (gst_dvdec_change_state): * ext/dv/gstdvdec.h: Infer pixel-aspect-ratio from the video frame format if it isn't provided by the container, as happens when playing DV from AVI or Quicktime containers. Patch by: Wim Taymans Fixes #380944 2007-03-09 Wim Taymans * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_activate_streams): When activated, remove the udpsrc timeout, we have dataflow and timeouts will later be handled by the jitterbuffer. 2007-03-09 Wim Taymans * ext/taglib/gstid3v2mux.cc: Add write support for GST_TAG_MUSICBRAINZ_SORTNAME (TSOP) tag. Fixes #414496. Patch by: Alex Lancaster 2007-03-09 Wim Taymans * gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream), (gst_avi_demux_push_event), (gst_avi_demux_do_seek), (gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data), (gst_avi_demux_chain): Fix stream position reporting after a seek. Fixes #416445. 2007-03-08 Wim Taymans Patch by: René Stadler * gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream), (gst_avi_demux_push_event), (gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data), (gst_avi_demux_chain): Make avidemux accept optional header chunks in any order. Fixes #415446. 2007-03-08 Jan Schmidt * tests/check/Makefile.am: Disable the states check until the remaining Valgrind errors are fixed or suppressed. 2007-03-08 Sebastian Dröge * tests/check/elements/.cvsignore: Add audiodynamic check to .cvsignore 2007-03-08 Sebastian Dröge reviewed by: Stefan Kost * gst/audiofx/Makefile.am: * gst/audiofx/audiodynamic.c: (gst_audio_dynamic_characteristics_get_type), (gst_audio_dynamic_mode_get_type), (gst_audio_dynamic_set_process_function), (gst_audio_dynamic_base_init), (gst_audio_dynamic_class_init), (gst_audio_dynamic_init), (gst_audio_dynamic_set_property), (gst_audio_dynamic_get_property), (gst_audio_dynamic_setup), (gst_audio_dynamic_transform_hard_knee_compressor_int), (gst_audio_dynamic_transform_hard_knee_compressor_float), (gst_audio_dynamic_transform_soft_knee_compressor_int), (gst_audio_dynamic_transform_soft_knee_compressor_float), (gst_audio_dynamic_transform_hard_knee_expander_int), (gst_audio_dynamic_transform_hard_knee_expander_float), (gst_audio_dynamic_transform_soft_knee_expander_int), (gst_audio_dynamic_transform_soft_knee_expander_float), (gst_audio_dynamic_transform_ip): * gst/audiofx/audiodynamic.h: * gst/audiofx/audiofx.c: (plugin_init): Add new audiodynamic element which can act as a compressor or expander. Supported are hard-knee and soft-knee operation modes with user-specified ratio and threshold. Attack and release parameters are not yet implemented but will follow. * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * docs/plugins/gst-plugins-good-plugins.args: * docs/plugins/inspect/plugin-audiofx.xml: Integrate audiodynamic into the docs. * tests/check/Makefile.am: * tests/check/elements/audiodynamic.c: (setup_dynamic), (cleanup_dynamic), (GST_START_TEST), (dynamic_suite), (main): Add unit test for audiodynamic. 2007-03-07 Jan Schmidt * ext/raw1394/gstdv1394src.c: (gst_dv1394src_start): Free handles that we allocated when exiting via the error paths. 2007-03-07 Stefan Kost * gst/level/gstlevel.c: (gst_level_class_init), (gst_level_set_caps), (gst_level_start), (gst_level_event), (gst_level_transform_ip): * gst/level/gstlevel.h: Resolve message timestamps against the playback segment. 2007-03-06 Tim-Philipp Müller * gst/id3demux/gstid3demux.c: (gst_id3demux_add_srcpad), (gst_id3demux_sink_activate): Don't leak caps: make gst_id3demux_add_srcpad() not take ownership of the caps passed to it (previously one code path assumed it took ownership while another one assumed it didn't, while in fact it sometimes did and sometimes didn't ...). * configure.ac: * tests/files/Makefile.am: * tests/files/id3-407349-1.tag: * tests/files/id3-407349-2.tag: Add directory where data for unit tests can be stored. * tests/Makefile.am: * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * tests/check/elements/id3demux.c: (pad_added_cb), (error_cb), (read_tags_from_file), (run_check_for_file), (check_date_1977_06_23), (GST_START_TEST), (id3demux_suite): Add unit test for id3demux, and in particular for bug #407349. Only testing pull-mode for now; push mode doesn't work yet because the test files are smaller than ID3_TYPE_FIND_MIN_SIZE. 2007-03-06 Tim-Philipp Müller * tests/check/Makefile.am: Add missing backslash at end of line. 2007-03-06 Jan Schmidt Trigger rebuild. 2007-03-06 Tim-Philipp Müller * gst/id3demux/id3tags.c: (id3demux_id3v2_frames_to_tag_list): * gst/id3demux/id3tags.h: * gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame), (parse_obsolete_tdat_frame): Do not convert obsolete TDA/TDAT frames to TDRC frames, otherwise the four-digit number will be interpreted as a year, whereas it is month and day in DDMM format. Instead, parse TDAT frames and fix up the date in the GST_TAG_DATE tag later if we also extracted a year. Fixes #407349. 2007-03-06 Jan Schmidt * ext/gconf/gstswitchsink.c: (gst_switch_sink_dispose), (gst_switch_commit_new_kid): Fix up the dispose logic so it doesn't leak, and fix setting of the child state so that we don't set a child to our current state just as we are changing it to something else. 2007-03-06 Wim Taymans * gst/goom/gstgoom.c: (gst_goom_src_setcaps), (get_buffer), (gst_goom_chain): * gst/goom/gstgoom.h: Document, fix and improve goom adapter behaviour. Fixes #407006. 2007-03-05 Jan Schmidt * ext/esd/esdsink.c: (gst_esdsink_open): Unref static pad template after using it. 2007-03-05 Jan Schmidt * ext/gconf/gstswitchsink.c: (gst_switch_sink_dispose), (gst_switch_commit_new_kid): Fix up the reference counting of the child elements. 2007-03-05 Wim Taymans * gst/rtp/gstrtpmp4gpay.c: (gst_rtp_mp4g_pay_setcaps): * gst/rtp/gstrtptheorapay.c: (gst_rtp_theora_pay_finish_headers): * gst/rtp/gstrtpvorbispay.c: (gst_rtp_vorbis_pay_finish_headers): Fix encoding-name case. 2007-03-05 Wim Taymans * gst/rtp/gstrtpspeexdepay.c: (gst_rtp_speex_depay_class_init), (gst_rtp_speex_depay_get_mode), (gst_rtp_speex_depay_setcaps), (gst_rtp_speex_depay_process): * gst/rtp/gstrtpspeexpay.c: (gst_rtp_speex_pay_base_init), (gst_rtp_speex_pay_class_init), (gst_rtp_speex_pay_setcaps), (gst_rtp_speex_pay_parse_ident), (gst_rtp_speex_pay_handle_buffer), (gst_rtp_speex_pay_change_state): * gst/rtp/gstrtpspeexpay.h: Fix speex (de)payloader. Fixes #358040. 2007-03-05 Jan Schmidt * ext/gconf/gstswitchsink.c: (gst_switch_sink_reset), (gst_switch_commit_new_kid), (gst_switch_sink_set_child): Install fakesink in NULL by fixing some broken logic. This obviates the need to manually set _IS_SINK. Add some comments and remove a little cruft while I'm at it. 2007-03-05 Wim Taymans * ext/gconf/gstswitchsink.c: (gst_switch_sink_reset): Mark us as a sink when we have no fakesink in NULL. Fixes #414887. 2007-03-04 Tim-Philipp Müller * po/POTFILES.in: Update. 2007-03-04 Jan Schmidt * tests/check/Makefile.am: Gah! Also disable gconfvideosink from the tests, otherwise it will instantiate autovideosink, and dfbvideosink and leak on the buildbots. 2007-03-04 Jan Schmidt * ext/cdio/gstcdiocddasrc.c: (gst_cdio_cdda_src_open), (gst_cdio_cdda_src_finalize): Make sure we always destroy our libcdio handle. 2007-03-04 Jan Schmidt * tests/check/Makefile.am: Disable autovideosink so the buildbots don't barf over memory leaked in the directfb sink. 2007-03-04 Jan Schmidt * sys/ximage/gstximagesrc.c: (gst_ximage_src_dispose): Chain up in dispose 2007-03-04 Jan Schmidt * gst/multipart/multipartdemux.c: (gst_multipart_demux_init), (gst_multipart_find_pad_by_mime): Use gst_pad_new_from_static_template instead of static_pad_template_get+pad_new. 2007-03-04 Jan Schmidt * sys/ximage/gstximagesrc.c: (gst_ximage_src_create): Catch the case where no clock has been set. 2007-03-04 Jan Schmidt * ext/flac/gstflacenc.c: (gst_flac_enc_finalize): * ext/gconf/gstgconfaudiosink.c: (gst_gconf_audio_sink_class_init), (gst_gconf_audio_sink_dispose), (gst_gconf_audio_sink_finalize): * ext/gconf/gstgconfaudiosrc.c: (gst_gconf_audio_src_base_init), (gst_gconf_audio_src_class_init), (gst_gconf_audio_src_dispose), (gst_gconf_audio_src_finalize), (do_toggle_element): * ext/gconf/gstgconfvideosink.c: (gst_gconf_video_sink_base_init), (gst_gconf_video_sink_class_init), (gst_gconf_video_sink_finalize), (do_toggle_element): * ext/gconf/gstgconfvideosrc.c: (gst_gconf_video_src_base_init), (gst_gconf_video_src_class_init), (gst_gconf_video_src_dispose), (gst_gconf_video_src_finalize), (do_toggle_element): * ext/gconf/gstswitchsink.c: (gst_switch_sink_class_init), (gst_switch_sink_reset), (gst_switch_sink_set_child): * ext/hal/gsthalaudiosink.c: (gst_hal_audio_sink_base_init): * ext/hal/gsthalaudiosrc.c: (gst_hal_audio_src_base_init): * ext/shout2/gstshout2.c: (gst_shout2send_class_init), (gst_shout2send_init), (gst_shout2send_finalize): * gst/debug/testplugin.c: (gst_test_class_init), (gst_test_finalize): * gst/flx/gstflxdec.c: (gst_flxdec_class_init), (gst_flxdec_dispose): * gst/multipart/multipartmux.c: (gst_multipart_mux_finalize): * gst/rtp/gstrtpmp4gpay.c: (gst_rtp_mp4g_pay_finalize): * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_init), (gst_rtspsrc_finalize): * gst/rtsp/rtspextwms.c: (rtsp_ext_wms_free_context): * gst/rtsp/rtspextwms.h: * gst/smpte/gstsmpte.c: (gst_smpte_class_init), (gst_smpte_finalize): * gst/udp/gstmultiudpsink.c: (gst_multiudpsink_finalize): * gst/udp/gstudpsink.c: (gst_udpsink_class_init), (gst_udpsink_finalize): * gst/wavparse/gstwavparse.c: (gst_wavparse_dispose), (gst_wavparse_sink_activate): * sys/oss/gstosssink.c: (gst_oss_sink_finalise): * sys/oss/gstosssrc.c: (gst_oss_src_class_init), (gst_oss_src_finalize): * sys/v4l2/gstv4l2object.c: (gst_v4l2_object_destroy): * sys/v4l2/gstv4l2object.h: * sys/v4l2/gstv4l2src.c: (gst_v4l2src_class_init), (gst_v4l2src_finalize): * sys/ximage/gstximagesrc.c: (gst_ximage_src_ximage_get): Fix a bunch of leaks shown by the newly-added states test. 2007-03-04 Jan Schmidt * ext/dv/gstdvdec.c: (gst_dvdec_init): Use gst_pad_new_from_static_template instead of static_pad_template_get+pad_new. 2007-03-03 Tim-Philipp Müller Patch by: Loïc Minier * ext/libcaca/Makefile.am: * gst/debug/Makefile.am: Don't mix tabs and spaces (#414168). 2007-03-02 Stefan Kost * tests/check/generic/.cvsignore: Ignore files to please buildbot. 2007-03-02 Stefan Kost * gst/wavparse/gstwavparse.c: (gst_wavparse_stream_headers), (gst_wavparse_stream_data): Unbreak my previous commit (swapped nominator & denominator). Tim, thanks for spotting. 2007-03-02 Wim Taymans * ext/cdio/gstcdiocddasrc.c: (gst_cdio_cdda_src_probe_devices), (gst_cdio_cdda_src_read_sector), (gst_cdio_cdda_src_open), (gst_cdio_cdda_src_finalize): Small code cleanups. Don't use pad_alloc as the base class cannot deal with the error codes. 2007-03-02 Wim Taymans * gst/udp/gstudpsrc.c: (gst_udpsrc_class_init), (gst_udpsrc_create): Fix doc. 2007-03-02 Stefan Kost Patch by: René Stadler * gst/wavparse/gstwavparse.c: (uint64_ceiling_scale_int), (gst_wavparse_perform_seek), (gst_wavparse_stream_headers), (gst_wavparse_stream_data): Handle rounding better to not drop last sample frame. Fixes #356692 2007-03-02 Jan Schmidt * tests/check/Makefile.am: Disable cacasink from the states check too - it also calls exit(1) on us when it can't find a terminal to talk to. 2007-03-02 Wim Taymans Patch by: Thijs Vermeir * gst/udp/gstudpsrc.c: (gst_udpsrc_class_init), (gst_udpsrc_init), (gst_udpsrc_create), (gst_udpsrc_set_property), (gst_udpsrc_get_property): * gst/udp/gstudpsrc.h: Add support to strip proprietary headers. Fixes #350296. 2007-03-02 Wim Taymans * gst/rtp/gstrtpmp2tdepay.c: (gst_rtp_mp2t_depay_process): Fix compilation. 2007-03-02 Wim Taymans Patch by: Thijs Vermeir * gst/rtp/gstrtpmp2tdepay.c: (gst_rtp_mp2t_depay_class_init), (gst_rtp_mp2t_depay_init), (gst_rtp_mp2t_depay_process), (gst_rtp_mp2t_depay_set_property), (gst_rtp_mp2t_depay_get_property): * gst/rtp/gstrtpmp2tdepay.h: Add support to strip off proprietary headers. Fixes #350278. 2007-03-02 Wim Taymans * ext/hal/hal.c: Fix compilation. 2007-03-02 Wim Taymans * sys/sunaudio/gstsunaudiosrc.c: (gst_sunaudiosrc_class_init), (gst_sunaudiosrc_init), (gst_sunaudiosrc_get_property), (gst_sunaudiosrc_open): * sys/sunaudio/gstsunaudiosrc.h: Remove device-name from GstSunAudioSrc. Fixes #412597. 2007-03-01 Sebastian Dröge * ext/hal/gsthalaudiosink.c: (do_toggle_element): * ext/hal/gsthalaudiosrc.c: (do_toggle_element): Having NULL as UDI previously selected the default sink/src. Change this back but mention it in the debug output. * ext/hal/hal.c: (gst_hal_get_alsa_element), (gst_hal_get_oss_element), (gst_hal_get_string), (gst_hal_render_bin_from_udi), (gst_hal_get_audio_sink), (gst_hal_get_audio_src): * ext/hal/hal.h: Refactor a bit, check all error conditions, greatly improve debugging and fix some possible memory leaks. Also implement OSS support and allow specifying an UDI that points to a real device. For this the child device which supports ALSA (preferred) or OSS is used. As a side effect this makes it impossible now to get a alsasink in halaudiosrc and a alsasrc in halaudiosink. 2007-03-01 Wim Taymans * gst/rtsp/gstrtspsrc.c: (find_stream_by_channel), (find_stream_by_udpsrc), (gst_rtspsrc_handle_message): Errors from the udp sources are not fatal unless all of them are in error. 2007-03-01 Jan Schmidt * tests/check/Makefile.am: Disable aasink in the states test. I suspect this is the element that is calling exit(1) when it can't proceed. 2007-03-01 Jan Schmidt * tests/check/Makefile.am: Draw plugins in from the build tree sys/ dir, rather than picking up the already installed versions. 2007-03-01 Zaheer Abbas Merali * sys/ximage/gstximagesrc.c: (gst_ximage_src_open_display): Error out correctly when getting xcontext fails. 2007-03-01 Wim Taymans * gst/rtsp/gstrtpdec.c: (gst_rtpdec_change_state): Make state change to PAUSED NO_PREROLL because that's what it will be in the future and rtspsrc relies on it. * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_change_state): Don't error out when we don't get an error from the state change function. 2007-03-01 Sebastian Dröge * ext/hal/gsthalaudiosink.c: (do_toggle_element): * ext/hal/gsthalaudiosrc.c: (do_toggle_element): Check if the device UDI is set before trying to query HAL about it and give a useful error message if it wasn't set. * ext/hal/hal.c: (gst_hal_get_string): Don't query HAL for NULL UDIs. Passing NULL as UDI to HAL gives an assertion failure in D-Bus when running with DBUS_FATAL_WARNINGS=1. 2007-02-28 Thomas Vander Stichele * configure.ac: Convert to new AG_GST style. 2007-02-28 Thomas Vander Stichele * tests/check/Makefile.am: * tests/check/generic/states.c: (GST_START_TEST), (states_suite): add test for states 2007-02-28 Wim Taymans * tests/check/elements/.cvsignore: Add new videofilter check to .cvsignore. 2007-02-28 Wim Taymans * gst/avi/gstavidemux.c: (gst_avi_demux_combine_flows), (gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data), (gst_avi_demux_loop), (gst_avi_demux_chain): Fix combined flow return. Fixes #412608. 2007-02-28 Wim Taymans * gst/videofilter/Makefile.am: Dist header.. 2007-02-28 Wim Taymans * gst/videofilter/gstgamma.h: Add header too. 2007-02-28 Wim Taymans Patch by: Mark Nauwelaerts * gst/videofilter/Makefile.am: * gst/videofilter/gstgamma.c: (gst_gamma_base_init), (gst_gamma_class_init), (gst_gamma_init), (gst_gamma_set_property), (gst_gamma_get_property), (gst_gamma_calculate_tables), (oil_tablelookup_u8), (gst_gamma_set_caps), (gst_gamma_planar411_ip), (gst_gamma_transform_ip), (plugin_init): Port gamma filter to 0.10. Fixes #412704. * tests/check/Makefile.am: * tests/check/elements/videofilter.c: (setup_filter), (cleanup_filter), (check_filter), (GST_START_TEST), (videobalance_suite), (videoflip_suite), (gamma_suite), (main): Add unit tests for videofilters. 2007-02-28 Wim Taymans * gst/rtsp/URLS: Add another interesting test url. * gst/rtsp/rtspmessage.c: (rtsp_message_get_header): Don't allow getting header fields from data packets. 2007-02-28 Michael Smith * ext/shout2/gstshout2.c: (gst_shout2send_class_init), (gst_shout2send_init), (gst_shout2send_start), (gst_shout2send_set_property), (gst_shout2send_get_property): * ext/shout2/gstshout2.h: Add a property for username. 2007-02-27 Christian Schallerr * sys/osxaudio: Add Pioneers of the inevitable to the copyright list 2007-02-26 Jan Schmidt * gst/rtsp/Makefile.am: Fix make check too. 2007-02-26 Jan Schmidt * gst/rtsp/base64.c: (util_base64_encode): * gst/rtsp/base64.h: Commit missing files for base64 encoding. 2007-02-24 Tim-Philipp Müller Patch by: Loïc Minier * configure.ac: * ext/annodex/Makefile.am: * ext/jpeg/Makefile.am: * ext/speex/Makefile.am: * gst/alpha/Makefile.am: * gst/cutter/Makefile.am: * gst/debug/Makefile.am: * gst/effectv/Makefile.am: * gst/goom/Makefile.am: * gst/level/Makefile.am: * gst/smpte/Makefile.am: * gst/videofilter/Makefile.am: Fix build with LDFLAGS='-Wl,-z,defs' (#410997) 2007-02-23 Jan Schmidt * gst/rtsp/Makefile.am: * gst/rtsp/rtspconnection.c: (append_auth_header), (rtsp_connection_send), (rtsp_connection_set_auth): g_base64_encode is a GLib 2.12 function. Use an equivalent taken from icecast to replace it. Relicensed from GPL courtesy of Mike Smith. 2007-02-23 Jan Schmidt * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_finalize), (gst_rtspsrc_create_stream), (rtsp_auth_method_to_string), (gst_rtspsrc_parse_auth_hdr), (gst_rtspsrc_setup_auth), (gst_rtspsrc_send), (gst_rtspsrc_try_send), (gst_rtspsrc_open), (gst_rtspsrc_close), (gst_rtspsrc_play), (gst_rtspsrc_pause), (gst_rtspsrc_uri_set_uri): * gst/rtsp/gstrtspsrc.h: * gst/rtsp/rtspconnection.c: (rtsp_connection_create), (append_auth_header), (rtsp_connection_send), (rtsp_connection_free), (rtsp_connection_set_auth): * gst/rtsp/rtspconnection.h: * gst/rtsp/rtspdefs.h: * gst/rtsp/rtspurl.c: (rtsp_url_get_request_uri): * gst/rtsp/rtspurl.h: Implement simple Basic Authentication support so that urls like rtsp://user:pass@hostname/rtspstream work on hosts that require authentication. 2007-02-22 Edgard Lima * sys/v4l2/gstv4l2object.c: * sys/v4l2/gstv4l2tuner.c: * sys/v4l2/v4l2_calls.c: Fix segfault when oppening a radio device. 2007-02-22 Stefan Kost * gst/level/gstlevel.c: (gst_level_set_caps), (gst_level_transform_ip): * sys/v4l2/README: * tests/check/elements/level.c: (GST_START_TEST): Fix level for multi-channel case. 2007-02-21 Stefan Kost * gst/level/gstlevel.c: (gst_level_init), (gst_level_set_caps), (gst_level_transform_ip): * gst/level/gstlevel.h: Use function pointer for process function and add process functions for float audio. 2007-02-19 Stefan Kost * sys/v4l2/v4l2src_calls.c: (gst_v4l2src_fill_format_list), (gst_v4l2src_grab_frame), (gst_v4l2src_set_capture), (gst_v4l2src_capture_init): Readd GST_ELEMENT_ERROR if we can't reenque buffers after EIO, fixes #407369 2007-02-18 Wim Taymans * gst/rtp/Makefile.am: * gst/rtp/gstrtp.c: (plugin_init): * gst/rtp/gstrtpmp2tpay.c: (gst_rtp_mp2t_pay_base_init), (gst_rtp_mp2t_pay_class_init), (gst_rtp_mp2t_pay_init), (gst_rtp_mp2t_pay_setcaps), (gst_rtp_mp2t_pay_handle_buffer), (gst_rtp_mp2t_pay_plugin_init): * gst/rtp/gstrtpmp2tpay.h: Added simple mpeg transport stream payloader. 2007-02-16 Wim Taymans * gst/rtsp/URLS: Add example H264 rtsp url. * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_media_to_caps), (gst_rtspsrc_handle_message), (gst_rtspsrc_change_state): Don't convert values to lowercase or we might mess up base64 encoded properties. 2007-02-16 Wim Taymans * gst/rtp/README: Fix case of string params. * gst/rtp/gstrtph264depay.c: (gst_rtp_h264_depay_class_init), (gst_rtp_h264_depay_setcaps), (gst_rtp_h264_depay_process): Fix depayloader, support more packet types. Add sync codes to make sure the packetizer can do its job. * gst/rtp/gstrtpmp4gdepay.c: * gst/rtp/gstrtpmp4gpay.c: * gst/rtp/gstrtpmpvdepay.c: (gst_rtp_mpv_depay_process): Fix caps case again. 2007-02-15 Wim Taymans * gst/rtp/gstrtph264depay.c: (gst_rtp_h264_depay_process): Set right caps on output buffers. 2007-02-14 Wim Taymans * gst/rtsp/sdpmessage.c: (sdp_parse_line): As spotted by: Peter Kjellerstedt : Clear stack allocated SDPMedia struct before calling _init() on it. Clarify this in the docs as well. 2007-02-14 Jan Schmidt * ext/gconf/gstgconfaudiosink.c: (gst_gconf_audio_sink_reset), (do_change_child): Don't reset the profile when going switching states, as it makes the element non-reusable. 2007-02-14 Wim Taymans * gst/rtsp/sdpmessage.c: (sdp_origin_init), (sdp_connection_init), (sdp_bandwidth_init), (sdp_time_init), (sdp_zone_init), (sdp_key_init), (sdp_attribute_init), (sdp_message_init), (sdp_message_uninit), (sdp_message_free), (sdp_media_init), (sdp_media_uninit), (sdp_media_free), (sdp_message_add_media), (sdp_parse_line): * gst/rtsp/sdpmessage.h: Based on patch by: jp.liu Fix memory management of SDP messages. Fixes #407793. 2007-02-14 Stefan Kost Patch by: zhangfei gao * gst/avi/gstavimux.c: (gst_avi_mux_vidsink_set_caps): Allow muxing video/x-h264 (was already in the caps). Fixes #407780. 2007-02-14 Wim Taymans Patch by: jp.liu * gst/rtsp/rtspurl.c: (rtsp_url_parse): Fix parsing of password field in url. Fixes #407797. 2007-02-14 Wim Taymans * gst/wavparse/gstwavparse.c: (gst_wavparse_class_init), (gst_wavparse_reset), (gst_wavparse_init), (gst_wavparse_destroy_sourcepad), (gst_wavparse_fmt), (gst_wavparse_parse_file_header), (gst_wavparse_stream_init), (gst_wavparse_perform_seek), (gst_wavparse_peek_chunk_info), (gst_wavparse_stream_headers), (gst_wavparse_parse_stream_init), (gst_wavparse_add_src_pad), (gst_wavparse_stream_data), (gst_wavparse_loop), (gst_wavparse_chain), (gst_wavparse_pad_convert), (gst_wavparse_pad_query), (gst_wavparse_srcpad_event), (gst_wavparse_change_state), (plugin_init): * gst/wavparse/gstwavparse.h: Update docs. Use boilerplate. Various code cleanups. When the bitrate is not known (bps == 0 or compressed formats) let downstream element guestimate the duration and position and don't generate timestamps or durations. Fixes #405213. Fix EOS and ERROR conditions in chain mode, we just need to forward the error flowreturn upstream. 2007-02-13 Jan Schmidt * ext/gconf/Makefile.am: * ext/gconf/gconf.c: (gst_gconf_get_string), (gst_gconf_get_key_for_sink_profile), (gst_gconf_set_string), (gst_gconf_render_bin_with_default): * ext/gconf/gconf.h: * ext/gconf/gstgconfaudiosink.c: (gst_gconf_audio_sink_base_init), (gst_gconf_audio_sink_reset), (gst_gconf_audio_sink_init), (gst_gconf_audio_sink_dispose), (do_change_child), (gst_gconf_switch_profile), (gst_gconf_audio_sink_set_property), (cb_change_child), (gst_gconf_audio_sink_change_state): * ext/gconf/gstgconfaudiosink.h: * ext/gconf/gstswitchsink.c: (gst_switch_sink_base_init), (gst_switch_sink_class_init), (gst_switch_sink_reset), (gst_switch_sink_init), (gst_switch_sink_dispose), (gst_switch_commit_new_kid), (gst_switch_sink_set_child), (gst_switch_sink_set_property), (gst_switch_sink_handle_event), (gst_switch_sink_get_property), (gst_switch_sink_change_state): * ext/gconf/gstswitchsink.h: * gst/autodetect/gstautoaudiosink.c: (gst_auto_audio_sink_class_init), (gst_auto_audio_sink_dispose), (gst_auto_audio_sink_clear_kid), (gst_auto_audio_sink_reset), (gst_auto_audio_sink_detect): * gst/autodetect/gstautovideosink.c: (gst_auto_video_sink_class_init), (gst_auto_video_sink_dispose), (gst_auto_video_sink_clear_kid), (gst_auto_video_sink_reset), (gst_auto_video_sink_detect): Re-factor the gconfaudiosink into a "GstSwitchSink" base class and a child that implements the GConf key monitoring. The end goal of this is an audio sink that can be changed on the fly, but at the moment it still only changes on the next READY transition. 2007-02-13 Stefan Kost * gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query), (gst_avi_demux_parse_index), (gst_avi_demux_stream_index), (gst_avi_demux_sync), (gst_avi_demux_massage_index), (gst_avi_demux_calculate_durations_from_index), (gst_avi_demux_push_event), (gst_avi_demux_stream_header_pull), (gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data), (gst_avi_demux_loop): Put debug stuff into #ifndef GST_DISABLE_DEBUG #endif 2007-02-13 Stefan Kost * configure.ac: * docs/plugins/Makefile.am: Add crossreferences to glib/gobject/gstream docs. 2007-02-12 Tim-Philipp Müller * gst/monoscope/Makefile.am: * gst/monoscope/gstmonoscope.c: Fix copy'n'paste-o in docs chunk. Also add some missing CFLAGS (but no LIBS, since we only use defines from the headers). 2007-02-12 Tim-Philipp Müller Based on patch by: Jonathan Matthew * gst/wavparse/gstwavparse.c: (gst_wavparse_parse_stream_init), (gst_wavparse_stream_data): Fix massive memory leak when operating in streaming mode due to GST_BUFFER_MALLOCDATA() not being set on newly-created buffers. Fixes #407057. 2007-02-12 Stefan Kost * gst/avi/gstavidemux.c: (gst_avi_demux_class_init), (gst_avi_demux_reset), (gst_avi_demux_index_entry_for_time), (gst_avi_demux_handle_src_query), (gst_avi_demux_parse_superindex), (gst_avi_demux_parse_subindex), (gst_avi_demux_parse_stream), (gst_avi_demux_parse_index), (gst_avi_demux_stream_index), (gst_avi_demux_sync), (gst_avi_demux_next_data_buffer), (gst_avi_demux_stream_scan), (gst_avi_demux_massage_index), (gst_avi_demux_calculate_durations_from_index), (gst_avi_demux_push_event), (gst_avi_demux_stream_header_pull), (gst_avi_demux_do_seek), (gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data), (gst_avi_demux_loop): * gst/avi/gstavidemux.h: Save some memory (8%) by repacking the index entry structure (more to come). Add more FIXMEs to questionable parts. 2007-02-12 Stefan Kost * sys/v4l2/gstv4l2src.c: (gst_v4l2src_v4l2fourcc_to_caps), (gst_v4l2src_get_caps): * sys/v4l2/v4l2src_calls.c: (gst_v4l2src_fill_format_list), (gst_v4l2src_grab_frame), (gst_v4l2src_set_capture), (gst_v4l2src_capture_init): More FIXME comments and messaging changes. 2007-02-12 Stefan Kost * gst/goom/gstgoom.c: (gst_goom_class_init), (gst_goom_init), (gst_goom_change_state): * gst/goom/gstgoom.h: Improved docs and use GST_DEBUG_FUNCPTR. * gst/level/gstlevel.c: (gst_level_class_init): Use GST_DEBUG_FUNCPTR. * gst/monoscope/gstmonoscope.c: (gst_monoscope_init), (gst_monoscope_chain), (gst_monoscope_change_state): Improved docs source cleanups. 2007-02-12 Tim-Philipp Müller * gst/debug/Makefile.am: * gst/debug/gstdebug.c: (plugin_init): * gst/debug/gstpushfilesrc.c: * gst/debug/gstpushfilesrc.h: Add code for a pushfilesrc element that implements a pushfile:// URI handler, to make debugging push-mode operation of demuxer/decoders that support both easier in connection with seek/playbin/etc. The element isn't registered at the moment. 2007-02-11 Sébastien Moutte * gst/avi/gstavimux.c: Comment a #if 0 in caps template definition as VS6 seems to do not support it. * gst/rtsp/gstrtspsrc.c:(gst_rtspsrc_loop_udp): Use gst_guint64_to_gdouble for conversion. * gst/rtsp/rtspconnection.c:(rtsp_connection_send): Move variables declaration before the first instruction. * gst/rtsp/rtspdefs.c:(rtsp_strresult): Don't use hstrerror for error log on G_OS_WIN32 build as it's not supported. And don't include netdb.h for G_OS_WIN32 * gst/rtsp/sdpmessage.c:(sdp_parse_line): This initialization SDPMedia nmedia = {.media = NULL }; is not supported by VS6 then use an other way to initialize SDPMedia structure. * gst/udp/gstdynudpsink.h: * gst/udp/gstdynudpnetutils.h: Do not include for G_OS_WIN32 * gst/udp/gstudpsrc.c: Define socklen_t as int for G_OS_WIN32 * win/common/config.h.in: Undef HAVE_NETINET_IN_H * win32/vs6/gst_plugins_good.dsw: * win32/vs6/libgstrtp.dsp: * win32/vs6/libgstrtsp.dsp: * win32/vs6/libgstautogen.dsp: * win32/vs6/libgstaudiofx.dsp: * win32/vs6/libgstudp.dsp: Add and update project files. * win32/common/gstudp-enumtypes.c: * win32/common/gstudp-enumtypes.h: Add a copy of udp enumtypes to win32/common as in core and base. 2007-02-11 Stefan Kost * configure.ac: Activate monoscope when building with --enable-experimental. Fix --enable-external configure switch description. * sys/sunaudio/gstsunaudiomixer.c: (gst_sunaudiomixer_base_init): * sys/sunaudio/gstsunaudiosrc.c: (gst_sunaudiosrc_dispose): Help gst-indent. 2007-02-09 Tim-Philipp Müller * gst/avi/gstavimux.c: (gst_avi_mux_riff_get_avi_header): Explicitly cast result of pointer arithmetic to integer in order to avoid compiler warnings on some 64-bit systems. Should fix #406018. 2007-02-08 Tim-Philipp Müller * gst/debug/progressreport.c: Some more docs. 2007-02-07 Tim-Philipp Müller * docs/plugins/inspect/plugin-rtp.xml: Update for new elements. * gst/debug/progressreport.h: Commit newly-created header file as well. 2007-02-07 Tim-Philipp Müller * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * docs/plugins/gst-plugins-good-plugins.hierarchy: * gst/debug/Makefile.am: * gst/debug/progressreport.c: (gst_progress_report_post_progress), (gst_progress_report_do_query), (gst_progress_report_report): Make progressreport element post messages with the current progress on the bus. Also add some basic docs for it. 2007-01-30 Tim-Philipp Müller * ext/hal/hal.c: (gst_hal_get_string): * ext/hal/hal.h: Some small cleanups; deal with errors when parsing the HAL ALSA capabilities a bit better. 2007-02-06 Tim-Philipp Müller * gst/smpte/gstsmpte.c: (gst_smpte_transition_type_get_type): Let's try this again and use the right cast this time. 2007-02-06 Tim-Philipp Müller * gst/smpte/gstsmpte.c: (gst_smpte_transition_type_get_type): Add cast to avoid compiler warnings with older GLib versions where the nick/name members in GEnumValue are not declared as constant strings. 2007-02-06 Tim-Philipp Müller * ext/gconf/gconf.c: (gst_gconf_get_key_for_sink_profile), (gst_gconf_render_bin_from_key), (gst_gconf_get_default_audio_sink): * ext/gconf/gconf.h: * ext/gconf/gstgconfaudiosink.c: (get_gconf_key_for_profile), (do_toggle_element), (gst_gconf_audio_sink_set_property), (gst_gconf_audio_sink_get_property): In gconfaudiosink, get the right key as the old key in do_toggle (ie. one dependent on the profile selected). Log some more stuff so we can see what's actually going on. 2007-02-06 Sebastian Dröge * gst/audiofx/audioamplify.c: (gst_audio_amplify_base_init), (gst_audio_amplify_class_init), (gst_audio_amplify_init), (gst_audio_amplify_set_process_function), (gst_audio_amplify_setup): * gst/audiofx/audioamplify.h: * gst/audiofx/audioinvert.c: (gst_audio_invert_base_init), (gst_audio_invert_class_init), (gst_audio_invert_setup): * gst/audiofx/audioinvert.h: Some small cleanups and port both elements to the new GstAudioFilter base class to save a few lines of common code. * gst/audiofx/Makefile.am: Link against libgstaudio for the above changes 2007-01-29 Wim Taymans * tests/check/elements/.cvsignore: Some more ignores. 2007-01-26 Wim Taymans Patch by: charles * ext/shout2/gstshout2.c: (gst_shout2send_init), (set_shout_metadata), (gst_shout2send_event): * ext/shout2/gstshout2.h: Properly handle tags in shout2send. Fixes #399825. 2007-01-25 Wim Taymans * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_media_to_caps), (gst_rtspsrc_activate_streams): Convert SDP fields to upper/lowercase following the rules in the SDP to caps document. 2007-01-25 Wim Taymans * gst/rtp/README: * gst/rtp/gstrtpilbcdepay.c: * gst/rtp/gstrtpilbcpay.c: * gst/rtp/gstrtpmp4gdepay.c: * gst/rtp/gstrtpmp4gpay.c: * gst/rtp/gstrtpspeexdepay.c: * gst/rtp/gstrtpspeexpay.c: * gst/rtp/gstrtpsv3vdepay.c: * gst/rtp/gstrtptheoradepay.c: * gst/rtp/gstrtptheorapay.c: * gst/rtp/gstrtpvorbisdepay.c: * gst/rtp/gstrtpvorbispay.c: Fix case of encoding-name and key/value pairs to match the document. This is to make interoperation with SDP case-insensitive as required by the relevant RFCs. 2007-01-25 Wim Taymans * configure.ac: Bump required -core/-base to CVS 2007-01-25 Wim Taymans * gst/rtp/gstrtpL16pay.c: (gst_rtp_L16_pay_setcaps), (gst_rtp_L16_pay_flush), (gst_rtp_L16_pay_handle_buffer): * gst/rtp/gstrtpL16pay.h: Fill up to MTU using adapter. Timestamp rtp packets. 2007-01-25 Edward Hervey * gst/multipart/multipartmux.c: (gst_multipart_mux_collected): * sys/ximage/ximageutil.c: (ximageutil_check_xshm_calls): Use G_GSIZE_FORMAT in print statements for portability. Fixes build on macosx. 2007-01-24 Wim Taymans * gst/rtp/Makefile.am: * gst/rtp/gstrtp.c: (plugin_init): * gst/rtp/gstrtpL16depay.c: (gst_rtp_L16_depay_base_init), (gst_rtp_L16_depay_class_init), (gst_rtp_L16_depay_init), (gst_rtp_L16_depay_parse_int), (gst_rtp_L16_depay_setcaps), (gst_rtp_L16_depay_process), (gst_rtp_L16_depay_set_property), (gst_rtp_L16_depay_get_property), (gst_rtp_L16_depay_change_state), (gst_rtp_L16_depay_plugin_init): * gst/rtp/gstrtpL16depay.h: * gst/rtp/gstrtpL16pay.c: (gst_rtp_L16_pay_get_type), (gst_rtp_L16_pay_base_init), (gst_rtp_L16_pay_class_init), (gst_rtp_L16_pay_init), (gst_rtp_L16_pay_finalize), (gst_rtp_L16_pay_setcaps), (gst_rtp_L16_pay_handle_buffer), (gst_rtp_L16_pay_plugin_init): * gst/rtp/gstrtpL16pay.h: Port and enable raw audio payloader/depayloader. Needs a bit more work on the payloader side. 2007-01-24 Wim Taymans * gst/rtsp/gstrtspsrc.c: (pad_blocked), (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_activate_streams), (gst_rtspsrc_loop_udp): * gst/rtsp/gstrtspsrc.h: Only unblock the udp pads when we linked and activated them all. Fixes #395688. 2007-01-24 Wim Taymans * gst/rtp/Makefile.am: * gst/rtp/gstrtp.c: (plugin_init): * gst/rtp/gstrtpac3depay.c: (gst_rtp_ac3_depay_base_init), (gst_rtp_ac3_depay_class_init), (gst_rtp_ac3_depay_init), (gst_rtp_ac3_depay_setcaps), (gst_rtp_ac3_depay_process), (gst_rtp_ac3_depay_set_property), (gst_rtp_ac3_depay_get_property), (gst_rtp_ac3_depay_change_state), (gst_rtp_ac3_depay_plugin_init): * gst/rtp/gstrtpac3depay.h: Added simple AC3 depayloader (RFC 4184). * gst/rtp/gstrtpmp2tdepay.c: (gst_rtp_mp2t_depay_setcaps): Fix a leak. 2007-01-24 Sebastian Dröge reviewed by: Stefan Kost * gst/audiofx/Makefile.am: * gst/audiofx/audioamplify.c: (gst_audio_amplify_clipping_method_get_type), (gst_audio_amplify_base_init), (gst_audio_amplify_class_init), (gst_audio_amplify_init), (gst_audio_amplify_set_process_function), (gst_audio_amplify_set_property), (gst_audio_amplify_get_property), (gst_audio_amplify_set_caps), (gst_audio_amplify_transform_int_clip), (gst_audio_amplify_transform_int_wrap_negative), (gst_audio_amplify_transform_int_wrap_positive), (gst_audio_amplify_transform_float_clip), (gst_audio_amplify_transform_float_wrap_negative), (gst_audio_amplify_transform_float_wrap_positive), (gst_audio_amplify_transform_ip): * gst/audiofx/audioamplify.h: * gst/audiofx/audiofx.c: (plugin_init): Add new element "audioamplify". This allows scaling of raw audio samples, similar to the "volume" element, but provides different modes for clipping and allows unlimited amplification. It's mainly targeted for creative sound design and not as a replacement of the "volume" element. Fixes #397162 * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * docs/plugins/gst-plugins-good-plugins.args: * docs/plugins/inspect/plugin-audiofx.xml: Add docs for audioamplify and integrate them into the build system * tests/check/Makefile.am: * tests/check/elements/audioamplify.c: (setup_amplify), (cleanup_amplify), (GST_START_TEST), (amplify_suite), (main): Add fairly extensive unit test suite for audioamplify 2007-01-24 Wim Taymans * gst/rtsp/gstrtspsrc.c: (pad_unblocked), (pad_blocked): Unblock pads after adding the pads to the element so that autopluggers get a change to link something. Possibly fixes #395688. 2007-01-24 Wim Taymans * gst/rtp/gstrtpamrdepay.c: * gst/rtp/gstrtpgsmdepay.c: * gst/rtp/gstrtph263pdepay.c: * gst/rtp/gstrtph263ppay.c: * gst/rtp/gstrtph264depay.c: * gst/rtp/gstrtpilbcdepay.c: * gst/rtp/gstrtpmp2tdepay.c: * gst/rtp/gstrtpmp4gdepay.c: * gst/rtp/gstrtpmp4gpay.c: * gst/rtp/gstrtpmp4vdepay.c: (gst_rtp_mp4v_depay_class_init): * gst/rtp/gstrtpmp4vpay.c: * gst/rtp/gstrtpmpadepay.c: (gst_rtp_mpa_depay_class_init), (gst_rtp_mpa_depay_init), (gst_rtp_mpa_depay_setcaps), (gst_rtp_mpa_depay_process): * gst/rtp/gstrtpmpvdepay.c: (gst_rtp_mpv_depay_class_init), (gst_rtp_mpv_depay_init), (gst_rtp_mpv_depay_process): * gst/rtp/gstrtppcmadepay.c: * gst/rtp/gstrtppcmudepay.c: * gst/rtp/gstrtpspeexdepay.c: * gst/rtp/gstrtpspeexpay.c: * gst/rtp/gstrtpsv3vdepay.c: * gst/rtp/gstrtptheoradepay.c: * gst/rtp/gstrtptheorapay.c: * gst/rtp/gstrtpvorbisdepay.c: * gst/rtp/gstrtpvorbispay.c: Fix caps with payload numbers. Add some fixed payload numbers to caps when possible. 2007-01-23 Sebastian Dröge reviewed by: Stefan Kost * gst/audiofx/Makefile.am: * gst/audiofx/audiofx.c: (plugin_init): * gst/audiofx/audioinvert.c: (gst_audio_invert_base_init), (gst_audio_invert_class_init), (gst_audio_invert_init), (gst_audio_invert_set_property), (gst_audio_invert_get_property), (gst_audio_invert_set_caps), (gst_audio_invert_transform_int), (gst_audio_invert_transform_float), (gst_audio_invert_transform_ip): * gst/audiofx/audioinvert.h: Add new audiofx element "audioinvert". This element swaps the upper and lower half of samples and can be used for example for a wide-stereo effect. Fixes #396057 * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * docs/plugins/gst-plugins-good-plugins.args: * docs/plugins/inspect/plugin-audiofx.xml: Add docs for the audioinvert element and add them to the build system. * tests/check/Makefile.am: * tests/check/elements/audioinvert.c: (setup_invert), (cleanup_invert), (GST_START_TEST), (invert_suite), (main): Add unit test suite for the audioinvert element. 2007-01-23 Wim Taymans * gst/rtp/gstrtpmp4gdepay.c: (gst_rtp_mp4g_depay_parse_int), (gst_rtp_mp4g_depay_setcaps), (gst_rtp_mp4g_depay_process): Parse config params as string and int. Parse and use AU header length 2007-01-23 Wim Taymans * gst/smpte/barboxwipes.c: (gst_wipe_boxes_draw), (gst_wipe_triangles_clock_draw), (gst_wipe_triangles_draw): * gst/smpte/gstmask.c: (_gst_mask_register): * gst/smpte/gstmask.h: * gst/smpte/gstsmpte.c: (gst_smpte_update_mask): * gst/smpte/paint.c: (gst_smpte_paint_hbox), (draw_bresenham_line), (gst_smpte_paint_triangle_clock): constify some static structs. Don't update the mask if nothing changed to the params. Make sure we never draw outside of the picture. Fixes #398325. 2007-01-22 Tim-Philipp Müller * gst/avi/gstavidemux.c: (gst_avi_demux_stream_header_pull): Error out properly when pull_range fails while we're reading the headers, instead of just pausing the task silently. Fixes #399338. 2007-01-19 Tim-Philipp Müller * gst/smpte/gstsmpte.c: (gst_smpte_collected): Some more sanity checks to make sure the input formats match and the input pads are actually negotiated, in case someone tries to feed buffers from fakesrc or filesrc. Fixes #398299. Also const-ify an array, just because we can. 2007-01-19 Edward Hervey * gst/smpte/gstsmpte.c: (fill_i420), (gst_smpte_collected): Ignore previous commit, that was only valid for widths and heights that are multiples of 4. Copy over size/stride macros from jpegdec. This allows the element to work with any width,height... ... but puts in evidence that the actual transformations only work with width/height that are multiples of 4. 2007-01-19 Edward Hervey * gst/smpte/gstsmpte.c: (gst_smpte_collected): Allocate buffers of the right size. The proper size of a I420 buffer in bytes is: width * height * 3 ------------------ 2 2007-01-18 Tim-Philipp Müller * gst/smpte/gstsmpte.c: (gst_smpte_init): Proxy getcaps on sink pads too, so that we either end up with the same dimensions on all pads or error out if that's not possible (seems to work even!). Fixes #398086, I think. 2007-01-18 Tim-Philipp Müller * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins.args: * docs/plugins/gst-plugins-good-plugins.hierarchy: Remove ladspa from docs; add hierarchy info for GstAudioPanorama; fix integer properties with -1 as minimum value. * docs/plugins/inspect/plugin-1394.xml: * docs/plugins/inspect/plugin-aasink.xml: * docs/plugins/inspect/plugin-alaw.xml: * docs/plugins/inspect/plugin-alpha.xml: * docs/plugins/inspect/plugin-alphacolor.xml: * docs/plugins/inspect/plugin-annodex.xml: * docs/plugins/inspect/plugin-apetag.xml: * docs/plugins/inspect/plugin-audiofx.xml: * docs/plugins/inspect/plugin-auparse.xml: * docs/plugins/inspect/plugin-autodetect.xml: * docs/plugins/inspect/plugin-avi.xml: * docs/plugins/inspect/plugin-cacasink.xml: * docs/plugins/inspect/plugin-cairo.xml: * docs/plugins/inspect/plugin-cdio.xml: * docs/plugins/inspect/plugin-cutter.xml: * docs/plugins/inspect/plugin-debug.xml: * docs/plugins/inspect/plugin-dv.xml: * docs/plugins/inspect/plugin-efence.xml: * docs/plugins/inspect/plugin-effectv.xml: * docs/plugins/inspect/plugin-esdsink.xml: * docs/plugins/inspect/plugin-flac.xml: * docs/plugins/inspect/plugin-flxdec.xml: * docs/plugins/inspect/plugin-gconfelements.xml: * docs/plugins/inspect/plugin-gdkpixbuf.xml: * docs/plugins/inspect/plugin-goom.xml: * docs/plugins/inspect/plugin-halelements.xml: * docs/plugins/inspect/plugin-icydemux.xml: * docs/plugins/inspect/plugin-id3demux.xml: * docs/plugins/inspect/plugin-jpeg.xml: * docs/plugins/inspect/plugin-level.xml: * docs/plugins/inspect/plugin-matroska.xml: * docs/plugins/inspect/plugin-mulaw.xml: * docs/plugins/inspect/plugin-multipart.xml: * docs/plugins/inspect/plugin-navigationtest.xml: * docs/plugins/inspect/plugin-ossaudio.xml: * docs/plugins/inspect/plugin-png.xml: * docs/plugins/inspect/plugin-rtp.xml: * docs/plugins/inspect/plugin-rtsp.xml: * docs/plugins/inspect/plugin-shout2send.xml: * docs/plugins/inspect/plugin-smpte.xml: * docs/plugins/inspect/plugin-speex.xml: * docs/plugins/inspect/plugin-taglib.xml: * docs/plugins/inspect/plugin-udp.xml: * docs/plugins/inspect/plugin-videobalance.xml: * docs/plugins/inspect/plugin-videobox.xml: * docs/plugins/inspect/plugin-videoflip.xml: * docs/plugins/inspect/plugin-videomixer.xml: * docs/plugins/inspect/plugin-wavenc.xml: * docs/plugins/inspect/plugin-wavparse.xml: * docs/plugins/inspect/plugin-ximagesrc.xml: Update to CVS. 2007-01-18 Stefan Kost Patch by: Sebastian Dröge * gst/audiofx/audiopanorama.c: Fix doc section name (Fixes #397946) 2007-01-17 Stefan Kost * sys/v4l2/gstv4l2object.c: (gst_v4l2_object_install_properties_helper), (gst_v4l2_object_set_property_helper), (gst_v4l2_object_get_property_helper), (gst_v4l2_set_defaults): * sys/v4l2/gstv4l2object.h: * sys/v4l2/gstv4l2src.c: (gst_v4l2src_class_init), (gst_v4l2src_init), (gst_v4l2src_set_property), (gst_v4l2src_get_property), (gst_v4l2src_set_caps): * sys/v4l2/v4l2src_calls.c: (gst_v4l2src_fill_format_list), (gst_v4l2src_grab_frame), (gst_v4l2src_set_capture), (gst_v4l2src_capture_init), (gst_v4l2src_capture_start), (gst_v4l2src_capture_deinit): Fix EIO handing when capturing. Add new property to specify the number of buffers to enque (and remove the borked num-buffers usage). 2007-01-16 Stefan Kost Patch by: Sebastian Dröge * gst/audiofx/audiopanorama.c: (gst_audio_panorama_class_init), (gst_audio_panorama_set_process_function): Use a function array for process methods, add more docs and define the startindex of enums. 2007-01-14 Tim-Philipp Müller Patch by: Mark Nauwelaerts * gst/avi/gstavimux.c: (gst_avi_mux_finalize), (gst_avi_mux_pad_reset), (gst_avi_mux_reset), (gst_avi_mux_init), (gst_avi_mux_vidsink_set_caps), (gst_avi_mux_audsink_set_caps), (gst_avi_mux_request_new_pad), (gst_avi_mux_release_pad), (gst_avi_mux_riff_get_avi_header), (gst_avi_mux_riff_get_avix_header), (gst_avi_mux_riff_get_header), (gst_avi_mux_write_avix_index), (gst_avi_mux_add_index), (gst_avi_mux_bigfile), (gst_avi_mux_start_file), (gst_avi_mux_stop_file), (gst_avi_mux_handle_event), (gst_avi_mux_do_buffer), (gst_avi_mux_do_one_buffer), (gst_avi_mux_change_state): * gst/avi/gstavimux.h: * tests/check/elements/avimux.c: (teardown_src_pad): Add support for more than one audio stream; write better AVIX header; refactor code a bit; don't announce vorbis caps on our audio sink pads since we don't support it anyway. Closes #379298. 2007-01-13 Tim-Philipp Müller Patch by: Sebastian Dröge * gst/audiofx/audiopanorama.c: (gst_audio_panorama_method_get_type), (gst_audio_panorama_class_init), (gst_audio_panorama_init), (gst_audio_panorama_set_process_function), (gst_audio_panorama_set_property), (gst_audio_panorama_get_property), (gst_audio_panorama_set_caps), (gst_audio_panorama_transform_m2s_int_simple), (gst_audio_panorama_transform_s2s_int_simple), (gst_audio_panorama_transform_m2s_float_simple), (gst_audio_panorama_transform_s2s_float_simple): * gst/audiofx/audiopanorama.h: Add 'method' property and provide a simple (non-psychoacustic) processing method (#394859). * tests/check/elements/audiopanorama.c: (GST_START_TEST), (panorama_suite): Tests for new method. 2007-01-11 Tim-Philipp Müller * gst/apetag/gsttagdemux.c: (gst_tag_demux_read_range): * gst/id3demux/gstid3demux.c: (gst_id3demux_read_range): Set correct caps on outgoing pulled buffers, or things blow up after recent core changes. 2007-01-11 Wim Taymans Based on patch by: Jonas Holmberg * gst/multipart/multipartmux.c: (gst_multipart_mux_init), (gst_multipart_mux_request_new_pad), (gst_multipart_mux_queue_pads), (gst_multipart_mux_collected), (gst_multipart_mux_change_state): Return FLOW errors ASAP. Fixes #394977. Misc cleanups. 2007-01-11 Wim Taymans Patch by: Lutz Mueller * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_activate_streams): Check for stream pad before activating. 2007-01-10 Wim Taymans Patch by: Peter Kjellerstedt * gst/rtsp/COPYING.MIT: * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_create_stream), (gst_rtspsrc_stream_free), (gst_rtspsrc_cleanup), (gst_rtspsrc_alloc_udp_ports), (pad_unblocked), (pad_blocked), (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_activate_streams), (gst_rtspsrc_loop_interleaved), (gst_rtspsrc_loop_udp), (gst_rtspsrc_send), (gst_rtspsrc_parse_methods), (gst_rtspsrc_create_transports_string), (gst_rtspsrc_prepare_transports), (gst_rtspsrc_setup_streams), (gst_rtspsrc_open), (gst_rtspsrc_close): * gst/rtsp/gstrtspsrc.h: * gst/rtsp/rtspconnection.c: (rtsp_connection_create), (rtsp_connection_connect), (rtsp_connection_send), (read_line), (parse_request_line), (parse_line), (rtsp_connection_read), (rtsp_connection_close): * gst/rtsp/rtspdefs.c: (rtsp_init_status), (rtsp_strresult), (rtsp_method_as_text), (rtsp_header_as_text), (rtsp_status_as_text), (rtsp_find_header_field), (rtsp_find_method): * gst/rtsp/rtspdefs.h: * gst/rtsp/rtspextwms.c: (rtsp_ext_wms_after_send), (rtsp_ext_wms_configure_stream): * gst/rtsp/rtspmessage.c: (rtsp_message_new), (rtsp_message_init), (rtsp_message_new_request), (rtsp_message_init_request), (rtsp_message_new_response), (rtsp_message_init_response), (rtsp_message_init_data), (rtsp_message_unset), (rtsp_message_free), (rtsp_message_add_header), (rtsp_message_get_header), (rtsp_message_set_body), (rtsp_message_get_body), (dump_mem), (rtsp_message_dump): * gst/rtsp/rtspmessage.h: * gst/rtsp/sdpmessage.c: (sdp_message_get_attribute_val_n), (sdp_media_get_attribute_val_n), (read_string), (read_string_del), (sdp_parse_line), (sdp_message_parse_buffer), (print_media), (sdp_message_dump): Allow url to be NULL to be able to use it for server connections. Can now send responses as well as requests. No longer hangs in an endless loop if EOF is received. Can now convert a status code to a text string. Return RTSP_HDR_INVALID for unknown headers. Return RTSP_INVALID for unknown methods. Copy CSeq and Session headers from the request. Only free memory corresponding to the currently set message type. Added const to function arguments as appropriate. Avoid a compiler warning when initializing nmedia. Use guint rather than gint to avoid compiler warnings. Fix crasher in wms extension. Factor out stream setup from open_connection. Delay activation of streams when actual data is received from the server, this prepares us to do proper protocol switching. Added new license. Fixes #380895. 2007-01-10 Tim-Philipp Müller Patch by: Sebastian Dröge * docs/plugins/Makefile.am: * gst/audiofx/audiopanorama.c: Some small docs fixes (#394851). 2007-01-09 Wim Taymans * gst/avi/gstavidemux.c: Fix docs. 2007-01-09 Wim Taymans * gst/rtp/Makefile.am: * gst/rtp/gstrtp.c: (plugin_init): * gst/rtp/gstrtpmpvdepay.c: (gst_rtp_mpv_depay_base_init), (gst_rtp_mpv_depay_class_init), (gst_rtp_mpv_depay_init), (gst_rtp_mpv_depay_setcaps), (gst_rtp_mpv_depay_process), (gst_rtp_mpv_depay_set_property), (gst_rtp_mpv_depay_get_property), (gst_rtp_mpv_depay_change_state), (gst_rtp_mpv_depay_plugin_init): * gst/rtp/gstrtpmpvdepay.h: Added RFC 2250 MPEG Video Depayloader. * gst/rtp/gstrtpL16depay.h: * gst/rtp/gstrtph263pdepay.c: (gst_rtp_h263p_depay_setcaps), (gst_rtp_h263p_depay_process): Fix Header file. Small cleanups. * gst/rtp/gstrtpmp4gdepay.c: (gst_rtp_mp4g_depay_class_init), (gst_rtp_mp4g_depay_init), (gst_rtp_mp4g_depay_finalize), (gst_rtp_mp4g_depay_process), (gst_rtp_mp4g_depay_change_state): * gst/rtp/gstrtpmp4vdepay.c: (gst_rtp_mp4v_depay_class_init), (gst_rtp_mp4v_depay_init), (gst_rtp_mp4v_depay_finalize), (gst_rtp_mp4v_depay_setcaps), (gst_rtp_mp4v_depay_process), (gst_rtp_mp4v_depay_change_state): Remove usused code. Remove Adapter from state Change. Added debug. * gst/rtp/gstrtpmpadepay.c: (gst_rtp_mpa_depay_base_init), (gst_rtp_mpa_depay_class_init), (gst_rtp_mpa_depay_init), (gst_rtp_mpa_depay_setcaps), (gst_rtp_mpa_depay_process): * gst/rtp/gstrtpmpadepay.h: Subclass base depayloader. Added debug. Support static payload type assignment as well. * gst/rtp/gstrtpmpapay.c: Fix caps. 2007-01-08 Tim-Philipp Müller Patch by: Vincent Torri * ext/jpeg/gstjpegdec.c: * ext/jpeg/gstjpegenc.c: * ext/jpeg/smokecodec.c: These libjpeg callbacks should return a 'boolean' (unsigned char apparently) and not a 'gboolean' (which maps to gint). Fixes warnings when compiling with MingW (#393427). * gst/rtsp/rtspconnection.c: (rtsp_connection_read): Use ioctlsocket on win32. * gst/udp/gstudpsrc.c: (gst_udpsrc_create): Some printf format fixes for win32. 2007-01-07 Sébastien Moutte * gst/cutter/gstcutter.c: (gst_cutter_chain): Use gst_guint64_to_gdouble for conversion. * win32/vs6/libgstmatroska.dsp: Add zlib to the link. * win32/vs6/libgstvideobox.dsp: Update liboil library name (project is linked to liboil-0.3-0.lib now). 2007-01-05 Tim-Philipp Müller * gst/matroska/Makefile.am: If zlib is available and used, we must link it explicitly for things to work on MingW (fixes #392855). 2007-01-04 Tim-Philipp Müller * ext/esd/esdsink.c: (gst_esdsink_delay): Don't return bogus values when esd_get_delay() fails for some reason (#392189). 2006-12-24 Tim-Philipp Müller * sys/ximage/gstximagesrc.c: (composite_pixel): Fix presumably copy'n'pasto for 16bpp depth. 2006-12-24 Tim-Philipp Müller * gst/matroska/matroska-mux.c: (gst_matroska_mux_audio_pad_setcaps): The "signed" field in audio caps is of boolean type, trying to use gst_structure_get_int() to extract it will fail. Fixing this makes matroskamux accept raw audio input (#387121) (use at your own risk though, due to the matroska spec being not entirely useful in this respect). Also fix up raw audio structures in template caps so that they represent what our setcaps function will actually accept, so that converters know what to convert to. Finally, don't fail if there isn't an "endianness" field in 8-bit PCM caps. 2006-12-22 Stefan Kost * tests/check/elements/audiopanorama.c: (cleanup_panorama): * tests/check/elements/avimux.c: (setup_avimux), (cleanup_avimux): * tests/check/elements/cmmldec.c: (setup_cmmldec), (teardown_cmmldec): * tests/check/elements/cmmlenc.c: (setup_cmmlenc), (teardown_cmmlenc): * tests/check/elements/level.c: (setup_level), (cleanup_level): reapply consistent pad (de)activation 2006-12-21 Jan Schmidt * configure.ac: Back to CVS * gst-plugins-good.doap: Add 0.10.5 doap entry === release 0.10.5 === 2006-12-21 Jan Schmidt * configure.ac: releasing 0.10.5, "The Path of Thorns" 2006-12-21 Stefan Kost * tests/check/elements/audiopanorama.c: (cleanup_panorama): * tests/check/elements/avimux.c: (setup_avimux), (cleanup_avimux): * tests/check/elements/cmmldec.c: (setup_cmmldec), (teardown_cmmldec): * tests/check/elements/cmmlenc.c: (setup_cmmlenc), (teardown_cmmlenc): * tests/check/elements/level.c: (setup_level), (cleanup_level): revert my freeze breakage 2006-12-21 Stefan Kost * tests/check/elements/audiopanorama.c: (cleanup_panorama): * tests/check/elements/avimux.c: (setup_avimux), (cleanup_avimux): * tests/check/elements/cmmldec.c: (setup_cmmldec), (teardown_cmmldec): * tests/check/elements/cmmlenc.c: (setup_cmmlenc), (teardown_cmmlenc): * tests/check/elements/level.c: (setup_level), (cleanup_level): consistent pad (de)activation 2006-12-18 Jan Schmidt * configure.ac: * ext/Makefile.am: Disable LADPSA, as it has moved to the -bad module for the duration. 2006-12-18 Wim Taymans * ext/ladspa/gstsignalprocessor.c: (gst_signal_processor_setcaps), (gst_signal_processor_event): Reset flow_state back to _OK after a flush stop so that we exit our error state after the flush. Fixes #374213 2006-12-16 David Schleef * sys/osxvideo/osxvideosink.h: * sys/osxvideo/osxvideosink.m: Decent effort at porting to 0.10. Needs cleanup on OS/X. 2006-12-16 David Schleef Patch by: Vijay Santhanam * sys/osxvideo/Makefile.am: * sys/osxvideo/osxvideosink.h: * sys/osxvideo/osxvideosink.m: Preliminary patch for porting osxvideosink 2006-12-16 Wim Taymans Patch by: Sjoerd Simons * gst/videomixer/videomixer.c: (gst_videomixer_pad_set_property), (gst_videomixer_set_master_geometry), (gst_videomixer_pad_sink_setcaps), (gst_videomixer_collect_free), (gst_videomixer_reset), (gst_videomixer_init), (gst_videomixer_finalize), (gst_videomixer_request_new_pad), (gst_videomixer_release_pad), (gst_videomixer_collected), (gst_videomixer_change_state): Introduce some locking around the videomixer state so that it does not crash when adding/removing pads. Fixes #383043. 2006-12-16 Tim-Philipp Müller * configure.ac: Make sure libcaca can actually be used instead of just checking for /usr/bin/caca-config, so we don't wrongly try to build cacasink when cross-compiling (fixes #384587). 2006-12-15 Thomas Vander Stichele * Makefile.am: * gst-plugins-good.doap: * gst-plugins-good.spec.in: adding doap file 2006-12-14 Tim-Philipp Müller * configure.ac: libflac-1.1.3 changed API again, but we can't build against it yet, so make sure our check doesn't use libflac-1.1.3 and add a comment to this effect. 2006-12-14 Tim-Philipp Müller * gst/effectv/gstquark.c: (gst_quarktv_transform), (gst_quarktv_planetable_clear): Add some NULL pointer checks (possibly related to #385623). 2006-12-12 Tim-Philipp Müller * gst/apetag/gsttagdemux.c: (gst_tag_demux_chain_parse_tag), (gst_tag_demux_chain): * gst/id3demux/gstid3demux.c: (gst_id3demux_chain): In streaming mode, if the first buffer we get doesn't have an offset, fix it up to be 0, otherwise trimming won't work later on and we'll be typefinding application/x-id3, which may result in decodebin plugging an endless number of id3demux elements as a consequence. Fixes #385031. 2006-12-08 Jan Schmidt * sys/sunaudio/gstsunaudiosink.c: (gst_sunaudiosink_prepare): Ignore the buffer_time the sound device reports. Turns out it is sometimes completely bogus and we're better off without it. 2006-12-11 Tim-Philipp Müller * gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream), (gst_matroska_demux_video_caps): * gst/matroska/matroska-ids.c: (gst_matroska_track_init_video_context): * gst/matroska/matroska-ids.h: Try harder to extract the framerate for video tracks correctly and save it directly instead of converting it back and forth a few times. Mostly makes a difference for very small framerates (<1). Fixes #380199. 2006-12-11 Tim-Philipp Müller * ext/gconf/gstgconfaudiosrc.c: (gst_gconf_audio_src_init), (gst_gconf_audio_src_dispose), (do_toggle_element): * ext/gconf/gstgconfaudiosrc.h: Remove gconf notify hook when the gconfaudiosrc element is destroyed, otherwise the callback may be called on an already-destroyed instance and bad things happen. Should fix #378184. Also ignore gconf key changes when the source is already running. 2006-12-09 Tim-Philipp Müller Patch by: Sebastian Dröge * gst/apetag/gstapedemux.c: (ape_demux_parse_tags): We need to be able to read and parse any possible floating point string format ("1,234" or "1.234") irrespective of the current locale. g_strod() will parse the former only in certain locales though, so we really need to canonicalise the separator to '.' and then use g_ascii_strtod() to make sure we can parse either version at all times. Fixes #382982 for real. 2006-12-08 Jan Schmidt * sys/sunaudio/gstsunaudiomixerctrl.c: * sys/sunaudio/gstsunaudiosrc.c: Use the sunaudio debug category. * sys/sunaudio/gstsunaudiosink.c: (gst_sunaudiosink_finalize), (gst_sunaudiosink_class_init), (gst_sunaudiosink_init), (gst_sunaudiosink_set_property), (gst_sunaudiosink_get_property), (gst_sunaudiosink_open), (gst_sunaudiosink_close), (gst_sunaudiosink_prepare), (gst_sunaudio_sink_do_delay), (gst_sunaudiosink_write), (gst_sunaudiosink_delay), (gst_sunaudiosink_reset): * sys/sunaudio/gstsunaudiosink.h: Uses the sunaudio debug category for all debug output Implements the _delay() callback to synchronise video playback better Change the segtotal and segsize values back to the parent class defaults (taken from buffer_time and latency_times of 200ms and 10ms respectively) Measure the samples written to the device vs. played. Keep track of segments in the device by writing empty eof frames, and sleep using a GCond when we get too far ahead and risk overrunning the sink's ringbuffer. Fixes: #360673 2006-12-08 Wim Taymans Patch by: Sebastian Dröge * gst/audiofx/audiopanorama.c: (gst_audio_panorama_init), (gst_audio_panorama_set_caps), (gst_audio_panorama_transform): * gst/audiofx/audiopanorama.h: Fix audiopanorame with float samples. Fixes #383726. 2006-12-08 Jan Schmidt * sys/sunaudio/gstsunaudiosink.c: (gst_sunaudiosink_reset): * sys/sunaudio/gstsunaudiosrc.c: (gst_sunaudiosrc_open), (gst_sunaudiosrc_reset): Implement reset functions to unblock the src/sink more quickly on state change requests. Patch by: Brian Cameron 2006-12-08 Jan Schmidt * sys/sunaudio/gstsunaudiomixer.c: (gst_sunaudiomixer_change_state): Construct the correct mixer device name when the AUDIODEV env var is set. Patch by: Jerry Tan Fixes: #383596 2006-12-08 Jan Schmidt * sys/sunaudio/gstsunaudiosrc.c: (gst_sunaudiosrc_open): Apply patch to open the mixer control and set the MULTIPLE_OPEN ioctl. On solaris, the mixer device doesn't need opening non-blocking - it can be opened by multiple processes by default, but needs the ioctl for multiple opens within 1 process. Patch by: Jerry Tan Fixes: #349015 2006-12-07 Wim Taymans * gst/smpte/gstmask.h: * gst/smpte/gstsmpte.c: (gst_smpte_class_init), (gst_smpte_setcaps), (gst_smpte_init), (gst_smpte_reset), (gst_smpte_collected), (gst_smpte_set_property), (gst_smpte_get_property), (gst_smpte_change_state), (plugin_init): * gst/smpte/gstsmpte.h: Port to 0.10 some more. Added duration property to specify the duration of the transition. Make framerate a fraction. Deprecate fps property, we only use negotiated fps. Added docs. Fix collectpad usage. Reset state in READY. Send NEWSEGMENT event. Fix racy updates of object properties. Added debug category. Fixes #383323. 2006-12-06 Wim Taymans Patch by: Sjoerd Simons * gst/videomixer/videomixer.c: (gst_videomixer_set_master_geometry), (gst_videomixer_pad_sink_setcaps), (gst_videomixer_collect_free): Don't reset xpos and ypos in the setcaps function because causes unexpected behaviour. Fixes #382179. 2006-12-06 Wim Taymans * gst/multipart/multipartmux.c: (gst_multipart_mux_compare_pads), (gst_multipart_mux_queue_pads), (gst_multipart_mux_collected): Keep track of the buffer timestamp in the collectdata member instead of modifying the buffer without making the metadata writable first. Fixes #382277. 2006-12-06 Wim Taymans Patch by: Rob Taylor * gst/udp/gstudpsrc.c: (gst_udpsrc_start): If using multicast in udpsrc, bind to the multicast address rather than IN_ADDR_ANY. This allows the simultanous use of multiple udpsrcs listening on different multicat addresses. Without this all udpsrcs will receive all packets from all subscribed multicast addresses. Fixes #383001. 2006-12-06 Jan Schmidt * ext/taglib/gstid3v2mux.cc: Don't attempt to write a NULL frame into the ID3 tag set when the createFrame method returned NULL. Fixes: #381857 Patch by: Jonathan Matthew 2006-12-06 Jan Schmidt * gst/apetag/gstapedemux.c: (ape_demux_parse_tags): Use g_strtod() instead of sscanf to parse doubles, so that it will try parsing in the C locale if the current locale fails. Fixes: #382982 Patch by: Sebastian Dröge 2006-12-01 Jan Schmidt * win32/MANIFEST: Fix compilation on win32 under VS8 Patch by: Sergey Scobich Partially fixes #381175 2006-11-30 Stefan Kost * gst/avi/gstavimux.c: accept all mpegversions,fixes #380825 spotted by: Jerome Alet 2006-11-30 Stefan Kost * sys/v4l2/v4l2src_calls.c: (gst_v4l2src_fill_format_list), (gst_v4l2src_queue_frame), (gst_v4l2src_grab_frame), (gst_v4l2src_get_capture), (gst_v4l2src_set_capture), (gst_v4l2src_capture_init), (gst_v4l2src_buffer_finalize): cleanup the error message a bit more 2006-11-28 Wim Taymans * ext/libcaca/gstcacasink.c: (gst_cacasink_class_init): Fix width and height properties. * ext/libcaca/gstcacasink.h: Fix compilation on newer libcaca that require us to include a new header. Fixes #379918. 2006-11-28 Wim Taymans * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_open): * gst/rtsp/gstrtspsrc.h: * gst/rtsp/rtspext.h: * gst/rtsp/rtspextwms.c: (rtsp_ext_wms_configure_stream), (rtsp_ext_wms_get_context): Add method so that extensions can choose to disable the setup of a stream. Make the WMS extension skip setup of x-wms-rtx streams. Fixes #377792. 2006-11-27 Wim Taymans Patch by: Jonas Holmberg * gst/multipart/multipartmux.c: (gst_multipart_mux_collected): Push header in a separate buffer instead of memcpy:ing all data. Change LF => CRLF in headers. Move trailing LF to header. Fixes #379792. 2006-11-27 Wim Taymans * gst/rtp/gstrtpmpadepay.c: (gst_rtp_mpa_depay_chain): Small buffer overflow fix and improve debugging. 2006-11-24 Stefan Kost * ext/esd/esdmon.h: * ext/esd/esdsink.h: remove obsolete _factory_init protos 2006-11-24 Stefan Kost * gst/avi/gstavidemux.c: (gst_avi_demux_index_entry_for_time), (gst_avi_demux_src_convert), (gst_avi_demux_handle_src_query), (gst_avi_demux_peek_chunk), (gst_avi_demux_parse_subindex), (gst_avi_demux_read_subindexes_push), (gst_avi_demux_read_subindexes_pull), (gst_avi_demux_parse_stream), (gst_avi_demux_parse_index), (gst_avi_demux_stream_index), (gst_avi_demux_sync), (gst_avi_demux_next_data_buffer), (gst_avi_demux_massage_index), (gst_avi_demux_calculate_durations_from_index), (gst_avi_demux_stream_header_pull), (gst_avi_demux_do_seek), (gst_avi_demux_handle_seek), (gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data), (gst_avi_demux_loop): remove dead code, tweak debugs statements, add comments, use _uint64_scale instead _uint64_scale_int when using guint64 values, small optimizations, reflow some error handling 2006-11-22 Edward Hervey * po/.cvsignore: We never put .pot files in cvs. Let's ignore them all. 2006-11-19 Tim-Philipp Müller * po/POTFILES.in: ... but better exclude files that aren't disted. 2006-11-19 Tim-Philipp Müller * po/POTFILES.in: Add v4l2 source files to list of files with translations, so the strings are actually extracted (however bad they still may be). 2006-11-19 Tim-Philipp Müller * gst/videobox/gstvideobox.c: (gst_video_box_class_init): Minor clean-ups: const-ify static array, remove trailing comma from last enum (gcc-2.9x trips over that), use GST_DEBUG_FUNCPTR. 2006-11-19 Jan Schmidt * gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame): Make sure that g_free always gets called on the same pointer that was returned by g_malloc. Fixes #376594. Do not leak memory if decompressed size is wrong. Remove unneeded check of return value of g_malloc. Patch by: René Stadler 2006-11-18 Tim-Philipp Müller * sys/v4l2/v4l2src_calls.c: (gst_v4l2src_capture_deinit): Add missing curly brackets. 2006-11-17 Edgard Lima * sys/v4l2/v4l2src_calls.c: Fix capture_deinit. 2006-11-16 Tim-Philipp Müller * gst/matroska/matroska-mux.c: (gst_matroska_mux_class_init), (gst_matroska_mux_request_new_pad): Use GST_DEBUG_FUNCPTR; activate request pad before returning it. * tests/check/elements/matroskamux.c: (setup_src_pad), (setup_sink_pad), (GST_START_TEST): Activate pads before using them. 2006-11-16 Tim-Philipp Müller * gst/avi/gstavidemux.c: (gst_avi_demux_stream_scan): Initialise variable to get rid of bogus compiler warning. 2006-11-16 Stefan Kost Patch by: Ville Syrjala * gst/rtp/gstrtph263pay.c: * gst/rtp/gstrtph263pdepay.c: * gst/rtp/gstrtph263ppay.c: Specify H.263 variant and version in the caps (fixes #361637) 2006-11-15 Wim Taymans * gst/rtsp/rtspconnection.c: (read_body): Don't set a data pointer to NULL and a size > 0 when we deal with empty packets. * gst/rtsp/rtspmessage.c: (rtsp_message_new_response), (rtsp_message_init_response), (rtsp_message_init_data), (rtsp_message_unset), (rtsp_message_free), (rtsp_message_take_body): Check that we can't create invalid empty packets. 2006-11-15 Tim-Philipp Müller Patch by: Mark Nauwelaerts * gst/matroska/matroska-mux.c: (gst_matroska_mux_add_interfaces), (gst_matroska_mux_class_init), (gst_matroska_pad_free), (gst_matroska_mux_reset), (gst_matroska_mux_handle_sink_event), (gst_matroska_mux_request_new_pad), (gst_matroska_mux_release_pad), (gst_matroska_mux_track_header), (gst_matroska_mux_start), (gst_matroska_mux_write_simple_tag), (gst_matroska_mux_finish): * gst/matroska/matroska-mux.h: Add basic tag writing support; implement releasing pads (#374658). 2006-11-15 Tim-Philipp Müller * gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream), (gst_matroska_demux_audio_caps): Handle opaque/unspecified A_AAC audio codec ID (fixes #374737). 2006-11-14 David Schleef * gst/matroska/matroska-mux.c: Add Dirac fourcc. 2006-11-14 Tim-Philipp Müller Patch by: Sergey Scobich * win32/vs8/gst-plugins-good.sln: * win32/vs8/libgst1394.vcproj: * win32/vs8/libgstaasink.vcproj: * win32/vs8/libgstalaw.vcproj: * win32/vs8/libgstalpha.vcproj: * win32/vs8/libgstalphacolor.vcproj: * win32/vs8/libgstannodex.vcproj: * win32/vs8/libgstapetag.vcproj: * win32/vs8/libgstaudiofx.vcproj: * win32/vs8/libgstauparse.vcproj: * win32/vs8/libgstautodetect.vcproj: * win32/vs8/libgstavi.vcproj: * win32/vs8/libgstcacasink.vcproj: * win32/vs8/libgstcdio.vcproj: * win32/vs8/libgstcutter.vcproj: * win32/vs8/libgstdv.vcproj: * win32/vs8/libgsteffectv.vcproj: * win32/vs8/libgstflac.vcproj: * win32/vs8/libgstflxdec.vcproj: * win32/vs8/libgstgoom.vcproj: * win32/vs8/libgsticydemux.vcproj: * win32/vs8/libgstid3demux.vcproj: * win32/vs8/libgstjpeg.vcproj: * win32/vs8/libgstladspa.vcproj: * win32/vs8/libgstlevel.vcproj: * win32/vs8/libgstmatroska.vcproj: * win32/vs8/libgstmikmod.vcproj: * win32/vs8/libgstmng.vcproj: * win32/vs8/libgstmonoscope.vcproj: * win32/vs8/libgstmulaw.vcproj: * win32/vs8/libgstmultipart.vcproj: * win32/vs8/libgstpng.vcproj: * win32/vs8/libgstrtp.vcproj: * win32/vs8/libgstrtsp.vcproj: * win32/vs8/libgstshout2.vcproj: * win32/vs8/libgstsmpte.vcproj: * win32/vs8/libgstspeex.vcproj: * win32/vs8/libgsttaglib.vcproj: * win32/vs8/libgstudp.vcproj: * win32/vs8/libgstvideobalance.vcproj: * win32/vs8/libgstvideobox.vcproj: * win32/vs8/libgstvideoflip.vcproj: * win32/vs8/libgstvideomixer.vcproj: * win32/vs8/libgstwavenc.vcproj: * win32/vs8/libgstwavparse.vcproj: Make end-of-line returns unixy, so that when the files are checked out on win32 the line returns will be 0d 0a and not 0d 0d 0a. Hopefully fixes #366492. 2006-11-14 Wim Taymans * gst/avi/gstavidemux.c: (gst_avi_demux_massage_index): Disable init_frames delay timestamp adjustment, it does not seem to be needed at all. Fixes #369621. 2006-11-13 Wim Taymans Patch by: Mark Nauwelaerts * gst/videomixer/videomixer.c: (gst_videomixer_set_master_geometry), (gst_videomixer_pad_sink_setcaps), (gst_videomixer_class_init), (gst_videomixer_collect_free), (gst_videomixer_reset), (gst_videomixer_init), (gst_videomixer_finalize), (gst_videomixer_request_new_pad), (gst_videomixer_release_pad), (gst_videomixer_collected), (gst_videomixer_change_state): Fix memleak by unref'ing collectpads instance (when finalizing) Implement releasing a request pad. Fixes #374479. 2006-11-10 Tim-Philipp Müller Patch by: Sergey Scobich * win32/vs8/gst-plugins-good.sln: * win32/vs8/libgst1394.vcproj: * win32/vs8/libgstaasink.vcproj: * win32/vs8/libgstalaw.vcproj: * win32/vs8/libgstalpha.vcproj: * win32/vs8/libgstalphacolor.vcproj: * win32/vs8/libgstannodex.vcproj: * win32/vs8/libgstapetag.vcproj: * win32/vs8/libgstaudiofx.vcproj: * win32/vs8/libgstauparse.vcproj: * win32/vs8/libgstautodetect.vcproj: * win32/vs8/libgstavi.vcproj: * win32/vs8/libgstcacasink.vcproj: * win32/vs8/libgstcdio.vcproj: * win32/vs8/libgstcutter.vcproj: * win32/vs8/libgstdv.vcproj: * win32/vs8/libgsteffectv.vcproj: * win32/vs8/libgstflac.vcproj: * win32/vs8/libgstflxdec.vcproj: * win32/vs8/libgstgoom.vcproj: * win32/vs8/libgsticydemux.vcproj: * win32/vs8/libgstid3demux.vcproj: * win32/vs8/libgstjpeg.vcproj: * win32/vs8/libgstladspa.vcproj: * win32/vs8/libgstlevel.vcproj: * win32/vs8/libgstmatroska.vcproj: * win32/vs8/libgstmikmod.vcproj: * win32/vs8/libgstmng.vcproj: * win32/vs8/libgstmonoscope.vcproj: * win32/vs8/libgstmulaw.vcproj: * win32/vs8/libgstmultipart.vcproj: * win32/vs8/libgstpng.vcproj: * win32/vs8/libgstrtp.vcproj: * win32/vs8/libgstrtsp.vcproj: * win32/vs8/libgstshout2.vcproj: * win32/vs8/libgstsmpte.vcproj: * win32/vs8/libgstspeex.vcproj: * win32/vs8/libgsttaglib.vcproj: * win32/vs8/libgstudp.vcproj: * win32/vs8/libgstvideobalance.vcproj: * win32/vs8/libgstvideobox.vcproj: * win32/vs8/libgstvideoflip.vcproj: * win32/vs8/libgstvideomixer.vcproj: * win32/vs8/libgstwavenc.vcproj: * win32/vs8/libgstwavparse.vcproj: Add VS8 project files (note that many of the plugins in ext are disabled by default). Fixes #366492. 2006-11-10 Stefan Kost * sys/v4l2/v4l2src_calls.c: (gst_v4l2src_grab_frame): we do not translate debug messages 2006-11-08 Stefan Kost * gst/flx/gstflxdec.c: (gst_flxdec_class_init): fix categorisation, make short desc more explicit, remove unused code Fixes #372021 2006-11-08 Wim Taymans * gst/rtp/gstrtpL16depay.c: * gst/rtp/gstrtpamrdepay.c: * gst/rtp/gstrtpamrpay.c: * gst/rtp/gstrtpgsmdepay.c: * gst/rtp/gstrtph263pay.c: * gst/rtp/gstrtph263pdepay.c: * gst/rtp/gstrtph263ppay.c: * gst/rtp/gstrtph264depay.c: * gst/rtp/gstrtpmp2tdepay.c: * gst/rtp/gstrtpmp4gdepay.c: * gst/rtp/gstrtpmp4gpay.c: * gst/rtp/gstrtpmp4vdepay.c: * gst/rtp/gstrtpmp4vpay.c: * gst/rtp/gstrtpmpadepay.c: * gst/rtp/gstrtpmpapay.c: * gst/rtp/gstrtppcmadepay.c: * gst/rtp/gstrtppcmapay.c: * gst/rtp/gstrtppcmudepay.c: * gst/rtp/gstrtppcmupay.c: * gst/rtp/gstrtpspeexdepay.c: * gst/rtp/gstrtpspeexpay.c: * gst/rtp/gstrtpsv3vdepay.c: Fix element descriptions. 2006-11-08 Wim Taymans * gst/rtp/gstrtpvorbisdepay.c: * gst/rtp/gstrtpvorbispay.c: (gst_rtp_vorbis_pay_handle_buffer): Fix description. Small cleanup in the payloader. 2006-11-08 Wim Taymans * gst/rtp/Makefile.am: * gst/rtp/gstrtp.c: (plugin_init): * gst/rtp/gstrtptheoradepay.c: (gst_rtp_theora_depay_base_init), (gst_rtp_theora_depay_class_init), (gst_rtp_theora_depay_init), (gst_rtp_theora_depay_finalize), (gst_rtp_theora_depay_parse_configuration), (gst_rtp_theora_depay_setcaps), (gst_rtp_theora_depay_switch_codebook), (gst_rtp_theora_depay_process), (gst_rtp_theora_depay_set_property), (gst_rtp_theora_depay_get_property), (gst_rtp_theora_depay_change_state), (gst_rtp_theora_depay_plugin_init): * gst/rtp/gstrtptheoradepay.h: * gst/rtp/gstrtptheorapay.c: (gst_rtp_theora_pay_base_init), (gst_rtp_theora_pay_class_init), (gst_rtp_theora_pay_init), (gst_rtp_theora_pay_setcaps), (gst_rtp_theora_pay_reset_packet), (gst_rtp_theora_pay_init_packet), (gst_rtp_theora_pay_flush_packet), (gst_rtp_theora_pay_finish_headers), (gst_rtp_theora_pay_parse_id), (gst_rtp_theora_pay_handle_buffer), (gst_rtp_theora_pay_plugin_init): * gst/rtp/gstrtptheorapay.h: Add theora pay/depayloaders. 2006-11-06 Wim Taymans * gst/rtp/Makefile.am: We depend on gsttag to generate the vorbis comments. * gst/rtp/gstrtpvorbisdepay.c: (gst_rtp_vorbis_depay_parse_configuration), (gst_rtp_vorbis_depay_setcaps), (gst_rtp_vorbis_depay_switch_codebook), (gst_rtp_vorbis_depay_process): * gst/rtp/gstrtpvorbisdepay.h: Parse configuration string in the depayloader. Implement selecting and switching to a new codebook. Receiving vorbis over RTP now works. * gst/rtp/gstrtpvorbispay.c: (gst_rtp_vorbis_pay_reset_packet), (gst_rtp_vorbis_pay_init_packet), (gst_rtp_vorbis_pay_finish_headers), (gst_rtp_vorbis_pay_handle_buffer): * gst/rtp/gstrtpvorbispay.h: Set timestamps on outgoing buffers and RTP packets. Fix configuration string, prepend number of Packet headers. Fix encoding of ident string. Add delivery-method to caps. Streaming vorbis over RTP now works. 2006-11-06 Wim Taymans * gst/rtp/gstrtpvorbispay.c: (gst_rtp_vorbis_pay_setcaps), (gst_rtp_vorbis_pay_finish_headers), (gst_rtp_vorbis_pay_parse_id), (gst_rtp_vorbis_pay_handle_buffer): * gst/rtp/gstrtpvorbispay.h: Generate a valid configuration string in the caps based on the vorbis headers. 2006-11-02 Tim-Philipp Müller * ext/cdio/gstcdio.c: (gst_cdio_get_cdtext): * ext/cdio/gstcdio.h: * ext/cdio/gstcdiocddasrc.c: (gst_cdio_cdda_src_open): Move CD-TEXT utility function into common file so it can also be used by a future cdioparanoiasrc. 2006-11-01 Edgard Lima * sys/v4l2/Makefile.am: * sys/v4l2/gstv4l2object.c: * sys/v4l2/gstv4l2src.c: * sys/v4l2/gstv4l2xoverlay.c: * sys/v4l2/v4l2_calls.c: * sys/v4l2/v4l2src_calls.c: Improved comments in ELEMENT_ERROR/WARNING and added "#if 0" to xoverlay code that is still not implemented. 2006-11-01 Tim-Philipp Müller * gst/id3demux/id3v2frames.c: (parse_picture_frame): We require a -base more recent than 0.10.9, so it's safe to use GST_TYPE_TAG_IMAGE_TYPE unconditionally now. * ext/dv/gstdvdec.c: (gst_dvdec_sink_event): * ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_sink_event): Use _newsegment_full() now that we depend on a recent enough core. * gst/wavparse/gstwavparse.c: Remove cruft that we don't need any longer now that we depend on a recent enough -base. 2006-10-31 Wim Taymans * gst/rtp/Makefile.am: * gst/rtp/gstrtp.c: (plugin_init): * gst/rtp/gstrtpilbcpay.c: (gst_rtpilbcpay_init), (gst_rtpilbcpay_setcaps): Fix and activate ILBC pay and depayloaders. Fixes #368162. 2006-10-31 Wim Taymans * ext/speex/gstspeexdec.c: (speex_dec_convert), (speex_dec_sink_event), (speex_dec_chain_parse_header): Some small cleanups, use _scale. 2006-10-31 Wim Taymans * gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query): Use higher precision scale function. 2006-10-30 Tim-Philipp Müller Patch by: Michal Benes * gst/matroska/matroska-demux.c: (gst_matroska_demux_encoding_cmp), (gst_matroska_demux_read_track_encodings), (gst_matroska_decode_buffer): Fix several issues with encoded/compressed/encrypted/signed tracks; also, remove superfluous newline characters from some debug statements. (#366155) 2006-10-30 Wim Taymans * ext/jpeg/gstjpegenc.c: (gst_jpegenc_getcaps): * ext/jpeg/gstsmokedec.c: (gst_smokedec_class_init), (gst_smokedec_init), (gst_smokedec_finalize), (gst_smokedec_chain), (gst_smokedec_change_state): * ext/jpeg/gstsmokeenc.c: (gst_smokeenc_class_init), (gst_smokeenc_init), (gst_smokeenc_finalize), (gst_smokeenc_getcaps), (gst_smokeenc_setcaps), (gst_smokeenc_resync), (gst_smokeenc_chain), (gst_smokeenc_set_property), (gst_smokeenc_get_property), (gst_smokeenc_change_state): Various cleanups, capsnego and leak fixes. 2006-10-30 Wim Taymans Patch by: Mark Nauwelaerts * gst/videomixer/videomixer.c: (gst_videomixer_update_queues): Fix videomixer so that it can handle any combination of framerates. Fixes #367221. 2006-10-28 Wim Taymans * gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query), (gst_avi_demux_parse_file_header), (gst_avi_demux_stream_init_push), (gst_avi_demux_parse_stream), (gst_avi_demux_stream_header_push), (gst_avi_demux_stream_data), (gst_avi_demux_chain): Fix position query for audio. also fixes timestamps in streaming mode and bug #364958. Small cleanups. 2006-10-27 Wim Taymans * ext/libpng/gstpngenc.c: (gst_pngenc_setcaps), (gst_pngenc_chain): * ext/libpng/gstpngenc.h: Fix strides. Fixes #364856. Cleanup capsnego. Set caps on outgoing buffers. 2006-10-18 Wim Taymans Patch by: Ville Syrjala * gst/rtp/gstrtpgsmpay.c: * gst/rtp/gstrtph263pay.c: * gst/rtp/gstrtpmpapay.c: * gst/rtp/gstrtppcmapay.c: (gst_rtp_pcma_pay_flush), (gst_rtp_pcma_pay_handle_buffer): * gst/rtp/gstrtppcmupay.c: (gst_rtp_pcmu_pay_flush): Add static payload numbers in addition to the dynamic ones. Fixes #361639. 2006-10-18 Wim Taymans * gst/rtsp/gstrtspsrc.c: (gst_rtsp_lower_trans_get_type), (gst_rtspsrc_class_init), (gst_rtspsrc_loop_interleaved), (gst_rtspsrc_loop_udp), (gst_rtspsrc_open), (gst_rtspsrc_uri_get_protocols), (gst_rtspsrc_uri_set_uri): * gst/rtsp/rtspconnection.c: (rtsp_connection_create): * gst/rtsp/rtspdefs.h: * gst/rtsp/rtspurl.c: (rtsp_url_parse): * gst/rtsp/rtspurl.h: Reuse already existing enum for lower transport. Add rtspt and rtspu protocols. Send redirect to rtspt when udp times out. 2006-10-18 Wim Taymans * gst/wavparse/gstwavparse.c: (gst_wavparse_perform_seek), (gst_wavparse_stream_data): Fix seeking some more, mostly for speed changes. 2006-10-18 Tim-Philipp Müller Patch by: Fredrik Persson * sys/v4l2/gstv4l2tuner.c: * sys/v4l2/gstv4l2tuner.h: Fix _set_channel(): remove useless g_object_notify() for "channel" property that doesn't exist any longer and therefore now also useless redirect (#338818). 2006-10-17 Wim Taymans * sys/oss/gstosssink.c: (gst_oss_sink_prepare): Some drivers do not support unsetting the non-blocking flag once the device is opened. In those cases, close/open the device in non-blocking mode. Fixes #362673. 2006-10-17 Stefan Kost * sys/v4l2/v4l2_calls.c: (gst_v4l2_fill_lists): * sys/v4l2/v4l2src_calls.c: (gst_v4l2src_set_fps), (gst_v4l2src_get_fps): dear stefan, framespersecond is not frameperiod, reverting but adding comment 2006-10-17 Stefan Kost * sys/v4l2/v4l2_calls.c: (gst_v4l2_fill_lists): * sys/v4l2/v4l2src_calls.c: (gst_v4l2src_set_fps), (gst_v4l2src_get_fps): Numerator is numerator and denominator is denominator. Say that aloud 5 times and retry after next beer. 2006-10-16 Tim-Philipp Müller Patch by: Josep Torra Valles * ext/cairo/gsttimeoverlay.c: (gst_cairo_time_overlay_transform): * ext/esd/esdsink.c: (gst_esdsink_write): * ext/flac/gstflacdec.c: (gst_flac_dec_length), (gst_flac_dec_read_seekable), (gst_flac_dec_chain), (gst_flac_dec_send_newsegment): * ext/flac/gstflacenc.c: (gst_flac_enc_seek_callback), (gst_flac_enc_tell_callback): * ext/jpeg/smokecodec.c: (find_best_size), (smokecodec_encode), (smokecodec_parse_header), (smokecodec_decode): * gst/avi/gstavimux.c: (gst_avi_mux_write_avix_index): * gst/debug/efence.c: (gst_fenced_buffer_alloc): * gst/goom/Makefile.am: * gst/goom/gstgoom.c: * gst/icydemux/gsticydemux.c: (gst_icydemux_typefind_or_forward): * gst/rtsp/gstrtspsrc.c: * gst/rtsp/rtspconnection.c: (rtsp_connection_read): * gst/udp/gstudpsink.c: * gst/udp/gstudpsrc.c: * gst/wavparse/gstwavparse.c: (gst_wavparse_change_state): * sys/sunaudio/gstsunaudiomixertrack.h: Fix a bunch of problems discovered by the Forte compiler, mostly type mixups and pointer arithmetics with void pointers. Fixes #362603. 2006-10-12 Tim-Philipp Müller * ext/speex/gstspeex.c: (plugin_init): * ext/speex/gstspeexenc.c: (gst_speex_enc_get_formats), (gst_speex_enc_setup_interfaces), (gst_speex_enc_base_init), (gst_speex_enc_class_init), (gst_speex_enc_finalize), (gst_speex_enc_sink_setcaps), (gst_speex_enc_convert_src), (gst_speex_enc_convert_sink), (gst_speex_enc_get_query_types), (gst_speex_enc_src_query), (gst_speex_enc_sink_query), (gst_speex_enc_init), (gst_speex_enc_create_metadata_buffer), (gst_speex_enc_set_last_msg), (gst_speex_enc_setup), (gst_speex_enc_buffer_from_data), (gst_speex_enc_push_buffer), (gst_speex_enc_set_header_on_caps), (gst_speex_enc_sinkevent), (gst_speex_enc_chain), (gst_speex_enc_get_property), (gst_speex_enc_set_property), (gst_speex_enc_change_state): * ext/speex/gstspeexenc.h: Miscellaneous clean-ups, among other things: speexenc => enc to enhance code readability; change speexenc => speex_enc; in chain function unref input buffer in case of error; take reference in event function; use boilerplate macro; use gst_pad_query_peer_* convenience functions. 2006-10-12 Tim-Philipp Müller * ext/speex/gstspeexenc.c: (gst_speexenc_finalize), (gst_speexenc_set_last_msg), (gst_speexenc_setup), (gst_speexenc_set_header_on_caps): Fix some mem leaks. 2006-10-11 Wim Taymans * gst/rtsp/URLS: Added some other URL. * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_loop_udp), (gst_rtspsrc_handle_request), (gst_rtspsrc_send), (gst_rtspsrc_open), (gst_rtspsrc_play), (gst_rtspsrc_handle_message), (gst_rtspsrc_change_state): * gst/rtsp/gstrtspsrc.h: Work on fallback to TCP connection when the UDP socket times out. Handler server requests, just reply with OK for now. * gst/rtsp/rtspdefs.c: (rtsp_strresult): * gst/rtsp/rtspdefs.h: Added some more Real extension headers. * gst/rtsp/rtspurl.c: (rtsp_url_parse): Fix parsing of urls with a ':' that is not part of the hostname:port part of the url. 2006-10-11 Tim-Philipp Müller * gst/apetag/gsttagdemux.c: (gst_tag_demux_add_srcpad): * gst/icydemux/gsticydemux.c: (gst_icydemux_add_srcpad): * gst/id3demux/gstid3demux.c: (gst_id3demux_add_srcpad): Activate pad before adding it to the already-running element. * tests/check/elements/icydemux.c: (icydemux_found_pad): Activate newly-created pad too. 2006-10-11 Wim Taymans Patch by: Sebastien Cote * gst/udp/gstudpsrc.c: (gst_udpsrc_class_init), (gst_udpsrc_finalize), (gst_udpsrc_create), (gst_udpsrc_set_uri), (gst_udpsrc_start): Fix some leaks in caps and uris. Fixes #361252. 2006-10-10 Tim-Philipp Müller * gst/wavparse/Makefile.am: Fix copy'n'paste-o (spotted by Mark Nauwelaerts, #341489). 2006-10-09 Jan Schmidt * sys/v4l2/gstv4l2xoverlay.c: * sys/v4l2/gstv4l2xoverlay.h: Fix build as per the patch in #338818 comment 36. 2006-10-07 Tim-Philipp Müller * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_stream_configure_transport): Activate pads before adding them to the source. 2006-10-06 Wim Taymans * ext/dv/gstdvdemux.c: (gst_dvdemux_add_pads), (gst_dvdemux_chain): * gst/auparse/gstauparse.c: (gst_au_parse_add_srcpad): Activate pads before adding. 2006-10-06 Wim Taymans * gst/multipart/multipartdemux.c: (gst_multipart_demux_init), (gst_multipart_find_pad_by_mime): Activate pads before adding. * gst/rtp/gstrtpmp4vdepay.c: (gst_rtp_mp4v_depay_class_init): BOILERPLATE sets parent_class for us. 2006-10-06 Wim Taymans * gst/rtsp/gstrtspsrc.c: (gst_rtsp_proto_get_type), (gst_rtspsrc_class_init), (gst_rtspsrc_init), (gst_rtspsrc_create_stream), (gst_rtspsrc_media_to_caps), (gst_rtspsrc_alloc_udp_ports), (gst_rtspsrc_stream_configure_transport), (find_stream_by_channel), (gst_rtspsrc_push_event), (gst_rtspsrc_loop_interleaved), (gst_rtspsrc_create_transports_string), (gst_rtspsrc_configure_transports), (gst_rtspsrc_open), (gst_rtspsrc_handle_message), (gst_rtspsrc_change_state): * gst/rtsp/gstrtspsrc.h: Rework how the transport string is constructed, try to share channels and udp ports. Make most of the stuff less dependant on RTP as we are also going to use it for RDT. Add support for transport specific session managers. * gst/rtsp/rtspconnection.c: (rtsp_connection_flush): Implement _flush(). * gst/rtsp/rtspdefs.c: (rtsp_strresult): * gst/rtsp/rtspdefs.h: Add generic error return code. * gst/rtsp/rtspext.h: Add support for pluggable tranport strings. * gst/rtsp/rtspextwms.c: (rtsp_ext_wms_before_send), (rtsp_ext_wms_after_send), (rtsp_ext_wms_parse_sdp), (rtsp_ext_wms_get_context): Detect WMServer and activate the extension. * gst/rtsp/rtsptransport.c: (rtsp_transport_get_mime), (rtsp_transport_get_manager), (rtsp_transport_parse): * gst/rtsp/rtsptransport.h: Added methods to get mime/manager for certain transports. 2006-10-05 Tim-Philipp Müller * ext/cairo/gsttimeoverlay.c: (gst_cairo_time_overlay_update_font_height): * ext/gdk_pixbuf/pixbufscale.c: (gst_pixbufscale_transform_caps): * ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_parse_image_data): * ext/jpeg/gstjpegenc.c: (gst_jpegenc_chain): * ext/jpeg/gstsmokedec.c: (gst_smokedec_chain): * ext/jpeg/gstsmokeenc.c: (gst_smokeenc_chain): * ext/libpng/gstpngdec.c: (user_endrow_callback): * gst/auparse/gstauparse.c: (gst_au_parse_parse_header): * gst/avi/gstavidemux.c: (gst_avi_demux_parse_superindex), (gst_avi_demux_parse_subindex), (gst_avi_demux_parse_stream), (gst_avi_demux_stream_data): * gst/cutter/gstcutter.c: (gst_cutter_chain): * gst/debug/efence.c: (gst_efence_buffer_alloc), (gst_fenced_buffer_copy): * gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame): * gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream): * gst/matroska/matroska-mux.c: (gst_matroska_mux_start): * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send), (gst_rtspsrc_handle_message): * gst/wavparse/gstwavparse.c: (gst_wavparse_stream_headers): * sys/ximage/ximageutil.c: (ximageutil_xcontext_get): Printf format fixes. 2006-10-04 Wim Taymans * gst/rtsp/Makefile.am: Dist new .h file too. 2006-10-04 Wim Taymans * gst/rtsp/Makefile.am: * gst/rtsp/gstrtpdec.c: (gst_rtpdec_getcaps), (gst_rtpdec_chain_rtp), (gst_rtpdec_chain_rtcp): * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_init), (gst_rtspsrc_finalize), (gst_rtspsrc_create_stream), (gst_rtspsrc_parse_rtpmap), (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_send), (gst_rtspsrc_parse_methods), (gst_rtspsrc_open), (gst_rtspsrc_play), (gst_rtspsrc_handle_message): * gst/rtsp/gstrtspsrc.h: * gst/rtsp/rtspdefs.c: (rtsp_strresult): * gst/rtsp/rtspdefs.h: * gst/rtsp/rtspext.h: * gst/rtsp/rtspextwms.c: (rtsp_ext_wms_parse_sdp), (rtsp_ext_wms_get_context): * gst/rtsp/rtspextwms.h: * gst/rtsp/rtsptransport.c: (rtsp_transport_init), (parse_mode), (rtsp_transport_parse): * gst/rtsp/rtsptransport.h: Factor out extension in separate module. Fix getcaps to filter against the padtemplate. Use Content-Base if the server gives one. Rework the transport parsing a bit for future extensions. Added some Real Header field definitions. 2006-10-04 Thomas Vander Stichele * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: added v4l2 stubs * gst-plugins-good.spec.in: add v4l2 2006-10-04 Tim-Philipp Müller * gst/apetag/gstapedemux.c: (ape_demux_parse_tags): Extract disc/album/medium number and count and try harder to extract track number/count. 2006-10-03 Thomas Vander Stichele * configure.ac: * sys/Makefile.am: add build stuff for v4l2, needs --enable-experimental until the last bits are resolved 2006-09-29 Tim-Philipp Müller * tests/check/Makefile.am: Disable autodetect test temporarily, so that the build bots update -bad and the ranks of unreliable video sinks in there. * tests/check/elements/autodetect.c: (GST_START_TEST): Skip test if no usable videosink is found. 2006-09-29 Wim Taymans * gst/rtsp/URLS: Add some more URLs. * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_class_init), (gst_rtspsrc_init), (gst_rtspsrc_finalize), (gst_rtspsrc_set_property), (gst_rtspsrc_get_property), (gst_rtspsrc_stream_setup_rtp), (gst_rtspsrc_loop_interleaved), (gst_rtspsrc_loop_udp), (gst_rtspsrc_loop_send_cmd), (gst_rtspsrc_loop), (gst_rtspsrc_send), (gst_rtspsrc_parse_methods), (gst_rtspsrc_open), (gst_rtspsrc_close), (gst_rtspsrc_play), (gst_rtspsrc_pause), (gst_rtspsrc_handle_message), (gst_rtspsrc_change_state): * gst/rtsp/gstrtspsrc.h: Add timeout property to control UDP timeouts. Fix error messages. Also start a loop function when operating in UDP mode so that we can do some more stuff async. Handle element messages from udpsrc to detect timeouts. If a timeout happens we currently generate an error. API: rtspsrc::timeout property. * gst/udp/gstudpsrc.c: (gst_udpsrc_class_init), (gst_udpsrc_create): Really implement the timeout in microseconds and not milliseconds. 2006-09-29 Wim Taymans * gst/udp/gstudpsrc.c: (gst_udpsrc_class_init), (gst_udpsrc_init), (gst_udpsrc_create), (gst_udpsrc_set_property), (gst_udpsrc_get_property), (gst_udpsrc_unlock), (gst_udpsrc_stop): * gst/udp/gstudpsrc.h: Added property to post a message on timeout. Updated docs. When restarting the select, initialize the fdsets again. Init control sockets so we don't accidentally close a random socket. API: GstUDPSrc::timeout property 2006-09-29 Wim Taymans * gst/rtsp/gstrtspsrc.c: (gst_rtsp_proto_get_type): Fix flag registration. * gst/rtsp/rtspconnection.c: (rtsp_connection_read): Reading 0 also means 'no more commands' 2006-09-29 Wim Taymans Patch by: Antoine Tremblay * gst/udp/gstudpsrc.c: (gst_udpsrc_create): Fix possible infinite loop when shutting down, a read can also return 0 to indicate no more messages are available. Fixes #358156. 2006-09-25 Wim Taymans * gst/autodetect/gstautoaudiosink.c: (gst_auto_audio_sink_base_init), (gst_auto_audio_sink_class_init), (gst_auto_audio_sink_find_best): * gst/autodetect/gstautovideosink.c: (gst_auto_video_sink_detect): Small cleanups. don't try to set "sync" property when it is not available. 2006-09-25 Tim-Philipp Müller Patch by: Peter Kjellerstedt * gst/alpha/gstalpha.c: * gst/rtp/gstrtpamrdepay.c: * gst/rtsp/gstrtspsrc.c: * gst/udp/gstudpsrc.c: * gst/videomixer/videomixer.c: Include stdlib.h in some more places, makes things compile with uClibc and -Werror (#357592). 2006-09-25 Tim-Philipp Müller * ext/jpeg/gstjpegdec.c: Set minimum height to 8 (from 16), our code should handle that fine. Some of the buttons on the apple trailer site are apparently only 15 pixels high (see #357470). 2006-09-23 Wim Taymans * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_loop), (gst_rtspsrc_send), (gst_rtspsrc_open): * gst/rtsp/rtspconnection.c: (rtsp_connection_create), (rtsp_connection_connect), (rtsp_connection_read), (read_body), (rtsp_connection_receive): * gst/rtsp/rtspdefs.c: (rtsp_strresult): * gst/rtsp/rtspdefs.h: Improve error reporting. 2006-09-23 Wim Taymans * gst/rtp/gstasteriskh263.c: (gst_asteriskh263_plugin_init): * gst/rtp/gstrtpL16depay.c: (gst_rtp_L16depay_plugin_init): * gst/rtp/gstrtpamrdepay.c: (gst_rtp_amr_depay_plugin_init): * gst/rtp/gstrtpdepay.c: * gst/rtp/gstrtpgsmdepay.c: (gst_rtp_gsm_depay_plugin_init): * gst/rtp/gstrtph263pdepay.c: (gst_rtp_h263p_depay_plugin_init): * gst/rtp/gstrtph264depay.c: (gst_rtp_h264_depay_plugin_init): * gst/rtp/gstrtpilbcdepay.c: (gst_rtp_ilbc_depay_plugin_init): * gst/rtp/gstrtpmp2tdepay.c: (gst_rtp_mp2t_depay_setcaps), (gst_rtp_mp2t_depay_plugin_init): * gst/rtp/gstrtpmp4gdepay.c: (gst_rtp_mp4g_depay_plugin_init): * gst/rtp/gstrtpmp4vdepay.c: (gst_rtp_mp4v_depay_plugin_init): * gst/rtp/gstrtpmpadepay.c: (gst_rtp_mpa_depay_plugin_init): * gst/rtp/gstrtppcmadepay.c: (gst_rtp_pcma_depay_plugin_init): * gst/rtp/gstrtppcmudepay.c: (gst_rtp_pcmu_depay_plugin_init): * gst/rtp/gstrtpspeexdepay.c: (gst_rtp_speex_depay_plugin_init): * gst/rtp/gstrtpsv3vdepay.c: (gst_rtp_sv3v_depay_plugin_init): * gst/rtp/gstrtpvorbisdepay.c: (gst_rtp_vorbis_depay_plugin_init): Fix klass typos. Mark RANK_MARGINAL, decodebin can handle the depayloaders fine. 2006-09-22 Tim-Philipp Müller * configure.ac: Need -base CVS for gst_base_rtp_depayload_push_ts(). 2006-09-22 Wim Taymans * gst/avi/gstavidemux.c: (gst_avi_demux_stream_index): Don't check for a tag that is never there and check if we read the correct tag. Fixes seeking again. We must post an error when all pads are unlinked. 2006-09-22 Wim Taymans * gst/rtp/Makefile.am: * gst/rtp/gstrtp.c: (plugin_init): * gst/rtp/gstrtpvorbisdepay.c: (gst_rtp_vorbis_depay_process): * gst/rtp/gstrtpvorbispay.c: (gst_rtp_vorbis_pay_setcaps), (gst_rtp_vorbis_pay_reset_packet), (gst_rtp_vorbis_pay_init_packet), (gst_rtp_vorbis_pay_flush_packet), (gst_rtp_vorbis_pay_parse_id), (gst_rtp_vorbis_pay_handle_buffer): More fixage, set endoder-params correctly in the payloader. 2006-09-22 Tim-Philipp Müller * gst/autodetect/gstautoaudiosink.c: (gst_auto_audio_sink_base_init): * gst/autodetect/gstautovideosink.c: (gst_auto_video_sink_base_init): Make static pad templates static to appease valgrind's leak detector. * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * tests/check/elements/autodetect.c: (GST_START_TEST), (autodetect_suite): Add simple test for the ghostpad lockup on shutdown fixed in core CVS (audio bit disabled because it would need dozens of alsa suppressions and I'm too lazy to add those now). 2006-09-22 Wim Taymans * gst/rtp/gstrtpL16depay.c: (gst_rtp_L16depay_change_state): * gst/rtp/gstrtpmp4gdepay.c: (gst_rtp_mp4g_depay_class_init): Small cleanups. * gst/rtp/Makefile.am: * gst/rtp/gstrtp.c: (plugin_init): * gst/rtp/gstrtpvorbisdepay.c: (gst_rtp_vorbis_depay_base_init), (gst_rtp_vorbis_depay_class_init), (gst_rtp_vorbis_depay_init), (gst_rtp_vorbis_depay_finalize), (gst_rtp_vorbis_depay_setcaps), (gst_rtp_vorbis_depay_process), (gst_rtp_vorbis_depay_set_property), (gst_rtp_vorbis_depay_get_property), (gst_rtp_vorbis_depay_change_state), (gst_rtp_vorbis_depay_plugin_init): * gst/rtp/gstrtpvorbisdepay.h: * gst/rtp/gstrtpvorbispay.c: (gst_rtp_vorbis_pay_base_init), (gst_rtp_vorbis_pay_class_init), (gst_rtp_vorbis_pay_init), (gst_rtp_vorbis_pay_setcaps), (gst_rtp_vorbis_pay_init_packet), (gst_rtp_vorbis_pay_flush_packet), (gst_rtp_vorbis_pay_append_buffer), (gst_rtp_vorbis_pay_handle_buffer), (gst_rtp_vorbis_pay_plugin_init): * gst/rtp/gstrtpvorbispay.h: Add experimental vorbis pay and depayloaders. 2006-09-21 Wim Taymans * gst/rtp/gstrtpmp4gpay.c: (gst_rtp_mp4g_pay_parse_audio_config): Fix profile-level-id parsing and setup. 2006-09-21 Wim Taymans * gst/udp/README: * gst/udp/gstudpsrc.c: (gst_udpsrc_set_property): Update README, simple cleanup. 2006-09-21 Wim Taymans * gst/rtp/README: Update README with some examples. * gst/rtp/gstrtpmp4gpay.c: (gst_rtp_mp4g_pay_init), (gst_rtp_mp4g_pay_finalize), (gst_rtp_mp4g_pay_parse_audio_config), (gst_rtp_mp4g_pay_parse_video_config), (gst_rtp_mp4g_pay_new_caps), (gst_rtp_mp4g_pay_setcaps): * gst/rtp/gstrtpmp4gpay.h: Make optional RTP parameters of type STRING, as required by the application/x-rtp caps specification. 2006-09-20 Philippe Kalaf * gst/rtp/gstrtph263pdepay.c: * gst/rtp/gstrtph263ppay.c: Correctly calculate size of each H263+ RTP buffer taking into account MTU and RTP header. 2006-09-20 Wim Taymans * gst/rtp/Makefile.am: And makefile too. 2006-09-20 Wim Taymans * gst/rtp/gstrtp.c: (plugin_init): * gst/rtp/gstrtpasfdepay.c: (gst_rtp_asf_depay_base_init), (gst_rtp_asf_depay_class_init), (gst_rtp_asf_depay_init), (decode_base64), (gst_rtp_asf_depay_setcaps), (gst_rtp_asf_depay_process), (gst_rtp_asf_depay_set_property), (gst_rtp_asf_depay_get_property), (gst_rtp_asf_depay_change_state), (gst_rtp_asf_depay_plugin_init): * gst/rtp/gstrtpasfdepay.h: Added preliminary ASF depayloader. * gst/rtp/gstrtph264depay.c: (decode_base64): Fix base64 decoding. 2006-09-20 Wim Taymans * gst/rtsp/URLS: Added some test URLS. * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_create_stream), (gst_rtspsrc_loop), (gst_rtspsrc_open): * gst/rtsp/gstrtspsrc.h: When creating streams, give access to the complete SDP. Fix some leaks. Collect and merge global stream properties in stream caps. Preliminary support for WMServer. * gst/rtsp/rtspconnection.c: (rtsp_connection_create), (rtsp_connection_connect), (rtsp_connection_read), (read_body), (rtsp_connection_receive): * gst/rtsp/rtspconnection.h: Make connection interruptable. Refactor to make it reconnectable. Don't fail on short reads when reading data packets. * gst/rtsp/rtspurl.c: (rtsp_url_parse), (rtsp_url_set_port), (rtsp_url_get_port): * gst/rtsp/rtspurl.h: Add methods for getting/setting the port. * gst/rtsp/sdpmessage.c: (sdp_message_get_attribute_val_n), (sdp_message_get_attribute_val), (sdp_media_get_attribute), (sdp_media_get_attribute_val_n), (sdp_media_get_attribute_val), (sdp_media_get_format), (sdp_parse_line), (sdp_message_parse_buffer): Fix headers. Add methods for getting multiple attributes with the same name. Increase buffer size when parsing. Fix parsing of a=foo fields. * gst/rtsp/test.c: (main): Update to new connection API. * gst/rtsp/rtspmessage.c: (rtsp_message_new_response), (rtsp_message_init_response), (rtsp_message_init_data), (rtsp_message_unset), (rtsp_message_free), (rtsp_message_dump): * gst/rtsp/rtspmessage.h: * gst/rtsp/rtsptransport.c: (rtsp_transport_free): * gst/rtsp/rtsptransport.h: * gst/rtsp/sdp.h: * gst/rtsp/sdpmessage.h: * gst/rtsp/gstrtsp.c: * gst/rtsp/gstrtsp.h: * gst/rtsp/gstrtpdec.c: * gst/rtsp/gstrtpdec.h: * gst/rtsp/rtsp.h: * gst/rtsp/rtspdefs.c: * gst/rtsp/rtspdefs.h: Dual licensed under MIT and LGPL now. 2006-09-19 Wim Taymans * gst/rtsp/gstrtspsrc.c: (find_stream_by_pt), (gst_rtspsrc_create_stream), (gst_rtspsrc_free_stream), (gst_rtspsrc_media_to_caps), (gst_rtspsrc_stream_setup_rtp), (gst_rtspsrc_stream_configure_transport), (find_stream_by_channel), (gst_rtspsrc_push_event), (gst_rtspsrc_loop), (gst_rtspsrc_send), (gst_rtspsrc_parse_methods), (gst_rtspsrc_open), (gst_rtspsrc_parse_rtpinfo), (gst_rtspsrc_play): * gst/rtsp/gstrtspsrc.h: Reorganize stream parsing and creation. Detect container formats in interleaved mode. Keep more state about the streams. Assume a server also supports PLAY if it does not say. Add unicast and interleaved properties to TCP transport requests to make some servers happy (WMServer). * gst/rtsp/sdpmessage.h: Add some defines for the standard Bandwidth types. 2006-09-19 Wim Taymans * gst/rtsp/test.c: (main): Fix build. 2006-09-19 Wim Taymans * gst/wavparse/gstwavparse.c: Add ms-gsm to the src template. 2006-09-18 Wim Taymans * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_media_to_caps), (gst_rtspsrc_send), (gst_rtspsrc_parse_methods), (gst_rtspsrc_open), (gst_rtspsrc_close), (gst_rtspsrc_play), (gst_rtspsrc_pause), (gst_rtspsrc_change_state), (gst_rtspsrc_uri_get_uri), (gst_rtspsrc_uri_set_uri): * gst/rtsp/gstrtspsrc.h: Small cleanups, added documentation. Try to clean up the requests and responses. Refactor parsing the supported methods. * gst/rtsp/rtspconnection.c: (rtsp_connection_open), (rtsp_connection_create), (rtsp_connection_send), (parse_response_status), (parse_request_line), (rtsp_connection_receive), (rtsp_connection_close), (rtsp_connection_free): * gst/rtsp/rtsptransport.c: (rtsp_transport_new), (rtsp_transport_init), (rtsp_transport_parse), (rtsp_transport_free): * gst/rtsp/rtspurl.c: (rtsp_url_parse): * gst/rtsp/sdpmessage.c: (sdp_message_new), (sdp_message_init), (sdp_message_clean), (sdp_message_free), (sdp_media_new), (sdp_media_init), (sdp_message_parse_buffer), (sdp_message_dump): Use g_return_val some more. * gst/rtsp/rtspdefs.h: Add more enum values to track initial states. * gst/rtsp/rtspmessage.c: (rtsp_message_new_request), (rtsp_message_init_request), (rtsp_message_new_response), (rtsp_message_init_response), (rtsp_message_init_data), (rtsp_message_unset), (rtsp_message_free), (rtsp_message_add_header), (rtsp_message_remove_header), (rtsp_message_get_header), (rtsp_message_set_body), (rtsp_message_take_body), (rtsp_message_get_body), (rtsp_message_steal_body), (rtsp_message_dump): * gst/rtsp/rtspmessage.h: Reorder arguments, object goes as the first one. Use g_return_val some more. 2006-09-18 Wim Taymans * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_base_init), (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_push_event), (gst_rtspsrc_loop), (gst_rtspsrc_uri_set_uri): * gst/rtsp/gstrtspsrc.h: Export sometimes source pad with correct caps on the template, create the ghostpad from the template. Remove RTCP template as we never expose RTCP. Protect against invalid body size. Avoid memcpy when creating the output buffer. Properly post an error and send EOS when the loop function is shut down. 2006-09-18 Wim Taymans Based on patch by: Lutz Mueller * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_class_init), (gst_rtspsrc_init), (gst_rtspsrc_set_property), (gst_rtspsrc_open), (gst_rtspsrc_uri_get_uri), (gst_rtspsrc_uri_set_uri): * gst/rtsp/gstrtspsrc.h: Make sure we can never set an invalid location. * gst/rtsp/rtspmessage.c: (rtsp_message_steal_body): * gst/rtsp/rtspmessage.h: Added _steal_body method for future use. * gst/rtsp/rtspurl.c: (rtsp_url_parse), (rtsp_url_free): Make freeing of NULL url return immediatly. 2006-09-18 Wim Taymans Based on patch by: Lutz Mueller * gst/rtsp/gstrtspsrc.c: (_do_init), (gst_rtspsrc_class_init), (gst_rtspsrc_init), (gst_rtspsrc_stream_setup_rtp), (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_play), (gst_rtspsrc_change_state): * gst/rtsp/gstrtspsrc.h: Use boilerplate. Make rtspsrc subclass GstBin to make state changes easier. Add Range header field on the PLAY request. 2006-09-18 Wim Taymans Based on patch by: Thijs Vermeir * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_set_state), (gst_rtspsrc_media_to_caps), (gst_rtspsrc_stream_setup_rtp), (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_open), (gst_rtspsrc_close), (gst_rtspsrc_play), (gst_rtspsrc_pause): * gst/rtsp/rtspconnection.c: (inet_aton): Small cleanups. when multicast is selected as the transport, create UDP sources and connect to the multicast group. Move parsing and setting of caps to a common place. Fixes #349894. 2006-09-17 Stefan Kost * ext/flac/gstflactag.c: * gst/alpha/gstalpha.c: * gst/debug/breakmydata.c: * gst/debug/negotiation.c: * gst/debug/testplugin.c: * gst/effectv/gstaging.c: * gst/effectv/gstdice.c: * gst/effectv/gstedge.c: * gst/effectv/gstquark.c: * gst/effectv/gstrev.c: * gst/effectv/gstshagadelic.c: * gst/effectv/gstvertigo.c: * gst/effectv/gstwarp.c: * gst/multipart/multipartdemux.c: * gst/multipart/multipartmux.c: * gst/videobox/gstvideobox.c: * gst/videofilter/gstgamma.c: * gst/videofilter/gstvideotemplate.c: * gst/videomixer/videomixer.c: * sys/sunaudio/gstsunaudiosrc.h: More G_OBJECT macro fixing. 2006-09-16 Wim Taymans Patch by: Yves Lefebvre * gst/avi/gstavimux.c: (gst_avi_mux_stop_file): Correctly set the dwLength in strh. With this patch, the file duration is now displayed correctly in window media player and the AVI plays completely. Fixes #356147 2006-09-15 Wim Taymans Patch by: Darren Kenny * sys/sunaudio/gstsunaudiomixerctrl.c: (gst_sunaudiomixer_ctrl_build_list): Set the output track as the MASTER so that the gnome-settings-daemon keybindings for changing the volume using the keyboard works. Fixes #356142. 2006-09-15 Wim Taymans * gst/multipart/multipartdemux.c: (gst_multipart_demux_chain): Fix documentation, it is not possible to control the framerate of jpegdec using filtered caps yet. Fixes #355210. Return the downstream GstFlowReturn instead of GST_FLOW_OK so that we stop when there is an error. 2006-09-14 Tim-Philipp Müller * gst/apetag/gsttagdemux.c: (gst_tag_demux_chain_parse_tag): * gst/id3demux/gstid3demux.c: (gst_id3demux_chain): Don't interpret a first buffer with an offset of NONE as 'from the middle of the stream', but only a first buffer that has a valid buffer offset that's non-zero (see #345449). 2006-09-14 Tim-Philipp Müller * gst/icydemux/gsticydemux.c: (gst_icydemux_reset), (gst_icydemux_typefind_or_forward): * gst/icydemux/gsticydemux.h: When we merge/collect multiple incoming buffers for typefinding purposes, keep an initial 0 offset on the first outgoing buffer as well (otherwise id3demux won't work right). Fixes #345449. Also Make buffer metadata writable before setting buffer caps. * tests/check/elements/icydemux.c: (typefind_succeed), (cleanup_icydemux), (push_data), (GST_START_TEST), (icydemux_suite): Small test case for the above. 2006-09-13 Stefan Kost * gst/avi/gstavidemux.c: (gst_avi_demux_peek_chunk), (gst_avi_demux_stream_index), (gst_avi_demux_sync), (gst_avi_demux_stream_header_push), (gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data), (gst_avi_demux_loop): More code reuse and better logging in _peek_chunk(). Reintroduce check for chunk sizes before reading them (avoid oom). Better handling for invalid chunksizes when streaming. 2006-09-11 Stefan Kost * gst/level/gstlevel.c: (gst_level_set_property): * gst/level/gstlevel.h: Fix type mixup in level->interval (gdouble<->guint64). Spotted by René Stadler 2006-09-06 Stefan Kost * gst/avi/gstavidemux.c: (gst_avi_demux_read_subindexes_pull), (gst_avi_demux_sync), (gst_avi_demux_stream_header_push), (gst_avi_demux_stream_data): Revert one change to fix streaming avi (adapter size != data size). 2006-09-04 Tim-Philipp Müller Patch by: Frédéric Riss * gst/matroska/matroska-demux.c: (gst_matroska_track_free), (gst_matroska_demux_reset), (gst_matroska_demux_read_track_encodings), (gst_matroska_demux_add_stream), (gst_matroska_decode_buffer), (gst_matroska_demux_parse_blockgroup_or_simpleblock), (gst_matroska_demux_subtitle_caps): * gst/matroska/matroska-ids.h: Add support for VOBSUB subtitle tracks and zlib-compressed tracks. Make sure we start on a keyframe after a seek. (#343348) 2006-09-04 Tim-Philipp Müller * gst/matroska/matroska-demux.c: (gst_matroska_demux_push_hdr_buf), (gst_matroska_demux_push_flac_codec_priv_data), (gst_matroska_demux_push_xiph_codec_priv_data), (gst_matroska_demux_parse_blockgroup_or_simpleblock), (gst_matroska_demux_video_caps), (gst_matroska_demux_audio_caps): * gst/matroska/matroska-ids.h: Add basic FLAC support (#311586), not perfect yet though, needs some tweaking in flacdec; also, seeking could be better. Do better bounds checking when deserialising vorbis stream headers to make sure we don't read beyond the end of the buffer on bad input. 2006-09-04 Wim Taymans Patch by: Alessandro Decina * ext/annodex/gstcmmldec.c: (gst_cmml_dec_chain): Seeking back in a file containing a CMML stream errors out if the seek goes back up to the CMML headers. This is because after the seek the xml processing instruction is submitted to the xml parser again, which results in an error. The attached patch fixes the problem. Fixes #353908. * ext/annodex/gstcmmlenc.h: Fix authors name. 2006-08-28 Andy Wingo * ext/raw1394/gstdv1394src.c (gst_dv1394src_from_raw1394handle): New helper function to lessen the ifdefs. (GST_INFO_OBJECT): (gst_dv1394src_iso_receive): Use it. (gst_dv1394src_create): Also use the control sockets in iec61883 mode. (gst_dv1394src_start, gst_dv1394src_stop): Always use a separate handle for AVC operations; fixes #348233. 2006-08-27 Stefan Kost * configure.ac: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/inspect/plugin-audiofx.xml: * docs/plugins/inspect/plugin-audiofxgood.xml: * gst/audiofx/Makefile.am: * gst/audiofx/audiofx.c: * gst/audiofxgood/.cvsignore: * gst/audiofxgood/Makefile.am: * gst/audiofxgood/audiofx.c: * gst/audiofxgood/audiopanorama.c: * gst/audiofxgood/audiopanorama.h: Rename again (audiofxgood -> audiofx). 2006-08-27 Stefan Kost * gst/avi/gstavidemux.c: (gst_avi_demux_next_data_buffer), (gst_avi_demux_stream_scan): Initialze variables. 2006-08-25 Wim Taymans * gst/avi/gstavidemux.c: (gst_avi_demux_class_init), (gst_avi_demux_init), (gst_avi_demux_finalize), (gst_avi_demux_reset), (gst_avi_demux_index_last), (gst_avi_demux_index_next), (gst_avi_demux_index_entry_for_time), (gst_avi_demux_parse_subindex), (gst_avi_demux_parse_index), (gst_avi_demux_stream_index), (gst_avi_demux_peek_tag), (gst_avi_demux_next_data_buffer), (gst_avi_demux_stream_scan), (gst_avi_demux_massage_index), (gst_avi_demux_calculate_durations_from_index), (gst_avi_demux_stream_header_pull), (gst_avi_demux_do_seek), (gst_avi_demux_process_next_entry), (gst_avi_demux_loop), (gst_avi_demux_chain), (gst_avi_demux_sink_activate), (gst_avi_demux_change_state): * gst/avi/gstavidemux.h: More attempts to turn this into readable code. Don't leak adapters. Calculate duration according to index more efficiently. Don't try to act like we drive the pipeline in chain mode. 2006-08-25 Wim Taymans * ext/annodex/gstcmmlutils.c: (gst_cmml_clock_time_from_npt): Fix build. 2006-08-25 Wim Taymans Patch by: Alessandro Decina * ext/annodex/gstannodex.c: (gst_annodex_granule_to_time): Do some extra sanity checks. Fixes #350340. * ext/annodex/gstcmmlenc.c: (gst_cmml_enc_change_state), (gst_cmml_enc_parse_tag_head), (gst_cmml_enc_parse_tag_clip), (gst_cmml_enc_push_clip), (gst_cmml_enc_push): Check if clip->start_time is valid before adding the clip to the track list. Reset enc->preamble going from PAUSED to READY. Don't use GST_FLOW_UNEXPECTED for wrong usage of the element, it is only used for EOS. Only post an error message if we were the one that created the fatal GstFlowReturn value. * ext/annodex/gstcmmlutils.c: (gst_cmml_clock_time_from_npt), (gst_cmml_clock_time_to_granule), (gst_cmml_track_list_has_clip): Parse the seconds field of the npt-sec time format using %llu rather than %d and check that the value scaled by GST_SECOND doesn't overflow. Use guint64(s) to represent the keyindex and keyoffset fields of a granulepos. Lookup a clip's track with clip->track rather than clip->id which makes no sense. Identify a clip by its track and start time and not its xml id. do some more input checking and make sure we don't do undefined shifts. * tests/check/elements/cmmldec.c: (setup_cmmldec), (teardown_cmmldec), (check_output_buffer_is_equal), (push_data), (cmml_tag_message_pop), (check_headers), (push_clip_full), (push_clip), (push_empty_clip), (check_output_clip), (GST_START_TEST), (cmmldec_suite): * tests/check/elements/cmmlenc.c: (setup_cmmlenc), (teardown_cmmlenc), (check_output_buffer_is_equal), (push_data), (check_headers), (push_clip), (check_clip_times), (check_clip), (check_empty_clip), (GST_START_TEST), (cmmlenc_suite): Added some more checks. 2006-08-24 Stefan Kost * gst/audiofxgood/audiopanorama.c: (gst_audio_panorama_class_init), (gst_audio_panorama_set_property), (gst_audio_panorama_get_property), (gst_audio_panorama_transform_m2s_int), (gst_audio_panorama_transform_s2s_int), (gst_audio_panorama_transform_m2s_float), (gst_audio_panorama_transform_s2s_float): * gst/audiofxgood/audiopanorama.h: * tests/check/elements/audiopanorama.c: (GST_START_TEST): Make also the pan-property float (saves scaling and yields better resolution) 2006-08-24 Stefan Kost * gst/audiofxgood/audiopanorama.c: (gst_audio_panorama_set_caps), (gst_audio_panorama_transform_m2s_float), (gst_audio_panorama_transform_s2s_float): ChangeLog surgery to add cymax's real name 2006-08-24 Stefan Kost Patch by: René Stadler * gst/audiofxgood/audiopanorama.c: (gst_audio_panorama_set_caps), (gst_audio_panorama_transform_m2s_int), (gst_audio_panorama_transform_s2s_int), (gst_audio_panorama_transform_m2s_float), (gst_audio_panorama_transform_s2s_float), (gst_audio_panorama_transform): * gst/audiofxgood/audiopanorama.h: Added float support 2006-08-24 Stefan Kost * gst/audiofxgood/audiopanorama.c: (gst_audio_panorama_transform_m2s): Fix docs & debug category. Add Fixme for volume pan levels. 2006-08-24 Stefan Kost * gst/avi/gstavidemux.c: (gst_avi_demux_read_subindexes_pull), (gst_avi_demux_sync), (gst_avi_demux_stream_header_push), (gst_avi_demux_stream_header_pull), (gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data), (gst_avi_demux_chain): unbreak AVI index handling, some more debug, remove an obsolete adapter_flush that caused streaming to wander off in the wild 2006-08-24 Wim Taymans * gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query), (gst_avi_demux_parse_superindex), (gst_avi_demux_parse_subindex), (gst_avi_demux_parse_stream), (gst_avi_demux_parse_odml), (gst_avi_demux_parse_index), (gst_avi_demux_stream_index), (gst_avi_demux_calculate_durations_from_index), (gst_avi_demux_stream_header_push), (gst_avi_demux_stream_header_pull): * gst/avi/gstavidemux.h: Some more cleanups. Fix totalFrames parsing in ODML. Disable use of index for length calculation in case of ODML as this is broken now. 2006-08-24 Tim-Philipp Müller * ext/flac/gstflacdec.c: (gst_flac_dec_update_metadata): Use libgsttag helper function here too. 2006-08-23 Stefan Kost * gst/avi/gstavidemux.c: (gst_avi_demux_class_init), (gst_avi_demux_init), (gst_avi_demux_dispose), (gst_avi_demux_reset), (gst_avi_demux_index_next), (gst_avi_demux_index_entry_for_time), (gst_avi_demux_src_convert), (gst_avi_demux_handle_src_query), (gst_avi_demux_handle_src_event), (gst_avi_demux_peek_chunk_info), (gst_avi_demux_peek_chunk), (gst_avi_demux_stream_init_push), (gst_avi_demux_stream_init_pull), (gst_avi_demux_parse_subindex), (gst_avi_demux_read_subindexes_push), (gst_avi_demux_read_subindexes_pull), (gst_avi_demux_parse_stream), (sort), (gst_avi_demux_parse_index), (gst_avi_demux_stream_index), (gst_avi_demux_sync), (gst_avi_demux_peek_tag), (gst_avi_demux_massage_index), (gst_avi_demux_stream_header_push), (gst_avi_demux_stream_header_pull), (gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data), (push_tag_lists), (gst_avi_demux_loop), (gst_avi_demux_chain), (gst_avi_demux_sink_activate), (gst_avi_demux_activate_push), (gst_avi_demux_change_state): * gst/avi/gstavidemux.h: Initial streaming support for avidemux (fixes #336465) 2006-08-22 Tim-Philipp Müller * docs/plugins/gst-plugins-good-plugins-docs.sgml: There is no taglibmux element ... * gst/rtsp/gstrtspsrc.c: Use '%' rather than '&perc;' in gtk-doc blurb, docs build was complaining about unknown entity here. 2006-08-22 Wim Taymans * gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream), (gst_avi_demux_do_seek), (gst_avi_demux_handle_seek), (gst_avi_demux_process_next_entry): * gst/avi/gstavidemux.h: Mark DISCONT. Remove old unused fields and reorder the struct a bit. 2006-08-22 Wim Taymans * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_media_to_caps), (gst_rtspsrc_send), (gst_rtspsrc_close), (gst_rtspsrc_play), (gst_rtspsrc_pause): * gst/rtsp/gstrtspsrc.h: * sys/oss/gstosssink.c: (gst_oss_sink_open), (gst_oss_sink_prepare), (gst_oss_sink_unprepare): Small documentation updates. 2006-08-22 Wim Taymans * gst/avi/gstavidemux.c: (gst_avi_demux_reset), (gst_avi_demux_index_entry_for_time), (gst_avi_demux_handle_src_query), (gst_avi_demux_handle_src_event), (gst_avi_demux_stream_init), (gst_avi_demux_parse_stream), (gst_avi_demux_stream_index), (gst_avi_demux_peek_tag), (gst_avi_demux_next_data_buffer), (gst_avi_demux_calculate_durations_from_index), (gst_avi_demux_stream_header), (gst_avi_demux_do_seek), (gst_avi_demux_handle_seek), (gst_avi_demux_aggregated_flow), (gst_avi_demux_process_next_entry), (gst_avi_demux_loop), (gst_avi_demux_sink_activate_pull), (gst_avi_demux_change_state): * gst/avi/gstavidemux.h: Precalc most of the duration query for each stream. Make seeking more correct. Use GstSegment to track position and duration. Code cleanups and leak fixes. Calculate correct total duration based on index length. 2006-08-22 Jan Schmidt * gst/id3demux/id3v2frames.c: (parse_text_identification_frame), (parse_insert_string_field): If strings in text fields are marked ISO8859-1, but contain valid UTF-8 already, then handle them as UTF-8 and ignore the encoding. (#351794) 2006-08-22 Tim-Philipp Müller * ext/flac/gstflacdec.c: (gst_flac_dec_scan_got_frame), (gst_flac_dec_write), (gst_flac_dec_loop), (gst_flac_dec_sink_event), (gst_flac_dec_chain), (gst_flac_dec_src_query): * ext/flac/gstflacdec.h: Make flac-in-ogg work (#352100). 2006-08-22 Tim-Philipp Müller * gst/monoscope/gstmonoscope.c: (gst_monoscope_chain): Don't unref buffers of which we've already given away ownership to the adapter. 2006-08-22 Tim-Philipp Müller * ext/speex/gstspeexdec.c: (speex_dec_chain_parse_comments): Make metadata extraction actually work. * ext/speex/gstspeexenc.c: (gst_speexenc_base_init), (gst_speexenc_init), (gst_speexenc_create_metadata_buffer), (gst_speexenc_chain): Fix metadata writing: replace old code which wrote completely broken tags with libgsttag-based code. Plus miscellaneous code cleanups (use static pad templates etc.) and a bunch of leak fixes. 2006-08-21 Stefan Kost * gst/audiopanorama/.cvsignore: * gst/audiopanorama/Makefile.am: * gst/audiopanorama/audiofx.c: * gst/audiopanorama/audiopanorama.c: * gst/audiopanorama/audiopanorama.h: die! die! die! you should never have been there 2006-08-21 Jan Schmidt * tests/check/elements/audiopanorama.c: (GST_START_TEST): Fix invalid memory access in audiopanorama test suite. 2006-08-21 Edward Hervey * tests/check/elements/.cvsignore: ignore built file 2006-08-21 Wim Taymans * gst/rtp/Makefile.am: Fix the build again. 2006-08-21 Stefan Kost * gst/audiofxgood/.cvsignore: * gst/audiofxgood/Makefile.am: * gst/audiofxgood/audiofx.c: (plugin_init): * gst/audiofxgood/audiopanorama.c: (gst_audio_panorama_base_init), (gst_audio_panorama_class_init), (gst_audio_panorama_init), (gst_audio_panorama_set_property), (gst_audio_panorama_get_property), (gst_audio_panorama_get_unit_size), (gst_audio_panorama_transform_caps), (gst_audio_panorama_set_caps), (gst_audio_panorama_transform_m2s), (gst_audio_panorama_transform_s2s), (gst_audio_panorama_transform): * gst/audiofxgood/audiopanorama.h: resubmit with the desired name *again* 2006-08-20 Stefan Kost * ext/gdk_pixbuf/pixbufscale.c: (gst_pixbufscale_get_unit_size): * gst/videobox/gstvideobox.c: (gst_video_box_get_unit_size): use g_assert in _get_unit_size 2006-08-20 Stefan Kost * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * docs/plugins/inspect/plugin-audiofxgood.xml: cleanup -unused.txt to make it useful, add previously missing docs * ext/Makefile.am: Quietly (accidentally) enable LADSPA for building by default, despite the fact that it doesn't meet the plugin checklist. -- Added by Jan Schmidt 18 Dec 2006 * ext/esd/esdmon.c: * ext/esd/esdsink.c: * ext/esd/gstesd.c: (plugin_init): reflow to get rid of two external symbols * gst/audiofxgood/audiofx.c: (plugin_init): re-add 2006-08-20 Stefan Kost * configure.ac: * gst/audiofxgood/.cvsignore: * gst/audiofxgood/Makefile.am: * gst/audiofxgood/audiofx.c * gst/audiofxgood/audiopanorama.c: (gst_audio_panorama_base_init), (gst_audio_panorama_class_init), (gst_audio_panorama_init), (gst_audio_panorama_set_property), (gst_audio_panorama_get_property), (gst_audio_panorama_get_unit_size), (gst_audio_panorama_transform_caps), (gst_audio_panorama_set_caps), (gst_audio_panorama_transform_m2s), (gst_audio_panorama_transform_s2s), (gst_audio_panorama_transform): * gst/audiofxgood/audiopanorama.h: * tests/check/Makefile.am: * tests/check/elements/audiopanorama.c: (setup_panorama_m), (setup_panorama_s), (cleanup_panorama), (GST_START_TEST), (panorama_suite), (main): Add audiofxgood plugin with audiopanorama element 2006-08-18 Wim Taymans * docs/plugins/Makefile.am: More Oss docs fixage. 2006-08-18 Wim Taymans * gst/rtp/Makefile.am: * gst/rtp/gstrtp.c: (plugin_init): * gst/rtp/gstrtpsv3vdepay.c: (gst_rtp_sv3v_depay_base_init), (gst_rtp_sv3v_depay_class_init), (gst_rtp_sv3v_depay_init), (gst_rtp_sv3v_depay_finalize), (gst_rtp_sv3v_depay_setcaps), (gst_rtp_sv3v_depay_process), (gst_rtp_sv3v_depay_set_property), (gst_rtp_sv3v_depay_get_property), (gst_rtp_sv3v_depay_change_state), (gst_rtp_sv3v_depay_plugin_init): * gst/rtp/gstrtpsv3vdepay.h: Added experimental SVQ3 depayloader. 2006-08-18 Edward Hervey * ext/dv/gstdvdemux.c: (gst_dvdemux_handle_pull_seek), (gst_dvdemux_loop), (gst_dvdemux_change_state): * ext/dv/gstdvdemux.h: When handling seek requests, don't send the newsegment event from the calling thread. Instead save it so it can be sent from the streaming thread. 2006-08-17 Wim Taymans Patch by: Sjoerd Simons * gst/multipart/multipartdemux.c: (multipart_parse_header): Accept leading whitespace before the boundary This patch makes the demuxer allow some whitespace before the actual boundary. This makes the demuxer work with the ``old'' gstreamer multipartmuxer again (which placed an extra \n before the start of the stream) Fixes #349068. 2006-08-17 Wim Taymans * gst/rtp/gstrtph264depay.c: (gst_rtp_h264_depay_process): Error out on non-implemented stuff. 2006-08-16 Wim Taymans Patch by: Andy Wingo * ext/ladspa/gstsignalprocessor.c: (gst_signal_processor_setup), (gst_signal_processor_start), (gst_signal_processor_stop), (gst_signal_processor_cleanup), (gst_signal_processor_setcaps), (gst_signal_processor_pen_buffer), (gst_signal_processor_flush), (gst_signal_processor_do_pulls), (gst_signal_processor_do_pushes), (gst_signal_processor_change_state): Make ladspa elements reusable. Fixes #350006. 2006-08-16 Wim Taymans * ext/ladspa/gstladspa.c: (gst_ladspa_base_init): Convert ' ' into '_'. Try to keep as many characters in the padtemplate names as possible. Fixes #349901. 2006-08-16 Wim Taymans * ext/ladspa/gstsignalprocessor.c: (gst_signal_processor_flush), (gst_signal_processor_do_pushes): A push() gives away our refcount so we should not use the buffer on the pen anymore. 2006-08-16 Tim-Philipp Müller * sys/oss/gstossmixerelement.c: (gst_oss_mixer_element_class_init), (gst_oss_mixer_element_finalize): Don't leak device string. 2006-08-16 Tim-Philipp Müller * configure.ac: Require CVS of GStreamer core and -base (for GST_TAG_EXTENDED_COMMENT and gst_tag_parse_extended_comment()). * ext/taglib/gstid3v2mux.cc: Write extended comment tags properly (#348762). * gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame), (parse_comment_frame): Extract COMM frames into extended comments, which makes it easier to properly retain the description bit of the tag and maintain this information when re-tagging (#348762). 2006-08-16 Tim-Philipp Müller * tests/check/Makefile.am: Don't try to run annodex unit tests if the annodex plugin has not been built (Fixes #351116). 2006-08-16 Tim-Philipp Müller * gst/autodetect/gstautoaudiosink.c: (gst_auto_audio_sink_find_best): When we can't find a usable audiosink, don't error out, but use a fake sink instead and post a warning message on the bus (#341278). 2006-08-16 Tim-Philipp Müller * sys/oss/gstossmixerelement.c: (gst_oss_mixer_element_class_init): * sys/oss/gstosssink.c: * sys/oss/gstosssrc.c: Document OSS elements; add gtk-doc blurb with 'Since 0.10.5' for ossmixer's new device property. * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: Add docs for OSS elements. * docs/plugins/inspect/plugin-aasink.xml: * docs/plugins/inspect/plugin-alaw.xml: * docs/plugins/inspect/plugin-alpha.xml: * docs/plugins/inspect/plugin-alphacolor.xml: * docs/plugins/inspect/plugin-annodex.xml: * docs/plugins/inspect/plugin-apetag.xml: * docs/plugins/inspect/plugin-auparse.xml: * docs/plugins/inspect/plugin-autodetect.xml: * docs/plugins/inspect/plugin-avi.xml: * docs/plugins/inspect/plugin-cacasink.xml: * docs/plugins/inspect/plugin-cairo.xml: * docs/plugins/inspect/plugin-cdio.xml: * docs/plugins/inspect/plugin-cutter.xml: * docs/plugins/inspect/plugin-debug.xml: * docs/plugins/inspect/plugin-dv.xml: * docs/plugins/inspect/plugin-efence.xml: * docs/plugins/inspect/plugin-effectv.xml: * docs/plugins/inspect/plugin-esdsink.xml: * docs/plugins/inspect/plugin-flac.xml: * docs/plugins/inspect/plugin-flxdec.xml: * docs/plugins/inspect/plugin-gconfelements.xml: * docs/plugins/inspect/plugin-gdkpixbuf.xml: * docs/plugins/inspect/plugin-goom.xml: * docs/plugins/inspect/plugin-halelements.xml: * docs/plugins/inspect/plugin-icydemux.xml: * docs/plugins/inspect/plugin-id3demux.xml: * docs/plugins/inspect/plugin-jpeg.xml: * docs/plugins/inspect/plugin-level.xml: * docs/plugins/inspect/plugin-matroska.xml: * docs/plugins/inspect/plugin-mulaw.xml: * docs/plugins/inspect/plugin-multipart.xml: * docs/plugins/inspect/plugin-navigationtest.xml: * docs/plugins/inspect/plugin-ossaudio.xml: * docs/plugins/inspect/plugin-png.xml: * docs/plugins/inspect/plugin-rtp.xml: * docs/plugins/inspect/plugin-rtsp.xml: * docs/plugins/inspect/plugin-shout2send.xml: * docs/plugins/inspect/plugin-smpte.xml: * docs/plugins/inspect/plugin-speex.xml: * docs/plugins/inspect/plugin-taglib.xml: * docs/plugins/inspect/plugin-udp.xml: * docs/plugins/inspect/plugin-videobalance.xml: * docs/plugins/inspect/plugin-videobox.xml: * docs/plugins/inspect/plugin-videoflip.xml: * docs/plugins/inspect/plugin-videomixer.xml: * docs/plugins/inspect/plugin-wavenc.xml: * docs/plugins/inspect/plugin-wavparse.xml: * docs/plugins/inspect/plugin-ximagesrc.xml: Update to CVS version. 2006-08-16 Wim Taymans * gst/rtp/gstrtpamrdepay.c: * gst/rtp/gstrtpmp4gdepay.c: Caps extra properties must be defined as strings for depayloaders because they are generated from an SDP. * gst/rtp/Makefile.am: * gst/rtp/gstrtp.c: (plugin_init): * gst/rtp/gstrtph264depay.c: (gst_rtp_h264_depay_base_init), (gst_rtp_h264_depay_class_init), (gst_rtp_h264_depay_init), (gst_rtp_h264_depay_finalize), (decode_base64), (gst_rtp_h264_depay_setcaps), (gst_rtp_h264_depay_process), (gst_rtp_h264_depay_set_property), (gst_rtp_h264_depay_get_property), (gst_rtp_h264_depay_change_state), (gst_rtp_h264_depay_plugin_init): * gst/rtp/gstrtph264depay.h: Added basic, not completely functional RFC 3984 H264 depayloader. 2006-08-16 Wim Taymans * gst/rtsp/gstrtpdec.c: (gst_rtpdec_init), (gst_rtpdec_getcaps): Add pads after setting them up. * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_class_init), (gst_rtspsrc_init), (gst_rtspsrc_finalize), (gst_rtspsrc_free_stream), (gst_rtspsrc_media_to_caps), (gst_rtspsrc_stream_setup_rtp), (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_combine_flows), (gst_rtspsrc_loop), (gst_rtspsrc_open), (gst_rtspsrc_close), (gst_rtspsrc_play), (gst_rtspsrc_pause): * gst/rtsp/gstrtspsrc.h: Fix interleaved mode. - Protect streaming with lock. - Combine flows - set caps on outgoing buffers. - strip trailing \0 from data packets. - Configure RTP/RTCP in stream. Use DEBUG_OBJECT more. 2006-08-16 Wim Taymans * gst/udp/gstmultiudpsink.c: (gst_multiudpsink_add): Turn a g_print into a DEBUG line. 2006-08-13 Wim Taymans * sys/oss/gstossmixer.c: (gst_ossmixer_open), (gst_ossmixer_new): * sys/oss/gstossmixerelement.c: (gst_oss_mixer_element_class_init), (gst_oss_mixer_element_init), (gst_oss_mixer_element_set_property), (gst_oss_mixer_element_get_property), (gst_oss_mixer_element_change_state): * sys/oss/gstossmixerelement.h: Small cleanups. Better error reporting. Add device property for the mixer instead of the hardcoded /dev/mixer. Fixes #350785. API: GstOssMixerElement::device property 2006-08-15 Tim-Philipp Müller Patch by: Jens Granseuer * gconf/Makefile.am: Make --disable-schemas work right (they still need to be copied to the installation directory, just not applied). Fixes #351347 (also #344100). 2006-08-14 Thomas Vander Stichele * configure.ac: back to HEAD === release 0.10.4 === 2006-08-14 Thomas Vander Stichele * configure.ac: releasing 0.10.4, "Dear Leader" 2006-08-10 Thomas Vander Stichele Patch by: Edward Hervey * configure.ac: * gst/wavparse/gstwavparse.c: (gst_wavparse_perform_seek), (gst_wavparse_stream_data): Send the newsegment event in the streaming thread. Fixes #347529 2006-08-08 Tim-Philipp Müller * ext/jpeg/gstsmokedec.c: (gst_smokedec_chain): * ext/jpeg/gstsmokeenc.c: (gst_smokeenc_setcaps), (gst_smokeenc_resync), (gst_smokeenc_chain): Refuse sink caps in the encoder if width or height is not a multiple of 16, the encoder does not support that yet (#349939); along the same lines, check the return value of the encoder setup function; also remove some debug log clutter. 2006-08-04 Andy Wingo * ext/ladspa/gstsignalprocessor.h: Add infrastructure for storing whether a processor can work in place or not, and for keeping track of its state. Change the FlowReturn instance variable from "state" to "flow_state", all callers changed. * ext/ladspa/gstsignalprocessor.c (gst_signal_processor_setup) (gst_signal_processor_start, gst_signal_processor_stop) (gst_signal_processor_cleanup): New functions to manage the processor's state. (gst_signal_processor_setcaps): start() as well as setup() here. (gst_signal_processor_prepare): Respect CAN_PROCESS_IN_PLACE. (gst_signal_processor_change_state): Stop and cleanup the processor as we go to NULL. * ext/ladspa/gstladspa.c (gst_ladspa_base_init): Reuse buffers if INPLACE_BROKEN is not set. * ext/ladspa/gstsignalprocessor.c (gst_signal_processor_prepare): Do the alloc_buffer in bytes, not frames. 2006-08-04 Zaheer Abbas Merali * sys/ximage/ximageutil.c: (ximageutil_xcontext_get): Fix rgb masks when recording in < 24bpp. 2006-08-04 Andy Wingo * ext/ladspa/gstsignalprocessor.c (gst_signal_processor_setcaps) (gst_signal_processor_prepare) (gst_signal_processor_update_inputs) (gst_signal_processor_process, gst_signal_processor_pen_buffer) (gst_signal_processor_flush) (gst_signal_processor_sink_activate_push) (gst_signal_processor_src_activate_pull) (gst_signal_processor_change_state): Remove the last of the code that assumes that we process whole buffers at a time. Fix some debugging. Seems to work now in some cases. (gst_signal_processor_src_activate_pull): BPB 2006-08-01 Andy Wingo * ext/ladspa/gstsignalprocessor.c (gst_signal_processor_process): Fix nframes-choosing. (gst_signal_processor_init): Init pending_in and pending_out. * ext/ladspa/gstsignalprocessor.c (gst_signal_processor_init): No more default sample rate, although we never check that the sample rate actually gets set. Something for the future. (gst_signal_processor_setcaps): Some refcount fixes, flow fixes. (gst_signal_processor_event): Refcount fixen. (gst_signal_processor_process): Pull the number of frames to process from the sizes of the buffers in the input pens. (gst_signal_processor_pen_buffer): Remove an incorrect FIXME :) (gst_signal_processor_do_pulls): Add an nframes argument, and use it instead of buffer_frames. (gst_signal_processor_getrange): Refcount fixen, pass nframes on to do_pulls. (gst_signal_processor_chain) (gst_signal_processor_sink_activate_push) (gst_signal_processor_src_activate_pull): Refcount fixen. * ext/ladspa/gstsignalprocessor.h: No more buffer_frames, yay. 2006-07-31 Stefan Kost * ext/ladspa/gstsignalprocessor.c: (gst_signal_processor_setcaps), (gst_signal_processor_process): don't query buffer-frames from caps, add lots of debug-log, try fix for assert (#349189) 2006-07-31 Wim Taymans * gst/udp/gstudpsrc.c: Fix docs. 2006-07-29 Stefan Kost * ext/ladspa/gstsignalprocessor.c: (gst_signal_processor_add_pad_from_template), (gst_signal_processor_init), (gst_signal_processor_setcaps), (gst_signal_processor_process), (gst_signal_processor_pen_buffer), (gst_signal_processor_do_pulls), (gst_signal_processor_getrange), (gst_signal_processor_sink_activate_push), (gst_signal_processor_src_activate_pull), (gst_signal_processor_change_state): Add debugs logs here and there, add more error handling, add some FIXME comments, filed #349189 2006-07-29 Zaheer Abbas Merali * ext/jpeg/gstsmokeenc.c: (gst_smokeenc_getcaps), (gst_smokeenc_setcaps), (gst_smokeenc_chain): Set caps on buffer correctly. Fixes bug #349155. 2006-07-28 Wim Taymans Patch by: Sjoerd Simons * gst/multipart/multipartdemux.c: (gst_multipart_demux_base_init), (gst_multipart_demux_class_init), (gst_multipart_demux_init), (gst_multipart_demux_finalize), (get_line_end), (multipart_parse_header), (multipart_find_boundary), (gst_multipart_demux_chain), (gst_multipart_demux_change_state), (gst_multipart_set_property), (gst_multipart_get_property): Uses GstAdapter instead of own buffering. Actually parses the mime-type correctly (In tests the mime-type was always "" with the old version). Uses the Content-length header if available to speed up things. Reliably autoscans the boundary name by default. Fixes #349068. * gst/multipart/multipartmux.c: (gst_multipart_mux_collected): Don't start the stream with a \n. 2006-07-28 Tim-Philipp Müller Patch by: Brian Cameron * sys/sunaudio/gstsunaudiosrc.c: (gst_sunaudiosrc_open): Open source with O_NONBLOCK (#349015). 2006-07-28 Stefan Kost,,, * gst/avi/gstavidemux.c: (gst_avi_demux_stream_index), (gst_avi_demux_massage_index): * gst/avi/gstavidemux.h: Whitespace fixes and more debug 2006-07-27 Tim-Philipp Müller * gst/autodetect/gstautoaudiosink.c: (gst_auto_audio_sink_create_element_with_pretty_name), (gst_auto_audio_sink_find_best), (gst_auto_audio_sink_change_state): Get rid of old and unused magic sound-server properties stuff. Add suffix to child sink's name that makes it easy to see from the name alone which type it actually is (alsa, oss, esd, etc.). 2006-07-27 Wim Taymans * gst/udp/gstudpsrc.c: (gst_udpsrc_class_init), (gst_udpsrc_init), (gst_udpsrc_set_property), (gst_udpsrc_get_property), (gst_udpsrc_start): * gst/udp/gstudpsrc.h: Rename "buffer" to "buffer-size" to make clear it is a size we set and not some sort of feature we enable. 2006-07-27 Tim-Philipp Müller * gst/udp/gstudpsrc.c: (gst_udpsrc_start): Use CLOSE_SOCKET() here instead of close() to maintain win32 workiness. 2006-07-27 Wim Taymans Patch by: Thijs Vermeir * gst/udp/gstudpsrc.c: (gst_udpsrc_class_init), (gst_udpsrc_init), (gst_udpsrc_create), (gst_udpsrc_set_property), (gst_udpsrc_get_property), (gst_udpsrc_start): * gst/udp/gstudpsrc.h: Added "buffer-size" property to control the kernel receive buffer size. Update documentation. Small cleanups. Fixes #348752. API: buffer-size property 2006-07-26 Wim Taymans Patch by: Kai Vehmanen * gst/rtp/gstrtppcmapay.c: (gst_rtp_pcma_pay_flush), (gst_rtp_pcma_pay_handle_buffer): * gst/rtp/gstrtppcmupay.c: (gst_rtp_pcmu_pay_flush), (gst_rtp_pcmu_pay_handle_buffer): Fix timestamp calculation on outgoing RTP packets. Fixes #348675. 2006-07-26 Tim-Philipp Müller * ext/taglib/gstid3v2mux.cc: Fix writing of comment frames (should be COMM not TCOM), is still sub-optimal though, since we don't retain or extract the comment descriptions properly (#334375, also see #334375). 2006-07-26 Tim-Philipp Müller * gst/wavparse/gstwavparse.c: #define 'fact' RIFF chunk if we are not compiling against -base CVS (we don't want to depend on -base CVS for this one define only, and also not for release order reasons). 2006-07-26 Tim-Philipp Müller * ext/taglib/gstid3v2mux.cc: Handle multiple tags of the same type properly. Re-inject unparsed ID3v2 frames that we get as binary blobs from id3demux into the tag again so we don't lose information when retagging (#334375). 2006-07-25 Tim-Philipp Müller * sys/ximage/gstximagesrc.c: (gst_ximage_src_class_init): Document newly-added properties properly, so that there is a 'Since: 0.10.4' in the plugin docs. Convert some property names into canonical GObject style (GObject will do that internally anyway). 2006-07-25 Tim-Philipp Müller * gst/id3demux/id3tags.c: (id3demux_add_id3v2_frame_blob_to_taglist): Extract frames for ID3v2 versions prior to ID3v2.3.0 properly as well, and add the version to the blob's buffer caps, since that information will be needed for deserialisation later on (#348644). 2006-07-25 Stefan Kost * gst/avi/gstavidemux.c: (gst_avi_demux_read_subindexes), (gst_avi_demux_parse_stream): Moved win32 variant of GST_DEBUG_CATEGORY_EXTERN to gstinfo.h. Fixed indentation and spacing. 2006-07-24 Tim-Philipp Müller * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * docs/plugins/gst-plugins-good-plugins.args: * docs/plugins/inspect/plugin-1394.xml: * docs/plugins/inspect/plugin-aasink.xml: * docs/plugins/inspect/plugin-alaw.xml: * docs/plugins/inspect/plugin-alpha.xml: * docs/plugins/inspect/plugin-alphacolor.xml: * docs/plugins/inspect/plugin-annodex.xml: * docs/plugins/inspect/plugin-apetag.xml: * docs/plugins/inspect/plugin-auparse.xml: * docs/plugins/inspect/plugin-autodetect.xml: * docs/plugins/inspect/plugin-avi.xml: * docs/plugins/inspect/plugin-cacasink.xml: * docs/plugins/inspect/plugin-cairo.xml: * docs/plugins/inspect/plugin-cdio.xml: * docs/plugins/inspect/plugin-cutter.xml: * docs/plugins/inspect/plugin-debug.xml: * docs/plugins/inspect/plugin-dv.xml: * docs/plugins/inspect/plugin-efence.xml: * docs/plugins/inspect/plugin-effectv.xml: * docs/plugins/inspect/plugin-esdsink.xml: * docs/plugins/inspect/plugin-flac.xml: * docs/plugins/inspect/plugin-flxdec.xml: * docs/plugins/inspect/plugin-gconfelements.xml: * docs/plugins/inspect/plugin-gdkpixbuf.xml: * docs/plugins/inspect/plugin-goom.xml: * docs/plugins/inspect/plugin-halelements.xml: * docs/plugins/inspect/plugin-icydemux.xml: * docs/plugins/inspect/plugin-id3demux.xml: * docs/plugins/inspect/plugin-jpeg.xml: * docs/plugins/inspect/plugin-level.xml: * docs/plugins/inspect/plugin-matroska.xml: * docs/plugins/inspect/plugin-mulaw.xml: * docs/plugins/inspect/plugin-multipart.xml: * docs/plugins/inspect/plugin-navigationtest.xml: * docs/plugins/inspect/plugin-ossaudio.xml: * docs/plugins/inspect/plugin-png.xml: * docs/plugins/inspect/plugin-rtp.xml: * docs/plugins/inspect/plugin-rtsp.xml: * docs/plugins/inspect/plugin-shout2send.xml: * docs/plugins/inspect/plugin-smpte.xml: * docs/plugins/inspect/plugin-speex.xml: * docs/plugins/inspect/plugin-udp.xml: * docs/plugins/inspect/plugin-videobalance.xml: * docs/plugins/inspect/plugin-videobox.xml: * docs/plugins/inspect/plugin-videoflip.xml: * docs/plugins/inspect/plugin-videomixer.xml: * docs/plugins/inspect/plugin-wavenc.xml: * docs/plugins/inspect/plugin-wavparse.xml: * docs/plugins/inspect/plugin-ximagesrc.xml: Update files to CVS/Prerelease version, add esdsink docs. * ext/esd/esdsink.c: Add gtk-doc blurb. * gst/rtp/gstrtpmp4vpay.c: Fix typo in element description. 2006-07-24 Tim-Philipp Müller * ext/esd/esdsink.c: (gst_esdsink_open), (gst_esdsink_factory_init): Prevent libesd from auto-spawning a sound daemon if it is not already running. Now that we don't do evil stuff like that any longer we can give esdsink a rank so that autoaudiosink will try it as well if all other audio sinks fail (#343051). 2006-07-24 Tim-Philipp Müller * ext/esd/Makefile.am: Oops, need to remove README from EXTRA_DIST as well. 2006-07-24 Tim-Philipp Müller * ext/esd/README: Remove, it contains nothing useful anyway. * ext/esd/esdsink.c: (gst_esdsink_init), (gst_esdsink_prepare), (gst_esdsink_delay): Some small clean-ups; use GST_BOILERPLATE etc. 2006-07-24 Wim Taymans * gst/law/alaw-decode.c: (alawdec_getcaps): * gst/law/alaw-encode.c: (alawenc_getcaps), (gst_alawenc_chain): * gst/law/mulaw-decode.c: (mulawdec_getcaps): * gst/law/mulaw-encode.c: (mulawenc_getcaps): Fix negotiation to deal with ANY/EMPTY caps instead of leaking. 2006-07-24 Stefan Kost * gst/wavparse/gstwavparse.c: (gst_wavparse_reset), (gst_wavparse_other), (gst_wavparse_perform_seek), (gst_wavparse_get_upstream_size), (gst_wavparse_stream_headers), (gst_wavparse_add_src_pad), (gst_wavparse_stream_data), (gst_wavparse_pad_query): * gst/wavparse/gstwavparse.h: Use information from 'fact' chunk for length calculation of compressed samples. Calculate bps if bogus value is found in wav header (embeded mp2/mp3). 2006-07-24 Tim-Philipp Müller Based on patch by: Joni Valtanen * configure.ac: * gst/udp/Makefile.am: * gst/udp/gstdynudpsink.c: (gst_dynudpsink_init), (gst_dynudpsink_finalize), (gst_dynudpsink_close): * gst/udp/gstdynudpsink.h: * gst/udp/gstmultiudpsink.c: (gst_multiudpsink_init), (gst_multiudpsink_finalize), (gst_multiudpsink_close): * gst/udp/gstmultiudpsink.h: * gst/udp/gstudp.c: (plugin_init): * gst/udp/gstudpsink.h: * gst/udp/gstudpsrc.c: (gst_udpsrc_init), (gst_udpsrc_create), (gst_udpsrc_start), (gst_udpsrc_stop): * gst/udp/gstudpsrc.h: * gst/udp/gstudpnetutils.c: (gst_udp_net_utils_win32_inet_aton), (gst_udp_net_utils_win32_wsa_startup): * gst/udp/gstudpnetutils.h: Port udp plugin to win32 (#345288). 2006-07-24 Wim Taymans * gst/rtsp/rtspconnection.c: (rtsp_connection_send): Remove unwanted DEBUG line. 2006-07-23 Tim-Philipp Müller * gst/id3demux/gstid3demux.c: (plugin_init): * gst/id3demux/id3tags.c: (id3demux_add_id3v2_frame_blob_to_taglist): * gst/id3demux/id3tags.h: On second thought, it might be wiser and more efficient not to do tag registration from a streaming thread. 2006-07-23 Tim-Philipp Müller * gst/id3demux/id3tags.c: (id3demux_add_id3v2_frame_blob_to_taglist), (id3demux_id3v2_frames_to_tag_list): Put ID3v2 frames we can't parse as binary blobs into private tags, so that they are not lost when retagging, at least once id3v2mux has been taught to re-inject those frames again. See bug #334375. 2006-07-21 Wim Taymans * gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream), (gst_avi_demux_process_next_entry): Fix some leaks. * gst/id3demux/id3tags.c: (id3demux_id3v2_frames_to_tag_list): Don't use \n in debug lines. 2006-07-20 Stefan Kost * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: Add annodex and icydemux, cleanup the sections a bit 2006-07-19 Tim-Philipp Müller Patch by: Alex Lancaster * ext/taglib/gstid3v2mux.cc: Write GST_TAG_ENCODER and GST_TAG_ENCODER_VERSION as ID3v2 TSSE frames (#347898). 2006-07-18 Stefan Kost * gst/avi/gstavimux.c: (gst_avi_mux_vidsink_set_caps): Respect mpegversion for "video/mpeg" and give message in case of unhandled versions. 2006-07-17 Wim Taymans * ext/libpng/gstpngdec.c: (gst_pngdec_init), (buffer_clip), (gst_pngdec_caps_create_and_set), (gst_pngdec_task), (gst_pngdec_chain), (gst_pngdec_sink_event), (gst_pngdec_libpng_init), (gst_pngdec_change_state), (gst_pngdec_sink_activate_push): * ext/libpng/gstpngdec.h: Use statically allocated segment instead of leaking. Various cleanups. Fix flush and seek handling. 2006-07-16 Wim Taymans * gst/rtp/Makefile.am: * gst/rtp/gstrtp.c: (plugin_init): * gst/rtp/gstrtpmp4gdepay.c: (gst_rtp_mp4g_depay_base_init), (gst_rtp_mp4g_depay_class_init), (gst_rtp_mp4g_depay_init), (gst_rtp_mp4g_depay_setcaps), (gst_rtp_mp4g_depay_process), (gst_rtp_mp4g_depay_set_property), (gst_rtp_mp4g_depay_get_property), (gst_rtp_mp4g_depay_change_state), (gst_rtp_mp4g_depay_plugin_init): * gst/rtp/gstrtpmp4gdepay.h: * gst/rtp/gstrtpmp4gpay.c: (gst_rtp_mp4g_pay_class_init), (gst_rtp_mp4g_pay_parse_audio_config), (gst_rtp_mp4g_pay_setcaps), (gst_rtp_mp4g_pay_flush): Added simple generic mpeg4 depayloader. Fix generic mpeg4 payloader. 2006-07-15 Tim-Philipp Müller * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_set_state): Don't try doing state changes on a NULL pointer. 2006-07-14 Wim Taymans Patch by: Sebastien Cote * gst/rtp/gstrtpamrdepay.c: (gst_rtp_amr_depay_base_init), (gst_rtp_amr_depay_class_init), (gst_rtp_amr_depay_init), (gst_rtp_amr_depay_setcaps), (gst_rtp_amr_depay_process): * gst/rtp/gstrtpamrdepay.h: rtpamrdec isn't a subclass of GstBaseRtpDepayload. Fixes #321191 2006-07-14 Zaheer Abbas Merali * sys/ximage/gstximagesrc.c: (gst_ximage_src_ximage_get), (gst_ximage_src_get_caps), (gst_ximage_src_class_init): Fix segfault when moving mouse pointer to the bottom right corner. 2006-07-12 Wim Taymans * gst/rtp/Makefile.am: * gst/rtp/gstrtp.c: (plugin_init): * gst/rtp/gstrtpmp2tdepay.c: (gst_rtp_mp2t_depay_base_init), (gst_rtp_mp2t_depay_class_init), (gst_rtp_mp2t_depay_init), (gst_rtp_mp2t_depay_setcaps), (gst_rtp_mp2t_depay_process), (gst_rtp_mp2t_depay_set_property), (gst_rtp_mp2t_depay_get_property), (gst_rtp_mp2t_depay_change_state), (gst_rtp_mp2t_depay_plugin_init): * gst/rtp/gstrtpmp2tdepay.h: Added mpeg2 TS depayloader. Closing #347234. 2006-07-11 Tim-Philipp Müller * ext/cdio/gstcdiocddasrc.c: (gst_cdio_cdda_src_close): Remove g_assert that shouldn't be there and was triggered after trying to open a device that doesn't exist or can't be opened for some other reason (#347972). 2006-07-10 Edward Hervey * gst/avi/gstavidemux.c: (gst_avi_demux_reset), (gst_avi_demux_stream_header), (push_tag_lists): * gst/avi/gstavidemux.h: Don't push tag events found by gst_riff_parse_info() before outputting GST_EVENT_NEWSEGMENT. 2006-07-10 Wim Taymans * gst/rtsp/Makefile.am: * gst/rtsp/rtspconnection.c: (rtsp_connection_send), (rtsp_connection_close): * gst/rtsp/rtspdefs.h: replaced closesocket and close in code with one CLOSE_SOCKET. Some more cleanups. Fixes #345301. 2006-07-10 Tim-Philipp Müller * gst/autodetect/gstautoaudiosink.c: Fix example pipeline in docs. 2006-07-10 Wim Taymans Patch by: Rob Taylor * gst/udp/gstmultiudpsink.c: (join_multicast), (gst_multiudpsink_init_send), (gst_multiudpsink_add): If a destination is added before the stream is set to PAUSED, the multicast group is not joined as the socket is not created yet. Also TTL and LOOP should also be set. Fixes #346921. 2006-07-09 Zaheer Abbas Merali * sys/ximage/gstximagesrc.c: (gst_ximage_src_ximage_get), (gst_ximage_src_set_property), (gst_ximage_src_get_property), (gst_ximage_src_get_caps), (gst_ximage_src_class_init), (gst_ximage_src_init): * sys/ximage/gstximagesrc.h: Fix use-damage property to actually work :) Add startx, starty, endx, endy properties so screencasts other than full screen ones can work. 2006-07-08 Zaheer Abbas Merali * sys/ximage/gstximagesrc.c: (gst_ximage_src_ximage_get), (gst_ximage_src_set_property), (gst_ximage_src_get_property), (gst_ximage_src_class_init), (gst_ximage_src_init): * sys/ximage/gstximagesrc.h: Add use_damage property to offer ability to choose whether to use XDamage or not. 2006-07-07 Wim Taymans * gst/goom/filters.c: (zoomFilterSetResolution): Avoid goom coredumping by clearing memory. Fixes 345679. 2006-07-05 Sebastien Moutte * win32/vs6/libgstid3demux.dsp: Add a link to libgsttag-0.10.lib. 2006-07-05 Tim-Philipp Müller * gst/apetag/gsttagdemux.c: (gst_tag_demux_trim_buffer), (gst_tag_demux_read_range): * gst/id3demux/gstid3demux.c: (gst_id3demux_trim_buffer), (gst_id3demux_read_range): Don't return FLOW_UNEXPECTED when a buffer is before the start of the stream (which might happen with large ID3v2 tags if the tag reading was done pullrange based and we then switched to push mode later on). Fixes regression introduced by commit from June 29th. 2006-07-05 Tim-Philipp Müller * ext/taglib/gstid3v2mux.cc: Make UTF-8 the default encoding when writing string tags (before, our UTF-8 strings would automatically be converted to ISO-8859-1 by taglib and written as ISO-8859-1 fields if that was possible). * tests/check/elements/id3v2mux.c: (utf8_string_in_buf), (test_taglib_id3mux_check_tag_buffer), (identity_cb), (test_taglib_id3mux_with_tags): Add test case that makes sure our UTF-8 strings have actually been written into the tag as UTF-8. 2006-07-04 Tim-Philipp Müller * configure.ac: Let's try that again. 2006-07-04 Tim-Philipp Müller * configure.ac: Disable monoscope plugin for now until it fulfills all the requirements. 2006-07-03 Tim-Philipp Müller * configure.ac: * gst/monoscope/Makefile.am: * gst/monoscope/gstmonoscope.c: (gst_monoscope_base_init), (gst_monoscope_class_init), (gst_monoscope_init), (gst_monoscope_finalize), (gst_monoscope_reset), (gst_monoscope_sink_setcaps), (gst_monoscope_src_setcaps), (gst_monoscope_src_negotiate), (get_buffer), (gst_monoscope_chain), (gst_monoscope_sink_event), (gst_monoscope_src_event), (gst_monoscope_change_state), (plugin_init): * gst/monoscope/gstmonoscope.h: Port monoscope visualisation to 0.10. 2006-07-03 Tim-Philipp Müller * gst/apetag/gsttagdemux.c: (gst_tag_demux_chain): * gst/id3demux/gstid3demux.c: (gst_id3demux_chain): Return FLOW_UNEXPECTED when at the end of the file, not FLOW_ERROR. Fixes 'internal stream error' errors that would sometimes occur in totem when scrubbing to the end of an ID3v1 tagged mp3 file. 2006-07-03 Edward Hervey * ext/libpng/gstpngdec.c: (gst_pngdec_init), (user_info_callback), (buffer_clip), (user_end_callback), (gst_pngdec_chain), (gst_pngdec_sink_event), (gst_pngdec_change_state): * ext/libpng/gstpngdec.h: Implement buffer clipping/dropping using GstSegment. This provides accurate seeking. 2006-07-03 Edward Hervey * gst/avi/gstavidemux.c: (gst_avi_demux_reset), (gst_avi_demux_read_subindexes), (gst_avi_demux_parse_stream), (gst_avi_demux_handle_seek), (gst_avi_demux_aggregated_flow), (gst_avi_demux_process_next_entry), (push_tag_lists), (gst_avi_demux_stream_data), (gst_avi_demux_loop): * gst/avi/gstavidemux.h: Proper aggregation of each stream's GstFlowReturn in order to figure out whether the task should stop or not. Don't send inline events before pushing out a NEW_SEGMENT, more specifically for GST_TAG_EVENT. Change a GST_ERROR to a GST_WARNING for a non-fatal situation in reading sub-indexes. 2006-06-30 Tim-Philipp Müller Patch by: Brian Cameron * sys/sunaudio/gstsunaudiomixerctrl.c: (gst_sunaudiomixer_ctrl_build_list): Move "Monitor" slider to input tab so it works more like sdtaudiocontrol, which is what people on Solaris are used to using for their mixer program (#346259). 2006-06-29 Thomas Vander Stichele * tests/check/elements/level.c: (GST_START_TEST): fix a leak, clean up at the end 2006-06-29 Tim-Philipp Müller * gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream), (gst_matroska_demux_send_event), (gst_matroska_demux_loop_stream_parse_id): * gst/matroska/matroska-ids.h: Send tag event after newsegment event. 2006-06-29 Tim-Philipp Müller * gst/id3demux/gstid3demux.c: (gst_id3demux_trim_buffer), (gst_id3demux_read_range): Make sure we don't return GST_FLOW_OK with a NULL buffer in certain cases where a read beyond the end of the file is requested. Fixes #345930. * gst/apetag/gsttagdemux.c: (gst_tag_demux_trim_buffer), (gst_tag_demux_read_range): Fix same issue here as well. 2006-06-29 Zaheer Abbas Merali * sys/ximage/gstximagesrc.c: (gst_ximage_src_ximage_get): Fix hypothetical crash. 2006-06-28 Tim-Philipp Müller Patch by: Brian Cameron * sys/sunaudio/gstsunaudiosink.c: (gst_sunaudiosink_prepare): Do not modify the ports value. If the user has turned off the built-in speakers, then we should not reset it in the prepare function, since this causes the built-in speakers to turn back on anytime the user changes a track in totem, rhythmbox, etc. (#346066). 2006-06-23 Wim Taymans * gst/goom/gstgoom.c: (gst_goom_src_negotiate): Fix double caps unref when negotiation fails. 2006-06-22 Tim-Philipp Müller * ext/annodex/gstcmmldec.c: * ext/annodex/gstcmmlenc.c: * ext/annodex/gstcmmlparser.c: * ext/dv/gstdvdec.c: * ext/dv/gstdvdemux.c: * ext/gdk_pixbuf/pixbufscale.c: * ext/jpeg/gstjpegenc.c: * ext/jpeg/gstsmokedec.c: * ext/jpeg/gstsmokeenc.c: * ext/libpng/gstpngdec.c: * ext/libpng/gstpngenc.c: * ext/speex/gstspeexenc.c: * gst/alpha/gstalphacolor.c: * gst/cutter/gstcutter.c: * gst/debug/gstnavigationtest.c: * gst/icydemux/gsticydemux.c: * gst/level/gstlevel.c: * gst/multipart/multipart.c: * gst/rtp/gstrtpamrpay.c: * gst/rtp/gstrtpdepay.c: * gst/rtp/gstrtpilbcpay.c: * gst/rtp/gstrtpmp4gpay.c: * gst/rtp/gstrtpmp4vpay.c: * gst/rtsp/gstrtpdec.c: * gst/rtsp/gstrtspsrc.c: * gst/udp/gstdynudpsink.c: * gst/udp/gstmultiudpsink.c: * gst/udp/gstudpsrc.c: * gst/videobox/gstvideobox.c: * gst/videofilter/gstvideoflip.c: Use GST_DEBUG_CATEGORY_STATIC where possible (#342503) plus two minor macro fixes. 2006-06-22 Tim-Philipp Müller * gst/matroska/matroska-demux.c: (gst_matroska_demux_check_subtitle_buffer), (gst_matroska_demux_parse_blockgroup_or_simpleblock), (gst_matroska_demux_subtitle_caps): * gst/matroska/matroska-ids.c: (gst_matroska_track_init_subtitle_context): * gst/matroska/matroska-ids.h: Try to fix up broken matroska files containing subtitle streams with non-UTF8 character encodings (courtesy of mkvmerge) using either the encoding specified in the GST_SUBTITLE_ENCODING environment variable or the current locale's character set if it is non-UTF8. Fixes #337076. 2006-06-22 Tim-Philipp Müller * gst/id3demux/id3v2frames.c: (parse_picture_frame): Set image type from APIC frame as "image-type" field of GST_TAG_IMAGE buffer caps (#344605). 2006-06-20 Tim-Philipp Müller * ext/flac/Makefile.am: * ext/flac/gstflacdec.c: (gst_flac_dec_init), (gst_flac_dec_reset_decoders), (gst_flac_dec_setup_seekable_decoder), (gst_flac_dec_setup_stream_decoder), (gst_flac_dec_finalize), (gst_flac_dec_metadata_callback), (gst_flac_dec_metadata_callback_seekable), (gst_flac_dec_metadata_callback_stream), (gst_flac_dec_error_callback), (gst_flac_dec_error_callback_seekable), (gst_flac_dec_error_callback_stream), (gst_flac_dec_read_seekable), (gst_flac_dec_read_stream), (gst_flac_dec_write), (gst_flac_dec_write_seekable), (gst_flac_dec_write_stream), (gst_flac_dec_loop), (gst_flac_dec_sink_event), (gst_flac_dec_chain), (gst_flac_dec_convert_sink), (gst_flac_dec_get_sink_query_types), (gst_flac_dec_sink_query), (gst_flac_dec_get_src_query_types), (gst_flac_dec_src_query), (gst_flac_dec_handle_seek_event), (gst_flac_dec_sink_activate), (gst_flac_dec_sink_activate_push), (gst_flac_dec_sink_activate_pull), (gst_flac_dec_change_state): * ext/flac/gstflacdec.h: Support chain-based operation, should make flac-over-DAAP work (#340492). 2006-06-20 Wim Taymans * docs/plugins/gst-plugins-good-plugins-sections.txt: Doc updates, merge some unused symbols. 2006-06-20 Wim Taymans * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * gst/rtsp/gstrtpdec.c: (gst_rtpdec_class_init): * gst/rtsp/gstrtspsrc.c: * gst/rtsp/gstrtspsrc.h: Added documentation for the rtsp plugin. Fixes #345393. 2006-06-20 Wim Taymans * gst/rtsp/rtspconnection.c: (inet_aton), (rtsp_connection_send), (rtsp_connection_close), (rtsp_connection_free): Use better G_OS_* macros. Fixes #345301 some more. 2006-06-20 Wim Taymans Patch by: Brian Cameron * sys/sunaudio/Makefile.am: * sys/sunaudio/gstsunaudio.c: (plugin_init): * sys/sunaudio/gstsunaudiomixerctrl.c: (gst_sunaudiomixer_ctrl_build_list), (gst_sunaudiomixer_ctrl_new), (gst_sunaudiomixer_ctrl_list_tracks), (gst_sunaudiomixer_ctrl_get_volume), (gst_sunaudiomixer_ctrl_set_volume), (gst_sunaudiomixer_ctrl_set_mute), (gst_sunaudiomixer_ctrl_set_record): * sys/sunaudio/gstsunaudiomixerctrl.h: * sys/sunaudio/gstsunaudiomixertrack.c: (gst_sunaudiomixer_track_init), (gst_sunaudiomixer_track_new): * sys/sunaudio/gstsunaudiomixertrack.h: * sys/sunaudio/gstsunaudiosrc.c: (gst_sunaudiosrc_dispose), (gst_sunaudiosrc_base_init), (gst_sunaudiosrc_class_init), (gst_sunaudiosrc_init), (gst_sunaudiosrc_set_property), (gst_sunaudiosrc_get_property), (gst_sunaudiosrc_getcaps), (gst_sunaudiosrc_open), (gst_sunaudiosrc_close), (gst_sunaudiosrc_prepare), (gst_sunaudiosrc_unprepare), (gst_sunaudiosrc_read), (gst_sunaudiosrc_delay), (gst_sunaudiosrc_reset): * sys/sunaudio/gstsunaudiosrc.h: Add a SunAudio source plugin. Support stereo and right/left channel gain in the mixer plugin. Support the RECORD flag so that you can switch between line-input and microphone in gnome-volume-control. Code cleanups like using an enumerator for track number instead of an integer. Fixes #344923. 2006-06-20 Wim Taymans Patch by: Joni Valtanen * gst/rtsp/rtspconnection.c: (inet_aton), (rtsp_connection_send), (rtsp_connection_close): Make RTSP plugin compile on windows. Fixes #345301. Some changes to original patch to catch errors better. use ifdef WIN32 instead of ifndef. 2006-06-19 Zaheer Abbas Merali * configure.ac: If we have libraw1394 >= 1.2.1, then we need libiec61883. 2006-06-18 Edward Hervey * ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_chain): After a failed buffer alloc, we need to abort the jpeg decoding (it started when parsing headers to figure out how many bytes we need to request downstream). 2006-06-18 Tim-Philipp Müller Patch by: Mark Nauwelaerts * gst/wavparse/gstwavparse.c: (gst_wavparse_perform_seek): Make sure we don't read beyond the end of the file (#345232). 2006-06-17 Tim-Philipp Müller * configure.ac: Fix --disable-external (can't set conditionals conditionally, #343602). 2006-06-16 Tim-Philipp Müller * autogen.sh: * configure.ac: * docs/Makefile.am: Use GST_PLUGIN_DOCS, --enable-plugin-docs etc. * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/inspect/plugin-taglib.xml: Add/fix apev2mux docs. 2006-06-14 Wim Taymans * ext/dv/gstdvdec.c: (gst_dvdec_class_init), (gst_dvdec_init), (gst_dvdec_finalize), (gst_dvdec_sink_event), (gst_dvdec_change_state): Reset segment info on flush. Alloc segment in _init, free in _finalize. * ext/dv/gstdvdemux.c: (gst_dvdemux_handle_pull_seek): Don't send segments twice. 2006-06-14 Wim Taymans * ext/dv/gstdvdemux.c: (gst_dvdemux_demux_frame): Respect segment.stop. Fixes #342592. 2006-06-14 Tim-Philipp Müller * gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream): No language specified means the implied language is English according to the matroska spec (partially fixes #344708); add some more debug output. 2006-06-14 Tim-Philipp Müller * gst/wavparse/gstwavparse.c: (gst_wavparse_peek_chunk_info), (gst_wavparse_peek_chunk), (gst_wavparse_stream_headers), (gst_wavparse_chain): When operating chain-based, don't make any assumptions about the chunking of the incoming data and make streaming work on days other than the second Thursday after a full moon. Also fix up debug messages here and there and make use of the most excellent new gst_pad_query_peer_duration() utility function. Skip any 'bext' chunks in front of the 'fmt ' chunk. Fixes #343837. * gst/wavparse/gstwavparse.h: Remove trailing comma after last enum value, some compilers don't like that. 2006-06-13 Wim Taymans * gst/wavparse/gstwavparse.c: (gst_wavparse_stream_data): Handle premature EOS gracefully. 2006-06-13 Tim-Philipp Müller * gst/avi/gstavidemux.c: (gst_avi_demux_handle_seek): Prevent out of bounds array access when scrubbing towards the end of the file between the last index entry and the end. Fixes occasional 'start <= stop' newsegment event assertions when scrubbing in MJPEG files. 2006-06-12 Tim-Philipp Müller * tests/check/elements/.cvsignore: And another one. 2006-06-11 Tim-Philipp Müller * gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame), (scan_encoded_string), (parse_picture_frame): Extract images from ID3v2 tags (APIC frames). Fixes #339704. * configure.ac: Require core >= 0.10.8 (for GST_TAG_IMAGE and GST_TAG_PPEVIEW_IMAGE used in the patch above). 2006-06-11 Thomas Vander Stichele * ext/raw1394/gstdv1394src.c: (gst_dv1394src_discover_avc_node): gratuitous comment changes * tests/check/elements/level.c: (GST_START_TEST): fix level test leaks 2006-06-11 Tim-Philipp Müller * gst/apetag/gsttagdemux.c: (gst_tag_demux_get_upstream_size): * gst/id3demux/gstid3demux.c: (id3demux_get_upstream_size): Use gst_pad_query_peer_duration() utility function here. 2006-06-11 Thomas Vander Stichele * autogen.sh: require am17 * configure.ac: * ext/annodex/Makefile.am: * ext/cdio/Makefile.am: * ext/dv/Makefile.am: * ext/esd/Makefile.am: * ext/flac/Makefile.am: * ext/gdk_pixbuf/Makefile.am: * ext/ladspa/Makefile.am: * ext/libcaca/Makefile.am: * ext/speex/Makefile.am: * ext/taglib/Makefile.am: * sys/oss/Makefile.am: * sys/sunaudio/Makefile.am: * sys/ximage/Makefile.am: clean up build further 2006-06-09 Tim-Philipp Müller * gconf/Makefile.am: Honour --disable-schemas-install configure option. Fixes #344100. 2006-06-09 Tim-Philipp Müller * tests/examples/level/Makefile.am: Add -lm to LIBS for pow() function, don't assume one of our dependencies (such as libxml-2.0) drags it in automatically (#343603). 2006-06-09 Tim-Philipp Müller Patch by: Peter Kjellerstedt * configure.ac: We should use $SED and not $(SED) in configure.ac (#343678). 2006-06-09 Wim Taymans Patch by: Brian Cameron * sys/sunaudio/gstsunaudiomixerctrl.c: (gst_sunaudiomixer_ctrl_open), (gst_sunaudiomixer_ctrl_build_list), (gst_sunaudiomixer_ctrl_new), (gst_sunaudiomixer_ctrl_set_volume), (gst_sunaudiomixer_ctrl_set_mute): * sys/sunaudio/gstsunaudiosink.c: (gst_sunaudiosink_class_init), (gst_sunaudiosink_init), (gst_sunaudiosink_prepare), (gst_sunaudiosink_write): Attached find a patch that fixes a number of bugs with the SunAudio mixer plugin and fixes #344101: 1. The gst_sunaudiomixer_ctrl_build_list kept appending the same 3 tracks onto the tracklist causing gnome-volume-control's preferences dialog to be messed up and would core dump if you checked/unchecked any item. 2. We weren't previously setting the MUTE flag properly. Fixing this makes gnome-volume-control work better. 3. Now we properly define the input track to be GST_MIXER_TRACK_INPUT and the monitor to be GST_MIXER_TRACK_OUTPUT, so that makes gnome-volume-control look better. Also some minor cleanup in gstsunaudiosink.c. 2006-06-09 Wim Taymans * ext/jpeg/gstjpegdec.c: (gst_idct_method_get_type), (gst_jpeg_dec_class_init), (gst_jpeg_dec_init), (gst_jpeg_dec_decode_indirect), (gst_jpeg_dec_decode_direct), (gst_jpeg_dec_chain), (gst_jpeg_dec_sink_event), (gst_jpeg_dec_set_property), (gst_jpeg_dec_get_property): * ext/jpeg/gstjpegdec.h: API: Added IDCT method property Small cleanups. Avoid dynamic allocation of trivial fixed structure. Allocate enough space for temp 4:4:4 YUV buffers. Fixes #343661. 2006-06-07 Zaheer Abbas Merali * configure.ac: We now require libraw1394 >= 1.1.0 and that version onwards all have .pc files. 2006-06-02 Edward Hervey * gst/law/alaw-decode.c: (alawdec_getcaps): Trying to get items from an ANY or EMPTY caps is ... stupid. 2006-06-02 Edward Hervey * ext/dv/gstdvdec.c: (gst_dvdec_init), (gst_dvdec_sink_event), (gst_dvdec_chain), (gst_dvdec_change_state): * ext/dv/gstdvdec.h: Added GstSegment handling, now implements dropping/clipping. 2006-06-01 Stefan Kost * ext/aalib/gstaasink.h: * ext/annodex/gstcmmldec.h: * ext/cairo/gsttimeoverlay.h: * ext/dv/gstdvdec.h: * ext/dv/gstdvdemux.h: * ext/esd/esdmon.h: * ext/esd/esdsink.h: * ext/flac/gstflacenc.h: * ext/gconf/gstgconfaudiosink.h: * ext/gconf/gstgconfaudiosrc.h: * ext/gconf/gstgconfvideosink.h: * ext/gconf/gstgconfvideosrc.h: * ext/gdk_pixbuf/gstgdkanimation.h: * ext/gdk_pixbuf/pixbufscale.h: * ext/hal/gsthalaudiosink.h: * ext/hal/gsthalaudiosrc.h: * ext/jpeg/gstjpegenc.h: * ext/jpeg/gstsmokedec.h: * ext/jpeg/gstsmokeenc.h: * ext/libcaca/gstcacasink.h: * ext/libmng/gstmngdec.h: * ext/libmng/gstmngenc.h: * ext/libpng/gstpngdec.h: * ext/libpng/gstpngenc.h: * ext/raw1394/gstdv1394src.h: * ext/speex/gstspeexenc.h: * gst/autodetect/gstautoaudiosink.h: * gst/autodetect/gstautovideosink.h: * gst/avi/gstavidemux.h: * gst/cutter/gstcutter.h: * gst/debug/efence.h: * gst/debug/gstnavigationtest.h: * gst/debug/gstnavseek.h: * gst/flx/gstflxdec.h: * gst/goom/gstgoom.h: * gst/icydemux/gsticydemux.h: * gst/id3demux/gstid3demux.h: * gst/law/alaw-decode.h: * gst/law/alaw-encode.h: * gst/law/mulaw-decode.h: * gst/law/mulaw-encode.h: * gst/matroska/matroska-mux.h: * gst/median/gstmedian.h: * gst/oldcore/gstaggregator.h: * gst/oldcore/gstfdsink.h: * gst/oldcore/gstmd5sink.h: * gst/oldcore/gstmultifilesrc.h: * gst/oldcore/gstpipefilter.h: * gst/oldcore/gstshaper.h: * gst/oldcore/gststatistics.h: * gst/rtp/gstasteriskh263.h: * gst/rtp/gstrtpL16depay.h: * gst/rtp/gstrtpL16pay.h: * gst/rtp/gstrtpamrdepay.h: * gst/rtp/gstrtpamrpay.h: * gst/rtp/gstrtpdepay.h: * gst/rtp/gstrtpgsmdepay.h: * gst/rtp/gstrtpgsmpay.h: * gst/rtp/gstrtph263pay.h: * gst/rtp/gstrtph263pdepay.h: * gst/rtp/gstrtph263ppay.h: * gst/rtp/gstrtpmp4gpay.h: * gst/rtp/gstrtpmp4vdepay.h: * gst/rtp/gstrtpmp4vpay.h: * gst/rtp/gstrtpmpadepay.h: * gst/rtp/gstrtpmpapay.h: * gst/rtp/gstrtppcmadepay.h: * gst/rtp/gstrtppcmapay.h: * gst/rtp/gstrtppcmudepay.h: * gst/rtp/gstrtppcmupay.h: * gst/rtp/gstrtpspeexdepay.h: * gst/rtp/gstrtpspeexpay.h: * gst/rtsp/gstrtpdec.h: * gst/rtsp/gstrtspsrc.h: * gst/smpte/gstsmpte.h: * gst/udp/gstdynudpsink.h: * gst/udp/gstmultiudpsink.h: * gst/udp/gstudpsink.h: * gst/udp/gstudpsrc.h: * gst/videofilter/gstvideobalance.h: * gst/videofilter/gstvideoflip.h: * sys/oss/gstossdmabuffer.h: * sys/oss/gstossmixerelement.h: * sys/oss/gstosssink.h: * sys/oss/gstosssrc.h: * sys/osxvideo/osxvideosink.h: * sys/sunaudio/gstsunaudiomixer.h: * sys/sunaudio/gstsunaudiosink.h: * sys/ximage/gstximagesrc.h: Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass 2006-05-31 Wim Taymans * gst/goom/gstgoom.c: (gst_goom_class_init), (gst_goom_init), (gst_goom_finalize), (gst_goom_reset), (gst_goom_sink_setcaps), (gst_goom_src_setcaps), (gst_goom_src_event), (gst_goom_sink_event), (get_buffer), (gst_goom_chain), (gst_goom_change_state): * gst/goom/gstgoom.h: Handle QoS. Handle flushing, discont and events. Fix timestamps and various other cleanups. 2006-05-31 Zaheer Abbas Merali * ext/raw1394/gstdv1394src.c: (gst_dv1394src_bus_reset): Fix bus reset when using libiec61883 2006-05-31 Zaheer Abbas Merali * configure.ac: Detect libiec61883 and set necessary CFLAGS and LIBS for dv1394. * ext/raw1394/Makefile.am: Add CFLAGS. * ext/raw1394/gstdv1394src.c: (gst_dv1394src_iec61883_receive), New method, to receive using libiec61883. (gst_dv1394src_iso_receive), #ifdef'd out if libiec61883 is present. (gst_dv1394src_bus_reset), Get userdata correctly if using libiec61883. (gst_dv1394src_create), When using libiec61883, only poll one fd and no need to read. (gst_dv1394src_discover_avc_node), Replace g_warnings. (gst_dv1394src_start), Create new handle when we know which dv port. More reliable than setting port on an existing handle. Initialise libiec61883. (gst_dv1394src_stop): If using libiec61883, then cleanup its handle properly. * ext/raw1394/gstdv1394src.h: Add libiec61883 handle. 2006-05-30 Sebastien Moutte * gst/avi/gstavidemux.c: add an explicit dll imported declaration for GST_CAT_EVENT+WIN32 * win32/MANIFEST: sort file listing * win32/vs6/libgstavi.dsp: add gstavimux.c to the project * win32/vs6/libgstid3demux.dsp: add link to zlib library * win32/vs6/libgstmatroska.dsp: add matroska-ids.c to the project 2006-05-30 Tim-Philipp Müller Patch by: Sebastian Dröge * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * ext/taglib/Makefile.am: * ext/taglib/gstapev2mux.cc: * ext/taglib/gstapev2mux.h: * ext/taglib/gstid3v2mux.cc: * ext/taglib/gsttaglibmux.c: (plugin_init): * ext/taglib/gsttaglibmux.h: Add apev2mux element (#343122). * tests/check/Makefile.am: * tests/check/elements/apev2mux.c: (test_taglib_apev2mux_create_tags), (test_taglib_apev2mux_check_tags), (fill_mp3_buffer), (got_buffer), (demux_pad_added), (test_taglib_apev2mux_check_output_buffer), (test_taglib_apev2mux_with_tags), (GST_START_TEST), (apev2mux_suite), (main): Add unit test for apev2mux element. 2006-05-28 Tim-Philipp Müller * gst/alpha/gstalphacolor.c: (gst_alpha_color_transform_caps): * gst/debug/negotiation.c: (gst_negotiation_update_caps): * gst/rtp/gstrtpilbcdepay.c: (gst_rtp_ilbc_depay_setcaps): GST_PTR_FORMAT should be used to print caps in debug statements. 2006-05-28 Tim-Philipp Müller Patch by: Sebastian Dröge * gst/apetag/gstapedemux.c: (ape_demux_get_gst_tag_from_tag), (ape_demux_parse_tags): Some clean-ups and additions: map APE 'file' tag to GST_TAG_LOCATION (#343123); add support for extracting the track count and clean up parsing a bit (#343127). 2006-05-28 Edward Hervey * ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_change_state): Initialize segment to GST_FORMAT_UNDEFINED in READY->PAUSED. 2006-05-28 Edward Hervey * ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_finalize), (gst_jpeg_dec_init), (gst_jpeg_dec_chain), (gst_jpeg_dec_sink_event), (gst_jpeg_dec_change_state): * ext/jpeg/gstjpegdec.h: Clip outgoing buffers according to currently configured segment. 2006-05-28 Tim-Philipp Müller * ext/taglib/gstid3v2mux.cc: Handle writing of track-count or album-volume-count without track-number or albume-volume-number (in this case the number will just be set to 0). * tests/check/elements/id3v2mux.c: (test_taglib_id3mux_check_tags): It would be nice if we actually checked the values received for track/album-volume number/count in _check_tags(), rather than setting them again ... 2006-05-28 Tim-Philipp Müller * gst/id3demux/id3v2frames.c: (id3v2_tag_to_taglist): A track/volume number or count of 0 does not make sense, just ignore it along with negative numbers (a tag might only contain a track count without a track number). 2006-05-27 Edward Hervey * ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_init), (gst_jpeg_dec_sink_event): Abort decompression when receiving FLUSH_STOP. This should avoid issues when interrupting decoding with flushes. 2006-05-27 Tim-Philipp Müller * ext/flac/gstflac.c: Don't #include file we don't dist any longer. 2006-05-27 Tim-Philipp Müller * README: Replace current README (containing the release notes from some 0.9.x version) with a proper README taken from the core. 2006-05-24 Wim Taymans * ext/dv/gstdvdemux.c: (gst_dvdemux_loop): Implement EOS correctly by either posting SEGMENT_DONE or pushing an EOS message depending on the seek type. Fixes #342592 2006-05-24 Wim Taymans * gst/law/alaw-decode.c: (gst_alawdec_chain): * gst/law/alaw-decode.h: * gst/law/alaw-encode.c: (gst_alawenc_chain): * gst/law/alaw-encode.h: * gst/law/mulaw-decode.c: (gst_mulawdec_chain): * gst/law/mulaw-decode.h: * gst/law/mulaw-encode.c: (gst_mulawenc_chain): * gst/law/mulaw-encode.h: Some cleanups in the chain functions. Remove some GStreamer 0.0.2 bits. 2006-05-23 Tim-Philipp Müller Patch by: Mark Nauwelaerts * gst/matroska/matroska-mux.c: (gst_matroska_mux_change_state): gst_collect_pads_stop() needs to be called before chaining up to the parent class (#342734). 2006-05-23 Tim-Philipp Müller * ext/flac/Makefile.am: * ext/flac/flac_compat.h: * ext/flac/gstflac.c: * ext/flac/gstflacdec.c: (gst_flac_dec_init): * ext/flac/gstflacenc.c: Remove backwards compatibility cruft for dealing with FLAC API changes in the 1.0.x series - we require 1.1.1 or newer these days. 2006-05-23 Tim-Philipp Müller * gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream), (gst_matroska_demux_push_xiph_codec_priv_data), (gst_matroska_demux_parse_blockgroup_or_simpleblock), (gst_matroska_demux_video_caps), (gst_matroska_demux_audio_caps): * gst/matroska/matroska-ids.h: * gst/matroska/matroska-mux.c: (gst_matroska_mux_base_init), (gst_matroska_mux_video_pad_setcaps), (xiph3_streamheader_to_codecdata), (vorbis_streamheader_to_codecdata), (theora_streamheader_to_codecdata), (gst_matroska_mux_audio_pad_setcaps), (gst_matroska_mux_write_data): Add support for muxing/demuxing theora video (#342448; too bad none of the usual linux players can actually play this). Playback in GStreamer will require additional changes to theoradec in -base. Refactor streamheaders <=> CodecPrivateData code a bit; some small cleanups. 2006-05-22 Tim-Philipp Müller * ext/jpeg/gstjpegdec.c: (hresamplecpy1), (gst_jpeg_dec_decode_indirect), (gst_jpeg_dec_chain): Fix crashes when the horizontal subsampling is 1. Fixes #342097. 2006-05-22 Tim-Philipp Müller Patch by: Mark Nauwelaerts * gst/avi/gstavimux.c: (gst_avi_mux_finalize), (gst_avi_mux_init), (gst_avi_mux_vidsink_set_caps), (gst_avi_mux_audsink_set_caps), (gst_avi_mux_write_tag), (gst_avi_mux_riff_get_avi_header), (gst_avi_mux_riff_get_avix_header), (gst_avi_mux_write_avix_index), (gst_avi_mux_add_index), (gst_avi_mux_bigfile), (gst_avi_mux_start_file), (gst_avi_mux_stop_file), (gst_avi_mux_handle_event), (gst_avi_mux_do_audio_buffer), (gst_avi_mux_do_video_buffer), (gst_avi_mux_do_one_buffer), (gst_avi_mux_change_state): * gst/avi/gstavimux.h: Some enhancements for avimux (#342526): - add odml (large file) index support - store codec init data (e.g. huffyuv) - miscellaneous other fixes/cleanups 2006-05-19 Jan Schmidt * gst/id3demux/id3v2frames.c: (id3v2_tag_to_taglist): Don't output any tag when we encounter a negative track number - the tag type is uint, so we end up outputting huge positive numbers instead. (Fixes: #342029) 2006-05-19 Thomas Vander Stichele * configure.ac: update for new GSTPB_PLUGINS_DIR 2006-05-18 Philippe Kalaf * rtp/gst/gstrtph263pay.c: Properly set static caps for H263 at 34. 2006-05-18 Tim-Philipp Müller Patch by: James "Doc" Livingston * ext/taglib/gsttaglibmux.c: (gst_tag_lib_mux_render_tag): Merge event tags and tag setter tags correctly (#339918). Also, don't leak taglist in case of an error. 2006-05-17 Edward Hervey * gst/law/mulaw-decode.c: (mulawdec_getcaps): We can only do caps intersection if the othercaps are non-empty and not ANY. Else we return the pad template (base_caps). 2006-05-17 Tim-Philipp Müller * ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_chain): Fix crash when outputting debugging information for certain pictures (always good to use the right struct member for the number of records in an array). 2006-05-16 Tim-Philipp Müller Patch by: Jindrich Makovicka * gst/matroska/ebml-read.c: (gst_ebml_read_peek_bytes), (gst_ebml_read_pull_bytes), (gst_ebml_read_element_id), (gst_ebml_read_element_length), (gst_ebml_read_buffer), (gst_ebml_read_bytes), (gst_ebml_read_uint), (gst_ebml_read_sint), (gst_ebml_read_float), (gst_ebml_read_ascii), (gst_ebml_read_binary): Don't create unnecessary sub-buffers all the time. Dramatically improves performance with multiple concurrently running matroskademux instances (#341818) (and avoids doing unnecessarily inefficient things in the general case). 2006-05-16 Edward Hervey * ext/libpng/gstpngenc.c: (gst_pngenc_chain): In snapshot mode, we always return GST_FLOW_UNEXPECTED whatever the return value of gst_pad_push_event(). 2006-05-16 Jan Schmidt * gst/autodetect/gstautoaudiosink.c: (gst_auto_audio_sink_find_best): * gst/autodetect/gstautovideosink.c: (gst_auto_video_sink_find_best): Make the name of the child element be based on the name of the parent, so that debug output is more useful. * gst/id3demux/id3v2frames.c: (find_utf16_bom), (parse_insert_string_field), (parse_split_strings): Rework string parsing to always walk over BOM markers in UTF16 strings, using the endianness indicated by the innermost one, then trying the opposite endianness if that fails to convert to valid UTF-8. Fixes #341774 2006-05-16 Zaheer Abbas Merali Patch from: Matthieu * ext/libpng/Makefile.am: Add LIBPNG_CFLAGS. 2006-05-15 Tim-Philipp Müller * ext/taglib/gstid3v2mux.cc: Add support for writing images (APIC frames) into ID3v2 tags (picture type always set to 'other' for now though). 2006-05-14 Michael Smith * gst/wavparse/gstwavparse.c: Update docs; wavparse implements push and pull modes. 2006-05-12 Wim Taymans * gst/avi/gstavidemux.c: (gst_avi_demux_index_next), (gst_avi_demux_parse_index), (gst_avi_demux_massage_index), (gst_avi_demux_handle_seek), (gst_avi_demux_loop): Ooops, bitten by the copy-and-paste design paradigm, fixes seek again. 2006-05-12 Wim Taymans * gst/avi/gstavidemux.c: (gst_avi_demux_reset), (gst_avi_demux_index_next), (gst_avi_demux_handle_src_query), (gst_avi_demux_handle_src_event), (gst_avi_demux_parse_subindex), (gst_avi_demux_parse_stream), (gst_avi_demux_parse_index), (gst_avi_demux_stream_index), (gst_avi_demux_stream_scan), (gst_avi_demux_massage_index), (gst_avi_demux_calculate_durations_from_index), (gst_avi_demux_push_event), (gst_avi_demux_stream_header), (gst_avi_demux_handle_seek), (gst_avi_demux_process_next_entry), (gst_avi_demux_loop): * gst/avi/gstavidemux.h: Some cleanups, prepare to use GstSegment. Fix error in entry walking code. Fix VBR detection. Smarter timestamp calculation code. Uniform error/eos handling. 2006-05-12 Michael Smith * gst/wavparse/gstwavparse.c: (gst_wavparse_fmt), (gst_wavparse_perform_seek), (gst_wavparse_stream_headers): Fix use of uninitialised values if we're NOT seeking in ready. Fix typos. 2006-05-12 Tim-Philipp Müller * gst/wavparse/Makefile.am: Add CFLAGS and LIBS for libgstbase, fixes build on Cygwin (#341489). 2006-05-10 Tim-Philipp Müller * gst/id3demux/id3v2frames.c: (parse_insert_string_field): Some more debug info. No need to check whether the string returned by g_convert() is really UTF-8 - either it is or we get NULL returned. 2006-05-10 Jan Schmidt * gst/id3demux/id3v2frames.c: (id3v2_genre_fields_to_taglist): Fix parsing of numeric genre strings some more, by ensuring that we only try and parse strings that a) Start with '(' and b) Consist only of digits. Also, when finding an escaping '((' sequence, bust it back to '(' by swallowing the first parenthesis 2006-05-10 Tim-Philipp Müller * ext/esd/esdsink.c: (gst_esdsink_finalize), (gst_esdsink_getcaps), (gst_esdsink_open), (gst_esdsink_close): * ext/esd/esdsink.h: Move the esd_get_server_info() into gst_esdsink_open() and fail with a decent error message on errors. 2006-05-09 Tim-Philipp Müller * ext/esd/esdmon.c: (gst_esdmon_depths_get_type), (gst_esdmon_channels_get_type): * ext/gconf/gstgconfaudiosink.c: (gst_gconf_profile_get_type): * ext/gdk_pixbuf/pixbufscale.c: (gst_pixbufscale_method_get_type): * ext/libcaca/gstcacasink.c: (gst_cacasink_dither_get_type): * ext/shout2/gstshout2.c: (gst_shout2send_protocol_get_type): * gst/alpha/gstalpha.c: (gst_alpha_method_get_type): * gst/rtp/gstrtpilbcdepay.c: (gst_ilbc_mode_get_type): * gst/rtsp/gstrtspsrc.c: (gst_rtsp_proto_get_type): * gst/videobox/gstvideobox.c: (gst_video_box_fill_get_type): * gst/videofilter/gstvideoflip.c: (gst_video_flip_method_get_type): * gst/videomixer/videomixer.c: (gst_video_mixer_background_get_type): Const-ify GEnumValue arrays. 2006-05-09 Tim-Philipp Müller Patch by: Mark Nauwelaerts * gst/avi/gstavimux.c: (gst_avi_mux_do_audio_buffer), (gst_avi_mux_do_video_buffer): Work around gst_buffer_make_metadata_writable() bug that results in avimux marking all frames in the index as keyframes (#340859). 2006-05-08 Wim Taymans * gst/rtsp/rtspurl.c: (rtsp_url_parse): Make parsing of urls suck slightly less. 2006-05-08 Edward Hervey * autogen.sh: (CONFIGURE_DEF_OPT): libtoolize on Darwin/MacOSX is called glibtoolize. 2006-05-08 Wim Taymans Patch by: Jens Granseuer * ext/gdk_pixbuf/pixbufscale.c: (gst_pixbufscale_init): * gst/wavparse/gstwavparse.c: (gst_wavparse_dispose): C89 compliance fixes. Fixes #340980 2006-05-06 Tim-Philipp Müller * ext/flac/gstflacdec.c: (gst_flac_dec_loop): * ext/flac/gstflacdec.h: Handle segment seeks that include the end of the file as stop point properly: when the decoder hits EOS we want to send a SEGMENT_DONE message instead of an EOS event in case we're in segment seek mode (fixes #340699). 2006-05-05 Maciej Katafiasz * ext/cairo/gsttextoverlay.c: * ext/flac/gstflacdec.c: * ext/gdk_pixbuf/pixbufscale.c: * gst/apetag/gstapedemux.c: * gst/debug/breakmydata.c: * gst/debug/testplugin.c: * gst/matroska/ebml-write.c: * gst/multipart/multipartdemux.c: * sys/osxaudio/gstosxaudiosink.c: * sys/osxaudio/gstosxaudiosrc.c: Add semicolons after GST_BOILERPLATE[_FULL] so that indent doesn't mess up following lines. 2006-05-04 Tim-Philipp Müller Patch by: Michal Benes * gst/matroska/matroska-demux.c: (gst_matroska_demux_reset): Don't leak caps when freeing the stream context (#340623). 2006-05-04 Jan Schmidt * configure.ac: Back to CVS