=== release 0.10.13 === 2007-06-05 Jan Schmidt * configure.ac: releasing 0.10.13, "What's Going on?" 2007-05-31 Jan Schmidt * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps): In riff, the depth is stored in the size field but it just means that the least significant bits are cleared. We can therefore just play the sample as if it had a depth == width. Fixes: #440997 Patch by: Wim Taymans Patch by: Sebastian Dröge 2007-05-31 Jan Schmidt * gst-libs/gst/floatcast/floatcast.h: Define inline when needed on win32 builds. Fixes: #441295 Patch by: Sebastien Moutte 2007-05-29 Wim Taymans * gst/playback/gstplaybasebin.c: (queue_overrun), (no_more_pads_full): Stop buffering when the group is commited because the queues filled up. Fixes #442024. 2007-05-25 Jan Schmidt * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_ensure_track_list), (gst_alsa_mixer_free), (gst_alsa_mixer_update), (gst_alsa_mixer_get_volume), (gst_alsa_mixer_set_volume), (gst_alsa_mixer_set_mute), (gst_alsa_mixer_set_record), (gst_alsa_mixer_set_option), (gst_alsa_mixer_get_option): * ext/alsa/gstalsamixer.h: * ext/alsa/gstalsamixerelement.c: (gst_alsa_mixer_element_interface_supported), (gst_alsa_mixer_element_finalize), (gst_alsa_mixer_element_init), (gst_alsa_mixer_element_set_property), (gst_alsa_mixer_element_get_property), (gst_alsa_mixer_element_change_state): * ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_update): * gst-libs/gst/interfaces/mixer.c: (gst_mixer_volume_changed), (gst_mixer_option_changed): * gst-libs/gst/interfaces/mixer.h: Revert commits towards #152864 made so far. We'll pick it up again after the 0.10.13 release. 2007-05-24 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_render): After an interrupt (PAUSED/flush) assume that the next sample should not be aligned to the previous sample. Fixes #417992. 2007-05-24 Tim-Philipp Müller * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps): Don't add channels and rate fields to the template caps for audio/x-dts, as wavparse might not always be able to set them, which would then lead to 'caps are not a real subset of the template caps' warnings. 2007-05-24 Jan Schmidt * gst/playback/gstplaybasebin.c: (new_decoded_pad_full): Handle unknown or invalid pads without crashing, as might occur if a media file like an mp3 is specified as a subtitle file. Fixes: #410039 2007-05-24 Jan Schmidt * gst/playback/gstplaybin.c: (add_sink), (dummy_blocked_cb), (setup_sinks): Block the subtitle bin output queue before ghosting it and linking, then unblock after. This avoids spurious not-linked errors caused by the queue starting up (because it gets linked when it is ghosted). Fixes: #350299 2007-05-23 Jan Schmidt * tests/check/elements/playbin.c: (test_suburi_error_unknowntype): Use /dev/zero instead of /dev/urandom to produce an invalid subtitle file. Avoids flukes where the input gets typefound to some valid but useless type. 2007-05-22 Tim-Philipp Müller * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * tests/check/elements/gnomevfssink.c: (setup_gnomevfssink), (cleanup_gnomevfssink), (GST_START_TEST), (gnomevfssink_suite): Add unit test for gnomevfssink seeking and position reporting for file:// URIs. 2007-05-22 Tim-Philipp Müller Patch by: Mark Nauwelaerts * ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_init), (gst_gnome_vfs_sink_open_file), (gst_gnome_vfs_sink_handle_event), (gst_gnome_vfs_sink_query), (gst_gnome_vfs_sink_render): * ext/gnomevfs/gstgnomevfssink.h: Fix position reporting, especially after a seek (from upstream), see #412648. 2007-05-22 Tim-Philipp Müller * ext/cdparanoia/gstcdparanoiasrc.c: Repair umlaut. 2007-05-22 Jan Schmidt * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps): Specify the full valid range for MP3 samplerates. Fixes a regression caused by extra header checks since the last release. 2007-05-21 Jan Schmidt * sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents): Fix a locking-order bug I introduced with my changes the other day. Patch by Mike Smith. 2007-05-21 Michael Smith * ext/theora/theoradec.c: (theora_handle_data_packet): Don't look inside 0-length packets (which indicate duplicated frames) 2007-05-21 Wim Taymans * ext/cdparanoia/gstcdparanoiasrc.c: (gst_cd_paranoia_src_read_sector): * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_create): Small cleanups. * ext/theora/theoradec.c: (theora_dec_sink_event): Fix typo. * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_set_gst_timestamp): Add some FIXME * gst/playback/gstdecodebin.c: (queue_underrun_cb): And some debug info when a FIXME path is hit. 2007-05-21 Wim Taymans * gst-libs/gst/rtp/gstbasertpaudiopayload.c: (gst_base_rtp_audio_payload_class_init), (gst_base_rtp_audio_payload_init), (gst_base_rtp_audio_payload_finalize), (gst_base_rtp_audio_payload_handle_frame_based_buffer), (gst_base_rtp_audio_payload_handle_sample_based_buffer), (gst_base_rtp_payload_audio_handle_event): Some cleanups, remove minptime property as it is now in the parent class. Override parent class event function. * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_class_init), (gst_basertppayload_init), (gst_basertppayload_event), (gst_basertppayload_set_property), (gst_basertppayload_get_property): * gst-libs/gst/rtp/gstbasertppayload.h: Add min-ptime property. Add handle-event vmethod. Fixes #415001. 2007-05-18 Stefan Kost * gst-libs/gst/audio/gstbaseaudiosink.c (gst_base_audio_sink_change_state): Fix typo in comment. * gst/playback/gstdecodebin.c (gst_decode_bin_class_init, free_dynamics, pad_probe, close_pad_link, try_to_link_1, get_our_ghost_pad, remove_element_chain, queue_underrun_cb, close_link): * gst/playback/gstplaybin.c (gst_play_bin_set_property, gen_audio_element, remove_sinks, gst_play_bin_send_event_to_sink): Remove trailing whitespaces in comments. * gst/volume/Makefile.am: Fix tabs. 2007-05-18 Stefan Kost patch by: Marc-Andre Lureau * gst-libs/gst/interfaces/mixer.h (mixer_type, option_changed, set_option, get_option, _gst_reserved): Revert reordering functions (keep ABI). 2007-05-17 Jan Schmidt * sys/ximage/ximagesink.c: (gst_ximagesink_ximage_put), (gst_ximagesink_xwindow_new), (gst_ximagesink_handle_xevents), (gst_ximagesink_show_frame): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_put), (gst_xvimagesink_xwindow_new), (gst_xvimagesink_handle_xevents), (gst_xvimagesink_show_frame): When we create our own window, indicate that we handle the WM_DELETE client message from the window manager, so that it won't kill our window (and our app) along with it. Handle ClientMessage, post an error on the bus, and close the window. Further buffers arriving will result in a FlowError because the window has been destroyed. Fixes: #393975 Clean up the X event handling loop and make them the same for both xvimagesink and ximagesink while I'm at it. 2007-05-17 Wim Taymans * gst/playback/gstdecodebin2.c: (gst_decode_bin_factory_filter): Make decodebin2 autoplug depayloaders too. * gst/playback/gsturidecodebin.c: (source_new_pad): Set the newly created decoder in a usable state when autoplugging a dynamic source such as RTSP. 2007-05-17 Tim-Philipp Müller * gst/playback/gststreaminfo.c: (cb_probe): Ignore video-codec tag for audio streams and ignore audio-codec tags for video streams. Should make codec name collection a bit more robust against sloppy demuxers that send tag events containing both tags down each pad. 2007-05-17 Wim Taymans * gst/playback/gstqueue2.c: (update_rates): Tweak the buffering thresholds a little. Update the buffer size with the previously calculate rate instead of only when we calculate a new rate so that we get smoother buffering updates. * gst/playback/Makefile.am: * gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_base_init), (gst_uri_decode_bin_class_init), (gst_uri_decode_bin_init), (gst_uri_decode_bin_finalize), (gst_uri_decode_bin_set_property), (gst_uri_decode_bin_get_property), (unknown_type), (add_element_stream), (no_more_pads_full), (no_more_pads), (source_no_more_pads), (new_decoded_pad), (array_has_value), (gen_source_element), (has_all_raw_caps), (analyse_source), (remove_decoders), (make_decoder), (remove_source), (source_new_pad), (setup_source), (decoder_query_init), (decoder_query_duration_fold), (decoder_query_duration_done), (decoder_query_position_fold), (decoder_query_position_done), (decoder_query_latency_fold), (decoder_query_latency_done), (decoder_query_seeking_fold), (decoder_query_seeking_done), (decoder_query_generic_fold), (gst_uri_decode_bin_query), (gst_uri_decode_bin_change_state), (plugin_init): New element that intergrates a source, optional buffering element and decodebin. 2007-05-17 Tim-Philipp Müller * configure.ac: Bump libtheora requirement to 1.0alpha5 for the pixformat check (also has a .pc file, so we don't need the fallback check any longer). Fixes #438840. 2007-05-17 Wim Taymans * gst/playback/gstqueue2.c: (gst_queue_get_type), (gst_queue_class_init), (gst_queue_finalize), (update_time_level), (apply_segment), (apply_buffer), (update_buffering), (reset_rate_timer), (update_rates), (gst_queue_locked_flush), (gst_queue_locked_enqueue), (gst_queue_locked_dequeue), (gst_queue_handle_sink_event), (gst_queue_is_filled), (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop), (plugin_init): fix build. 2007-05-17 Wim Taymans * gst/playback/Makefile.am: * gst/playback/gstqueue2.c: (gst_queue_get_type), (gst_queue_class_init), (gst_queue_init), (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_bufferalloc), (gst_queue_acceptcaps), (update_time_level), (apply_segment), (apply_buffer), (update_buffering), (reset_rate_timer), (update_rates), (gst_queue_locked_flush), (gst_queue_locked_enqueue), (gst_queue_locked_dequeue), (gst_queue_handle_sink_event), (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop), (gst_queue_handle_src_event), (gst_queue_handle_src_query), (gst_queue_sink_activate_push), (gst_queue_src_activate_push), (gst_queue_change_state), (gst_queue_set_property), (gst_queue_get_property), (plugin_init): On our way to playbin2 this is the new network queue that does buffering all by itself using high and low watermarks. It can also measure up and downstream bandwidth to optimally size the queue. 2007-05-17 Michael Smith * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audio_test_src_do_seek): * gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_do_seek): Use the segment->last_stop value to calculate the next timestamp to generate after a seek; not the segment->start value. 2007-05-15 David Schleef * docs/Makefile.am: Install docs even when --disable-gtk-doc is disabled. This matches the behavior of gtk+. Fixes #349099. 2007-05-15 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet), (gst_ogg_demux_perform_seek), (gst_ogg_demux_handle_page): Some more chained streaming ogg timestamp fixes. 2007-05-15 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet), (gst_ogg_demux_activate_chain), (gst_ogg_demux_perform_seek), (gst_ogg_demux_handle_page): Add some FIXMEs. Fix chain start/stop segment handling based on patch by see #320984. 2007-05-15 Michael Smith * configure.ac: We don't require a C++ compiler. So don't require one. 2007-05-15 Stefan Kost * ext/alsa/gstalsamixer.c (source, n_poll_fds, poll_fds, gst_alsa_mixer_check, gst_alsa_mixer_dispatch, gst_alsa_mixer_finalize, gst_alsa_mixer_handle_source_callback, gst_alsa_mixer_handle_callback, gst_alsa_mixer_elem_handle_callback, gst_alsa_mixer_ensure_track_list, gst_alsa_mixer_update_option, gst_alsa_mixer_update_track): Apply some of the cleanup Tim suggested in #152864 afterwards. 2007-05-15 Stefan Kost patch by: Marc-Andre Lureau * ext/alsa/gstalsamixer.c (main_context, GstAlsaMixerWatch, _GstAlsaMixerWatch, source, n_poll_fds, poll_fds, gst_alsa_mixer_watch_funcs, gst_alsa_mixer_prepare, gst_alsa_mixer_check, gst_alsa_mixer_dispatch, gst_alsa_mixer_finalize, gst_alsa_mixer_find_master_mixer, gst_alsa_mixer_handle_source_callback, gst_alsa_mixer_handle_callback, gst_alsa_mixer_elem_handle_callback, gst_alsa_mixer_ensure_track_list, gst_alsa_mixer_free, gst_alsa_mixer_get_volume, gst_alsa_mixer_set_volume, gst_alsa_mixer_set_mute, gst_alsa_mixer_set_record, gst_alsa_mixer_get_option, gst_alsa_mixer_update_option, gst_alsa_mixer_update_track, _gst_alsa_mixer_set_interface): * ext/alsa/gstalsamixer.h (handle_source, interface, dir): * ext/alsa/gstalsamixerelement.c (gst_alsa_mixer_element_details, gst_alsa_mixer_element_interface_supported, gst_alsa_mixer_element_finalize, gst_alsa_mixer_element_init, gst_alsa_mixer_element_set_property, gst_alsa_mixer_element_get_property, gst_alsa_mixer_element_change_state): * ext/alsa/gstalsamixertrack.c (gst_alsa_mixer_track_update): * gst-libs/gst/interfaces/mixer.c (gst_mixer_volume_changed, gst_mixer_option_changed): * gst-libs/gst/interfaces/mixer.h (set_option, get_option, volume_changed, option_changed, _gst_reserved): Implement notification for alsamixer. Fixes #152864 2007-05-14 David Schleef * gst/videotestsrc/videotestsrc.c: * gst/videotestsrc/videotestsrc.h: Add support for video/x-raw-bayer. 2007-05-12 David Schleef * sys/xvimage/xvimagesink.c: Add some sanity checking for the XVImage size returned by X. Related to #377400. 2007-05-12 Wim Taymans * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_setcaps), (gst_base_rtp_depayload_set_gst_timestamp): Parse and use additional caps fields as described in updated application/x-rtp caps spec. 2007-05-12 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet), (gst_ogg_demux_collect_chain_info): If there is a stream in a chain without any data packets, ignore the stream in the total length calculations. Might be related to #436820. 2007-05-11 Jan Schmidt * gst/typefind/gsttypefindfunctions.c: (mpeg_sys_is_valid_pack), (mpeg_sys_is_valid_pes), (mpeg_sys_is_valid_sys), (mpeg_sys_type_find), (mpeg_ts_type_find), (mpeg4_video_type_find), (mpeg_video_type_find), (mpeg_video_stream_type_find), (plugin_init): Consolidate and re-work our mpeg system stream detection to probe more packets and produce a higher confidence result. Fixes a regression caused by lowering the typefind probability last year - related to bug #397810. Remove the redundant MPEG-1 specific typefind function, as the new one detects both MPEG-1 & MPEG-2 happily. Also cleanup the MPEG elementary and MPEG-TS detection functions a little. Tested against my media test directory, with some improvements and no regressions. 2007-05-10 Wim Taymans * gst/playback/gstplaybasebin.c: (fill_buffer), (check_queue), (queue_out_of_data): Connect to the new queue "pushing" signal instead of the broken "running" one. 2007-05-09 Sebastien Moutte * gst-libs/gst/rtp/gstbasertpaudiopayload.c: (gst_base_rtp_audio_payload_handle_frame_based_buffer): Move variable declaration before the first instruction. * gst/videotestsrc/videotestsrc.c: Define M_PI if it's not defined yet. * win32/common/libgstrtp.def: Add new exported functions. 2007-05-09 Michael Smith * ext/theora/theoradec.c: (theora_handle_type_packet): gst_pad_push_event() does not return a GstFlowReturn! 2007-05-09 Wim Taymans * tests/examples/seek/scrubby.c: (stop_cb), (main): * tests/examples/seek/seek.c: (do_seek): Some small cosmetic changes. 2007-05-08 Stefan Kost * gst/adder/gstadder.c (gst_adder_src_event, gst_adder_collected, gst_adder_change_state): * gst/adder/gstadder.h (bps, offset, collect_event, segment, segment_pending, segment_position, segment_rate): Handle playback-rate on adder. 2007-05-07 Michael Smith * ext/theora/gsttheoradec.h: * ext/theora/theoradec.c: (gst_theora_dec_reset), (theora_dec_sink_event), (theora_handle_comment_packet), (theora_handle_type_packet), (theora_dec_change_state): Don't push events (newsegment, tags) before initialising the decoder. This is neccesary for seeking to work correctly in gnonlin. 2007-05-04 Stefan Kost * gst-libs/gst/rtp/gstbasertpaudiopayload.c: * gst/adder/gstadder.c: * gst/audiotestsrc/gstaudiotestsrc.c (gst_audio_test_src_create_white_noise): * gst/videotestsrc/gstvideotestsrc.c: * gst/volume/gstvolume.c (VOLUME_UNITY_INT16, VOLUME_UNITY_INT16_BIT_SHIFT, VOLUME_MAX_DOUBLE, volume_sink_template, volume_src_template, gst_volume_init, volume_process_double, volume_process_int16, volume_process_int16_clamp): Doc fixes and formatting. 2007-05-04 Tim-Philipp Müller * tests/check/Makefile.am: * tests/check/elements/volume.c: (GST_START_TEST), (volume_suite): Minimal check for volume's GstController usability; also another test for #422295. 2007-05-04 Tim-Philipp Müller * gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_add_track): Fix it so that it (a) makes sense and (b) doesn't break everything cdda-related including the unit test. 2007-05-04 Stefan Kost * gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_add_track): Fix build when disabling asserts. 2007-05-03 Tim-Philipp Müller * sys/ximage/ximagesink.c: (gst_ximagesink_ximage_new): When XShm is not available, we might get row strides that are not rounded up to multiples of four; this is bad, because virtually every RGB-processing element in GStreamer assumes rowstrides are rounded up to multiples of four, so let's allocate at least enough memory to avoid crashes in this case. The image will still be displayed distorted though if this happens, so that still needs fixing (maybe by allocating a bigger image with an 'even' width and then clipping it appropriately when rendering - something for Xlib aficionados in any case). 2007-05-03 Michael Smith * gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain): If a buffer doesn't have a timestamp, assume it's contiguous with the previous buffer, and synthesise timestamps appropriately. 2007-05-03 Edward Hervey * tests/check/elements/videorate.c: (GST_START_TEST): Set buffer timestamp to a valid value in order to test the buffer really does stay in videorate. 2007-05-03 Edward Hervey * gst/videorate/gstvideorate.c: (gst_video_rate_chain): There is no sensible way to handle incoming buffers which don't have a valid timestamp. We therefore discard them and wait for the next one. 2007-05-01 Tim-Philipp Müller * gst/playback/gstdecodebin.c: (type_found), (plugin_init): * gst/playback/gstdecodebin2.c: (plugin_init): Better error message for text files. 2007-04-29 Wim Taymans * gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_packet_add_rb): Fix offset bug in generation RR packets. 2007-04-27 Julien MOUTTE * ext/theora/theoradec.c: (_theora_granule_time), (theora_dec_push_forward), (theora_handle_data_packet), (theora_dec_decode_buffer): Calculate buffer duration correctly to generate a perfect stream (#433888). * gst/audioresample/gstaudioresample.c: (audioresample_check_discont): Glib provides ABS. 2007-04-27 Wim Taymans * gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_packet_get_rb), (gst_rtcp_packet_add_rb), (gst_rtcp_packet_sdes_add_item), (gst_rtcp_packet_sdes_add_entry), (gst_rtcp_packet_bye_add_ssrc), (gst_rtcp_packet_bye_add_ssrcs), (get_reason_offset), (gst_rtcp_packet_bye_set_reason): * gst-libs/gst/rtp/gstrtcpbuffer.h: Fix RB block parsing and writing. Add support for constructing BYE packets. 2007-04-25 Tim-Philipp Müller * gst-libs/gst/audio/gstbaseaudiosrc.c: (_do_init), (gst_base_audio_src_create): * po/POTFILES.in: When posting a warning message because samples were dropped, post something more intelligible than he default error message for clock errors which is just confusing in this context (#432984). 2007-04-25 Wim Taymans * gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_buffer_new), (gst_rtcp_buffer_end), (gst_rtcp_buffer_get_packet_count), (read_packet_header), (gst_rtcp_packet_move_to_next), (gst_rtcp_buffer_add_packet), (gst_rtcp_packet_sr_set_sender_info), (gst_rtcp_packet_rr_set_ssrc), (gst_rtcp_packet_add_rb), (gst_rtcp_packet_sdes_get_item_count), (gst_rtcp_packet_sdes_first_item), (gst_rtcp_packet_sdes_next_item), (gst_rtcp_packet_sdes_get_ssrc), (gst_rtcp_packet_sdes_first_entry), (gst_rtcp_packet_sdes_next_entry), (gst_rtcp_packet_sdes_get_entry), (gst_rtcp_packet_sdes_add_item), (gst_rtcp_packet_sdes_add_entry): * gst-libs/gst/rtp/gstrtcpbuffer.h: Implement code to write SR, RR and SDES packets. 2007-04-24 Tim-Philipp Müller Patch by: Christian Kirbach * sys/ximage/ximagesink.c: Fix build if XShm is not available (#432362). 2007-04-24 Sebastian Dröge * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_init): Initalize the AudioConvertCtx with zeroes, otherwise it will contain pointers to random memory which are passed to g_free() when audio_convert_prepare_context() is called the first time. 2007-04-24 Tim-Philipp Müller Patch by: Dan Williams * gst/videorate/gstvideorate.c: (gst_video_rate_chain): Don't leak incoming buffer if gst_pad_push() returns a non-OK flow. Fixes #432755. * tests/check/elements/videorate.c: (GST_START_TEST), (videorate_suite): Unit test for the above by Yours Truly. 2007-04-23 Stefan Kost * gst/adder/gstadder.c: (gst_adder_setcaps), (gst_adder_src_event), (gst_adder_sink_event), (gst_adder_collected): Fix non-flushing segmented seeks, Fixes #340060 for me 2007-04-21 Tim-Philipp Müller Patch by: Olivier Crete * gst-libs/gst/rtp/gstbasertpaudiopayload.c: (gst_base_rtp_audio_payload_class_init), (gst_base_rtp_audio_payload_init), (gst_base_rtp_audio_payload_dispose): Chain up to parent class in dispose function; get rid of unnecessary 'diposed' flag in private structure (#415001). 2007-04-21 Tim-Philipp Müller * docs/libs/gst-plugins-base-libs.types: * gst-libs/gst/rtp/gstbasertpaudiopayload.c: (gst_base_rtp_audio_payload_class_init): * gst-libs/gst/rtp/gstbasertpdepayload.c: * gst-libs/gst/rtp/gstbasertppayload.c: Some minor docs fixes and additions; also add missing 'Since' bits. 2007-04-21 Tim-Philipp Müller Patch by: Zeeshan Ali * gst-libs/gst/rtp/gstbasertpaudiopayload.c: (gst_base_rtp_audio_payload_handle_frame_based_buffer), (gst_base_rtp_audio_payload_handle_sample_based_buffer), (gst_base_rtp_audio_payload_push): * gst-libs/gst/rtp/gstbasertpaudiopayload.h: The recently-added gst_base_rtp_audio_payload_push() should take an object of type GstBaseRTPAudioPayload as first argument (#431672). 2007-04-21 Tim-Philipp Müller * gst/audioresample/gstaudioresample.c: Make more functions static, just because we can. 2007-04-21 Tim-Philipp Müller * tests/check/elements/audioresample.c: Add unit test for audioresample shutdown crasher (#420106). 2007-04-20 Stefan Kost * gst/subparse/gstsubparse.c: * gst/subparse/samiparse.c: Use GST_DISABLE_XML here * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_put), (gst_xvimagesink_xwindow_new), (gst_xvimagesink_get_xv_support), (gst_xvimagesink_buffer_alloc), (gst_xvimagesink_navigation_send_event): * sys/xvimage/xvimagesink.h: Include stdlib.h when using atoi. * tests/check/elements/playbin.c: (playbin_suite): Use GST_DISABLE_REGISTRY here 2007-04-19 Michael Smith * ext/theora/gsttheoraenc.h: * ext/theora/theoraenc.c: (theora_enc_sink_setcaps), (theora_enc_sink_event), (theora_enc_change_state): Track initialisation state; don't try to use encoder state if we're not initialised (it'll segfault). 2007-04-18 Stefan Kost * tests/check/pipelines/.cvsignore: Fix build. 2007-04-17 Sebastian Dröge * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps): Allow random depths between 1 and 32 instead of only multiplies of 8. 2007-04-17 Sebastian Dröge * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps): Set the maximum number of channels for PCM and float in the correct place to have it also used when creating the template caps. 2007-04-17 Sebastian Dröge * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps): Correctly support 4, 6 and 8 channels with normal PCM and float wav files. Fix the depth and signedness calculation in extensible wav files and also handle 1, 2, 4, 6, 8 channels here when a file without channel mask is found. Add support for float, alaw and mulaw in extensible wav files. This allows correct playback of all but 5 files from http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/Samples.html (gst_riff_create_audio_template_caps): Add voxware and float formats to the template caps. 2007-04-17 Sebastian Dröge Patch by: Vincent Torri * ext/pango/gstclockoverlay.c: (gst_clock_overlay_render_time): Fix unused variable warning if HAVE_LOCALTIME_R is undefinied * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps): * gst/audioresample/gstaudioresample.c: (audioresample_do_output): Use the correct format strings for integer formats. 2007-04-15 Thomas Vander Stichele * ext/theora/theoraenc.c (theora_buffer_from_packet, theora_enc_chain): Don't use pad_alloc_buffer_and_set_caps to create a small header packet, or, worse, to create a big temporary video buffer using the src pad. 2007-04-14 Thomas Vander Stichele * gst/gdp/gstgdppay.c (gst_gdp_pay_chain): * tests/check/pipelines/streamheader.c (tag_event_probe_cb, GST_START_TEST, buffer_probe_cb, GST_START_TEST): Fix a bug where serialized IN_CAPS buffers needed to be set IN_CAPS. 2007-04-13 Thomas Vander Stichele * tests/check/pipelines/streamheader.c (tag_event_probe_cb, GST_START_TEST, n_in_caps, buffer_probe_cb, GST_START_TEST, streamheader_suite): Add another test set up for failure 2007-04-13 Thomas Vander Stichele * tests/check/Makefile.am: * tests/check/pipelines/streamheader.c (n_tags, tag_event_probe_cb, GST_START_TEST, streamheader_suite, main): Add a test for the streamheader bug Wim fixed. 2007-04-13 Jan Schmidt * ext/theora/theoradec.c: (theora_dec_sink_event): Fix misleading comment. 2007-04-13 Stefan Kost * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps): More sanity checks for the header fields. 2007-04-12 Tim-Philipp Müller * gst-libs/gst/tag/tags.c: (gst_tag_freeform_string_to_utf8): Try encodings from all environment variables, not just those in the first environment variable that is set. 2007-04-12 Wim Taymans * gst/videorate/gstvideorate.c: (gst_video_rate_setcaps), (gst_video_rate_chain): Add some debug. * tests/check/elements/videorate.c: (GST_START_TEST), (videorate_suite): Added check for videorate changing caps handling. Closes #421834. 2007-04-12 Michael Smith * ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet): Use scale functions to avoid overflow when calculating duration of vorbis buffers. 2007-04-12 Tim-Philipp Müller * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/tag/tag.h: * gst-libs/gst/tag/tags.c: (gst_tag_freeform_string_to_utf8): API: add gst_tag_freeform_string_to_utf8() (#405072). * gst-libs/gst/tag/gstid3tag.c: (gst_tag_extract_id3v1_string): Use gst_tag_freeform_string_to_utf8() here. 2007-04-12 Wim Taymans * gst/gdp/gstgdppay.c: (gst_gdp_pay_chain), (gst_gdp_pay_sink_event): Make sure we set the IN_CAPS flag correctly. * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_render): Get the IN_CAPS flag before we call functions that mess with the flags. 2007-04-10 Thomas Vander Stichele * gst/gdp/gstgdppay.c (gst_gdp_pay_reset_streamheader, gst_gdp_pay_chain, gst_gdp_pay_sink_event): Only stamp buffers with offset/offset_end right before they get pushed. This ensures offset continuity, which was not the case before as shown by gst-launch -v -m audiotestsrc num-buffers=10 ! audioconvert ! vorbisenc ! gdppay ! identity check-imperfect-offset=TRUE ! fakesink silent=TRUE 2007-04-06 Wim Taymans * gst/playback/gstplaybin.c: (add_sink), (gst_play_bin_change_state): Activate sync in playbin, we are ready to handle it for live streams. 2007-04-06 Tim-Philipp Müller * tests/check/elements/playbin.c: (test_sink_usage_video_only_stream), (playbin_suite): Add small test for stream-info-value-array code paths. 2007-04-05 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_skew_slaving): Don't try to create invalid calibration parameters by making the internal time go backwards, instead make external time go forward. 2007-04-05 Wim Taymans Patch by: Tommi Myöhänen * gst/playback/gstplaybasebin.c: (add_stream): Fix leak in add_stream(), when g_value_set_object() increases the refcount of streaminfo object. Fixes #426250. 2007-04-03 David Schleef * gst/videotestsrc/gstvideotestsrc.c: * gst/videotestsrc/gstvideotestsrc.h: * gst/videotestsrc/videotestsrc.c: * gst/videotestsrc/videotestsrc.h: Add a test pattern called "circular", which has concentric rings with varying radial frequency. The main purpose of this pattern is to test fidelity loss in a filter or scaler element. Notably, this pattern is scale invariant, and is optimally viewed with a width (and height) of 400. 2007-04-03 Wim Taymans Patch by: Tommi Myöhänen * gst/playback/gstdecodebin2.c: (connect_pad), (expose_pad), (deactivate_free_recursive): Decodebin2 doesn't unref pads it obtains in some occasions: - multiqueue src pads, when either connecting further or exposing - sink pads of new autoplugged elements - peer pads when recursively freeing elements Fixes #425455. 2007-03-30 Sebastian Dröge * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps): Add audio/x-raw-float support, now that audioconvert support non-native endianness floats. 2007-03-30 Tim-Philipp Müller * docs/libs/gst-plugins-base-libs-docs.sgml: gstreamer-plugins-base.pc doesn't exist, it's gstreamer-plugins-base-0.10.pc. 2007-03-29 Sebastian Dröge Patch by: René Stadler with some minor changes * gst-libs/gst/floatcast/floatcast.h: Use more efficient float endianness conversion functions that don't involve 2 function calls per value. * gst/audioconvert/audioconvert.c: (audio_convert_get_func_index), (check_default), (audio_convert_prepare_context): * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_parse_caps), (make_lossless_changes): Support non-native endianness floats as input and output. Fixes #339838. * tests/check/elements/audioconvert.c: (verify_convert), (GST_START_TEST): Add unit tests for the non-native endianness float conversions. 2007-03-29 Wim Taymans * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_base_init), (gst_base_rtp_depayload_class_init), (gst_base_rtp_depayload_init), (gst_base_rtp_depayload_setcaps), (gst_base_rtp_depayload_chain), (gst_base_rtp_depayload_set_gst_timestamp), (gst_base_rtp_depayload_change_state), (gst_base_rtp_depayload_set_property), (gst_base_rtp_depayload_get_property): * gst-libs/gst/rtp/gstbasertpdepayload.h: Add Private structure. Bring element code to 2007. Parse clock-base caps param and use it when generating the newsegment. Reset variables before going to PAUSED. Fix some docs. 2007-03-29 Wim Taymans * docs/libs/gst-plugins-base-libs-docs.sgml: * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/rtp/gstbasertpaudiopayload.c: (gst_base_rtp_audio_payload_get_adapter): Add RTCP docs. Fix some more docs. * gst-libs/gst/rtp/Makefile.am: * gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_buffer_new_take_data), (gst_rtcp_buffer_new_copy_data), (gst_rtcp_buffer_validate_data), (gst_rtcp_buffer_validate), (gst_rtcp_buffer_get_packet_count), (read_packet_header), (gst_rtcp_buffer_get_first_packet), (gst_rtcp_packet_move_to_next), (gst_rtcp_buffer_add_packet), (gst_rtcp_packet_remove), (gst_rtcp_packet_get_padding), (gst_rtcp_packet_get_type), (gst_rtcp_packet_get_count), (gst_rtcp_packet_get_length), (gst_rtcp_packet_sr_get_sender_info), (gst_rtcp_packet_sr_set_sender_info), (gst_rtcp_packet_rr_get_ssrc), (gst_rtcp_packet_rr_set_ssrc), (gst_rtcp_packet_get_rb_count), (gst_rtcp_packet_get_rb), (gst_rtcp_packet_add_rb), (gst_rtcp_packet_set_rb), (gst_rtcp_packet_sdes_get_chunk_count), (gst_rtcp_packet_sdes_first_chunk), (gst_rtcp_packet_sdes_next_chunk), (gst_rtcp_packet_sdes_get_ssrc), (gst_rtcp_packet_sdes_first_item), (gst_rtcp_packet_sdes_next_item), (gst_rtcp_packet_sdes_get_item), (gst_rtcp_packet_bye_get_ssrc_count), (gst_rtcp_packet_bye_get_nth_ssrc), (gst_rtcp_packet_bye_add_ssrc), (gst_rtcp_packet_bye_add_ssrcs), (get_reason_offset), (gst_rtcp_packet_bye_get_reason_len), (gst_rtcp_packet_bye_get_reason), (gst_rtcp_packet_bye_set_reason): * gst-libs/gst/rtp/gstrtcpbuffer.h: Add new helper object for parsing and creating RTCP messages. 2007-03-29 Sebastian Dröge * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps): PCM samples with width=8 must be always unsigned, no matter what depth they have. 2007-03-29 Andy Wingo * gst/videorate/gstvideorate.c (gst_video_rate_flush_prev): Make perfect offsets also, not just timestamps. * tests/check/elements/videorate.c (test_more): Test that given any incoming offsets, that videorate produces perfect offsets. 2007-03-29 Wim Taymans * gst-libs/gst/riff/riff-ids.h: Add some more RIFF formats. 2007-03-29 Wim Taymans * gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_default_clock_rate): * gst-libs/gst/rtp/gstrtpbuffer.h: Fix fixed payload names and docs. Added method to get the default clock rates of fixed payload types. API: GstRTPBuffer::gst_rtp_buffer_default_clock_rate() 2007-03-28 Zaheer Abbas Merali * tests/check/pipelines/.cvsignore: Add new vorbisdec test to cvsignore. 2007-03-28 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (slave_method_get_type), (gst_base_audio_sink_class_init), (gst_base_audio_sink_init), (gst_base_audio_sink_query), (gst_base_audio_sink_get_time), (gst_base_audio_sink_set_property), (gst_base_audio_sink_get_property), (gst_base_audio_sink_event), (clock_convert_external), (gst_base_audio_sink_resample_slaving), (gst_base_audio_sink_skew_slaving), (gst_base_audio_sink_handle_slaving), (gst_base_audio_sink_render), (gst_base_audio_sink_async_play): * gst-libs/gst/audio/gstbaseaudiosink.h: Store private stuff in GstBaseAudioSinkPrivate. Add configurable clock slaving modes property. API:: GstBaseAudioSink::slave-method property Some more latency reporting tweaks. Added skew based clock slaving correction and make it the default until the resampling method is more robust. 2007-03-27 Sebastian Dröge * gst/audioconvert/audioconvert.c: Add docs to the integer pack functions and implement proper rounding. Before we had rounding towards negative infinity, i.e. always the smaller number was taken. Now we use natural rounding, i.e. rounding to the nearest integer and to the one with the largest absolute value for X.5. The old rounding introduced some minor distortions. Fixes #420079 * tests/check/elements/audioconvert.c: (GST_START_TEST): Fix one unit test that assumed the old rounding and added unit tests for checking signed/unsigned int16 <-> signed/unsigned int16 with depth 8, one for signed int16 <-> unsigned int16 and one for the new rounding from signed int32 to signed/unsigned int16. 2007-03-27 Michael Smith * gst/audioconvert/gstaudioconvert.c: (strip_width_64), (gst_audio_convert_transform_caps): Fix typo in debug line introduced recently, as pointed out on irc. 2007-03-27 Tim-Philipp Müller * gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add): * tests/check/libs/tag.c: (GST_START_TEST): Make sure we parse floating-point numbers in vorbis comments correctly with either '.' or ',' as separator, no matter what the current locale is. Add unit test for this too. 2007-03-26 Tim-Philipp Müller Patch by: René Stadler * gst-libs/gst/tag/gstvorbistag.c: (gst_tag_to_vorbis_comments): When writing out floating-point numbers to vorbis comment tags, always use the same character as separator no matter what the current locale is (fixes #423051). * tests/check/libs/tag.c: (GST_START_TEST): Add unit tests for replaygain tags in vorbis comments (closes #423055). 2007-03-26 Thomas Vander Stichele * ext/vorbis/vorbisdec.c (vorbis_dec_push_forward, vorbis_handle_data_packet): Correctly set DURATION to generate a timestamp-continuous stream. One bug left at the end; see ihttp://bugzilla.gnome.org/show_bug.cgi?id=423086 * tests/check/Makefile.am: * tests/check/pipelines/vorbisenc.c (GST_START_TEST): Add a test to check this. Without the above patch this test fails. 2007-03-26 Jan Schmidt * gst-libs/gst/rtp/Makefile.am: The base audio payloader uses GstAdapter - we need GST_BASE_LIBS. 2007-03-23 Michael Smith * gst/videorate/gstvideorate.c: (gst_video_rate_setcaps), (gst_video_rate_reset), (gst_video_rate_chain): If videorate changes caps, we can no longer use the old buffer (which may have a different size, incompatible with our caps). So don't do that; just duplicate the new frame more times. 2007-03-22 Jan Schmidt * gst/playback/gstplaybin.c: (gst_play_bin_class_init): Remove playbin's override of the set_clock vmethod. It's irrelevant after Wim's commit on the 19th. 2007-03-22 Wim Taymans * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_get_size), (gst_gnome_vfs_src_start), (gst_gnome_vfs_src_stop): * ext/gnomevfs/gstgnomevfssrc.h: Don't cache file sizes. Fixes #341078. 2007-03-21 Tim-Philipp Müller * gst/playback/gstplaybin.c: (add_sink): Use GST_PTR_FORMAT to log caps. 2007-03-21 Tim-Philipp Müller Patch by: Young-Ho Cha * gst/subparse/samiparse.c: (handle_start_font): Special-case some more colour names that pango doesn't handle by default. Fixes #420578. 2007-03-20 Michael Smith * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_chain): If we get a zero-sized input buffer, don't pass it to libvorbis, as that marks EOS internally. After that, libvorbis will buffer all input data, and encode none of it, eventually leading to memory exhaustion. 2007-03-19 Wim Taymans * gst/playback/gstdecodebin.c: (remove_fakesink): Don't post STATE_DIRTY anymore. * gst/playback/gstplaybin.c: (add_sink), (gst_play_bin_send_event), (gst_play_bin_change_state): Remove stream_time reset in seek handling, core does that now. Disable clocking for live pipelines by forcing a NULL clock to the complete pipeline, core is too smart now for our previous hack. We can always autoplug in PAUSED now. 2007-03-17 David Schleef * REQUIREMENTS: Update this file, change the formatting to make it more consistent, plus more machine readable. 2007-03-16 Michael Smith * gst/audioconvert/gstaudioconvert.c: (make_lossless_changes), (strip_width_64), (append_with_other_format): Previous fix was too simplistic, and broke the tests. Use a better approach; only strip 64 from widths for integer audio. 2007-03-16 Michael Smith * gst/audioconvert/gstaudioconvert.c: (make_lossless_changes), (gst_audio_convert_transform_caps): We don't support 64 bit integer audio, so don't try to claim we can. Stops us producing caps don't match our template caps. Update comments. 2007-03-15 Michael Smith * gst/audioresample/gstaudioresample.c: (audioresample_check_discont), (audioresample_transform): Don't trigger discontinuities for very small imperfections; a filter flush will sound bad, and many plugins have rounding errors leading to these. 2007-03-14 Philippe Kalaf Patch by Olivier Crete * gst-libs/gst/rtp/gstbasertpaudiopayload.c: * gst-libs/gst/rtp/gstbasertpaudiopayload.h: API: add "min-ptime" property to RTP base audio payloader. API: add gst_base_rtp_audio_payload_push(). API: add gst_base_rtp_audio_payload_get_adapter(). Fixes #415001 Indentation/whitespace/documentation fixes. 2007-03-14 Julien MOUTTE * gst/audioresample/gstaudioresample.c: (gst_audioresample_init), (audioresample_transform_size), (audioresample_do_output), (audioresample_transform), (audioresample_pushthrough): Handle discontinuous streams. * gst/audioresample/gstaudioresample.h: * tests/check/elements/audioresample.c: (test_discont_stream_instance), (GST_START_TEST), (audioresample_suite): Add a test for discontinuous streams. * win32/common/config.h: Updated. 2007-03-14 Thomas Vander Stichele * po/af.po: * po/az.po: * po/cs.po: * po/en_GB.po: * po/it.po: * po/nb.po: * po/nl.po: * po/or.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/uk.po: * po/vi.po: Update translations from translation project. 2007-03-14 Thomas Vander Stichele * gst/audioresample/debug.h: * gst/audioresample/resample.c: (resample_init): Since I really am not interested in a debug line for each sample being processed, move the library's debugging to its own category, libaudioresample 2007-03-13 Michael Smith * ext/theora/theoradec.c: (theora_handle_type_packet): Since the plugin doesn't support anything other than 4:2:0 right now, post an error and fail if we get something else. Won't matter until libtheora supports the other pixel formats, but hopefully that'll be soon... 2007-03-10 Sebastien Moutte * gst-libs/gst/audio/gstbaseaudiosink.c:(gst_base_audio_sink_render): Use gst_guint64_to_gdouble for conversion. * win32/MANIFEST: Add new files to the win32 MANIFEST. * win32/common/libgstaudio.def: * win32/common/libgstpbutils.def: Add new exported functions. * win32/vs6/gst_plugins_base.dsw: * win32/vs6/libgstdecodebin.dsp: * win32/vs6/libgstplaybin.dsp: Change the link to libgstpbutils.lib. * win32/vs6/libgstdecodebin2.dsp: Add a new project for decodebin2. * win32/vs6/libgstpbutils.dsp: Add a new project for pbutils. 2007-03-10 Tim-Philipp Müller * gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add): Also accept partial dates with only year and month, like 1999-12-00 (fixes #410396 even more). * tests/check/libs/tag.c: (GST_START_TEST): Add unit test for the above. 2007-03-10 Tim-Philipp Müller * tests/check/elements/subparse.c: (GST_START_TEST), (subparse_suite): Add unit test for MPL2 subtitle format (#413799). 2007-03-10 Tim-Philipp Müller Patch by: Kamil Pawlowski * gst/subparse/Makefile.am: * gst/subparse/gstsubparse.c: (gst_sub_parse_data_format_autodetect), (gst_sub_parse_format_autodetect), (gst_sub_parse_sink_event), (gst_subparse_type_find): * gst/subparse/gstsubparse.h: * gst/subparse/mpl2parse.c: (mpl2_parse_line), (parse_mpl2): * gst/subparse/mpl2parse.h: Add support for MPL2 subtitle format (#413799). 2007-03-09 Tim-Philipp Müller * configure.ac: We require core CVS for the new buffer metadata copy functions. 2007-03-09 Wim Taymans * gst-libs/gst/tag/gstid3tag.c: Add read support for GST_TAG_MUSICBRAINZ_SORTNAME (TSOP) tag. Fixes #414496. Patch by: Alex Lancaster 2007-03-09 Wim Taymans * ext/libvisual/visual.c: (gst_visual_sink_setcaps), (gst_vis_src_negotiate), (get_buffer), (gst_visual_chain): Improve adapter usage and comments. 2007-03-09 Wim Taymans * ext/pango/gsttextrender.c: (gst_text_render_chain): * ext/vorbis/vorbistag.c: (gst_vorbis_tag_parse_packet): * gst-libs/gst/netbuffer/gstnetbuffer.c: (gst_netbuffer_copy): Use new metadata copy function. * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_transform): * gst/videoscale/gstvideoscale.c: (gst_video_scale_transform): Basetransform copied the metadata for us. 2007-03-09 Tim-Philipp Müller * ext/pango/gsttextoverlay.c: (gst_text_overlay_text_event), (gst_text_overlay_video_event): Some more logging. Only accept newsegment events in TIME format and send a WARNING message if they are not in TIME format. * gst/subparse/gstsubparse.c: (gst_sub_parse_dispose), (gst_sub_parse_init), (gst_sub_parse_src_event), (handle_buffer), (gst_sub_parse_chain), (gst_sub_parse_sink_event): * gst/subparse/gstsubparse.h: No need to allocate GstSegment structure dynamically, just put it into the instance structure; ignore newsegment events in BYTE format and in particular don't let it overwrite our saved TIME segment from the last seek. 2007-03-09 Michael Smith * gst/typefind/gsttypefindfunctions.c: (ac3_type_find): Replace AC3 typefinder with one that isn't terrible, and actually works usefully. 2007-03-09 Thomas Vander Stichele * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_transform): fix error category and translatable string 2007-03-09 Tim-Philipp Müller * pkgconfig/gstreamer-plugins-base-uninstalled.pc.in: * pkgconfig/gstreamer-plugins-base.pc.in: Fix up utils => pbutils here too. 2007-03-09 Tim-Philipp Müller * gst/subparse/gstsubparse.c: (handle_buffer): Break out of loop in chain function as soon as possible if we get a non-OK flow return. 2007-03-08 Jan Schmidt * tests/check/elements/alsa.c: (GST_START_TEST): Unref the mixer if the state change fails too (if the alsa devices are inaccessible, for example) 2007-03-08 Jan Schmidt * tests/check/Makefile.am: Don't test libvisual elements in the states check, because libvisual seems to leak internally. Re-enable the alsa and states tests now that there's new suppressions in gst.supp. * tests/check/elements/alsa.c: (GST_START_TEST): Don't leak the alsamixer we instantiated. 2007-03-08 Jan Schmidt * sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_clear), (gst_ximagesink_change_state), (gst_ximagesink_reset), (gst_ximagesink_finalize): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_change_state), (gst_xvimagesink_reset), (gst_xvimagesink_finalize): Move some cleanup stuff from the state change handler into a _reset() function that can be called from _finalize(). This ensures that things get freed even if (for some reason) the NULL->READY state transition fails in the parent class. Even if a parent state change fails, process our downward state change logic instead of bailing out early. Free the correct xcontext pointer in ximagesink's xcontext_clear. 2007-03-08 Jan Schmidt * ext/alsa/gstalsasink.c: (gst_alsasink_open): Extra log line. * ext/pango/gstclockoverlay.c: (gst_clock_overlay_init): * ext/pango/gsttimeoverlay.c: (gst_time_overlay_init): Use pango_font_description_set_family_static instead of pango_font_description_set_family to save a string copy (it was leaking due to the strdup anyway) * gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_finalize): * gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_finalize): * gst/tcp/gsttcpserversink.c: (gst_tcp_server_sink_finalize): * gst/tcp/gsttcpserversrc.c: (gst_tcp_server_src_finalize): Chain up in finalize. 2007-03-07 Tim-Philipp Müller * gst-libs/gst/interfaces/mixertrack.c: (gst_mixer_track_class_init), (gst_mixer_track_get_property), (gst_mixer_track_set_property): API: add "untranslated-label" property which should be set by implementations at construct time (#414645). * ext/alsa/gstalsamixeroptions.c: (gst_alsa_mixer_options_new): * ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_new): Set "untranslated-label" when constructing mixer track objects. * tests/check/elements/alsa.c: (GST_START_TEST), (alsa_suite): Unit test to check the above. 2007-03-07 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_demux_read_chain): Fix confusing debug message. 2007-03-07 Jan Schmidt * gst-plugins-base.doap: update doap file with new version 2007-03-07 Jan Schmidt * configure.ac: Back to CVS === release 0.10.12 === 2007-03-07 Jan Schmidt * configure.ac: releasing 0.10.12, "Zombie Horde" 2007-03-06 Jan Schmidt * configure.ac: Bump version to 0.10.11.4 pre-release 2007-03-06 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_async_play): Fix regression that made GStreamer skip the first samples of audio. Fixes #414684. 2007-03-05 Jan Schmidt * configure.ac: Bump version to 0.10.11.3 pre-release 2007-03-05 Sebastian Dröge * po/POTFILES.in: Update paths for the rename from utils to pbutils to fix the build. 2007-03-05 Tim-Philipp Müller * gst-libs/gst/pbutils/Makefile.am: Change directory to install headers in from gst/utils to gst/pbutils as well. 2007-03-05 Thomas Vander Stichele * configure.ac: * docs/libs/gst-plugins-base-libs-docs.sgml: * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/Makefile.am: * gst-libs/gst/interfaces/mixer.c: * gst-libs/gst/pbutils/Makefile.am: * gst-libs/gst/pbutils/descriptions.c: (gst_pb_utils_get_source_description), (gst_pb_utils_get_sink_description), (gst_pb_utils_get_decoder_description), (gst_pb_utils_get_encoder_description), (gst_pb_utils_get_element_description), (gst_pb_utils_add_codec_description_to_tag_list), (gst_pb_utils_get_codec_description), (gst_pb_utils_list_all): * gst-libs/gst/pbutils/descriptions.h: * gst-libs/gst/pbutils/install-plugins.c: * gst-libs/gst/pbutils/install-plugins.h: * gst-libs/gst/pbutils/missing-plugins.c: (gst_missing_uri_source_message_new), (gst_missing_uri_sink_message_new), (gst_missing_element_message_new), (gst_missing_decoder_message_new), (gst_missing_encoder_message_new), (gst_missing_plugin_message_get_description): * gst-libs/gst/pbutils/missing-plugins.h: * gst-libs/gst/pbutils/pbutils.c: (gst_pb_utils_init): * gst-libs/gst/pbutils/pbutils.h: * gst-libs/gst/utils/Makefile.am: * gst-libs/gst/utils/base-utils.c: * gst-libs/gst/utils/base-utils.h: * gst-libs/gst/utils/descriptions.c: * gst-libs/gst/utils/descriptions.h: * gst-libs/gst/utils/install-plugins.c: * gst-libs/gst/utils/install-plugins.h: * gst-libs/gst/utils/missing-plugins.c: * gst-libs/gst/utils/missing-plugins.h: * gst-plugins-base.spec.in: * gst/playback/Makefile.am: * gst/playback/gstdecodebin.c: * gst/playback/gstdecodebin2.c: * gst/playback/gstplaybasebin.c: (setup_subtitle), (gen_source_element): * gst/playback/gstplaybin.c: (plugin_init): * tests/check/Makefile.am: * tests/check/libs/pbutils.c: (GST_START_TEST), (test_pb_utils_install_plugins_do_callout), (libgstpbutils_suite): * tests/check/libs/utils.c: rename utils to pbutils 2007-03-02 Jan Schmidt * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/gst-plugins-base-plugins-sections.txt: * docs/plugins/inspect/plugin-decodebin2.xml: * gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init): Add documentation for decodebin2 that indicates that the API is still unstable. 2007-03-01 Jan Schmidt * configure.ac: Update to 0.10.11.2 (0.10.12 pre-release) 2007-03-01 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_async_play): base time is irrelevant here. 2007-03-01 Wim Taymans * gst-libs/gst/audio/gstaudiosink.c: (audioringbuffer_thread_func): * gst-libs/gst/audio/gstaudiosrc.c: (audioringbuffer_thread_func): Improve debugging. * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_query), (gst_base_audio_sink_event), (gst_base_audio_sink_render), (gst_base_audio_sink_async_play): Improve latency and clock slaving calculations. Improve slave clock calibration. * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_commit_full): When we are asked to render N sample to 0 bytes, return N. 2007-03-01 Wim Taymans * ext/alsa/gstalsasink.c: (gst_alsasink_class_init), (gst_alsasink_write), (gst_alsasink_reset): * ext/alsa/gstalsasink.h: Remove unused dispose function. Rename lock to not interfere with alsasrc lock. * ext/alsa/gstalsasrc.c: (gst_alsasrc_finalize), (gst_alsasrc_class_init), (gst_alsasrc_init), (set_swparams), (gst_alsasrc_read), (gst_alsasrc_reset): * ext/alsa/gstalsasrc.h: Implement finalize function. Use lock to protect alsa access. Implement _reset. Fine tune sw params. 2007-02-28 Thomas Vander Stichele * configure.ac: Convert to new AG_GST style. 2007-02-28 Wim Taymans Patch by: Ed Catmur * gst/playback/gstplaybin.c: (gst_play_bin_vis_unblocked), (gst_play_bin_vis_blocked), (gst_play_bin_set_property): Fix race condition when rapidly switching visualisations in playbin. Fixes #401029. 2007-02-28 Jan Schmidt * tests/check/Makefile.am: Include local stuff before system installed things in LDFLAGS and CFLAGS. 2007-02-28 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_demux_sink_activate): Improve debugging. 2007-02-28 Wim Taymans * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_class_init), (gst_v4lsrc_init), (gst_v4lsrc_fixate), (gst_v4lsrc_query): * sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_buffer_new): Fix duration and timestamping, taking latency into account. Implement latency query. 2007-02-28 Wim Taymans * gst-libs/gst/audio/gstaudioclock.c: (gst_audio_clock_init), (gst_audio_clock_new): Fix clock name. * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_init), (gst_base_audio_sink_query): * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_init), (gst_base_audio_src_query), (gst_base_audio_src_get_offset), (gst_base_audio_src_create): Improve latency query code. Use proper clock names. 2007-02-28 Thomas Vander Stichele * tests/check/generic/states.c: (GST_START_TEST): Copy the states.c test from core again * tests/check/Makefile.am: ignore cdio and cdparanoiasrc 2007-02-28 Stefan Kost * gst/audioconvert/audioconvert.c: (float), (double), (float_hq), (double_hq), (audio_convert_get_func_index), (check_default), (audio_convert_prepare_context), (audio_convert_convert): Also make valgrind happy and avoid copying data in some cases. 2007-02-28 Stefan Kost * gst/audioconvert/audioconvert.c: (float), (double), (float_hq), (double_hq), (audio_convert_get_func_index), (audio_convert_prepare_context), (audio_convert_convert): * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_class_init), (gst_audio_convert_get_unit_size), (gst_audio_convert_transform_caps): * tests/check/elements/audioconvert.c: (GST_START_TEST), (audioconvert_suite): Don't run inplace if that overwrites source data as we go. Add more tests. Fixes #339837 even more. 2007-02-27 Julien MOUTTE * tests/examples/seek/seek.c: (do_seek), (set_update_scale), (msg_segment_done): Fix various seeking bugs (Slider was not updating when doing a non flushing seek, Reverse playback on segment seek was wrong). 2007-02-26 Wim Taymans * tests/examples/seek/seek.c: (stop_seek): When we stop scrubbing, don't leave the pipeline PLAYING when we requested a PAUSED state. 2007-02-25 Tim-Philipp Müller Patch by: René Stadler * gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add): Parse date strings in vorbis comments that have an invalid (zero) month or day (#410396). * tests/check/libs/tag.c: (GST_START_TEST): Test case for the above. 2007-02-24 Tim-Philipp Müller Patch by: Loïc Minier * configure.ac: * ext/alsa/Makefile.am: * gst/audiotestsrc/Makefile.am: Fix compilation with LDFLAGS='-Wl,-z,defs' (#410963). 2007-02-23 Tim-Philipp Müller * gst/playback/gstplaybin.c: Improve docs: point out that the application needs to assist playbin with buffering. 2007-02-23 Tim-Philipp Müller * gst-libs/gst/utils/install-plugins.c: * gst-libs/gst/utils/missing-plugins.c: * tests/check/libs/utils.c: (missing_msg_check_getters): Change GStreamer marker prefix in detail string from 'gstreamer.net' to just 'gstreamer'. Document the caps string component of the decoder/encoder detail a bit better, since not everyone will be familiar with the GStreamer media type/caps system (but they better enjoy nested itemized lists). 2007-02-22 Tim-Philipp Müller * gst-libs/gst/netbuffer/gstnetbuffer.c: (notgst_buffer_copy_fields_in_place), (gst_netbuffer_copy): Fix copying of GstNetBuffer (would crash before, or at least lead to invalid memory access, #410772), for now by copying the GstBuffer copy code from the core over here so we can copy the GstBuffer fields on a provided buffer instance (of type GstNetBuffer in this case). Would be better to fix this with some support by the core though (and in the long run change the broken GstBuffer/GstMiniObject copy semantics, #393099). * tests/check/Makefile.am: Enable unit test for GstNetBuffer. 2007-02-22 Andy Wingo * gst-libs/gst/audio/gstbaseaudiosink.c (gst_base_audio_sink_init): Disable pull-mode activation until we figure out how to make audio sinks go to PLAYING. 2007-02-22 Stefan Kost * gst/audioconvert/audioconvert.c: (float), (double), (float_hq), (double_hq), (audio_convert_get_func_index), (audio_convert_prepare_context), (audio_convert_convert): * gst/audioconvert/audioconvert.h: * gst/audioconvert/gstchannelmix.c: (gst_channel_mix_setup_matrix), (gst_channel_mix_mix_int), (gst_channel_mix_mix_float): * gst/audioconvert/gstchannelmix.h: * tests/check/elements/audioconvert.c: (GST_START_TEST): Add float as an intermediate format, as well as float mixing. Enable test that was failing before. Fixes #339837 2007-02-21 Jan Schmidt * tests/examples/seek/seek.c: (do_seek): Undo the previous commit: -1 as a stop time implies that the stop time is the end of file, clearing any previously configured segment. 2007-02-21 Jan Schmidt * tests/examples/seek/seek.c: (do_seek): Don't SEEK_SET with a stop time of -1, use SEEK_NONE instead. 2007-02-21 Stefan Kost * gst/volume/gstvolume.c: (volume_process_int16), (volume_process_int16_clamp), (volume_set_caps): Unbreak volume, value remains gint. 2007-02-21 Stefan Kost * gst/volume/gstvolume.c: (volume_choose_func), (volume_update_real_volume), (gst_volume_set_volume), (gst_volume_init), (volume_process_double), (volume_process_float), (volume_process_int16), (volume_process_int16_clamp), (volume_set_caps), (volume_transform_ip), (volume_update_volume): * gst/volume/gstvolume.h: Extend float audio support (double) and some int->uint cleanups. 2007-02-20 Edward Hervey * gst/playback/gstdecodebin2.c: (gst_decode_bin_dispose), (multi_queue_underrun_cb), (gst_decode_group_check_if_drained), (sort_end_pads), (gst_decode_group_expose), (gst_decode_group_hide): Don't free groups from the streaming threads. Just put them aside and free them in dispose. 2007-02-20 Edward Hervey * gst/playback/gstdecodebin2.c: (connect_element), (pad_added_group_cb), (gst_decode_group_check_if_blocked), (sort_end_pads), (gst_decode_group_expose): Handle dynamic pads within groups. Sort pads before exposing them in order to make playbin happy. There still is a race with the multiqueue filling up. This should be solved separately. Fixes #398721 2007-02-16 Tim-Philipp Müller * gst-libs/gst/utils/base-utils.c: * gst-libs/gst/utils/descriptions.c: * gst-libs/gst/utils/install-plugins.c: * gst-libs/gst/utils/missing-plugins.c: Some more docs (and descriptions for two subtitle formats). 2007-02-16 Tim-Philipp Müller * gst-libs/gst/audio/audio.c: Fix documentation. 2007-02-16 Tim-Philipp Müller Patch by: Yves Lefebvre * gst/videorate/gstvideorate.c: (gst_video_rate_setcaps): Don't leak caps. Fixes #408278. 2007-02-15 Stefan Kost * ext/cdparanoia/gstcdparanoiasrc.h: * ext/ogg/gstoggdemux.h: * gst-libs/gst/audio/audio.c: (gst_audio_frame_byte_size), (gst_audio_frame_length), (gst_audio_duration_from_pad_buffer), (gst_audio_is_buffer_framed), (gst_audio_structure_set_int): * gst-libs/gst/audio/audio.h: * gst-libs/gst/audio/gstaudiofilter.h: * gst-libs/gst/interfaces/videoorientation.h: * gst/adder/gstadder.h: More docs coverage and some ChangeLog surgery (add missing names) 2007-02-15 Wim Taymans * sys/ximage/ximagesink.c: (gst_ximagesink_calculate_pixel_aspect_ratio): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_calculate_pixel_aspect_ratio): Small constifications. 2007-02-15 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_class_init), (gst_base_audio_sink_query), (gst_base_audio_sink_render), (gst_base_audio_sink_callback), (gst_base_audio_sink_async_play), (gst_base_audio_sink_change_state): Answer latency query. Use configured latency when syncing. Fix clock slaving. * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_class_init), (gst_base_audio_src_dispose), (gst_base_audio_src_query), (gst_base_audio_src_change_state): Fix possible memleak. Implement latency query. Small cleanups. 2007-02-15 Wim Taymans * ext/alsa/gstalsasink.c: (gst_alsasink_reset): Ignore errors in reset, these are not fatal. They also grab the element lock which is already taking when this function is called. Fixes #405451. 2007-02-13 Stefan Kost * configure.ac: Remove 'tests/examples/xerror/Makefile' from output files again. 2007-02-13 Stefan Kost * configure.ac: * docs/plugins/Makefile.am: Also crossref against gst-plugins-base-libs. 2007-02-12 Stefan Kost * configure.ac: * docs/libs/Makefile.am: * docs/plugins/Makefile.am: Add crossreferences to glib/gobject/gstream docs. * gst-libs/gst/audio/audio.h: Source formatting. * gst/audiotestsrc/gstaudiotestsrc.c: (plugin_init): Add own debug category. 2007-02-12 Tim-Philipp Müller Patch by: René Stadler * gst-libs/gst/tag/gstvorbistag.c: Add vorbis/FLAC-tag mapping for new GST_TAG_REFERENCE_LEVEL (#403597). 2007-02-10 Tim-Philipp Müller * gst/playback/gstplaybasebin.c: (setup_source): When we have external subtitles and wait for the subtitle decodebin to get up and running, we set up a (sync) bus handler for the subtitle decodebin, so we can stop waiting when it posts an error message. However, we should do that before we set the subtitle decodebin's state to playing, otherwise things are racy and we might miss error messages posted before we had a chance to set up the bus. This should finally fix totem hanging on .txt pseudo-subtitle files. 2007-02-10 Sébastien Moutte * gst-libs/gst/rtp/gstbasertpaudiopayload.c:(gst_base_rtp_audio_payload_handle_frame_based_buffer): Use gst_gdouble_to_guint64 for conversions. * win32/common/config.h.in: Add a define for GST_INSTALL_PLUGINS_HELPER * win32/common/libgstaudio.def: * win32/common/libgstcdda.def: * win32/common/libgstnetbuffer.def: * win32/common/libgstrtp.def: * win32/common/libgutils.def: Add new exported functions. * win32/vs6/gst_plugins_base.dsw: * win32/vs6/libgstdecodebin.dsp: * win32/vs6/libgstnetbuffer.dsp: * win32/vs6/libgstplaybin.dsp: * win32/vs6/libgstrtp.dsp: * win32/vs6/libgstvorbis.dsp: * win32/vs6/libgstcdda.dsp: * win32/vs6/libgstgdp.dsp: * win32/vs6/libgstutils.dsp: Update and add new project files. 2007-02-10 Tim-Philipp Müller * gst/subparse/gstsubparse.c: (subrip_remove_unhandled_tag), (subrip_remove_unhandled_tags), (parse_subrip): For SubRip (.srt) subtitles, ignore all markup tags we don't handle (like font tags, for example). * tests/check/elements/subparse.c: Add test for this. 2007-02-09 Tim-Philipp Müller * gst/playback/gstdecodebin.c: (add_fakesink), (gst_decode_bin_change_state): * gst/playback/gstdecodebin2.c: (add_fakesink), (gst_decode_bin_change_state): Don't error out if there is no fakesink in the NULL to READY state change, since when decodebin is re-used, we're only adding the fakesink element in READY to PAUSED. * tests/check/elements/decodebin.c: (new_decoded_pad_plug_fakesink_cb), (GST_START_TEST), (decodebin_suite): Minimal unit test to make sure we can use the same decodebin instance twice (at least with audiotestsrc input). 2007-02-09 Tim-Philipp Müller * ext/alsa/gstalsa.c: (gst_alsa_find_device_name): Try to get devic-name from device string first, and from handle only as fallback (seems to yield better results and is more robust against buggy probing code on the application side). 2007-02-08 Tim-Philipp Müller Based on patch by: Julien Puydt * ext/alsa/gstalsa.c: (gst_alsa_find_device_name_no_handle), (gst_alsa_find_device_name): * ext/alsa/gstalsa.h: * ext/alsa/gstalsasink.c: (gst_alsasink_get_property): * ext/alsa/gstalsasrc.c: (gst_alsasrc_get_property): Improve device-name detection a bit, especially in the case where the device is not actually open (#405020, #405024). Move common code into gstalsa.c instead of duplicating it. 2007-02-07 Tim-Philipp Müller * gst/audioconvert/gstaudioconvert.c: Fix up docs chunk so that gtk-doc doesn't complain, and fix typo. 2007-02-06 Julien MOUTTE * sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents), (gst_xvimagesink_get_xv_support), (gst_xvimagesink_xcontext_clear), (gst_xvimagesink_interface_supported), (gst_xvimagesink_probe_get_properties), (gst_xvimagesink_probe_probe_property), (gst_xvimagesink_probe_needs_probe), (gst_xvimagesink_probe_get_values), (gst_xvimagesink_property_probe_interface_init), (gst_xvimagesink_set_property), (gst_xvimagesink_get_property), (gst_xvimagesink_init), (gst_xvimagesink_class_init), (gst_xvimagesink_get_type): * sys/xvimage/xvimagesink.h: Implement PropertyProbe Interface for XVAdaptors so that one can choose the adaptor to use with gstreamer-properties. 2007-02-06 Stefan Kost * gst/audioconvert/gstaudioconvert.c: Also mention that a conversion from double to float is suboptimal still. 2007-02-06 Tim-Philipp Müller * gst-libs/gst/audio/gstaudiofilter.c: (gst_audio_filter_class_init), (gst_audio_filter_change_state): Clear our formats structure and free the caps contained in it when shutting down. 2007-02-05 Andy Wingo * gst-libs/gst/audio/gstbaseaudiosink.c (gst_base_audio_sink_callback): Update basesink->offset so that we pull monotonically increasing offsets instead of, um, seeking back to 0 each time. Fixes alsasrc ! alsasink! 2007-02-05 Tim-Philipp Müller * gst/videoscale/gstvideoscale.c: A width and height of 1 makes us crash, so increase minimum size to 2x2 pixels until someone feels like fixing this (#404512). 2007-02-04 Tim-Philipp Müller * tests/check/pipelines/oggmux.c: (GST_START_TEST), (oggmux_suite): Add small test to make sure request pads are cleaned up properly even if oggmux never changes state out of NULL. 2007-02-04 Tim-Philipp Müller * tests/check/libs/utils.c: (GST_START_TEST): Fix unit test. Turns out things work much better when you NULL-terminate string arrays. Should make p5 build bot happy again. 2007-02-03 Tim-Philipp Müller * gst-libs/gst/audio/Makefile.am: * gst-libs/gst/audio/gstaudiofiltertemplate.c: (gst_audio_filter_template_base_init), (gst_audio_filter_template_class_init), (gst_audio_filter_template_init), (gst_audio_filter_template_set_property), (gst_audio_filter_template_get_property), (gst_audio_filter_template_setup), (gst_audio_filter_template_filter), (gst_audio_filter_template_filter_inplace), (plugin_init): Oops, forgot to commit fixed-up example. 2007-02-03 Tim-Philipp Müller * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/audio/gstaudiofilter.c: (gst_audio_filter_get_type), (gst_audio_filter_class_init), (gst_audio_filter_init), (gst_audio_filter_set_caps), (gst_audio_filter_class_add_pad_templates): * gst-libs/gst/audio/gstaudiofilter.h: Port GstAudioFilter to 0.10. This change technically breaks API and ABI (and thus also every library developer's heart), but seems justifiable on the grounds that the base class was completely unusable before (ie. would crash immediately when actually used). Fixes #403963 (and eventually also #403572). Also document all of this a bit. 2007-02-03 Tim-Philipp Müller * gst-libs/gst/utils/install-plugins.c: (gst_install_plugins_spawn_child): * tests/check/libs/utils.c: (test_base_utils_install_plugins_do_callout): Lowering log level to see why things fail on the p5 build bot; fix some typos in unit test messages. 2007-02-03 Tim-Philipp Müller * tests/check/libs/utils.c: (test_base_utils_install_plugins_do_callout): Don't hard-code temp directory for test helper; use GLib functions to write out file and do error checking etc. 2007-02-02 Tim-Philipp Müller * gst-libs/gst/utils/Makefile.am: * gst-libs/gst/utils/base-utils.h: * gst-libs/gst/utils/install-plugins.c: (gst_install_plugins_context_set_xid), (gst_install_plugins_context_new), (gst_install_plugins_context_free), (gst_install_plugins_get_helper), (gst_install_plugins_spawn_child), (gst_install_plugins_return_from_status), (gst_install_plugins_installer_exited), (gst_install_plugins_async), (gst_install_plugins_sync), (gst_install_plugins_return_get_name), (gst_install_plugins_installation_in_progress): * gst-libs/gst/utils/install-plugins.h: API: add API for applications to initiate installation of missing plugins, ie. gst_install_plugins_async() primarily. Based on libgimme-codec by Ryan Lortie. * configure.ac: Add --with-install-plugins-helper configure option so distros can specify the path of the helper script or program to call when plugin installation is requested (distros: please do any argument munging in this helper script instead of patching GStreamer to pass arguments differently to another program directly). * docs/libs/gst-plugins-base-libs-docs.sgml: * docs/libs/gst-plugins-base-libs-sections.txt: Build and document new API. * tests/check/libs/utils.c: (result_cb), (test_base_utils_install_plugins_do_callout), (GST_START_TEST), (libgstbaseutils_suite): Some simple checks for the new API. 2007-02-02 Tim-Philipp Müller * tests/check/elements/audioconvert.c: (test_float_conversion): Add small test for 32bit float <=> 64bit float conversion (works only one way so far, 32=>64 produces structured noise). 2007-02-02 Tim-Philipp Müller * gst/audioconvert/gstaudioconvert.c: (set_structure_widths_32_and_64), (make_lossless_changes): We don't support floats with a width of 40, 48 or 56 bits. 2007-02-02 Stefan Kost * gst/audioconvert/audioconvert.c: (float), (double), (audio_convert_get_func_index): * gst/audioconvert/gstaudioconvert.c: (set_structure_widths), (make_lossless_changes): Support for 64-bit float audio in audioconvert (#339837) 2007-02-01 Tim-Philipp Müller Patch by: Holger Wansing * po/LINGUAS: * po/de.po: Add German translation (#352069). 2007-02-01 Sebastian Dröge reviewed by: Wim Taymans * ext/ogg/gstoggmux.c: (gst_ogg_mux_ogg_pad_destroy_notify), (gst_ogg_mux_request_new_pad), (gst_ogg_mux_release_pad): Use newly added GstCollectPads API to free the allocated resources in the GstOggPad structures (#402393). 2007-01-31 Jan Schmidt * gst/playback/gstplaybin.c: (gen_vis_element): Add audioresample+audioconvert in front of the visualisation element, so that elements like libvisual 0.4 that don't support all samplerates can work. Fixes: #402505 2007-01-30 Tim-Philipp Müller * gst/playback/gstplaybasebin.c: (gst_play_base_bin_get_property), (gst_play_base_bin_get_streaminfo_value_array): Take some locks and make a copy of the streaminfo value array we maintain while holding the lock, so that the application can retrieve the stream-info as a value array in a thread-safe way. 2007-01-30 Wim Taymans * gst/audioconvert/gstaudioconvert.c: Don't fail on 0 sized buffers. Fixes #396835. 2007-01-29 David Schleef * gst/typefind/gsttypefindfunctions.c: Detect BBCD as video/x-dirac, so we can play raw dirac streams. 2007-01-29 Tim-Philipp Müller * ext/theora/theoraenc.c: (theora_enc_chain): Check return value of theora_encode_header(), or we might try to allocate a random number of bytes. theora_encode_header() can fail if libtheora has been compiled with encoding support disabled. Fixes #398110. 2007-01-29 Wim Taymans * tests/check/gst/.cvsignore: Do as buildbot says. 2007-01-29 Wim Taymans * ext/libvisual/visual.c: (gst_visual_src_setcaps): Fix strides in libvisual. Gst uses X strides. Inspired by: and Fixes #401118. 2007-01-27 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_demux_submit_buffer), (gst_ogg_demux_get_data), (gst_ogg_demux_get_next_page), (gst_ogg_demux_get_prev_page), (gst_ogg_demux_do_seek), (gst_ogg_demux_perform_seek), (gst_ogg_demux_bisect_forward_serialno), (gst_ogg_demux_read_chain), (gst_ogg_demux_read_end_chain), (gst_ogg_demux_find_chains), (gst_ogg_demux_handle_page), (gst_ogg_demux_chain), (gst_ogg_demux_combine_flows), (gst_ogg_demux_loop_reverse), (gst_ogg_demux_loop): * ext/ogg/gstoggdemux.h: Properly propagate streaming errors when we are scanning the file for chains so that we don't crash when shut down. Might fix some crashers when quickly switching oggs in RB such as #332503 and #378436. 2007-01-26 Tim-Philipp Müller * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_start): Map a gnome-vfs HOST_NOT_FOUND error into a GStreamer NOT_FOUND error code as well. 2007-01-25 Wim Taymans * gst/playback/gstplaybasebin.c: (remove_source): Don't try to disconnect a signal from a finalized object. 2007-01-25 Tim-Philipp Müller * gst/playback/gstdecodebin2.c: (gst_decode_bin_dispose): Cast lock macro parameters to make sure we're actually accessing the lock member at the right class level. Free list itself in _dispose() as well and NULL it in case dispose gets called multiple times. 2007-01-25 Edward Hervey * gst/playback/gstdecodebin2.c: (gst_decode_bin_dispose),(gst_decode_bin_finalize): Free GstDecodeGroups no longer used. (gst_decode_group_expose): Don't unlock too many times ! (deactivate_free_recursive): Free iterator once we're done with it. Fix for recursively deactivating elements (stop at ghostpads). 2007-01-25 Tim-Philipp Müller * gst/playback/gstplaybin.c: (handoff): Fix up caps on the frame buffer before we save it and potentially make it accessible to other threads via g_object_get; also use gst_buffer_replace() instead of gst_mini_object_replace(). 2007-01-25 Tim-Philipp Müller * gst/playback/gstplaybin.c: (gst_play_bin_get_property): Make getting the current frame thread-safe. 2007-01-25 Edward Hervey * gst/playback/gstdecodebin2.c: (gst_decode_bin_finalize), (gst_decode_group_new), (gst_decode_group_free): Set queues to bigger sizes to cope with HD contents. Fix some mutex freeing and add comment about MT safe methods. 2007-01-24 Tim-Philipp Müller * ext/pango/gsttextoverlay.c: (gst_text_overlay_src_event), (gst_text_overlay_text_event): Don't unnecessarily ref (and then leak) upstream events if the text pad is not linked. Fixes #399948. * tests/check/gst-plugins-base.supp: Add suppression for pango on edgy/x86 for textoverlay test. 2007-01-24 Wim Taymans * gst-libs/gst/rtp/gstrtpbuffer.h: Add some more fixed payloads. 2007-01-23 Tim-Philipp Müller * ext/ogg/gstoggdemux.c: (gst_ogg_demux_read_chain): Error out properly if we get an error from libogg while reading the BOS page(s). Fixes crash parsing 'fuzzed' ogg file (#399340). 2007-01-23 Tim-Philipp Müller * gst/playback/gstdecodebin2.c: (gst_decode_bin_finalize): Don't leak mutex. * tests/check/elements/playbin.c: (test_sink_usage_video_only_stream), (test_suburi_error_unknowntype), (test_suburi_error_invalidfile), (test_suburi_error_wrongproto), (test_missing_urisource_handler), (test_missing_suburisource_handler), (test_missing_primary_decoder), (playbin_suite): Run all tests once with decodebin and once with decodebin2. One test does not pass yet with decodebin2. 2007-01-23 Edward Hervey * ext/ogg/gstoggmux.c: (all_pads_eos), (gst_ogg_mux_collected): Fix the cases where oggmux doesn't properly figure out that all sinkpads have gone EOS, and therefore doesn't push out the remaining buffers and the final EOS event. Fixes #363379 2007-01-23 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents): Don't lock on navigation event push, just on keysym to string. Fixes #397673 again. 2007-01-22 Edward Hervey * gst/playback/gstdecodebin2.c: (gst_decode_group_new), (get_current_group), (group_demuxer_event_probe), (gst_decode_group_expose), (deactivate_free_recursive), (gst_decode_group_free): Cleanups. Don't forget to emit 'no-more-pads' once a group is exposed. Cleanup elements from a DecodeGroup once we remove it. Protect call to gst_decode_group_expose() with the decodebin lock. 2007-01-22 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents): Looking at Xorg code i can't figure out if that XKeysymToString function is thread sensible or not. Lock it just in case as recommended by Radek Doulik . 2007-01-22 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents): Lock that X Call as well. Fixes #397673. 2007-01-22 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (mpeg4_video_type_find): Don't go into an endless loop if the file starts with 00 00 01 2X, like quicktime redirect files might. Fixes #396042. * tests/check/Makefile.am: * tests/check/gst/.cvsignore: * tests/check/gst/typefindfunctions.c: (GST_START_TEST), (typefindfunctions_suite): Add unit test for the above. 2007-01-22 Tim-Philipp Müller * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps): On second thought, use "depth" field rather than "bpp" field. 2007-01-22 Tim-Philipp Müller * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps): Camtasia caps apparently need a bpp field (#398875). 2007-01-19 Tim-Philipp Müller * gst/playback/gstplaybasebin.c: (setup_subtitle), (gen_source_element), (gst_play_base_bin_change_state): Attempt at a better error message in case we don't have the required URI handler installed; post missing-plugin message also when we're missing an URI handler for the subtitle URI; clean up properly also when an error occurs and we never made it to PAUSED state. * tests/check/elements/playbin.c: (GST_START_TEST), (playbin_suite): Check that we're also getting a missing-plugin messsage for a missing subtitle URI handler (and clean up properly). 2007-01-19 Tim-Philipp Müller * gst/playback/gstplaybasebin.c: (analyse_source), (setup_source): Plug a few reference leaks. 2007-01-19 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (mpeg2_sys_type_find): Lower probability a bit if the marker isn't right at the start, to decrease the chance of false positives. 2007-01-19 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (mpeg2_sys_type_find): Small mpeg2 system stream typefinding improvement: make typefinder probe a bit into the stream instead of just looking for a marker at the beginning. Fixes #397810. 2007-01-18 Tim-Philipp Müller * gst/audioconvert/gstchannelmix.c: Remove compatibility cruft for prehistoric GLib versions. 2007-01-17 Tim-Philipp Müller * gst/playback/Makefile.am: * gst/playback/gstdecodebin.c: (close_pad_link): * gst/playback/gstdecodebin2.c: (analyze_new_pad): * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init), (gst_play_base_bin_handle_message_func), (unknown_type): Let decodebin be the element to post missing-plugin messages for missing decoders (rather than playbin); make playbin implement GstBin::handle_message so we can suppress missing-plugin messages for types we're not handling on purpose (don't want to bring up an installer in those cases). 2007-01-16 Tim-Philipp Müller * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps): * gst-libs/gst/tag/gstvorbistag.c: (gst_tag_list_to_vorbiscomment_buffer): * gst/typefind/gsttypefindfunctions.c: (vorbis_type_find): Fix potentially unaligned access (#397207). 2007-01-16 Stefan Kost * tests/examples/seek/seek.c: (set_scale), (update_scale), (do_seek), (stop_seek), (pause_cb), (stop_cb), (loop_toggle_cb), (rate_spinbutton_changed_cb), (msg_eos), (msg_segment_done), (main): Allow to toggle looping while it plays. Fix callback prototype. Clean up code a bit more. Add copyright header. 2007-01-16 Stefan Kost * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support): Red and blue mask was swapped (spotted by Dan Williams). 2007-01-15 Stefan Kost * gst-libs/gst/tag/gstid3tag.c: * gst-libs/gst/tag/gstvorbistag.c: Use new beats-per-minute tag from core. 2007-01-15 Tim-Philipp Müller * po/POTFILES.in: Add new files with translatable strings, so they actually make it into the template file one day. 2007-01-12 Andy Wingo * gst-libs/gst/audio/gstbaseaudiosink.c (gst_base_audio_sink_fixate): Implement, stolen from baseaudiosrc. (gst_base_audio_sink_activate_pull): Remove the handwavey nego stuff, as the base class handles this now. Actually tell the ring buffer to start. (gst_base_audio_sink_callback): Cast the ring buffer correctly. How did this work before? Maybe I'm not as awesome a programmer as I think. * gst-libs/gst/audio/gstbaseaudiosrc.c (gst_base_audio_src_fixate): Rework as a basesrc vmethod instead of a pad function. 2007-01-12 Tim-Philipp Müller * gst-libs/gst/utils/missing-plugins.c: (copy_and_clean_caps): Remove more fields so that the application can better blacklist formats that have been tried before. 2007-01-12 Tim-Philipp Müller * gst-libs/gst/audio/mixerutils.h: Add G_BEGIN_DECLS and G_END_DECLS guards so these helpers can be used when compiling with c++ compilers as well. 2007-01-12 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: Fix comment. 2007-01-11 Tim-Philipp Müller * gst/playback/gstplaybin.c: (post_missing_element_message), (gen_video_element), (gen_text_element), (gen_audio_element), (gen_vis_element): Post missing-plugin messages also when we error out because converters, textoverlay or auto*sinks are missing (#161922). 2007-01-10 Wim Taymans * gst/playback/gstdecodebin.c: (dynamic_add), (close_pad_link), (is_demuxer_element), (new_caps): * gst/playback/gstplaybasebin.c: (source_new_pad): Fix the case where we try to ref a NULL element when we delay a link because of unfixed caps. Set the state of autoplugged decodebins to PAUSED. RTSP now works in playbin, we can remove it from the blacklist. 2007-01-09 Tim-Philipp Müller * gst/playback/Makefile.am: * gst/playback/gstplaybasebin.c: (string_arr_has_str), (unknown_type), (setup_subtitle), (gen_source_element): * gst/playback/gstplaybin.c: (plugin_init): Post missing-plugin messages on the bus for missing sources and missing decoders/demuxers/depayloaders; fix error code used when we're missing an URI handler source; for media types that we are not handling on purpose at the moment, don't print "don't know how to handle xyz" messages to the terminal or post missing-plugin messages on the bus. * tests/check/elements/playbin.c: (create_playbin), (GST_START_TEST), (gst_codec_src_uri_get_type), (gst_codec_src_uri_get_protocols), (gst_codec_src_uri_get_uri), (gst_codec_src_uri_set_uri), (gst_codec_src_uri_handler_init), (gst_codec_src_init_type), (gst_codec_src_base_init), (gst_codec_src_create), (gst_codec_src_class_init), (gst_codec_src_init), (plugin_init), (playbin_suite): Add some tests for the missing-plugin stuff. 2007-01-09 Tim-Philipp Müller * configure.ac: * gst-libs/gst/Makefile.am: * gst-libs/gst/utils/Makefile.am: * gst-libs/gst/utils/base-utils.c: (gst_base_utils_init): * gst-libs/gst/utils/base-utils.h: * gst-libs/gst/utils/descriptions.c: (format_info_get_desc), (find_format_info), (caps_are_rtp_caps), (gst_base_utils_get_source_description), (gst_base_utils_get_sink_description), (gst_base_utils_get_decoder_description), (gst_base_utils_get_encoder_description), (gst_base_utils_get_element_description), (gst_base_utils_add_codec_description_to_tag_list), (gst_base_utils_get_codec_description), (gst_base_utils_list_all): * gst-libs/gst/utils/descriptions.h: * gst-libs/gst/utils/missing-plugins.c: (missing_structure_get_type), (copy_and_clean_caps), (gst_missing_uri_source_message_new), (gst_missing_uri_sink_message_new), (gst_missing_element_message_new), (gst_missing_decoder_message_new), (gst_missing_encoder_message_new), (missing_structure_get_string_detail), (missing_structure_get_caps_detail), (gst_missing_plugin_message_get_installer_detail), (gst_missing_plugin_message_get_description), (gst_is_missing_plugin_message): * gst-libs/gst/utils/missing-plugins.h: API: add new libgstbaseutils library with functions - to create and parse missing-plugins messages - that provide (translated) descriptions for caps/decoders/sources/etc. Closes #392393. * pkgconfig/gstreamer-plugins-base-uninstalled.pc.in: * pkgconfig/gstreamer-plugins-base.pc.in: Add new lib. * docs/libs/gst-plugins-base-libs-docs.sgml: * docs/libs/gst-plugins-base-libs-sections.txt: Generate docs for new lib and API. * tests/check/Makefile.am: * tests/check/libs/.cvsignore: * tests/check/libs/utils.c: (missing_msg_check_getters), (GST_START_TEST), (libgstbaseutils_suite): Add some basic unit tests. 2007-01-09 Tim-Philipp Müller * ext/ogg/Makefile.am: Dist gstoggdemux.h to fix 'make distcheck'. * sys/v4l/Makefile.am: Fix 'make distcheck' even more. 2007-01-09 Wim Taymans * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/gst-plugins-base-plugins-sections.txt: * ext/ogg/gstoggdemux.c: (gst_ogg_page_copy), (gst_ogg_page_free), (gst_ogg_pad_query_types), (gst_ogg_pad_submit_page), (gst_ogg_chain_reset), (gst_ogg_chain_new_stream), (gst_ogg_demux_perform_seek): * ext/ogg/gstoggdemux.h: Added docs. Add some more comments. Small cleanups. 2007-01-09 Wim Taymans * ext/theora/theoradec.c: * ext/vorbis/vorbisdec.c: * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_commit_full): * gst-libs/gst/audio/gstringbuffer.h: * gst-libs/gst/rtp/gstrtpbuffer.c: * gst-libs/gst/tag/gstvorbistag.c: Small documentation updates/fixes 2007-01-09 Tim-Philipp Müller * configure.ac: Require core CVS HEAD for Andy's basesrc/sink API additions. 2007-01-08 Tim-Philipp Müller Patch by: Günter Thelen * gst/typefind/gsttypefindfunctions.c: (flac_type_find), (plugin_init): Add typefinder for flac-in-ogg in conformance with the ogg-mapping on flac.sf.net (there appear to be other versions of the first ogg page in the wild) (#391365). 2007-01-08 Tim-Philipp Müller * configure.ac: Check if localtime_r() is available. * ext/pango/gstclockoverlay.c: (gst_clock_overlay_render_time): If localtime_r() is not available, fall back to localtime(). Should fix build on MingW (#393310). 2007-01-08 Tim-Philipp Müller * gst/subparse/gstsubparse.c: (parse_mdvdsub): * gst/subparse/gstsubparse.h: Remove spurious 1000 subtrahend when calculating the timestamp from the frame number and the frame rate . Also, use the frames/second value specified in the first line of the file, if one is specified there. Should fix #357503. * tests/check/elements/subparse.c: (do_test), (test_tmplayer_do_test), (test_microdvd_do_test), (GST_START_TEST), (subparse_suite): Add some basic unit tests for the microdvd subtitle format. 2007-01-07 Julien MOUTTE * sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy), (gst_xvimage_buffer_finalize), (gst_xvimagesink_xvimage_new), (gst_xvimagesink_xvimage_put), (gst_lookup_xv_port_from_adaptor), (gst_xvimagesink_get_xv_support), (gst_xvimagesink_setcaps), (gst_xvimagesink_set_xwindow_id), (gst_xvimagesink_set_event_handling), (gst_xvimagesink_set_property), (gst_xvimagesink_get_property), (gst_xvimagesink_init), (gst_xvimagesink_class_init): Patch by : Young-Ho Cha Fixes : #390076. Add an adaptor property to select a specific XV adaptor. * sys/xvimage/xvimagesink.h: 2007-01-07 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximage_buffer_finalize), (gst_ximagesink_handle_xerror), (gst_ximagesink_ximage_new), (gst_ximagesink_ximage_destroy), (gst_ximagesink_ximage_put), (gst_ximagesink_handle_xevents), (gst_ximagesink_setcaps), (gst_ximagesink_change_state), (gst_ximagesink_set_xwindow_id), (gst_ximagesink_expose), (gst_ximagesink_set_event_handling): * sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy), (gst_xvimage_buffer_finalize), (gst_xvimagesink_handle_xerror), (gst_xvimagesink_xvimage_new), (gst_xvimagesink_xvimage_put), (gst_xvimagesink_handle_xevents), (gst_xvimagesink_setcaps), (gst_xvimagesink_change_state), (gst_xvimagesink_set_xwindow_id), (gst_xvimagesink_expose), (gst_xvimagesink_set_event_handling): Use flow_lock much more to protect every access to xwindow. Try to catch erros while creating images in case some drivers are just generating an XError when the requested image is too big. Should fix : #354698, #384008, #384060. * tests/icles/stress-xoverlay.c: (cycle_window), (create_window): Implement some stress testing of setting window xid. 2007-01-07 Sébastien Moutte * win32/common/libgsaudio.def: Add new exported function. * win32/common/libgstogg.dsp: Add gstoggaviparse.c to the build. * win32/common/libgstvideoscale.dsp: Add vs_4tap.c to the build. * win32/common/libgstvorbis.dsp: Add vorbistag.c to the build. 2007-01-06 Andy Wingo * gst-libs/gst/audio/gstbaseaudiosink.c (gst_base_audio_sink_class_init) (gst_base_audio_sink_init): (gst_base_audio_sink_activate_pull): Add an activate_pull function to baseaudiosink, and tell basesink that we can work in pull mode. This way the ring buffer thread drives the pipeline directly, if pull mode is possible. There is some lingering nastiness regarding capsnego, however. (gst_base_audio_sink_callback): Implement the callback to pull data. This interface is a bit light, though -- it should get a GstFlowReturn return value at least. 2007-01-05 Tim-Philipp Müller * ext/ogg/gstoggdemux.c: (gst_ogg_pad_stream_out): * ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet): * gst/playback/gstdecodebin2.c: (gst_decode_group_check_if_blocked): Printf format and missing argument fixes. 2007-01-05 Jan Schmidt * ext/ogg/gstogmparse.c: (gst_ogm_parse_stream_header), (gst_ogm_parse_change_state): Activate pads before adding them to the element. 2007-01-05 Tim-Philipp Müller * tests/examples/seek/scrubby.c: (main): * tests/examples/seek/seek.c: (main): Call g_thread_init() first thing in main() (see #391278). 2007-01-05 Tim-Philipp Müller * tests/check/Makefile.am: * tests/check/libs/.cvsignore: * tests/check/libs/netbuffer.c: (GST_START_TEST), (netbuffer_suite): Add test for GstNetBuffer + gst_buffer_copy(). Disabled for the time being, since it's broken, see #393099. 2007-01-05 Tim-Philipp Müller * tests/check/Makefile.am: Update to use GST_PLUGINS_BASE_CFLAGS as well. 2007-01-04 Thomas Vander Stichele * configure.ac: split out GST_CFLAGS into GST_PLUGINS_BASE_CFLAGS and GST_CFLAGS so that GST_BASE_CFLAGS can go inbetween them, making sure we use uninstalled gst-libs headers * docs/libs/Makefile.am: * ext/alsa/Makefile.am: * ext/cdparanoia/Makefile.am: * ext/gnomevfs/Makefile.am: * ext/libvisual/Makefile.am: * ext/ogg/Makefile.am: * ext/theora/Makefile.am: * ext/vorbis/Makefile.am: * gst-libs/gst/audio/Makefile.am: * gst-libs/gst/cdda/Makefile.am: * gst-libs/gst/interfaces/Makefile.am: * gst-libs/gst/riff/Makefile.am: * gst-libs/gst/rtp/Makefile.am: * gst-libs/gst/tag/Makefile.am: * gst/adder/Makefile.am: * gst/audioconvert/Makefile.am: * gst/audiorate/Makefile.am: * gst/audioresample/Makefile.am: * gst/playback/Makefile.am: * gst/tcp/Makefile.am: * gst/videoscale/Makefile.am: * gst/volume/Makefile.am: * sys/ximage/Makefile.am: * sys/xvimage/Makefile.am: * tests/icles/Makefile.am: adapt 2007-01-04 Julien MOUTTE * gst-libs/gst/interfaces/xoverlay.c: (gst_x_overlay_handle_events): * gst-libs/gst/interfaces/xoverlay.h: * sys/ximage/ximagesink.c: (gst_ximagesink_xwindow_new), (gst_ximagesink_set_xwindow_id), (gst_ximagesink_set_event_handling), (gst_ximagesink_xoverlay_init), (gst_ximagesink_set_property), (gst_ximagesink_get_property), (gst_ximagesink_init), (gst_ximagesink_class_init): * sys/ximage/ximagesink.h: * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xwindow_new), (gst_xvimagesink_set_xwindow_id), (gst_xvimagesink_set_event_handling), (gst_xvimagesink_xoverlay_init), (gst_xvimagesink_set_property), (gst_xvimagesink_get_property), (gst_xvimagesink_init), (gst_xvimagesink_class_init): * sys/xvimage/xvimagesink.h: * tests/icles/stress-xoverlay.c: (toggle_events), (create_window): Add a method to the XOverlay interface to allow disabling of event handling in x[v]imagesink elements. This will let X events propagate to parent windows which can be usefull in some cases. Be carefull that the application is then responsible of pushing navigation events and expose events to the video sink. Fixes: #387138. 2007-01-03 Tim-Philipp Müller * gst-libs/gst/tag/gstvorbistag.c: * tests/check/libs/tag.c: (GST_START_TEST): Add vorbistag <=> GStreamer tag mapping for GST_TAG_LOCATION (fixes #392070). 2007-01-01 Tim-Philipp Müller * configure.ac: * docs/Makefile.am: * docs/design/Makefile.am: Dist design docs. 2006-12-27 Julien MOUTTE * docs/libs/gst-plugins-base-libs-sections.txt: Fix a documentation typo. Fixes: #390063. 2006-12-27 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_setcaps): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_setcaps): Plug a caps leak. * win32/common/config.h: Updated. 2006-12-22 Stefan Kost * tests/check/elements/gdpdepay.c: (cleanup_gdpdepay), (setup_gdpdepay_streamheader): * tests/check/elements/gdppay.c: (cleanup_gdppay), (setup_gdppay_streamheader): Fix the dp tests, but activating the pads for the streamheader tests too and cleaning up conditionaly 2006-12-22 Jan Schmidt * gst/ffmpegcolorspace/avcodec.h: * gst/ffmpegcolorspace/gstffmpegcodecmap.c: (gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_to_pixfmt), (gst_ffmpegcsp_avpicture_fill): * gst/ffmpegcolorspace/imgconvert.c: (img_convert), (img_get_alpha_info): Add 2 new caps arrangements, for 24-bit RGB and BGR in 32-bits, but at the other end of the word. Fixes: #387073. Add some inconsequential branch hints in a couple of places. 2006-12-21 Tim-Philipp Müller * gst/ffmpegcolorspace/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_smpfmt): The "signed" field in raw audio caps is of boolean type, trying to extract the value with _get_int() will fail (fix to keep in sync with the copy in gst-ffmpeg) 2006-12-21 Stefan Kost * tests/check/elements/audioresample.c: (cleanup_audioresample): * tests/check/elements/audiotestsrc.c: (cleanup_audiotestsrc): * tests/check/elements/gdpdepay.c: (setup_gdpdepay), (cleanup_gdpdepay): * tests/check/elements/gdppay.c: (setup_gdppay), (cleanup_gdppay): * tests/check/elements/subparse.c: (teardown_subparse): * tests/check/elements/textoverlay.c: (cleanup_textoverlay): * tests/check/elements/videorate.c: (cleanup_videorate): * tests/check/elements/videotestsrc.c: (cleanup_videotestsrc): * tests/check/elements/volume.c: (cleanup_volume): * tests/check/elements/vorbisdec.c: (setup_vorbisdec), (cleanup_vorbisdec): * tests/check/elements/vorbistag.c: (setup_vorbistag), (cleanup_vorbistag): consistent pad (de)activation 2006-12-20 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (plugin_init): Forgot to register the extensions. 2006-12-20 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (vivo_type_find), (plugin_init): Add typefinder for VIVO files (my christmas present to the 90s). 2006-12-16 Tim-Philipp Müller * gst/playback/gstdecodebin.c: (type_found): Special-case the text/plain media type: we only want to recognise it as a 'raw' decoded media type if it comes from a demuxer or subtitle parser, but not if the entire stream is of text/plain type. If the entire stream is text/plain, we should just error out. This fixes playback of audio files with lyrics in totem. Totem can't distinguish between text files and subtitle files and passes any .txt file with the same basename as the main file to playbin as suburi, and playbin will then throw a 'subtitle found, but no video stream' error, which isn't entirely helpful. See #380342. Also, with this change we'll show a slightly more correct error message in case totem passes a playlist file to us (although a custom error message wording instead of the default text would probably not be a bad idea either). Same problem also needs to be fixed for playbin+decodebin2. * tests/check/Makefile.am: * tests/check/elements/decodebin.c: (src_handoff_cb), (decodebin_new_decoded_pad_cb), (GST_START_TEST), (decodebin_suite): Add simple unit test for decodebin for the above. 2006-12-16 Tim-Philipp Müller * gst/playback/gstdecodebin.c: (gst_decode_bin_change_state): * gst/playback/gstdecodebin2.c: (gst_decode_bin_change_state): Refuse to change state to READY when we failed to create any of the required elements in our instance init function. 2006-12-15 Tim-Philipp Müller * docs/libs/gst-plugins-base-libs-sections.txt: Small docs fixes/updates. * gst-libs/gst/video/gstvideosink.h: Remove nonfunctional GST_VIDEO_SINK_CLOCK macro which is a leftover from the 0.9 days (GST_BASE_SINK_CLOCK, which it points to, was removed from the base sink API between 0.9.6 and 0.9.7). API: add GST_VIDEO_SINK_CAST and use it for the height/width accessor macros, so we don't do a runtime GObject type check every time we use them. 2006-12-15 Thomas Vander Stichele * Makefile.am: * gst-plugins-base.doap: * gst-plugins-base.spec.in: add doap file 2006-12-09 Tim-Philipp Müller Patch by: Jens Granseuer * gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_create): * gst-libs/gst/rtp/gstbasertpaudiopayload.c: (gst_base_rtp_audio_payload_handle_frame_based_buffer), (gst_base_rtp_audio_payload_handle_sample_based_buffer): * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_fixate): Declare variables at the beginning of a block. Fixes #383195. 2006-12-07 Jan Schmidt * configure.ac: Bump version nano - back to CVS. === release 0.10.11 === 2006-12-06 Jan Schmidt * configure.ac: releasing 0.10.11, "Dumb things" 2006-12-05 Jan Schmidt * gst/playback/gstdecodebin.c: (find_dynamic), (dynamic_add), (close_pad_link), (elem_is_dynamic), (unlinked), (close_link): Handle the case where an element has multiple pads with unfixed caps as well as still possibly producing more dynamic pads by storing each case as a distinct entry in the dynamic list. Fixes #38223 again. 2006-12-04 Wim Taymans * gst/playback/gstdecodebin.c: (close_pad_link): Fix #382223, add more dynamic caps handling. 2006-12-04 Wim Taymans reviewed by: * gst-libs/gst/audio/gstringbuffer.h: * gst-libs/gst/netbuffer/gstnetbuffer.c: (gst_netbuffer_init), (gst_netaddress_set_ip4_interface), (gst_netaddress_set_ip6_interface), (gst_netaddress_set_loopback), (gst_netaddress_set_ttl), (gst_netaddress_get_ip4_interface), (gst_netaddress_get_ip6_interface), (gst_netaddress_get_loopback), (gst_netaddress_get_ttl): * gst-libs/gst/netbuffer/gstnetbuffer.h: * gst/playback/gstdecodebin.c: (close_pad_link): * tests/examples/seek/seek.c: (end_scrub), (end_seek), (do_seek), (seek_cb), (stop_seek), (rate_spinbutton_changed_cb): * win32/common/config.h: 2006-12-01 Michael Smith * gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain): Delete bad debug code. Fixes #381219 2006-12-01 Jan Schmidt * gst/videoscale/vs_4tap.c: * win32/MANIFEST: * win32/common/config.h: * win32/vs8/libgstvideoscale.vcproj: Fix compilation on win32 under VS8 Patch by: Sergey Scobich Partially fixes #381175 2006-11-30 Michael Smith * tests/check/pipelines/theoraenc.c: (check_buffer_granulepos), (GST_START_TEST): It would be very bad if, after a discont buffer, we thought every single following buffer was also discont. So, add to the test to ensure that this isn't the case. * ext/theora/theoraenc.c: (theora_enc_is_discontinuous): ... it was the case. So fix it. 2006-11-28 Wim Taymans * gst/playback/gstplaybasebin.c: (check_queue_event): Improve debug. * gst/videoscale/gstvideoscale.c: (gst_video_scale_transform_caps): Fix width and height range from 16 - 4096 to 1 - MAXINT, just like the padtemplate caps. Refixes #357577. 2006-11-28 Wim Taymans * gst/playback/gstplaybasebin.c: (check_queue_event), (queue_threshold_reached), (queue_out_of_data), (gen_preroll_element): Add event probe to see when EOS is in a queue and we can disable the underrun signals. Fixes #357577. 2006-11-28 Edward Hervey * gst/playback/Makefile.am: * gst/playback/gstdecodebin2.c: (gst_decode_bin_get_type), (_gst_boolean_accumulator), (gst_decode_bin_class_init), (gst_decode_bin_factory_filter), (compare_ranks), (print_feature), (gst_decode_bin_init), (gst_decode_bin_dispose), (gst_decode_bin_finalize), (gst_decode_bin_set_property), (gst_decode_bin_get_property), (gst_decode_bin_set_caps), (gst_decode_bin_get_caps), (gst_decode_bin_autoplug_continue), (gst_decode_bin_autoplug_sort), (analyze_new_pad), (connect_pad), (connect_element), (expose_pad), (type_found), (pad_added_group_cb), (pad_removed_group_cb), (no_more_pads_group_cb), (pad_added_cb), (pad_removed_cb), (no_more_pads_cb), (find_compatibles), (is_demuxer_element), (are_raw_caps), (multi_queue_overrun_cb), (multi_queue_underrun_cb), (gst_decode_group_new), (get_current_group), (group_demuxer_event_probe), (gst_decode_group_control_demuxer_pad), (gst_decode_group_control_source_pad), (gst_decode_group_check_if_blocked), (gst_decode_group_check_if_drained), (gst_decode_group_expose), (gst_decode_group_hide), (gst_decode_group_free), (gst_decode_group_set_complete), (source_pad_blocked_cb), (source_pad_event_probe), (gst_decode_pad_new), (add_fakesink), (remove_fakesink), (find_sink_pad), (gst_decode_bin_change_state), (plugin_init): New decodebin2 element. Closes #370092 * gst/playback/gstplay-marshal.list: Added marshallers for new signals in decodebin2 * gst/playback/gstplaybasebin.c: (setup_subtitle), (make_decoder): Use decodebin2 if *and only if* the USE_DECODEBIN2 environment variable is set. 2006-11-28 Wim Taymans * gst/playback/gstplaybasebin.c: (setup_source), (gst_play_base_bin_change_state): Disable rtsp:// uris for the release, it's not good enough yet. Remove unused var. 2006-11-26 Wim Taymans * ext/theora/theoradec.c: (gst_theora_dec_reset), (theora_dec_push_forward), (theora_dec_push_reverse), (theora_handle_data_packet), (theora_dec_decode_buffer), (theora_dec_flush_decode), (theora_dec_chain_reverse), (theora_dec_chain_forward), (theora_dec_chain): Implement reverse playback. * ext/vorbis/vorbisdec.c: (gst_vorbis_dec_reset), (vorbis_dec_decode_buffer), (vorbis_dec_flush_decode), (vorbis_dec_chain_forward): Clear buffers used for reverse playback in _reset. No need to set the eos flag, we clip samples using the segment. 2006-11-24 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_page_copy), (gst_ogg_page_free), (gst_ogg_pad_init), (gst_ogg_pad_dispose), (gst_ogg_pad_reset), (gst_ogg_pad_stream_out), (gst_ogg_pad_submit_page), (gst_ogg_chain_reset), (gst_ogg_demux_perform_seek): Some cleanups. Handle continued pages in reverse mode. 2006-11-24 Wim Taymans * ext/vorbis/vorbisdec.c: (vorbis_dec_push_forward), (vorbis_handle_data_packet), (vorbis_dec_decode_buffer), (vorbis_dec_flush_decode): Small cleanups. Don't try to add invalid timestamps. Clipping will unref the buffer. 2006-11-24 Stefan Kost * gst/adder/gstadder.h: * gst/audiotestsrc/gstaudiotestsrc.h: remove obsolete _factory_init protos 2006-11-24 Stefan Kost * sys/xvimage/xvimagesink.c: (gst_xvimagesink_buffer_alloc): Fix spacing in debug message. 2006-11-23 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_page), (gst_ogg_demux_chain): Don't just ignore return values from _pad_push(). Small debug improvements. 2006-11-23 Michael Smith * ext/ogg/gstoggmux.c: (gst_ogg_mux_process_best_pad): If our incoming buffer is marked as DISCONT, then increment the page number (so that the discontinuity is marked in the final ogg bitstream) and flush the previous page. 2006-11-22 Michael Smith * ext/theora/gsttheoraenc.h: * ext/theora/theoraenc.c: (gst_theora_enc_init), (theora_enc_reset), (theora_enc_clear), (theora_enc_sink_setcaps), (theora_buffer_from_packet), (theora_enc_is_discontinuous), (theora_enc_chain), (theora_enc_change_state): Mark discontinuities of > 3/4 of a frame, reinit encoder. * tests/check/pipelines/theoraenc.c: (check_buffer_granulepos), (GST_START_TEST), (theoraenc_suite): Enable discontinuity test, fix it. 2006-11-21 Tim-Philipp Müller * ext/pango/gsttextoverlay.c: (gst_text_overlay_init), (gst_text_overlay_text_pad_unlink), (gst_text_overlay_text_event), (gst_text_overlay_video_event), (gst_text_overlay_pop_text), (gst_text_overlay_text_chain), (gst_text_overlay_video_chain), (gst_text_overlay_change_state): * ext/pango/gsttextoverlay.h: Some textoverlay fixes: for one, in the video chain function, actually wait for a text buffer to come in if there is none at the moment and there should be one; also, deal more gracefully with incoming buffers that do not have a timestamp or duration; discard text buffer when not needed any longer. Fixes #341681. * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * tests/check/elements/textoverlay.c: (notgst_check_setup_src_pad2), (notgst_check_teardown_src_pad2), (setup_textoverlay), (buffer_is_all_black), (create_black_buffer), (create_text_buffer), (cleanup_textoverlay), (GST_START_TEST), (test_video_waits_for_text_send_text_newsegment_thread), (test_video_waits_for_text_shutdown_element), (test_render_continuity_push_video_buffers_thread), (textoverlay_suite): Add some unit tests for textoverlay. 2006-11-21 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset): Avoid integer underflow when the found probability for mp3 is smaller than the 'penalty' we subtract if there's not a clean mp3 header sync at offset 0. 2006-11-21 Stefan Kost * docs/libs/gst-plugins-base-libs-sections.txt: Add some new symbols to the docs 2006-11-20 Tim-Philipp Müller * tests/check/Makefile.am: * tests/check/elements/ffmpegcolorspace.c: (ffmpegcolorspace_suite): Enable ffmpegcolorspace test now that the RGBA32 issue is fixed (for now not for valgrinding though, since it takes too long). 2006-11-20 Wim Taymans * gst/ffmpegcolorspace/gstffmpegcodecmap.c: (gst_ffmpeg_pixfmt_to_caps): Fix RGBA32 caps. Fixes #357038. 2006-11-20 Tim-Philipp Müller * gst-libs/gst/interfaces/mixertrack.h: Add FIXME so we can add some padding here in 0.11 2006-11-19 Tim-Philipp Müller * gst-libs/gst/rtp/gstbasertpaudiopayload.h: Fix GstBaseRTPAudioPayload structure so the whole GObject inheritance business actually works (parent class instance structure must always come first in the derived class instance structure). 2006-11-16 Tim-Philipp Müller * gst/videotestsrc/Makefile.am: * tests/check/Makefile.am: Make sure our checks and the videotestsrc plugin link against the local uninstalled gst libs and not any installed gst libs that might happen to exist as well. * tests/check/elements/adder.c: (message_received), (test_event_message_received), (test_play_twice_message_received): * tests/check/elements/ffmpegcolorspace.c: (GST_START_TEST): Fix compiler warnings when compiling against core with disabled debugging system. 2006-11-16 Michael Smith * gst/audiorate/gstaudiorate.c: (gst_audio_rate_reset), (gst_audio_rate_sink_event), (gst_audio_rate_chain): Fix audiorate, so that it accurately sets offsets and timestamps. Doesn't change the fundamental algorithmic decisions; so should be safe. * tests/check/Makefile.am: Enable audiorate test now that it passes. 2006-11-09 Stefan Kost * sys/xvimage/xvimagesink.c: (gst_xvimagesink_change_state): clear xv when going to NULL, remove // commented non-existant proto * tests/examples/seek/seek.c: (main): add missing tooltip description for scrub and play_scrub 2006-11-14 David Schleef * configure.ac: Bump liboil requirement to 0.3.8. * gst-libs/gst/riff/riff-media.c: Add Dirac fourcc. * gst/videoscale/vs_image.h: * gst/videoscale/vs_scanline.h: Use liboil's stdint.h. * gst/videotestsrc/videotestsrc.c: Remove liboil related ifdef's, since they aren't needed now, and won't work with future versions. 2006-11-14 David Schleef * gst/videoscale/Makefile.am: * gst/videoscale/gstvideoscale.c: * gst/videoscale/gstvideoscale.h: * gst/videoscale/vs_4tap.c: * gst/videoscale/vs_4tap.h: * gst/videoscale/vs_image.c: * gst/videoscale/vs_image.h: * gst/videoscale/vs_scanline.c: * gst/videoscale/vs_scanline.h: Add a 4-tap image scaler. Theoretically looks much prettier. The tap calculation could use some improvement. 2006-11-14 Wim Taymans Patch by: Jan David Mol * gst-libs/gst/riff/riff-read.c: (gst_riff_parse_strf_auds), (gst_riff_parse_strf_iavs): * gst/subparse/gstsubparse.c: (convert_encoding): * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_handle_client_write): * gst/tcp/gsttcp.c: (gst_tcp_socket_write), (gst_tcp_socket_read), (gst_tcp_read_buffer), (gst_tcp_gdp_read_caps), (gst_tcp_gdp_write_buffer), (gst_tcp_gdp_write_caps): * gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_render): * sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls), (gst_ximagesink_ximage_new): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new): Various gsize and gssize printf fixes. Fixes #372507. 2006-11-13 Wim Taymans * ext/vorbis/vorbisdec.c: (vorbis_dec_sink_event), (vorbis_dec_push_forward), (vorbis_dec_push_reverse), (vorbis_handle_data_packet), (vorbis_dec_decode_buffer), (vorbis_dec_flush_decode), (vorbis_dec_chain_reverse), (vorbis_dec_chain_forward), (vorbis_dec_chain): * ext/vorbis/vorbisdec.h: First stab at vorbis reverse playback. 2006-11-13 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_event), (gst_base_audio_sink_render): * gst-libs/gst/audio/gstbaseaudiosink.h: Make the clock sync code more accurate wrt resampling and playback at different rates. * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_commit_full), (gst_ring_buffer_commit): * gst-libs/gst/audio/gstringbuffer.h: Use better algorithm to interpolate sample rates. 2006-11-13 Michael Smith * ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_page): Improve a debug line slightly. * ext/ogg/gstogmparse.c: (gst_ogm_parse_plugin_init): Call gst_riff_init() in plugin_init, to avoid getting errors from the debug system (unrelated changes to another plugin made this turn up; not sure why). 2006-11-10 Tim-Philipp Müller Patch by: Sergey Scobich * win32/common/libgsttag.def: Add missing symbol (#366492). 2006-11-09 Tim-Philipp Müller * gst/playback/gststreamselector.c: (gst_stream_selector_dispose): Don't unref a NULL pad. 2006-11-09 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_page), (gst_ogg_demux_get_prev_page), (gst_ogg_demux_perform_seek), (gst_ogg_demux_handle_page), (gst_ogg_demux_chain), (gst_ogg_demux_loop_forward), (gst_ogg_demux_loop_reverse), (gst_ogg_demux_loop): Implement first stab at reverse playback. 2006-11-07 Stefan Kost * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps), (gst_riff_create_video_template_caps): add h263/h264 variants to the caps, Fixes #363118 2006-11-06 Tim-Philipp Müller * gst-libs/gst/audio/gstaudiosink.c: (audioringbuffer_thread_func): * gst-libs/gst/audio/gstaudiosrc.c: (audioringbuffer_thread_func): Use g_strerror instead of strerror so we get UTF-8. 2006-11-03 David Schleef * ext/ogg/gstoggdemux.c: * ext/ogg/gstoggmux.c: Add/remove KW-DIRAC header here, since it is ogg-specific. 2006-11-03 Michael Smith * gst/typefind/gsttypefindfunctions.c: (mpeg4_video_type_find): Recognise more mpeg4 elementary video streams. 2006-11-02 Edward Hervey * gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset): Lower the probability of mp3 typefinding functions if we don't find a valid mp3 header at the start of the file. Closes #369482 2006-11-02 Wim Taymans * ext/theora/gsttheoradec.h: * ext/theora/theoradec.c: (gst_theora_dec_init), (theora_dec_sink_event), (theora_dec_chain_forward), (theora_dec_flush_decode), (theora_dec_chain_reverse), (theora_dec_chain): Document and partially implement an algorithm for doing reverse playback of theora video. 2006-11-02 Tim-Philipp Müller Patch by: Sergey Scobich * win32/common/config.h: * win32/common/interfaces-enumtypes.c: * win32/common/libgsttag.def: * win32/vs8/gst-plugins-base.sln: * win32/vs8/libgstaudioresample.vcproj: * win32/vs8/libgstinterfaces.vcproj: * win32/vs8/libgstogg.vcproj: * win32/vs8/libgstriff.vcproj: * win32/vs8/libgsttag.vcproj: * win32/vs8/libgsttheora.vcproj: * win32/vs8/libgstvideoscale.vcproj: * win32/vs8/libgstvorbis.vcproj: Misc. VS8 build fixes: fix syntax in config.h, add missing entries to libgsttag.def; add missing dependencies for some vs8 projects; re-arrange placement of .def files in vs8 projects (#366334). 2006-11-01 Tim-Philipp Müller * ext/ogg/gstogg.c: Remove unused variable. * ext/ogg/gstoggdemux.c: Fix Wim's surname in plugin description. 2006-10-31 Wim Taymans * gst-plugins-base.spec.in: spec new .h file. Fixes #368310. 2006-10-31 Michael Smith * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_add_full), (gst_multi_fd_sink_remove), (gst_multi_fd_sink_clear), (gst_multi_fd_sink_get_stats), (gst_multi_fd_sink_remove_client_link), (gst_multi_fd_sink_queue_buffer), (gst_multi_fd_sink_handle_clients): * gst/tcp/gstmultifdsink.h: Make using the remove or clear signals threadsafe. Make calling get-stats with an invalid fd not segfault. Fixes 368273. 2006-10-31 Wim Taymans * gst-libs/gst/rtp/Makefile.am: * gst-libs/gst/rtp/gstbasertpaudiopayload.c: (gst_base_rtp_audio_payload_init): Fix and activate base audio payloader. 2006-10-28 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (qtif_type_find), (plugin_init): Add typefinder for QuickTime Image Files (see #366156). 2006-10-28 Tim-Philipp Müller * gst/audioresample/gstaudioresample.c: (gst_audioresample_init): Another typo fix (#366212). 2006-10-27 Wim Taymans * gst/volume/gstvolume.c: (volume_transform_ip): Use stream time to synchronize volume property instead of rather random timestamps. This is needed when gnonlin does its time shifting. 2006-10-27 Wim Taymans Patch by: Mark Nauwelaerts * ext/ogg/gstoggmux.c: (gst_ogg_mux_release_pad): Remove the pad from the element in release_pad. Fixes #364812. 2006-10-27 Tim-Philipp Müller * sys/ximage/ximagesink.c: (gst_ximagesink_get_type): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_type): Explicitly create our custom buffer classes at a thread-safe location as well, since g_type_class_ref() doesn't seem to be entirely thread-safe either (#365501; also see #349410). 2006-10-26 Tim-Philipp Müller * gst-libs/gst/riff/riff-read.c: (freeform_string_to_utf8), (gst_riff_parse_info): If strings in INFO chunk are not UTF-8, do something similar to what we do for ID3v1 tags: check a number of environment variables (GST_AVI_TAG_ENCODING, GST_RIFF_TAG_ENCODING, GST_TAG_ENCODING) for character sets to try, otherwise try the current locale and/or fall back on ISO-8859-1. Fixes #360552. 2006-10-23 Tim-Philipp Müller * gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_pattern_get_type), (gst_video_test_src_set_pattern): * gst/videotestsrc/gstvideotestsrc.h: * gst/videotestsrc/videotestsrc.c: (gst_video_test_src_checkers1), (gst_video_test_src_checkers2), (gst_video_test_src_checkers4), (gst_video_test_src_checkers8): * gst/videotestsrc/videotestsrc.h: Add a bunch of exciting new checkers patterns. 2006-10-23 Tim-Philipp Müller * gst/subparse/Makefile.am: * gst/subparse/gstsubparse.c: (gst_sub_parse_data_format_autodetect), (gst_sub_parse_format_autodetect), (handle_buffer), (gst_sub_parse_chain), (gst_subparse_type_find), (plugin_init): * gst/subparse/gstsubparse.h: * gst/subparse/tmplayerparse.c: (tmplayer_parse_line), (parse_tmplayer): * gst/subparse/tmplayerparse.h: Add support for TMPlayer-type subtitles (#362845). * tests/check/elements/subparse.c: (test_tmplayer_do_test), (GST_START_TEST), (subparse_suite): Add some basic unit tests for the above. 2006-10-23 Tim-Philipp Müller * tests/check/elements/audiorate.c: (test_injector_base_init), (test_injector_class_init), (test_injector_chain), (test_injector_init), (probe_cb), (do_perfect_stream_test), (GST_START_TEST), (audiorate_suite): More tests for audiorate: inject buffers to check behaviour when buffers overlap. 2006-10-21 Tim-Philipp Müller * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * tests/check/elements/audiorate.c: (probe_cb), (got_buf), (do_perfect_stream_test), (GST_START_TEST), (audiorate_suite): Add some basic unit tests for audiorate. Disabled at the moment since it doesn't pass yet (see bug #363119). 2006-10-20 Tim-Philipp Müller * gst/subparse/gstsubparse.c: (subrip_fix_up_markup), (parse_subrip), (handle_buffer): Add missing closing tags for markup and fix broken markup, otherwise pango won't render anything (fixes #357531). Also, make sure the text we send out is always NUL-terminated (better safe than sorry etc.). * tests/check/elements/subparse.c: (test_srt_do_test), (test_srt): Some more tests for .srt incl. tests for the above stuff. 2006-10-20 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_ximage_put): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_put): Patch by: Stefan Kost Try to redraw borders only when needed. Apparently this consumes resources on small devices... :-O (#363607) 2006-10-20 Michael Smith * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_client_queue_buffer): If caps change, then update the client's idea of the caps so that we don't end up re-sending streamheaders for every single buffer after the caps change. 2006-10-20 Michael Smith * ext/ogg/gstoggparse.c: (gst_ogg_parse_dispose), (gst_ogg_parse_append_header), (gst_ogg_parse_chain): Set caps on pushed buffers; fix up refcounting of caps objects. 2006-10-19 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (mmsh_type_find), (plugin_init): Typefind mmsh header data packet to application/x-mmsh (#362625). 2006-10-19 Tim-Philipp Müller * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * tests/check/elements/subparse.c: (buffer_from_static_string), (setup_subparse), (teardown_subparse), (test_srt_do_test), (GST_START_TEST), (subparse_suite): Add very simple unit test for subparse. 2006-10-19 Tim-Philipp Müller * gst/subparse/gstsubparse.c: (strip_trailing_newlines), (parse_subrip): Strip trailing newlines from subtitle text output. 2006-10-18 Tim-Philipp Müller * gst/subparse/gstsubparse.c: (gst_sub_parse_dispose), (gst_sub_parse_change_state): Fix memleak; clear subparse->textbuf n state change function. 2006-10-18 Tim-Philipp Müller * gst/subparse/gstsubparse.c: (gst_sub_parse_data_format_autodetect): Don't require subrip (.srt) files to start with a chunk number of 1. 2006-10-18 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_event), (gst_base_audio_sink_render): * gst-libs/gst/audio/gstbaseaudiosink.h: Extract rate from the NEWSEGMENT event. Use commit_full to also take rate adjustment into account when writing samples to the ringbuffer. * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_commit_full), (gst_ring_buffer_commit), (gst_ring_buffer_read): * gst-libs/gst/audio/gstringbuffer.h: Added _commit_full() to also take rate into account. Use simple interpolation algorithm to resample audio. API: gst_ring_buffer_commit_full() * tests/examples/seek/scrubby.c: (speed_cb), (do_seek): * tests/examples/seek/seek.c: (segment_done): Don't try to seek with 0.0 rate, just pause instead. Remove bogus debug line. 2006-10-18 Tim-Philipp Müller * gst/playback/gstplaybasebin.c: (subbin_startup_sync_msg), (setup_source): Catch async errors when starting up the subtitle bin, so we can stop waiting and continue with the main film instead of hanging forever. Fixes #339366. * tests/check/elements/playbin.c: (playbin_suite): Enable unit test for the above. 2006-10-18 Tim-Philipp Müller * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * tests/check/elements/playbin.c: (GST_START_TEST), (gst_red_video_src_uri_get_type), (gst_red_video_src_uri_get_protocols), (gst_red_video_src_uri_get_uri), (gst_red_video_src_uri_set_uri), (gst_red_video_src_uri_handler_init), (gst_red_video_src_init_type), (gst_red_video_src_base_init), (gst_red_video_src_create), (gst_red_video_src_class_init), (gst_red_video_src_init), (plugin_init), (playbin_suite): Some small and basic unit tests for playbin; not very useful yet, but at least a start. 2006-10-18 Tim-Philipp Müller * gst/playback/gstplaybin.c: (setup_sinks): The old pad activation spiel. 2006-10-18 Tim-Philipp Müller * gst/playback/gstplaybasebin.c: (setup_source): Don't hang forever if the subbin already fails to start up in the state change to PAUSED (#339366). 2006-10-17 Tim-Philipp Müller * gst-libs/gst/interfaces/tuner.c: (gst_tuner_list_channels), (gst_tuner_set_channel), (gst_tuner_get_channel), (gst_tuner_list_norms), (gst_tuner_set_norm), (gst_tuner_get_norm), (gst_tuner_set_frequency), (gst_tuner_get_frequency), (gst_tuner_signal_strength), (gst_tuner_find_norm_by_name), (gst_tuner_find_channel_by_name): Fix some function guards, add some more function guards. 2006-10-17 Jan Schmidt * gst/playback/gstdecodebin.c: (get_our_ghost_pad), (remove_element_chain): Don't return a pad from get_our_ghost_pad unless it is actually the one we want. Change a cast in remove_element_chain slightly. 2006-10-13 Julien MOUTTE * tests/examples/seek/seek.c: (do_seek), (start_seek), (rate_spinbutton_changed_cb), (segment_done), (msg_state_changed): Segment seeking needs to use the rate and set stop to -1. 2006-10-13 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_setcaps): Don't crash when ringbuffer is not yet created. Patch by: Ville Syrjala Fixes #361634. * gst/playback/gstplaybasebin.c: (new_decoded_pad_full): * gst/playback/gststreamselector.c: (gst_stream_selector_request_new_pad): Activate pads befre adding them to running elements. 2006-10-13 Julien MOUTTE * tests/examples/seek/seek.c: (do_seek), (start_seek), (rate_spinbutton_changed_cb), (msg_state_changed): Stop the scale updater when we start grabing the slider. Don't wait for the pipeline to be PAUSED. 2006-10-13 Tim-Philipp Müller * gst-libs/gst/interfaces/mixer.c: (gst_mixer_list_tracks), (gst_mixer_set_volume), (gst_mixer_get_volume), (gst_mixer_set_mute), (gst_mixer_set_option), (gst_mixer_get_option), (gst_mixer_mute_toggled), (gst_mixer_record_toggled), (gst_mixer_volume_changed), (gst_mixer_option_changed): Guard mixer interface functions against bogus arguments. 2006-10-12 Julien MOUTTE * tests/examples/seek/seek.c: (do_seek), (start_seek), (stop_seek), (play_cb), (pause_cb), (stop_cb), (rate_spinbutton_changed_cb), (msg_state_changed), (main): Use state-changed messages to trigger start/stop of scale update timer. Indeed the scale slider was jumping here and there because the update timer was activated before seek completed. This fixes instant applying of rate changes by pressing the spinbutton like a crazy man ! 2006-10-12 Tim-Philipp Müller Patch by: Sebastien Cote * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_init), (gst_basertppayload_finalize): Fix two small memory leaks (#361456). 2006-10-10 Julien MOUTTE * tests/examples/seek/seek.c: (do_seek), (rate_spinbutton_changed_cb): When changing spinbutton we try to change the rate on the fly. 2006-10-10 Wim Taymans * gst-libs/gst/riff/riff-ids.h: * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps), (gst_riff_create_audio_template_caps): Add WMS caps. 2006-10-10 Zaheer Abbas Merali Patch by: Josep Torre Valles * ext/gnomevfs/gstgnomevfssink.c: * ext/gnomevfs/gstgnomevfssrc.c: Fix URI interface implementation return type. * ext/pango/gsttextoverlay.c: (gst_text_overlay_set_property): Fix what looks like a copy/paste issue when assigning values. * gst-libs/gst/audio/gstaudiofiltertemplate.c: (gst_audio_filter_template_get_type): Cast to prevent Forte warnings. * gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_create): Fix URI interface implementation return type. gst_pad_query_position requires a signed integer pointer as 3rd parameter, GstClockTime is unsigned. * gst/audioconvert/audioconvert.c: Fix integer overflow when treated as signed. * gst/audioresample/resample.c: (resample_add_input_data): Cast to prevent warnings on Forte. * gst/ffmpegcolorspace/imgconvert.c: (build_rgb_palette): Fix integer overflow when treated as signed. * gst/ffmpegcolorspace/imgconvert_template.h: Fix integer overflow when treated as signed. RGBA_OUT shifts bits. * gst/playback/gstdecodebin.c: (queue_filled_cb), (cleanup_decodebin): Who initialises a guint to -1! Cast function pointers to prevent warnings on Forte. * gst/playback/gstplaybasebin.c: (queue_deadlock_check), (queue_threshold_reached): Cast function pointers correctly to prevent warnings on Forte. * gst/playback/gststreaminfo.c: (gst_stream_info_dispose): Cast function pointers correctly to prevent warnings on Forte. * gst/subparse/gstssaparse.c: (gst_ssa_parse_setcaps): Obvious change to unsigned, 0xEF > max signed char. * gst/tcp/gstmultifdsink.c: (get_buffers_max), (count_burst_unit): GstClockTime is unsigned, initialise correctly. * gst/tcp/gsttcp.c: (gst_tcp_socket_write): Cast so pointer arithemetic doesn't cause warnings on Forte. * gst/videorate/gstvideorate.c: Use correct return value. * tests/examples/seek/scrubby.c: GstClockTime is unsigned, initialise correctly. 2006-10-10 Tim-Philipp Müller Patch by: Ferenc Gerlits * gst/typefind/gsttypefindfunctions.c: Recognise XML files and XML-like files shorter than 256 bytes as well (fixes #359237). 2006-10-09 Edgard Lima Patch by: Renato Filho * gst/typefind/gsttypefindfunctions.c: Added typefind functions to video/x-nuv media. 2006-10-08 Tim-Philipp Müller * gst-libs/gst/interfaces/xoverlay.c: (gst_x_overlay_set_xwindow_id), (gst_x_overlay_expose): Some more guards against invalid input. 2006-10-07 Julien MOUTTE * ext/pango/gsttextoverlay.c: (gst_text_overlay_text_event): Useless goto. * tests/examples/seek/seek.c: (do_seek), (rate_spinbutton_changed_cb), (main): Add a rate spinbutton in seek example to experiment with rates != 1.0 (reverse playback !) 2006-10-06 Stefan Kost * gst-libs/gst/interfaces/xoverlay.c: Unref message in doc-example (spotted by Robert McQueen) 2006-10-06 Wim Taymans * gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset), (mpeg1_parse_header), (mpeg1_sys_type_find): printf fix. 2006-10-06 Wim Taymans * gst/playback/gstdecodebin.c: (gst_decode_bin_init), (close_pad_link): * gst/playback/gstplaybasebin.c: (new_decoded_pad_full): Activate dynamic pads before adding them to the element. 2006-10-06 Michael Smith * gst-libs/gst/floatcast/floatcast.h: Fix obviously-bogus macros; use the correct types. 2006-10-06 Wim Taymans * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_change_state): Also call parent state change function to activate pads. * gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset), (mpeg1_parse_header), (mpeg1_sys_type_find): Add some more debug info in mpeg typefinding. 2006-10-06 Michael Smith * ext/theora/theoradec.c: (theora_dec_chain): Zero byte theora packets are valid and well-defined; don't warn on them. 2006-10-06 Thomas Vander Stichele * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init), (gst_multi_fd_sink_get_stats), (find_limits), (gst_multi_fd_sink_queue_buffer): API: add dropped_buffers to the get-stats GValueArray 2006-10-05 Tim-Philipp Müller * ext/alsa/gstalsadeviceprobe.c: (gst_alsa_device_property_probe_get_values): * ext/alsa/gstalsasink.c: (set_hwparams): * ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain_elem_pad), (gst_ogg_chain_new_stream), (gst_ogg_demux_read_chain): * ext/ogg/gstoggmux.c: (gst_ogg_mux_send_headers), (gst_ogg_mux_process_best_pad): * ext/ogg/gstoggparse.c: (gst_ogg_parse_new_stream), (gst_ogg_parse_chain): * ext/ogg/gstogmparse.c: (gst_ogm_parse_stream_header): * ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet): * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_setup), (gst_vorbis_enc_buffer_check_discontinuous): * ext/vorbis/vorbisparse.c: (vorbis_parse_src_query): * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_render): * gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_handle_track_seek): * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_push_full): * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_push): * gst/audioresample/resample.c: (resample_input_pushthrough): * gst/playback/gstplaybasebin.c: (queue_out_of_data): * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_handle_clients): * gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset), (wavpack_type_find): * gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_create): * sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy), (gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_new): * tests/check/elements/volume.c: (GST_START_TEST): Printf format fixes. 2006-10-04 Thomas Vander Stichele * gst/tcp/gsttcp.c: (gst_tcp_gdp_read_caps): Fix a simple mistake (see the docs) Fixes #359580 2006-10-03 Tim-Philipp Müller * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/gst-plugins-base-plugins-sections.txt: * docs/plugins/gst-plugins-base-plugins.args: * docs/plugins/gst-plugins-base-plugins.hierarchy: * docs/plugins/inspect/plugin-adder.xml: * docs/plugins/inspect/plugin-alsa.xml: * docs/plugins/inspect/plugin-audioconvert.xml: * docs/plugins/inspect/plugin-audiorate.xml: * docs/plugins/inspect/plugin-audioresample.xml: * docs/plugins/inspect/plugin-audiotestsrc.xml: * docs/plugins/inspect/plugin-cdparanoia.xml: * docs/plugins/inspect/plugin-decodebin.xml: * docs/plugins/inspect/plugin-ffmpegcolorspace.xml: * docs/plugins/inspect/plugin-gdp.xml: * docs/plugins/inspect/plugin-gnomevfs.xml: * docs/plugins/inspect/plugin-libvisual.xml: * docs/plugins/inspect/plugin-ogg.xml: * docs/plugins/inspect/plugin-pango.xml: * docs/plugins/inspect/plugin-playbin.xml: * docs/plugins/inspect/plugin-subparse.xml: * docs/plugins/inspect/plugin-tcp.xml: * docs/plugins/inspect/plugin-theora.xml: * docs/plugins/inspect/plugin-typefindfunctions.xml: * docs/plugins/inspect/plugin-video4linux.xml: * docs/plugins/inspect/plugin-videorate.xml: * docs/plugins/inspect/plugin-videoscale.xml: * docs/plugins/inspect/plugin-videotestsrc.xml: * docs/plugins/inspect/plugin-volume.xml: * docs/plugins/inspect/plugin-vorbis.xml: * docs/plugins/inspect/plugin-ximagesink.xml: * docs/plugins/inspect/plugin-xvimagesink.xml: Add vorbistag element to docs; update version numbers to 0.10.10.1. 2006-10-03 Tim-Philipp Müller Patch by: James "Doc" Livingston * ext/vorbis/Makefile.am: * ext/vorbis/vorbis.c: (plugin_init): * ext/vorbis/vorbisparse.c: (gst_vorbis_parse_class_init), (vorbis_parse_parse_packet), (vorbis_parse_chain): * ext/vorbis/vorbisparse.h: * ext/vorbis/vorbistag.c: (gst_vorbis_tag_base_init), (gst_vorbis_tag_class_init), (gst_vorbis_tag_init), (gst_vorbis_tag_parse_packet): * ext/vorbis/vorbistag.h: Add new vorbistag element which derives from vorbisparse and is essentially the same as well, only that it implements the GstTagSetter interface and can modify the stream's vorbiscomment on the fly (#335635). * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * tests/check/elements/vorbistag.c: (setup_vorbistag), (cleanup_vorbistag), (buffer_probe), (start_pipeline), (get_buffer), (stop_pipeline), (_create_codebook_header_buffer), (_create_audio_buffer), (GST_START_TEST), (vorbistag_suite): Add unit test for new vorbistag element. 2006-10-03 Tim-Philipp Müller * ext/vorbis/vorbisparse.c: (gst_vorbis_parse_init), (vorbis_parse_push_headers), (vorbis_parse_chain): Set BOS flag in packet structure to fix 'jump depends on unitialized value' errors in valgrind; various minor clean-ups. 2006-09-30 Jan Schmidt * gst/playback/gstdecodebin.c: (close_pad_link): Fix typo in a debug statement. * gst/playback/gstplaybasebin.c: (probe_triggered), (new_decoded_pad_full), (new_decoded_pad), (subs_new_decoded_pad), (gen_source_element), (source_new_pad), (analyse_source), (setup_source): When handling no_more_pads in new_decoded_pad, make sure to treat subtitle pads correctly. Fixes playback with subtitle files. Move a recurring message to LOG level. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support): The maximum value for the Xv colorkey on this Radeon is 0xFFFFFFFF, which ends up as -1 when cast to an int. Make the logic handle the max value as an unsigned mask and only change the colorkey when it's a value we recognise. 2006-09-29 Philippe Kalaf * gst-libs/gst/rtp/gstbasertpaudiopayload.c: Removed empty * between paragraphs 2006-09-29 Philippe Kalaf * gst-libs/gst/rtp/gstbasertpaudiopayload.c: * gst-libs/gst/rtp/README: Moved some documentation into .c file 2006-09-29 Wim Taymans * gst/playback/gstdecodebin.c: (no_more_pads): Fix compilation. 2006-09-29 Wim Taymans * gst/playback/gstdecodebin.c: (new_caps): Remove g_print * gst/playback/gstplaybin.c: Add some docs. 2006-09-29 Tim-Philipp Müller * tests/check/Makefile.am: Re-enable cddabasesrc test to see if it works again now. 2006-09-29 Wim Taymans * gst/playback/gstplaybasebin.c: (setup_subtitle), (gen_source_element): Handle invalid URIs a bit more gracefully. 2006-09-29 Tim-Philipp Müller * tests/check/pipelines/oggmux.c: Remove obsolete comment. 2006-09-29 Michael Smith * ext/ogg/gstoggmux.c: (gst_ogg_mux_request_new_pad), (gst_ogg_mux_release_pad), (gst_ogg_mux_push_buffer), (gst_ogg_mux_compare_pads), (gst_ogg_mux_queue_pads), (gst_ogg_mux_send_headers), (gst_ogg_mux_process_best_pad), (gst_ogg_mux_collected): Commit patch from James "Doc" Livingston, adds proper EOS handling in oggmux. GStreamer can, for the first time ever, create a valid Ogg file! Yay! * tests/check/pipelines/oggmux.c: (check_chain_final_state), (oggmux_suite): Reenable tests now that they pass. 2006-09-29 Wim Taymans * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_handle_clients): Stop reading commands when EOF (we read 0) as well. 2006-09-28 Wim Taymans * gst/playback/gstdecodebin.c: (dynamic_create), (dynamic_free), (close_pad_link), (dynamic_remove), (no_more_pads), (new_caps), (find_dynamic), (unlinked), (close_link): Implement delayed caps linking needed for element with a lot of different caps on the src pads that get fixed at runtime. Improve management of dynamic elements. * gst/playback/gstplaybasebin.c: (gst_play_base_bin_init), (group_destroy), (group_commit), (check_queue), (queue_overrun), (gen_preroll_element), (remove_groups), (unknown_type), (add_element_stream), (no_more_pads_full), (no_more_pads), (sub_no_more_pads), (source_no_more_pads), (preroll_unlinked), (new_decoded_pad), (setup_subtitle), (array_has_value), (gen_source_element), (source_new_pad), (has_all_raw_caps), (analyse_source), (remove_decoders), (make_decoder), (remove_source), (setup_source), (finish_source), (prepare_output), (gst_play_base_bin_change_state): * gst/playback/gstplaybasebin.h: Use more _CAST instead of full type checking casts. Small cleanups, plug some leaks. Handle dynamic sources. Add some helper functions to create lists of strings used for blacklisting and other stuff. Refactor some code dealing with analysing the source. Re-enable sources without pads (like cd:// or other selfcontained elements). 2006-09-28 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_render): When we have a timestamp, we can still perform clipping. When we have no clock, we must play the sample ASAP. 2006-09-28 Wim Taymans * gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain): Set caps on outgoing buffers. * gst/videorate/gstvideorate.c: (gst_video_rate_flush_prev), (gst_video_rate_event), (gst_video_rate_chain): * gst/videorate/gstvideorate.h: Fix videorate some more. Fixes #357977 2006-09-28 Tim-Philipp Müller * tests/check/elements/adder.c: (adder_suite): Don't set timeout to 6 seconds when we're running in valgrind ... (and how is 6 seconds longer than the default anyway?) 2006-09-28 Wim Taymans * gst/audiorate/gstaudiorate.c: (gst_audio_rate_reset), (gst_audio_rate_sink_event), (gst_audio_rate_convert), (gst_audio_rate_convert_segments), (gst_audio_rate_chain): Keep sink and src segment to keep track of time and support more input formats. Fix bogus next_offset and run_time calculation, don't understand how this could have worked before. Fixes #357976. Remove some unneeded vars. 2006-09-28 Tim-Philipp Müller * gst/playback/gstplaybin.c: (remove_sinks): Only remove visualisation from visbin if there is a visbin (or: don't throw warnings when closing totem without playing a file). 2006-09-27 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_render): Add some more info in a WARNING. * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_create): Handle PAUSE in create function, use new -core addition to wait for playing. Fixes pausing and resuming capture from an audiosrc. * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_commit), (gst_ring_buffer_read): Constify some more. Caller supports interrupted reads now. 2006-09-27 Tim-Philipp Müller * tests/check/Makefile.am: Another attempt to make the gen64 buildbot happy. 2006-09-27 Stefan Kost Patch by: Jonathan Matthew * ext/libvisual/visual.c: (gst_visual_clear_actors), (gst_visual_chain), (gst_visual_change_state): Libvisual plugin was not passing audio data to libvisual 0.4.0 correctly. Fixes #357800 2006-09-27 Tim-Philipp Müller * tests/check/pipelines/simple-launch-lines.c: (run_pipeline): Add timeout to _get_state() so we see which pipeline it is that causes trouble on the gen64 build bot. 2006-09-27 Wim Taymans * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_init), (gst_base_rtp_depayload_push_full), (gst_base_rtp_depayload_push_ts), (gst_base_rtp_depayload_process), (gst_base_rtp_depayload_set_gst_timestamp): the source pad always uses fixed caps. 2006-09-27 Wim Taymans * docs/libs/gst-plugins-base-libs-docs.sgml: * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/audio/gstaudioclock.c: * gst-libs/gst/audio/gstaudioclock.h: * gst-libs/gst/audio/gstaudiosink.c: * gst-libs/gst/audio/gstaudiosink.h: * gst-libs/gst/audio/gstaudiosrc.c: * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_render): * gst-libs/gst/audio/gstbaseaudiosink.h: * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_init): * gst-libs/gst/audio/gstbaseaudiosrc.h: * gst-libs/gst/audio/gstringbuffer.h: Added docs for the audio libs. 2006-09-27 Tim-Philipp Müller * tests/check/Makefile.am: Temporarily disable test that fails on the bots for unknown reasons. 2006-09-26 Philippe Kalaf * gst-libs/gst/rtp/gstbasertpaudiopayload.c: * gst-libs/gst/rtp/gstbasertpaudiopayload.h: Moved AudioCodecType into priv Renamed all gst_basertpaudiopayload to gst_base_rtp_audio_payload prefixes 2006-09-25 Wim Taymans * gst/playback/gstdecodebin.c: (gst_decode_bin_factory_filter), (add_fakesink), (remove_fakesink), (pad_probe), (close_pad_link), (is_demuxer_element), (try_to_link_1), (get_our_ghost_pad), (new_pad): Cleanups and small leak fixes. Added Depayloaders to valid list of autopluggable elements. 2006-09-25 Wim Taymans * gst/playback/gstplaybin.c: (gst_play_bin_class_init), (gst_play_bin_vis_blocked), (gst_play_bin_set_property), (gen_video_element), (gen_text_element), (gen_audio_element), (gen_vis_element), (remove_sinks), (add_sink), (setup_sinks), (gst_play_bin_set_clock_func), (gst_play_bin_change_state): Detect NO_PREROLL state change returns and disable clock distribution to the sinks so that sync is disabled. Avoid some type checking and do simple casts instead. Small cleanups, fix some FIXMEs. Be more robust when linking user specified elements, catch an report errors. Fixes #357404. Fix some leaks in the error paths. 2006-09-25 Stefan Kost * ChangeLog: ChangeLog surgery for missing bug-number 2006-09-25 Tim-Philipp Müller Patch by: Peter Kjellerstedt * gst/playback/test.c: Fix compilation with uClibc and -Werror (#357591). 2006-09-25 Tim-Philipp Müller * gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add): Parse dates that are followed by a time as well (#357532). * tests/check/libs/tag.c: (test_vorbis_tags): Add unit test for this. 2006-09-23 Tim-Philipp Müller * gst/audioconvert/gstaudioconvert.c: (make_lossless_changes), (gst_audio_convert_transform_caps): * gst/videotestsrc/videotestsrc.c: (gst_video_test_src_unicolor): * gst/videotestsrc/videotestsrc.h: A few array const-ifications. 2006-09-23 Tim-Philipp Müller * tests/check/Makefile.am: See if this makes the build bots happy. * tests/check/libs/cddabasesrc.c: UTF8-ise my name. 2006-09-23 Tim-Philipp Müller Patch by: Young-Ho Cha * gst/subparse/samiparse.c: (handle_start_font), (fix_invalid_entities): More case-insensitivity for certain tags; recognise entities with decimal codes as special entities as well (#357330). 2006-09-23 Tim-Philipp Müller * gst-libs/gst/Makefile.am: Need to build tag directory before cdda. 2006-09-23 Tim-Philipp Müller * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/cdda/Makefile.am: * gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_base_init): * gst-libs/gst/cdda/gstcddabasesrc.h: * gst-libs/gst/tag/tag.h: * gst-libs/gst/tag/tags.c: (gst_tag_register_tags_internal), (gst_tag_register_musicbrainz_tags): Move GST_TAG_CDDA_* tags into libgsttag and make libgstcddabasesrc depend on libgsttag. This is required so we can extract/read tags like DISCID without depending on libgstcddabasesrc (which used to register them). * gst-libs/gst/tag/gstvorbistag.c: Add vorbiscomment mapping for CDDB_DISCID and MUSICBRAINZ_DISCID tags (also see #347848). * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_metadata_set1): Log vorbis comments we are actually writing. Const-ify array. 2006-09-23 Wim Taymans * gst/playback/gstplaybasebin.c: (gen_preroll_element): Improve buffering a bit by avoiding a deadlock because we cannot assume the underrun is always called. 2006-09-23 Wim Taymans Patch by: Young-Ho Cha * gst-libs/gst/riff/riff-ids.h: * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps), (gst_riff_create_audio_template_caps): Added MPEG-4 AAC and id and caps. Fixes #357289 Added WMA9 Lossless id. 2006-09-22 Tim-Philipp Müller * ext/gnomevfs/gstgnomevfssrc.c: Fix misleading docs addition. * tests/check/elements/videotestsrc.c: (check_rgb_buf): Get rid of compiler warning the right way. 2006-09-22 Wim Taymans * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_finalize), (gst_base_rtp_depayload_setcaps), (gst_base_rtp_depayload_chain), (gst_base_rtp_depayload_push_full), (gst_base_rtp_depayload_push_ts), (gst_base_rtp_depayload_push), (gst_base_rtp_depayload_process), (gst_base_rtp_depayload_set_gst_timestamp), (gst_base_rtp_depayload_queue_release): * gst-libs/gst/rtp/gstbasertpdepayload.h: Small cleanups. Fix some leaks. Refactored the process method and added methods to push from the process vmethod. Use _scale functions. API: gst_base_rtp_depayload_push_ts API: gst_base_rtp_depayload_push * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_push): timestamps are uint. 2006-09-22 Stefan Kost * gst-libs/gst/interfaces/xoverlay.c: Remove unused statement from doc example. 2006-09-21 Stefan Kost * gst-libs/gst/interfaces/videoorientation.c: (gst_video_orientation_iface_init), (gst_video_orientation_get_hflip), (gst_video_orientation_get_vflip), (gst_video_orientation_get_hcenter), (gst_video_orientation_get_vcenter), (gst_video_orientation_set_hflip), (gst_video_orientation_set_vflip), (gst_video_orientation_set_hcenter), (gst_video_orientation_set_vcenter): Add since tags to new API docs, ChangeLog surgery (forgot API keyword in ChangeLog) 2006-09-21 Tim-Philipp Müller * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * tests/check/elements/ffmpegcolorspace.c: (rgb_format_to_caps), (create_rgb_conversions), (rgb_conversion_free), (right_shift_colour), (fix_expected_colour), (check_rgb_buf), (got_buf_cb), (GST_START_TEST), (ffmpegcolorspace_suite): Add unit test for ffmpegcolorspace (RGB <=> RGB only so far), but disable for now since it doesn't pass (something wrong with RGBA somewhere). 2006-09-21 Wim Taymans * gst/playback/gstplaybasebin.c: (group_commit), (queue_deadlock_check), (queue_overrun), (queue_threshold_reached), (queue_out_of_data), (gen_preroll_element), (preroll_remove_overrun), (probe_triggered): Refactor handling of overrun detection. Separate handling of group completion and deadlock detection when doing network buffering. This should fix some deadlocks that were not detected because the group was completed. Add more comments, improve debugging. 2006-09-21 Wim Taymans * tests/check/elements/gdpdepay.c: (GST_START_TEST): * tests/check/libs/audio.c: Some more compilation fixes. 2006-09-21 Wim Taymans * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_samples_done), (gst_ring_buffer_commit), (gst_ring_buffer_read): Early morning compilation fix. 2006-09-20 Wim Taymans * tests/check/elements/gdpdepay.c: (GST_START_TEST): * tests/check/elements/multifdsink.c: (GST_START_TEST): * tests/check/elements/videorate.c: (GST_START_TEST): * tests/check/libs/cddabasesrc.c: (GST_START_TEST): * tests/check/pipelines/oggmux.c: (eos_buffer_probe): Fix some warnings. 2006-09-20 Stefan Kost * sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy), (gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_new), (gst_xvimagesink_get_xv_support), (gst_xvimagesink_show_frame): Handcrafted merge to help CVS understanding what I changed and what not. 2006-09-20 Stefan Kost * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support), (gst_xvimagesink_get_times): change colorkey behaviour back according to #354773 comment 6/7 2006-09-19 Michael Smith * gst/tcp/gstmultifdsink.c: (gst_sync_method_get_type), (gst_multi_fd_sink_class_init), (get_buffers_max), (find_limits), (gst_multi_fd_sink_recover_client), (gst_multi_fd_sink_queue_buffer), (gst_multi_fd_sink_set_property), (gst_multi_fd_sink_get_property): * gst/tcp/gstmultifdsink.h: Implement stubbed out properties unit-type, units-soft-max, units-max, to allow specifying maximum sizes in units other than buffers. Fixes #355935 2006-09-19 Wim Taymans * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps), (gst_riff_create_audio_template_caps): Reorder the audio formats a bit for clarity. Detect and create caps for MSGSM and MSN (WAV49). Fixes #356596. * sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy), (gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_new), (gst_xvimagesink_get_xv_support), (gst_xvimagesink_show_frame): Small cleanups, move error handling out of normal flow for clarity. 2006-09-18 Stefan Kost * docs/libs/gst-plugins-base-libs-docs.sgml: * docs/libs/gst-plugins-base-libs.types: * gst-libs/gst/interfaces/Makefile.am: * gst-libs/gst/interfaces/videoorientation.c: (gst_video_orientation_get_type), (gst_video_orientation_iface_init), (gst_video_orientation_get_hflip), (gst_video_orientation_get_vflip), (gst_video_orientation_get_hcenter), (gst_video_orientation_get_vcenter), (gst_video_orientation_set_hflip), (gst_video_orientation_set_vflip), (gst_video_orientation_set_hcenter), (gst_video_orientation_set_vcenter): * gst-libs/gst/interfaces/videoorientation.h: API: Add new interface to control video orientation (fixes #354908) 2006-09-18 Stefan Kost * gst/videotestsrc/gstvideotestsrc.c: Use G_UNLIKELY in _create and log one more detail. (gst_video_test_src_get_times), (gst_video_test_src_create): * sys/ximage/ximagesink.c: (gst_ximagesink_get_times): Use gst_util_uint64_scale_int in _get_times(). 2006-09-18 Stefan Kost * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support) Give better warning message (add object and detail). 2006-09-18 Stefan Kost * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support), (gst_xvimagesink_get_times): xvimage assumed that XV_COLORKEY can be set in RGB888 format (fixes #354773), use gst_util_uint64_scale_int in _get_times() 2006-09-18 Michael Smith * ext/ogg/gstoggmux.c: (gst_ogg_mux_push_buffer): Timestamps are unsigned; comparision against GST_CLOCK_TIME_NONE was always true, leading to dropping all timestamps. 2006-09-18 Stefan Kost * ext/libvisual/visual.c: (gst_vis_src_negotiate), (gst_visual_chain), (gst_visual_change_state): update to work also with libvisual 0.4 API, fix double unref (#355914) * tools/gst-launch-ext.1.in: * tools/gst-visualise.1.in: remove references to old man-pages * tests/examples/seek/seek.c: (main): add real meadi-buttons, add tool-tips for the seek-options, arrange seek options in a table 2006-09-18 Michael Smith * ext/ogg/gstoggmux.c: (gst_ogg_mux_clear), (gst_ogg_mux_push_buffer): Don't generate out-of-order timestamps from oggmux, instead clamp output timestamps to be >= the previously output ts. Fixes #355595 2006-09-18 Michael Smith * gst/tcp/gstmultifdsink.c: (gst_sync_method_get_type), (gst_multi_fd_sink_class_init): Updates, fixes, and typo corrections for multifdsink. No functional changes. 2006-09-17 Michael Smith * gst/typefind/gsttypefindfunctions.c: (ogganx_type_find): Don't crash on truncated files - check that we got an 8 byte buffer before trying to memcmp it. 2006-09-17 Tim-Philipp Müller * gst/playback/gstplaybasebin.c: (get_active_source): Make stream-switching appear instant to the application (ie. make sure that a g_object_get on 'current-foo' returns the stream previously set with g_object_set(). Totem needs this to update stream-related meta-info (like audio-codec) correctly when switching streams. 2006-09-17 Tim-Philipp Müller * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_find_master_mixer), (gst_alsa_mixer_ensure_track_list): Try harder to guess which mixer track is the master mixer track (instead of just taking the first one that has a pvolume). Fixes #342228. 2006-09-17 Stefan Kost reviewed by: * gst-libs/gst/audio/audio.h: * gst/audiotestsrc/gstaudiotestsrc.c: (plugin_init): 2006-09-17 Stefan Kost * gst/audioconvert/gstaudioconvert.c: (set_structure_widths), (gst_audio_convert_transform_caps): Get structure-name just once. 2006-09-17 Stefan Kost * tests/check/elements/audioresample.c: (GST_START_TEST): * tests/check/elements/videotestsrc.c: (check_rgb_buf): * tests/check/elements/volume.c: (GST_START_TEST): * tests/check/elements/vorbisdec.c: (GST_START_TEST): * tests/check/pipelines/oggmux.c: (validate_ogg_page), (eos_watch), (test_pipeline), (GST_START_TEST): * tests/check/pipelines/theoraenc.c: (GST_START_TEST): * tests/check/pipelines/vorbisenc.c: (GST_START_TEST): Fix big batch of compiler warnings. 2006-09-17 Stefan Kost * ext/gnomevfs/gstgnomevfssrc.c: Add docs about icydemux usage in connection with gnomevfssrc * ext/libvisual/visual.c: * ext/ogg/gstoggaviparse.c: * ext/ogg/gstoggdemux.c: * ext/ogg/gstoggmux.c: * ext/ogg/gstoggparse.c: * gst-libs/gst/audio/gstaudiofiltertemplate.c: * gst-libs/gst/audio/gstaudiosink.c: * gst-libs/gst/audio/gstaudiosrc.c: * gst/audiorate/gstaudiorate.c: More G_OBJECT macro fixing. * gst/audiotestsrc/gstaudiotestsrc.h: Fix wrong info in header due to copy & paste 2006-09-15 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_get_time), (gst_base_audio_sink_callback): * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_get_time), (gst_base_audio_src_fixate), (gst_base_audio_src_get_times), (gst_base_audio_src_get_offset), (gst_base_audio_src_create), (gst_base_audio_src_change_state): Do the delay calculation in the source/sink base classes as this is specific for the capture/playback mode. Try to fixate a bit better, like round depth up to a multiple of 8 bigger than width. Handle underruns correctly by marking DISCONT on buffers and adjusting timestamps to handle the gap. Set offset/offset_end correctly on buffers. * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_pause), (gst_ring_buffer_samples_done), (gst_ring_buffer_commit), (gst_ring_buffer_read): Remove resync and underrun recovery from the ringbuffer. Fix ringbuffer read code on under/overrun. 2006-09-15 Wim Taymans * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init), (gst_play_base_bin_init), (fill_buffer), (check_queue), (queue_threshold_reached), (gst_play_base_bin_set_property), (gst_play_base_bin_get_property): * gst/playback/gstplaybasebin.h: Don't use a 0 low watermark when buffering, it is catching starvation way too late. Instead, use a 3 second queue with 30 and 95 percent low/high watermarks. Added queue-min-threshold property to configure low watermark. Use new _buffering message API. Make queue_threshold variable big enough to store a uint64 time value. API: playbin::queue-min-threshold property. 2006-09-15 Wim Taymans * configure.ac: We require 0.10.10.1 now because of _wait_preroll(). * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_render): Use gst_base_sink_wait_preroll(). 2006-09-15 Wim Taymans * ext/alsa/gstalsasink.c: (xrun_recovery), (gst_alsasink_write): * ext/alsa/gstalsasrc.c: (xrun_recovery), (gst_alsasrc_read): Use DEBUG_OBJECT more. === release 0.10.10 === 2006-09-07 Thomas Vander Stichele patch by: Michael Smith * gst/tcp/gstmultifdsink.c: (is_sync_frame), (gst_multi_fd_sink_client_queue_buffer), (gst_multi_fd_sink_new_client): * tests/check/elements/multifdsink.c: (GST_START_TEST), (multifdsink_suite): Fix implementation of sync-method 'next-keyframe' Closes #354594 2006-09-07 Thomas Vander Stichele patch by: Wim Taymans * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_start): This patch removes the RANDOM flag that was incorrectly introduced with revision 1.91. Fixes #354590 2006-09-05 Tim-Philipp Müller * tests/check/Makefile.am: Random variation in Makefile line to see if it makes the gen64-base-full bot any happier. 2006-09-04 Tim-Philipp Müller * tests/check/pipelines/oggmux.c: (oggmux_suite): Disable test that fails at the moment (killed after timeout). 2006-09-04 Tim-Philipp Müller Patch by: James Livingston * tests/check/Makefile.am: * tests/check/pipelines/.cvsignore: * tests/check/pipelines/oggmux.c: (get_page_codec), (check_chain_final_state), (fail_if_audio), (validate_ogg_page), (eos_buffer_probe), (start_pipeline), (stop_pipeline), (eos_watch), (test_pipeline), (test_vorbis), (test_theora), (test_vorbis_theora), (test_theora_vorbis), (oggmux_suite): Add simple unit test for oggmux from #337026 with checking for the EOS flags disabled for the time being. 2006-09-04 Wim Taymans patch by: Alessandro Dessina * ext/ogg/gstoggmux.c: Add cmml caps to oggmux. Fixes #353912 2006-09-02 Tim-Philipp Müller * tests/check/elements/videotestsrc.c: (check_rgb_buf): Returning a return value often helps. In this case, we don't need the return value anyway, so just get rid of it. Should make build bots much happier. 2006-09-02 Tim-Philipp Müller * gst/videotestsrc/videotestsrc.c: (paintinfo_find_by_structure), (paint_get_structure), (gst_video_test_src_get_size), (gst_video_test_src_smpte), (gst_video_test_src_snow), (gst_video_test_src_unicolor), (paint_setup_AYUV), (paint_hline_AYUV), (paint_setup_ARGB8888), (paint_setup_ABGR8888), (paint_setup_RGBA8888), (paint_setup_BGRA8888), (paint_hline_str4): * gst/videotestsrc/videotestsrc.h: Add support for AYUV and the various RGBA formats. Initialise fields of paintinfo structs allocated on the stack. * tests/check/elements/videotestsrc.c: (right_shift_colour), (fix_expected_colour), (check_rgb_buf), (got_buf_cb), (check_rgb_buf), (videotestsrc_suite): Add unit tests for videotestsrc's RGB output. 2006-09-01 Tim-Philipp Müller * gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_pattern_get_type), (gst_video_test_src_set_pattern): * gst/videotestsrc/gstvideotestsrc.h: * gst/videotestsrc/videotestsrc.c: (gst_video_test_src_unicolor), (gst_video_test_src_black), (gst_video_test_src_white), (gst_video_test_src_red), (gst_video_test_src_green), (gst_video_test_src_blue): * gst/videotestsrc/videotestsrc.h: Add more uni-colour patterns ("white", "red", "green", and "blue"). 2006-09-01 Tim-Philipp Müller * gst/videotestsrc/videotestsrc.c: (paint_setup_YVYU): Fix stride for YVYU, should be word-aligned (#353658). 2006-08-31 Tim-Philipp Müller * gst/adder/gstadder.c: (gst_adder_src_event): Fix build. 2006-08-31 Edward Hervey * gst/adder/gstadder.c: (forward_event_func), (gst_adder_src_event), (gst_adder_collected), (gst_adder_change_state): * gst/adder/gstadder.h: Remember the start position asked in the incoming seeks, so we can output GST_EVENT_NEW_SEGMENT with a correct position value (instead of assuming it will always be 0). 2006-08-31 Edward Hervey * ext/ogg/gstoggdemux.c: (gst_ogg_demux_init), (gst_ogg_demux_finalize), (gst_ogg_demux_perform_seek), (gst_ogg_demux_loop): Send the GST_EVENT_NEW_SEGMENT from the streaming thread. 2006-08-30 Tim-Philipp Müller * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_get_unit_size): Return FALSE instead of returning a random false unit size when the format isn't known/supported (even if this shouldn't happen under normal circumstances). 2006-08-29 Wim Taymans Patch by: Tim-Philipp Müller * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_create), (gst_gnome_vfs_src_start): Try harder to get the size from a uri by using _info_uri() when _info_from_handle() does not give us enough info. Also follow symlinks when getting the size. Partially Fixes #332864. 2006-08-29 Tim-Philipp Müller Patch by: Viktor Peters * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_ensure_track_list), (gst_alsa_mixer_update), (gst_alsa_mixer_get_volume), (gst_alsa_mixer_set_volume), (gst_alsa_mixer_set_mute), (gst_alsa_mixer_set_record): * ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_update_alsa_capabilities), (alsa_track_has_cap), (gst_alsa_mixer_track_new), (gst_alsa_mixer_track_update): * ext/alsa/gstalsamixertrack.h: Improve and fix mixer track handling, in particular better handling of alsa's pvolume/pswitch/cvolume/cswitch capabilities; create separate track objects for tracks that have both capture and playback volume (and label them differently as well so they're not mistakenly assumed to be duplicates); classify mixer tracks that only affect the audible volume of something (rather than the capture volume) as playback tracks. Redefine/fix meaning of RECORD and MUTE flags for capture tracks to correspond to alsa-pswitch alsa-cswitch (following the meaning documented in the mixer interface header file); add support for alsa's exclusive cswitch groups; update/sync state/flags better if mixer settings are changed by another application. Fixes #336075. 2006-08-29 Tim-Philipp Müller * gst/playback/gstplaybin.c: Improve docs: add section about BUFFERING messages sent by playbin. 2006-08-29 Michael Smith * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_push_buffer), (gst_vorbis_enc_buffer_check_discontinuous), (gst_vorbis_enc_chain): Ignore explicit DISCONT marked on buffers (which is often spurious, particularly when using multiple segments), in favour of solely using the timestamps/durations. 2006-08-29 Edward Hervey * gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain): Don't rely on incoming buffers offset anymore, since it is completely broken when using multiple segments. Instead convert the incoming buffers timestamp to running time, and then convert that value to the offsets. Also inform GstSegment of the last outputted stop position, which is needed if we received several segments with an unknown stop value. 2006-08-29 Thomas Vander Stichele * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_chain): fix buffer unreffing on a header push failure 2006-08-28 Wim Taymans * gst/audiorate/gstaudiorate.c: (gst_audio_rate_sink_event), (gst_audio_rate_chain): Make the metadata of the buffer writable before changing its flags. 2006-08-28 Wim Taymans * gst/audiorate/gstaudiorate.c: (gst_audio_rate_reset), (gst_audio_rate_setcaps), (gst_audio_rate_init), (gst_audio_rate_sink_event), (gst_audio_rate_src_event), (gst_audio_rate_chain), (gst_audio_rate_change_state): Fix audiorate some more. Reset and resync counters on flush and READY. Handle the DISCONT flag correctly. Use GstSegment to track position. Fail when not negotiated. Fixes #353234. 2006-08-25 Michael Smith * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_render): Fix spelling. Remove accidently included debug line. 2006-08-25 Wim Taymans * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_render): Small cleanups. If a buffer is received with no caps, make the buffer metadata writable and set the caps, making sure that we don't screw up the refcounts. 2006-08-25 Michael Smith * gst/gdp/gstgdppay.c: (gst_gdp_pay_reset), (gst_gdp_pay_reset_streamheader), (gst_gdp_pay_chain): Fix memory leaks and misleading debug messages, add a couple of comments. * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_get_stats), (gst_multi_fd_sink_render): Do not use gst_buffer_make_writable() in a basesink render method, as it may incorrectly unref the buffer. Instead, use convoluted dance to avoid copying the buffer except when we need to. 2006-08-25 Michael Smith * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_buffer_check_discontinuous): Allow very small discontinuities in the timestamps. These we can't do anything useful with anyway (because vorbis's timestamps have only sample granularity), and are commonly produced by elements with minor bugs. Allow up to 1/2 a sample out. Fixes #351742. 2006-08-24 Wim Taymans * tests/examples/seek/seek.c: (seek_cb), (start_seek), (stop_seek), (play_scrub_toggle_cb), (main): Add a checkbox to enable play scrubbing. Makes it possible to disable normal scrubbing. 2006-08-23 Stefan Kost * tests/check/elements/.cvsignore: make buildbot happy 2006-08-23 Tim-Philipp Müller * ext/ogg/gstogmparse.c: (gst_ogm_audio_parse_base_init), (gst_ogm_video_parse_base_init), (gst_ogm_text_parse_base_init), (gst_ogm_parse_class_init), (gst_ogm_parse_dispose), (gst_ogm_parse_init), (gst_ogm_audio_parse_init), (gst_ogm_video_parse_init), (gst_ogm_text_parse_init), (gst_ogm_parse_stream_header), (gst_ogm_parse_comment_packet), (gst_ogm_text_parse_strip_trailing_zeroes), (gst_ogm_parse_data_packet), (gst_ogm_parse_chain), (gst_ogm_parse_sink_event), (gst_ogm_parse_change_state): Refactor ogm parse, do better input checking, misc. clean-ups. Cache incoming events and push them once the source pad has been created. Don't pass unterminated strings to sscanf(). Strip trailing zeroes from subtitle text output, since they are not valid UTF-8. Don't push vorbiscomment packets on the subtitle text pad. Output perfect streams if possible. 2006-08-23 Wim Taymans * tests/check/libs/cddabasesrc.c: (GST_START_TEST): Waits for tasks to settle down so that we clean up correctly for valgrind. 2006-08-23 Tim-Philipp Müller * tests/check/libs/tag.c: (GST_START_TEST), (taglists_are_equal): Unit test fixes: \377 is more likely to fit into 8 bits than \777; actually return return value in taglists_are_equal. 2006-08-23 Tim-Philipp Müller * ext/ogg/gstogmparse.c: (gst_ogm_parse_chain): Fix crash due to broken bitstream parsing on x86-64: can't make any assumptions about sizeof(struct) due to alignment/packing differences on different architectures. Fixes #351790. 2006-08-22 Wim Taymans * gst-libs/gst/riff/riff-read.c: (gst_riff_read_chunk), (gst_riff_parse_chunk), (gst_riff_parse_file_header), (gst_riff_parse_strh), (gst_riff_parse_strf_vids), (gst_riff_parse_strf_auds), (gst_riff_parse_strf_iavs), (gst_riff_parse_info): Protect public functions against bad input. Do some cleanups. Fix documentation. 2006-08-22 Tim-Philipp Müller * gst-libs/gst/riff/riff-ids.h: * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps): Add voxware audio IDs (even if we can't play it) (#351795). 2006-08-22 Tim-Philipp Müller * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_template_caps), (gst_riff_create_audio_template_caps), (gst_riff_create_iavs_template_caps): Const-ify some arrays and use G_N_ELEMENTS instead of wasting oodles of RAM on terminator bits. 2006-08-22 Tim-Philipp Müller * gst-libs/gst/tag/gstvorbistag.c: (gst_tag_list_to_vorbiscomment_buffer): * tests/check/libs/tag.c: (GST_START_TEST): And the same for _to_vorbiscomment_buffer(): allow id_data_len == 0 for speex. 2006-08-21 Thomas Vander Stichele * configure.ac: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/gst-plugins-base-plugins-sections.txt: * docs/plugins/inspect/plugin-gdp.xml: * gst/gdp/Makefile.am: * tests/check/Makefile.am: Move GDP plugin to -base from -bad. Closes #347783. 2006-08-21 Tim-Philipp Müller * gst-libs/gst/tag/gstvorbistag.c: (gst_tag_list_from_vorbiscomment_buffer): Allow id_data_len == 0 (needed for vorbis comments in Speex files). Also add some checks to make sure we don't memcmp() beyond the end of vorbiscomment buffer if the ID to check for is larger than the buffer. * tests/check/libs/tag.c: (GST_START_TEST): Some more tests for gst_tag_list_from_vorbiscomment_buffer(). 2006-08-21 Tim-Philipp Müller * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_metadata_set1), (gst_vorbis_enc_set_metadata): Use vorbis comment utility functions from libgsttag instead of re-inventing the wheel (partially fixes #347091). 2006-08-21 Jan Schmidt * tests/check/elements/audioconvert.c: (GST_START_TEST): Fix leaks. Wait for state transitions that might happen ASYNC, as well as some that won't. 2006-08-21 Wim Taymans * docs/libs/Makefile.am: * docs/libs/gst-plugins-base-libs-sections.txt: * docs/libs/gst-plugins-base-libs.types: Don't try to GObject scan the netbuffer as it's not a GObject. Fixes #351308. * gst-libs/gst/netbuffer/gstnetbuffer.c: * gst-libs/gst/netbuffer/gstnetbuffer.h: Document GstNetBuffer. 2006-08-21 Stefan Kost * tests/check/elements/audioconvert.c: (GST_START_TEST), (audioconvert_suite): Add testcase for caps-size-explosion 2006-08-20 Stefan Kost * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_get_unit_size), (set_structure_widths): Lower debug, use g_assert in _get_unit_size * gst/audioresample/gstaudioresample.c: (audioresample_get_unit_size): * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_get_unit_size): * gst/videoscale/gstvideoscale.c: (gst_video_scale_get_unit_size): use g_assert in _get_unit_size 2006-08-18 Wim Taymans * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_set_packet_len), (gst_rtp_buffer_pad_to), (gst_rtp_buffer_get_payload_subbuffer), (gst_rtp_buffer_get_payload_buffer): * gst-libs/gst/rtp/gstrtpbuffer.h: Document GstRTPBuffer. Added function to efficiently strip payload headers. API: gst_rtp_buffer_get_payload_subbuffer() 2006-08-17 Tim-Philipp Müller * gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add), (gst_tag_to_vorbis_comments): Serialise unknown vorbis comments into GST_TAG_EXTENDED_COMMENT tags and deserialise them properly as well (#347091). Add some more gtk-doc blurbs and also some g_return_if_fail(). * tests/check/libs/tag.c: (GST_START_TEST), (back_to_vorbis_comments), (taglists_are_equal), (tag_suite): More tests. 2006-08-17 Wim Taymans * ext/ogg/Makefile.am: * ext/ogg/gstogg.c: (plugin_init): * ext/ogg/gstoggaviparse.c: (gst_ogg_avi_parse_get_type), (gst_ogg_avi_parse_base_init), (gst_ogg_avi_parse_class_init), (gst_ogg_avi_parse_init), (gst_ogg_avi_parse_finalize), (gst_ogg_avi_parse_setcaps), (gst_ogg_avi_parse_event), (gst_ogg_avi_parse_push_packet), (gst_ogg_avi_parse_chain), (gst_ogg_avi_parse_change_state), (gst_ogg_avi_parse_plugin_init): Added ogg-in-avi parser element. Fixes #140139. * ext/ogg/gstoggmux.c: (gst_ogg_mux_buffer_from_page): Fixed a bug in oggdemux debug code. * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps), (gst_riff_create_audio_template_caps): Recognise Ogg in the AVI extensible wave format. 2006-08-17 Tim-Philipp Müller * gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_create): Make buffer durations add up (duration should be next_ts-ts for perfect streams). Fixes CD ripping to Ogg/Vorbis with vorbisenc from CVS. * tests/check/libs/cddabasesrc.c: (gst_cd_foo_src_close), (test_buffer_timestamps), (cddabasesrc_suite): Add unit test for the above. * tests/check/Makefile.am: Don't know why cddabasesrc test was in VALGRIND_TO_FIX, remove to see what happens. 2006-08-16 Wim Taymans * ext/alsa/gstalsasink.c: (gst_alsasink_set_property), (gst_alsasink_open): * ext/alsa/gstalsasrc.c: (gst_alsasrc_set_property), (gst_alsasrc_open): Avoid setting and using a NULL device name. Print more info when we fail to open a device. 2006-08-16 Tim-Philipp Müller * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/tag/tag.h: * gst-libs/gst/tag/tags.c: (gst_tag_parse_extended_comment): API: add gst_tag_parse_extended_comment() (#351426). * tests/check/Makefile.am: * tests/check/libs/.cvsignore: * tests/check/libs/tag.c: (GST_START_TEST), (tag_suite), (main): Add unit test for gst_tag_parse_extended_comment(). 2006-08-15 Tim-Philipp Müller * sys/ximage/ximagesink.c: (gst_ximagesink_get_property): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_property): Fix leak (#351502). 2006-08-15 Tim-Philipp Müller * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/gst-plugins-base-plugins-sections.txt: * docs/plugins/gst-plugins-base-plugins.args: * gst/playback/gstplaybin.c: Document playbin. * docs/plugins/inspect/plugin-adder.xml: * docs/plugins/inspect/plugin-alsa.xml: * docs/plugins/inspect/plugin-audioconvert.xml: * docs/plugins/inspect/plugin-audiorate.xml: * docs/plugins/inspect/plugin-audioresample.xml: * docs/plugins/inspect/plugin-audiotestsrc.xml: * docs/plugins/inspect/plugin-cdparanoia.xml: * docs/plugins/inspect/plugin-decodebin.xml: * docs/plugins/inspect/plugin-ffmpegcolorspace.xml: * docs/plugins/inspect/plugin-gnomevfs.xml: * docs/plugins/inspect/plugin-ogg.xml: * docs/plugins/inspect/plugin-pango.xml: * docs/plugins/inspect/plugin-playbin.xml: * docs/plugins/inspect/plugin-subparse.xml: * docs/plugins/inspect/plugin-tcp.xml: * docs/plugins/inspect/plugin-theora.xml: * docs/plugins/inspect/plugin-typefindfunctions.xml: * docs/plugins/inspect/plugin-video4linux.xml: * docs/plugins/inspect/plugin-videorate.xml: * docs/plugins/inspect/plugin-videoscale.xml: * docs/plugins/inspect/plugin-videotestsrc.xml: * docs/plugins/inspect/plugin-volume.xml: * docs/plugins/inspect/plugin-vorbis.xml: * docs/plugins/inspect/plugin-ximagesink.xml: * docs/plugins/inspect/plugin-xvimagesink.xml: Update to CVS version. 2006-08-14 Tim-Philipp Müller * gst/playback/gstplaybin.c: (gst_play_bin_class_init), (gst_play_bin_set_property), (gst_play_bin_get_property), (value_list_append_structure_list), (gst_play_bin_handle_redirect_message), (gst_play_bin_handle_message): API: GstPlayBin::connection-speed Add "connection-speed" property; re-order redirect messages with multiple redirect locations depending on the minimum bitrate if that information is available and a connection speed is set (#350399). 2006-08-14 Tim-Philipp Müller * gst/playback/gstplaybin.c: Update max volume to the same value that the volume element uses. 2006-08-14 Wim Taymans * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_open): Less uglyness.. 2006-08-14 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_demux_submit_buffer), (gst_ogg_demux_get_next_page), (gst_ogg_demux_perform_seek), (gst_ogg_demux_read_chain), (gst_ogg_demux_loop): Add some more debug info. Don't crash when a seek failed. Actually return the result of the seek instead of TRUE. Ignore multiple BOS pages with the same serial so that we don't create the same stream multiple times. Post an error when we fail to do the initial seek. 2006-08-13 Wim Taymans * ext/alsa/gstalsa.c: (gst_alsa_detect_rates), (gst_alsa_detect_channels), (gst_alsa_probe_supported_formats): Small code cleanup. * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_open), (gst_alsa_mixer_new): Remove hack that always set the device to hw:0*. Properly find the card name for whatever device was configured. Do some better debugging. Fixes #350784. * ext/alsa/gstalsamixerelement.c: (gst_alsa_mixer_element_set_property), (gst_alsa_mixer_element_change_state): Cleanups. Handle setting of a NULL device name better. 2006-08-11 Wim Taymans * gst/adder/gstadder.c: Don't clip float values. Fixes #350900. 2006-08-11 Andy Wingo * gst/tcp/gsttcp.c: Really fix the build? * gst/tcp/gsttcp.h: For now, always disable deprecation here -- fixes the build. 2006-08-10 Tim-Philipp Müller * gst/audioconvert/gstaudioconvert.c: (make_lossless_changes): Float caps shouldn't have a "signed" field. 2006-08-10 Tim-Philipp Müller * ext/ogg/gstoggdemux.c: (gst_ogg_pad_src_query): Implement SEEKING query in its most basic form, so that we can at least check if we're seekable or not (#350655). 2006-08-09 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (mpeg2_sys_type_find): The checks here are not even close to anything that would justify MAXIMUM probability, lowering to POSSIBLE until someone fixes the checks (case at hand: quicktime redirection files might start with 00 00 01 XX and pass the checks here just fine, see #350399). 2006-08-08 Tim-Philipp Müller Patch by: Sjoerd Simons * gst/typefind/gsttypefindfunctions.c: (multipart_type_find): Better detection for multipart/x-mixed-replace: accept leading whitespaces before the boundary marker as well (as our very own multipartmux used to produce) (#349068). 2006-08-07 Tim-Philipp Müller Patch by: Young-Ho Cha * gst-libs/gst/riff/riff-ids.h: * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps), (gst_riff_create_audio_template_caps): Detect DTS audio streams (#350157). 2006-08-05 Andy Wingo * ext/theora/gsttheoraparse.h: * ext/theora/theoraparse.c (gst_theora_parse_class_init) (theora_parse_dispose, theora_parse_set_property) (theora_parse_get_property, theora_parse_munge_granulepos) (theora_parse_push_buffer, theora_parse_change_state): API: GstTheoraParse::synchronization-points Add a property 'synchronization-points' to fix badly synchronized oggs. 2006-08-03 Tim-Philipp Müller * tests/check/Makefile.am: * tests/check/libs/.cvsignore: * tests/check/libs/audio.c: (structure_contains_channel_positions), (fixed_caps_have_channel_positions), (GST_START_TEST), (audio_suite), (main): Add a few tests for the channel position stuff in libgstaudio. 2006-08-03 Tim-Philipp Müller * ext/alsa/gstalsa.c: (caps_add_channel_configuration), (gst_alsa_detect_channels): * ext/alsa/gstalsasink.c: Add support for cards that (only) do more than 8 channels, like the Delta 44 (#345188). * gst-libs/gst/audio/multichannel.c: (gst_audio_check_channel_positions): * gst-libs/gst/audio/multichannel.h: API: add GST_AUDIO_CHANNEL_POSITION_NONE, which stands for an unspecified channel position and cannot be combined with any of the other audio channel positions; adjust position layout checks accordingly (#345188). 2006-08-03 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (plugin_init): Recognise ancient RealAudio files (see #349779). 2006-08-03 Tim-Philipp Müller Patch by: Jens Granseuer * gst/typefind/gsttypefindfunctions.c: (plugin_init): Add typefinder for Interplay's MVE format (#348973). 2006-08-02 Wim Taymans Patch by: Marcel Moreaux * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_add_to_queue): * gst-libs/gst/rtp/gstbasertpdepayload.h: Handle RTP sequence number rollover. Disable jitterbuffer by default. 2006-07-28 Jan Schmidt * gst/audioresample/gstaudioresample.c: (audioresample_stop), (audioresample_set_caps): Don't leak references to the incoming caps. Clean them up when stopping. * gst/videoscale/gstvideoscale.c: (gst_video_scale_class_init), (gst_video_scale_finalize): Don't leak our temporary pixel buffer. * tests/check/Makefile.am: * tests/check/pipelines/simple-launch-lines.c: (run_pipeline), (GST_START_TEST), (simple_launch_lines_suite): Fix leaks and re-enable the test for valgrind checking. 2006-07-28 Tim-Philipp Müller Patch by: Sjoerd Simons * gst/typefind/gsttypefindfunctions.c: (multipart_type_find), (plugin_init): Add typefind function for multipart/x-mixed-replace (#348916). 2006-07-28 Wim Taymans * gst/adder/gstadder.c: (gst_adder_setcaps), (gst_adder_query_duration): Fix leak in duration query. Reflow some docs and notes. 2006-07-28 Michael Smith * tests/check/pipelines/vorbisenc.c: (GST_START_TEST), (vorbisenc_suite): Enable Andy's extra vorbisenc test, now that it passes. Also fix one aspect of it. 2006-07-28 Michael Smith * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_generate_sink_caps), (gst_vorbis_enc_sink_getcaps), (gst_vorbis_enc_buffer_from_packet), (gst_vorbis_enc_push_buffer), (gst_vorbis_enc_buffer_check_discontinuous), (gst_vorbis_enc_chain), (gst_vorbis_enc_change_state): * ext/vorbis/vorbisenc.h: Handle discontinuities in the input vorbis stream correctly, so that the output is properly timestamped (and has good granulepos values). Needs some oggmux fixes too. 2006-07-27 Wim Taymans patch by: Kai Vehmanen * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_chain), (gst_base_rtp_depayload_handle_sink_event), (gst_base_rtp_depayload_change_state): Don't send multiple newsegments with different formats. Fixes #348677. 2006-07-26 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_internal_chain), (gst_ogg_demux_do_seek), (gst_ogg_demux_read_chain): Make seeking in ogg more accurate again by doing the more correct granuletime to stream time conversion. 2006-07-26 Thomas Vander Stichele * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_add_full), (gst_multi_fd_sink_new_client): debug a little more understandably do not use goto as a substitute for break, especially if break is also being used 2006-07-26 Tim-Philipp Müller * gst/playback/gstplaybasebin.c: (gst_play_base_bin_get_property): * gst/playback/gstplaybin.c: (gst_play_bin_get_property): Remove GLib-2.6 compatibility cruft. 2006-07-24 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_render): Don't try to align a sample to an unknown value. 2006-07-24 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_provide_clock), (gst_base_audio_sink_render): When the audio clock is slaved to another clock, never try to align samples but trust the rate interpolation algorithm. 2006-07-24 Wim Taymans * ext/alsa/gstalsasink.c: (set_hwparams), (gst_alsasink_prepare): Don't try to calculate silence samples, base class does this much better now. * gst-libs/gst/audio/gstringbuffer.c: (build_linear_format), (gst_ring_buffer_debug_spec_caps), (gst_ring_buffer_parse_caps), (gst_ring_buffer_acquire): Calculate silence samples correctly. * gst-libs/gst/audio/gstringbuffer.h: Add _CAST macro. 2006-07-22 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (xml_check_first_element): Limit search for the first markup tag to the first few kB of the file. If we don't find one there, it's highly unlikely that this is an XML(-ish) file. 2006-07-21 Andy Wingo * tests/check/pipelines/theoraenc.c (test_discontinuity): Similar test to the one in vorbisenc. Also commented out. * tests/check/pipelines/vorbisenc.c: (test_discontinuity): New test, commented out until Mike lands some elite vorbisenc patches. * tests/check/pipelines/theoraenc.c: Port to bufferstraw. Bufferstraw was actually factored out of these tests. Now we share code yay. * configure.ac (GST_MAJORMINOR): Rev core requirements to 0.10.9.1 for bufferstraw addition to gstcheck. 2006-07-21 Wim Taymans * ext/theora/theoradec.c: (clip_buffer): Better clipping. 2006-07-21 Wim Taymans * gst-libs/gst/audio/gstaudiosink.c: (audioringbuffer_thread_func), (gst_audioringbuffer_finalize), (gst_audioringbuffer_acquire), (gst_audioringbuffer_release), (gst_audioringbuffer_stop): Fix leak. Avoid type casting when we can. * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_dispose): Fix mem leak. 2006-07-20 Tim-Philipp Müller * ext/alsa/gstalsamixerelement.c: (gst_alsa_mixer_element_change_state): Make state change fail if the specified device can't be opened for some reason. 2006-07-20 Wim Taymans * gst/playback/test.c: (gen_video_element), (gen_audio_element), (cb_newpad), (main): Example of a small audio/video player using decodebin. 2006-07-20 Stefan Kost * gst-libs/gst/riff/riff-ids.h: Add 'fact' chunk id 2006-07-19 Wim Taymans * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_chain), (gst_base_rtp_depayload_change_state): Don't assert when not negotiated but post a meaningfull error message. Fixes #347918. * gst-libs/gst/rtp/gstbasertppayload.c: Add comment about better default MTU size. * gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_validate_data): Small cleanups, start docs. 2006-07-19 Tim-Philipp Müller Patch by: Martin Szulecki * sys/v4l/gstv4lelement.c: (gst_v4lelement_get_property): If "device-name" is requested and the device is not open, try to temporarily open it to obtain this information (#342494). 2006-07-19 Tim-Philipp Müller * gst-libs/gst/tag/gstid3tag.c: Add TSSE <=> GST_TAG_ENCODER mapping (see #347898). * gst-libs/gst/tag/gsttageditingprivate.h: * gst-libs/gst/tag/gstvorbistag.c: Some more random const-ifications. 2006-07-18 Stefan Kost * gst-libs/gst/riff/riff-ids.h: * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_template_caps): Add more FOURCCs (sort list to make stuff easier to find), add comment what those 16 bytes in struct _gst_riff_strh according to one avi-dumper are 2006-07-17 Tim-Philipp Müller * gst-libs/gst/audio/multichannel.c: (gst_audio_check_channel_positions), (gst_audio_fixate_channel_positions): Const-ify two arrays. 2006-07-17 Tim-Philipp Müller * ext/alsa/gstalsa.c: (caps_add_channel_configuration): Fix typo, so that alsasink also advertises 8 channels if that's supported (tags: can, worms, open, alsa, ph34r). 2006-07-17 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_internal_chain), (gst_ogg_pad_submit_packet), (gst_ogg_demux_read_chain): *sigh*, when is the compiler going to warn when the comments are out-of-sync with the code.. Refix case of busted theora headers with 0 granule pos. 2006-07-14 Wim Taymans * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_wait), (gst_base_rtp_depayload_change_state), (gst_base_rtp_depayload_set_property), (gst_base_rtp_depayload_get_property): Fix 99% cpu load by waiting for absolute times on the clock. Fixes #347300. 2006-07-14 Andy Wingo * ext/theora/gsttheoraparse.h: * ext/theora/theoraparse.c (theora_parse_drain_event_queue) (theora_parse_push_headers, theora_parse_clear_queue) (theora_parse_drain_queue_prematurely, ) (theora_parse_sink_event, theora_parse_change_state): Queue events until we initialized our state, like in vorbisparse. * ext/vorbis/vorbisparse.h: * ext/vorbis/vorbisparse.c (vorbis_parse_drain_event_queue) (vorbis_parse_push_headers, vorbis_parse_clear_queue) (vorbis_parse_drain_queue_prematurely, ) (vorbis_parse_sink_event, vorbis_parse_change_state): Queue events until we have initialized our state. Fixes seeking after an initial pad block. 2006-07-14 Andy Wingo Patch by: Iain Holmes * ext/ogg/gstoggdemux.c (gst_ogg_demux_finalize): Fix memleak. 2006-07-14 Jan Schmidt * configure.ac: Bump nano back to CVS === release 0.10.9 === 2006-07-13 Jan Schmidt * configure.ac: releasing 0.10.9, "I walk the line" 2006-07-14 Michael Smith * tests/check/pipelines/vorbisenc.c: (stop_pipeline): Move a g_cond_signal to earlier to avoid sometimes deadlocking (commonly happens when running this test under valgrind) when trying to remove the buffer probe. 2006-07-13 Jan Schmidt * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new): Fix missing g_unlock from the previous commit 2006-07-13 Jan Schmidt * sys/ximage/ximagesink.c: (gst_ximagesink_ximage_new), (gst_ximagesink_change_state): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new), (gst_xvimagesink_change_state): Implement a locking order to ensure we always take the object lock before the x_lock and never vice-versa. 2006-07-13 Jan Schmidt * gst/playback/gstdecodebin.c: (find_compatibles): Fix a caps leak when linking (#347304) * sys/ximage/ximagesink.c: (gst_ximage_buffer_finalize), (gst_ximagesink_ximage_destroy), (gst_ximagesink_xcontext_clear), (gst_ximagesink_change_state): * sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy), (gst_xvimage_buffer_finalize), (gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_new), (gst_xvimagesink_xvimage_put), (gst_xvimagesink_xcontext_clear), (gst_xvimagesink_change_state): Don't leak shared memory resources. Use the object lock to protect against the xcontext disappearing while returning a buffer from the pipeline. (#347304) 2006-07-12 Edward Hervey * ext/vorbis/vorbisdec.c: (vorbis_dec_finalize), (vorbis_handle_comment_packet): gst_tag_list_merge() returns a new object. Take that into account when using it. This avoids memleak. Revert previous commit which is not needed. 2006-07-12 Edward Hervey * ext/vorbis/vorbisdec.c: (vorbis_dec_finalize): Reset the decoder in finalize so that all fields get cleared. 2006-07-12 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_set_clock), (gst_base_audio_src_check_get_range), (gst_base_audio_src_create): Don't try to post an error message when setting the clock fails as this can happen when adding an element to a bin which will then deadlock. Fixes #347296. 2006-07-12 Edward Hervey * ext/vorbis/vorbisdec.c: (gst_vorbis_dec_reset), (vorbis_dec_sink_event), (vorbis_handle_comment_packet), (vorbis_handle_type_packet): Post tag messages on the bus even if we're not initialized. If we're not initialized, we still postpone the event pushing of tags. 2006-07-12 Wim Taymans * ext/alsa/gstalsasink.c: (set_hwparams), (gst_alsasink_prepare): * gst-libs/gst/audio/gstringbuffer.c: (build_linear_format), (gst_ring_buffer_debug_spec_caps), (gst_ring_buffer_parse_caps): Revert last two changes that broke the freeze. 2006-07-12 Wim Taymans * ext/alsa/gstalsasink.c: (set_hwparams), (gst_alsasink_prepare): basesink calculates silence sample correctly for us. 2006-07-12 Wim Taymans * gst-libs/gst/audio/gstringbuffer.c: (build_linear_format), (gst_ring_buffer_debug_spec_caps), (gst_ring_buffer_parse_caps): Calculate correct silence samples so we don't fill our ringbuffer with noise. 2006-07-12 Edward Hervey * ext/vorbis/vorbisdec.c: (gst_vorbis_dec_init), (gst_vorbis_dec_reset), (vorbis_dec_sink_event), (vorbis_handle_comment_packet), (vorbis_handle_type_packet): * ext/vorbis/vorbisdec.h: Delay sending events (newsegment, tags) until the decoder is properly initialized. Fixes #347295 2006-07-11 Jan Schmidt * tests/check/elements/audioconvert.c: (get_float_mc_caps), (get_int_mc_caps), (GST_START_TEST), (audioconvert_suite): Patch from #347221 adding a test for audioconvert channel remappings. 2006-07-11 Tim-Philipp Müller * gst/subparse/gstssaparse.c: (gst_ssa_parse_base_init), (gst_ssa_parse_parse_line): Don't include the terminating NUL in the buffer size, it's only there for extra paranoia (would add random '*' characters at the end of each subtitle since the terminator itself is not valid UTF-8 technically). Also fix indenting after boilerplate macro. 2006-07-10 Tim-Philipp Müller * gst/playback/gstdecodebin.c: (close_pad_link): Also emit 'unknown-type' signal (which should really be called unhandled-type) if we found potential decoders/demuxers in the registry but none of them worked in the end (as in the case where the plugins don't exist any longer but are still listed in the registry). Fixes #329798. 2006-07-08 Andy Wingo * theoraparse.c (theora_parse_push_buffer) (theora_parse_drain_queue_prematurely, theora_parse_drain_queue): Add some more debugging. Fix granulepos reconstruction in the face of discontinuities. 2006-07-06 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_class_init), (gst_base_audio_sink_provide_clock): Use gobject_class instead of G_OBJECT_CLASS (klass) * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_class_init), (gst_base_audio_src_init), (gst_base_audio_src_set_clock), (gst_base_audio_src_provide_clock), (gst_base_audio_src_get_time), (gst_base_audio_src_check_get_range), (gst_base_audio_src_create), (gst_base_audio_src_create_ringbuffer): Fix latency and buffer-time constants and properties ala basesink. Implement pull based scheduling. Fixes #346527. Set default blocksize in GstBaseSrc to 0, we default to pushing out one segment. Refuse slaving to another clock instead of silently not working. Only provide a clock when we are actually able to do so. Various small cleanups and compiler hints. 2006-07-06 Tim-Philipp Müller Patch by: Lutz Mueller * gst/typefind/gsttypefindfunctions.c: (html_type_find), (plugin_init): Add typefinding for text/html (#346581). 2006-07-06 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (utf8_type_find), (xml_check_first_element), (xml_type_find), (smil_type_find): Fix SMIL typefinding, make xml_check_first_element() more useful. 2006-07-06 Tim-Philipp Müller * gst/playback/gstplaybasebin.c: (gst_play_base_bin_init), (gst_play_base_bin_finalize), (decodebin_element_added_cb), (decodebin_element_removed_cb), (gst_play_base_bin_set_property): * gst/playback/gstplaybasebin.h: Protect list of elements with a subtitle-encoding property and the subtitle encoding member itself with a lock of their own instead of using the object lock. This prevents a dead-lock in the element-remove callback in some circumstances when shutting down playbin. 2006-07-05 Sebastien Moutte * win32/common/libgsttag.def: Export some new functions. * win32/vs6/libgstogg.dsp: Add a link to libgsttag-0.10.lib. 2006-07-04 Tim-Philipp Müller * ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_new): Some const-ification. 2006-07-04 Wim Taymans * gst/playback/gstplaybasebin.c: (is_stream), (gen_source_element): Improve checking if we are dealing with a stream. Added some more uris that need buffering. 2006-07-03 Edward Hervey * ext/vorbis/vorbisdec.c: (vorbis_do_clip): Remove unused variable. 2006-07-02 Thomas Vander Stichele * Makefile.am: include lcov.mak * configure.ac: add GCOV_LIBS to GST_LIBS 2006-07-02 Tim-Philipp Müller Patch by: Michael Sheldon * ext/alsa/gstalsasrc.c: Add 32 bps to template caps and increase channels range from [1,2] to [1,MAX]. See #346326. 2006-06-30 Tim-Philipp Müller * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps): Recognise 'WMVA' video codec fourcc (#345879). 2006-06-29 Philippe Kalaf * gst-libs/gst/rtp/gstbasertpaudiopayload.c: Fixed nasty memory leak 2006-06-26 Thomas Vander Stichele * gst/tcp/gsttcp.c: (gst_tcp_read_buffer), (gst_tcp_gdp_read_buffer), (gst_tcp_gdp_read_caps): fix logging 2006-06-23 Jan Schmidt * gst/playback/gstdecodebin.c: (gst_decode_bin_class_init), (gst_decode_bin_init), (gst_decode_bin_finalize), (add_fakesink), (remove_fakesink), (pad_probe), (gst_decode_bin_change_state): Protect remove_fakesink using a mutex, so that we don't try and remove the fakesink simultaneously from multiple threads. When going from READY to PAUSED, restore the fakesink, so that it is there when decodebin gets reused. 2006-06-23 Tim-Philipp Müller * gst-libs/gst/rtp/gstbasertpaudiopayload.c: * gst-libs/gst/rtp/gstbasertpdepayload.c: * gst-libs/gst/rtp/gstbasertppayload.c: * gst/ffmpegcolorspace/gstffmpegcolorspace.c: * gst/tcp/gstmultifdsink.c: * gst/tcp/gsttcpclientsink.c: * gst/tcp/gsttcpclientsrc.c: * gst/tcp/gsttcpserversink.c: * gst/tcp/gsttcpserversrc.c: * gst/videorate/gstvideorate.c: * gst/videotestsrc/gstvideotestsrc.c: * sys/v4l/gstv4ljpegsrc.c: * sys/v4l/gstv4lmjpegsink.c: * sys/v4l/gstv4lsrc.c: * tests/examples/seek/scrubby.c: * tests/examples/seek/seek.c: Use GST_DEBUG_CATEGORY_STATIC where possible (#342503). 2006-06-22 Tim-Philipp Müller * gst-libs/gst/tag/tags.c: (register_tag_image_type_enum): Second field in GEnumValue shouldn't be a description, but a stringified version of the enum value. 2006-06-22 Wim Taymans * sys/ximage/ximagesink.c: (gst_ximage_buffer_finalize), (gst_ximage_buffer_free), (gst_ximagesink_ximage_put), (gst_ximagesink_setcaps), (gst_ximagesink_buffer_alloc): Avoid type checking in buffer casts. Avoid caps copy in buffer_alloc when we can. Use pad_peer_accept. 2006-06-22 Tim-Philipp Müller * gst-libs/gst/tag/tag.h: Oops, make that 'Since: 0.10.9'. 2006-06-22 Tim-Philipp Müller * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/tag/tag.h: * gst-libs/gst/tag/tags.c: (register_tag_image_type_enum), (gst_tag_image_type_get_type): API: add GstTagImageType enum to describe images contained in image tags (#345641). 2006-06-22 Tim-Philipp Müller * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init): Fix warnings with gst-inspect: "buffers-min" property should be of G_TYPE_INT and not G_TYPE_INT64. Also fix typo in property description. 2006-06-22 Tim-Philipp Müller Patch by: Cody Russell * gst/audioresample/gstaudioresample.c: (gst_audioresample_class_init): * gst/playback/gststreamselector.c: (gst_stream_selector_class_init): * gst/subparse/gstsubparse.c: (gst_sub_parse_class_init): * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init): * gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_class_init): * gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_class_init): * gst/tcp/gsttcpserversink.c: (gst_tcp_server_sink_class_init): * gst/tcp/gsttcpserversrc.c: (gst_tcp_server_src_class_init): * gst/videoscale/gstvideoscale.c: (gst_video_scale_class_init): * gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_class_init): * gst/volume/gstvolume.c: (gst_volume_class_init): Avoid unnecessary class cast check in class_init functions (#337747). 2006-06-21 Tim-Philipp Müller * ext/pango/gsttextoverlay.c: (gst_text_overlay_make_utf8), (gst_text_overlay_video_chain): g_markup_escape_text() REALLY doesn't like non-UTF8 input and doesn't validate its input either (and neither did textoverlay it seems). Let's do that then and fix #345206. 2006-06-19 Wim Taymans * gst/tcp/gstmultifdsink.c: (gst_sync_method_get_type), (gst_unit_type_get_type), (gst_multi_fd_sink_class_init), (gst_multi_fd_sink_init), (gst_multi_fd_sink_add_full), (gst_multi_fd_sink_add), (gst_multi_fd_sink_handle_client_read), (find_syncframe), (find_limits), (assign_value), (count_burst_unit), (gst_multi_fd_sink_new_client), (gst_multi_fd_sink_handle_client_write), (gst_multi_fd_sink_queue_buffer), (gst_multi_fd_sink_render), (gst_multi_fd_sink_set_property), (gst_multi_fd_sink_get_property), (gst_multi_fd_sink_change_state): * gst/tcp/gstmultifdsink.h: Added shiny new burst-on-connect methods. Add properties to control the minimal amount of data queued. Small cleanups. API: bytes-min property API: time-min property API: buffers-min property API: burst-unit property API: burst-value property API: add-full signal * gst/tcp/gsttcp-marshal.list: Added new marshaller code for the new signal. * tests/check/elements/multifdsink.c: (GST_START_TEST), (multifdsink_suite): Added testcases for new burst methods. 2006-06-19 Edward Hervey * ext/theora/theoradec.c: (clip_buffer), (theora_dec_push): Implement clipping for accurate seeking. Closes #345225 2006-06-19 Wim Taymans Patch by: Philip Jaegenstedt * gst/videoscale/gstvideoscale.c: (gst_video_scale_prepare_size), (gst_video_scale_transform): Make videoscale support RGBA, ARGB, BGRA and ABGR. Fixes #345131 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 * tests/check/elements/audioresample.c: (test_reuse), (audioresample_suite): Add test case for bug #342789 fixed below. 2006-06-16 Tim-Philipp Müller * gst/audioresample/gstaudioresample.c: (gst_audioresample_class_init), (gst_audioresample_init), (audioresample_start), (audioresample_stop), (gst_audioresample_set_property), (gst_audioresample_get_property): Implement GstBaseTransform::start and ::stop so that audioresample can clear its internal state properly and be reused instead of causing non-negotiated errors with playbin under some circumstances (#342789). * tests/check/elements/audioresample.c: (setup_audioresample), (cleanup_audioresample): Need to set element state here so that ::start and ::stop are called. 2006-06-16 Wim Taymans Patch by: Young-Ho Cha * gst-libs/gst/riff/riff-read.c: (gst_riff_parse_strf_vids): Parse extra data better, apparently it's right behind the normal strf header size. Fixes #343500. 2006-06-16 Wim Taymans * ext/alsa/gstalsasink.c: (set_hwparams): If we fail to set the buffer_time and period_time alsa parameters, post a warning and leave alsa select a default instead of failing. Fixes #342085 2006-06-16 Tim-Philipp Müller * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/cdda/gstcddabasesrc.h: Remove GST_CDDA_TAG_TRACK_TAGS again, it is #ifdef 0'ed out in the header file and shouldn't be listed in the docs. * gst-libs/gst/riff/riff-read.c: (gst_riff_read_chunk): Must dereference pointer to fourcc in the debug statement. 2006-06-16 Stefan Kost * docs/libs/Makefile.am: * docs/libs/gst-plugins-base-libs-docs.sgml: * docs/libs/gst-plugins-base-libs-sections.txt: * docs/libs/gst-plugins-base-libs.types: add remaining symbols into correct setions * gst-libs/gst/audio/gstringbuffer.c: fix incomplete docs * gst-libs/gst/audio/gstringbuffer.h: comment out not yet implemented function * gst-libs/gst/floatcast/floatcast.h: * gst-libs/gst/netbuffer/gstnetbuffer.c: add short descriptions * gst-libs/gst/interfaces/propertyprobe.c: fix return value docs * gst-libs/gst/riff/riff-read.c: (gst_riff_read_chunk): simplify debug logging * gst-libs/gst/riff/riff-read.h: sync function prototype and docs * gst-libs/gst/rtp/gstbasertpaudiopayload.h: remove left over symbol 2006-06-16 Tim-Philipp Müller * autogen.sh: * configure.ac: * docs/Makefile.am: Use GST_PLUGIN_DOCS macro in configure.ac, add --enable-plugin-docs default to autogen.sh and use ENABLE_PLUGIN_DOCS conditional in Makefile.am (#344039). 2006-06-15 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain_peer), (gst_ogg_demux_activate_chain), (gst_ogg_demux_combine_flows), (gst_ogg_demux_loop): Combine GstFlowReturn from the source pads to give a meaningfull result to the upstream peer or to stop the processing task in case of errors. 2006-06-14 Tim-Philipp Müller * gst/playback/gststreaminfo.c: (cb_probe): Try GST_TAG_CODEC as fallback when extracting the codec name; more debug info. 2006-06-14 Tim-Philipp Müller * ext/ogg/Makefile.am: * ext/ogg/gstogmparse.c: (gst_ogm_parse_chain): Extract language tags from ogm subtitle streams, so that the subtitle menu choices are labelled correctly in Totem (fixes #344708). 2006-06-14 Wim Taymans Patch by: Alessandro Decina * ext/ogg/gstoggmux.c: (gst_ogg_mux_get_type), (gst_ogg_mux_clear), (gst_ogg_mux_release_pad), (gst_ogg_mux_get_headers), (gst_ogg_mux_set_header_on_caps), (gst_ogg_mux_init_collectpads), (gst_ogg_mux_clear_collectpads), (gst_ogg_mux_change_state): Fix various leaks. Fixes #343699. Add x-smoke mime type. 2006-06-14 Tim-Philipp Müller * gst-libs/gst/riff/riff-ids.h: Add IDs for 'bext' chunks (see #343837). 2006-06-12 Tim-Philipp Müller Patch by: Young-Ho Cha * gst/subparse/samiparse.c: (sami_context_pop_state), (handle_start_font), (end_sami_element): Honour font face tags in SAMI subtitles (#344503). 2006-06-11 Stefan Kost * po/POTFILES.in: add missing files containing translatable strings 2006-06-11 Stefan Kost * docs/libs/tmpl/.cvsignore: we don't want those *.sgml files in CVS either 2006-06-11 Stefan Kost * docs/libs/.cvsignore: * tests/check/elements/.cvsignore: * tests/check/libs/.cvsignore: ignore more 2006-06-11 Stefan Kost * docs/libs/Makefile.am: also commiting the changed Makefile.am (added more libs to the doc-build) 2006-06-11 Stefan Kost * docs/libs/gst-plugins-base-libs-docs.sgml: * docs/libs/gst-plugins-base-libs-sections.txt: * docs/libs/gst-plugins-base-libs.types: first batch of reordering things, add index & hierarchy 2006-06-11 Thomas Vander Stichele * configure.ac: use GST_PKG_CHECK_MODULES, cleans up output 2006-06-10 Tim-Philipp Müller * ext/gnomevfs/gstgnomevfsuri.c: (gst_gnomevfs_get_supported_uris): Add support for burn:// URIs (#343385); const-ify things a bit, use G_N_ELEMENTS instead of hard-coded array size. 2006-06-10 Tim-Philipp Müller Patch by: Young-Ho Cha * gst/subparse/samiparse.c: (fix_invalid_entities), (parse_sami): Fix up broken entities before passing them to libxml *sigh*. (#343303). 2006-06-09 Thomas Vander Stichele * configure.ac: back to TRUNK === release 0.10.8 === 2006-06-09 Thomas Vander Stichele * configure.ac: releasing 0.10.8, "Moar gij ziet mij nie" 2006-06-07 Thomas Vander Stichele * configure.ac: * po/af.po: * po/az.po: * po/cs.po: * po/en_GB.po: * po/hu.po: * po/it.po: * po/nb.po: * po/nl.po: * po/or.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/uk.po: * po/vi.po: * win32/common/config.h: 0.10.7.2 prerelease 2006-06-07 Thomas Vander Stichele * docs/libs/tmpl/gstaudio.sgml: * docs/libs/tmpl/gstcolorbalance.sgml: * docs/libs/tmpl/gstmixer.sgml: * docs/libs/tmpl/gstringbuffer.sgml: * docs/libs/tmpl/gsttuner.sgml: * docs/libs/tmpl/gstxoverlay.sgml: * gst-libs/gst/audio/audio.c: * gst-libs/gst/audio/gstringbuffer.c: * gst-libs/gst/interfaces/colorbalance.c: * gst-libs/gst/interfaces/mixer.c: * gst-libs/gst/interfaces/tuner.c: * gst-libs/gst/interfaces/xoverlay.c: move last template doc snippets to source code and delete them 2006-06-06 Michael Smith * ext/theora/theoraparse.c: (theora_parse_drain_queue_prematurely), (theora_parse_drain_queue): Mark DELTA_UNIT on non-keyframes. 2006-06-03 Jan Schmidt * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_class_init), (gst_base_audio_sink_setcaps): * gst-libs/gst/audio/gstbaseaudiosink.h: * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_parse_caps), (gst_ring_buffer_samples_done): * gst-libs/gst/audio/gstringbuffer.h: Document better the fact that latency_time and buffer_time are values stored in microseconds, and not the usual GStreamer nanoseconds. Change the variables (compatibly) that store them from GstClockTime to guint64 to make it more clear that they're not storing clock times. Also, remove the bogus property description that says the user can specify -1 to get the default value, since that's never been the case. When computing the default segment size for the ring buffer, make it an integer number of samples. When the sub-class indicates a delay greater than the number of samples we've written return 0 from the audio sink get_time method. 2006-06-02 Michael Smith * tests/check/elements/audioconvert.c: (set_channel_positions), (get_float_mc_caps), (get_int_mc_caps): * tests/check/elements/audioresample.c: * tests/check/elements/audiotestsrc.c: (GST_START_TEST): * tests/check/elements/videorate.c: * tests/check/elements/videotestsrc.c: (GST_START_TEST): * tests/check/elements/volume.c: * tests/check/elements/vorbisdec.c: * tests/check/pipelines/vorbisenc.c: (GST_START_TEST): Don't busy-wait in tests; this was causing test timeouts very frequently when running under valgrind. 2006-06-02 Thomas Vander Stichele * gst/tcp/README: * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_init), (gst_multi_fd_sink_remove_client_link), (gst_multi_fd_sink_client_queue_caps), (gst_multi_fd_sink_client_queue_buffer), (gst_multi_fd_sink_handle_client_write), (gst_multi_fd_sink_render): * gst/tcp/gstmultifdsink.h: make multifdsink properly deal with streamheader: - streamheader is taken from caps - buffers marked with IN_CAPS are not sent - streamheaders are sent, on connection, from the caps of the buffer where the client gets positioned to - further streamheader changes are done every time the client will receive a buffer with different caps * tests/check/elements/multifdsink.c: (GST_START_TEST), (gst_multifdsink_create_streamheader): add tests for this 2006-06-02 Michael Smith * ext/vorbis/vorbisdec.c: (vorbis_handle_identification_packet): Reinstate limit on channel count. Vorbis does not define the meaning of > 6 channels, so they're just independent channels. Gstreamer currently has no mechanism to represent N independent channels. 2006-06-02 Michael Smith * ext/vorbis/vorbisdec.c: (vorbis_handle_identification_packet): Don't arbitrarily restrict channel counts and rate in vorbis. In terms of effects likely on real-world files, this fixes 96kHz playback of vorbis. 2006-06-02 Michael Smith * gst/audioconvert/audioconvert.c: (float): More correct float->int conversion. 2006-06-02 Michael Smith * ext/ogg/gstoggdemux.c: (gst_ogg_demux_perform_seek): Don't accidently send GST_CLOCK_TIME_NONE as a new segment start value. Fixes g-critical on trying to play back ogg containing unknown codec. 2006-06-02 Wim Taymans * gst/playback/gstplaybasebin.c: (group_create), (group_commit), (setup_source): * gst/playback/gstplaybasebin.h: Make the subtitle detection work from any thread so we don't deadlock. Fixes #343397. 2006-06-02 Thomas Vander Stichele * gst/volume/Makefile.am: Seriously, it's not *that* hard to get compilation right. Even a drunk can do it ! Add LIBOIL CFLAGS and LIBS 2006-06-01 Stefan Kost * gst/volume/gstvolume.c: (volume_choose_func), (volume_update_real_volume), (gst_volume_class_init), (gst_volume_init), (volume_process_float), (volume_process_int16), (volume_process_int16_clamp), (volume_set_caps), (volume_transform_ip), (plugin_init): * gst/volume/gstvolume.h: rewrite the passthrough check, split _int16 and _int16_clamp, fix another property desc., remove unused param from process function * tests/check/elements/volume.c: (volume_suite): reactivate the passthrough test 2006-06-01 Stefan Kost * ext/alsa/gstalsamixerelement.h: * ext/alsa/gstalsamixeroptions.h: * ext/alsa/gstalsamixertrack.h: * ext/gnomevfs/gstgnomevfssink.h: * ext/gnomevfs/gstgnomevfssrc.h: * ext/theora/gsttheoradec.h: * ext/theora/gsttheoraenc.h: * ext/theora/gsttheoraparse.h: * ext/vorbis/vorbisparse.h: * gst-libs/gst/audio/gstaudioclock.h: * gst-libs/gst/audio/gstaudiofilter.h: * gst-libs/gst/rtp/gstbasertpaudiopayload.h: * gst/audioconvert/gstaudioconvert.h: * gst/audioresample/gstaudioresample.h: * gst/audiotestsrc/gstaudiotestsrc.h: * gst/ffmpegcolorspace/gstffmpegcolorspace.h: * gst/playback/gststreamselector.h: * gst/tcp/gstmultifdsink.h: * gst/tcp/gsttcpclientsink.h: * gst/tcp/gsttcpclientsrc.h: * gst/tcp/gsttcpserversink.h: * gst/tcp/gsttcpserversrc.h: * gst/videorate/gstvideorate.h: * gst/videoscale/gstvideoscale.h: * gst/videotestsrc/gstvideotestsrc.h: * gst/volume/gstvolume.h: * sys/v4l/gstv4ljpegsrc.h: * sys/v4l/gstv4lmjpegsink.h: * sys/v4l/gstv4lmjpegsrc.h: * sys/v4l/gstv4lsrc.h: * sys/ximage/ximagesink.h: * sys/xvimage/xvimagesink.h: * tests/old/testsuite/alsa/sinesrc.h: Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass 2006-05-31 Wim Taymans * ext/libvisual/visual.c: (gst_visual_reset), (gst_visual_sink_setcaps), (gst_visual_sink_event), (gst_visual_src_event), (get_buffer), (gst_visual_chain): Handle DISCONT. Use running time before doing QoS. Handle mono too. 2006-05-31 Thomas Vander Stichele * docs/libs/Makefile.am: set a magic variable to indicate we know the docs are incomplete 2006-05-30 Sebastien Moutte * win32/common/libgstvideo.def: export gst_video_calculate_display_ratio * win32/vs6/libgstvideoscale.dsp: add link to libgstvideo-0.10.lib 2006-05-30 Tim-Philipp Müller * gst/playback/gstplaybasebin.c: (gen_source_element): Throw a more comprehensible error for rtsp:// URIs (rather than erroring out with a negotiation error later on) until we fix playbin to handle rtspsrc etc. 2006-05-30 Wim Taymans * ext/pango/gsttextoverlay.c: (gst_text_overlay_src_event), (gst_text_overlay_text_event): Added some FIXMEs. 2006-05-30 Wim Taymans * gst/adder/gstadder.c: (gst_adder_class_init), (gst_adder_init), (gst_adder_request_new_pad), (gst_adder_release_pad): * gst/adder/gstadder.h: Implement release_request_pad. Make padcounter atomic. * tests/check/elements/adder.c: (GST_START_TEST), (adder_suite): Added check for release_pad in adder. 2006-05-30 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_chain_new_stream): Fix build again. 2006-05-30 Thomas Vander Stichele * ext/ogg/gstoggdemux.c: (gst_ogg_pad_typefind), (gst_ogg_demux_chain_elem_pad), (gst_ogg_demux_queue_data), (gst_ogg_demux_chain_peer), (gst_ogg_pad_submit_packet), (gst_ogg_pad_submit_page), (gst_ogg_chain_new_stream), (gst_ogg_demux_seek), (gst_ogg_demux_get_data), (gst_ogg_demux_get_next_page), (gst_ogg_demux_do_seek), (gst_ogg_demux_bisect_forward_serialno), (gst_ogg_demux_read_chain), (gst_ogg_demux_find_chains), (gst_ogg_demux_chain), (gst_ogg_demux_loop), (gst_ogg_print): add more debugging clean up printf formats for granulepos and serialno 2006-05-30 Michael Smith * ext/vorbis/vorbisenc.c: (raw_caps_factory), (gst_vorbis_enc_class_init), (gst_vorbis_enc_dispose), (gst_vorbis_enc_generate_sink_caps), (gst_vorbis_enc_sink_getcaps), (gst_vorbis_enc_init), (gst_vorbis_enc_buffer_from_header_packet), (gst_vorbis_enc_chain), (gst_vorbis_enc_change_state): * ext/vorbis/vorbisenc.h: Multi-channel caps negotiation, so we can do proper multichannel vorbis encoding, negotiated through audioconvert. 2006-05-30 Wim Taymans * tests/check/elements/adder.c: (test_event_message_received), (test_play_twice_message_received), (GST_START_TEST), (adder_suite): Added check to show that #339935 is fixed with ongoing adder and collectpads fixes. 2006-05-29 Wim Taymans * gst/adder/gstadder.c: (gst_adder_request_new_pad): Don't leak pad name. 2006-05-29 Wim Taymans * gst/adder/gstadder.c: (gst_adder_query_duration), (forward_event_func), (forward_event), (gst_adder_src_event): Fix adder seeking. Make query/seeking code threadsafe. * tests/check/Makefile.am: * tests/check/elements/adder.c: (test_event_message_received), (GST_START_TEST), (test_play_twice_message_received): Fix adder test case. 2006-05-29 Tim-Philipp Müller Patch by: Young-Ho Cha * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init), (gst_play_base_bin_init), (gst_play_base_bin_dispose), (set_encoding_element), (decodebin_element_added_cb), (decodebin_element_removed_cb), (setup_subtitle), (setup_source), (gst_play_base_bin_set_property), (gst_play_base_bin_get_property): * gst/playback/gstplaybasebin.h: Add 'subtitle-encoding' property to playbin, so applications can force a subtitle encoding for non-UTF8 subtitles (#342268). * gst/subparse/gstsubparse.c: (gst_sub_parse_class_init), (gst_sub_parse_set_property): Rename recently-added 'encoding' property to 'subtitle-encoding' (so it can be proxied by playbin/decodebin in a generic way with less danger of false positives). 2006-05-29 Michael Smith * gst/audioconvert/gstaudioconvert.c: (make_lossless_changes), (append_with_other_format), (set_structure_widths), (gst_audio_convert_transform_caps): Patch from #341562: give more specific audio caps in get_caps, so that basetransform can make better decisions on what caps to negotiate. 2006-05-28 Stefan Kost * tests/check/elements/volume.c: make it compile again 2006-05-28 Stefan Kost * tests/check/elements/volume.c: (volume_suite): disable test until #343196 gets resolved 2006-05-28 Stefan Kost * gst/adder/gstadder.c: (gst_adder_get_type): Make it easier to copy&paste * gst/volume/Makefile.am: * gst/volume/gstvolume.c: (volume_update_real_volume), (gst_volume_set_volume), (gst_volume_set_mute), (gst_volume_class_init), (volume_process_int16), (volume_set_caps), (volume_transform_ip), (volume_update_mute), (volume_update_volume): * gst/volume/gstvolume.h: Add own debug category, move duplicate code to helper function, fix property texts, add more comments and prepare ffor liboil-goodness * tests/check/Makefile.am: * tests/check/elements/volume.c: (GST_START_TEST), (volume_suite): add test for mute and passtrough case, be a bit more verbose to track failure * tests/check/generic/states.c: (GST_START_TEST): catch elements that fail to instantiate 2006-05-28 Edward Hervey * tests/check/pipelines/simple-launch-lines.c: * tests/check/pipelines/theoraenc.c: * tests/check/pipelines/vorbisenc.c: Comment out tests using parse_launch() if core was built without parsing capabilities. 2006-05-27 Edward Hervey * tests/check/Makefile.am: Extra bonus points for whoever explains to ensonic that you are meant to test unit tests thoroughly before commiting them, especially if you know it's going to break. De-activated element/adder tests. 2006-05-27 Edward Hervey * gst/ffmpegcolorspace/gstffmpegcodecmap.c: (gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_smpfmt_to_caps): Marking caps conversion issues as GST_WARNING is way too verbose, Moving them to GST_LOG. 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-26 Wim Taymans * ext/vorbis/vorbisdec.c: (vorbis_dec_src_query), (vorbis_dec_src_event), (vorbis_dec_sink_event), (vorbis_do_clip), (vorbis_dec_push), (vorbis_handle_data_packet), (vorbis_dec_chain), (vorbis_dec_change_state): Small cleanups. Add some FIXMEs Clip output samples to segment boundaries. 2006-05-26 Jan Schmidt * sys/ximage/ximagesink.c: (gst_ximagesink_ximage_new), (gst_ximagesink_xcontext_get), (gst_ximagesink_show_frame): Improve the errors produced on bad output, including some human readable description strings. Handle the (theoretical for ximagesink) case where the XServer has a different idea about the size required for a particular frame and gives us too small a memory allocation. 2006-05-26 Jan Schmidt * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new), (gst_xvimagesink_get_xv_support), (gst_xvimagesink_xcontext_get), (gst_xvimagesink_get_format_from_caps), (gst_xvimagesink_setcaps), (gst_xvimagesink_show_frame), (gst_xvimagesink_buffer_alloc): Improve the errors produced on bad output, including some human readable description strings. Handle RGB Xv formats properly by transforming them into our big-endian caps description. Use gst_caps_truncate to ensure that we never try and choose a non-fixed caps in buffer_alloc. Handle the case where the XServer has a different idea about the size required for a particular frame and gives us too small a memory allocation. Use -1 to indicate 'no image format', because 0 is a valid XServer image format number. Put RGB Xv formats at the end of the caps, so that we always prefer YUV format frames. Iterate the available Xv Encodings to determine the maximum width and height, and then return that in our caps. (Closes #315312, #337544) 2006-05-25 Jan Schmidt * gst/playback/gstdecodebin.c: (remove_fakesink), (pad_probe): When there is only one unfinished pad and it receives an event that doesn't match our requirements, we need to set alldone=FALSE so that the fakesink is not removed yet. 2006-05-25 Tim-Philipp Müller * ext/ogg/gstoggdemux.c: (gst_ogg_pad_typefind): Use gst_type_find_helper_for_buffer() to find the type of stream from the first packet. * configure.ac: Bump requirements to core CVS (needed for vorbis typefinding to work). 2006-05-24 Edward Hervey * gst/typefind/gsttypefindfunctions.c: (qt_type_find): Added the 'prfl' atom type which MQV (no, it's not a typo) files contain. Else they play perfectly fine with qtdemux. 2006-05-23 Stefan Kost * ext/theora/theoradec.c: * ext/theora/theoraenc.c: * ext/theora/theoraparse.c: (gst_theora_parse_class_init): * gst/audiorate/gstaudiorate.c: make more debug catagories static * tests/check/Makefile.am: * tests/check/elements/adder.c: (message_received), (test_event_message_received), (GST_START_TEST), (test_play_twice_message_received), (adder_suite): added test case for using element twice, extra bonus points for anyone who can make these test run reliably 2006-05-23 Tim-Philipp Müller * ext/theora/theoradec.c: (theora_dec_chain): Make work with time-stamped input buffers that do not have a granulepos in BUFFER_OFFSET_END (like theora buffers coming from matroskademux). Fixes #342448. 2006-05-22 Tim-Philipp Müller Patch by: Peter Kjellerstedt * gst/tcp/Makefile.am: fdstresstest doesn't need Gtk+, fix compilation if gtk is not available (#342566). 2006-05-19 Philippe Kalaf * gst-libs/gst/rtp/gstbasertpaudiopayload.c: 80 line columns Removed redundant floor() 2006-05-19 Tim-Philipp Müller * gst-libs/gst/riff/riff-read.c: (gst_riff_read_chunk): On second thought, just skip JUNK chunks automatically, so the caller doesn't have to handle this. Fixes #342345. Also, return GST_FLOW_UNEXPECTED if we get a short read, not GST_FLOW_ERROR. 2006-05-19 Tim-Philipp Müller * gst-libs/gst/riff/riff-read.c: (gst_riff_read_chunk): Don't bail out on JUNK chunks with a size of 0 (would try to pull_range 0 bytes before, which sources don't like too much). See #342345. 2006-05-19 Jan Schmidt * gst/videoscale/gstvideoscale.c: (gst_video_scale_fixate_caps): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_setcaps): Use the gstutil scaling function to preserve 64 bits while calculating output width and height from the display-aspect-ratio. (A continuation of #341542) 2006-05-19 Jan Schmidt * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_clear), (gst_xvimagesink_buffer_alloc): * sys/xvimage/xvimagesink.h: When performing buffer allocations, remember the caps and image format we return so that if the same caps are asked for next time we can return them immediately without doing any caps intersections. 2006-05-18 Philippe Kalaf * gst-libs/gst/rtp/README: Some new documentation * gst-libs/gst/rtp/gstrtpbuffer.h: Added GST_RTP_PAYLOAD_DYNAMIC_STRING for use by children * gst-libs/gst/rtp/gstbasertpaudiopayload.c: * gst-libs/gst/rtp/gstbasertpaudiopayload.h: New RTP audio base payloader class. Supports frame or sample based codecs. Not enabled in Makefile.am until approved. 2006-05-18 Tim-Philipp Müller * tests/check/elements/alsa.c: (test_device_property_probe): Fix test case: don't try to free NULL GValueArray when there are no devices. 2006-05-18 Tim-Philipp Müller * tests/check/Makefile.am: * tests/check/elements/alsa.c: (test_device_property_probe), (alsa_suite), (main): Add simple test that runs a device property probe on alsasrc, alsasink and alsamixer. Disable valgrind check for now (too many leaks in libasound, and valgrind ignored my suppressions additions). 2006-05-18 Tim-Philipp Müller * ext/alsa/gstalsadeviceprobe.c: (gst_alsa_get_device_list), (gst_alsa_device_property_probe_probe_property), (gst_alsa_device_property_probe_needs_probe), (gst_alsa_device_property_probe_get_values), (gst_alsa_type_add_device_property_probe_interface): * ext/alsa/gstalsadeviceprobe.h: * ext/alsa/gstalsamixerelement.c: (gst_alsa_mixer_element_init_interfaces): * ext/alsa/gstalsamixerelement.h: Clean up and simplify alsa device probing. Make it actually work for multiple classes. Don't cache results any longer. * ext/alsa/gstalsasink.c: (gst_alsasink_init_interfaces), (gst_alsasink_init): * ext/alsa/gstalsasrc.c: (gst_alsasrc_dispose), (gst_alsasrc_interface_supported), (gst_implements_interface_init), (gst_alsasrc_init_interfaces), (gst_alsasrc_set_property): Make alsasink and alsasrc implement the GstPropertyProbe interface for device probing (#342181). Patch by: Martin Szulecki 2006-05-18 Tim-Philipp Müller * gst/subparse/samiparse.c: (handle_start_font): Don't ignore return value of strtol (++compiler_happiness). 2006-05-17 Tim-Philipp Müller Patch by: Young-Ho Cha * gst/subparse/gstsubparse.c: (gst_sub_parse_dispose), (gst_sub_parse_class_init), (gst_sub_parse_init), (gst_sub_parse_set_property), (gst_sub_parse_get_property), (convert_encoding): * gst/subparse/gstsubparse.h: Add 'encoding' property (#341681). * gst/subparse/samiparse.c: (characters_sami): Output is pango markup, so we need to escape text between tags (#342143). 2006-05-16 Tim-Philipp Müller * gst-libs/gst/audio/multichannel.c: (gst_audio_check_channel_positions): It's okay to have caps with channels=1 and a channel position different from GST_AUDIO_CHANNEL_POSITION_FRONT_MONO (deinterleavers might want to keep the position in the caps, so that they can be re-interleaved again properly later). Leave check for unexpected 2-channel layouts intact for now. 2006-05-16 Zaheer Abbas Merali * gst/tcp/gsttcp.c: (gst_tcp_socket_read): Return GST_FLOW_UNEXPECTED when we have an eos on the socket so basesrc can do its job correctly. 2006-05-16 Tim-Philipp Müller * ext/alsa/Makefile.am: * ext/alsa/gstalsa.c: (gst_alsa_detect_rates), (gst_alsa_detect_formats), (get_channel_free_structure), (caps_add_channel_configuration), (gst_alsa_detect_channels), (gst_alsa_probe_supported_formats): * ext/alsa/gstalsa.h: * ext/alsa/gstalsasink.c: (gst_alsasink_getcaps): Refactor and improve caps probing code: probe signedness when we probe the supported formats/widths; set endianness to the one we actually probed for (ie. cpu endianness). * ext/alsa/gstalsasrc.c: (gst_alsasrc_init), (gst_alsasrc_getcaps), (gst_alsasrc_close): * ext/alsa/gstalsasrc.h: Implement caps probing for alsasrc. 2006-05-15 Wim Taymans * ext/theora/theoradec.c: (gst_theora_dec_reset), (theora_dec_src_query), (theora_dec_src_event), (theora_dec_sink_event), (theora_handle_comment_packet), (theora_handle_data_packet), (theora_dec_change_state): Cleanups, add some G_LIKELY. Use segment helpers instead of our own wrong code. Clear queued buffers on seek and READY. * ext/vorbis/vorbisdec.c: (gst_vorbis_dec_reset), (vorbis_dec_convert), (vorbis_dec_src_query), (vorbis_dec_src_event), (vorbis_dec_sink_event), (vorbis_handle_comment_packet), (vorbis_dec_push), (vorbis_handle_data_packet), (vorbis_dec_chain), (vorbis_dec_change_state): * ext/vorbis/vorbisdec.h: Remove old useless packetno variable. Do position query properly. Add some G_LIKELY. Do cleanup of queued buffers in new helper function and use it. 2006-05-15 Tim-Philipp Müller * ext/alsa/gstalsasink.c: (gst_alsasink_getcaps): Query supported sample rates. Fixes #341732. 2006-05-15 Julien MOUTTE * gst/playback/gstdecodebin.c: (cleanup_decodebin), (gst_decode_bin_change_state): Make decodebin reusable when going from PAUSE_TO_READY and then back to PAUSED. Fixes #331678. 2006-05-15 Wim Taymans * ext/vorbis/vorbisdec.c: (vorbis_get_query_types), (vorbis_dec_convert), (vorbis_dec_src_query), (vorbis_dec_sink_query), (vorbis_dec_src_event), (vorbis_dec_sink_event), (vorbis_handle_identification_packet), (vorbis_dec_clean_queued), (vorbis_dec_push), (vorbis_handle_data_packet), (vorbis_dec_change_state): Cleanups. Use refcounting and DEBUG_OBJECT. Reset segment on flush, use code methods instead of our own wrong version. Fix potential memleak. 2006-05-15 Tim-Philipp Müller * ext/alsa/gstalsasink.c: (gst_alsasink_finalise), (gst_alsasink_init): * ext/alsa/gstalsasink.h: Don't leak allocated snd_output_t structure if there's more than one alsasink instance at a time (#341873). Also fix GObject macros in header file. 2006-05-15 Tim-Philipp Müller * gst/subparse/gstsubparse.c: (gst_sub_parse_data_format_autodetect): Don't use libxml functions in the typefinding code. 2006-05-15 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet): Fix seeking performance in the case where a non-header packet has a 0 granulepos (busted theora case). Fixes #341719 (nvdr: thanks Wim for not mentioning who spotted and fixed it in the first place, you limelight stealer you) 2006-05-15 Tim-Philipp Müller * gst/subparse/gstsubparse.c: (gst_sub_parse_data_format_autodetect): Improve SAMI typefinding: handle case where there are whitespaces or newlines in front of the first tag (#169936). 2006-05-15 Tim-Philipp Müller * configure.ac: Build video4linux plugin even if there's no XVIDEO, just without implementing the GstXOverlay interface (#334002). 2006-05-15 Tim-Philipp Müller * configure.ac: * ext/libvisual/visual.c: (gst_visual_actor_plugin_is_gl), (plugin_init): Add tentative support for libvisual-0.4 (#336881). 2006-05-15 Tim-Philipp Müller Patch by: Young-Ho Cha * gst/subparse/samiparse.c: (handle_start_font): Need to map "silver" colour explicitly (#169936). 2006-05-15 Tim-Philipp Müller Patch by: Young-Ho Cha * gst/subparse/Makefile.am: * gst/subparse/gstsubparse.c: (gst_sub_parse_dispose), (parser_state_dispose), (gst_sub_parse_data_format_autodetect), (gst_sub_parse_format_autodetect), (feed_textbuf), (gst_subparse_type_find), (plugin_init): * gst/subparse/gstsubparse.h: * gst/subparse/samiparse.c: * gst/subparse/samiparse.h: Add support for SAMI subtitles (#169936). 2006-05-14 Michael Smith * gst/audioconvert/gstchannelmix.c: (gst_channel_mix_fill_others): Fix #341696: crash when mixing L+R+C to mono or stereo. * tests/check/Makefile.am: * tests/check/elements/audioconvert.c: (set_channel_positions), (get_float_mc_caps), (get_int_mc_caps), (GST_START_TEST), (audioconvert_suite): Add test for the above, including some generic framework bits for testing multichannel things.