2008-10-28 Sebastian Dröge * gst/audioresample/gstaudioresample.c: (gst_audioresample_class_init), (audioresample_fixate_caps): Fixate the rate to the nearest supported rate instead of the first one. Fixes bug #549510. 2008-10-27 Wim Taymans * win32/common/libgstaudio.def: Add new symbols. 2008-10-23 Wim Taymans * ext/vorbis/vorbisdec.c: (vorbis_handle_identification_packet): Attempt to make obfuscated code clearer. 2008-10-23 Sebastian Dröge * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/floatcast/floatcast.h: Move float endianness conversion macros to core. Second part of bug ##555196. 2008-10-22 Stefan Kost * sys/ximage/ximagesink.h: * sys/xvimage/xvimagesink.h: Don't mark as gtk-doc docs as they aren't public. 2008-10-22 Stefan Kost * sys/xvimage/xvimagesink.c: * sys/xvimage/xvimagesink.h: * tests/icles/Makefile.am: * tests/icles/test-colorkey.c: Allow setting colorkey if possible. Implement property probe interface for optional X features (autopaint-colorkey, double-buffer and colorkey). Fixes #554533 2008-10-22 Sebastian Dröge * gst-libs/gst/tag/tags.c: (gst_tag_image_data_to_image_buffer): Remove useless buffer size assignment. It already has this value. 2008-10-20 Wim Taymans * gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_class_init), (gst_audioringbuffer_acquire), (gst_audioringbuffer_activate), (gst_audioringbuffer_release), (gst_audioringbuffer_stop): Implement a separate activate functions to start monitoring the segments or, in pull mode, pulling in data. * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_init), (gst_base_audio_sink_dispose), (gst_base_audio_sink_query_pad), (gst_base_audio_sink_query), (gst_base_audio_sink_setcaps), (gst_base_audio_sink_callback), (gst_base_audio_sink_activate_pull), (gst_base_audio_sink_async_play), (gst_base_audio_sink_change_state): Implement pad and element convert query function. Activate the ringbuffer. Use the segment last_stop value as the offset to pull. Use new basesink _do_preroll() method to preroll in the pulling thread. Take appropriate locking in the pulling thread. * gst-libs/gst/audio/gstringbuffer.h: Update some docs. 2008-10-20 Sebastian Dröge * gst/typefind/gsttypefindfunctions.c: (mxf_type_find): Improve MXF typefinding a bit by searching for a header partition pack instead of just a general partition pack and checking more bytes for valid values. 2008-10-20 Wim Taymans * tests/icles/.cvsignore: update ignore file. * tests/icles/Makefile.am: * tests/icles/test-box.c: (make_pipeline), (main): Add another interactive command line experimentation suite for dynamically boxing/cropping/saling an input video. 2008-10-17 Wim Taymans * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_convert), (gst_ring_buffer_activate), (gst_ring_buffer_is_active): * gst-libs/gst/audio/gstringbuffer.h: Add methods to more accuratly control the pulling thread of a ringbuffer. Add format conversion helper code to the ringbuffer. API: GstRingBuffer:gst_ring_buffer_activate() API: GstRingBuffer:gst_ring_buffer_is_active() API: GstRingBuffer:gst_ring_buffer_convert() 2008-10-16 Wim Taymans * gst-libs/gst/audio/gstaudiosink.c: (audioringbuffer_thread_func), (gst_audioringbuffer_acquire), (gst_audioringbuffer_release), (gst_audioringbuffer_stop): Signal thread startup earlier so that we can immediatly go into pull mode when we have to and block on preroll. 2008-10-16 Wim Taymans * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_prepare_read): In pull mode we want the callback to prepull a buffer we can preroll on even when we are not yet playing. 2008-10-16 Stefan Kost * ext/alsa/Makefile.am: * ext/cdparanoia/Makefile.am: * ext/gio/Makefile.am: * ext/gnomevfs/Makefile.am: * ext/libvisual/Makefile.am: * ext/ogg/Makefile.am: * ext/pango/Makefile.am: * ext/theora/Makefile.am: * ext/vorbis/Makefile.am: * gst/adder/Makefile.am: * gst/audioconvert/Makefile.am: * gst/audiorate/Makefile.am: * gst/audioresample/Makefile.am: * gst/audiotestsrc/Makefile.am: * gst/ffmpegcolorspace/Makefile.am: * gst/gdp/Makefile.am: * gst/playback/Makefile.am: * gst/subparse/Makefile.am: * gst/tcp/Makefile.am: * gst/typefind/Makefile.am: * gst/videorate/Makefile.am: * gst/videoscale/Makefile.am: * gst/videotestsrc/Makefile.am: * gst/volume/Makefile.am: * sys/v4l/Makefile.am: * sys/ximage/Makefile.am: * sys/xvimage/Makefile.am: Don't install static libs for plugins. Fixes #550851 for base. 2008-10-16 Wim Taymans * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audio_test_src_init): Set the default blocksize to -1 because we will then use the configured samplesperbuffer to create our output buffer. 2008-10-15 Edward Hervey * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps), (gst_riff_create_video_template_caps): Add mappping for the KMVC (Karl Morton's Video) Codec. 2008-10-15 Edward Hervey * gst/typefind/gsttypefindfunctions.c: (flac_type_find): Don't forget to advance the offset of what we're matching against, else we end up in a forever loop. 2008-10-15 Sebastian Dröge * gst/subparse/gstsubparse.c: (gst_subparse_type_find): Improve typefinding a bit. If we don't have a Unicode charset try GST_SUBTITLE_ENCODING and otherwise try ISO-8859-15. 2008-10-14 Edward Hervey * ext/theora/theoradec.c: (theora_dec_decode_buffer): Fix build on macosx. 2008-10-13 Wim Taymans Based on patch by: Robin Stocker * ext/theora/gsttheoradec.h: * ext/theora/theoradec.c: (gst_theora_dec_init), (theora_dec_setcaps), (theora_handle_type_packet), (theora_dec_decode_buffer), (theora_dec_change_state): Parse input caps and make the PAR override the encoded PAR when specified by a container. Fixes #555699. 2008-10-13 Wim Taymans * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_setcaps), (gst_base_rtp_depayload_chain), (gst_base_rtp_depayload_set_gst_timestamp), (gst_base_rtp_depayload_change_state): * gst-libs/gst/rtp/gstbasertpdepayload.h: Add some more G_LIKELY Fail when the setcaps function was not called. * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_set_outcaps): Propagate return value of setcaps. 2008-10-13 Sebastian Dröge * gst/subparse/Makefile.am: * gst/subparse/gstsubparse.c: (gst_sub_parse_dispose), (gst_sub_parse_class_init), (gst_sub_parse_init), (gst_convert_to_utf8), (detect_encoding), (convert_encoding), (get_next_line), (gst_sub_parse_data_format_autodetect), (feed_textbuf), (handle_buffer), (gst_sub_parse_change_state), (gst_subparse_type_find): * gst/subparse/gstsubparse.h: Add support for UTF16/UTF32 subtitles as long as the first bytes of the first buffer contain the BOM. This also adds support for other encodings that allow NUL bytes via the encoding property. Fixes bugs #552237 and #456788. 2008-10-13 Sebastian Dröge * gst-libs/gst/tag/tags.c: (gst_tag_image_data_to_image_buffer): Don't drop the last byte of image tags if they're not an URI list. Fixes bug #556066. 2008-10-13 Sebastian Dröge * gst/typefind/gsttypefindfunctions.c: (flac_type_find): For looking at the 4th byte we have to get 4 bytes of course and not 3. 2008-10-13 Sebastian Dröge * gst/typefind/gsttypefindfunctions.c: (flac_type_find): Improve FLAC-without-headers typefinding by looking at most of the frame header and checking if invalid values are used. Should prevent quite some false positives compared to the old version which only check if the first 14 bits are set. 2008-10-11 Stefan Kost * sys/xvimage/xvimagesink.c: Don't assert on caps==NULL. 2008-10-10 Sebastian Dröge * gst/subparse/gstsubparse.c: (gst_sub_parse_data_format_autodetect), (handle_buffer), (gst_sub_parse_change_state): * gst/subparse/gstsubparse.h: * tests/check/elements/subparse.c: (GST_START_TEST): Add support for subtitle files with UTF-8 BOM at the beginning by simple stripping it from the first line before passing it to any parsing code. Fixes bug #555257 and playback of files created by Gnome Subtitles. 2008-10-10 Wim Taymans * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audio_test_src_class_init), (gst_audio_test_src_init), (gst_audio_test_src_src_fixate), (gst_audio_test_src_setcaps), (gst_audio_test_src_start), (gst_audio_test_src_stop), (gst_audio_test_src_do_seek), (gst_audio_test_src_check_get_range), (gst_audio_test_src_create): * gst/audiotestsrc/gstaudiotestsrc.h: Define the default property values in the usual place. Implement start/stop to reset values correctly. Calculate the sample size only once when we negotiate. Rename some values to make more sense. Keep track of our byte range. Add support for pull based scheduling. Disabled for now until we have the whole stack working. Set the BUFFER_OFFSET correctly. 2008-10-10 Sebastian Dröge Based on a patch by: xavierb at gmail dot com * gst/subparse/gstsubparse.c: (gst_sub_parse_data_format_autodetect): * tests/check/elements/subparse.c: (GST_START_TEST): Make the detection of the used subtitle a bit less strict for srt subtitles. Fixes bug #555607. 2008-10-10 Sebastian Dröge * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_buffer_check_discontinuous): Fix discontinuity detection which was broken by last commit. 2008-10-09 Tim-Philipp Müller * configure.ac:: Require core CVS for ghostpad API additions used by decodebin2. 2008-10-08 Edward Hervey * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_create): Fix debug statements (space between '%' and actual format). 2008-10-08 Wim Taymans * gst/playback/gstdecodebin2.c: (gst_decode_pad_activate): Remove bogus assert, the decodepad could have been created inside an already existing group. 2008-10-08 Andy Wingo * gst/playback/gstdecodebin2.c (expose_pad): Fix typo: unset target instead of setting it. (gst_decode_pad_activate, gst_decode_pad_unblock): This is now the API for a decode pad. The bugfix is that we set the group in activate(), not when the pad was created because it might be NULL then. (gst_decode_group_control_source_pad, gst_decode_group_expose): Update to use the API. 2008-10-08 Andy Wingo * gst/playback/gstdecodebin2.c (struct _GstDecodePad): Change to be a subclass of GstGhostPad. (analyze_new_pad): So, when emitting the signals that determine how we do autoplugging, already create the ghost pad and use it as the pad in the signal arguments. This allows applications to make a connection between the pad passed in e.g. autoplug-continue, and the pad passed in new-decoded-pad. (connect_pad, expose_pad): Update to receive the ghosted decode pad in the args, retargetting it as necessary if we have to plug the target pad through a multiqueue. (gst_decode_group_control_source_pad): Adapt to receive an already-ghosted pad that just needs activation, blocking, and drain notification. (sort_end_pads): Adapt for decode pads actually being pads. (gst_decode_group_expose): Adapt for decode pads actually being pads. Rewrite the decode pad names so they appear in order. Adds a new error case if we couldn't set the name. (gst_decode_group_free, gst_decode_group_hide): Adapt cleanup logic. (gst_decode_pad_set_blocked, gst_decode_pad_add_drained_check): New API for the decode pad, needed because we shouldn't do these things inside gst_decode_pad_new(), but after. (gst_decode_pad_new): Change to actually make the real pad, and delay the blocking/drainage bits. 2008-10-08 Sebastian Dröge Patch by: Daniel Drake * ext/ogg/gstoggmux.c: (gst_ogg_mux_clear_collectpads): Unref all buffers when clearing collectpads. Fixes bug #546955. 2008-10-08 Sebastian Dröge Based on a patch by: Klaas * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_sink_event), (gst_vorbis_enc_buffer_check_discontinuous), (gst_vorbis_enc_chain), (gst_vorbis_enc_change_state): * ext/vorbis/vorbisenc.h: Keep track of the upstream segments and use the running time on that segment instead of the buffer timestamp everywhere. Fixes bug #525807. 2008-10-08 Sebastian Dröge * gst/audioconvert/audioconvert.c: (audio_convert_convert): Prevent overflows with big buffer when calculating the size of the intermediate buffer by using gst_util_uint64_scale() instead of plain arithmetics. Fixes bug #552801. 2008-10-08 Sebastian Dröge Patch by: Pavel Zeldin * ext/pango/gstclockoverlay.c: (gst_clock_overlay_render_time), (gst_clock_overlay_class_init), (gst_clock_overlay_finalize), (gst_clock_overlay_init), (gst_clock_overlay_set_property), (gst_clock_overlay_get_property): * ext/pango/gstclockoverlay.h: API: Add ability to specify format for date/time display by adding a "time-format" property. Fixes bug #554879. 2008-10-08 Sebastian Dröge Patch by: Jan Gerber * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps), (gst_riff_create_video_template_caps): Add FFV1 fourcc to support playback of FFMPEG lossless video in AVI. Fixes bug #555319. 2008-10-08 Wim Taymans Patch by: Håvard Graff * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_create): Implement skew clock slaving. Fixes #552559. 2008-10-08 Wim Taymans * gst-libs/gst/audio/multichannel.c: * gst-libs/gst/audio/testchannels.c: Fix include of config.h 2008-10-06 Wim Taymans Based on Patch by: Tero Saarni * gst-libs/gst/sdp/gstsdpmessage.c: (gst_sdp_parse_line), (print_media), (gst_sdp_message_dump): Fix parsing of the c= field containing multicast addresses. Fixes #552199. Add the connection info to the session or streams. Fix parsing of the bandwidth. Add debugging for the connections and bandwidths for a media. Add debugging for the bandwidth of the session. 2008-10-06 Wim Taymans * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_change_state): Configure the next seqnum and timestamp in the state change so that they can be queried soon after. 2008-10-06 Wim Taymans * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_chain): Improve debugging of the rtptime. 2008-10-05 Jan Schmidt * configure.ac: Back to development -> 0.10.21.1 2008-10-05 Sebastian Dröge * gst/typefind/gsttypefindfunctions.c: (flac_type_find), (plugin_init): Add typefinding for FLAC without headers in the beginning. This is already handled by flacdec and friends. 2008-10-05 Sebastian Dröge * gst/typefind/gsttypefindfunctions.c: (mxf_type_find), (plugin_init): Add typefinder for MXF. 2008-10-03 Jan Schmidt * tests/icles/Makefile.am: Only build test-colorkey if GTK+ is available. === release 0.10.21 === 2008-10-03 Jan Schmidt * configure.ac: releasing 0.10.21, "We Could Be Wrong" 2008-09-28 Jan Schmidt * configure.ac: 0.10.20.4 pre-release 2008-09-25 Wim Taymans Patch by: Vincent Penquerc'h * ext/theora/theoraparse.c: (theora_parse_set_streamheader): Set the BOS flag on the BOS packet. Fixes #553244. 2008-09-23 Wim Taymans * gst-libs/gst/rtsp/gstrtspmessage.c: (gst_rtsp_message_parse_request), (gst_rtsp_message_parse_response): Fix the g_return_val_if_fail() statements. 2008-09-22 Michael Smith * gst-libs/gst/tag/gsttagdemux.c: Fail to activate if there's insufficient data in the file to be usable, preventing an assertion fail later. Fixes #552960 2008-09-15 Tim-Philipp Müller * gst-libs/gst/pbutils/descriptions.c: * gst/typefind/gsttypefindfunctions.c: Recognise Kate subtitle streams (#550582). 2008-09-13 Tim-Philipp Müller * gst-libs/gst/audio/audio.h: (GST_AUDIO_FIELD_SIGNED): Remove trailing comma from enum list, which causes problems with -pendantic (#550729). 2008-09-10 Jan Schmidt * configure.ac: 0.10.20.2 pre-release * po/LINGUAS: * po/id.po: * po/pt_BR.po: New translations. 2008-09-05 Tim-Philipp Müller * gst-libs/gst/interfaces/propertyprobe.c: (gst_property_probe_get_properties), (gst_property_probe_get_property), (gst_property_probe_probe_property), (gst_property_probe_probe_property_name), (gst_property_probe_needs_probe), (gst_property_probe_needs_probe_name), (gst_property_probe_get_values), (gst_property_probe_get_values_name), (gst_property_probe_probe_and_get_values), (gst_property_probe_probe_and_get_values_name): More sanity checks for our second-favourite interface. 2008-09-05 Stefan Kost * gst-libs/gst/interfaces/propertyprobe.c: Check for NULL pointer, in the hope that this fixes #532864. 2008-09-05 Tim-Philipp Müller * sys/xvimage/xvimagesink.c: (gst_xvimagesink_class_init): No really, the next release is 0.10.21 (fix Since: tags in docs). 2008-09-04 Wim Taymans * gst-libs/gst/audio/gstaudiosrc.c: (gst_audioringbuffer_stop): Disable a code path that is now called but causes a deadlock for some reason and is unneeded. 2008-09-04 Stefan Kost * sys/xvimage/xvimagesink.c: * sys/xvimage/xvimagesink.h: Add a "draw-border" property that can be set to false to disable drawing borders. * tests/icles/test-colorkey.c: * tests/icles/Makefile.am: Add new test application for the colorkey handling. 2008-09-03 Edward Hervey * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps): Use a decent caps for TrueSpeech instead of a ffmpeg-specific one. This will also be fixed for upcoming gst-ffmpeg release so that once this release of -base is out, it will work with the latest gst-ffmpeg release. 2008-09-03 Edward Hervey * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps), (gst_riff_create_audio_template_caps): Add Truespeech mapping for RIFF formats (AVI/WAV). Fixes #550656 2008-09-03 Mark Nauwelaerts * gst/typefind/gsttypefindfunctions.c: (plugin_init): Typefind video/mj2 and image/jp2 ISO JPEG2000 mime types. Fixes #550638. 2008-09-03 Stefan Kost * configure.ac: * gst/subparse/Makefile.am: * gst/subparse/gstsubparse.c: * gst/subparse/samiparse.c: * tests/check/elements/subparse.c: Rework last change, so that we build subparse, but just disable the sami parse functionality, if we're configured to not use xml. In the tests only the sami test is disabled now. 2008-09-02 Stefan Kost * configure.ac: Disable subparse when xml is disabled. It woundn't work anyway. Fixes test runs. 2008-09-02 Tim-Philipp Müller * po/POTFILES.in: Add some more files with strings for translation. 2008-09-02 Stefan Kost * gst-libs/gst/tag/gstvorbistag.c: * tests/check/libs/tag.c: Use new geo location tags from core. Fixes #481169 2008-09-01 Edward Hervey * tests/check/elements/audioresample.c: (setup_audioresample), (fail_unless_perfect_stream), (test_perfect_stream_instance), (test_discont_stream_instance): Now that GstBaseTransform is 'fixed' ... remove cruft from tests. Add debugging for coherence. 2008-08-30 Tim-Philipp Müller Patch by: Jonathan Matthew * gst/typefind/gsttypefindfunctions.c: (plugin_init): Add typefinder for PDF documents (which is nice to have, since it's a common format, but also helps prevent false positives). Fixes #549814. 2008-08-27 Wim Taymans * gst/playback/gstplaybin2.c: (selector_blocked), (pad_added_cb), (no_more_pads_cb): Fix nasty race where multiple decodebins could start pushing data before we manage to configure the sinks, resulting in not-linked errors in typical RTSP streaming cases. 2008-08-26 Wim Taymans * gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_stop): Since we now call stop, we trigger this code path that causes a deadlock is apparently not needed. 2008-08-26 Wim Taymans * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_start), (gst_ring_buffer_stop): Also allow the case where the ringbuffer was paused when we try to stop it so that the basesrc stop function is still called. 2008-08-23 Sebastian Dröge Patch by: Mike Ruprecht * sys/v4l/gstv4lelement.c: (gst_v4l_class_probe_devices): Reprobe devices again instead of taking a cached list as new devices could've been plugged in. Fixes bug #549062. 2008-08-23 Sebastian Dröge Patch by: Alessandro Dessina * ext/ogg/gstoggdemux.c: (gst_ogg_demux_deactivate_current_chain), (gst_ogg_demux_activate_chain): Don't add pads and activate them for skeleton streams. These are already handled inside oggdemux. Fixes bug #537599. 2008-08-22 Wim Taymans * ext/vorbis/vorbisdec.c: (vorbis_dec_change_state): Reset variable so that query and convert fail after going back to READY. Fixes #548898. 2008-08-22 Sebastian Dröge * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_chain): If a buffer arrives with a timestamp before the timestamp+duration of the previous buffer clip it instead of dropping it completely. Slight improvement for the unfixable bug #548913. 2008-08-21 Sebastian Dröge * ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet): Take the current timestamp instead of timestamp+duration for the offset. This offset will later be used for calculating the timestamp and otherwise vorbisdec will interpolate timestamps wrong if upstream only sends timestamps and no granulepos. 2008-08-21 Stefan Kost * tests/examples/seek/seek.c: Don't crash when having no visualisations. 2008-08-16 David Schleef * gst/typefind/gsttypefindfunctions.c: DV typefinding. Remove check for a bit that is 0 in IEC 61384, but not SMPTE 314M. Fixes #548065. 2008-08-15 Sebastian Dröge * gst-libs/gst/pbutils/missing-plugins.c: (copy_and_clean_caps): When cleaning up the caps fields also remove "depth" for the same reason we remove "width". 2008-08-14 Tim-Philipp Müller * gst-libs/gst/pbutils/descriptions.c: (format_info_get_desc): Add Lead H.264 here as well. 2008-08-14 Julien Moutte * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps), (gst_riff_create_video_template_caps): Add Lead H.264 variant. 2008-08-13 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_create): When not slaved to another clock also subtract the base_time from our internal clock time to get the running time. 2008-08-12 David Schleef * ext/theora/theoraenc.c: Remove the 2000 kbit limit to bitrate, since it has no basis in libtheora. 2008-08-12 Stefan Kost * gst-libs/gst/interfaces/propertyprobe.h: Remove double "interface" from doc-string. * gst-libs/gst/interfaces/xoverlay.h: Document interface. * gst-libs/gst/riff/riff.c: Add basic doc blobs. 2008-08-11 Stefan Kost * gst-libs/gst/audio/Makefile.am: Don't try to build that example anymore. 2008-08-11 Stefan Kost * gst-libs/gst/audio/.cvsignore: * gst-libs/gst/audio/Makefile.am: * gst-libs/gst/audio/gstaudiofiltertemplate.c: * gst-libs/gst/audio/make_filter: Move audiofiltertemplate to gst-template. 2008-08-11 Stefan Kost * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/audio/gstaudiosrc.h: More docs and shuffling. What can we do with the hundreds of #defines. 2008-08-11 Stefan Kost * gst-libs/gst/audio/audio.h: * gst-libs/gst/audio/gstaudiofilter.h: * gst-libs/gst/audio/gstringbuffer.h: * gst-libs/gst/interfaces/propertyprobe.h: * gst-libs/gst/tag/gsttagdemux.h: Reducing number of dundocumented symbols. 2008-08-11 Stefan Kost * gst-libs/gst/audio/audio.c: Fix doc comment syntax. * gst-libs/gst/interfaces/propertyprobe.c: Add more doc-comments and a FIXME: for the signal. 2008-08-07 Sebastian Dröge * ext/ogg/gstoggmux.c: (gst_ogg_mux_sink_event), (gst_ogg_mux_request_new_pad): * ext/ogg/gstoggmux.h: Don't pretend to support NEWSEGMENT events, instead override the GstCollectPads event function to return FALSE on NEWSEGMENT events and do the normal work for other events. This prevents elements like flacenc to seek to the start and rewrite some data which then results in a broken Ogg packet. 2008-08-07 Tim-Philipp Müller Patch by: Frederic Crozat * ext/alsa/gstalsaplugin.c: (plugin_init): * ext/cdparanoia/gstcdparanoiasrc.c: (plugin_init): * ext/gnomevfs/gstgnomevfs.c: (plugin_init): * ext/ogg/gstoggdemux.c: (gst_ogg_demux_plugin_init): * gst-libs/gst/audio/gstbaseaudiosrc.c: (_do_init): * gst-libs/gst/pbutils/pbutils.c: (gst_pb_utils_init): * gst-libs/gst/tag/tags.c: (gst_tag_register_tags_internal): * gst/playback/gstdecodebin.c: (plugin_init): * gst/playback/gstdecodebin2.c: (gst_decode_bin_plugin_init): * gst/playback/gstplayback.c: (plugin_init): * gst/playback/gstqueue2.c: (plugin_init): * gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_plugin_init): * sys/v4l/gstv4l.c: (plugin_init): Make sure gettext returns translations in UTF-8 encoding rather than in the current locale encoding (#546822). 2008-08-06 Stefan Kost * gst-libs/gst/pbutils/descriptions.c: Add audio/x-qdm for qtdemux. 2008-08-05 Stefan Kost * ext/vorbis/vorbisdec.c: Do not leak old taglist. 2008-08-04 Stefan Kost * tests/icles/test-scale.c: Include for atoi(). 2008-08-04 Andy Wingo * gst/audiotestsrc/gstaudiotestsrc.c: Very crucial and important documentation fix. 2008-08-01 Stefan Kost * gst/adder/gstadder.c: Cleanup lots of empty lines that came from gst-indent going havoc before I added the INDENT_ON/OFF marker some time agao. 2008-08-01 Stefan Kost * configure.ac: * gst-libs/gst/riff/riff-read.c: Bump requirement to latest core and use new tag for riff formats. Needed for #520694. 2008-08-01 Wim Taymans * tests/examples/dynamic/Makefile.am: * tests/examples/dynamic/codec-select.c: (make_encoder), (make_pipeline), (do_switch), (my_bus_callback), (main): Add example app that dynamically switches between 3 'encoders'. 2008-07-31 Wim Taymans * gst/playback/gstplaysink.c: (gst_play_sink_set_vis_plugin): Add some more comments. 2008-07-31 Wim Taymans * gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_getcaps), (gst_video_test_src_create): Discard buffers of the wrong size after renegotiation, this is perfectly possible with things like capsfilter that could suggest caps changes upstream without knowing the size of the buffer. 2008-07-31 Wim Taymans * tests/icles/.cvsignore: * tests/icles/Makefile.am: * tests/icles/test-scale.c: (make_pipeline), (main): Add dynamic rescaling tests for the new basetransform. 2008-07-30 Tim-Philipp Müller * gst/audioconvert/Makefile.am: Dist recently-added gstfastrandom.h. 2008-07-30 Edward Hervey * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support): Fix a "may be used uninitialized in this function" which weirdly only appears on macosx (?). 2008-07-30 Stefan Kost * gst-libs/gst/riff/riff-ids.h: Adding acid chunk for tempo and loop information. 2008-07-29 Stefan Kost * sys/xvimage/Makefile.am: floor() needs linking to $(LIBM). 2008-07-29 Stefan Kost * ext/gnomevfs/gstgnomevfssrc.c: Aggregate short reads and add some comments and debug logging. Fixes #537380 2008-07-29 Stefan Kost * gst/playback/gstplaybasebin.c: Fix property doc markup (its not a signal). * sys/xvimage/xvimagesink.c: Add since tag for new proeprties (also add sice tags fro the last two other additions). 2008-07-29 Stefan Kost * sys/xvimage/xvimagesink.c: * sys/xvimage/xvimagesink.h: Add autofill/colorkey properties. Fixes #538656. 2008-07-28 David Schleef * sys/xvimage/xvimagesink.c: Fix rounding errors when converting colorbalance values between hardware and object property ranges. Partial fix for #537889, however, there still seems to be a small drift problem that could be totem's fault. 2008-07-28 Sebastian Dröge * ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain_peer), (gst_ogg_demux_perform_seek), (gst_ogg_demux_handle_page): Don't use GST_CLOCK_TIME_NONE as start of NEWSEGMENT events. This fixes a critical warning. 2008-07-28 Sebastian Dröge * ext/ogg/gstoggmux.c: Allow muxing of CELT into Ogg streams. 2008-07-28 Sebastian Dröge * gst/typefind/gsttypefindfunctions.c: (celt_type_find), (plugin_init): Add simple typefinder for the CELT codec (www.celt-codec.org). 2008-07-27 Sebastian Dröge Patch by: Jan Gerber * ext/ogg/gstoggdemux.c: (gst_ogg_pad_parse_skeleton_fisbone): Fix calculation of the start time from skeleton streams. Fixes bug #530068. 2008-07-24 Stefan Kost * tests/examples/seek/seek.c: Use 64 bit constant GST_CLOCK_TIME_NONE instead of plain -1. 2008-07-23 Sebastian Dröge * gst/audioconvert/audioconvert.h: * gst/audioconvert/gstaudioquantize.c: (gst_audio_quantize_setup_dither), (gst_audio_quantize_free_dither): * gst/audioconvert/gstfastrandom.h: Implement a linear congruential generator as pseudo random number generator for the dither noise. This is about 2 times faster than using GLib's mersenne twister. Also this uses only integer math for generating integers while GLib internally uses floating point math. 2008-07-23 Michael Smith * configure.ac: Remove AC_ISC_POSIX; it breaks on some systems and is not needed. 2008-07-23 Tim-Philipp Müller Patch by: Damien Lespiau * gst-libs/gst/sdp/gstsdpmessage.c: (print_media): Use GST_STR_NULL to avoid crashes with libcs that don't like NULL strings in printf args (such as the win32 one). Fixes #544306. 2008-07-17 Jan Schmidt * sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls): Oops - set the size of the image used for probing back to 1x1, for consistency with ximagesink 2008-07-17 Jan Schmidt * sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls), (gst_ximagesink_ximage_new): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_new): Apparently on Solaris and OS/X (at least), it's not legal to ask the X server to attach to a shared memory segment after we've deleted it, with the result that MIT-SHM is disabled. Instead, remove it only after X succeeds in attaching too. 2008-07-16 David Schleef * gst/audiotestsrc/gstaudiotestsrc.c: * gst/audiotestsrc/gstaudiotestsrc.h: Add 'ticks', a 1/30 second sine wave pulse every second. 2008-07-15 David Schleef * gst-libs/gst/video/video.c: Revert ABI change. 2008-07-15 Sebastian Dröge * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps): Make it impossible to have NULL caps at the point where we set framerate and other things. Also don't return immediately for "3ivd" video and let framerate, etc be set. Might fix bug #542508. 2008-07-14 Mark Nauwelaerts * gst-libs/gst/video/video.c: (gst_video_format_parse_caps): Video format can also be conveniently determined from (many) non-fixed caps. 2008-07-14 Jan Schmidt * gst/playback/gstplaybasebin.c: * gst/playback/gstplaybasebin.h: * gst/playback/gstplaybin.c: * gst/playback/gststreamselector.c: First stab at integrating DVD subpicture overlay into playbin. Successfully plugs and plays, but the queues need shrinking - 3 seconds of video is too much buffering. 2008-07-11 Stefan Kost * gst/audioconvert/gstaudioconvert.c: Remove now obsolete note in the docs. 2008-07-11 Stefan Kost * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/gst-plugins-base-plugins-overrides.txt: * docs/plugins/gst-plugins-base-plugins-sections.txt: * docs/plugins/gst-plugins-base-plugins.args: * docs/plugins/gst-plugins-base-plugins.hierarchy: * docs/plugins/gst-plugins-base-plugins.interfaces: * docs/plugins/gst-plugins-base-plugins.prerequisites: * docs/plugins/gst-plugins-base-plugins.signals: * 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-playback.xml: * docs/plugins/inspect/plugin-queue2.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-uridecodebin.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: * ext/alsa/gstalsamixer.c: * ext/alsa/gstalsasink.c: * ext/alsa/gstalsasrc.c: * ext/gio/gstgiosink.c: * ext/gio/gstgiosrc.c: * ext/gio/gstgiostreamsink.c: * ext/gio/gstgiostreamsrc.c: * ext/gnomevfs/gstgnomevfssink.c: * ext/gnomevfs/gstgnomevfssrc.c: * ext/ogg/gstoggdemux.c: * ext/ogg/gstoggmux.c: * ext/pango/gstclockoverlay.c: * ext/pango/gsttextoverlay.c: * ext/pango/gsttextrender.c: * ext/pango/gsttimeoverlay.c: * ext/theora/theoradec.c: * ext/theora/theoraenc.c: * ext/theora/theoraparse.c: * ext/vorbis/vorbisdec.c: * ext/vorbis/vorbisenc.c: * ext/vorbis/vorbisparse.c: * ext/vorbis/vorbistag.c: * gst/adder/gstadder.c: * gst/audioconvert/gstaudioconvert.c: * gst/audioresample/gstaudioresample.c: * gst/audiotestsrc/gstaudiotestsrc.c: * gst/ffmpegcolorspace/gstffmpegcolorspace.c: * gst/gdp/gstgdpdepay.c: * gst/gdp/gstgdppay.c: * gst/playback/gstdecodebin2.c: * gst/playback/gstplaybin.c: * gst/playback/gstplaybin2.c: * gst/playback/gstqueue2.c: * gst/playback/gsturidecodebin.c: * gst/tcp/gstmultifdsink.c: * gst/tcp/gsttcpserversink.c: * gst/videorate/gstvideorate.c: * gst/videoscale/gstvideoscale.c: * gst/videotestsrc/gstvideotestsrc.c: * gst/volume/gstvolume.c: * sys/ximage/ximagesink.c: * sys/xvimage/xvimagesink.c: Cleanup Plugin docs. Link to signals and properties. Fix sub-section titles. Drop mentining that all our example pipelines are "simple" pipelines. 2008-07-07 Sebastian Dröge * tests/examples/seek/Makefile.am: Fix out of tree build by adding all required CFLAGS. 2008-07-07 Sebastian Dröge * gst/playback/gstdecodebin.c: (add_raw_queue): And ref the pad before returning it again when linking to the queue failed. Otherwise we will unref the pad twice later and things break. 2008-07-07 Sebastian Dröge * gst/playback/gstdecodebin.c: (add_raw_queue): If linking the raw pad with a queue fails, try it without a queue instead of failing completely. This should never happen. 2008-07-07 Sebastian Dröge Patch by: Evgeniy Stepanov * gst/playback/gstdecodebin.c: (add_raw_queue), (close_pad_link): Add a queue after a demuxer if the demuxer outputs raw data. This was done before only for non-raw data but is required in this case too. Fixes bug #540215. decodebin2 doesn't have this issue because all streams of a group go through multiqueue. 2008-07-03 Wim Taymans Patch by: Damien Lespiau * gst-libs/gst/sdp/gstsdpmessage.c: Makes libgstsdp compile with mingw32 by defining the right WINVER so that getaddrinfo() can be used. Fixes #541358. 2008-07-01 Wim Taymans * gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_class_init), (gst_video_test_src_init), (gst_video_test_src_set_property), (gst_video_test_src_get_property), (gst_video_test_src_create): * gst/videotestsrc/gstvideotestsrc.h: Cleanups, use default property values as defines. Add property to enable/disable peer buffer allocation. 2008-06-30 Sebastian Dröge * tests/check/elements/gdpdepay.c: (gdpdepay_suite): * tests/check/pipelines/streamheader.c: (streamheader_suite): Enable unit tests on PPC again as the bugs are now fixed. 2008-06-30 Sebastian Dröge * 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 support for ADPCM IMA DK3 and DK4 variant in RIFF containers. Fixes bug #540351. 2008-06-30 Sebastian Dröge * gst/ffmpegcolorspace/gstffmpegcodecmap.c: (gst_ffmpeg_pixfmt_to_caps): * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_get_unit_size): Only set/get on the PAL8 format, ffmpegcolorspace doesn't support it on other formats. Also adjust the unit size only for that format to not include the palette. Fixes bug #540497. 2008-06-29 Stefan Kost * gst/adder/gstadder.c: Use GST_DEBUG_FUNCPTR and remove some extra vlnak lines. 2008-06-27 Stefan Kost * ChangeLog: ChangeLog surgery. * tests/examples/seek/seek.c: Move variable into ifdef too. 2008-06-27 Stefan Kost * tests/examples/seek/seek.c: Include config.h and check if we have X. Remove XInitThread(), don't think its needed. Fixes: #540334. 2008-06-26 Sebastian Dröge Patch by: Sam Morris * gst-libs/gst/interfaces/mixertrack.c: (gst_mixer_track_class_init), (gst_mixer_track_get_property), (gst_mixer_track_set_property): API: Add "index" property to GstMixerTrack to differantiate between multiple mixer tracks with the same label. * ext/alsa/gstalsamixeroptions.c: (gst_alsa_mixer_options_new): * ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_new): Set the "index" property of GstMixerTrack to the index given by ALSA. Fixes bug #528299. 2008-06-25 Stefan Kost * tests/examples/seek/Makefile.am: * tests/examples/seek/seek.c: Remove libgstvideo usage. Use gtk_get_option_group instead of gtk_init(). 2008-06-24 Stefan Kost * tests/check/Makefile.am: Name the test registry format neutral. 2008-06-24 Stefan Kost * gst/playback/gstqueue2.c: Do not double notify. Remove the unsued return value. 2008-06-24 Stefan Kost * ext/alsa/gstalsamixer.c: Also consider "speaker" as a name for master volume. If that doesn't help look for the first non-mono volume control that also has a playback switch. 2008-06-24 Stefan Kost * ChangeLog: Forgot to save the ChangeLog :/ 2008-06-24 Stefan Kost * tests/examples/seek/Makefile.am: * tests/examples/seek/seek.c: Embedd the xwindow. Allow to play multiple files. 2008-06-24 Jan Schmidt * sys/ximage/ximagesink.c (gst_ximagesink_ximage_put), (gst_ximagesink_setcaps): * sys/ximage/ximagesink.h: When the caps change, make sure to re-draw borders in force-aspect-ratio=true mode. * sys/xvimage/xvimagesink.c (gst_xvimagesink_xvimage_put): Don't clear the border_draw flag until we actually draw the border. * tests/check/Makefile.am: Ignore alsasink/src during the states test too, so it doesn't fail when running without access to the sound device. 2008-06-22 Stefan Kost * tests/examples/seek/seek.c: Fix crasher when playing a parse-launch line the 2nd time. 2008-06-21 Thomas Vander Stichele * tests/check/pipelines/oggmux.c: Properly ifdef tests to fix compilation. 2008-06-20 Michael Smith * gst/playback/gstplay-marshal.list: * gst/playback/gstplaybin2.c: Add get-video-pad, get-audio-pad, get-text-pad action signals to playbin2. This allows the user to get to the selector's sinkpads, and thus inspect a range of things - caps, tags, etc. 2008-06-20 Michael Smith * gst/playback/gstplaybin2.c: Use a different constant for the convert-frame signal id. Fixes #537009. 2008-06-20 Michael Smith * gst/playback/gstplaybin2.c: * gst/playback/gstplaysink.c: Fix a whole bunch of typos in comments and log statements. 2008-06-20 Michael Smith * sys/xvimage/xvimagesink.c: Don't set colour balance values on the Xv port if the user hasn't changed them (via properties or the interface). Avoids accumulating rounding errors for the common case. Partial fix for bug #537889. 2008-06-20 Michael Smith * gst/playback/gstdecodebin2.c: Ensure decodebin2 emits 'drained' signal once, and only once, when all pads are drained. 2008-06-20 Wim Taymans * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_get_latency), (gst_vorbis_enc_src_query), (gst_vorbis_enc_chain): Report the encoder latency. Fixes #538232. 2008-06-20 Wim Taymans * gst/playback/gstplaybin2.c: (gst_play_bin_get_property), (notify_source), (activate_group): Implement the source property, emit notify when it changes in the underlying uridecodebin. 2008-06-20 Wim Taymans * tests/examples/seek/seek.c: (stop_cb): Free and clear the seek element list so that we don't use invalid references when seeking after recreating a gst-launch line. 2008-06-20 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_query), (gst_base_audio_sink_skew_slaving), (gst_base_audio_sink_render): Report latency even if we are not live instead of hiding it. Take ts-offset and render-delay of the basesink into account when scheduling samples. Rework the clipping code so that we can take the various offsets into account and still do correct clipping. 2008-06-20 Jan Schmidt * configure.ac: Bump verion back to devel -> 0.10.20.1 2008-06-20 Sebastian Dröge * gst-libs/gst/tag/tags.c: (gst_tag_image_data_to_image_buffer): Don't increase the size of non-string image buffers by one as this might in theory confuse decoders. Still increase it by one for string image buffers to append '\0'. 2008-06-20 Sebastian Dröge Patch by: Antoine Tremblay * gst/gdp/gstgdppay.c: (gst_gdp_pay_reset): Fix a buffer memleak and remove a confusing and wrong debug output. Fixes bug #538663. === release 0.10.20 === 2008-06-18 Jan Schmidt * configure.ac: releasing 0.10.20, "Here I Go Again" 2008-06-11 Jan Schmidt * configure.ac: 0.10.19.3 pre-release 2008-06-11 Jan Schmidt * gst-libs/gst/rtsp/gstrtspconnection.c: Fix build on win32. Patch By: David Schleef Fixes: #536874 2008-06-11 Sebastian Dröge * ext/gio/gstgiobasesrc.c: (gst_gio_base_src_finalize), (gst_gio_base_src_create): * ext/gio/gstgiobasesrc.h: Try to read the requested number of bytes, even if the first read returns less than requested, until nothing is read anymore or we have the requested amount of bytes. This fixes playback of files via Samba as Samba only allows to read 64k at once. Implement a caching algorithm that makes sure that we read at least 4k of data every time. Some elements will try to read a few bytes, then seek, read again a few bytes and so on and this is painfully slow as every operation has to go over DBus if GVfs is used as backend. Fixes bug #536849 and #536848. * ext/gio/gstgiosrc.c: (gst_gio_src_class_init), (gst_gio_src_check_get_range): Override check_get_range() to blacklist http/https URIs and whitelist file URIs. More to be added on demand. 2008-06-05 Jan Schmidt * configure.ac: 0.10.19.2 pre-release 2008-06-04 Jan Schmidt * win32/common/libgstrtsp.def: * win32/common/libgsttag.def: Add new API functions to the dll exports 2008-06-04 Michael Smith * gst/playback/gstplaybasebin.c: Disconnect signals from decodebins we created before we remove it from playbin, to avoid crashes if the decodebin is eventually disposed after the playbin itself (possible if the app takes a reference on the decodebin). Fixes #536521. 2008-06-04 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (aac_type_find), (mp3_type_find), (musepack_type_find), (MULTIPART_MAX_HEADER_SIZE), (mpeg_sys_type_find), (mpeg_ts_type_find), (mpeg4_video_type_find), (h264_video_type_find), (mpeg_video_stream_type_find), (dv_type_find), (mmsh_type_find): Bunch of small clean-ups: use gst_type_find_suggest_simple(); don't copy caps for no good reason (this may be desirable to make it easier to detect leaks, but then it should probably be done for all caps in the typefinder somewhere). 2008-06-04 Peter Kjellerstedt * tests/check/Makefile.am: Do not try to run the check tests for subparse unless it has been built. 2008-06-04 Peter Kjellerstedt * tests/check/pipelines/streamheader.c: (buffer_probe_cb), (test_multifdsink_gdp_vorbisenc), (streamheader_suite): Do not try to run a test which requires vorbisenc unless we have actually built it. 2008-06-04 Peter Kjellerstedt * gst-libs/gst/rtsp/gstrtspconnection.c: (gst_rtsp_connection_set_auth), (gst_rtsp_connection_set_auth_param), (gst_rtsp_connection_clear_auth_params), (gst_rtsp_connection_set_qos_dscp), (gst_rtsp_connection_get_ip): * gst-libs/gst/rtsp/gstrtspconnection.h: Add a couple of missing argument guards. Add a way of setting the DSCP for an RTSP connection. Add an accessor method for the ip member of GstRTSPConnection as all members are supposed to be private. 2008-06-04 Peter Kjellerstedt * gst/tcp/gstmultifdsink.c: (setup_dscp_client): Fixed accidental use of IPv4 options for all IPv6 addresses. 2008-06-04 Tim-Philipp Müller * gst-libs/gst/interfaces/mixertrack.h: Document mixer track flags. 2008-06-04 Sebastian Dröge Patch by: Antoine Tremblay * gst/gdp/gstgdppay.c: (gst_gdp_pay_reset_streamheader): Don't set caps on the buffers that contain a copy of the buffer including the caps of them resulting in an always increasing refcount of the caps and insanely large caps. Instead include a buffer without caps in the new caps. Fixes bug #536475. 2008-06-04 Sebastian Dröge * gst/videoscale/gstvideoscale.c: (gst_video_scale_transform_caps): Transform a given PAR to a range on the struct with the generic height/width instead of the struct with the possibly restricted height/width. 2008-06-04 Sebastian Dröge * gst/videoscale/gstvideoscale.c: (gst_video_scale_transform_caps): Prefer the given format if it contains something stricter than [1,MAX] for height or width and only put a structure that requires rescaling as second. This makes it possible to use videoscale in pipelines where the source can actually produce the wanted height/width but usually selects a different one from the requested. 2008-06-03 Tim-Philipp Müller Based on patch by: John Millikin * gst-libs/gst/tag/gstvorbistag.c: (tag_matches), (gst_vorbis_tag_add), (gst_vorbis_tag_add_coverart): Retrieve COVERART tags from vorbis comments (#512333) 2008-06-03 Tim-Philipp Müller * gst-libs/gst/tag/tag.h: * gst-libs/gst/tag/tags.c: (register_tag_image_type_enum): Don't forget to add new enum value here too (should probably use glib-mkenums here...). 2008-06-03 Tim-Philipp Müller * gst-libs/gst/tag/gstid3tag.c: (gst_tag_list_add_id3_image): * gst-libs/gst/tag/tag.h: (GST_TAG_IMAGE_TYPE_NONE), * gst-libs/gst/tag/tags.c: (register_tag_image_type_enum), (gst_tag_image_type_get_type), (gst_tag_image_type_is_valid), (gst_tag_image_data_to_image_buffer): Add two utility functions to avoid code duplication (#512333): API: add gst_tag_image_data_to_image_buffer() API: add gst_tag_list_add_id3_image() API: add GST_TAG_IMAGE_TYPE_NONE enum value 2008-06-03 Sebastian Dröge * win32/common/libgstaudio.def: Add gst_audio_check_channel_positions() to the exported symbols. 2008-06-03 Sebastian Dröge * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/audio/multichannel.c: (gst_audio_check_channel_positions): * gst-libs/gst/audio/multichannel.h: API: Make gst_audio_check_channel_positions() public. * tests/check/libs/audio.c: (GST_START_TEST): Add some simple checks for gst_audio_check_channel_positions(). 2008-06-02 Tim-Philipp Müller * sys/v4l/v4l_calls.c: (gst_v4l_get_chan_names): minrange and maxrange are scaled according to the frequency multiplier. 2008-06-02 Tim-Philipp Müller * ext/pango/Makefile.am: * ext/pango/gsttextoverlay.c: (gst_text_overlay_shade_y), (gst_text_overlay_blit_yuv420), (gst_text_overlay_push_frame): Use gstvideo functions to calculate strides and plane offsets. Fixes rendering issue ('ghost' images of the text on the chroma planes) with widths or heights that are not multiples of 8 (#506659 and probably also #485729). * tests/icles/test-textoverlay.c: (show_text), (test_textoverlay), (main): Test with odd height/width too. 2008-06-02 Sebastian Dröge * gst/adder/gstadder.c: (gst_adder_query_duration), (gst_adder_query_latency): When using gst_element_iterate_pads() one has to unref every pad after usage. 2008-05-31 Mark Nauwelaerts * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_class_init): Add a gtk-doc chunk for the new properties to have a Since: indication. 2008-05-31 Mark Nauwelaerts * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_class_init), (gst_base_audio_src_dispose), (gst_base_audio_src_get_property), (gst_base_audio_src_setcaps), (gst_base_audio_src_change_state): Provide readable actual-buffer-time and actual-latency-time properties that reflect the configured ringbuffer values. Fixes #524724. API: GstBaseAudioSrc:actual-buffer-time API: GstBaseAudioSrc:actual-latency-time 2008-05-30 Wim Taymans * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_push), (gst_basertppayload_change_state): Simply converting the running time into an RTP timestamp by scaling it based on the clock-rate is good enough for making an RTP timestamp. This has the added benefit that we can later on expose a property with the RTP timestamp of running time 0, as is needed for RTSP servers to generate the response of the PLAY request. 2008-05-30 Sebastian Dröge * gst/audioconvert/gstaudioconvert.c: (structure_has_fixed_channel_positions), (gst_audio_convert_transform_caps): Allow up to 11 positioned channels now that audioconvert can handle this but add no default positions for > 8 channels. * tests/check/elements/audioconvert.c: (GST_START_TEST): Add some unit tests for the above change: Test conversion of 11 positioned channels to stereo and the other way around, test conversion of 15 unpositioned channels in different ways. 2008-05-29 Sebastian Dröge * win32/common/libgstaudio.def: Add gst_audio_clock_reset to the list of exported symbols. 2008-05-29 Sebastian Dröge * tests/check/elements/vorbisdec.c: (vorbisdec_suite): Remove wrong_channels_identification_header unit test as we now support 7 (and more channels). 2008-05-29 Sebastian Dröge * gst/audioconvert/gstchannelmix.c: (gst_channel_mix_fill_one_other): If mixing left or right to center (or the other way around) only take the complete value if we don't already have the original position in the source. 2008-05-29 Sebastian Dröge * gst-libs/gst/audio/multichannel.c: (gst_audio_check_channel_positions), (gst_audio_set_structure_channel_positions_list), (gst_audio_fixate_channel_positions): Allow rear center together with rear left/right and other previously conflicting channel positions. The reason why they weren't allowed was the channel mixing implementation in audioconvert. Also take this into account when fixing channel layouts. Allow setting channel positions for 1/2 channels when using gst_audio_set_structure_channel_position(). * gst/audioconvert/gstchannelmix.c: (gst_channel_mix_fill_compatible), (gst_channel_mix_detect_pos), (gst_channel_mix_fill_one_other), (gst_channel_mix_fill_others), (gst_channel_mix_fill_special), (gst_channel_mix_fill_matrix): Major rewrite of the channel mixing. We now allow previously conflicting channel positions to appear together (rear center and rear left/right for example). Fixes bug #533817. Rework the way channels are mixed together to take more possible channel positions into account, properly mix from/to side channels and don't assume that either center, left&right or nothing of a specific position is available anymore. * tests/check/elements/audioconvert.c: (GST_START_TEST): Adjust unit tests with non-standard 1/2 channel layouts to the more correct new behaviour. Add a unit test for 5.1->Stereo downmixing. 2008-05-29 Sebastian Dröge * ext/vorbis/vorbisdec.c: (vorbis_handle_identification_packet): * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_generate_sink_caps): Add sane defaults for the 7 and 8 channel layouts as those are undefined in the Vorbis spec. Use NONE channel layouts when decoding more than 8 channels instead of erroring out. Fixes bug #535356. 2008-05-28 Wim Taymans * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/gst-plugins-base-plugins-sections.txt: * ext/theora/theoraparse.c: Add theoraparse to the docs and fix some docs. 2008-05-28 Wim Taymans * gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_add_track), (gst_cdda_base_src_create): Fix EOS condition and track addition check, the track.end sector is included in the track. Fixes #533265. 2008-05-28 Wim Taymans Patch by: Mark Nauwelaerts * gst/videorate/gstvideorate.c: (gst_video_rate_reset), (gst_video_rate_flush_prev), (gst_video_rate_event), (gst_video_rate_chain): * gst/videorate/gstvideorate.h: React (more) to NEWSEGMENT Small adjustment in timestamp calculation to prevent mismatches Fixes #435633. 2008-05-28 Tim-Philipp Müller * tests/examples/seek/seek.c: (make_parselaunch_pipeline): Initialise error to NULL as we should. 2008-05-28 Sebastian Dröge * gst/adder/gstadder.c: (gst_adder_query_duration), (gst_adder_query_latency), (gst_adder_query): Implement latency query. 2008-05-27 Sebastian Dröge * gst/adder/gstadder.c: (gst_adder_query_duration): Correctly resync the iterator if gst_iterator_next() returns GST_ITERATOR_RESYNC. 2008-05-27 Tim-Philipp Müller * win32/vs6/libgstpbutils.dsp: Add pbutils-enumtypes.c to sources (#518037). 2008-05-27 Wim Taymans * gst-libs/gst/audio/gstaudioclock.c: (gst_audio_clock_init), (gst_audio_clock_reset), (gst_audio_clock_get_internal_time): * gst-libs/gst/audio/gstaudioclock.h: Add method to inform the clock that the time starts from 0 again. We use this info to calculate a clock offset so that the time we report in internal_time is monotonically increasing, as required by the clock base class. Fixes #521761. API: GstAudioClock::gst_audio_clock_reset() * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_skew_slaving), (gst_base_audio_sink_change_state): * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_create), (gst_base_audio_src_change_state): Reset reported time when we (re)create the ringbuffer. 2008-05-27 Tim-Philipp Müller * ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_update_alsa_capabilities): Make sure playback volumes aren't accidentally overwritten by capture volumes if an alsa mixer track has both playback and capture capabilities: we create two GstMixerTracks in that case, so make sure we query only the alsa capabilities that refer to the type of GstMixerTrack we created from the dual capability alsa element. Should fix issues with Audigy2 sound cards (#518082). 2008-05-27 Tim-Philipp Müller * tests/check/pipelines/oggmux.c: (test_pipeline): Don't use deprecated function. 2008-05-27 Wim Taymans * gst/playback/gstdecodebin2.c: (gst_decode_group_control_source_pad), (gst_decode_group_expose): Check for NULL cases and log them, creating ghostpads can, for example, fail when the pad returns wrong caps. * gst/playback/gstplaybin2.c: (perform_eos): When pushing out the EOS event, collect the return value and warn when something failed. 2008-05-26 Wim Taymans * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps), (gst_riff_create_video_template_caps): Add support for DVCPRO. 2008-05-26 Tim-Philipp Müller * gst/videoscale/gstvideoscale.c: (DEFAULT_PROP_METHOD): Change default scaling method from nearest-neighbour to bilinear. 2008-05-26 Tim-Philipp Müller * tests/check/libs/video.c: More checks. 2008-05-25 Tim-Philipp Müller * gst/subparse/gstsubparse.c: (parser_state_init), (gst_sub_parse_format_autodetect), (handle_buffer): * gst/subparse/gstsubparse.h: * tests/check/elements/subparse.c: (test_tmplayer_style3b): Limit duration to a maximum of five seconds for tmplayer format where we can guess the duration only from the timestamp of the next line of text. We don't want to show a text for eternities just because nothing else is being said for a while. 2008-05-23 Wim Taymans * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_chain), (gst_base_rtp_depayload_handle_sink_event), (gst_base_rtp_depayload_push_full), (gst_base_rtp_depayload_change_state): Check sequence numbers, mark input buffers with a discont flag for the subclass when we detected a gap, drop duplicate buffers. We do this because one can use the element without a jitterbuffer in front and we don't want to feed the subclasses invalid or reordered data. Do an error when the subclass did not provide a process function instead of crashing. Some other small cleanups. 2008-05-22 Tim-Philipp Müller * gst/videotestsrc/videotestsrc.c: (paint_hline_NV12_NV21): May just as well use the precalculated uvstride here. 2008-05-22 Jan Schmidt * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-base-plugins-overrides.txt: * docs/plugins/gst-plugins-base-plugins-sections.txt: * docs/plugins/gst-plugins-base-plugins.args: * docs/plugins/gst-plugins-base-plugins.hierarchy: * docs/plugins/gst-plugins-base-plugins.interfaces: * docs/plugins/gst-plugins-base-plugins.prerequisites: * 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-gio.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-playback.xml: * docs/plugins/inspect/plugin-queue2.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-uridecodebin.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: * ext/cdparanoia/gstcdparanoiasrc.c: * ext/ogg/gstoggdemux.c: * ext/ogg/gstoggdemux.h: * ext/ogg/gstoggmux.c: * ext/ogg/gstoggmux.h: * gst/audioconvert/audioconvert.c: * gst/audioconvert/audioconvert.h: * gst/audioconvert/gstaudioconvert.h: * gst/gdp/gstgdpdepay.h: * gst/gdp/gstgdppay.h: * gst/playback/gstdecodebin.c: * gst/playback/gstdecodebin2.c: * gst/playback/gstplaybin.c: * gst/playback/gstplaybin2.c: * gst/playback/gsturidecodebin.c: * gst/tcp/gstmultifdsink.c: * gst/tcp/gstmultifdsink.h: * gst/tcp/gsttcp.h: Add some documentation comments, and some new headers to be scanned. Rename some internal enum declarations (audioconvert's DitherType and NoiseShapingType, GstUnitType from the TCP elements) to match the documented GObject type names so that the docs pick them up. Name the playbin2 docs markups properly so they get picked up. They'll need renaming back when/if playbin2 becomes playbin. 100% symbol coverage for the plugin docs, booya. 2008-05-22 Sebastian Dröge Patch by: Thijs Vermeir * gst/videotestsrc/videotestsrc.c: (paint_hline_NV12_NV21): Fix generation of NV12/NV21 frames. Fixes bug #532454. 2008-05-22 Wim Taymans Patch by: Sjoerd Simons * gst/playback/gstdecodebin.c: (remove_fakesink): Lock the fakesink before setting the state to NULL and removing it from the bin so that a concurrent state change cannot interfere. Fixes #534331. 2008-05-21 Felipe Contreras * docs/Makefile.am: Fix installing plugin documentation when gtk-doc is disabled. 2008-05-21 Felipe Contreras * gst-libs/gst/rtsp/Makefile.am: Distribute, don't install md5.h 2008-05-21 Julien Moutte * gst/tcp/gstmultifdsink.c: (setup_dscp_client): Use IPPROTO_IP instead of SOL_IP, works on more platforms. * gst/typefind/gsttypefindfunctions.c: (aac_type_find): Fix printf arguments. 2008-05-21 Wim Taymans * ext/vorbis/vorbisdec.c: * gst/videoscale/gstvideoscale.c: (gst_video_scale_transform): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_show_frame): Some debug and comment fixes. * tests/examples/dynamic/addstream.c: (main): Fix , to ; 2008-05-21 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_typefind): * gst/playback/decodetest.c: (new_decoded_pad_cb): * gst/playback/gstdecodebin.c: (gst_decode_bin_init), (try_to_link_1), (elem_is_dynamic), (close_link), (type_found), (cleanup_decodebin): * gst/playback/gstdecodebin2.c: (gst_decode_bin_init), (connect_element), (gst_decode_group_control_demuxer_pad): * gst/playback/gstplaybasebin.c: (queue_remove_probe), (queue_out_of_data), (gen_preroll_element), (preroll_unlinked), (mute_group_type): * gst/playback/gstplaybin.c: (gst_play_bin_vis_blocked), (gst_play_bin_set_property), (handoff), (gen_video_element), (gen_text_element), (gen_audio_element), (gen_vis_element), (remove_sinks), (add_sink), (setup_sinks): * gst/playback/gstplaybin2.c: (pad_added_cb), (no_more_pads_cb): * gst/playback/gstplaysink.c: (gst_play_sink_get_video_sink), (gst_play_sink_get_audio_sink), (gst_play_sink_vis_unblocked), (gst_play_sink_vis_blocked), (gst_play_sink_set_vis_plugin), (gst_play_sink_get_vis_plugin), (gst_play_sink_set_mute), (gen_video_chain), (gen_text_chain), (gen_audio_chain), (gen_vis_chain), (gst_play_sink_reconfigure), (gst_play_sink_set_font_desc), (gst_play_sink_get_font_desc), (gst_play_sink_request_pad): * gst/playback/gsturidecodebin.c: (type_found), (setup_source): * gst/playback/test.c: (gen_video_element), (gen_audio_element), (cb_newpad): * gst/playback/test6.c: (new_decoded_pad_cb): * tests/check/elements/audioconvert.c: (GST_START_TEST): * tests/check/elements/audiorate.c: (test_injector_chain), (do_perfect_stream_test): * tests/check/elements/ffmpegcolorspace.c: (GST_START_TEST): * tests/check/elements/gdpdepay.c: (GST_START_TEST): * tests/check/elements/gnomevfssink.c: * tests/check/elements/textoverlay.c: (notgst_check_setup_src_pad2), (notgst_check_teardown_src_pad2): * tests/check/elements/videotestsrc.c: (GST_START_TEST): * tests/check/libs/cddabasesrc.c: (GST_START_TEST): * tests/check/pipelines/oggmux.c: (test_pipeline): * tests/check/pipelines/streamheader.c: (GST_START_TEST): * tests/check/pipelines/theoraenc.c: (GST_START_TEST): * tests/check/pipelines/vorbisenc.c: (GST_START_TEST): * tests/examples/seek/scrubby.c: (make_wav_pipeline): * tests/examples/seek/seek.c: (make_mod_pipeline), (make_dv_pipeline), (make_wav_pipeline), (make_flac_pipeline), (make_sid_pipeline), (make_parse_pipeline), (make_vorbis_pipeline), (make_theora_pipeline), (make_vorbis_theora_pipeline), (make_avi_msmpeg4v3_mp3_pipeline), (make_mp3_pipeline), (make_avi_pipeline), (make_mpeg_pipeline), (make_mpegnt_pipeline), (update_fill), (msg_buffering): Don't use bad gst_element_get_pad(). 2008-05-21 Stefan Kost * gst-libs/gst/riff/riff-media.c: Fix wrong method name in docs. Fix calculation of strf fields for broken mulaw/alaw. * gst-libs/gst/riff/riff-read.c: Whitespace fix and removing double ';'. 2008-05-21 Wim Taymans * docs/design/part-playbin2.txt: Add some leftover doc. 2008-05-21 Sebastian Dröge * gst/audioconvert/gstchannelmix.c: (gst_channel_mix_fill_others): Fix copy & paste error in last commit. 2008-05-21 Sebastian Dröge * gst/audioconvert/gstchannelmix.c: (gst_channel_mix_fill_others): Add support for mixing GST_AUDIO_CHANNEL_POSITION_SIDE_* from/to other channel positions when source has SIDE channels and dest doesn't or the other way around. 2008-05-21 Wim Taymans Patch by: Henrik Eriksson * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init), (gst_multi_fd_sink_init), (setup_dscp_client), (setup_dscp), (gst_multi_fd_sink_add_full), (gst_multi_fd_sink_set_property), (gst_multi_fd_sink_get_property): * gst/tcp/gstmultifdsink.h: Add support for DSCP QOS. Fixes #469933. 2008-05-21 Sebastian Dröge * tests/check/elements/audioconvert.c: (GST_START_TEST): Add another test that checks if conversion between standard 1 and 2 channel layouts with and without positions set is working. 2008-05-21 Sebastian Dröge * gst-libs/gst/audio/multichannel.c: (gst_audio_check_channel_positions): Allow non-standard 2 channel layouts. * tests/check/elements/audioconvert.c: (GST_START_TEST): Add some tests for converting and remapping non-standard 1 and 2 channel layouts. 2008-05-21 Sebastian Dröge * gst/audioconvert/gstchannelmix.c: (gst_channel_mix_fill_normalize): Prevent division by zero if the channel mix matrix contains only zeroes. 2008-05-21 Sebastian Dröge Patch by: Antoine Tremblay * gst/gdp/gstgdppay.c: (gst_gdp_pay_chain): Close a buffer memory leak. Fixes bug #534071. 2008-05-21 Sebastian Dröge * gst-libs/gst/rtsp/gstrtsptransport.h: Make the GstRTSPTransport struct members public as there are no setters/getters and it's supposed to be changed directly. Fixes bug #533087. 2008-05-21 Sebastian Dröge * gst/adder/gstadder.c: Adder also doesn't support audio/x-raw-int with width!=depth so don't claim this on the pad template caps. 2008-05-20 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_sync_latency): We can only use our optimal calibration if we prerolled before the latency expired. 2008-05-20 Tim-Philipp Müller * configure.ac: Require core CVS for GstBaseSrc buffer caps setting magic. 2008-05-20 Sebastian Dröge * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_fixate_channels): Fix logic in last commit. 2008-05-20 Sebastian Dröge * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_fixate_channels): Passthrough the channel positions if the number of output channels is the same as the number of input channels, the input had a channel layout and downstream requests no special one. We did this already for > 2 channels but now it's also done for 1 channel. Fixes bug #533617. 2008-05-20 Wim Taymans * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_init), (gst_gnome_vfs_src_finalize), (gst_gnome_vfs_src_received_headers_callback), (gst_gnome_vfs_src_create), (gst_gnome_vfs_src_stop): * ext/gnomevfs/gstgnomevfssrc.h: Set the ICY caps on the srcpad from where they get picked up by the base class now and set on the outgoing buffers. * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_create): * sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_buffer_new): BaseSrc now sets the caps on outgoing buffers automatically. 2008-05-20 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_resample_slaving), (gst_base_audio_sink_skew_slaving), (gst_base_audio_sink_sync_latency), (gst_base_audio_sink_render), (gst_base_audio_sink_async_play), (gst_base_audio_sink_change_state): Change the way in which the ringbuffer is started when dealing with a slaved clock and latency. We now sync to the clock until we reach upstream latency before starting the ringbuffer. This has the effect that we can accurately align the master and slave clocks and let the rate correction code take care of the initial drift or rounding errors instead of leaving them uncorrected with the old approach. 2008-05-20 Sebastian Dröge * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_fixate_channels): Correctly set the default channel positions when converting to 8 channels. 2008-05-19 Tim-Philipp Müller * configure.ac: Error out if we don't have the required version of core. 2008-05-19 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (aac_type_find): Use data scan helper in aac typefinder and stop scanning for headers when we've found a type. Also fix potential invalid memory access when calculating the frame length. 2008-05-19 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (data_scan_ctx_ensure_data), (mpeg_sys_is_valid_pack): Don't modify scan context when we return FALSE in ensure_data, so it's possible to continue scanning, and we don't end up with a NULL data pointer and a positive size, which might bite us the next time we're called. Small constification. 2008-05-16 Sebastian Dröge * gst/adder/gstadder.c: Adder doesn't support 24 bit samples so don't claim it supports them in the pad template caps. 2008-05-14 Wim Taymans * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_chain): Validate the RTP packet before further processing it. It's just too dangerous to accept random packets and people are not forced to use a jitterbuffer or session manager to filter out the bad packets. * gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_set_extension_data), (gst_rtp_buffer_get_payload_subbuffer): Small cleanups. When setting extension data in a buffer that is too small, we fail and we should not set the extension bit. Change GST_WARNINGS into g_warning because they really are programming errors. * tests/check/libs/rtp.c: (GST_START_TEST): Catch the g_warnings now in the unit tests and that fact that failing to set extension data left the extension bit untouched. 2008-05-14 Tim-Philipp Müller * gst/audioresample/gstaudioresample.c: (gst_audioresample_init): Revert previous change which made basetransform handle buffer_alloc and which breaks things badly in the non-passthrough case since it returned buffers with a different (ie. sometimes smaller) size than the size requested. 2008-05-14 Wim Taymans Patch by: Bernard B * gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_compare_seqnum): Fix seqnum compare function for bordercase values and fix the docs again. Fixes #533075. * tests/check/libs/rtp.c: (GST_START_TEST), (rtp_suite): Add a testcase for seqnum compare function. 2008-05-14 Sebastian Dröge * gst/adder/gstadder.c: (gst_adder_setcaps), (gst_adder_class_init): Correctly declare the supported endianness on the pad templates and check for correct endianness in the set caps function. Adder only supports native endianness. Also use gst_element_class_set_details_simple(). 2008-05-14 Stefan Kost * sys/xvimage/xvimagesink.c: Better debug logging in port value handling. Merging separate port value loops into one. 2008-05-13 Wim Taymans Patch by: Hannes Bistry * gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_start): * gst/tcp/gsttcpserversink.c: (gst_tcp_server_sink_handle_server_read), (gst_tcp_server_sink_handle_wait), (gst_tcp_server_sink_init_send): Fix regression in clientsrc because we did not add the fd to the poll set anymore. Fixes #532364. Do some cleanups here and there. 2008-05-13 Sebastian Dröge * gst/playback/gstdecodebin.c: (gst_decode_bin_class_init): * gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init): * gst/playback/gstplay-marshal.list: * gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init): Use correct marshallers. GstCaps are a boxed type and no GObject subclass. 2008-05-13 Sebastian Dröge * win32/common/libgstrtsp.def: Add gst_rtsp_connection_(set|clear)_auth_param() to the exported symbols. 2008-05-13 Sebastian Dröge Patch by: Sjoerd Simons * tests/check/elements/audioresample.c: (live_switch_alloc_only_48000), (live_switch_get_sink_caps), (live_switch_push), (GST_START_TEST): Add unit test for the latest basetransform negotiation changes. See bug #526768. 2008-05-13 Sebastian Dröge * gst/ffmpegcolorspace/imgconvert.c: (nv12_to_nv21): Fix nv12<->nv21 conversion if stride is larger than width. 2008-05-13 Sebastian Dröge Patch by: Jan Gerber * ext/ogg/gstoggdemux.c: (gst_ogg_pad_parse_skeleton_fishead), (gst_ogg_pad_parse_skeleton_fisbone): * ext/ogg/gstoggdemux.h: Parse presentation time from skeleton streams and use it as offset for the timestamps. Fixes bug #530068. 2008-05-12 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_render), (gst_base_audio_sink_async_play): Revert previous patch that attempted to more accurately calculate the initial offset between master and slave clock. The best thing we can do in general is take the time of both clocks as the diff since we don't know when the actual preroll happened. 2008-05-11 Tim-Philipp Müller * gst-libs/gst/pbutils/install-plugins.c: Fix docs: type and missing word. 2008-05-10 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (h264_video_type_find): Don't do lots of 4-byte peeks, but use the 'new' data scan helper for this instead; don't check if we've found enough markers after each and every step, it's enough to do that only if we've actually found a new marker. Embed a G_UNLIKELY into the IS_MPEG_HEADER macro. 2008-05-10 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (DATA_SCAN_CTX_CHUNK_SIZE), (DataScanCtx), (data_scan_ctx_advance), (data_scan_ctx_ensure_data), (GST_MPEGVID_TYPEFIND_TRY_SYNC), (mpeg_video_stream_type_find): Move scan helper thingy to the beginning of the file so we can use it in other typefind functions. Rename it to something more generic. Also improve handling of things towards the end of the typefind data: peek as much as we can if we know the size of the data, rather than just min_size. 2008-05-09 Jan Schmidt * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/interfaces/colorbalance.c: * gst-libs/gst/interfaces/colorbalance.h: * gst-libs/gst/interfaces/colorbalancechannel.c: * gst-libs/gst/interfaces/colorbalancechannel.h: * gst-libs/gst/interfaces/tuner.c: * gst-libs/gst/interfaces/tunerchannel.c: * gst-libs/gst/interfaces/tunerchannel.h: * gst-libs/gst/interfaces/tunernorm.c: * gst-libs/gst/interfaces/tunernorm.h: * gst-libs/gst/video/video.c: * gst-libs/gst/video/video.h: Document the GstTuner and GstColorBalance interfaces, and some other random API functions that needed it. 70% symbol coverage, woo. 2008-05-09 Wim Taymans * gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_acquire): Choose to allocate one less segment but require one additional segment as latency. * gst-libs/gst/audio/gstaudiosrc.c: (gst_audioringbuffer_acquire): No need to increment the number of segments in the source. * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_get_time), (clock_convert_external), (gst_base_audio_sink_resample_slaving), (gst_base_audio_sink_skew_slaving), (gst_base_audio_sink_none_slaving), (gst_base_audio_sink_render), (gst_base_audio_sink_async_play): Remove adding latency when returning the internal time while subtracting it again when we use the value a little later. When calculating the end timestamp, we are making a rounding error with the current algorithm. Ensure that we don't accumulate these rounding errors when aligning samples by not resampling at all if we don't need to. Fixes #419351. Make the initial calibration of the clock slaving a little more predictable and accurate. Also handle the case where we don't do clock slaving. 2008-05-09 Sebastian Dröge Based on a patch by: Björn Benderius * 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: (nv12_to_nv21): * gst/ffmpegcolorspace/imgconvert_template.h: Add conversions from/to NV12 and NV21 and conversions between those two formats. Fixes bug #532166. 2008-05-08 Edward Hervey * gst/typefind/gsttypefindfunctions.c: (h264_video_type_find): Abort the h264 typefinding as soon as _peek() doesn't return anything, which happens for example with files smaller than 128kb. 2008-05-08 Wim Taymans Patch by: Wouter Cloetens * gst-libs/gst/rtsp/Makefile.am: * gst-libs/gst/rtsp/gstrtspconnection.c: (gst_rtsp_connection_create), (md5_digest_to_hex_string), (auth_digest_compute_hex_urp), (auth_digest_compute_response), (add_auth_header), (gst_rtsp_connection_free), (gst_rtsp_connection_set_auth), (str_case_hash), (str_case_equal), (gst_rtsp_connection_set_auth_param), (gst_rtsp_connection_clear_auth_params): * gst-libs/gst/rtsp/gstrtspconnection.h: Add Digest authorization support for RTSP connections. See #532065. * gst-libs/gst/rtsp/md5.c: * gst-libs/gst/rtsp/md5.h: Yeap, another md5 implementation until we can depend on a glib that has support for it. 2008-05-08 Sebastian Dröge Patch by: Sjoerd Simons * gst/audioresample/gstaudioresample.c: (gst_audioresample_init): Let audioresample use the buffer allocation of basetransform instead of it's own stuff. * tests/check/elements/audioresample.c: (alloc_only_48000), (GST_START_TEST), (audioresample_suite): Add unit test for the recent basetransform bugfix, where upstream changes caps to something that can't be passed through anymore. 2008-05-07 Ole André Vadla Ravnås * win32/common/config.h.in: Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather use the real thing than having "???" unconditionally. 2008-05-07 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_query): Report the latency with the new seglatency parameter. * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_debug_spec_buff), (gst_ring_buffer_parse_caps), (gst_ring_buffer_acquire): * gst-libs/gst/audio/gstringbuffer.h: Add new field to the ringbufferspec to specify the expected latency between the underlying device read/write pointer, this is needed when writing sinks that sit a little closer to the hardware. Add some more docs for other fields. 2008-05-06 Sebastian Dröge * gst/volume/gstvolume.c: (volume_transform_ip): Return NOT_NEGOTIATED if we didn't set a process function yet for some reason instead of crashing later. Might fix bug #509125. 2008-05-06 Sebastian Dröge Based on a patch by: Tim-Philipp Müller * gst/audioconvert/audioconvert.c: (audio_convert_prepare_context): * gst/audioconvert/audioconvert.h: * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_parse_caps), (structure_has_fixed_channel_positions), (gst_audio_convert_transform_caps): * gst/audioconvert/gstchannelmix.c: (gst_channel_mix_fill_matrix): Add support for more than 8 channels and NONE channel layouts. For more than 8 channels no channel conversion is supported yet, only format conversions are supported. Fixes bug #398033. * tests/check/elements/audioconvert.c: (verify_convert), (GST_START_TEST), (audioconvert_suite): Add some unit tests by Tim for checking the NONE channel layouts and more than 8 channels and add some more unit tests for channel conversions. 2008-05-06 Wim Taymans * gst/playback/gstdecodebin2.c: (connect_pad): When autoplugging fails, set the element back to NULL before unreffing it. 2008-05-06 Sebastian Dröge * win32/common/libgstaudio.def: Add gst_base_audio_src_[sg]et_slave_method() to the exported symbols. 2008-05-05 Sebastian Dröge * gst/subparse/samiparse.c: (handle_start_sync), (end_sami_element), (characters_sami): Remove trailing, leading and double whitespaces. Correctly timestamp buffers and output the last buffer too. * tests/check/elements/subparse.c: (GST_START_TEST), (subparse_suite): Add a simple unit test for SAMI parsing. 2008-05-05 Sebastian Dröge Patch by: Young-Ho Cha * gst/subparse/samiparse.c: (handle_start_sync), (start_sami_element), (end_sami_element), (characters_sami), (sami_context_reset): Only output characters inside the "sync" elements. There could be other elements like "style" that have some content but should not be printed. Fixes bug #467911. 2008-05-05 Sebastian Dröge * gst/playback/gstplaybasebin.c: (set_audio_mute), (set_active_source): * gst/playback/gstplaybasebin.h: * gst/playback/gstplaybin.c: (gst_play_bin_class_init), (playbin_set_audio_mute): Allow setting -1 as current-audio to mute the current audio stream, similar to what is done for subtitles. Fixes bug #342294. 2008-05-05 Edward Hervey * gst-libs/gst/pbutils/descriptions.c: (formats): It's SorensOn and not SorensEn. 2008-05-04 Tim-Philipp Müller * gst-libs/gst/pbutils/descriptions.c: (formats): Fix description of video/x-flash-video. 2008-05-04 Sebastian Dröge * gst-libs/gst/audio/gstaudiosink.c: (audioringbuffer_thread_func): * gst-libs/gst/audio/gstaudiosrc.c: (audioringbuffer_thread_func): * gst/tcp/gsttcp.c: (gst_tcp_socket_write): * sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_get_fps_list): Remove some unused code. * gst/audioconvert/gstaudioquantize.c: (gst_audio_quantize_free_noise_shaping): Don't return before freeing the noise shaping history. 2008-05-03 Tim-Philipp Müller * tests/check/elements/subparse.c: (do_test), (test_tmplayer_style3b), (subparse_suite): Add unit test for the tmplayer variant from bug #530962. 2008-05-03 Tim-Philipp Müller * gst/subparse/gstsubparse.c: (handle_buffer), (gst_sub_parse_sink_event): * gst/subparse/tmplayerparse.c: (tmplayer_process_buffer), (tmplayer_parse_line): Fix parsing of tmplayer subtitle variant where every single line contains text and there isn't an empty line after each line to determine the duration (#530962). Improve EOS handling for tmplayer subtitles a bit by making sure that we push out the last line of text without a duration if there's still text left in the buffer at the end. 2008-05-03 Tim-Philipp Müller * gst/subparse/gstsubparse.c: (feed_textbuf): Fix detection of discontinuities based on the buffer offset (doesn't work so well if no buffer offset is set) and also check for the DISCONT buffer flag. This keeps the parser state from being reset after each buffer in the unit test. 2008-05-03 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (mpeg_video_stream_type_find): Further fine-tuning: don't absolutely require sequence or GOP headers (as introduced in the previous commit), but adjust the typefind probabilities returned accordingly if we don't see them. Also make sure picture header and first slice are somewhat close to each other (which is not perfect but still better than requiring a fixed offset or having no limit at all). 2008-05-02 Wim Taymans * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_init), (gst_basertppayload_sink_setcaps), (gst_basertppayload_sink_getcaps): Rename the setcaps/getcaps function internally to make it clear that they are called for the sink pad. 2008-05-02 Wim Taymans * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_class_init), (gst_base_rtp_depayload_handle_sink_event), (create_segment_event), (gst_base_rtp_depayload_packet_lost), (gst_base_rtp_depayload_set_gst_timestamp): * gst-libs/gst/rtp/gstbasertpdepayload.h: Catch packet-lost events from the jitterbuffer and convert them into a vmethod call (lost-packet) so that depayloaders can do something smart. Also add a default packet-lost function that sends out a segment update to the decoders. 2008-05-02 Stefan Kost * gst/playback/test4.c: * gst/playback/test5.c: * gst/playback/test6.c: * gst/playback/test7.c: Also include config.h when relying on defines from it. Fixes the build. Its been a please to serve :) 2008-05-02 Thijs Vermeir * gst/videotestsrc/videotestsrc.c (paint_setup_NV12), (paint_setup_NV21), (paint_hline_NV12_NV21): Add support for NV12 and NV21 in videotestsrc 2008-05-02 Sebastian Dröge * gst/videoscale/gstvideoscale.c: * gst/videoscale/vs_4tap.c: (vs_image_scale_4tap_Y): * gst/videoscale/vs_image.c: (vs_image_scale_nearest_RGBA), (vs_image_scale_linear_RGBA), (vs_image_scale_nearest_RGB), (vs_image_scale_linear_RGB), (vs_image_scale_nearest_YUYV), (vs_image_scale_linear_YUYV), (vs_image_scale_nearest_UYVY), (vs_image_scale_linear_UYVY), (vs_image_scale_nearest_Y), (vs_image_scale_linear_Y), (vs_image_scale_nearest_RGB565), (vs_image_scale_linear_RGB565), (vs_image_scale_nearest_RGB555), (vs_image_scale_linear_RGB555): Support 1x1 images as input and output as for example the BBC HQ new streams have 1x1 GIFs in the playlists for some reason. 2008-05-01 Tim-Philipp Müller * gst/playback/gstdecodebin.c: (free_pad_probe_for_element), (try_to_link_1): If we can't activate one of the decoders we plugged in (such as, say, musepackdec) for some reason (it might not support push mode, for example), remove any pad probes that close_pad_link() might have set up. This makes sure we later don't try to remove a probe for a pad that doesn't exist any longer, and avoids nast warnings and probably other things too. 2008-04-30 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (mpeg_video_stream_ctx_ensure_data), (mpeg_video_stream_type_find), (plugin_init): Rework mpeg video stream typefinding a bit more: make sure sequence, GOP, picture and slice headers appear in the order they should and that we've in fact at least had one of each; fix picture header detection; decouple picture and slice header check - don't assume they're at a fixed offset, there may be extra data in between. Also, announce varying degrees of probability depending on what we found exactly (multiple pictures, at least one picture, just sequence and GOP headers). Finally, in _ensure_data(), take into account that we might be typefinding smaller amounts of data, such as the first buffer of a stream, so fall back to the minimum size needed as long as that's available, instead of erroring out if there's less than 2kB of data. Fixes #526173. Conveniently also doesn't recognise the fuzzed file from #399342 as valid. 2008-04-30 Michael Smith * ext/theora/theoradec.c: Cool kids don't divide by zero. Treat PAR of x:0 as 1:1. Fixes #530719. 2008-04-30 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (MpegVideoStreamCtx), (mpeg_video_stream_ctx_advance), (mpeg_video_stream_ctx_ensure_data), (mpeg_video_stream_type_find): Refactor a bit: use context structure to track parsing offset and size of available data and make the code a bit clearer. Fixes bad memory access in #356937. 2008-04-28 Michael Smith * gst/playback/test4.c: * gst/playback/test5.c: * gst/playback/test6.c: * gst/tcp/gstmultifdsink.c: Include stdlib.h and unistd.h only if the appropriate HAVE_*_H macro is defined. 2008-04-28 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.h: Clarify some docs. * gst-libs/gst/audio/gstbaseaudiosrc.c: (slave_method_get_type), (gst_base_audio_src_class_init), (gst_base_audio_src_init), (gst_base_audio_src_set_slave_method), (gst_base_audio_src_get_slave_method), (gst_base_audio_src_set_property), (gst_base_audio_src_get_property), (gst_base_audio_src_create): * gst-libs/gst/audio/gstbaseaudiosrc.h: Add property and methods for selecting the clock slave method in the source, like in the sink. We only implement "none" and "re-timestamp" for now. API: gst_base_audio_src_set_slave_method() API: gst_base_audio_src_get_slave_method() 2008-04-25 Wim Taymans * gst-libs/gst/rtp/gstrtpbuffer.c: Fix the docs about the seqnum compare function, it returns a difference. 2008-04-24 Edward Hervey * ext/alsa/gstalsadeviceprobe.c: (gst_alsa_get_device_list): Don't return before freeing up the allocated structures. 2008-04-24 Stefan Kost * gst/playback/gstplaybin.c: Remove obsolete streaminfo code and fix a leak. Fixes #529546 2008-04-23 Stefan Kost * ext/ogg/gstoggdemux.c: Revert the event part, that should not go in. 2008-04-23 Stefan Kost * ext/ogg/gstoggdemux.c: Don't leak GstPluginFeatures when filtering. 2008-04-23 Stefan Kost * sys/xvimage/xvimagesink.c: Add some logging for cases when grabbing the xv failed. 2008-04-21 David Schleef * ext/ogg/gstoggmux.c: Update Ogg/Dirac muxing. Removes the weird "KW-DIRAC" bos packet. Should conform to what we currently think is the final Ogg/Dirac muxing spec. 2008-04-21 David Schleef * sys/xvimage/xvimagesink.c: Fix typo that causes the overlay keying color to bright green on a 16-bit display. Dark grey good. Bright green bad. 2008-04-21 Stefan Kost * ext/gnomevfs/gstgnomevfsuri.c: Add FIXME comment about using uri-list for source and sink. 2008-04-20 Sebastian Dröge * ext/ogg/gstogmparse.c: (gst_ogm_parse_stream_header): GST_TYPE_FRACTION contains gints so correctly cast gint64 arguments to vaargs functions to gint. Otherwise the fractions will get 0 set instead of the correct value on big endian systems. Fixes bug #529018. 2008-04-20 Sebastian Dröge * ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_uri_get_protocols): * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_uri_get_protocols): * ext/gnomevfs/gstgnomevfsuri.c: (_internal_get_supported_uris), (gst_gnomevfs_get_supported_uris): Get the list of supported URI schemes in a threadsafe way and use the same list for the source and sink. 2008-04-20 Sebastian Dröge * ext/gio/gstgio.c: (_internal_get_supported_protocols), (gst_gio_get_supported_protocols): Don't generate a new supported protocols list on each call but cache it. It's supposed to be static anyway, this way we only leak it once per process. * ext/gio/gstgiosink.c: (gst_gio_sink_base_init), (gst_gio_sink_class_init), (gst_gio_sink_finalize), (gst_gio_sink_set_property), (gst_gio_sink_get_property), (gst_gio_sink_start): * ext/gio/gstgiosink.h: * ext/gio/gstgiosrc.c: (gst_gio_src_base_init), (gst_gio_src_class_init), (gst_gio_src_finalize), (gst_gio_src_set_property), (gst_gio_src_get_property), (gst_gio_src_start): * ext/gio/gstgiosrc.h: API: Add "file" properties where one can set a GFile as source/destination. Add locking to the properties and use gst_element_class_set_details_simple() instead of a static GstElementDetails struct. 2008-04-19 Sebastian Dröge * gst/typefind/gsttypefindfunctions.c: (musepack_type_find), (plugin_init): Add "mpp" and "mp+" as possible extensions for MusePack files. Add typefinding for MusePack StreamVersion 8 files and include the stream version in the caps. 2008-04-19 Sebastian Dröge * gst-libs/gst/rtp/gstrtppayloads.c: (gst_rtp_payload_info_for_name): Use g_ascii_strcasecmp() instead of the deprecated g_strcasecmp(). 2008-04-18 Tim-Philipp Müller * configure.ac: Bump Gtk+ requirement to 2.12.0 for gtk_range_set_fill_level (NB: this only affects compilation of some of the examples). Remove some configure.ac cruft that's not needed any longer. 2008-04-18 Edward Hervey * gst/gdp/gstgdpdepay.c: (gst_gdp_depay_chain): Don't validate the payload if there isn't any. Fixes #525915 2008-04-17 Sebastian Dröge * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_may_start): Use g_atomic_int_set() instead of gst_atomic_int_set(). 2008-04-17 Sebastian Dröge * ext/gio/gstgio.c: (gst_gio_get_supported_protocols): Return NULL instead of a gchar * array with one NULL element if we don't get any supported URI schemes from GIO. 2008-04-15 Stefan Kost * gst/audiotestsrc/gstaudiotestsrc.c: Remove cpp style commented old code. 2008-04-15 Stefan Kost * gst/playback/gstdecodebin2.c: Fix signal docs. 2008-04-14 Tim-Philipp Müller * ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init), (gst_text_overlay_init): Fix textoverlay unit test again by making the supposed default value for the wait-text property the actual default value. Also fix Since: tag for new property. 2008-04-11 Tim-Philipp Müller * gst-libs/gst/video/video.c: (gst_video_format_new_caps), (gst_video_format_to_fourcc), (gst_video_format_get_row_stride), (gst_video_format_get_pixel_stride), (gst_video_format_get_component_width), (gst_video_format_get_component_height), (gst_video_format_get_component_offset), (gst_video_format_get_size), (gst_video_format_convert): Add guards to these functions to ensure sane input values. * tests/check/libs/video.c: Fix unit test not to create caps with width=0 and height=0. 2008-04-11 Wim Taymans * docs/design/draft-keyframe-force.txt: Fix typo. * gst/playback/gstqueue2.c: (update_buffering), (gst_queue_handle_src_query): Set buffering mode in the messages. Set buffering percent in the query. * tests/examples/seek/seek.c: (update_fill), (msg_state_changed), (do_stream_buffering), (do_download_buffering), (msg_buffering): Do some more fancy things based on the buffering method in use. 2008-04-09 Wim Taymans * tests/examples/seek/seek.c: (update_fill), (set_update_fill), (play_cb), (pause_cb), (stop_cb), (msg_state_changed), (msg_buffering), (main): Add basic download reports to seek using the new buffering API. 2008-04-09 Wim Taymans * gst/playback/gstqueue2.c: (update_buffering), (gst_queue_close_temp_location_file), (gst_queue_handle_src_query), (gst_queue_src_checkgetrange_function): Include extra buffering stats in the buffering message. Implement BUFFERING query. * gst/playback/gsturidecodebin.c: (do_async_start), (do_async_done), (type_found), (setup_streaming), (setup_source), (gst_uri_decode_bin_change_state): Only add decodebin2 when the type is found in streaming mode. Make uridecodebin async to PAUSED even when we don't have decodebin2 added yet. 2008-04-09 Sebastian Dröge * ext/gio/gstgio.c: (gst_gio_get_supported_protocols): Filter cdda from the supported URI schemes. We can't support musicbrainz tags and everything else one expects from a cdda source with GIO. Fixes bug #526794. 2008-04-07 Jan Schmidt * sys/xvimage/xvimagesink.c (gst_xvimagesink_xvimage_new), (gst_xvimagesink_buffer_alloc): Fix calculation of 'expected size' for YV12 buffers. Be a little more verbose in the debug output for buffer-alloc'ed buffers which turn out to have the wrong size. 2008-04-07 Tim-Philipp Müller * NEWS: * RELEASE: * gst-plugins-base.doap: Merge other changes from 0.10.19 release branch. 2008-04-06 Tim-Philipp Müller * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_class_init): * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_class_init): * gst/playback/gstplayback.c: (plugin_init): * gst/volume/gstvolume.c: (plugin_init): Work around missing bits of thread-safety on older GLibs some more to avoid assertions when starting up multiple playbin objects concurrently (see #512382). 2008-04-06 Tim-Philipp Müller * gst-libs/gst/pbutils/missing-plugins.c: (copy_and_clean_caps): Remove some more fields. 2008-04-06 Sebastian Dröge Patch by: Damien Lespiau * configure.ac: Actually build dlls when cross-compiling with mingw32. Fixes bug #526247. 2008-04-03 Tim-Philipp Müller * configure.ac: Bump version to 0.10.19.1 after the unplanned 0.10.19 release. 2008-04-03 Wim Taymans * tests/examples/seek/seek.c: (play_cb), (pause_cb), (stop_cb), (msg_buffering), (connect_bus_signals), (main): Add statusbar. Add buffering support with feedback in the statusbar. 2008-04-03 Tim-Philipp Müller * ext/ogg/gstoggmux.c: Fix sample pipeline description. 2008-04-03 Stefan Kost * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/gst-plugins-base-plugins-overrides.txt: * docs/plugins/gst-plugins-base-plugins-sections.txt: Add playbin, playbin2, decodebin, decodebin2, uridecodebin and oggmux * docs/plugins/gst-plugins-base-plugins.args: * docs/plugins/gst-plugins-base-plugins.hierarchy: * docs/plugins/gst-plugins-base-plugins.interfaces: * docs/plugins/gst-plugins-base-plugins.prerequisites: * 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-playback.xml: * docs/plugins/inspect/plugin-queue2.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-uridecodebin.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 introspection data. * ext/ogg/gstoggmux.c: Document oggmux. * gst/playback/gstdecodebin2.c: Don't use gtk-doc style comment start for private stuff, but make it formatted like this for consistency. 2008-04-03 Wim Taymans * gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init), (gst_decode_bin_init), (gst_decode_bin_dispose), (gst_decode_bin_set_sink_caps), (gst_decode_bin_get_sink_caps), (gst_decode_bin_set_property), (gst_decode_bin_get_property), (analyze_new_pad), (connect_pad), (expose_pad), (gst_decode_group_new), (gst_decode_group_control_demuxer_pad), (gst_decode_group_expose), (gst_decode_group_free), (do_async_start), (do_async_done), (gst_decode_bin_change_state): Remove fakesink hack, we can now implement this more elegantly. Added property to bypass typefinding. Removed underrun callback and demuxer pad probe, we now use the srcpad probe to expose groups. API::sink-caps property * gst/playback/gstplaybin2.c: (no_more_pads_cb): Guard against multiple emissions of the no_more_pads signal, which happens when we are dealing with chained oggs. * gst/playback/gsturidecodebin.c: (remove_decoders), (make_decoder), (type_found), (setup_streaming), (source_new_pad), (setup_source): For streams, use our own typefind element and plug our queue after it. We will need this to determine the type of buffering to use for the queue soon. 2008-04-03 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_skew_slaving), (gst_base_audio_sink_render): Guard against over and underflows because of clock slaving. When we are using our own clock, still compensate for any calibrations that we might have done to our clock. 2008-04-03 Wim Taymans * ext/theora/theoradec.c: (theora_handle_type_packet), (theora_dec_chain): Don't try to do anything fancy with the return code from pushing an event, it does not have enough information to turn it into a GST_FLOW_ERROR. 2008-04-03 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_reset), (gst_ogg_demux_chain_elem_pad): Add small debug line. Pass return code from the internal decoder instead of the too generic GST_FLOW_ERROR. 2008-04-03 Sebastian Dröge * gst-libs/gst/cdda/Makefile.am: * gst-libs/gst/cdda/base64.c: * gst-libs/gst/cdda/base64.h: * gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cddabasesrc_calculate_musicbrainz_discid): Use GLib's base64 implementation instead of our own. 2008-04-02 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_demux_activate_chain), (gst_ogg_demux_read_chain): Refix oggdemux, we only have a problem if we failed to find a chain and we are not EOF. 2008-04-02 Wim Taymans Patch by: Victor STINNER * ext/ogg/gstoggdemux.c: (gst_ogg_demux_activate_chain), (gst_ogg_demux_read_chain): When we fail to find a BOS page and we and up with no chain, error out properly instead of segfaulting. Fixes #525665. 2008-04-02 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_demux_activate_chain), (gst_ogg_demux_read_chain), (gst_ogg_demux_handle_page): The new-pad-group sequence is add-pads, no-more-pads, add-pads, no-more-pads... 2008-04-02 Wim Taymans * gst/playback/gstqueue2.c: (update_out_rates), (gst_queue_open_temp_location_file), (gst_queue_close_temp_location_file), (gst_queue_handle_src_event), (gst_queue_handle_src_query), (gst_queue_set_property): Update the estimated input data when we push out a buffer. Add some debug info about the temp file. Only forward src events when we are not using a temp file. Don't block the duration query, we need to find something better. Don't leak the temp filename. 2008-04-01 Sebastian Dröge * configure.ac: Require GLib 2.12 and liboil 0.3.14. * gst/volume/gstvolume.c: (volume_process_double): Unconditionally use liboil 0.3.14 function. 2008-03-31 Wim Taymans * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps): ms-gsm can have arbitrarty sample rates. See #481354. 2008-03-28 Wim Taymans * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps): MP4S is generic MPEG-4, not a microsoft variant. 2008-03-27 Michael Smith * gst/gdp/gstgdpdepay.c: (gst_gdp_depay_chain): Check the body CRC (if set) when depayloading. Fixes #522401. 2008-03-24 Tim-Philipp Müller * ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init): Fix Since: version for new property. 2008-03-24 Wim Taymans * gst-libs/gst/rtsp/gstrtspconnection.c: (gst_rtsp_connection_connect), (gst_rtsp_connection_write), (gst_rtsp_connection_read_internal), (gst_rtsp_connection_poll): Don't error when poll_wait returns EAGAIN. 2008-03-24 Wim Taymans * gst/playback/gstqueue2.c: (gst_queue_is_filled): The queue is never filled when there are no buffers in the queue at all. Fixes #523993. 2008-03-24 Wim Taymans * gst/playback/gstplaybin2.c: (gst_play_bin_class_init), (init_group), (free_group), (gst_play_bin_init), (gst_play_bin_finalize), (gst_play_bin_set_uri), (gst_play_bin_set_suburi), (gst_play_bin_get_video_tags), (gst_play_bin_get_audio_tags), (gst_play_bin_get_text_tags), (gst_play_bin_set_current_video_stream), (gst_play_bin_set_current_audio_stream), (gst_play_bin_set_current_text_stream), (gst_play_bin_set_encoding), (gst_play_bin_set_property), (gst_play_bin_get_property), (pad_added_cb), (pad_removed_cb), (no_more_pads_cb), (perform_eos), (autoplug_select_cb), (activate_group), (deactivate_group), (setup_next_source), (save_current_group), (gst_play_bin_change_state): Update some docs. Add new locks and conds to protect pipeline creation and group switching. Implement the sub-uri property. Keep track of pending uridecodebin creation and configure the output pipeline after all streams are configured. Propagate subtitle encoding to the uridecodebins. Implement getting the video/audio/visualisation elements. Use input-selector for stream switching. If we are asked to do visualisation, prefer to autoplug raw sinks instead of sinks that accept encoded data. 2008-03-24 Wim Taymans * gst/playback/gstplaysink.c: (gst_play_sink_class_init), (gst_play_sink_init), (gst_play_sink_dispose), (gst_play_sink_set_video_sink), (gst_play_sink_get_video_sink), (gst_play_sink_set_audio_sink), (gst_play_sink_get_audio_sink), (gst_play_sink_vis_unblocked), (gst_play_sink_vis_blocked), (gst_play_sink_set_vis_plugin), (gst_play_sink_get_vis_plugin), (gst_play_sink_set_volume), (gst_play_sink_get_volume), (gst_play_sink_set_mute), (gen_video_chain), (gen_text_chain), (gen_audio_chain), (gen_vis_chain), (gst_play_sink_reconfigure), (gst_play_sink_set_font_desc), (gst_play_sink_get_font_desc), (gst_play_sink_send_event_to_sink), (gst_play_sink_change_state): * gst/playback/gstplaysink.h: Add methods to get audio/video/vis elements. Add methods to set the font description for the overlay. Remove properties, we're using this element with its methods only. Add support for subtitles. Rearrange the locking a bit to not use the object lock for protecting the pipeline construction. Try to use the volume and mute property on the sink when its available. Implement the mute option with volume when the sink does not have a mute property. Only add volume element when the sink has no volume property. Only do visualisations with raw audio pads. 2008-03-24 Wim Taymans * ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init), (gst_text_overlay_init), (gst_text_overlay_set_property), (gst_text_overlay_get_property), (gst_text_overlay_src_event), (gst_text_overlay_text_event), (gst_text_overlay_video_event), (gst_text_overlay_text_chain), (gst_text_overlay_video_chain), (gst_text_overlay_change_state): * ext/pango/gsttextoverlay.h: Add property to configure waiting for text on the textpad or not, with the default behaviour being the old one (always wait for text before rendering the video). This default behaviour is usually not the best one because the text stream can very sparse and could require queueing a lot of video. Fix the flushing and EOS handing so that we don't mix up their meaning. 2008-03-24 Wim Taymans * gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_autoplug_factories), (gst_uri_decode_bin_class_init), (gst_uri_decode_bin_init), (gst_uri_decode_bin_finalize), (gst_uri_decode_bin_set_encoding), (gst_uri_decode_bin_set_property), (gst_uri_decode_bin_get_property), (no_more_pads_full), (new_decoded_pad_cb), (gen_source_element), (remove_decoders), (proxy_autoplug_factories_signal), (make_decoder), (source_new_pad), (setup_source): Add a readonly source property and notify. Add new lock for protecting the construction of the pipeline. Keep track of the decodebins we plugged. Correctly proxy the autoplug signal so that it actually continues. Proxy subtitle-encoding to the decodebins. 2008-03-24 Wim Taymans * tests/examples/seek/seek.c: (audio_toggle_cb), (video_toggle_cb), (text_toggle_cb), (update_streams), (main): Rearrange some buttons in playbin2 and make some other boxes insensitive when needed. Add language codes to subtitle selection boxes when we gind the right tags for the streams. 2008-03-24 Wim Taymans * gst/playback/gstdecodebin2.c: (gst_decode_bin_dispose), (gst_decode_bin_set_caps), (gst_decode_bin_get_caps), (gst_decode_bin_set_subs_encoding), (gst_decode_bin_get_subs_encoding), (gst_decode_bin_autoplug_factories), (connect_pad), (are_raw_caps), (deactivate_free_recursive): Protect caps property with the object lock. Protect encoding property with the object lock. Keep list of elements we added that have the subtitle-encoding property. Distribute the subtitle-encoding to all of the elements when it changes. 2008-03-24 Wim Taymans * gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_release): Small debug improvement. * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_render): Fix bug in determining the sample start/stop position, we want to base this decision on the fact that we are going forwards or backwards, not slower or faster. This fixes some ugly resync warnings when playing at very slow speeds. 2008-03-23 Sebastian Dröge * ext/gio/gstgio.c: (gst_gio_get_supported_protocols): Correctly set the supported URI schemes and don't leave some schemes in the middle or at the start at NULL. 2008-03-23 Tim-Philipp Müller * tests/check/elements/gdpdepay.c: Make test compile without unused function/variable warnings on PPC. 2008-03-22 Sebastian Dröge * configure.ac: * ext/alsa/gstalsamixerelement.c: (gst_alsa_mixer_element_class_init): * ext/alsa/gstalsasink.c: (gst_alsasink_class_init): * ext/alsa/gstalsasrc.c: (gst_alsasrc_class_init): * ext/cdparanoia/gstcdparanoiasrc.c: (gst_cd_paranoia_src_class_init): * ext/gio/gstgiosink.c: (gst_gio_sink_class_init): * ext/gio/gstgiosrc.c: (gst_gio_src_class_init): * ext/gio/gstgiostreamsink.c: (gst_gio_stream_sink_class_init): * ext/gio/gstgiostreamsrc.c: (gst_gio_stream_src_class_init): * ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_class_init): * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_class_init): * ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init): * ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init): * ext/pango/gsttextrender.c: (gst_text_render_class_init): * ext/theora/theoradec.c: (gst_theora_dec_class_init): * ext/theora/theoraenc.c: (gst_theora_enc_class_init): * ext/theora/theoraparse.c: (gst_theora_parse_class_init): * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_class_init): * gst-libs/gst/audio/gstaudiofiltertemplate.c: (gst_audio_filter_template_class_init): * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_class_init): * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_class_init): * gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_class_init): * gst-libs/gst/interfaces/mixertrack.c: (gst_mixer_track_class_init): * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_class_init): * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_class_init): * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_class_init): * gst/audiorate/gstaudiorate.c: (gst_audio_rate_class_init): * gst/audioresample/gstaudioresample.c: (gst_audioresample_class_init): * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audio_test_src_class_init): * gst/gdp/gstgdppay.c: (gst_gdp_pay_class_init): * gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init): * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init), (preroll_unlinked): * gst/playback/gstplaybin.c: (gst_play_bin_class_init): * gst/playback/gstplaybin2.c: (gst_play_bin_class_init): * gst/playback/gstplaysink.c: (gst_play_sink_class_init): * gst/playback/gstqueue2.c: (gst_queue_class_init): * gst/playback/gststreaminfo.c: (gst_stream_info_class_init): * gst/playback/gststreamselector.c: (gst_selector_pad_class_init), (gst_stream_selector_class_init): * gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_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/videorate/gstvideorate.c: (gst_video_rate_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): * sys/v4l/gstv4lelement.c: (gst_v4lelement_class_init): * sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_class_init): * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_class_init): * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_class_init): * sys/ximage/ximagesink.c: (gst_ximagesink_class_init): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_class_init): Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use static strings (i.e. all). This gives us less memory usage, fewer allocations and thus less memory defragmentation. Depend on core CVS for this. Fixes bug #523806. 2008-03-22 Sebastian Dröge * ext/gio/gstgio.c: (gst_gio_get_supported_protocols): Filter http and https protocols. GIO/GVfs handles them but it's impossible to implement iradio/icecast with it. Better use souphttpsrc or something else for this. * ext/gio/gstgiobasesrc.c: (gst_gio_base_src_get_size): If getting the file informations by a query fails try it with the seek-to-end trick too. 2008-03-21 Sebastian Dröge * gst/volume/gstvolume.c: (gst_volume_interface_supported), (gst_volume_base_init), (gst_volume_class_init), (volume_process_double), (volume_process_float), (volume_transform_ip), (plugin_init): memset buffers to zero if we get a GAP buffer. We usually see a buffer as one unit so let's handle it as one and don't care about volume changes while processing one buffer. Also clean up some stuff a bit. 2008-03-21 Sebastian Dröge * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_init), (gst_audio_convert_create_silence_buffer), (gst_audio_convert_transform): Make audioconvert GAP-aware by outputting silence buffers when the input has the GAP flag set. This is up to 8x faster. Based on a patch by Stefan Kost. Fixes bug #517813. 2008-03-21 Sebastian Dröge * gst/volume/gstvolume.c: (volume_process_double): Use oil_scalarmultiply_f64_ns() for double processing when it's available at compile time. 2008-03-21 Sebastian Dröge * configure.ac: Fix lrint/lrintf checks to actually work. These functions are in libm on Linux at least so try to link to it. 2008-03-21 Jan Schmidt * configure.ac: Back to development - 0.10.18.1 === release 0.10.18 === 2008-03-20 Jan Schmidt * configure.ac: releasing 0.10.18, "I will follow" 2008-03-18 Jan Schmidt * configure.ac: * win32/common/config.h: 0.10.17.4 pre-release 2008-03-18 Wim Taymans * gst-libs/gst/sdp/gstsdpmessage.c: (gst_sdp_message_dump): Use GST_STR_NULL when trying to print strings that could be NULL because this might crash on some platforms. See #520808. 2008-03-18 Wim Taymans Patch by: Ole André Vadla Ravnås * gst-libs/gst/rtsp/gstrtspconnection.c: (gst_rtsp_connection_connect), (gst_rtsp_connection_write), (read_line), (gst_rtsp_connection_read_internal): Generic Windows fixes that makes libgstrtsp work on Windows when coupled with the new GstPoll API. See #520808. 2008-03-17 Sebastian Dröge Patch by: Milosz Derezynski * ext/gio/gstgiobasesrc.c: (gst_gio_base_src_create): If seeking to a new position succeeds don't simply return from create() without creating a buffer. Do this only in the case seeking to the new position fails. Fixes bug #523054. 2008-03-17 Tim-Philipp Müller * gst-libs/gst/video/video.c: (gst_video_format_parse_caps), (gst_video_format_from_rgba32_masks): Fix gst_video_format_parse_caps() for RGB caps with alpha channel (#522635). * tests/check/libs/video.c: (test_parse_caps_rgb), (video_suite): Add unit test for the RGB caps parsing and creation, checking for internal consistency of the new API and consistency of the API with the old GST_VIDEO_CAPS_* defines. 2008-03-14 David Schleef * gst/videotestsrc/videotestsrc.c: Oops, revert last change because -base is in freeze. 2008-03-14 David Schleef Patch by: William M. Brack * gst/videotestsrc/videotestsrc.c: Fix Bayer pattern generation. 2008-03-14 Wim Taymans * gst/playback/gststreamselector.c: (gst_selector_pad_event), (gst_selector_pad_chain): * gst/playback/gststreamselector.h: Revert change that caused regression until a real fix is found. Fixes #522203. 2008-03-12 Michael Smith * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_parse_caps): * gst-libs/gst/audio/gstringbuffer.h: Rename recently added buffer types to make more sense. * ext/alsa/gstalsasink.c: (alsasink_parse_spec), (gst_alsasink_write): Adapt for above API changes. Fixes bug #520523. 2008-03-11 Sebastian Dröge * win32/common/libgstnetbuffer.def: Add new symbol gst_netaddress_equal. Fixes bug #521743. 2008-03-11 Jan Schmidt * configure.ac: * win32/common/config.h: 0.10.17.3 pre-release 2008-03-10 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_create): Fix duration when no clock was provided. Fixes #520300. 2008-03-07 Wim Taymans Patch by: Olivier Crete * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/netbuffer/gstnetbuffer.c: (gst_netaddress_equal): * gst-libs/gst/netbuffer/gstnetbuffer.h: Add trivial function to compare GstNetAddress. See #520626. API: GstNetBuffer::gst_netaddress_equal 2008-03-07 Wim Taymans * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init): Update mode property docs, it's deprecated now. 2008-03-07 Wim Taymans * gst-libs/gst/rtsp/gstrtspconnection.c: (gst_rtsp_connection_create): * gst/tcp/gstmultifdsink.c: (gst_fdset_mode_get_type), (gst_multi_fd_sink_class_init), (gst_multi_fd_sink_start): * gst/tcp/gstmultifdsink.h: * gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_start): * gst/tcp/gsttcpserversrc.c: (gst_tcp_server_src_start): Remove GstPollMode from gstpoll constructor. 2008-03-04 Jan Schmidt * configure.ac: * win32/common/config.h: 0.10.17.2 pre-release 2008-03-03 Jan Schmidt * gst/Makefile.am: GST_PLUGINS_ALL correctly lists subparse and tcp now, don't distclean them twice * win32/common/libgstinterfaces.def: * win32/common/libgstrtp.def: Add new API to the defs 2008-03-03 Peter Kjellerstedt Patch by: Mersad Jelacic * gst-libs/gst/rtp/gstbasertpaudiopayload.c: * gst-libs/gst/rtp/gstbasertpaudiopayload.h: API: add gst_base_rtp_audio_payload_set_samplebits_options() to make it possible to specify the sample size in bits. (#509637) 2008-03-03 Tim-Philipp Müller * tests/check/libs/mixer.c: Add a few simple checks for the new message types. 2008-03-03 Tim-Philipp Müller * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/interfaces/mixer.c: (gst_mixer_option_changed), (gst_mixer_options_list_changed), (gst_mixer_mixer_changed), (gst_mixer_message_get_type), (gst_mixer_message_parse_option_changed), (gst_mixer_message_parse_options_list_changed): * gst-libs/gst/interfaces/mixer.h: (GstMixerType), (GST_MIXER_MESSAGE_OPTION_CHANGED), (GST_MIXER_MESSAGE_OPTIONS_LIST_CHANGED), (GST_MIXER_MESSAGE_MIXER_CHANGED): API: add gst_mixer_options_list_changed(), gst_mixer_mixer_changed() and gst_mixer_message_parse_options_list_changed(). Fixes #519916. 2008-03-03 Tim-Philipp Müller * gst-libs/gst/interfaces/mixeroptions.c: (gst_mixer_options_init), (gst_mixer_options_get_values): * gst-libs/gst/interfaces/mixeroptions.h: (GST_MIXER_OPTIONS_GET_CLASS), (GstMixerOptionsClass), (_GstMixerOptions), (_GstMixerOptionsClass): API: add GstMixerOptions::get_values vfunc (#519906) 2008-03-03 Peter Kjellerstedt * configure.ac: Use AG_GST_CHECK_PLUGIN and AG_GST_DISABLE_PLUGIN to simplify which plug-ins are included/excluded. (#498222) 2008-03-03 Sebastian Dröge * gst/typefind/gsttypefindfunctions.c: (plugin_init): Add typefinder for IMelody files, using audio/x-imelody. See bug #519516. 2008-03-03 Sebastian Dröge * ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_get_type): * ext/alsa/gstalsasink.c: (set_hwparams): * ext/alsa/gstalsasrc.c: (set_hwparams): * ext/gio/gstgio.c: (gst_gio_uri_handler_get_uri): * ext/ogg/gstoggmux.h: * ext/ogg/gstogmparse.c: * gst-libs/gst/audio/audio.c: * gst-libs/gst/fft/kiss_fft_f64.c: (kiss_fft_f64_alloc): * gst-libs/gst/pbutils/missing-plugins.c: (gst_missing_uri_sink_message_new), (gst_missing_element_message_new), (gst_missing_decoder_message_new), (gst_missing_encoder_message_new): * gst-libs/gst/rtp/gstbasertppayload.c: * gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_packet_bye_get_reason): * gst/audioconvert/gstaudioconvert.c: * gst/audioresample/gstaudioresample.c: * gst/ffmpegcolorspace/imgconvert.c: * gst/playback/test.c: (gen_video_element), (gen_audio_element): * gst/typefind/gsttypefindfunctions.c: * gst/videoscale/vs_4tap.c: * gst/videoscale/vs_4tap.h: * sys/v4l/gstv4lelement.c: * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_get_any_caps): * sys/v4l/v4l_calls.c: * sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_capture_init), (gst_v4lsrc_try_capture): * sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls), (gst_ximagesink_ximage_new): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_new): * tests/check/elements/audioconvert.c: * tests/check/elements/audioresample.c: (fail_unless_perfect_stream): * tests/check/elements/audiotestsrc.c: (setup_audiotestsrc): * tests/check/elements/decodebin.c: * tests/check/elements/gdpdepay.c: (setup_gdpdepay), (setup_gdpdepay_streamheader): * tests/check/elements/gdppay.c: (setup_gdppay), (GST_START_TEST), (setup_gdppay_streamheader): * tests/check/elements/gnomevfssink.c: (setup_gnomevfssink): * tests/check/elements/multifdsink.c: (setup_multifdsink): * tests/check/elements/textoverlay.c: * tests/check/elements/videorate.c: (setup_videorate): * tests/check/elements/videotestsrc.c: (setup_videotestsrc): * tests/check/elements/volume.c: (setup_volume): * tests/check/elements/vorbisdec.c: (setup_vorbisdec): * tests/check/elements/vorbistag.c: * tests/check/generic/clock-selection.c: * tests/check/generic/states.c: (setup), (teardown): * tests/check/libs/cddabasesrc.c: * tests/check/libs/video.c: * tests/check/pipelines/gio.c: * tests/check/pipelines/oggmux.c: * tests/check/pipelines/simple-launch-lines.c: (simple_launch_lines_suite): * tests/check/pipelines/streamheader.c: * tests/check/pipelines/theoraenc.c: * tests/check/pipelines/vorbisdec.c: * tests/check/pipelines/vorbisenc.c: * tests/examples/seek/scrubby.c: * tests/examples/seek/seek.c: (query_positions_elems), (query_positions_pads): * tests/icles/stress-xoverlay.c: (myclock): Correct all relevant warnings found by the sparse semantic code analyzer. This include marking several symbols static, using NULL instead of 0 for pointers and using "foo (void)" instead of "foo ()" for declarations. * win32/common/libgstrtp.def: Add gst_rtp_buffer_set_extension_data to the symbol definition file. 2008-03-02 Tim-Philipp Müller Patch by: José Alburquerque * gst/playback/gstplaybin2.c: Make the function signature of the _get_*_tags() functions match the signature of the vfuncs they implement, ie. return a GstTagList rather than a GstStructure, which is more correct, even if one is typedef'ed to the other (#518940). 2008-03-02 Tim-Philipp Müller * gst-libs/gst/rtsp/gstrtspconnection.c: Don't include unix headers unconditionally (fixes #518037). 2008-03-02 Tim-Philipp Müller * tests/check/libs/video.c: (paintinfo), (paintinfo_struct), (fourcc_list_struct), (fourcc_list), (fourcc_get_size), (paint_setup_I420), (paint_setup_YV12), (paint_setup_AYUV), (paint_setup_YUY2), (paint_setup_UYVY), (paint_setup_YVYU), (paint_setup_IYU2), (paint_setup_Y41B), (paint_setup_Y42B), (paint_setup_Y800), (paint_setup_YVU9), (paint_setup_YUV9), (gst_video_format_is_packed), (video_format_is_packed): Add unit test that makes sure that the strides, offsets and sizes returned for the various YUV formats by the new video API match the old reference implementation in videotestsrc. 2008-03-02 Tim-Philipp Müller * gst-libs/gst/video/video.c: (gst_video_calculate_display_ratio), (gst_video_format_from_fourcc), (gst_video_format_to_fourcc), (gst_video_format_is_rgb), (gst_video_format_is_yuv), (gst_video_format_has_alpha), (gst_video_format_get_row_stride), (gst_video_format_get_pixel_stride), (gst_video_format_get_component_width), (gst_video_format_get_component_height), (gst_video_format_get_component_offset), (gst_video_format_get_size): * gst-libs/gst/video/video.h: (GST_VIDEO_FORMAT_Y41B), (GST_VIDEO_FORMAT_Y42B): API: add GST_VIDEO_FORMAT_Y41B and GST_VIDEO_FORMAT_Y42B. 2008-03-02 Tim-Philipp Müller * gst-libs/gst/video/video.c: (gst_video_format_get_component_offset): YV12 is I420 with swapped components 1 and 2, so the offset of component 1 for I420 should be the offset for component 2 for YV12 and vice versa. 2008-02-29 Rene Stadler * sys/v4l/gstv4lelement.c: Add missing semicolon to fix indentation. 2008-02-29 Julien Moutte * ext/alsa/gstalsa.c: (gst_alsa_open_iec958_pcm), (gst_alsa_probe_supported_formats): Probe for IEC958 pcm to detect if we can do SPDIF output. * ext/alsa/gstalsa.h: * ext/alsa/gstalsasink.c: (set_hwparams), (alsasink_parse_spec), (gst_alsasink_prepare), (gst_alsasink_close), (gst_alsasink_write): * ext/alsa/gstalsasink.h: Initial support for SPDIF. * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_parse_caps): * gst-libs/gst/audio/gstringbuffer.h: Add non linear buffer types to support AC3, EC3 and IEC958 buffers. 2008-02-29 Tim-Philipp Müller * gst-libs/gst/interfaces/mixer.c: (GST_MIXER_MESSAGE_HAS_TYPE), (gst_mixer_message_parse_mute_toggled), (gst_mixer_message_parse_record_toggled), (gst_mixer_message_parse_volume_changed), (gst_mixer_message_parse_option_changed): De-cruft and fix message type assertions (NULL is not a really valid mixer message type string). 2008-02-29 Wim Taymans * ext/libvisual/visual.c: (gst_vis_src_negotiate): When negotiating, actually start from a format that we can support instead of from the too generic template. 2008-02-29 Wim Taymans * gst/playback/gstplaybin2.c: (gst_play_bin_set_property): Enable vis setting. * gst/playback/gstplaysink.c: (gst_play_sink_init), (gst_play_sink_dispose), (gst_play_sink_vis_unblocked), (gst_play_sink_vis_blocked), (gst_play_sink_set_vis_plugin), (gen_vis_chain): Implement vis switching while playing. 2008-02-28 David Schleef * gst-libs/gst/riff/riff-media.c: Add Dirac mapping 2008-02-28 Wim Taymans Patch by: Peter Kjellerstedt * gst/tcp/Makefile.am: * gst/tcp/fdsetstress.c: * gst/tcp/gstfdset.c: * gst/tcp/gstfdset.h: Removed fdset and stress test, they are now known as GstPoll in core. * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init), (gst_multi_fd_sink_add_full), (gst_multi_fd_sink_remove), (gst_multi_fd_sink_clear), (gst_multi_fd_sink_remove_client_link), (gst_multi_fd_sink_handle_client_write), (gst_multi_fd_sink_queue_buffer), (gst_multi_fd_sink_handle_clients), (gst_multi_fd_sink_start), (gst_multi_fd_sink_stop): * gst/tcp/gstmultifdsink.h: * gst/tcp/gsttcp.c: (gst_tcp_socket_read), (gst_tcp_socket_close), (gst_tcp_read_buffer), (gst_tcp_gdp_read_buffer), (gst_tcp_gdp_read_caps): * gst/tcp/gsttcp.h: * gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_init), (gst_tcp_client_sink_setcaps), (gst_tcp_client_sink_render), (gst_tcp_client_sink_start), (gst_tcp_client_sink_stop): * gst/tcp/gsttcpclientsink.h: * gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_init), (gst_tcp_client_src_create), (gst_tcp_client_src_start), (gst_tcp_client_src_stop), (gst_tcp_client_src_unlock): * gst/tcp/gsttcpclientsrc.h: * gst/tcp/gsttcpserversink.c: (gst_tcp_server_sink_handle_wait), (gst_tcp_server_sink_init_send), (gst_tcp_server_sink_close): * gst/tcp/gsttcpserversink.h: * gst/tcp/gsttcpserversrc.c: (gst_tcp_server_src_init), (gst_tcp_server_src_create), (gst_tcp_server_src_start), (gst_tcp_server_src_stop), (gst_tcp_server_src_unlock): * gst/tcp/gsttcpserversrc.h: Port to GstPoll. See #505417. 2008-02-28 Wim Taymans Patch by: Peter Kjellerstedt * gst-libs/gst/rtsp/gstrtspconnection.c: (gst_rtsp_connection_create), (gst_rtsp_connection_connect), (gst_rtsp_connection_write), (gst_rtsp_connection_read_internal), (gst_rtsp_connection_receive), (gst_rtsp_connection_close), (gst_rtsp_connection_free), (gst_rtsp_connection_poll), (gst_rtsp_connection_flush): * gst-libs/gst/rtsp/gstrtspconnection.h: Use GstPoll for the rtsp connection. See #505417. 2008-02-27 Wim Taymans * tests/examples/seek/seek.c: (vis_toggle_cb), (filter_features), (init_visualization_features), (vis_combo_cb), (shot_cb), (main): Add combo box for visualisations, populate it with a factory list of all visualisation plugins, configure vis plugin instance in playbin2. 2008-02-27 Wim Taymans * tests/check/libs/rtp.c: (GST_START_TEST): Add check for RTP buffer defaults, padding and marker bit API. 2008-02-27 Sebastian Dröge * gst-libs/gst/cdda/sha1.c: (sha_transform): Use memcpy() instead of upcasting a byte array to long *. This fixes an unaligned memory access, resulting in SIGBUS on IA64. This should be ported to GCheckSum once we can use GLib 2.16. Partially fixes bug #500833. 2008-02-27 Tim-Philipp Müller * gst-libs/gst/tag/gsttagdemux.c: (gst_tag_demux_chain): Push tag event after the newsegment event. Log the pointer of the buffer we're actually going to push rather than the buffer we're feeding to _make_metadata_writable(). 2008-02-25 Sebastian Dröge * gst/typefind/gsttypefindfunctions.c: (plugin_init): Comment smoke typefinder for now. The smokedec plugin needs one frame per buffer but we have no parser yet, thus it simply crashes in most situations. 2008-02-25 Sebastian Dröge * gst/typefind/gsttypefindfunctions.c: (plugin_init): Add typefinder for the smoke video codec. Copied from the jpeg plugin. 2008-02-25 Sebastian Dröge * gst/typefind/gsttypefindfunctions.c: (mid_type_find), (plugin_init): Add midi typefinder, copied from the timidity plugin. 2008-02-23 Tim-Philipp Müller Based on patch by: Tomasz Sałaciński * gst/subparse/gstsubparse.c: (parse_mdvdsub): * tests/check/elements/subparse.c: (test_microdvd_with_italics), (subparse_suite): Forward slashes at the beginning and end of a line also signify italics (Fixes: #518162). 2008-02-22 Sebastian Dröge * tests/check/gst-plugins-base.supp: Add a suppression for a cached value in GIO that wasn't moved while moving gio from -bad to -base. 2008-02-22 Sebastian Dröge Patch by: Brian Cameron * configure.ac: Don't hardcode -Wall and -Werror for configure checks, this fails with non-GCC compilers. Fixes bug #517991. 2008-02-21 Stefan Kost * gst/audioconvert/gstaudioconvert.c: * gst/audioconvert/gstaudioquantize.c: * gst/audioconvert/gstaudioquantize.h: Make audioconvert gap aware. If noiseshaping is used, wait for noiseshaping to converge before marking as GAP. Fixes #517813. 2008-02-21 Stefan Kost * gst/audiotestsrc/gstaudiotestsrc.c: Mark buffers as GAP,if volume is 0.0 and fix the previous logic. 2008-02-20 Sebastian Dröge * ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_handle_event): Return FALSE when seeking for a new segment fails instead of silently ignoring the failure and appending every buffer that comes for the new segment. 2008-02-20 Wim Taymans * gst/playback/gstplaysink.c: (find_property), (gst_play_sink_find_property), (gen_video_chain), (gst_play_sink_reconfigure), (gst_play_sink_get_last_frame): Recursively search the sink element for a last-frame property so that we can also find the property in autovideosink and friends that don't always proxy the internal sink properties. 2008-02-19 Tim-Philipp Müller * gst-libs/gst/audio/multichannel.c: (GST_AUDIO_CHANNEL_POSITIONS_FIELD_NAME), (gst_audio_get_channel_positions), (gst_audio_set_channel_positions), (gst_audio_set_structure_channel_positions_list), (add_list_to_struct), (gst_audio_set_caps_channel_positions_list), (gst_audio_fixate_channel_positions): Fix confusing terminology in docs and code: structure fields are 'fields' and not 'properties'. 2008-02-19 Tim-Philipp Müller * gst-libs/gst/audio/multichannel.c: (gst_audio_check_channel_positions), (add_list_to_struct): Give more useful warning messages if one of the channel layout enums passed to us is invalid and if the "channels" field in the caps has a GType we don't expect. 2008-02-19 Tim-Philipp Müller * gst-libs/gst/audio/multichannel.c: Fix typo in docs blurb. 2008-02-19 Julien Moutte Patch by: Josep Torra Valles * gst/typefind/gsttypefindfunctions.c: Increase the MPEG PS typefind lookup to fix typefinding on HD clips. 2008-02-19 Tim-Philipp Müller * gst/playback/gstscreenshot.c: * gst/playback/gstscreenshot.h: Fix up copyright (I rewrote the GStreamer-0.10 code for this from scratch back in the days). 2008-02-19 Wim Taymans * gst/playback/Makefile.am: * gst/playback/gstscreenshot.c: (feed_fakesrc), (save_result), (create_element), (gst_play_frame_conv_convert): * gst/playback/gstscreenshot.h: Add screenshot conversion code from totem. * gst/playback/gstplay-marshal.list: * gst/playback/gstplaybin2.c: (gst_play_marshal_BUFFER__BOXED), (gst_play_bin_class_init), (gst_play_bin_convert_frame), (gst_play_bin_get_property), (no_more_pads_cb), (activate_group): Implement frame property to get a color-unconverted snapshot. Implement convert-frame action signal to get a converted snapshot image. Configure connection speed in uridecodebin. Document some more properties. * gst/playback/gstplaysink.c: (gst_play_sink_class_init), (gen_video_chain), (gen_audio_chain), (gst_play_sink_reconfigure), (gst_play_sink_get_last_frame): * gst/playback/gstplaysink.h: Use last-buffer property of the video sink to get a video snapshot. * tests/examples/seek/seek.c: (shot_cb), (main): Add snapshot button for playbin2 and use the frame property to save the frame as a png in the current directory. 2008-02-19 Sebastian Dröge Patch by: Josep Torra Valles * gst/typefind/gsttypefindfunctions.c: (h264_video_type_find), (plugin_init): Add typefinding support for h264 elementary streams. Fixes bug #517420. 2008-02-18 Stefan Kost * configure.ac: Require CVS of core for new API in collectpads. * gst/adder/gstadder.c: Use new API to make adder sparse stream aware. 2008-02-18 Wim Taymans * gst/playback/gstplaybin2.c: (pad_added_cb), (pad_removed_cb), (no_more_pads_cb): Get the object data correct so that we can remove our channels correctly. * gst/playback/gstplaysink.c: (gen_video_chain), (gen_audio_chain), (gen_vis_chain), (gst_play_sink_reconfigure), (gst_play_sink_request_pad): Add option to disable async behaviour in the sinks when possible. This makes it possible to avoid an audio queue when dealing with visualisations. Add option to add a queue for the audio path. * tests/examples/seek/seek.c: (clear_streams), (update_streams), (main): Disable the vis checkbox to match the defaults of playbin2. Only get the stream info when we need to. 2008-02-17 Sebastian Dröge * ext/gio/gstgiobasesink.c: (gst_gio_base_sink_stop), (gst_gio_base_sink_set_stream): * ext/gio/gstgiobasesrc.c: (gst_gio_base_src_stop), (gst_gio_base_src_set_stream): * ext/gio/gstgiosink.c: (gst_gio_sink_start): * ext/gio/gstgiosrc.c: (gst_gio_src_start): Don't use async operations as they require a running main loop. This makes us block again when closing streams and unable to mount the enclosing volume of an URI if it isn't yet. 2008-02-15 Wim Taymans * gst/playback/gstplaysink.c: (gst_play_sink_set_mute), (gst_play_sink_get_mute), (gen_video_chain), (gen_audio_chain), (gen_vis_chain), (gst_play_sink_reconfigure), (gst_play_sink_request_pad): Move tee in front of the audio and vis pipelines. Add queue for audio for now. Add visualisation support. * tests/examples/seek/seek.c: (main): Visualisation is by default disabled. 2008-02-15 Sebastian Dröge * ext/gio/gstgiobasesink.c: (close_stream_cb): * ext/gio/gstgiobasesrc.c: (close_stream_cb): Improve debugging a bit. * ext/gio/gstgiosink.c: (mount_cb), (gst_gio_sink_start): * ext/gio/gstgiosink.h: * ext/gio/gstgiosrc.c: (mount_cb), (gst_gio_src_start): * ext/gio/gstgiosrc.h: Try to mount the enclosing volume of a GFile if it isn't mounted yet. This requires us to wait for an async operation to finish, done with an nested GMainLoop. Authentication is not supported yet, will come later. 2008-02-14 Wim Taymans * gst/playback/gstplaybin2.c: (gst_play_bin_class_init), (gst_play_bin_set_property), (gst_play_bin_get_property), (pad_added_cb), (pad_removed_cb), (no_more_pads_cb): * gst/playback/gstplaysink.c: (gst_play_sink_set_mute), (gst_play_sink_get_mute), (gen_audio_chain): * gst/playback/gstplaysink.h: Add mute property. * gst/playback/gststreamselector.c: (gst_selector_pad_event), (gst_selector_pad_chain): * gst/playback/gststreamselector.h: Make sure we forward the event only once. * tests/examples/seek/seek.c: (stop_cb), (mute_toggle_cb), (main): Add and implement the mute button for playbin2. 2008-02-13 Wim Taymans Patch by: Tommi Myöhänen * ext/alsa/gstalsasink.c: (set_hwparams), (gst_alsasink_delay): Add some more debug info. Make sure we never return a negative delay. Fixes #516246. 2008-02-12 Tim-Philipp Müller * ext/alsa/gstalsasink.c: (gst_alsasink_delay): Revert patch that makes the sink hold the object lock when calling snd_pcm_delay(), since it breaks playback for me. 2008-02-12 Julien Moutte * tests/examples/seek/seek.c: (rate_spinbutton_changed_cb): Add some seek flags when changing rate. 2008-02-12 Wim Taymans * gst-libs/gst/rtp/gstbasertpaudiopayload.c: (gst_base_rtp_audio_payload_handle_frame_based_buffer), (gst_base_rtp_audio_payload_handle_sample_based_buffer): Fix potential leaks. * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_chain): Fix leak when there is no function configured. 2008-02-12 Sebastian Dröge * sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_buffer_class_init), (gst_v4lsrc_buffer_finalize): Correctly chain up the finalize method. 2008-02-12 Sebastian Dröge * ext/gio/gstgiostreamsink.c: * ext/gio/gstgiostreamsrc.c: Add documentation and example code for giostreamsink/giostreamsrc. * tests/check/pipelines/gio.c: (GST_START_TEST): Ask the GMemoryOutputStream for the data instead of assuming that the pointer to the data stayed the same. It could've been realloc'ed. 2008-02-12 Sebastian Dröge * ext/gio/gstgiosink.c: * ext/gio/gstgiosrc.c: Make the documentation of giosink/giosrc complete, large parts are based on the gnomevfssink/gnomevfssrc docs. 2008-02-12 Sebastian Dröge * 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/gst-plugins-base-plugins.interfaces: * docs/plugins/gst-plugins-base-plugins.prerequisites: * docs/plugins/gst-plugins-base-plugins.signals: * docs/plugins/inspect/plugin-adder.xml: * docs/plugins/inspect/plugin-audioconvert.xml: * docs/plugins/inspect/plugin-audiorate.xml: * docs/plugins/inspect/plugin-audioresample.xml: * docs/plugins/inspect/plugin-decodebin.xml: * docs/plugins/inspect/plugin-ffmpegcolorspace.xml: * docs/plugins/inspect/plugin-gdp.xml: * docs/plugins/inspect/plugin-gio.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-playback.xml: * docs/plugins/inspect/plugin-queue2.xml: * docs/plugins/inspect/plugin-subparse.xml: * docs/plugins/inspect/plugin-theora.xml: * docs/plugins/inspect/plugin-uridecodebin.xml: * docs/plugins/inspect/plugin-videorate.xml: * docs/plugins/inspect/plugin-videoscale.xml: * docs/plugins/inspect/plugin-volume.xml: * docs/plugins/inspect/plugin-vorbis.xml: Add the GIO documentation again and while at that run make update. 2008-02-11 Tim-Philipp Müller * ext/alsa/gstalsa.h: (GST_CHECK_ALSA_VERSION): * ext/alsa/gstalsasink.c: (set_swparams): * ext/alsa/gstalsasrc.c: (set_swparams), (gst_alsasrc_open): Don't use snd_pcm_sw_params_set_xfer_align() if we're compiling against libasound >= 1.0.16, since it's been deprecated in 0.10.16, and alignment is always 1 then, apparently. (#512899) 2008-02-11 Tim-Philipp Müller * gst/playback/gstplaybin.c: (gen_audio_element): * gst/playback/gstplaysink.c: (gen_audio_chain): Handle case where we can't create the volume element a bit better (#514307). 2008-02-11 Tim-Philipp Müller * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_check_get_range): * ext/gnomevfs/gstgnomevfsuri.c: (gst_gnomevfs_get_supported_uris): Add support for https protocol. Fixes #510229. 2008-02-11 Julien Moutte Patch by: Alan Peevers * ext/alsa/gstalsasink.c: (gst_alsasink_delay): Take appropriate lock when calling alsa methods. 2008-02-11 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: Bump rank of jpeg and png typefinders, which will return maximum probability in the most common cases (thus short-circuiting more expensive typefinders like the mp3 one for these two quite common image types). 2008-02-11 Sebastian Dröge * ext/theora/theoraparse.c: Fix long description of the theora parser to be more verbose than just the type name. 2008-02-11 Sebastian Dröge Patch by: Branko Čibej * sys/xvimage/xvimagesink.c: Fix build of xvimagesink if we don't have XShm, e.g. on Mac OS X. Fixes bug #515654. 2008-02-09 Zaheer Abbas Merali * gst/playback/gstplaybasebin.c: Set is_dynamic as True if there are elements with both request and sometimes src pad templates instead of breaking out when it finds the first pad template that is a src. 2008-02-08 Wim Taymans * tests/examples/seek/seek.c: (stop_cb), (clear_streams), (update_streams), (video_combo_cb), (audio_combo_cb), (text_combo_cb), (volume_spinbutton_changed_cb), (main): Add some stream switching and volume gui for playbin2. 2008-02-08 Wim Taymans * gst/playback/gstplay-marshal.list: Added marshal for streamselector Tags. * gst/playback/gstplaybasebin.c: (set_active_source): Streamselector now selects pads based on the pad object instead of its name. * gst/playback/gstplaybin2.c: (gst_play_bin_class_init), (init_group), (gst_play_bin_init), (get_group), (get_tags), (gst_play_bin_get_video_tags), (gst_play_bin_get_audio_tags), (gst_play_bin_get_text_tags), (gst_play_bin_set_current_video_stream), (gst_play_bin_set_current_audio_stream), (gst_play_bin_set_current_text_stream), (gst_play_bin_set_property), (gst_play_bin_get_property), (pad_added_cb), (pad_removed_cb), (autoplug_select_cb): Remove option to mute streams with the current-a/v/t property, we have this functionality in the flags. Add signals to notify when the number of A/V/T channels changed. Add action signals to get tags for the A/V/T streams. Implement setting the current A/V/T stream. Rearrange some things to simplify stream selection. Implement volume. * gst/playback/gstplaysink.c: (gst_play_sink_set_volume), (gst_play_sink_get_volume), (gst_play_sink_set_property), (gst_play_sink_get_property), (gen_video_chain), (gen_audio_chain), (activate_vis), (gst_play_sink_reconfigure): * gst/playback/gstplaysink.h: Add and implement volume setting methods. * gst/playback/gststreamselector.c: (gst_selector_pad_class_init), (gst_selector_pad_finalize), (gst_selector_pad_get_property), (gst_selector_pad_event), (gst_stream_selector_class_init), (gst_stream_selector_init), (gst_stream_selector_finalize), (gst_stream_selector_set_property), (gst_stream_selector_get_property), (gst_stream_selector_get_linked_pad), (gst_stream_selector_request_new_pad): * gst/playback/gststreamselector.h: Add pad properties for tags and status of pads. Keep tags on pads. Make active pad selection based on pad object instead of name. 2008-02-08 Stefan Kost * configure.ac: Revert last change as we now check in gtk-doc.m4 for sed. 2008-02-08 Jan Schmidt * configure.ac: Find and subst SED when building the docs. 2008-02-08 Julien Moutte * tests/examples/seek/seek.c: (stop_cb), (connect_bus_signals), (main): Make sure bus signals are reconnected when pressing STOP and then PLAY again for a parse launch pipeline. Fix a ref leak on the bus. * win32/common/config.h: Updated. 2008-02-08 Jan Schmidt * configure.ac: Make DISABLE_DEPRECATED defined *only* during CVS, not during pre-releases or releases. 2008-02-08 Jan Schmidt * configure.ac: * ext/gio/Makefile.am: Subst GIO_LDFLAGS to avoid undefined Makefile var error Zaheer is reporting 2008-02-07 Jan Schmidt * docs/plugins/Makefile.am: Add the headers which need scanning for the GIO plugin. The rest of the docs still need migrating. 2008-02-07 Jan Schmidt * ext/Makefile.am: * tests/check/Makefile.am: * tests/check/pipelines/.cvsignore: Add gio in a few more places. 2008-02-07 Jan Schmidt * configure.ac: * ext/Makefile.am: * tests/check/Makefile.am: Move gio plugin from -bad and mark as experimental. 2008-02-07 Jan Schmidt * gst-libs/gst/interfaces/mixeroptions.c: * gst-libs/gst/interfaces/mixertrack.c: Comment out a couple of other things which break the build when GST_DISABLE_DEPRECATED isn't on but -Werror is. 2008-02-07 Tim-Philipp Müller * docs/libs/gst-plugins-base-libs-sections.txt: Fix pbutils header. 2008-02-07 Wim Taymans * gst-libs/gst/rtsp/gstrtspmessage.c: (gst_rtsp_message_unset): Fix compiler warning. 2008-02-07 Wim Taymans Patch by: Peter Kjellerstedt * gst-libs/gst/sdp/gstsdpmessage.c: (is_multicast_address): Clear the addrinfo struct using memset. Fixes #514937. 2008-02-06 Wim Taymans * gst/tcp/gstfdset.h: Remove unused field to same some memory. * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init): Mark action signals as such. 2008-02-06 Michael Smith * ext/theora/theoradec.c: (_theora_granule_frame), (_inc_granulepos): Increment granulepos for new-bitstream versions appropriately. Fixes #514623. 2008-02-04 Wim Taymans * tests/examples/seek/seek.c: (do_seek), (rate_spinbutton_changed_cb), (update_streams), (main): Remove obsolete stream_time reset after flushing seek, core does that automatically now. Improve accuracy of speed spinbutton. Only do playbin2 stuff when we actually use it. 2008-02-02 Tim-Philipp Müller * tests/check/Makefile.am: Revert previous change of the test environment's GST_PLUGIN_PATH. The problem is not with the plugins, but with element factories and only occurs if elements are split out from existing plugins or if plugins change name (see #512740). 2008-02-02 Tim-Philipp Müller * tests/check/Makefile.am: Fix the tests environment's GST_PLUGIN_PATH: we want the directory with the core's plugins first and our local build directories last, since we might be building against an installed core, and that core's plugin directory may contain older or other versions of our own -base plugins, but we really do want to test our local ones (if there are multiple plugins or element factories with the same name, those inspected last will trump those read in earlier). Fixes #512740 for the most part. 2008-02-02 Sebastian Dröge * configure.ac: * gst-libs/gst/rtsp/gstrtspconnection.c: (add_date_header): Use gmtime_r if available as gmtime is not MT-safe. Fixes bug #511810. 2008-02-02 Sebastian Dröge * gst-libs/gst/rtsp/gstrtspconnection.c: (add_date_header): Cast glong to time_t as time_t might have a different type on other platforms, like FreeBSD, and we get a compiler warning otherwise. Fixes bug #511825. 2008-02-01 Wim Taymans * gst/playback/gstplaybin2.c: (gst_play_bin_class_init), (get_group), (get_n_pads), (gst_play_bin_get_property), (pad_added_cb), (no_more_pads_cb), (perform_eos), (autoplug_select_cb), (deactivate_group): Remove stream-info, we going for something easier. Refactor getting the current group. Implement getting the number of audio/video/text streams. * gst/playback/gststreamselector.c: (gst_stream_selector_class_init), (gst_stream_selector_init), (gst_stream_selector_get_property), (gst_stream_selector_request_new_pad), (gst_stream_selector_release_pad): * gst/playback/gststreamselector.h: Add property for number of pads. * tests/examples/seek/seek.c: (set_scale), (update_flag), (vis_toggle_cb), (audio_toggle_cb), (video_toggle_cb), (text_toggle_cb), (update_streams), (msg_async_done), (msg_state_changed), (main): Block slider callback when updating the slider position. Add gui elements for controlling playbin2. Add callback for async_done that updates position/duration. 2008-02-01 Stefan Kost * 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.hierarchy: * docs/plugins/gst-plugins-base-plugins.interfaces: * docs/plugins/gst-plugins-base-plugins.prerequisites: First round of plugin docs cleansups. * 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-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: Regenerate. * ext/ogg/Makefile.am: * ext/ogg/gstoggmux.c: * ext/ogg/gstoggmux.h: Add header for oggmux. the c-file needs a doc blob still. 2008-02-01 Wim Taymans Patch by: Thijs Vermeir * gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_set_extension_data): * gst-libs/gst/rtp/gstrtpbuffer.h: * tests/check/libs/rtp.c: (GST_START_TEST), (rtp_suite): Add gst_rtp_buffer_set_extension_data() Add a unit test for this addition. Fixes #511478. API: GstRTPBuffer:gst_rtp_buffer_set_extension_data() 2008-01-30 Jan Schmidt * configure.ac: Back to CVS === release 0.10.17 === 2008-01-30 Jan Schmidt * configure.ac: releasing 0.10.17, "Peanut Butter and Jelly" 2008-01-30 Jan Schmidt * gst-libs/gst/interfaces/mixeroptions.c: * gst-libs/gst/interfaces/mixertrack.c: Also remove the conditional registration of the signals that disappeared with the ABI change in 0.10.14 2008-01-30 Jan Schmidt * gst-libs/gst/rtsp/gstrtspconnection.c: Revert patch to gstrtspconnection.c for brown paper bag release of -base. Re-opens: #511825 2008-01-30 Jan Schmidt * gst-libs/gst/interfaces/mixeroptions.h: * gst-libs/gst/interfaces/mixertrack.h: Change the way these deprecated function pointers are removed so that the compiled ABI is unconditionally smaller. This sets in stone an ABI break that actually occurred when the things were deprecated in 0.10.14, which seems to be the best fix as the only known users are oss-mixer and sunaudio-mixer in gst-plugins-good. Fixes: #513018 2008-01-30 Tim-Philipp Müller * win32/common/libgstpbutils.def: Export the two new _get_type() functions which are needed by the python bindings. 2008-01-29 Sebastian Dröge * gst-libs/gst/rtsp/gstrtspconnection.c: (add_date_header): Cast glong to time_t as time_t might have a different type on other platforms, like FreeBSD, and we get a compiler warning otherwise. Fixes bug #511825. 2008-01-29 Sebastian Dröge * gst-libs/gst/audio/gstaudiofilter.c: (gst_audio_filter_class_init): Initialize the GstRingerBuffer class to get it's debug category initialized. gst_ring_buffer_parse_caps() uses the ringbuffer debug category and otherwise we get some g_critical(). Fixes bug #512334. 2008-01-28 Jan Schmidt * configure.ac: Back to CVS === release 0.10.16 === 2008-01-28 Jan Schmidt * configure.ac: releasing 0.10.16, "Scheduled Interruption" 2008-01-22 Wim Taymans Patch by: Thijs Vermeir * gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_get_extension_data): Fix typos and wrong extension check. Fixes #511274. 2008-01-18 Jan Schmidt * po/sk.po: Oops - add new sk.po mentioned in the LINGUAS I just committed 2008-01-17 Jan Schmidt * po/LINGUAS: Add ca translation to the disted list. * win32/vs6/libgstsdp.dsp: Convert line endings to CRLF 2008-01-17 Sebastien Moutte * win32/MANIFEST: Add win32/vs6/libgstrtsp.dsp to MANIFEST 2008-01-14 Jan Schmidt * win32/common/libgstsdp.def: * win32/common/libgstvideo.def: Add new API declarations 2008-01-14 Jan Schmidt * ext/theora/gsttheoradec.h: * ext/theora/gsttheoraparse.h: * ext/theora/theoradec.c: * ext/theora/theoraparse.c: Take a 2nd stab at handling libtheora granulepos changes in the decoder and parser by inspecting the bitstream version of the incoming data. 2008-01-14 Sebastian Dröge * configure.ac: * pkgconfig/Makefile.am: * pkgconfig/gstreamer-audio-uninstalled.pc.in: * pkgconfig/gstreamer-audio.pc.in: * pkgconfig/gstreamer-cdda-uninstalled.pc.in: * pkgconfig/gstreamer-cdda.pc.in: * pkgconfig/gstreamer-fft-uninstalled.pc.in: * pkgconfig/gstreamer-fft.pc.in: * pkgconfig/gstreamer-floatcast-uninstalled.pc.in: * pkgconfig/gstreamer-floatcast.pc.in: * pkgconfig/gstreamer-interfaces-uninstalled.pc.in: * pkgconfig/gstreamer-interfaces.pc.in: * pkgconfig/gstreamer-netbuffer-uninstalled.pc.in: * pkgconfig/gstreamer-netbuffer.pc.in: * pkgconfig/gstreamer-pbutils-uninstalled.pc.in: * pkgconfig/gstreamer-pbutils.pc.in: * pkgconfig/gstreamer-riff-uninstalled.pc.in: * pkgconfig/gstreamer-riff.pc.in: * pkgconfig/gstreamer-rtp-uninstalled.pc.in: * pkgconfig/gstreamer-rtp.pc.in: * pkgconfig/gstreamer-rtsp-uninstalled.pc.in: * pkgconfig/gstreamer-rtsp.pc.in: * pkgconfig/gstreamer-sdp-uninstalled.pc.in: * pkgconfig/gstreamer-sdp.pc.in: * pkgconfig/gstreamer-tag-uninstalled.pc.in: * pkgconfig/gstreamer-tag.pc.in: * pkgconfig/gstreamer-video-uninstalled.pc.in: * pkgconfig/gstreamer-video.pc.in: Provide one pkg-config file for every gst-plugins-base library. This makes linking to those libraries much more intuitive and provides standard pkg-config behaviour for them. Fixes bug #499697. 2008-01-13 David Schleef * gst/videoscale/vs_4tap.c: Fix valgrind error on 4tap scaling method. 2008-01-13 Sebastien Moutte * gst-libs/gst/sdp/gstsdpmessage.c: (is_multicast_address): Include Winsock2.h for VS6 and use a different way initialize hints structure so it can build with VS6. * win32/MANIFEST: * win32/vs6/libgstsdp.dsp: * win32/common/libgstsdp.def: Add new files for libgstsdp. * win32/vs6/grammar.dsp: Copy pbutils-enumtypes* from win32/common to pbutils sources folder. * win32/vs6/gst_plugins_base.dsw: * win32/vs6/libgstdecodebin.dsp: * win32/vs6/libgstdecodebin2.dsp: * win32/vs6/libgstplaybin.dsp: * win32/vs6/libgstvolume.dsp: Add new dependencies to the link list. 2008-01-13 Julien Moutte * win32/common/config.h: * win32/common/gstrtsp-enumtypes.c: (gst_rtsp_result_get_type), (gst_rtsp_event_get_type), (gst_rtsp_family_get_type), (gst_rtsp_state_get_type), (gst_rtsp_version_get_type), (gst_rtsp_method_get_type), (gst_rtsp_auth_method_get_type), (gst_rtsp_header_field_get_type), (gst_rtsp_status_code_get_type): * win32/common/interfaces-enumtypes.c: (gst_color_balance_type_get_type), (gst_mixer_type_get_type), (gst_mixer_message_type_get_type), (gst_mixer_flags_get_type), (gst_mixer_track_flags_get_type), (gst_tuner_channel_flags_get_type): * win32/common/multichannel-enumtypes.c: (gst_audio_channel_position_get_type): * win32/common/pbutils-enumtypes.c: (gst_install_plugins_return_get_type): * win32/common/pbutils-enumtypes.h: Update/Add generated files in the win32 build directory. 2008-01-12 Jan Schmidt * tests/check/Makefile.am: Fix CFLAGS to also pull in the gstcheck cflags from AM_CFLAGS. * tests/check/elements/audiorate.c: (do_perfect_stream_test): * tests/check/elements/playbin.c: * tests/check/libs/mixer.c: (test_element_interface_supported), (gst_implements_interface_init): * tests/check/libs/rtp.c: (GST_START_TEST): Fix various assignment type mismatches. 2008-01-12 Jan Schmidt * configure.ac: * gst-libs/gst/rtsp/Makefile.am: Add test to see if hstrerror is available or if we need libresolv (Solaris) for it, then use it in libgstrtsp. 2008-01-12 Jan Schmidt * gst-libs/gst/tag/Makefile.am: Fix include path order 2008-01-11 Edward Hervey * gst-libs/gst/pbutils/install-plugins.c: (gst_install_plugins_context_copy), (gst_install_plugins_context_get_type): * gst-libs/gst/pbutils/install-plugins.h: Add GBoxed GType for GstInstallPluginsContext, this eases the wrapping for bindings. 2008-01-11 Michael Smith * ext/theora/theoradec.c: (gst_theora_dec_class_init), (_theora_granule_frame), (_theora_granule_start_time), (theora_dec_sink_convert), (theora_dec_decode_buffer): Adapt for post-alpha meaning of granulepos, when we have a newer version of libtheora. * ext/theora/theoraenc.c: (gst_theora_enc_class_init), (theora_enc_get_ogg_packet_end_time), (theora_enc_sink_event), (theora_enc_is_discontinuous), (theora_enc_chain): Likewise. * tests/check/Makefile.am: Link libtheora into theoraenc test so we can check which version of libtheora we're testing against. * tests/check/pipelines/theoraenc.c: (check_libtheora), (check_buffer_granulepos), (check_buffer_granulepos_from_starttime), (GST_START_TEST), (theoraenc_suite): Adapt tests to check the values that are now defined for theora; make the tests backwards-adapt the passed values if we're running against an old libtheora. Fixes #497964 2008-01-10 Tim-Philipp Müller * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_class_init): * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_class_init): Ref audio clock class from a thread-safe context to make sure we're not bit by GObjects lack of thread-safety here (#349410), however unlikely that may be in practice. 2008-01-10 Sebastian Dröge * autogen.sh: Add -Wno-portability to the automake parameters to stop warnings about GNU make extensions being used. We require GNU make in almost every Makefile anyway. * configure.ac: Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o at the same time is required for per target flags. 2008-01-08 Tim-Philipp Müller * gst-libs/gst/tag/gsttagdemux.c: (gst_tag_demux_pull_start_tag): Post an error message if we can't pull as many bytes as we need for the tag. This makes sure the user gets to see a proper error message if a file with a partial ID3 tag is fed to decodebin, and not a 'no ID3 tag demuxer' error, which would be confusing (see #508138). 2008-01-08 Tim-Philipp Müller * gst-libs/gst/pbutils/descriptions.c: (formats): Add description strings for ID3, APE, and ICY tags. 2008-01-08 Tim-Philipp Müller * gst/playback/gstdecodebin.c: (try_to_link_1): Make sure we error out correctly if we can't activate one of the elements we've added. Fixes #508138. 2008-01-07 Tim-Philipp Müller Patch by: Bastien Nocera * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_get_volume), (check_if_volumes_are_the_same), (gst_alsa_mixer_set_volume): Use snd_mixer_selem_set_{playback|capture}_volume_all() if the volume is the same for all channels. This works around some problem in alsa that leaves us with inconsistent state for some reason (#486840). 2008-01-07 Tim-Philipp Müller Patch by: Jerone Young * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_find_master_mixer): If there's no mixer track by the name of 'Master' or 'Front', check if there's one called 'PCM' before trying the generic fallback logic (fixes #506928, where we pick 'Mic' as master track for the AD1984 card in a Thinkpad T61/X61 laptop). 2008-01-07 Wim Taymans * gst/playback/gstplay-enum.c: (register_gst_autoplug_select_result), (gst_autoplug_select_result_get_type), (register_gst_play_flags), (gst_play_flags_get_type): * gst/playback/gstplay-enum.h: Add enums for configuration flags. * gst/playback/gstplaybin2.c: (gst_play_bin_class_init), (init_group), (gst_play_bin_init), (gst_play_bin_set_property), (gst_play_bin_get_property), (no_more_pads_cb), (autoplug_select_cb), (gst_play_bin_change_state): Merge mode with flags. Add more property getters/setters, defaults and docs. Add properties to get number of audio/video/text streams. Create sink object in _init so that we can always rely on it being there. * gst/playback/gstplaysink.c: (gst_play_sink_init), (gen_video_chain), (gen_audio_chain), (gen_vis_chain), (activate_vis), (gst_play_sink_reconfigure), (gst_play_sink_set_flags), (gst_play_sink_get_flags), (gst_play_sink_change_state): * gst/playback/gstplaysink.h: Use flags to configure the sink pipelines. Add tee before audio pipeline so that we can use it for visualisations. Start working on integrating visualisations. Remove mode, we can do everything with the flags now. Add method to configue the sink pipeline. 2008-01-06 Tim-Philipp Müller * tests/check/pipelines/theoraenc.c: (check_buffer_is_header), (check_buffer_timestamp), (check_buffer_duration): Turn these functions into macros so we can see right away where the failure occured. 2008-01-05 Julien Moutte * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new): Add debugging information to understand how X calculates the stride for XvImages. 2008-01-03 Sebastian Dröge * gst/volume/Makefile.am: * gst/volume/gstvolume.c: (volume_choose_func), (gst_volume_base_init), (gst_volume_class_init), (gst_volume_init), (volume_setup): * gst/volume/gstvolume.h: Use GstAudioFilter as base class for the volume element instead of plain GstBaseTransform. 2008-01-03 Sebastian Dröge * gst-libs/gst/audio/gstaudiofilter.c: (gst_audio_filter_get_type): Don't set element details for the abstract GstAudioFilter class. 2008-01-02 Sebastian Dröge * gst-libs/gst/audio/gstaudiofilter.c: (gst_audio_filter_class_init), (gst_audio_filter_get_unit_size): Implement get_unit_size() vmethod of GstBaseTransform. 2008-01-01 Edward Hervey * gst-libs/gst/pbutils/Makefile.am: * gst-libs/gst/pbutils/pbutils.h: Use glib-enum generator to have a proper enum GType for GST_TYPE_INSTALL_PLUGINS_RETURN so we can easily wrap it in bindings. 2007-12-31 David Schleef * tests/check/Makefile.am: * tests/check/pipelines/theoraenc.c: Reenable theoraenc test, which fails on the buildbot but not locally. 2007-12-31 David Schleef * docs/libs/.cvsignore: * docs/plugins/.cvsignore: Add *-undeclared.txt to fix buildbot. 2007-12-31 David Schleef * tests/check/Makefile.am: Second attempt at disabling theoraenc test long enough to get buildbot to compile -base. 2007-12-31 David Schleef * tests/check/pipelines/theoraenc.c: Disable theoraenc test long enough to get the buildbot to compile a recent -base. 2007-12-31 Wim Taymans * tests/examples/seek/seek.c: (stop_cb): Make sure we reset the slider value to 0.0 without racing against a possible g_idle that sets it to something else. 2007-12-31 Thijs Vermeir * sys/ximage/ximagesink.c: fix typo 2007-12-30 Wim Taymans * gst-libs/gst/rtsp/gstrtspdefs.c: (rtsp_init_status): * gst-libs/gst/rtsp/gstrtspdefs.h: Add Location header so that we can start implementing redirects. See #506025. 2007-12-29 Thijs Vermeir * gst/subparse/gstssaparse.c: combine if's 2007-12-29 Thijs Vermeir * gst/subparse/gstssaparse.c: remove duplicate log message 2007-12-29 Sebastian Dröge * ext/libvisual/visual.c: (gst_visual_chain): Fix 'xyz may be used uninitialized' compiler warnings caused by broken g_assert_not_reached() macro in GLib-2.15.x and don't abort() in any case but properly report the error. 2007-12-28 Wim Taymans * gst/playback/gstplaybin2.c: (gst_play_bin_class_init), (gst_play_bin_finalize), (gst_play_bin_set_uri), (gst_play_bin_set_suburi), (gst_play_bin_set_property), (gst_play_bin_get_property), (pad_removed_cb), (drained_cb), (autoplug_select_cb), (activate_group), (deactivate_group), (setup_next_source), (save_current_group), (gst_play_bin_change_state): Code cleanups. Remove next-uri, we can use the uri property just fine. Fix some crasher. Unref uridecodebin when switching. Fix going to READY. * gst/playback/gstplaysink.c: (gst_play_sink_class_init), (gst_play_sink_init), (gst_play_sink_dispose), (gst_play_sink_finalize), (gst_play_sink_vis_unblocked), (gst_play_sink_vis_blocked), (gst_play_sink_set_video_sink), (gst_play_sink_set_audio_sink), (gst_play_sink_set_vis_plugin), (gst_play_sink_set_property), (gst_play_sink_get_property), (gen_video_chain), (gen_text_element), (gen_audio_chain), (gen_vis_element), (gst_play_sink_get_mode), (gst_play_sink_set_mode), (gst_play_sink_set_flags), (gst_play_sink_get_flags), (gst_play_sink_request_pad), (gst_play_sink_release_pad), (gst_play_sink_send_event_to_sink), (gst_play_sink_change_state): * gst/playback/gstplaysink.h: Add some locking to make things threadsafe. * gst/playback/test7.c: (about_to_finish_cb): Fix test. 2007-12-22 Tim-Philipp Müller * gst/videoscale/gstvideoscale.c: (gst_video_scale_set_property), (gst_video_scale_get_property), (gst_video_scale_transform_caps), (gst_video_scale_transform): Don't claim to be able to handle/transform caps that can't really be handled by the currently selected scaling method (here: RGB or packed YUV with 4-tap method). Also add locking to method property. * tests/check/pipelines/simple-launch-lines.c: (setup_pipeline), (test_basetransform_based): Some test pipelines for the above (not entirely valgrind clean yet apparently). 2007-12-21 David Schleef * gst-libs/gst/video/video.c: * gst-libs/gst/video/video.h: Add additional RGBA and RGB-24 video formats. 2007-12-21 Tim-Philipp Müller * 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_primary_decoder): * tests/check/libs/cddabasesrc.c: (GST_START_TEST), (GST_START_TEST), (cddabasesrc_suite): Don't use GST_PLUGIN_DEFINE_STATIC, it's not portable and will be deprecated in the future (see #498924). 2007-12-21 Tim-Philipp Müller * gst/playback/gststreamselector.c: (gst_selector_pad_event): Don't leak event. 2007-12-20 Thijs Vermeir * gst-libs/gst/riff/riff-read.c: Use GST_ROUND_UP_2 macro 2007-12-20 Tim-Philipp Müller * gst/playback/.cvsignore: Ignore more. 2007-12-20 Tim-Philipp Müller * ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init): * gst/playback/gstplaybasebin.c: (set_subtitles_visible), (set_active_source): * gst/playback/gstplaybasebin.h: * gst/playback/gstplaybin.c: (gst_play_bin_class_init), (setup_sinks), (playbin_set_subtitles_visible): Make switching off of subtitles work. To avoid all kind of problems with unlinking of the subtitle input, we just keep the subtitle inputs linked as they are and tell textoverlay not to render them. Fixes #373011. Other subtitle switching issues (esp. when there are both external and in-stream subtitles) remain. They'll be solved in playbin2. 2007-12-18 Wim Taymans * gst/playback/gststreamselector.c: (gst_selector_pad_init): Init the pad segment too. 2007-12-18 Wim Taymans * gst-libs/gst/audio/gstaudiosink.c: (audioringbuffer_thread_func), (gst_audioringbuffer_open_device), (gst_audioringbuffer_close_device), (gst_audioringbuffer_acquire), (gst_audioringbuffer_release), (gst_audioringbuffer_start), (gst_audioringbuffer_pause), (gst_audioringbuffer_stop), (gst_audio_sink_create_ringbuffer): Improve debug output. * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_start), (gst_ring_buffer_pause), (gst_ring_buffer_delay): Prevent some functions from doing things and failing when the ringbuffer is not yet acquired. 2007-12-18 Sebastian Dröge * gst-libs/gst/interfaces/interfaces.h: Also remove interfaces.h from CVS as it is not needed anymore. 2007-12-18 Sebastian Dröge * gst-libs/gst/interfaces/Makefile.am: interfaces.h is not used anymore so remove it from the build process. 2007-12-17 David Schleef * gst/videotestsrc/gstvideotestsrc.c: * gst/videotestsrc/gstvideotestsrc.h: Add a "blink" pattern. Turn on the pain. Apologies. It's useful for testing vertical refresh synchronization. 2007-12-17 David Schleef * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/video/video.c: * gst-libs/gst/video/video.h: Add new GstVideFormat enum and write a bunch of helper functions based around it. 2007-12-17 Tim-Philipp Müller * Makefile.am: Use new common/win32.mak. 2007-12-17 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_create), (gst_base_audio_src_change_state): Add debug info. When going from PLAYING to PAUSED, pause the ringbuffer before calling the parent state change function, just like the audiosink, because the parent waits for the element to finish its processing before completing the state change. This makes going to PAUSED a lot snappier. When going from READY to PAUSED, don't allow the ringbuffer to start yet. 2007-12-17 Edward Hervey * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps): Yet another fix for broken software that produce files with an empty blockalign field. Instead of completely failing, make a second attempt at guessing the width/depth by looking at strf->size. 2007-12-16 Tim-Philipp Müller * gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_do_seek), (gst_cdda_base_src_handle_track_seek), (gst_cdda_base_src_create): * gst-libs/gst/pbutils/install-plugins.c: (gst_install_plugins_spawn_child), (gst_install_plugins_supported): * gst-libs/gst/pbutils/missing-plugins.c: (gst_missing_plugin_message_get_installer_detail), (gst_missing_encoder_installer_detail_new): * gst-libs/gst/rtsp/gstrtspconnection.c: (gst_rtsp_connection_send): * gst-libs/gst/rtsp/gstrtspmessage.c: (gst_rtsp_message_unset): Turn a few g_assert_not_reached() into g_return_val_if_reached() to avoid compiler warnings (#503930). 2007-12-17 Edward Hervey * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps): Be apologetic of software that use the 'jpeg' instead of 'JPEG' FOURCC for jpeg video streams. Add the 'avc1'/'AVC1' fourcc mapping for h264, same software-comment as for the above modification. 2007-12-15 Tim-Philipp Müller * gst-libs/gst/interfaces/xoverlay.c: (gst_x_overlay_expose), (gst_x_overlay_handle_events): More guards (we don't want klass to end up being NULL). 2007-12-14 Sebastian Dröge * configure.ac: * gst/volume/gstvolume.c: (gst_volume_init): Use new gst_base_transform_set_gap_aware() function as volume correctly handles GST_BUFFER_FLAG_GAP. Require core 0.10.15.1 for this. 2007-12-14 Wim Taymans * tests/examples/seek/seek.c: (msg_segment_done), (main): Don't go to READY on EOS as this avoids testing of seeking and restarting after EOS, use the stop button when you want to READY. Don't try to do a flushing seek in segment-done, it does not make sense to use this for gapless playback and is not needed. 2007-12-14 Wim Taymans * gst/playback/gstqueue2.c: (gst_queue_init), (gst_queue_finalize), (reset_rate_timer), (update_in_rates), (update_out_rates), (gst_queue_locked_enqueue), (gst_queue_locked_dequeue), (gst_queue_chain), (gst_queue_loop): Use separate timers for input and output rates. Pause measuring the output rate when we block for more data. See #503262. 2007-12-14 Wim Taymans * gst/playback/gstqueue2.c: (gst_queue_chain): Pause the timer to measure the input rate when we block because the queue is filled. See #503262. 2007-12-13 Wim Taymans Patch by: Peter Kjellerstedt * gst-libs/gst/rtsp/gstrtspconnection.c: (gst_rtsp_connection_free): Close control sockets. Fixes #503440. 2007-12-13 Wim Taymans * gst/playback/gstdecodebin2.c: (analyze_new_pad), (connect_pad): Expose the right pad in the right place with the right element. 2007-12-13 Tim-Philipp Müller * gst-libs/gst/pbutils/descriptions.c: (formats): Add description for 'private' dts caps (who come up with that name?). 2007-12-13 Tim-Philipp Müller * Makefile.am: Add check-exports target and run it with 'make check'. * configure.ac: Be stricter about what we export in our libraries: change regexp so that we only export _gst_foo(), but not __gst_foo(). * gst-libs/gst/cdda/base64.h: (rfc822_binary): * gst-libs/gst/cdda/sha1.h: (sha_init), (sha_update), (sha_final): Change internal functions to __gst_foo so they dont' get exported. * win32/common/libgstaudio.def: Add missing symbols. 2007-12-11 David Schleef * ChangeLog: remove conflict markers 2007-12-11 Tim-Philipp Müller * ext/gnomevfs/Makefile.am: * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_unicodify): Use gst_tag_freeform_string_to_utf8() here, which also takes into account any character sets specified by the user via environment variables. 2007-12-10 Wim Taymans * gst/audioconvert/Makefile.am: Also link to libm. 2007-12-10 Wim Taymans * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps): No need for floating point operations here. avoids having to link against the math library too. 2007-12-10 Tim-Philipp Müller * gst-libs/gst/pbutils/descriptions.c: (formats), (format_info_get_desc): * tests/check/libs/pbutils.c: (GST_START_TEST), (caps_strings), (GST_START_TEST): Add one or two missing formats. Generate ADPCM description dynamically depending on layout/format. 2007-12-09 Sebastian Dröge * configure.ac: Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181. 2007-12-08 Tim-Philipp Müller Patch by: Robin Stocker * gst/subparse/gstsubparse.c: (gst_sub_parse_data_format_autodetect): Some .srt files start with chunk number 0 and not chunk number 1, recognise and accept those as well (fixes #502497). * tests/check/elements/subparse.c: (srt_input), (srt_input0), (test_src): Add unit test for the above. 2007-12-06 Wim Taymans * gst/playback/gstplay-enum.c: (register_gst_autoplug_select_result), (gst_autoplug_select_result_get_type): * gst/playback/gstplay-enum.h: Add missing files. 2007-12-05 Wim Taymans * gst/playback/Makefile.am: Group decodebin2 and uridecodebin into the same plugin so that they can share the GEnumType. * gst/playback/gstdecodebin2.c: (_gst_array_accumulator), (_gst_select_accumulator), (gst_decode_bin_class_init), (gst_decode_bin_init), (gst_decode_bin_autoplug_sort), (gst_decode_bin_autoplug_select), (gst_decode_bin_autoplug_add), (analyze_new_pad), (connect_pad), (gst_decode_bin_plugin_init): Add signal to sort factories instead of the more awkward autoplug-select signal. Modify autoplug_select so that we can try, skip or expose the autopluggin of an element on a pad. * gst/playback/gstfactorylists.c: (compare_ranks), (decoders_filter), (sinks_filter), (gst_factory_list_is_type), (element_filter), (gst_factory_list_get_elements), (gst_factory_list_debug), (gst_factory_list_filter): * gst/playback/gstfactorylists.h: Simplify the API, allow getting elements based on mask. * gst/playback/gstplay-marshal.list: Add some more marshallers. * gst/playback/gstplaybin2.c: (init_group), (gst_play_bin_init), (gst_play_bin_finalize), (pad_removed_cb), (autoplug_factories_cb), (autoplug_select_cb), (activate_group): Add support for managing non-raw sinks by providing a custom element and sink list to decodebin2. Try to plug non-raw sinks when decodebin2 using autoplug-select of decodebin2. * gst/playback/gstplaysink.c: (gen_video_chain), (gen_audio_chain), (gst_play_sink_set_mode), (gst_play_sink_request_pad): * gst/playback/gstplaysink.h: Add support for raw and non-raw sinks. Add support to force sinks selected by playbin2. Don't plug raw converters for non-raw sinks. * gst/playback/gsturidecodebin.c: (_gst_array_accumulator), (_gst_select_accumulator), (gst_uri_decode_bin_class_init), (proxy_autoplug_select_signal), (gst_uri_decode_bin_plugin_init), (plugin_init): Use right accumulators. Proxy new signal. 2007-12-03 Wim Taymans * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_push): Use runnning time as the base time instead of the timestamp. Spotted by Saur on IRC. 2007-12-03 Edward Hervey * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps): Add 'WVC1' codec mapping for Windows Media VC-1 video codec. 2007-12-03 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_demux_bisect_forward_serialno), (gst_ogg_demux_read_chain): If we find a new serial number but it does not contain a BOS page, make sure we initialize the chain to NULL because else we will try to scan it and crash. Fixes #500763 2007-11-30 Wim Taymans * gst/playback/Makefile.am: * gst/playback/gstfactorylists.c: (compare_ranks), (print_feature), (get_feature_array), (decoders_filter), (sinks_filter), (gst_factory_list_get_decoders), (gst_factory_list_get_sinks), (gst_factory_list_filter): * gst/playback/gstfactorylists.h: Refactor some common code to filter factories and check caps compat. * gst/playback/gstdecodebin.c: * gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init), (gst_decode_bin_init), (gst_decode_bin_dispose), (gst_decode_bin_autoplug_continue), (gst_decode_bin_autoplug_factories), (gst_decode_bin_autoplug_select), (analyze_new_pad), (find_compatibles): * gst/playback/gstplaybin.c: * gst/playback/gstplaybin2.c: (gst_play_bin_class_init), (gst_play_bin_init), (gst_play_bin_finalize), (autoplug_factories_cb), (activate_group): * gst/playback/gstqueue2.c: * gst/playback/gsturidecodebin.c: (proxy_unknown_type_signal), (proxy_autoplug_continue_signal), (proxy_autoplug_factories_signal), (proxy_autoplug_select_signal), (proxy_drained_signal): Add some more debug info and use factor filtering code. 2007-11-26 Stefan Kost * gst/audiotestsrc/gstaudiotestsrc.c: * gst/volume/gstvolume.c: * gst/volume/gstvolume.h: Add GAP-flag support. 2007-11-24 Julien MOUTTE * tests/examples/seek/seek.c: (main): Increase the range of the rate selector as I would like to test QOS behavior at higher forward and reverse playback speed like say 64x. 2007-11-23 Sebastian Dröge * gst/audioresample/gstaudioresample.c: (gst_audioresample_init), (audioresample_query), (audioresample_query_type), (gst_audioresample_set_property): Implement latency query. 2007-11-21 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_drain): Our EOS time contains the base_time, _wait_eos() expects a running_time so we have to subtract the base_time again before calling the function. This fixes an EOS regression where the base_time was added twice and EOS took longer and longer in certain situations. Fixes #498767. 2007-11-21 Wim Taymans * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/audio/gstbaseaudiosink.c: (slave_method_get_type), (gst_base_audio_sink_set_provide_clock), (gst_base_audio_sink_get_provide_clock), (gst_base_audio_sink_set_slave_method), (gst_base_audio_sink_get_slave_method), (gst_base_audio_sink_set_property), (gst_base_audio_sink_get_property), (gst_base_audio_sink_drain), (gst_base_audio_sink_none_slaving), (gst_base_audio_sink_handle_slaving): * gst-libs/gst/audio/gstbaseaudiosink.h: Expose methods for some object properties so that subclasses can more easily configure them. Added slave method none, that completely disables slaving to the internal clock. API: gst_base_audio_sink_set_provide_clock() API: gst_base_audio_sink_get_provide_clock() API: gst_base_audio_sink_set_slave_method() API: gst_base_audio_sink_get_slave_method() * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_set_provide_clock), (gst_base_audio_src_get_provide_clock), (gst_base_audio_src_set_property), (gst_base_audio_src_get_property), (gst_base_audio_src_create): * gst-libs/gst/audio/gstbaseaudiosrc.h: Expose methods for some object properties so that subclasses can more easily configure them. API: gst_base_audio_src_set_provide_clock() API: gst_base_audio_src_get_provide_clock() 2007-11-20 Wim Taymans Patch by: Joe Peterson * gst-libs/gst/sdp/gstsdpmessage.c: Fix compilation on FreeBSD (Gentoo). Fixes #498228. 2007-11-19 Sebastian Dröge * tests/check/libs/fft.c: (GST_START_TEST): Fix scaling to really have dB instead of something else. 2007-11-19 Julien MOUTTE * tests/examples/seek/seek.c: (main): There's a nice macro to check GTK version, use it. 2007-11-19 Julien MOUTTE * tests/examples/seek/seek.c: (main): Try to support stable version of GTK. 2007-11-17 Stefan Kost * gst/playback/README: * gst/playback/test7.c: Fix the build + little README update. 2007-11-16 Wim Taymans * tests/examples/seek/seek.c: (make_playerbin2_pipeline), (main): Add playbin2 seek pipeline. 2007-11-16 Wim Taymans * gst/playback/Makefile.am: * gst/playback/gstplayback.c: (plugin_init): * gst/playback/test7.c: (update_scale), (warning_cb), (error_cb), (eos_cb), (about_to_finish_cb), (main): Add playbin2. Added gapless playback example. * gst/playback/gstplaybasebin.c: * gst/playback/gstplaybasebin.h: * gst/playback/gstplaybin.c: (gst_play_bin_plugin_init): * gst/playback/gstqueue2.c: * gst/playback/test.c: * gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init), (pad_removed_cb): * gst/playback/gststreaminfo.h: Change email. * gst/playback/gstplaybin2.c: (gst_play_bin_get_type), (gst_play_bin_class_init), (init_group), (gst_play_bin_init), (gst_play_bin_dispose), (gst_play_bin_set_uri), (gst_play_bin_set_suburi), (gst_play_bin_set_property), (gst_play_bin_get_property), (gst_play_bin_handle_message), (pad_added_cb), (pad_removed_cb), (no_more_pads_cb), (perform_eos), (drained_cb), (unlink_group), (activate_group), (setup_next_source), (gst_play_bin_change_state), (gst_play_bin2_plugin_init): Added raw first version of playbin2. Does chained oggs and gapless playback fine. No support for raw sinks yet. No visualisations or subtitles yet. * gst/playback/gstplaysink.c: (gst_play_sink_get_type), (gst_play_sink_class_init), (gst_play_sink_init), (gst_play_sink_dispose), (gst_play_sink_vis_unblocked), (gst_play_sink_vis_blocked), (gst_play_sink_set_video_sink), (gst_play_sink_set_audio_sink), (gst_play_sink_set_vis_plugin), (gst_play_sink_set_property), (gst_play_sink_get_property), (post_missing_element_message), (free_chain), (add_chain), (activate_chain), (gen_video_chain), (gen_text_element), (gen_audio_chain), (gen_vis_element), (gst_play_sink_get_mode), (gst_play_sink_set_mode), (gst_play_sink_request_pad), (gst_play_sink_release_pad), (gst_play_sink_send_event_to_sink), (gst_play_sink_send_event), (gst_play_sink_change_state): * gst/playback/gstplaysink.h: Added Element that abstracts the sinks and their pipelines for playbin2. 2007-11-16 Wim Taymans * gst/playback/gststreamselector.c: (gst_selector_pad_get_type), (gst_selector_pad_class_init), (gst_selector_pad_init), (gst_selector_pad_finalize), (gst_selector_pad_reset), (gst_selector_pad_get_linked_pads), (gst_selector_pad_event), (gst_selector_pad_getcaps), (gst_selector_pad_bufferalloc), (gst_selector_pad_chain), (gst_stream_selector_get_type), (gst_stream_selector_base_init), (gst_stream_selector_class_init), (gst_stream_selector_init), (gst_stream_selector_set_property), (gst_stream_selector_get_linked_pad), (gst_stream_selector_getcaps), (gst_stream_selector_is_active_sinkpad), (gst_stream_selector_activate_sinkpad), (gst_stream_selector_get_linked_pads), (gst_stream_selector_request_new_pad), (gst_stream_selector_release_pad): * gst/playback/gststreamselector.h: Improve streamselector, make it select and unselect the current pad more intelligently. Subclass GstPad for the sinkpads of the selector. Handle segments more correctly. Fix caps negotiation. Implement release_pad. 2007-11-16 Wim Taymans * gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init), (gst_decode_group_check_if_drained), (source_pad_event_probe), (remove_fakesink): Add drained signal fired when decodebin finishes decoding the data. Remove deprecated STATE_DIRTY message. * gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init), (unknown_type_cb), (new_decoded_pad_cb), (pad_removed_cb), (analyse_source), (proxy_drained_signal), (make_decoder), (source_new_pad), (value_list_append_structure_list), (handle_redirect_message), (handle_message): Proxy the new drained signal. Handle pad removed from decodebin. Handle redirect messages by sorting multiple redirections based on the connection speed. 2007-11-16 Wim Taymans Patch by: Tommi Myöhänen * gst-libs/gst/rtsp/gstrtspmessage.c: (gst_rtsp_message_unset): Fix leaking headers. Fixes #496761. 2007-11-16 Wim Taymans Patch by: Tommi Myöhänen * sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get), (gst_ximagesink_change_state): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get): Don't leak the PAR on errors. Fixes #496731. 2007-11-16 Tim-Philipp Müller * gst-libs/gst/tag/gstid3tag.c: (user_tag_matches), (gst_tag_from_id3_user_tag): Add mapping for audio cd discid tags, so we can extract them from tags as well (see #347848). Also compare identifiers in ID3v2 TXXX frames in a case-insensitive way to increase compatibility when reading tags (discid vs. DiscID vs. DiscId). 2007-11-16 Jan Schmidt * gst-plugins-base.doap: Oops, fix the release name. 2007-11-16 Jan Schmidt * gst-plugins-base.doap: Add 0.10.15 release 2007-11-16 Jan Schmidt * configure.ac: Back to CVS === release 0.10.15 === 2007-11-15 Jan Schmidt * configure.ac: releasing 0.10.15, "No need to argue" 2007-11-15 Jan Schmidt * win32/vs6/libgstfft.dsp: Convert line endings to DOS. 2007-11-15 Sebastien Moutte * win32/vs6/gst_plugins_base.dsw: * win32/vs6/libgstfft.dsp: * win32/MANIFEST: Add a project file for fft plugin and remove socket based plugin which don't build from the workspace. * win32/vs6/libgstaudio.dsp: * win32/vs6/libgstrtp.dsp: * win32/vs6/libgsttag.dsp: Convert line endings back to DOS. Fixes #496724 2007-11-14 Jan Schmidt * win32/vs6/libgstinterfaces.dsp: * win32/vs6/libgstrtsp.dsp: Convert line endings back to DOS 2007-11-14 Jan Schmidt * gst-libs/gst/fft/kiss_fft_f32.h: * gst-libs/gst/fft/kiss_fft_f64.h: * gst-libs/gst/fft/kiss_fft_s16.h: * gst-libs/gst/fft/kiss_fft_s32.h: Don't include malloc.h which doesn't exist on Mac OSX. Instead, pull in glib.h and use g_malloc/g_free for consistency. Fixes: #496548 2007-11-09 Stefan Kost * gst/playback/gstdecodebin2.c: Dont leak ghostpad. Fixes #475451. 2007-11-09 Wim Taymans * docs/design/design-decodebin.txt: * gst/playback/gstdecodebin2.c: (analyze_new_pad): Update some more docs and comments. 2007-11-06 Tim-Philipp Müller Patch by: Sebastien Moutte * gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_ntp_to_unix), (gst_rtcp_unix_to_ntp): * gst-libs/gst/rtp/gstrtppayloads.c: (gst_rtp_payload_info_for_name): Fix some C99-isms and and a missing function that some versions of MSVC don't like too much (#494346). * win32/vs6/gst_plugins_base.dsw: * win32/vs6/libgstaudio.dsp: * win32/vs6/libgstrtp.dsp: * win32/vs6/libgsttag.dsp: Update vs6 projects files (#494346). 2007-11-06 Tim-Philipp Müller Patch by: Ole André Vadla Ravnås * win32/common/libgstaudio.def: * win32/common/libgstcdda.def: * win32/common/libgstinterfaces.def: * win32/common/libgstnetbuffer.def: * win32/common/libgstpbutils.def: * win32/common/libgstrtp.def: * win32/common/libgstrtsp.def: * win32/common/libgsttag.def: * win32/common/libgstvideo.def: More missing symbols to export (fixes #493986). 2007-11-06 Sebastian Dröge * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/fft/gstfftf32.c: * gst-libs/gst/fft/gstfftf32.h: * gst-libs/gst/fft/gstfftf64.c: * gst-libs/gst/fft/gstfftf64.h: * gst-libs/gst/fft/gstffts16.c: * gst-libs/gst/fft/gstffts16.h: * gst-libs/gst/fft/gstffts32.c: * gst-libs/gst/fft/gstffts32.h: * tests/check/libs/fft.c: (GST_START_TEST): Remove the magnitude and phase calculation functions as these have very special use cases and can't even be used for the spectrum element. Also adjust the docs to mention some properties of the used FFT implemention, i.e. how the values are scaled. Fixes #492098. 2007-11-06 Tim-Philipp Müller * gst/playback/gstplaybasebin.c: (queue_threshold_reached), (finish_source): Avoid crash when there are external subtitles (fixes #491722). 2007-11-03 Tim-Philipp Müller * ext/alsa/gstalsasink.c: (gst_alsasink_open): * ext/alsa/gstalsasrc.c: (gst_alsasrc_open): 'Could not open resource for writing' is not an acceptable error message when we can't open the audio device (see #492334), even less so when we're trying to open it to record something. 2007-11-02 Tim-Philipp Müller Patch by: Ole André Vadla Ravnås * win32/common/libgstrtp.def: Add some more missing symbols (#492813). 2007-11-02 Tim-Philipp Müller Patch by: Thijs Vermeir * tests/check/elements/audioconvert.c: (verify_convert): Add check to make sure that the out caps have a channel layout set on them where they should have one. 2007-11-01 Tim-Philipp Müller Patch by: Vincent Torri * gst-libs/gst/fft/kiss_fft_s16.h: (KISS_FFT_S16_MALLOC): * gst-libs/gst/fft/kiss_fft_s32.h: (KISS_FFT_S32_MALLOC): Include our own _stdint.h instead of sys/types.h, makes MingW happy (#492306). * gst-libs/gst/rtsp/gstrtspconnection.c: (gst_rtsp_connection_create): Use _pipe directly, GLib doesn't have a pipe() macro any longer (it disappeared in GLib 2.14.0) (#492306). * gst-libs/gst/sdp/Makefile.am: * gst-libs/gst/sdp/gstsdpmessage.c: Fix includes and LIBS for win32/Mingw (#492306). * tests/examples/dynamic/addstream.c (pause_play_stream): Use more portable g_usleep() instead of sleep() (#492306). 2007-11-01 Tim-Philipp Müller Patch by: Ole André Vadla Ravnås * gst-libs/gst/audio/gstringbuffer.c: (build_linear_format), (gst_ring_buffer_parse_caps): Return NULL instead of an enum that happens to be 0, fixes warning on MSVC (#492114). * gst-libs/gst/audio/gstringbuffer.h: No trailing commas in enum list (for gcc-2.9x). * gst/videotestsrc/videotestsrc.c: (random_char): Make information loss explicit instead of implicitly truncating to eight bits via the return value. Fixes runtime error on MSVC when using the debug CRT (#492114). * win32/common/config.h.in: Fix a bunch of '#undef FOO bar', which MSVC doesn't like (#492114). * win32/common/libgstinterfaces.def: * win32/common/libgstrtp.def: Export a few more symbols (#492114). 2007-11-01 Stefan Kost * gst-libs/gst/audio/audio.c: * gst-libs/gst/audio/audio.h: Readd the deprecation guards, but preserve compilability. 2007-10-31 Tim-Philipp Müller * gst/audioconvert/gstaudioconvert.c: (find_suitable_channel_layout), (gst_audio_convert_fixate_channels), (gst_audio_convert_fixate_caps): Preserve channel layout when fixating the number of channels in the output caps, or make sure there's a suitable channel position layout set on the caps if required. Fixes #430677. 2007-10-31 Tim-Philipp Müller * tests/check/elements/decodebin.c: (test_text_plain_streams): Make sure the pipeline really operates in push mode as it should in this case. 2007-10-31 Tim-Philipp Müller * gst-libs/gst/audio/audio.h: Don't guard deprecated enum with #ifndef DISABLE_DEPRECATED, or compilation with DISABLE_DEPRECATED and without REMOVE_DEPRECATED (ie. normal cvs builds) will fail. 2007-10-31 Stefan Kost * docs/libs/Makefile.am: * gst-libs/gst/audio/audio.c: * gst-libs/gst/audio/audio.h: * gst-libs/gst/interfaces/mixer.c: tell gtk-doc about the deprecation guard. Apply more doc fixes. 2007-10-31 Tim-Philipp Müller * tests/check/libs/audio.c: (init_value_to_channel_layout), (test_channel_layout_value_intersect), (audio_suite): Add simple unit test to make sure GstValue intersection of channel layouts works the way I think it does. 2007-10-30 Stefan Kost * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/audio/gstaudiofilter.h: * gst-libs/gst/interfaces/mixer.h: * gst-libs/gst/rtp/gstbasertpdepayload.c: * gst-libs/gst/rtp/gstbasertpdepayload.h: * gst-libs/gst/sdp/gstsdpmessage.c: Fix the docs according to what gtk-doc complained about. 2007-10-30 Stefan Kost * tests/icles/stress-playbin.c: Fix the build. 2007-10-30 Tim-Philipp Müller * gst/playback/gstdecodebin.c: (close_pad_link), (type_found): * gst/playback/gstdecodebin2.c: (analyze_new_pad): Post nice/more useful error message if we don't have a decoder for the primary type. 2007-10-30 Wim Taymans * gst/playback/gstdecodebin2.c: (gst_decode_group_expose): Be a bit more useful, unblock the pads after we fired the no-more-pads signal so that we can use the signal to inspect and connect all pads without having to keep extra state outside of decodebin. 2007-10-30 Wim Taymans * gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_autoplug_continue), (gst_uri_decode_bin_class_init), (no_more_pads_full): Implement default signal handler so that we return TRUE when nothing is connected. 2007-10-28 Sebastian Dröge * gst-libs/gst/riff/riff-media.c: (gst_riff_wavext_add_channel_layout), (gst_riff_wave_add_default_channel_layout), (gst_riff_wavext_get_default_channel_mask), (gst_riff_create_audio_caps): Use the ALSA channel layout as default for wav files without channel layout information. This fixes playback of chan-id.wav on 5.1 systems for example. Also refactor the channel layout setting a bit and add more default channel orders. Fixes #489010. 2007-10-26 Tim-Philipp Müller * tests/check/libs/tag.c: (test_musicbrainz_tag_registration): GST_TAG_MUSICBRAINZ_SORTNAME is deprecated and we compile with -DGST_DISABLE_DEPRECATED, so use new GST_TAG_ARTIST_SORTNAME instead. 2007-10-25 Wim Taymans * gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init), (gst_decode_bin_dispose), (gst_decode_bin_set_caps), (gst_decode_bin_set_subs_encoding), (gst_decode_bin_get_subs_encoding), (gst_decode_bin_set_property), (gst_decode_bin_get_property), (analyze_new_pad): Move subtitle encoding property to decodebin2 so that it can set the property value on all elements that it autoplugs and that require it. Make caps refcounting more consistent in get/set. * gst/playback/gsturidecodebin.c: (_gst_boolean_accumulator), (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), (proxy_unknown_type_signal), (proxy_autoplug_continue_signal), (proxy_autoplug_factories_signal), (proxy_autoplug_select_signal), (make_decoder): Proxy properties and relevant signals from the internal decodebin. Make properties MT safe. 2007-10-25 Tim-Philipp Müller * gst-libs/gst/tag/tag.h: (GST_TAG_MUSICBRAINZ_SORTNAME): * gst-libs/gst/tag/tags.c: Deprecate GST_TAG_MUSICBRAINZ_SORTNAME, replaced by the newly-added GST_TAG_ARTIST_SORTNAME (in an API and ABI compatible way). * gst-libs/gst/tag/gstid3tag.c: (tag_matches): Map ID3v2 TSOP, TSOA and TSOT frames to new SORTNAME tags (#414539). * gst-libs/gst/tag/gstvorbistag.c: (tag_matches), (gst_tag_to_vorbis_comments): Map new SORTNAME tags (these tags aren't even semi-official, so I'm just mapping everything I found in the wild) (#414539). 2007-10-24 Wim Taymans Inspired by patch of: René Stadler * gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init), (gst_decode_bin_autoplug_continue), (gst_decode_bin_autoplug_factories), (gst_decode_bin_autoplug_select), (analyze_new_pad), (connect_pad), (find_compatibles): * gst/playback/gstplay-marshal.list: Remove the autoplug-sort signal and replace it with a binding friendly autoplug-select signal. Add an autoplug-factories signal that can be used to generate a list of factories to try to autoplug. Add the GstPad to the autoplugging signal args as it might be needed to make a good factory selection. Fix up the marshallers for this. Fixes #407282. 2007-10-23 Tim-Philipp Müller * gst-libs/gst/tag/gsttagdemux.c: Don't abort with an assertion if we receive a seek event with a start type of NONE (see launchpad bug #155878). 2007-10-22 Wim Taymans * sys/ximage/ximagesink.c: (gst_ximagesink_event_thread), (gst_ximagesink_xcontext_get), (gst_ximagesink_xcontext_clear), (gst_ximagesink_change_state), (gst_ximagesink_reset): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_event_thread), (gst_xvimagesink_xcontext_get), (gst_xvimagesink_xcontext_clear), (gst_xvimagesink_change_state), (gst_xvimagesink_reset): Make sure that before we clean up the X resources, we shutdown and join the event thread. Also make sure the event thread does not shut down immediatly after startup because the running variable is not yet correctly set. Fixes #378770. 2007-10-16 Wim Taymans * gst/playback/gstdecodebin.c: (new_pad), (type_found): Make the window for a race in typefind and shutting down smaller until we figure out the right locking here. Avoids #485753 usually. * gst/playback/gstdecodebin2.c: (type_found), (pad_added_group_cb): Remove unneeded lock causing a race in typefind and shutting down. Fixes #485753. * gst/playback/gstplaybin.c: (gst_play_bin_change_state): Also remove sinks when going to NULL because we might not complete the state change to PAUSED, causing the PAUSED->READY state change not to happen. 2007-10-16 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_drain), (gst_base_audio_sink_change_state): Also explicitly release the ringbuffer when going to NULL because it is required in the setcaps function, before the state change to PAUSED completes. 2007-10-16 Tim-Philipp Müller * tests/icles/.cvsignore: * tests/icles/Makefile.am: * tests/icles/stress-playbin.c: Does what it says on the tin. 2007-10-15 Wim Taymans * gst/playback/gstqueue2.c: (gst_queue_init), (gst_queue_push_one): Fix queue negotiation. See #486758. 2007-10-12 Jan Schmidt * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xwindow_decorate), (gst_xvimagesink_xwindow_new), (gst_xvimagesink_update_colorbalance), (gst_xvimagesink_handle_xevents), (gst_xvimagesink_xcontext_get): Fix handling of some of the X atoms. If the last parameter is True, XInternAtom won't create the atom if it doesn't exist, and therefore might return None. This causes X errors on Xv implementations that don't provide the colour balance attributes. 2007-10-11 Tim-Philipp Müller * gst-libs/gst/tag/gstvorbistag.c: * tests/check/libs/tag.c: Extract vorbis comment LICENSE tags correctly. 2007-10-11 Tim-Philipp Müller Patch by: Jason Kivlighn * gst-libs/gst/tag/gstid3tag.c: * tests/check/libs/tag.c: Map ID3v2 WCOP frame to GST_TAG_COPYRIGHT_URI (#447000). 2007-10-10 Tim-Philipp Müller * gst-libs/gst/tag/gsttagdemux.c: Don't error out when a buggy downstream element doesn't handle the newsegment event we send properly (especially not without posting a meaningful error message on the bus). See bug #471370 and launchpad bug #136264. 2007-10-10 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_drain): Use new basesink method to make our EOS drain interruptable. 2007-10-10 Jan Schmidt * gst-libs/gst/rtp/gstrtppayloads.c: Fix silly search-replace oversight. 2007-10-09 Wim Taymans Patch by: Laurent Glayal * gst-libs/gst/rtp/gstbasertppayload.c: (copy_fixed), (gst_basertppayload_set_outcaps): Fix caps memleak. Fixes #484989. 2007-10-08 Wim Taymans * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_setcaps), (gst_base_rtp_depayload_chain): Fix debug output. 2007-10-08 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_create): Also handle the case where there is no clock set on the audio source, like in the unit tests. 2007-10-08 Jan Schmidt * gst-libs/gst/rtp/gstrtppayloads.c: Use unsigned G_MAXUINT8 instead of -1 to initialise a guint8 to avoid compiler warnings 2007-10-08 Wim Taymans * gst/playback/gstdecodebin.c: (type_found), (gst_decode_bin_change_state): * gst/playback/gstdecodebin2.c: (type_found), (gst_decode_bin_change_state): Don't disconnect the have_type signal because we never reconnect it later on. Instead keep a variable to see if we already detected a type. 2007-10-08 Wim Taymans * gst/playback/gstdecodebin.c: (add_fakesink), (type_found): * gst/playback/gstdecodebin2.c: (gst_decode_bin_init), (type_found): Unlink the signal handler when we found the type, we're not going to do anything sensible with more type_found signals anyway. 2007-10-06 Tim-Philipp Müller * gst-libs/gst/tag/gsttagdemux.c: Don't leak caps. 2007-10-06 Tim-Philipp Müller * gst-libs/gst/tag/Makefile.am: * gst-libs/gst/tag/gsttagdemux.c: * gst-libs/gst/tag/gsttagdemux.h: API: add GstTagDemux base class for simple tag demuxers. * docs/libs/gst-plugins-base-libs-docs.sgml: * docs/libs/gst-plugins-base-libs-sections.txt: Add GstTagDemux to docs. 2007-10-05 Sebastian Dröge * gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_get_payload_subbuffer): Fix bug introduced with last commit which inverted the logic and caused all buffers to be dropped. Fixes #483620. Thanks to Laurent Glayal for noticing. 2007-10-04 Stefan Kost * gst-libs/gst/rtp/gstrtpbuffer.c: Replace g_return_if_val (as it could be disabled), with regular return and warning. 2007-10-03 Stefan Kost * tests/check/pipelines/simple-launch-lines.c: Print message name and not just number. 2007-10-02 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_async_play): When slaved to the clock, don't try to align a sample with the previous one when going to PLAYING again. 2007-10-02 Stefan Kost * tests/examples/snapshot/snapshot.c: Fix the build. 2007-10-01 Wim Taymans * gst-libs/gst/sdp/gstsdpmessage.h: Add RFC 3556 bandwidth modifiers. 2007-10-01 Wim Taymans * docs/libs/gst-plugins-base-libs-docs.sgml: * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/rtp/gstrtppayloads.c: Update documentation. 2007-10-01 Wim Taymans * gst-libs/gst/rtp/Makefile.am: * gst-libs/gst/rtp/gstrtppayloads.c: (gst_rtp_payload_info_for_pt), (gst_rtp_payload_info_for_name): * gst-libs/gst/rtp/gstrtppayloads.h: Added new file and header to deal with payload info. * gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_validate_data), (gst_rtp_buffer_default_clock_rate): * gst-libs/gst/rtp/gstrtpbuffer.h: Payload specific stuff is move to new headers. Implement _default_clock rate using the new payload function. * gst-libs/gst/sdp/gstsdpmessage.c: (is_multicast_address), (gst_sdp_parse_line): * gst-libs/gst/sdp/gstsdpmessage.h: Add some more comments. 2007-10-01 Wim Taymans * gst/typefind/gsttypefindfunctions.c: (utf8_type_find), (sdp_check_header), (sdp_type_find), (plugin_init): Add typefind function for application/sdp. Remove some old dirac typefind code that was ifdeffed out. 2007-09-29 Sebastien Moutte * win32/common/libgstaudio.def: Add new exported functions. * win32/vs6/grammar.dsp: Add autogeneration and copy of some autegenerated files from win32/common for rtsp library. * win32/vs6/libgstaudioconvert.dsp: Add gstaudioquantize.c to the build. * win32/vs6/libgstinterfaces.dsp: Add videoorientation.c to the build. * win32/vs6/libgstriff.dsp: Add libgsttag to the link libraries list. * win32/vs6/libgstvolume.dsp: Add liboil to the link. * win32/vs6/gst_plugins_base.dsw: * win32/vs6/libgstrtsp.dsp: * win32/common/libgstrtsp.def: Add files to build libgstrtsp library. 2007-09-26 Wim Taymans * tests/examples/snapshot/snapshot.c: (main): Print error when pipeline failed to construct. 2007-09-25 Tim-Philipp Müller * configure.ac: * gst-libs/gst/tag/gstid3tag.c: * gst-libs/gst/tag/gstvorbistag.c: Add mappings for the new GST_TAG_COMPOSER for vorbis comments and ID3v2 tags. 2007-09-25 Tim-Philipp Müller * gst-libs/gst/floatcast/floatcast.h: Don't include config.h in an installed public header, this might break compilation of applications that don't have such a header and doesn't necessarily do what it's supposed to do anyway (ie. check for the lrint/lrintf defines) (#442065). Add docs for the various macros and document how this header has to be used (link against libm, etc.); add a few FIXMEs; include math.h for non-c99 code path. Based on patch by Jan Schmidt. 2007-09-25 Sebastian Dröge * configure.ac: Use AG_GST_ARG_WITH_PLUGINS and AG_GST_ARG_ENABLE_EXTERNAL instead of duplicating these macros in configure.ac. 2007-09-22 Thomas Vander Stichele * po/hu.po: * po/sv.po: * po/uk.po: Updated translations to 0.10.14 2007-09-22 Thomas Vander Stichele translated by: Jakub Bogusz * po/pl.po: Added Polish translation. 2007-09-22 Thomas Vander Stichele translated by: Ilkka Tuohela * po/fi.po: Added Finnish translation. 2007-09-22 Thomas Vander Stichele translated by: Jorge González González * po/es.po: Added Spanish translation. 2007-09-22 Thomas Vander Stichele translated by: Mogens Jaeger * po/da.po: Added Danish translation. 2007-09-22 Thomas Vander Stichele translated by: Funda Wang * po/zh_CN.po: Added Chinese (simplified) translation. 2007-09-22 Thomas Vander Stichele translated by: Alexander Shopov * po/bg.po: Added Bulgarian translation. 2007-09-21 Wim Taymans * gst/playback/gstqueue2.c: (gst_queue_push_one): Fix compilation wrt printf arguments. 2007-09-20 Wim Taymans * configure.ac: * tests/examples/Makefile.am: * tests/examples/snapshot/.cvsignore: * tests/examples/snapshot/Makefile.am: * tests/examples/snapshot/snapshot.c: (main): Add simple snapshot example program using appsink. 2007-09-20 Stefan Kost * tests/check/generic/states.c: Improved state change unit test. 2007-09-19 Stefan Kost * docs/plugins/.cvsignore: * tests/check/.cvsignore: Ignore registries in any format. 2007-09-19 Wim Taymans * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_chain), (gst_base_rtp_depayload_set_gst_timestamp): Only copy timestamp on outgoing packets if the depayloader did not set one. Also copy duration on outgoing packets. 2007-09-19 Wim Taymans * gst-libs/gst/rtp/gstbasertppayload.c: (copy_fixed), (gst_basertppayload_set_outcaps): Fix compilation because of missing %d in printf. When fixating caps, fixate what we can and throw away all remaining unfixed caps, subclasses should do something smart if they need to. 2007-09-19 Stefan Kost * ext/gnomevfs/gstgnomevfssrc.c: Improve debug logs a bit and be more verbose if things go wrong. 2007-09-17 Jan Schmidt * ext/pango/gsttextoverlay.c: (gst_text_overlay_init), (gst_text_overlay_set_property): * ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet): * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_render): * gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_ntp_to_unix), (gst_rtcp_unix_to_ntp): * gst-libs/gst/rtsp/gstrtspmessage.c: (gst_rtsp_message_get_type): * gst/playback/gstqueue2.c: * tests/examples/seek/seek.c: (set_scale): Fix a bunch of compile warnings shown with Forte. * gst/audiorate/gstaudiorate.c: Always pull in config.h before including any system headers. 2007-09-17 Wim Taymans * gst/playback/gstqueue2.c: (update_buffering), (gst_queue_locked_flush), (gst_queue_locked_enqueue), (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_push_one), (gst_queue_sink_activate_push), (gst_queue_src_activate_push), (gst_queue_src_activate_pull): Also fix #476514 for queue2. 2007-09-16 Wim Taymans * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_init), (gst_base_rtp_depayload_setcaps), (gst_base_rtp_depayload_chain), (gst_base_rtp_depayload_handle_sink_event), (gst_base_rtp_depayload_push_full), (gst_base_rtp_depayload_set_gst_timestamp), (gst_base_rtp_depayload_change_state): Remove code to deal with RTP to GST time conversion, we now just copy the GST timestamp we receive to the outgoing buffers. Handle segment and flushes correctly. * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_push): When we have no valid input timestamp, use the previous rtp timestamp on the outgoing RTP packet instead of the RTP base time. 2007-09-15 David Schleef * ext/alsa/gstalsa.c: * ext/alsa/gstalsadeviceprobe.c: * ext/alsa/gstalsamixer.c: * ext/alsa/gstalsasink.c: * ext/alsa/gstalsasrc.c: Change alsa alloca's to malloc to fix warnings on gcc-4.2. 2007-09-15 Wim Taymans * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_set_outcaps), (gst_basertppayload_push): Add some debug info when negotiating caps. 2007-09-14 Wim Taymans * gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_validate_data): A buffer with an empty payload is also a valid buffer. 2007-09-14 Wim Taymans * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_event), (gst_basertppayload_set_outcaps), (gst_basertppayload_push), (gst_basertppayload_change_state): Make sure we start our RTP timestamp from the random base RTP timestamp even if the buffer timestamp starts from some random value. 2007-09-14 Wim Taymans * configure.ac: * tests/examples/Makefile.am: * tests/examples/dynamic/.cvsignore: * tests/examples/dynamic/Makefile.am: * tests/examples/dynamic/addstream.c: (create_stream), (pause_play_stream), (message_received), (eos_message_received), (perform_step), (main): Add simple exmple app to demonstrate starting and pausing live and non-live bins in a PLAYING pipeline. 2007-09-14 Julien MOUTTE * gst/typefind/gsttypefindfunctions.c: (plugin_init): Add some typefind for QCP files (RFC #3625) 2007-09-13 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_init): Disable pull mode scheduling, we're not ready for it yet and it subtly breaks a lot of things. 2007-09-12 Tim-Philipp Müller * tests/check/elements/libvisual.c: Test all libvisual plugins, not just the first one; this reproduces bug #450336 quite easily. Looks like a problem with the 'jess' visualisation. 2007-09-12 Tim-Philipp Müller * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * tests/check/elements/libvisual.c: Add basic libvisual test case in an attempt to reproduce bug #450336. Doesn't reproduce that bug, but some other crasher instead (invalid free), at least with make elements/libvisual.forever and the bumscope plugin on x86-64/gutsy. Leaving test disabled for now. 2007-09-11 Wim Taymans Patch by: Tommi Myöhänen * gst-libs/gst/rtsp/gstrtspconnection.c: (gst_rtsp_connection_read_internal), (gst_rtsp_connection_read), (read_body), (gst_rtsp_connection_receive): Make sure we can not cancel in the middle of receiving a message. Fixes #475731. 2007-09-11 Tim-Philipp Müller Patch by: Josep Torra Valles * gst/playback/gstplaybasebin.c: Increase upper limit for audio queue a bit; fixes preroll problem with playbin and decodebin2 when playing a quicktime trailer with multichannel audio via http (#464666). 2007-09-10 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_class_init), (gst_base_audio_src_init), (gst_base_audio_src_provide_clock), (gst_base_audio_src_set_property), (gst_base_audio_src_get_property), (gst_base_audio_src_create): * gst-libs/gst/audio/gstbaseaudiosrc.h: Allow othe clocks than the internal clock to be used for the pipeline. Add property to disable clock provide. API: GstBaseAudioSrc::provide-clock 2007-09-10 Stefan Kost * gst/playback/gstdecodebin2.c: Don't leak request pads. Fixes #475395. 2007-09-09 Sebastian Dröge Patch by: René Stadler * sys/ximage/ximagesink.c: (gst_ximage_buffer_finalize), (gst_ximage_buffer_class_init): * sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy), (gst_xvimage_buffer_class_init): Correctly chain up finalize with the parent class to prevent memory leaks. Fixes #474880. 2007-09-09 Sebastian Dröge * gst/volume/gstvolume.c: (volume_choose_func): * tests/check/elements/volume.c: (GST_START_TEST): Revert the latest change: floating point samples are allowed to have any value, not only values in the range [-1,1]. Thanks to Andy Wingo for noticing. Also fix processing of int32 samples with volumes > 4 by making the unity value smaller which prevents overflows. 2007-09-07 Tim-Philipp Müller * gst-libs/gst/rtp/gstrtpbuffer.c: * tests/check/libs/rtp.c: Fix gst_rtp_buffer_set_csrc() and enable csrc-related unit test checks. 2007-09-07 Tim-Philipp Müller Based on patch by: Haakon Sporsheim * gst-libs/gst/rtp/gstrtpbuffer.c: Fix up GstRTPHeader helper struct so that compilers will not under any circumstances add padding in between our fields, as currently happens with MSVC on win32, because that would lead to us sending out RTP payloads with broken RTP headers (#471194). Fix assertion guards for gst_rtp_buffer_get_csrc() and _set_csrc(). * tests/check/Makefile.am: * tests/check/libs/.cvsignore: * tests/check/libs/rtp.c: Add some simple unit tests for GstRTPBuffer. Some are disabled because the code tested still needs fixing (set_csrc() does not work). 2007-09-07 Tim-Philipp Müller * win32/MANIFEST: * win32/common/gstrtsp-enumtypes.c: * win32/common/gstrtsp-enumtypes.h: * win32/common/interfaces-enumtypes.c: * win32/common/interfaces-enumtypes.h: * win32/common/multichannel-enumtypes.c: Add rtsp enumtypes (#474384) and update others. 2007-09-06 Stefan Kost * configure.ac: Fix configure check for HAVE_LIBXML_HTML. 2007-09-06 Tim-Philipp Müller * tests/check/libs/.cvsignore: Ignore more, in case the build bots work again one day. 2007-09-06 Sebastian Dröge Reviewed by: Stefan Kost * configure.ac: * gst-libs/gst/Makefile.am: * gst-libs/gst/fft/Makefile.am: * gst-libs/gst/fft/_kiss_fft_guts_f32.h: * gst-libs/gst/fft/_kiss_fft_guts_f64.h: * gst-libs/gst/fft/_kiss_fft_guts_s16.h: * gst-libs/gst/fft/_kiss_fft_guts_s32.h: * gst-libs/gst/fft/gstfft.c: (gst_fft_next_fast_length): * gst-libs/gst/fft/gstfft.h: * gst-libs/gst/fft/gstfftf32.c: (gst_fft_f32_new), (gst_fft_f32_fft), (gst_fft_f32_inverse_fft), (gst_fft_f32_free), (gst_fft_f32_window), (gst_fft_f32_magnitude), (gst_fft_f32_phase): * gst-libs/gst/fft/gstfftf32.h: * gst-libs/gst/fft/gstfftf64.c: (gst_fft_f64_new), (gst_fft_f64_fft), (gst_fft_f64_inverse_fft), (gst_fft_f64_free), (gst_fft_f64_window), (gst_fft_f64_magnitude), (gst_fft_f64_phase): * gst-libs/gst/fft/gstfftf64.h: * gst-libs/gst/fft/gstffts16.c: (gst_fft_s16_new), (gst_fft_s16_fft), (gst_fft_s16_inverse_fft), (gst_fft_s16_free), (gst_fft_s16_window), (gst_fft_s16_magnitude), (gst_fft_s16_phase): * gst-libs/gst/fft/gstffts16.h: * gst-libs/gst/fft/gstffts32.c: (gst_fft_s32_new), (gst_fft_s32_fft), (gst_fft_s32_inverse_fft), (gst_fft_s32_free), (gst_fft_s32_window), (gst_fft_s32_magnitude), (gst_fft_s32_phase): * gst-libs/gst/fft/gstffts32.h: * gst-libs/gst/fft/kiss_fft_f32.c: (kf_bfly2), (kf_bfly4), (kf_bfly3), (kf_bfly5), (kf_bfly_generic), (kf_work), (kf_factor), (kiss_fft_f32_alloc), (kiss_fft_f32_stride), (kiss_fft_f32), (kiss_fft_f32_cleanup), (kiss_fft_f32_next_fast_size): * gst-libs/gst/fft/kiss_fft_f32.h: * gst-libs/gst/fft/kiss_fft_f64.c: (kf_bfly2), (kf_bfly4), (kf_bfly3), (kf_bfly5), (kf_bfly_generic), (kf_work), (kf_factor), (kiss_fft_f64_alloc), (kiss_fft_f64_stride), (kiss_fft_f64), (kiss_fft_f64_cleanup), (kiss_fft_f64_next_fast_size): * gst-libs/gst/fft/kiss_fft_f64.h: * gst-libs/gst/fft/kiss_fft_s16.c: (kf_bfly2), (kf_bfly4), (kf_bfly3), (kf_bfly5), (kf_bfly_generic), (kf_work), (kf_factor), (kiss_fft_s16_alloc), (kiss_fft_s16_stride), (kiss_fft_s16), (kiss_fft_s16_cleanup), (kiss_fft_s16_next_fast_size): * gst-libs/gst/fft/kiss_fft_s16.h: * gst-libs/gst/fft/kiss_fft_s32.c: (kf_bfly2), (kf_bfly4), (kf_bfly3), (kf_bfly5), (kf_bfly_generic), (kf_work), (kf_factor), (kiss_fft_s32_alloc), (kiss_fft_s32_stride), (kiss_fft_s32), (kiss_fft_s32_cleanup), (kiss_fft_s32_next_fast_size): * gst-libs/gst/fft/kiss_fft_s32.h: * gst-libs/gst/fft/kiss_fftr_f32.c: (kiss_fftr_f32_alloc), (kiss_fftr_f32), (kiss_fftri_f32): * gst-libs/gst/fft/kiss_fftr_f32.h: * gst-libs/gst/fft/kiss_fftr_f64.c: (kiss_fftr_f64_alloc), (kiss_fftr_f64), (kiss_fftri_f64): * gst-libs/gst/fft/kiss_fftr_f64.h: * gst-libs/gst/fft/kiss_fftr_s16.c: (kiss_fftr_s16_alloc), (kiss_fftr_s16), (kiss_fftri_s16): * gst-libs/gst/fft/kiss_fftr_s16.h: * gst-libs/gst/fft/kiss_fftr_s32.c: (kiss_fftr_s32_alloc), (kiss_fftr_s32), (kiss_fftri_s32): * gst-libs/gst/fft/kiss_fftr_s32.h: * gst-libs/gst/fft/kiss_version: * pkgconfig/gstreamer-plugins-base-uninstalled.pc.in: * pkgconfig/gstreamer-plugins-base.pc.in: Add libgstfft, a FFT library based on Kiss FFT which is BSD licensed. Supported sample formats are int16, int32, float and double. For those formats a real FFT and IFFT can be done, different windowing functions can be applied and functions for extracting the magnitude and phase exist. Fixes #468619. * docs/libs/Makefile.am: * docs/libs/gst-plugins-base-libs-docs.sgml: * docs/libs/gst-plugins-base-libs-sections.txt: Integrate libgstfft into the docs. * tests/check/Makefile.am: * tests/check/libs/fft.c: (GST_START_TEST), (fft_suite), (main): Add unit tests for libgstfft, currently only testing the FFT. Unit tests for IFFT will follow soon. 2007-09-05 Wim Taymans Patch by: Peter Kjellerstedt * gst-libs/gst/sdp/gstsdpmessage.c: (gst_sdp_time_init), (gst_sdp_message_init), (gst_sdp_message_uninit), (is_multicast_address), (gst_sdp_message_as_text), (gst_sdp_message_get_origin), (gst_sdp_message_set_connection), (gst_sdp_message_get_connection), (gst_sdp_message_add_bandwidth), (gst_sdp_message_add_time), (gst_sdp_message_add_zone), (gst_sdp_message_get_key), (gst_sdp_message_get_attribute_val_n), (gst_sdp_message_get_attribute_val), (gst_sdp_message_add_media), (gst_sdp_media_init), (gst_sdp_media_uninit), (gst_sdp_media_as_text), (gst_sdp_media_set_port_info), (gst_sdp_media_connections_len), (gst_sdp_media_add_connection), (gst_sdp_media_bandwidths_len), (gst_sdp_media_get_bandwidth), (gst_sdp_media_add_bandwidth), (gst_sdp_media_attributes_len), (gst_sdp_parse_line), (print_media), (gst_sdp_message_dump): * gst-libs/gst/sdp/gstsdpmessage.h: Separate INIT_ARRAY() and related macros into two versions, one for structures and one for pointers (e.g., INIT_ARRAY() and INIT_PTR_ARRAY()). This fixes a segmentation error on freeing the lists of emails and phone numbers. Add missing const as appropriate. Change all gint to guint since they all actually represent unsigned values. Do not use time as a variable name as it shadows the global time(). Add gst_sdp_message_as_text() and gst_sdp_media_as_text(). Actually implement gst_sdp_message_add_time(). Make gst_sdp_message_add_time() take repeat times as an argument. Store repeat times in GstSDPTime as a GArray rather than as gchar**. Corrected the definition of gst_sdp_media_get_bandwidth() (was misspelled as badwidth). gst-indented and a little clean up. Fixes #471067. 2007-09-05 Sebastian Dröge * gst/volume/gstvolume.c: (volume_choose_func), (volume_process_double), (volume_process_double_clamp), (volume_process_float_clamp): Correctly clamp float/double samples in the [-1.0,1.0] range to prevent weird effects. * tests/check/elements/volume.c: (GST_START_TEST), (volume_suite): Add unit tests for all samples types that had none before. 2007-09-05 Tim-Philipp Müller * gst-libs/gst/rtp/gstrtpbuffer.c: Need to include stdlib.h for abs() here too. 2007-09-05 Tim-Philipp Müller * gst/playback/gststreaminfo.c: Fix build. 2007-09-05 Stefan Kost * gst/playback/gststreaminfo.c: Clean up some half-disabled code and comment. 2007-09-04 Wim Taymans Patch by: Laurent Glayal * gst-libs/gst/rtp/gstbasertpaudiopayload.c: (gst_base_rtp_payload_audio_handle_event): Return FALSE from the event handler to let the parent class handle the event. Fixes #446766. * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_chain), (gst_base_rtp_depayload_push_full): Mark outgoing buffers as DISCONT if the incomming buffer was DISCONT. * gst-libs/gst/rtp/gstbasertppayload.c: Bump the MTU to 1400. 2007-09-03 Johan Dahlin * gst/typefind/gsttypefindfunctions.c (plugin_init): Add an audio/x-nsf typefind function for the nsfdec element. 2007-09-03 Renato Filho * gst/playback/gstplaybasebin.c: Included "myth://" on stream_uris list for enable buffering to mythtv files 2007-09-03 Wim Taymans * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_packet_get_rb), (gst_rtcp_packet_sdes_copy_entry), (gst_rtcp_ntp_to_unix), (gst_rtcp_unix_to_ntp): * gst-libs/gst/rtp/gstrtcpbuffer.h: Fix parsing of RB blocks. Fix docs. Added helper functions to convert to/from UNIX and NTP time. API: gst_rtcp_ntp_to_unix() API: gst_rtcp_unix_to_ntp() * gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_validate_data), (gst_rtp_buffer_get_header_len), (gst_rtp_buffer_get_extension_data), (gst_rtp_buffer_get_payload_subbuffer), (gst_rtp_buffer_get_payload_len), (gst_rtp_buffer_get_payload), (gst_rtp_buffer_ext_timestamp): * gst-libs/gst/rtp/gstrtpbuffer.h: Fix some more docs. Implement handling of packets with extensions. Fix padding check in _validate(). Added function to get extension data. API: gst_rtp_buffer_get_header_len() API: gst_rtp_buffer_get_extension_data() 2007-09-03 Wim Taymans * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_class_init), (gst_base_rtp_depayload_set_gst_timestamp): Add some more docs for the queue-delay property and fix a typo in a comment. * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_push): Fix typo. 2007-09-03 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_skew_slaving), (gst_base_audio_sink_render), (gst_base_audio_sink_change_state): When skew slaving, try to hover around the middle of a segment so that we at most drift by half a segment. If we are aligning in the oposite direction of the clock skew, we don't have to resync. 2007-08-31 Wim Taymans * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_setcaps), (gst_base_rtp_depayload_set_gst_timestamp): Be less silly with the segment start, just apply the clock-base to the timestamp. 2007-08-31 Wim Taymans * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_class_init), (gst_base_rtp_depayload_finalize), (gst_base_rtp_depayload_setcaps), (gst_base_rtp_depayload_chain), (gst_base_rtp_depayload_handle_sink_event), (gst_base_rtp_depayload_set_gst_timestamp), (gst_base_rtp_depayload_change_state): * gst-libs/gst/rtp/gstbasertpdepayload.h: Deprecate the queue handling thread thing and remove the code. Use new method to calculate the extended timestamp. 2007-08-31 Wim Taymans * gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_packet_sdes_copy_entry): Use g_strndup which does exactly what we want. * gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_compare_seqnum), (gst_rtp_buffer_ext_timestamp): * gst-libs/gst/rtp/gstrtpbuffer.h: Add helper function to compare seqnums. Add helper function to calculate extended timestamps. API: gst_rtp_buffer_compare_seqnum() API: gst_rtp_buffer_ext_timestamp() 2007-08-30 Wim Taymans * gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_packet_sdes_get_entry), (gst_rtcp_packet_sdes_copy_entry): * gst-libs/gst/rtp/gstrtcpbuffer.h: Fix and document SDES item data function. Add new function that makes a proper copy of SDES item data. API: gst_rtcp_packet_sdes_copy_entry() 2007-08-30 Stefan Kost * configure.ac: * gst/Makefile.am: The tcp and subparse plugins are under gst, but not totaly free of dependencies. Handle selection inconfigure.ac, so that they show up on the final list of what is build and what is not. Maybe they should better be moved to ext. 2007-08-30 Stefan Kost Patch by: Daniel Díaz * configure.ac: * gst/Makefile.am: Check if libxml provides HTML parser which subparse needs. Fixes #451970. 2007-08-29 Tim-Philipp Müller * ext/alsa/gstalsa.c: Fix typo and compilation on big endian systems. 2007-08-29 Tim-Philipp Müller * gst/subparse/gstssaparse.c: Convert SSA newline codes into actual newline characters (#470766). 2007-08-28 Tim-Philipp Müller * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/pbutils/install-plugins.c: * gst-libs/gst/pbutils/install-plugins.h: * tests/check/libs/pbutils.c: API: also add gst_install_plugins_supported() while we're at it (see #470456). 2007-08-28 Tim-Philipp Müller * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/pbutils/missing-plugins.c: * gst-libs/gst/pbutils/missing-plugins.h: * tests/check/libs/pbutils.c: API: add gst_missing_*_installer_detail_new() convenience API so that applications that know exactly what they're missing can request installer detail strings for those items directly instead of having to first create a dummy missing-plugin message and then get the installer detail string from that. Fixes #470456. 2007-08-27 Jan Schmidt * gst/playback/gstdecodebin.c: (close_pad_link): We need to set up delayed-linking whenever the caps are non-fixed, not just when there are multiple types - use gst_pad_is_fixed() to test. 2007-08-26 Tim-Philipp Müller * gst-libs/gst/pbutils/missing-plugins.c: (gst_missing_plugin_message_get_installer_detail): Add missing separator in PID fallback case. 2007-08-24 Jan Schmidt * ext/alsa/Makefile.am: There is no GST_PLUGINS_BASE_LIBS defined. * ext/alsa/gstalsa.c: * ext/alsa/gstalsasink.c: (gst_alsasink_delay): * ext/alsa/gstalsasrc.c: (gst_alsasrc_delay): Add support for ALSA 24-bit formats. snd_pcm_delay can return an error code, especially during XRUNS. In that case, the best we can do is assume delay = 0. * gst/audioconvert/Makefile.am: Add flags from -base before any more-remote dependencies. 2007-08-23 Sebastian Dröge Based on a patch by: Davyd Madeley * gst/volume/gstvolume.c: (volume_choose_func), (volume_update_real_volume), (gst_volume_set_volume), (gst_volume_init), (volume_process_int32), (volume_process_int32_clamp), (volume_process_int24), (volume_process_int24_clamp), (volume_process_int16), (volume_process_int16_clamp), (volume_process_int8), (volume_process_int8_clamp), (volume_update_volume), (plugin_init): * gst/volume/gstvolume.h: Add support for int32, int24 and int8 to the volume element. Fixes #445529. 2007-08-23 Tim-Philipp Müller * tests/examples/Makefile.am: Fix even more. 2007-08-23 Stefan Kost * configure.ac: * docs/libs/Makefile.am: * docs/libs/gst-plugins-base-libs-docs.sgml: * docs/libs/gst-plugins-base-libs-sections.txt: * ext/gnomevfs/gstgnomevfssrc.c: * ext/gnomevfs/gstgnomevfssrc.h: * gst-libs/gst/Makefile.am: * pkgconfig/gstreamer-plugins-base-uninstalled.pc.in: * pkgconfig/gstreamer-plugins-base.pc.in: * sys/v4l/v4lsrc_calls.c: * tests/examples/Makefile.am: * win32/common/config.h: Revert unwanted commit. many thanks to moap. I want a fix for https://thomas.apestaart.org/moap/trac/ticket/239 2007-08-23 Stefan Kost * gst/volume/gstvolume.c: Move passthrough below gst_object_sync_values(). Fixes #442654. 2007-08-22 Wim Taymans * gst-libs/gst/audio/audio.c: Clarify the docs a little. 2007-08-22 Stefan Kost * gst/volume/gstvolume.c: Enable liboil for float and add more details about problems with int16. 2007-08-21 Wim Taymans * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_palette_to_caps): Fix RGB24 masks as spotted by _ke (Daniel G. Siegel) on IRC. 2007-08-21 Wim Taymans * ext/vorbis/vorbisdec.c: (vorbis_dec_push_forward): When calculating the first timestamp of the buffers, don't go below 0 and clip the samples because the offset was on the eos page. Fixes #466717. 2007-08-21 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_demux_read_chain), (gst_ogg_demux_collect_chain_info): Also submit the eos page when trying to find the first timestamp. See #466717. 2007-08-17 Sebastian Dröge * gst-libs/gst/audio/audio.h: Use gst_util_uint64_scale() instead of doing the math with double for GST_FRAMES_TO_CLOCK_TIME() and GST_CLOCK_TIME_TO_FRAMES(). For large timestamps this prevents rounding errors. Fixes #467667. 2007-08-17 Wim Taymans * gst-libs/gst/rtsp/gstrtspconnection.c: (gst_rtsp_connection_connect), (gst_rtsp_connection_write), (gst_rtsp_connection_read), (gst_rtsp_connection_poll): * gst-libs/gst/rtsp/gstrtspconnection.h: Small cleanups. On shutdown, don't read the control socket yet. Set timeout value correctly in all cases. Add function to check if the server accepts reads or writes. API: gst_rtsp_connection_poll() * gst-libs/gst/rtsp/gstrtspdefs.h: Fix compilation with -pedantic. Add enum for _poll. 2007-08-16 Wim Taymans Patch by: Olivier Crete * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_init), (gst_basertppayload_getcaps): * gst-libs/gst/rtp/gstbasertppayload.h: Add getcaps vfunc to basertppayload. See #465146. 2007-08-16 Wim Taymans * gst/playback/gstplaybasebin.c: (queue_threshold_reached): Only post buffering messages when we are a stream. 2007-08-15 Tim-Philipp Müller * gst-libs/gst/pbutils/install-plugins.c: * gst-libs/gst/pbutils/missing-plugins.c: Small docs fix and addition. 2007-08-13 Tim-Philipp Müller * tests/icles/.cvsignore: * tests/icles/Makefile.am: * tests/icles/test-textoverlay.c: Add a dumb little test for textoverlay alignments. 2007-08-13 Tim-Philipp Müller Patch by: Dan Williams * ext/pango/gsttextoverlay.c: * ext/pango/gsttextoverlay.h: API: add "line-alignment" property (#459334). Add gtk-doc blurb for "silent" property so there's a Since tag in the API reference. 2007-08-12 Wim Taymans * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_set_outcaps): * gst-libs/gst/rtp/gstbasertppayload.h: Improve caps negotiation so that downstream elements can confiure certain RTP properties by fixing them on the caps. See #465146. Add docs. 2007-08-11 Tim-Philipp Müller * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/rtp/gstbasertpdepayload.c: * gst-libs/gst/rtp/gstbasertpdepayload.h: Mark as deprecated some macros which were presumably meant to be private API and accidentally exposed in the public header file. Also actually _init() lock (only works at the moment because the struct is zeroed out when created and the initial values in the mutex struct are zeroes too). (#459585) 2007-08-10 Stefan Kost * docs/libs/Makefile.am: Remove cruft and do some cleanups. * docs/libs/gst-plugins-base-libs-docs.sgml: Prepare for comming gtkdoc features (rebase against online docs). 2007-08-10 Michael Smith * gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain): Debug output fixes. * tests/check/elements/audiorate.c: (do_perfect_stream_test), (GST_START_TEST): Change the number of buffers used; 500 is too many and leads to timeouts. 2007-08-10 Tim-Philipp Müller * gst/playback/gstqueue2.c: * gst/videorate/gstvideorate.c: Printf format fixes (#465028). 2007-08-09 Michael Smith * gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain): If we have a large (> 1 second) discontinuity, push a series of smaller buffers rather than a single very large buffer. Avoids unreasonably large single buffer allocations when encountering a large gap. * tests/check/elements/audiorate.c: (GST_START_TEST), (audiorate_suite): Add a test for this. 2007-08-09 Jan Schmidt * gst/playback/gstplaybasebin.c: (group_commit), (queue_remove_probe), (queue_threshold_reached): Patch by: Josep Torra Valles Fixes: #465015 Make sure we remove the check_queues buffer probe from the correct queue to avoid racily going back to "buffering 99%" when buffering is actually complete. Also, fix the spelling of Josep's surname in the ChangeLog. 2007-08-09 Stefan Kost * ext/ogg/gstoggmux.c: Do not leak oggmux instance. * ext/vorbis/vorbisenc.c: Also log values. 2007-08-09 Thomas Vander Stichele * po/hu.po: * po/it.po: * po/nl.po: * po/uk.po: * po/vi.po: Updated translations. 2007-08-08 Stefan Kost patch by: Yang Hong * ext/pango/gsttextoverlay.c: * ext/pango/gsttextoverlay.h: Add 'silent' property to GstTimeOverlay. Fixes #462979 2007-08-08 Wim Taymans Patch by: Josep Torra Valles * docs/plugins/gst-plugins-base-plugins.args: * gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init), (gst_uri_decode_bin_init), (gst_uri_decode_bin_set_property), (gst_uri_decode_bin_get_property), (gen_source_element): Add connection-speed property. Fixes #464690. 2007-08-07 Wim Taymans Patch by: Damien Lespiau * configure.ac: * gst-libs/gst/rtsp/Makefile.am: * gst-libs/gst/rtsp/gstrtspconnection.c: (gst_rtsp_connection_connect): Fix compilation on windows. Fixes #464320. 2007-08-07 Wim Taymans Patch by: Josep Torra Valles * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init), (gst_play_base_bin_init), (queue_threshold_reached), (gen_source_element), (setup_substreams), (gst_play_base_bin_set_property), (gst_play_base_bin_get_property), (gst_play_base_bin_get_streaminfo_value_array): * gst/playback/gstplaybasebin.h: * gst/playback/gstplaybin.c: (gst_play_bin_class_init), (gst_play_bin_set_property), (gst_play_bin_get_property), (gst_play_bin_handle_redirect_message): Move connection-speed property from playbin to playbasebin so that we can also configure it in source elements that have the connection-speed property. Fixes #464028. Add some debug info here and there. 2007-08-06 Sebastian Dröge * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audio_test_src_query): Properly respond to conversion queries. Fixes #464079. 2007-08-03 Sebastian Dröge * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audio_test_src_init), (gst_audio_test_src_src_fixate), (gst_audio_test_src_setcaps), (gst_audio_test_src_init_sine_table), (gst_audio_test_src_change_wave), (gst_audio_test_src_create): * gst/audiotestsrc/gstaudiotestsrc.h: Add float/double and int32 support to audiotestsrc. Fixes #460422. Also set the default volume to the default value specified in the GParamSpec. 2007-08-03 Sebastian Dröge Patch by: Jens Granseuer * gst/audioconvert/gstaudioquantize.c: Fix C89 incompatibilities and spelling of explanations. Fixes #463215. 2007-08-03 Wim Taymans * gst-libs/gst/rtsp/gstrtsptransport.c: (gst_rtsp_transport_parse): Add rdt manager for rdt transport. Fix parsing of RDT transport. 2007-08-03 Jan Schmidt * configure.ac: Back to CVS === release 0.10.14 === 2007-08-03 Jan Schmidt * configure.ac: releasing 0.10.14, "Light Years Ahead" 2007-07-27 Jan Schmidt * tests/check/libs/audio.c: (GST_START_TEST): Fix the test to reflect the behaviour of gst_audio_clip_buffer. 2007-07-27 Jan Schmidt * gst-libs/gst/audio/audio.c: When clipping a buffer with no timestamp, assume it is within the segment without warnings. Fixes: #460978 2007-07-27 Wim Taymans * gst-libs/gst/rtsp/gstrtspextension.c: (gst_rtsp_extension_send): Fire the signal on the object, not the interface. 2007-07-27 Jan Schmidt * gst-libs/gst/rtsp/.cvsignore: Ber. Don't include the full path, idiot. 2007-07-27 Jan Schmidt * gst-libs/gst/rtsp/.cvsignore: Ignore generated files. 2007-07-26 Jan Schmidt * gst-libs/gst/interfaces/Makefile.am: * gst-libs/gst/interfaces/interfaces-marshal.list: * gst-libs/gst/interfaces/rtspextension.c: * gst-libs/gst/interfaces/rtspextension.h: * gst-libs/gst/rtsp/Makefile.am: * gst-libs/gst/rtsp/gstrtsp.h: * gst-libs/gst/rtsp/gstrtspextension.c: (gst_rtsp_extension_get_type), (gst_rtsp_extension_iface_init), (gst_rtsp_extension_detect_server), (gst_rtsp_extension_before_send), (gst_rtsp_extension_after_send), (gst_rtsp_extension_parse_sdp), (gst_rtsp_extension_setup_media), (gst_rtsp_extension_configure_stream), (gst_rtsp_extension_get_transports), (gst_rtsp_extension_stream_select), (gst_rtsp_extension_send): * gst-libs/gst/rtsp/gstrtspextension.h: * gst-libs/gst/rtsp/rtsp-marshal.list: Move the rtspextension.h interface into gstrtspextension.h as part of libgstrtsp instead of libgstinterfaces, because it's only for use within plugins, not applications. Add stuff to do the enum & marshal generation needed in libgstrtsp now. Use the GST_TYPE_RTSP_RESULT enum type for the return value of the signal that the GstRTSPExtension interface emits, since G_TYPE_ENUM is abstract. 2007-07-26 Wim Taymans * gst-libs/gst/interfaces/Makefile.am: * gst-libs/gst/interfaces/interfaces-marshal.list: * gst-libs/gst/interfaces/rtspextension.c: (gst_rtsp_extension_iface_init), (gst_rtsp_extension_stream_select), (gst_rtsp_extension_send): * gst-libs/gst/interfaces/rtspextension.h: Fix marshaller for the send signal. Add URL to stream selection interface method. 2007-07-26 Jan Schmidt * gst-libs/gst/riff/Makefile.am: Pull in our dependencies from -base before those from outside. 2007-07-26 Wim Taymans * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/rtsp/gstrtspbase64.c: (gst_rtsp_base64_decode_ip): * gst-libs/gst/rtsp/gstrtspbase64.h: API: gst_rtsp_base64_decode_ip() Added function to decode Base64 in-place. 2007-07-26 Jan Schmidt * tests/check/libs/.cvsignore: Ignore the mixer test binary. 2007-07-26 Jan Schmidt * ext/vorbis/vorbisdec.c: (vorbis_dec_push_forward): Gratuitous comment change to trigger a rebuild on the buildbots. 2007-07-25 Wim Taymans * gst-libs/gst/sdp/gstsdpmessage.c: (gst_sdp_media_get_media), (gst_sdp_media_get_port), (gst_sdp_media_get_num_ports), (gst_sdp_media_get_proto), (gst_sdp_media_formats_len), (gst_sdp_media_get_format), (gst_sdp_media_get_information), (gst_sdp_media_connections_len), (gst_sdp_media_get_connection), (gst_sdp_media_bandwidths_len), (gst_sdp_media_get_badwidth), (gst_sdp_media_get_key), (gst_sdp_media_attributes_len), (gst_sdp_media_get_attribute), (gst_sdp_media_get_attribute_val_n), (gst_sdp_media_get_attribute_val): * gst-libs/gst/sdp/gstsdpmessage.h: Constify args where we can. 2007-07-25 Wim Taymans * gst-libs/gst/interfaces/Makefile.am: * gst-libs/gst/interfaces/rtspextension.c: (gst_rtsp_extension_get_type), (gst_rtsp_extension_iface_init), (gst_rtsp_extension_detect_server), (gst_rtsp_extension_before_send), (gst_rtsp_extension_after_send), (gst_rtsp_extension_parse_sdp), (gst_rtsp_extension_setup_media), (gst_rtsp_extension_configure_stream), (gst_rtsp_extension_get_transports), (gst_rtsp_extension_stream_select), (gst_rtsp_extension_send): * gst-libs/gst/interfaces/rtspextension.h: Move interface for RTSP extensions from -good to here. Added helper methods to invoke interface methods. 2007-07-25 Wim Taymans * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/rtsp/gstrtspdefs.h: * gst-libs/gst/rtsp/gstrtspmessage.c: (key_value_foreach), (gst_rtsp_message_get_type), (gst_rtsp_message_parse_request), (gst_rtsp_message_init_response), (gst_rtsp_message_parse_response), (gst_rtsp_message_new_data), (gst_rtsp_message_parse_data), (gst_rtsp_message_add_header), (gst_rtsp_message_remove_header), (gst_rtsp_message_get_header), (gst_rtsp_message_append_headers), (gst_rtsp_message_set_body), (gst_rtsp_message_get_body), (dump_key_value): * gst-libs/gst/rtsp/gstrtspmessage.h: * gst-libs/gst/rtsp/gstrtsprange.c: (parse_npt_time), (parse_npt_range), (parse_clock_range), (parse_smpte_range), (gst_rtsp_range_parse): * gst-libs/gst/rtsp/gstrtsprange.h: * gst-libs/gst/rtsp/gstrtsptransport.c: * gst-libs/gst/rtsp/gstrtspurl.c: Fix some more RTSP docs. Add some missing methods for dealing with messages. 2007-07-24 Wim Taymans * docs/libs/gst-plugins-base-libs-docs.sgml: * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/rtsp/gstrtspbase64.c: (gst_rtsp_base64_encode): * gst-libs/gst/rtsp/gstrtspbase64.h: * gst-libs/gst/rtsp/gstrtspconnection.c: (gst_rtsp_connection_connect), (add_auth_header), (gst_rtsp_connection_write), (gst_rtsp_connection_send), (read_body), (gst_rtsp_connection_receive), (gst_rtsp_connection_next_timeout), (gst_rtsp_connection_reset_timeout), (gst_rtsp_connection_set_auth): * gst-libs/gst/rtsp/gstrtspconnection.h: * gst-libs/gst/rtsp/gstrtspdefs.c: (rtsp_init_status): * gst-libs/gst/rtsp/gstrtspdefs.h: * gst-libs/gst/rtsp/gstrtspmessage.h: * gst-libs/gst/rtsp/gstrtsprange.c: (parse_npt_time), (parse_npt_range), (parse_clock_range), (parse_smpte_range), (gst_rtsp_range_parse): * gst-libs/gst/rtsp/gstrtspurl.h: Added beginnings of RTSP documentation. 2007-07-24 Wim Taymans * docs/libs/Makefile.am: * docs/libs/gst-plugins-base-libs-docs.sgml: * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/sdp/gstsdp.h: * gst-libs/gst/sdp/gstsdpmessage.c: (gst_sdp_message_set_origin), (gst_sdp_message_set_connection), (gst_sdp_message_add_bandwidth), (gst_sdp_message_add_time), (gst_sdp_message_add_zone), (gst_sdp_message_set_key), (gst_sdp_message_get_attribute_val_n), (gst_sdp_message_get_attribute_val), (gst_sdp_message_add_attribute), (gst_sdp_media_new), (gst_sdp_media_init), (gst_sdp_media_uninit), (gst_sdp_media_free), (gst_sdp_media_get_media), (gst_sdp_media_set_media), (gst_sdp_media_get_port), (gst_sdp_media_get_num_ports), (gst_sdp_media_set_port_info), (gst_sdp_media_get_proto), (gst_sdp_media_set_proto), (gst_sdp_media_formats_len), (gst_sdp_media_get_format), (gst_sdp_media_add_format), (gst_sdp_media_get_information), (gst_sdp_media_set_information), (gst_sdp_media_connections_len), (gst_sdp_media_get_connection), (gst_sdp_media_add_connection), (gst_sdp_media_bandwidths_len), (gst_sdp_media_get_badwidth), (gst_sdp_media_add_bandwidth), (gst_sdp_media_set_key), (gst_sdp_media_get_key), (gst_sdp_media_attributes_len), (gst_sdp_media_add_attribute), (gst_sdp_media_get_attribute_val_n), (gst_sdp_media_get_attribute_val), (gst_sdp_message_parse_buffer), (print_media), (gst_sdp_message_dump): * gst-libs/gst/sdp/gstsdpmessage.h: Document the SDP library. Add some of the missing SDPMedia methods. 2007-07-24 Wim Taymans * configure.ac: * gst-libs/gst/Makefile.am: * gst-libs/gst/rtsp/Makefile.am: * gst-libs/gst/rtsp/gstrtspbase64.c: (gst_rtsp_base64_encode): * gst-libs/gst/rtsp/gstrtspbase64.h: * gst-libs/gst/rtsp/gstrtspconnection.c: (inet_aton), (gst_rtsp_connection_create), (gst_rtsp_connection_connect), (add_auth_header), (add_date_header), (gst_rtsp_connection_write), (gst_rtsp_connection_send), (read_line), (read_string), (read_key), (parse_response_status), (parse_request_line), (parse_line), (gst_rtsp_connection_read), (read_body), (gst_rtsp_connection_receive), (gst_rtsp_connection_close), (gst_rtsp_connection_free), (gst_rtsp_connection_next_timeout), (gst_rtsp_connection_reset_timeout), (gst_rtsp_connection_flush), (gst_rtsp_connection_set_auth): * gst-libs/gst/rtsp/gstrtspconnection.h: * gst-libs/gst/rtsp/gstrtspdefs.c: (rtsp_init_status), (gst_rtsp_strresult), (gst_rtsp_method_as_text), (gst_rtsp_version_as_text), (gst_rtsp_header_as_text), (gst_rtsp_status_as_text), (gst_rtsp_find_header_field), (gst_rtsp_find_method): * gst-libs/gst/rtsp/gstrtspdefs.h: * gst-libs/gst/rtsp/gstrtspmessage.c: (key_value_foreach), (gst_rtsp_message_new), (gst_rtsp_message_init), (gst_rtsp_message_new_request), (gst_rtsp_message_init_request), (gst_rtsp_message_new_response), (gst_rtsp_message_init_response), (gst_rtsp_message_init_data), (gst_rtsp_message_unset), (gst_rtsp_message_free), (gst_rtsp_message_add_header), (gst_rtsp_message_remove_header), (gst_rtsp_message_get_header), (gst_rtsp_message_append_headers), (gst_rtsp_message_set_body), (gst_rtsp_message_take_body), (gst_rtsp_message_get_body), (gst_rtsp_message_steal_body), (dump_mem), (dump_key_value), (gst_rtsp_message_dump): * gst-libs/gst/rtsp/gstrtspmessage.h: * gst-libs/gst/rtsp/gstrtsprange.c: (parse_npt_time), (parse_npt_range), (parse_clock_range), (parse_smpte_range), (gst_rtsp_range_parse), (gst_rtsp_range_free): * gst-libs/gst/rtsp/gstrtsprange.h: * gst-libs/gst/rtsp/gstrtsptransport.c: (gst_rtsp_transport_new), (gst_rtsp_transport_init), (gst_rtsp_transport_get_mime), (gst_rtsp_transport_get_manager), (parse_mode), (parse_range), (range_as_text), (rtsp_transport_mode_as_text), (rtsp_transport_profile_as_text), (rtsp_transport_ltrans_as_text), (gst_rtsp_transport_parse), (gst_rtsp_transport_as_text), (gst_rtsp_transport_free): * gst-libs/gst/rtsp/gstrtsptransport.h: * gst-libs/gst/rtsp/gstrtspurl.c: (gst_rtsp_url_parse), (gst_rtsp_url_free), (gst_rtsp_url_set_port), (gst_rtsp_url_get_port), (gst_rtsp_url_get_request_uri): * gst-libs/gst/rtsp/gstrtspurl.h: * gst-libs/gst/sdp/Makefile.am: * gst-libs/gst/sdp/gstsdp.h: * gst-libs/gst/sdp/gstsdpmessage.c: (gst_sdp_origin_init), (gst_sdp_connection_init), (gst_sdp_bandwidth_init), (gst_sdp_time_init), (gst_sdp_zone_init), (gst_sdp_key_init), (gst_sdp_attribute_init), (gst_sdp_message_new), (gst_sdp_message_init), (gst_sdp_message_uninit), (gst_sdp_message_free), (gst_sdp_media_new), (gst_sdp_media_init), (gst_sdp_media_uninit), (gst_sdp_media_free), (gst_sdp_message_set_origin), (gst_sdp_message_get_origin), (gst_sdp_message_set_connection), (gst_sdp_message_get_connection), (gst_sdp_message_add_bandwidth), (gst_sdp_message_add_time), (gst_sdp_message_add_zone), (gst_sdp_message_set_key), (gst_sdp_message_get_key), (gst_sdp_message_get_attribute_val_n), (gst_sdp_message_get_attribute_val), (gst_sdp_message_add_attribute), (gst_sdp_message_add_media), (gst_sdp_media_add_attribute), (gst_sdp_media_add_bandwidth), (gst_sdp_media_add_format), (gst_sdp_media_get_attribute), (gst_sdp_media_get_attribute_val_n), (gst_sdp_media_get_attribute_val), (gst_sdp_media_get_format), (read_string), (read_string_del), (gst_sdp_parse_line), (gst_sdp_message_parse_buffer), (print_media), (gst_sdp_message_dump): * gst-libs/gst/sdp/gstsdpmessage.h: * pkgconfig/gstreamer-plugins-base-uninstalled.pc.in: Move SDP and RTSP from helper objects in -good to a reusable library. Use a proper gst_ namespace. 2007-07-23 Sebastian Dröge * ext/vorbis/vorbisdec.c: (vorbis_dec_push_forward), (vorbis_dec_flush_decode): Use the new buffer clipping function from gstaudio here. 2007-07-23 Sebastian Dröge * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/audio/audio.c: (gst_audio_buffer_clip): * gst-libs/gst/audio/audio.h: * tests/check/libs/audio.c: (GST_START_TEST), (audio_suite): API: Add buffer clipping function for raw audio buffers. Fixes #456656. Also add deprecation guards for gst_audio_structure_set_int() to the header. 2007-07-23 Stefan Kost * docs/libs/gst-plugins-base-libs-sections.txt: Cleanup the docs. 2007-07-23 Wim Taymans Patch by: Dan Williams * gst/playback/gstplaybasebin.c: (gst_play_base_bin_get_streaminfo_value_array): Don't return NULL when querying the stream info value array but instead return an empty array. Fixes #459204. 2007-07-23 Tim-Philipp Müller * gst/playback/gsturidecodebin.c: Init debug category before using it. 2007-07-21 Jan Schmidt * gst-libs/gst/interfaces/mixer.h: Add padding vars in place of the signal pointers when building with DISABLE_DEPRECATED so that the interface structure doesn't change size. 2007-07-20 Jan Schmidt * docs/libs/gst-plugins-base-libs-sections.txt: * ext/alsa/gstalsamixer.c: * ext/alsa/gstalsamixer.h: * ext/alsa/gstalsamixerelement.c: * ext/alsa/gstalsamixertrack.c: * gst-libs/gst/interfaces/mixer.c: * gst-libs/gst/interfaces/mixer.h: * gst-libs/gst/interfaces/mixeroptions.c: * gst-libs/gst/interfaces/mixeroptions.h: * gst-libs/gst/interfaces/mixertrack.c: * gst-libs/gst/interfaces/mixertrack.h: * tests/check/Makefile.am: * tests/check/libs/mixer.c: Patch By: Marc-Andre Lureau Fixes: #152864 Add support for notifying mixer changes on the message bus, and implement it in alsamixer. API: gst_mixer_get_mixer_flags API: gst_mixer_message_parse_mute_toggled API: gst_mixer_message_parse_record_toggled API: gst_mixer_message_parse_volume_changed API: gst_mixer_message_parse_option_changed API: GstMixerMessageType API: GstMixerFlags 2007-07-20 Michael Smith * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new), (gst_xvimagesink_get_xv_support), (gst_xvimagesink_setcaps): xcontext->im_format is only for testing XShm support (as the header file comments document). Use xvimage->im_format for everything else. Avoids spurious warnings on buffer allocation before setcaps. 2007-07-20 Stefan Kost * tests/examples/volume/Makefile.am: * tests/icles/Makefile.am: We should use $(LIBM). 2007-07-20 Stefan Kost * tests/icles/Makefile.am: This needs -lm. 2007-07-16 Wim Taymans * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_class_init), (gst_basertppayload_init), (gst_basertppayload_set_property), (gst_basertppayload_get_property): Don't break ABI, restore previous ranges. Keep the default random selection of timestamp and seqnum offset but as soon as the app sets a specific value, use that one. 2007-07-14 Wim Taymans Patch by: Bastien Nocera * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support), (gst_xvimagesink_set_property), (gst_xvimagesink_get_property), (gst_xvimagesink_init), (gst_xvimagesink_class_init): * sys/xvimage/xvimagesink.h: Add option to turn off double-buffering for debugging purposes. Fixes #437169. 2007-07-14 Wim Taymans Patch by: Jorn Baayen * sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents), (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_handle_xevents), (gst_xvimagesink_set_property), (gst_xvimagesink_get_property), (gst_xvimagesink_init), (gst_xvimagesink_class_init): * sys/xvimage/xvimagesink.h: add 'handle-expose' property. Useful for video widgets which may want to be in control of Expose behaviour. Fixes #380625 2007-07-14 Wim Taymans * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_class_init), (gst_basertppayload_init), (gst_basertppayload_event), (gst_basertppayload_push), (gst_basertppayload_set_property), (gst_basertppayload_get_property), (gst_basertppayload_change_state): * gst-libs/gst/rtp/gstbasertppayload.h: Fix ranges of rtp payloader properties so that the full range can be used in addition to -1 (random). Fix wrong seqnum reporting in caps. Fixes #420326. 2007-07-13 Wim Taymans * gst/videorate/gstvideorate.c: (gst_video_rate_init), (gst_video_rate_query): Use boilerplate. Add latency query, might not be perfect yet but already works a lot better. Fixes #442557. 2007-07-13 Jan Schmidt * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_put), (gst_xvimagesink_setcaps): * sys/xvimage/xvimagesink.h: After a caps change, redraw our borders to avoid garbage left there when the image format changes to a smaller size, like 16:9 -> 4:3 Also, hold the flow_lock a bit longer in the set_caps while we're fiddling with the xcontext. 2007-07-13 Jan Schmidt * Makefile.am: * configure.ac: * tests/Makefile.am: Remove bogus check for libcheck, since we check for gstreamer-check and it pulls in the required info from there, and we weren't actually _using_ the information for libcheck ourselves anyway. 2007-07-13 Jan Schmidt * gst/ffmpegcolorspace/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_pixfmt): Fix the r_mask test for RGBA32 on little-endian. Fix a stupid typo that would have obviously broken compilation on big-endian, if anyone was testing. 2007-07-12 Wim Taymans * gst/videotestsrc/videotestsrc.c: (paint_hline_AYUV), (paint_hline_str4): * gst/videotestsrc/videotestsrc.h: Add alpha to the color struct. Use a default alpha value of 255 instead of 128. 2007-07-12 Wim Taymans * gst/playback/gstplaybasebin.c: (no_more_pads_full), (setup_source): Clear the dynamic pads counter when starting a new uri. This makes reusing playbin work again. Fixes #454264. 2007-07-12 Stefan Kost * configure.ac: Use pkg-config to locate check. 2007-07-12 Tim-Philipp Müller * configure.ac: * tests/check/elements/volume.c: (GST_START_TEST): Fix 'make check' build against core CVS. 2007-07-10 Stefan Kost * gst-libs/gst/interfaces/propertyprobe.c: * gst-libs/gst/rtp/gstbasertpaudiopayload.c: * gst-libs/gst/tag/gstvorbistag.c: Make gtk-doc happy. 2007-07-08 Tim-Philipp Müller * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_callback): Quick hack to make audiosinks stop at EOS when operating in pull-mode; needs to be fixed properly some day. 2007-07-06 Stefan Kost * docs/libs/gst-plugins-base-libs-sections.txt: Fix location of includes in the docs. 2007-07-06 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 pixel formats - ABGR32 and ARGB32, which are reflections of the existing BGRA32 and RGBA32 formats with the alpha at the other end of the word. Partially fixes #451908 2007-07-05 Stefan Kost * docs/libs/Makefile.am: * docs/plugins/Makefile.am: Simplify --extra-dir as gtkdoc scans recursively. 2007-07-03 Wim Taymans * gst/adder/gstadder.c: (gst_adder_sink_getcaps), (gst_adder_request_new_pad): Make getcaps more robust by not using the proxycaps function. This makes sure that we don't end up recursively calling getcaps upstream. See #316248. 2007-06-29 Wim Taymans * gst/audioconvert/audioconvert.c: Include math.h to fix compilation. 2007-06-29 Jan Schmidt * gst/ffmpegcolorspace/gstffmpegcodecmap.c: (gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_to_pixfmt): Add a mapping for YUV format "IYU1", which is a 4:1:1 packed pixel format, as produced by some dc1394 cameras like the iSight. See http://www.fourcc.org/yuv.php#IYU1 2007-06-28 Sebastian Dröge * gst/audioconvert/Makefile.am: * gst/audioconvert/audioconvert.c: (audio_convert_get_func_index), (check_default), (audio_convert_prepare_context), (audio_convert_clean_context), (audio_convert_convert): * gst/audioconvert/audioconvert.h: * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_dithering_get_type), (gst_audio_convert_ns_get_type), (gst_audio_convert_class_init), (gst_audio_convert_init), (gst_audio_convert_set_caps), (gst_audio_convert_set_property), (gst_audio_convert_get_property): * gst/audioconvert/gstaudioconvert.h: * gst/audioconvert/gstaudioquantize.c: (gst_audio_quantize_setup_noise_shaping), (gst_audio_quantize_free_noise_shaping), (gst_audio_quantize_setup_dither), (gst_audio_quantize_free_dither), (gst_audio_quantize_setup_quantize_func), (gst_audio_quantize_setup), (gst_audio_quantize_free): * gst/audioconvert/gstaudioquantize.h: Implement dithering and noise shaping in audioconvert. By default now TPDF dithering (and no noise shaping) will be used when converting from a higher bit depth to 20 bit depth or smaller, otherwise everything will be as it is now. For the last audioconvert in a pipeline it would make sense to use some kind of noise shaping, enabling it by default for all conversions would give undesired results though. Fixes #360246. * tests/check/elements/audioconvert.c: (setup_audioconvert), (GST_START_TEST): Adjust unit test for the new audioconvert. 2007-06-28 Wim Taymans * gst/playback/gstqueue2.c: (apply_segment), (update_buffering): Use other metrics as well when estimating the buffer level. 2007-06-28 Wim Taymans * gst/playback/gstplaybasebin.c: (make_decoder), (setup_source): Small debug improvement. * gst/playback/gstqueue2.c: (apply_segment), (update_buffering), (plugin_init): Tweak the rate estimation period. When calculating the buffer filledness in rate estimation mode, don't mix it with other metrics. 2007-06-28 Wim Taymans * gst/playback/gstdecodebin2.c: (gst_decode_group_new), (gst_decode_group_expose), (gst_decode_group_free), (add_fakesink): When creating the groups, allow for a 5 second, unlimited buffers preroll phase after which we expose the group. When the group is exposed, use a small number of buffers up to a 2 second limit. Also disconnect the overrun signal from multiqueue when we exposed the group because it is not needed anymore. 2007-06-27 Tim-Philipp Müller * gst-libs/gst/tag/tags.c: (gst_tag_freeform_string_to_utf8): Don't pass trailing zeroes in fixed-size string arrays in ID3v1 tags to utf8-validate; fixes recognition of ID3v1 tags in UTF-8 encoding (#451707); also, output some debugging info when dealing with freeform strings. * tests/check/libs/tag.c: (GST_START_TEST), (tag_suite): Add unit test for the above. 2007-06-27 Tim-Philipp Müller * gst-libs/gst/pbutils/descriptions.c: (caps_are_rtp_caps): Add description for Windows Media RTP caps. * gst-libs/gst/pbutils/missing-plugins.c: (copy_and_clean_caps): Remove RTP fields that don't define the format from caps. 2007-06-27 Tim-Philipp Müller * ext/vorbis/vorbisdec.c: (vorbis_dec_decode_buffer): Skip empty buffers, but not empty header buffers. That way the original vorbisdec unit test still passes (#451145); also, take into account that those empty packets might carry a granulepos. * tests/check/Makefile.am: * tests/check/elements/vorbisdec.c: (_create_codebook_header_buffer), (_create_audio_buffer), (GST_START_TEST), (vorbisdec_suite): Add unit test that sends an empty packet. 2007-06-27 Wim Taymans * ext/vorbis/vorbisdec.c: (vorbis_dec_decode_buffer): Don't error out on 0-sized packets, just emit a warning because this is not a fatal error. Fixes #451145. 2007-06-25 Stefan Kost * docs/plugins/gst-plugins-base-plugins.args: * docs/plugins/gst-plugins-base-plugins.signals: * 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-decodebin2.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: Update docs with caps info. 2007-06-25 Tim-Philipp Müller * po/POTFILES.in: Add more files with translatable strings (#450875). 2007-06-23 Edward Hervey * ext/ogg/gstoggdemux.c: (gst_ogg_demux_find_chains): The chain should be freed if we error out here, else it will leak. * gst/playback/gstdecodebin.c: (disconnect_unlinked_signals), (cleanup_decodebin): Don't forget to *properly* remove the signals, else it will leak. 2007-06-22 Jan Schmidt * MAINTAINERS: Updating all the maintainers files 2007-06-21 Stefan Kost * tests/examples/seek/seek.c: (update_scale), (play_cb), (stop_cb), (main): Destroy and recreate parse-launch based pipeline after stop to be able to play again. Reorder some code and add more comments. 2007-06-20 Jan Schmidt * gst/playback/gstdecodebin2.c: (analyze_new_pad): When handling a delayed-caps notification case, mark the group as dynamic so that the nbdynamic count is incremented and decremented correctly. Fixes: #449156 Patch by: Wim Taymans 2007-06-19 Andy Wingo * gst-libs/gst/audio/gstbaseaudiosink.c (gst_base_audio_sink_init): Enable pull-mode operation. 2007-06-19 Michael Smith * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps): Change minimum rate back to 1000 to allow low-sample-rate wav files to play back. 2007-06-17 Thomas Vander Stichele * po/vi.po: Update translations. 2007-06-15 David Schleef * gst/playback/gstqueue2.c: Fix compile error from ignored return value. 2007-06-15 Michael Smith * gst/videoscale/vs_4tap.c: (vs_image_scale_4tap_Y): Update tmpbuf for all neccesary rows, not just one, as is required when downscaling. Fixes #402076. 2007-06-15 Michael Smith * tests/check/pipelines/oggmux.c: (validate_ogg_page), (is_video), (eos_buffer_probe): Add a test that ensures we set DELTA_UNIT on all non-header, non-video buffers, if we have a video stream. * ext/ogg/gstoggmux.c: (gst_ogg_mux_queue_pads), (gst_ogg_mux_process_best_pad): Move setting delta_pad to earlier, where we inspect all pads, so that leading audio pages don't get DELTA_UNIT unset if they come before the first DELTA_UNIT from video pages. Fixes the newly-added test. Fixes #385527. 2007-06-14 Tim-Philipp Müller * tests/check/pipelines/streamheader.c: (streamheader_suite): Disable test_multifdsink_gdp_vorbisenc() on ppc64 since it fails on the p5-ppc64 build bot and the failure looks like it is due to the same issue as #348114, ie. a compiler bug. 2007-06-13 Edward Hervey * gst/playback/gstqueue2.c: (gst_queue_create_read): Fix build on MacOSX. 2007-06-13 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet), (gst_ogg_demux_perform_seek), (gst_ogg_demux_read_chain): Fix compilation on mingw. Fixes #446972. 2007-06-12 Wim Taymans Patches by: Thiago Sousa Santos * gst/playback/gstqueue2.c: (update_buffering), (gst_queue_locked_enqueue): Fix a division by zero when the max percent is <= 0. Fixes #446572. also update the buffering status when receiving events. Fixes #446551. 2007-06-11 Wim Taymans Based on patch by: Thiago Sousa Santos * gst/playback/gstqueue2.c: (gst_queue_peer_query), (gst_queue_handle_src_query): Wait for preroll before attempting to forward a duration query upstream. Fixes #445505. 2007-06-07 Sebastien Moutte * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_set_gst_timestamp): Use G_GINT64_CONSTANT macro for int64 constant. * win32/common/libgstinterfaces.def: * win32/common/libgsttag.def: Add new exported functions. 2007-06-07 Tim-Philipp Müller * ext/ogg/gstoggmux.c: (gst_ogg_mux_send_headers): The BOS page of the first Dirac video stream needs to come before the BOS page of any Vorbis streams or other audio streams, just like it is with Theora. 2007-06-07 Wim Taymans * gst/playback/gstqueue2.c: (gst_queue_get_range): Fix compilation. 2007-06-06 Wim Taymans Patch by: Thiago Sousa Santos * gst/playback/gstqueue2.c: (gst_queue_init), (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_get_range), (gst_queue_src_checkgetrange_function), (gst_queue_sink_activate_push), (gst_queue_src_activate_push), (gst_queue_src_activate_pull): Add pull based scheduling and fix some deadlocks. Fixes #444523. Does not yet completely work because duration queries upstream won't block yet. 2007-06-06 Wim Taymans * configure.ac: * gst/playback/gstqueue2.c: (gst_queue_create_read): Some more fseeko checks. 2007-06-06 Wim Taymans * configure.ac: check for large file support. 2007-06-05 Sebastian Dröge Based on a patch by Sven Arvidsson : * gst/subparse/gstsubparse.c: (parse_subrip), (subviewer_unescape_newlines), (parse_subviewer), (gst_sub_parse_data_format_autodetect), (gst_sub_parse_format_autodetect), (gst_subparse_type_find): * gst/subparse/gstsubparse.h: Add support for SubViewer version 1 and 2 subtitles. Fixes #394061. * tests/check/elements/subparse.c: (GST_START_TEST), (subparse_suite): Add a unit test for both SubViewer formats. 2007-06-01 Michael Smith * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audio_test_src_do_seek): Don't overflow intermediate values when seeking to large time values in audiotestsrc. 2007-06-05 Wim Taymans * gst/playback/gstqueue2.c: (gst_queue_have_data), (gst_queue_create_read), (gst_queue_read_item_from_file), (gst_queue_open_temp_location_file), (gst_queue_locked_enqueue): Include stdio to define fseeko. 2007-06-05 Wim Taymans Patch by: Edward Hervey * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_init), (gst_v4lsrc_fixate), (gst_v4lsrc_query): Make v4lsrc output segments in GST_FORMAT_TIME. Fixes #442553. 2007-06-05 Tim-Philipp Müller * gst-libs/gst/riff/Makefile.am: * gst-libs/gst/riff/riff-read.c: (gst_riff_parse_info): Use gst_tag_utf8_from_freeform_string() from libgsttag instead of our own implementation. 2007-06-05 Wim Taymans * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_setcaps), (gst_base_rtp_depayload_set_gst_timestamp), (gst_base_rtp_depayload_change_state): Handle timestamp wraparound. 2007-06-05 Wim Taymans * gst/playback/gsturidecodebin.c: (no_more_pads_full), (new_decoded_pad), (remove_pads), (make_decoder), (setup_source), (gst_uri_decode_bin_change_state): Make sure we name srcpads uniquely even when using different internal decodebins. Signal no-more-pads when no more dynamic elements exist. Remove pads on cleanup. 2007-06-05 Wim Taymans Based on patch by: Thiago Sousa Santos * gst/playback/gstqueue2.c: (gst_queue_class_init), (gst_queue_init), (gst_queue_finalize), (gst_queue_write_buffer_to_file), (gst_queue_have_data), (gst_queue_create_read), (gst_queue_read_item_from_file), (gst_queue_open_temp_location_file), (gst_queue_close_temp_location_file), (gst_queue_locked_flush), (gst_queue_locked_enqueue), (gst_queue_locked_dequeue), (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_change_state), (gst_queue_set_temp_location), (gst_queue_set_property): Add support for filebased buffering. Fixes #441264. 2007-06-05 Wim Taymans * gst/playback/gstdecodebin2.c: (gst_decode_bin_factory_filter), (analyze_new_pad), (connect_pad), (expose_pad), (caps_notify_cb), (caps_notify_group_cb), (gst_decode_group_new), (gst_decode_group_free): Add support for delayed caps fixation when autoplugging. Optimize cases where a multiqueue is not needed/wanted, like right after anything that is not a demuxer. 2007-06-05 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_parse_skeleton_fisbone), (gst_ogg_pad_submit_packet), (gst_ogg_demux_perform_seek), (gst_ogg_demux_read_chain), (gst_ogg_demux_collect_chain_info): consideratly speedup ogg chain detection by not trying to find a base timestamp for skeleton streams. 2007-06-05 Wim Taymans * gst/tcp/gstmultifdsink.c: (gst_client_status_get_type), (gst_multi_fd_sink_class_init), (gst_multi_fd_sink_add_full), (gst_multi_fd_sink_remove_flush), (gst_multi_fd_sink_remove_client_link), (gst_multi_fd_sink_handle_client_write), (gst_multi_fd_sink_handle_clients): * gst/tcp/gstmultifdsink.h: Add support for remove_flush. 2007-06-05 Wim Taymans * docs/design/draft-keyframe-force.txt: * ext/theora/theoraenc.c: (theora_enc_sink_event), (theora_enc_chain): Add draft design for forcing keyframes in encoders and implement in theoraenc. 2007-06-05 Jan Schmidt * configure.ac: Back to CVS === 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 Patch by: Young-Ho Cha * 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): 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 * 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 Torra 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. === release 0.10.7 === 2006-05-14 Jan Schmidt * configure.ac: releasing 0.10.7, "Leave the gun" 2006-05-13 Jan Schmidt * gst/videoscale/gstvideoscale.c: (gst_video_scale_fixate_caps): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_setcaps): Fix the build. 2006-05-12 Jan Schmidt * docs/libs/gst-plugins-base-libs-docs.sgml: * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/video/video.c: (gst_video_calculate_display_ratio): * gst-libs/gst/video/video.h: * gst/videoscale/Makefile.am: * gst/videoscale/gstvideoscale.c: (gst_video_scale_fixate_caps): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_setcaps): * tests/check/Makefile.am: * tests/check/libs/video.c: (GST_START_TEST), (video_suite), (main): Fix integer overflow problem with pixel-aspect-ratio calculations in videoscale and xvimagesink (#341542) 2006-05-12 Tim-Philipp Müller * gst-libs/gst/tag/gstid3tag.c: Map GST_IMAGE_TAG to and from ID2v2 APIC frames (#341557). 2006-05-12 Sebastien Moutte * win32/MANIFEST: update win32 files listing 2006-05-11 Thomas Vander Stichele patch by: Sjoerd Simons (sjoerd@luon.net) * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init), (group_create), (group_destroy), (add_stream), (gst_play_base_bin_get_property), (gst_play_base_bin_get_streaminfo_value_array): * gst/playback/gstplaybasebin.h: API: GstPlayBaseBin::stream-info-value-array property use a more bindings-friendly way of exposing streaminfo using a GValueArray. Tested in ipython. Closes #341114 2006-05-11 Wim Taymans * gst/playback/gstdecodebin.c: (try_to_link_1), (queue_enlarge), (queue_underrun_cb), (queue_filled_cb): Also catch queue underruns but don't do anything yet. Refactor and comment queue enlarging code a bit. * gst/playback/gstplaybasebin.c: (queue_overrun), (queue_threshold_reached), (queue_out_of_data), (gen_preroll_element): If a queue over/underruns check that we don't create nasty deadlocks when the min-threshold is not reached but the max-bytes is. In those cases disable max-bytes when we know that the queue is fed timed data. Add more comments. 2006-05-11 Tim-Philipp Müller * gst/playback/gstplaybin.c: (gen_audio_element): Make playbin automatically plug an 'audioresample' element before the audio sink as well. This solves problems with sinks that only accept a very specific sample rate, like esdsink (e.g. #340379). 2006-05-11 Tim-Philipp Müller * gst/playback/gstplaybasebin.c: (gen_source_element): Make http sources send special headers so that we receive icecast metadata if the http stream is an icecast stream (otherwise the server will just ignore them). This also means that from now on users will need the 'icydemux' element from gst-plugins-good installed if they want to listen to icecast radio streams. (#341432, #333657). 2006-05-11 Thomas Vander Stichele * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_remove_client_link), (gst_multi_fd_sink_new_client), (gst_multi_fd_sink_stop): remove stupid example from docs - it should come with a simple C program instead. Clean up/fix docs * tests/check/elements/multifdsink.c: (wait_bytes_served), (fail_if_can_read), (GST_START_TEST), (gst_multifdsink_create_streamheader), (multifdsink_suite): add a test for changing streamheader which exposes a bug in multifdsink 2006-05-11 Michael Smith * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_init), (gst_gnome_vfs_src_received_headers_callback): * ext/gnomevfs/gstgnomevfssrc.h: Don't set icy-caps unless we have a sane interval value. Move interval to a local variable; we never use it outside this function. 2006-05-11 Wim Taymans * sys/ximage/ximagesink.c: (gst_ximagesink_get_type): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_type): Register special buffer types along with the objects so that they are not registered at runtime from N different streaming threads since they are not threadsafe. 2006-05-10 Thomas Vander Stichele * tests/check/elements/multifdsink.c: (wait_bytes_served), (GST_START_TEST), (fail_unless_read), (multifdsink_suite): add two more tests, one doing streamheader 2006-05-10 Thomas Vander Stichele * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_stop): clean up the bufqueue when shutting down * tests/check/Makefile.am: * tests/check/elements/multifdsink.c: (setup_multifdsink), (cleanup_multifdsink), (GST_START_TEST), (multifdsink_suite), (main): add a test for the leak that was just fixed 2006-05-10 Wim Taymans * gst/adder/gstadder.c: (gst_adder_setcaps), (gst_adder_query_duration), (gst_adder_query), (forward_event), (gst_adder_src_event), (gst_adder_sink_event), (gst_adder_class_init), (gst_adder_finalize), (gst_adder_request_new_pad), (gst_adder_collected): * gst/adder/gstadder.h: Updated some docs. Added comments and FIXMEs all over the place. Improve debugging info. Fix leak on finalize by not calling the parent. Implement duration query. Make event forwarding threadsafe. Correctly send NEWSEGMENT at start and after flush. Handle EOS correctly. Post error when not negotiated. * tests/check/elements/adder.c: (GST_START_TEST): Added FIXME in the test. 2006-05-09 Tim-Philipp Müller * ext/pango/gsttextoverlay.c: (gst_text_overlay_valign_get_type), (gst_text_overlay_halign_get_type), (gst_text_overlay_wrap_mode_get_type): * ext/theora/theoradec.c: (theora_handle_type_packet), (theora_handle_data_packet): * ext/theora/theoraenc.c: (gst_border_mode_get_type), (theora_enc_sink_setcaps), (theora_enc_chain): * gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_mode_get_type): * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audiostestsrc_wave_get_type): * gst/playback/gststreaminfo.c: (gst_stream_type_get_type): * gst/tcp/gstfdset.c: (gst_fdset_mode_get_type): * gst/tcp/gstmultifdsink.c: (gst_recover_policy_get_type), (gst_sync_method_get_type), (gst_unit_type_get_type), (gst_client_status_get_type): * gst/videoscale/gstvideoscale.c: (gst_video_scale_method_get_type): * gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_pattern_get_type): * gst/videotestsrc/videotestsrc.c: (paint_setup_I420), (paint_setup_YV12), (paint_setup_YUY2), (paint_setup_UYVY), (paint_setup_YVYU), (paint_setup_IYU2), (paint_setup_Y41B), (paint_setup_Y42B), (paint_setup_Y800), (paint_setup_YVU9), (paint_setup_YUV9), (paint_setup_RGB888), (paint_setup_BGR888), (paint_setup_RGB565), (paint_setup_xRGB1555): Const-ify GEnumValue and GFlagsValue arrays. Use GST_ROUND_UP_* macros instead of home-made ones. 2006-05-09 Tim-Philipp Müller * configure.ac: Require core CVS for the new newsegment stuff. 2006-05-09 Tim-Philipp Müller Patch by: Sjoerd Simons * gst/tcp/gstmultifdsink.c: (gst_client_status_get_type): Register nick for enum value (#341160). 2006-05-09 Stefan Kost * gst/typefind/gsttypefindfunctions.c: (m4a_type_find), (plugin_init): backout typefind patch #340375 * tests/check/elements/adder.c: (message_received), (GST_START_TEST), (adder_suite): redo, signal-handling of test 2006-05-09 Wim Taymans * gst/adder/gstadder.c: (gst_adder_request_new_pad), (gst_adder_collected): * gst/adder/gstadder.h: Remove bogus segment merging and forwarding, we don't care about timestamps anyway and we just produce a continuous stream. Also create a nice NEWSEGMENT event when we start. Use _scale_int some more. 2006-05-09 Edward Hervey * tests/icles/stress-xoverlay.c: Fix if core was built without parsing support. 2006-05-09 Tim-Philipp Müller * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps): Add SEDG (Samsung MPEG-4) fourcc. 2006-05-09 Edward Hervey * tests/icles/stress-xoverlay.c: * tests/examples/volume/volume.c: Fix if core was built without parsing support. * tests/examples/seek/seek.c: Disable the parse_launch example if core was built without parsing support. 2006-05-08 Edward Hervey * autogen.sh: (CONFIGURE_DEF_OPT): libtoolize on Darwin/MacOSX is called glibtoolize 2006-05-07 Stefan Kost * tests/check/Makefile.am: * tests/check/elements/adder.c: (event_loop), (GST_START_TEST): Disable the adder test, until the build-slaves posses the kindness to either like it or to give valid reason for not doing so 2006-05-07 Stefan Kost * tests/check/elements/adder.c: (event_loop), (GST_START_TEST), (adder_suite): Shuffle NULL state change around and raise timeout more 2006-05-07 Stefan Kost * gst/typefind/gsttypefindfunctions.c: (mp4_find_box), (mp4_type_find), (plugin_init): Add typefind to distinguish between "audio/x-m4a" and new type "video/mp4". Fixes #340375 * tests/check/elements/adder.c: (adder_suite): Raise timeout to make buildbot happy 2006-05-07 Stefan Kost * gst/adder/gstadder.c: (gst_adder_sink_event), (gst_adder_request_new_pad), (gst_adder_change_state): * gst/adder/gstadder.h: * tests/check/Makefile.am: * tests/check/elements/adder.c: (event_loop), (GST_START_TEST), (adder_suite), (main): Add sink-event handling to adder. It tries to merge incomming newsegment-events. Added test to check if segment_done is comming through. Fixes #340060 2006-05-05 Andy Wingo * ext/theora/theoraparse.c (gst_theora_parse_init) (theora_parse_src_convert, theora_parse_src_query): * ext/vorbis/vorbisparse.c (gst_vorbis_parse_init) (vorbis_parse_convert, vorbis_parse_src_query): Add convert and query functions on the source pads of the theora and vorbis parse elements. Fixes position querying when doing a remux. 2006-05-05 Michael Smith * ext/theora/theoraparse.c: (parse_granulepos), (theora_parse_drain_queue_prematurely), (theora_parse_queue_buffer), (theora_parse_sink_event): Fix flushing. Fix invalid granulepos outputs when starting with a non-keyframe. 2006-05-05 Jan Schmidt * gst/typefind/gsttypefindfunctions.c: (mpeg2_sys_type_find), (mpeg1_sys_type_find), (ogganx_type_find), (sw_data_destroy): Rearrange MPEG system stream detection, fixing some memleaks in the process. Constify the data for STARTS_WITH and RIFF helper handlers. Make sure they clean up their data correctly. Remove unused ogganx caps and move the 'is_annodex' check to inside the 'is_ogg' if statement. 2006-05-05 Wim Taymans * gst/playback/gstdecodebin.c: (cleanup_decodebin): Properly remove ghostpads. Fixes #340392 2006-05-04 David Schleef * gst/typefind/gsttypefindfunctions.c: 2006-05-03 Jan Schmidt * gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset), (mpeg_ts_probe_headers), (mpeg_ts_type_find): When typefinding an MP3 in push-based mode, don't penalise the probability down to 74% when we found 5 valid frames just because we can't peek the end of the file. Make the probability for detecting MPEG Transport Streams based on the number of sequential headers we successfully detected. 2006-05-03 Wim Taymans * ext/vorbis/vorbisdec.c: (vorbis_dec_sink_event), (vorbis_dec_push), (vorbis_dec_chain): Still produce an error when we receive an empty packet. 2006-05-03 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain_peer), (gst_ogg_chain_mark_discont), (gst_ogg_chain_new_stream), (gst_ogg_demux_activate_chain), (gst_ogg_demux_perform_seek): Mark buffers with DISCONT after seek and after activating new chains. * ext/theora/gsttheoradec.h: * ext/theora/theoradec.c: (gst_theora_dec_reset), (theora_get_query_types), (theora_dec_sink_event), (theora_dec_push), (theora_handle_data_packet), (theora_dec_chain), (theora_dec_change_state): Fix frame counter. Detect and mark DISCONT buffers. * ext/vorbis/vorbisdec.c: (vorbis_dec_src_query), (vorbis_dec_sink_event), (vorbis_dec_push), (vorbis_dec_chain), (vorbis_dec_change_state): * ext/vorbis/vorbisdec.h: Use GstSegment. Detect and mark DISCONT buffers. Don't crash on 0 sized buffers. 2006-05-03 Wim Taymans * gst/volume/gstvolume.c: (volume_funcfind), (volume_set_caps), (volume_transform_ip): Increase "volume" property to 10.0. Fixes #340369. Set the process function to NULL when capsnego fails so that we properly error out. 2006-05-02 Stefan Kost * gst/playback/gstplaybin.c: (add_sink): * gst/playback/test.c: (main): * gst/playback/test5.c: (dump_element_stats): * gst/playback/test6.c: (main): free caps using gst_caps_unref, don't leak caps-strings 2006-05-01 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (musepack_type_find), (plugin_init): Refine musepack typefinding a bit. Return MAXIMUM probability when we detect stream version 7 to make sure the mpeg audio typefinder doesn't trump us. 2006-04-29 Tim-Philipp Müller * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps): Protect against unexpected NULL strf_data buffer. 2006-04-29 Thomas Vander Stichele * tests/check/elements/audioconvert.c: (verify_convert), (GST_START_TEST): interpret the out[] buffer in the order the bytes are actually put in, which is LITTLE_ENDIAN, not BYTE_ORDER. Other tests should use BYTE_ORDER since the array is filled in with actual values 2006-04-29 Thomas Vander Stichele * tests/check/elements/audioconvert.c: (verify_convert), (GST_START_TEST): when a test fails, give an indication of which it is 2006-04-29 Thomas Vander Stichele * gst-libs/gst/cdda/gstcddabasesrc.c: compile fix; strtol() needs 2006-04-28 Stefan Kost * ext/alsa/gstalsamixerelement.c: * ext/alsa/gstalsasrc.c: * ext/cdparanoia/gstcdparanoiasrc.c: * ext/gnomevfs/gstgnomevfssink.c: * ext/gnomevfs/gstgnomevfssrc.c: * ext/ogg/gstoggdemux.c: * ext/ogg/gstoggmux.c: * ext/ogg/gstoggparse.c: * ext/ogg/gstogmparse.c: * ext/pango/gstclockoverlay.c: * ext/pango/gsttextoverlay.c: * ext/pango/gsttextrender.c: * ext/pango/gsttimeoverlay.c: * ext/theora/theoradec.c: * ext/theora/theoraenc.c: * ext/vorbis/vorbisdec.c: * ext/vorbis/vorbisenc.c: * gst-libs/gst/audio/gstaudiofilter.c: * gst-libs/gst/audio/gstaudiofiltertemplate.c: * gst/audioconvert/gstaudioconvert.c: * gst/audiorate/gstaudiorate.c: * gst/audioresample/gstaudioresample.c: * gst/audiotestsrc/gstaudiotestsrc.c: * gst/ffmpegcolorspace/gstffmpegcolorspace.c: * gst/playback/gstdecodebin.c: * gst/playback/gstplaybin.c: * gst/playback/gststreamselector.c: * gst/subparse/gstsubparse.c: * gst/tcp/gstmultifdsink.c: * gst/tcp/gsttcpclientsink.c: * gst/tcp/gsttcpclientsrc.c: * gst/tcp/gsttcpserversink.c: * gst/tcp/gsttcpserversrc.c: * gst/typefind/gsttypefindfunctions.c: (plugin_init): * gst/videorate/gstvideorate.c: * gst/videoscale/gstvideoscale.c: * gst/videotestsrc/gstvideotestsrc.c: * gst/volume/gstvolume.c: * sys/v4l/gstv4ljpegsrc.c: * sys/v4l/gstv4lmjpegsink.c: * sys/v4l/gstv4lmjpegsrc.c: * sys/v4l/gstv4lsrc.c: * sys/ximage/ximagesink.c: * sys/xvimage/xvimagesink.c: * tests/check/libs/cddabasesrc.c: make GstElementDetails const 2006-04-28 Stefan Kost * gst/adder/gstadder.c: (gst_adder_setcaps), (gst_adder_src_event), (gst_adder_init): send events from src-pad to all sink-pads fixes #338657 2006-04-28 Stefan Kost * ext/alsa/gstalsasink.c: (gst_alsasink_getcaps), (alsasink_parse_spec): query width capabilities from alsa, fixes #338919 2006-04-28 Wim Taymans * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init), (gst_multi_fd_sink_remove_client_link): * gst/tcp/gstmultifdsink.h: Fix race condition in multifdsink that can lead to spurious duplicate clients. this patch adds a new signal that is fired when multifdsink has removed all references to the fd. Fixes #339574. Updated documentation. API: client-fd-removed signal added 2006-04-28 Michael Smith * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_get_stats): When asking g_value_array_new to prealloc elements, we may as well ask for the right number of elements. 2006-04-28 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_drain), (gst_base_audio_sink_event), (gst_base_audio_sink_render), (gst_base_audio_sink_change_state): patch to make timestamp checking more tollerant to rounding errors given that real discontinuities are to be marked on buffers. Fixes some asf files and #338778. Also avoid some crashers when we receive an event in the NULL state. 2006-04-28 Michael Smith * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_class_init), (gst_gnome_vfs_src_init), (gst_gnome_vfs_src_finalize), (gst_gnome_vfs_src_get_property), (gst_gnome_vfs_src_send_additional_headers_callback), (gst_gnome_vfs_src_received_headers_callback), (gst_gnome_vfs_src_create), (gst_gnome_vfs_src_start), (gst_gnome_vfs_src_stop): * ext/gnomevfs/gstgnomevfssrc.h: Remove ICY handling (mostly) from gnomevfssrc, in favour of proper shared support within icydemux. 2006-04-28 Thomas Vander Stichele * gst/videorate/gstvideorate.c: (gst_video_rate_reset), (gst_video_rate_swap_prev), (gst_video_rate_chain): fix up docs fix a leak when no caps negotiated fix counting of input frames * tests/check/elements/.cvsignore: * tests/check/elements/videorate.c: (assert_videorate_stats), (GST_START_TEST), (videorate_suite): add tests for these 2006-04-28 Wim Taymans * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_set_callback), (gst_ring_buffer_acquire), (gst_ring_buffer_release), (gst_ring_buffer_is_acquired), (gst_ring_buffer_set_flushing), (gst_ring_buffer_start), (gst_ring_buffer_pause), (gst_ring_buffer_stop), (gst_ring_buffer_delay), (gst_ring_buffer_samples_done), (gst_ring_buffer_set_sample), (gst_ring_buffer_clear_all), (gst_ring_buffer_commit), (gst_ring_buffer_read), (gst_ring_buffer_prepare_read), (gst_ring_buffer_advance), (gst_ring_buffer_clear), (gst_ring_buffer_may_start): Check arguments passed to public functions instead of crashing. 2006-04-28 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_init), (gst_base_audio_src_get_time), (gst_base_audio_src_create): GstBaseAudioSrc must be live or it does not work. * gst-libs/gst/audio/gstaudiosrc.c: (gst_audio_src_init): Don't set live to TRUE as this is the default in the parentclass. 2006-04-28 Wim Taymans * gst/videoscale/gstvideoscale.c: (gst_video_scale_transform_caps), (gst_video_scale_fixate_caps), (gst_video_scale_src_event): Videoscale doesn't pass on pixel-aspect ratio. Handle all fixation cases better. Fixes #338991 2006-04-28 Wim Taymans * gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_create): Handle 0/1 framerate correctly Fixes #331901. 2006-04-28 Wim Taymans * tests/check/elements/audioconvert.c: (get_float_caps), (GST_START_TEST), (audioconvert_suite): Added check for correct clipping when doing float samples in audioconvert. 2006-04-28 Wim Taymans * gst/videorate/gstvideorate.c: (gst_video_rate_event), (gst_video_rate_chain): Print more debugging info. 2006-04-28 Wim Taymans * gst/audioresample/gstaudioresample.c: (gst_audioresample_init), (resample_set_state_from_caps): Add support for other formats audioresample can handle such as 32 bits in and float and 64 bits float. Fixes #301759 2006-04-28 Wim Taymans * gst/audioconvert/audioconvert.c: (float): correctly clip float samples > 1.0. Fixes #338718 2006-04-28 Tim-Philipp Müller Patch by: Young-Ho Cha * ext/pango/gsttextoverlay.c: (gst_text_overlay_init), (gst_text_overlay_render_text): Don't strip newlines from the text. Also, center lines within multi-line paragraphs (#339405). 2006-04-28 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (wavpack_type_find): Fix wavpack typefinding to work in more cases (don't peek for chunks of multiple hundred kBs at once, but process things step-by-step in smaller units). Fixes #339786. 2006-04-28 Thomas Vander Stichele * configure.ac: back to HEAD === release 0.10.6 === 2006-04-28 Thomas Vander Stichele * configure.ac: releasing 0.10.6, "Chao" 2006-04-26 David Schleef * gst/videoscale/gstvideoscale.c: Add call to oil_init(). Fixes #338897. 2006-04-26 Thomas Vander Stichele * configure.ac: * win32/common/config.h: new prerelease 2006-04-26 Thomas Vander Stichele patch by: Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet), (gst_ogg_demux_perform_seek): make sure correct newsegments are sent, so that the decoder and the demuxer agree on timestamps. Fixes playback of a lot of Ogg files that do not start from 0. Fixes #339833. 2006-04-26 Thomas Vander Stichele Patch by: Edward Hervey * gst/videorate/gstvideorate.c: (gst_video_rate_chain): * tests/check/Makefile.am: * tests/check/elements/videorate.c: (assert_videorate_stats), (setup_videorate), (cleanup_videorate), (GST_START_TEST), (videorate_suite), (main): Fix an infinite loop if frames are passed in with wrongly ordered timestamps. Fixes #339013. 2006-04-22 Thomas Vander Stichele Patch by: Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (qt_type_find): fix typefinding on some ISO files. Fixes #339212. 2006-04-22 Thomas Vander Stichele Patch by: Tim-Philipp Müller * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps): add another H264 fourcc. Fixes #339047. 2006-04-22 Thomas Vander Stichele Patch by: Jan Schmidt * gst/playback/gststreamselector.c: (gst_stream_selector_bufferalloc): Restore old StreamSelector behaviour. Fixes #338419. 2006-04-12 Thomas Vander Stichele * configure.ac: * win32/common/config.h: prerelease 2006-04-11 Tim-Philipp Müller Patch by: Antoine Tremblay * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_finalize), (gst_base_rtp_depayload_push): Fix some memory leaks: on finalize, free buffers left in the queue before destroying the queue; in _push(), unref rtp_buf even if the process vfunc returned a NULL buffer as output buffer (#337548); demote some recuring debug messages to LOG level. 2006-04-11 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_src_query), (gst_ogg_demux_chain_peer), (gst_ogg_pad_submit_packet), (gst_ogg_chain_free), (gst_ogg_demux_sink_event), (gst_ogg_demux_loop): More cleanups. Respect segment stop when emiting EOS or SEGMENT_DONE. Fixes (#337945). 2006-04-11 Tim-Philipp Müller * gst/playback/gststreamselector.c: (gst_stream_selector_get_property): Don't leak pad name. 2006-04-10 Michael Smith * tests/check/Makefile.am: * tests/check/gst-plugins-base.supp: Suppress an old libtheora bug (fixed in more recent versions), so that FC4 buildslaves can pass. 2006-04-10 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_src_query), (gst_ogg_demux_receive_event), (gst_ogg_pad_event), (gst_ogg_demux_init), (gst_ogg_demux_finalize), (gst_ogg_demux_sink_event), (gst_ogg_demux_get_data), (gst_ogg_demux_loop): Don't leak events. Remember what error we got when finding chains, if we were shutdown, that would not be an error. 2006-04-10 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_event): Starting the ringbuffer when we did not acquire it can cause a deadlock, is pointless and causes nasty things for subclasses. Fixes gst-launch audiotestsrc num-buffers=0 ! alsasink. 2006-04-10 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_src_query), (gst_ogg_demux_receive_event), (gst_ogg_pad_event), (gst_ogg_demux_chain_peer), (gst_ogg_pad_submit_packet), (gst_ogg_demux_submit_buffer), (gst_ogg_demux_get_data), (gst_ogg_demux_deactivate_current_chain), (gst_ogg_demux_activate_chain), (gst_ogg_demux_perform_seek), (gst_ogg_demux_bisect_forward_serialno), (gst_ogg_demux_find_chains), (gst_ogg_demux_chain): Add some more debugging. 2006-04-10 Wim Taymans * ext/theora/theoradec.c: (theora_dec_src_event), (theora_handle_data_packet): Some more debug info. * tests/examples/seek/seek.c: (start_seek), (main): Print element messages too. 2006-04-09 Sebastien Moutte * gst/audioresample/debug.h: replace debug macros with variable number of parameters by a simple alias to gstreamer standard debug macros (#define RESAMPLE_ERROR GST_ERROR, __VA_ARGS__ is not supported by MSVC 6.0 and 7.1) * gst/audioresample/resample.h: define M_PI and rint for WIN32 * win32/common/libgstaudio.def: * win32/common/libgstriff.def: * win32/common/libgsttag.def: * win32/common/libgstvideo.def: add new exported functions * win32/vs6: update project files 2006-04-08 Stefan Kost * ext/alsa/gstalsamixeroptions.c: (gst_alsa_mixer_options_class_init): * ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_class_init): * ext/ogg/gstoggdemux.c: (gst_ogg_pad_class_init): * ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init): * ext/ogg/gstoggparse.c: (gst_ogg_parse_class_init): * gst-libs/gst/audio/gstaudioclock.c: (gst_audio_clock_class_init): * gst-libs/gst/audio/gstaudiofilter.c: (gst_audio_filter_class_init): * gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_class_init): * gst-libs/gst/audio/gstaudiosrc.c: (gst_audioringbuffer_class_init): * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_class_init): * gst-libs/gst/interfaces/colorbalancechannel.c: (gst_color_balance_channel_class_init): * gst-libs/gst/interfaces/mixeroptions.c: (gst_mixer_options_class_init): * gst-libs/gst/interfaces/mixertrack.c: (gst_mixer_track_class_init): * gst-libs/gst/interfaces/tunerchannel.c: (gst_tuner_channel_class_init): * gst-libs/gst/interfaces/tunernorm.c: (gst_tuner_norm_class_init): * gst-libs/gst/netbuffer/gstnetbuffer.c: (gst_netbuffer_class_init): * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_class_init): * gst/playback/gstdecodebin.c: (gst_decode_bin_class_init): * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init): * gst/playback/gstplaybin.c: (gst_play_bin_class_init): * gst/playback/gststreaminfo.c: (gst_stream_info_class_init): * gst/playback/gststreamselector.c: (gst_stream_selector_class_init): * gst/subparse/gstsubparse.c: (gst_sub_parse_class_init): * gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_class_init): * sys/v4l/gstv4lcolorbalance.c: (gst_v4l_color_balance_channel_class_init): * sys/v4l/gstv4ljpegsrc.c: (gst_v4ljpegsrc_class_init): * sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_class_init): * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_class_init): * sys/v4l/gstv4ltuner.c: (gst_v4l_tuner_channel_class_init), (gst_v4l_tuner_norm_class_init): * sys/ximage/ximagesink.c: (gst_ximagesink_class_init): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_class_init): * tests/old/testsuite/alsa/sinesrc.c: (sinesrc_class_init): Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent) 2006-04-08 Stefan Kost * ext/pango/gsttextrender.h: * gst-libs/gst/audio/gstaudiosink.h: * gst-libs/gst/audio/gstaudiosrc.h: * gst-libs/gst/audio/gstbaseaudiosink.h: * gst-libs/gst/audio/gstbaseaudiosrc.h: * gst-libs/gst/audio/gstringbuffer.h: * gst-libs/gst/rtp/gstbasertpdepayload.h: * gst-libs/gst/rtp/gstbasertppayload.h: * gst-libs/gst/video/gstvideofilter.h: * gst-libs/gst/video/gstvideosink.h: * gst/playback/gstplaybasebin.h: * gst/tcp/gstmultifdsink.h: * sys/v4l/gstv4lelement.h: Fix broken GObject macros 2006-04-08 Stefan Kost * ext/alsa/gstalsasink.c: (set_hwparams), (alsasink_parse_spec): More debug to trace why my USB headset is not working with gst 2006-04-07 Jan Schmidt * gst/playback/gstplaybasebin.c: (group_destroy): Clean up our group elements properly in the case where it never got committed - it still got added unconditionally to the bin. 2006-04-07 Wim Taymans * ext/theora/theoradec.c: (theora_dec_sink_event), (theora_handle_data_packet), (theora_dec_chain): Unref unhandled events. Protect against empty buffers. Perform QoS on running time. 2006-04-07 Michael Smith * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_set_header_on_caps), (gst_vorbis_enc_chain): Remove leaks from vorbisenc. Mostly minor changes, the only significant one is that now the buffers we set as 'streamheader' on the caps are copies of the original buffers, to avoid circular refcounting problems. 2006-04-07 Jan Schmidt * gst/playback/gstplaybasebin.c: (mute_stream), (setup_substreams): Don't remove our mute-probe if someone else already did so. Don't set a 2nd one if there is already one pending on the pad. * gst/playback/gstplaybin.c: (gst_play_bin_send_event_to_sink), (do_playbin_seek): When a seek fails, ensure that playbin is still set back to playing. * gst/typefind/gsttypefindfunctions.c: (mpeg_ts_probe_headers), (mpeg_ts_type_find), (plugin_init): Add a typefind function for mpeg-ts streams. (Closes: #336617) 2006-04-06 Andy Wingo * gst/videorate/gstvideorate.c (gst_video_rate_reset) (gst_video_rate_init): Caps-related parameters should not be reset by a flush -- move their inits to the instance init function. (gst_video_rate_flush_prev): Don't complain if gst_pad_push is not OK, just return the result. * gst/audiotestsrc/gstaudiotestsrc.c (gst_audio_test_src_class_init) (gst_audio_test_src_get_times): Re-enable is-live=true, as was broken by Stefan's commit on 24 March. * ext/ogg/gstoggmux.c (gst_ogg_mux_push_buffer): Set caps on buffers being pushed out. Fixes oggmux ! multifdsink. 2006-04-05 Tim-Philipp Müller * ext/vorbis/vorbisdec.c: (gst_vorbis_dec_class_init), (gst_vorbis_dec_init), (vorbis_dec_finalize): * ext/vorbis/vorbisdec.h: * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_add_interfaces), (gst_vorbis_enc_base_init), (gst_vorbis_enc_class_init), (gst_vorbis_enc_sink_setcaps), (gst_vorbis_enc_convert_src), (gst_vorbis_enc_convert_sink), (gst_vorbis_enc_get_query_types), (gst_vorbis_enc_src_query), (gst_vorbis_enc_sink_query), (gst_vorbis_enc_init), (gst_vorbis_enc_get_tag_value), (gst_vorbis_enc_metadata_set1), (gst_vorbis_enc_set_metadata), (gst_vorbis_enc_setup), (gst_vorbis_enc_clear), (gst_vorbis_enc_buffer_from_packet), (gst_vorbis_enc_buffer_from_header_packet), (gst_vorbis_enc_push_buffer), (gst_vorbis_enc_push_packet), (gst_vorbis_enc_set_header_on_caps), (gst_vorbis_enc_sink_event), (gst_vorbis_enc_chain), (gst_vorbis_enc_output_buffers), (gst_vorbis_enc_get_property), (gst_vorbis_enc_set_property), (gst_vorbis_enc_change_state): * ext/vorbis/vorbisenc.h: Remove left-over 0.8 cruft; use GST_DEBUG_FUNCPTR; make vorbisenc adhere to the official nomenclature; use boilerplate macro. 2006-04-04 Andy Wingo * gst/videorate/gstvideorate.c (gst_video_rate_flush_prev): Whoops, fix bug introduced. Bad hacker! * gst/videorate/gstvideorate.c (gst_video_rate_flush_prev): Properly handle the case where you get EOS before any buffers are received. Use gst_buffer_make_metadata_writable where appropriate. * ext/theora/theoradec.c (theora_handle_data_packet): This value is often negative -- make it signed so as not to wrap around. Fixes segfaults introduced on 9 March. 2006-04-03 Wim Taymans * ext/theora/gsttheoradec.h: * ext/theora/theoradec.c: (theora_dec_src_event): Don't try to store a gdouble in a gboolean. Small cleanups. 2006-04-03 Michael Smith * ext/ogg/gstoggmux.c: (gst_ogg_mux_queue_pads): Oggmux sucks. Make it suck slightly less by writing out the final page. Still can't encode a vorbis-in-ogg file correctly, though. 2006-04-03 Andy Wingo * ext/theora/theoraparse.c (theora_parse_drain_queue): Um, remove a g_print. * ext/theora/theora.c (plugin_init): Register theoraparse. * ext/theora/gsttheoraparse.h: * ext/theora/theoraparse.c: New files implementing a theora parser. Now we can properly remux ogg/theora+vorbis, yay. * ext/vorbis/vorbisparse.c: Add some docs and a copyright. 2006-04-01 Thomas Vander Stichele * gst/audiotestsrc/gstaudiotestsrc.c: Fixed the sample pipeline (see #323798) 2006-04-01 Thomas Vander Stichele * configure.ac: * win32/common/config.h: * win32/common/config.h.in: use AS_VERSION and AS_NANO more cleanups 2006-03-31 Andy Wingo * ext/vorbis/vorbisparse.c (vorbis_parse_sink_event): Fix uninitialized variable return that would happen. * ext/vorbis/vorbisparse.c (vorbis_parse_drain_queue): Fix uninitialized variable return that would never happen. * ext/vorbis/vorbisparse.c (gst_vorbis_parse_init) (vorbis_parse_sink_event): Add an event function to flush our state on a seek, and to drain buffers on a premature EOS. (vorbis_parse_push_headers, vorbis_parse_clear_queue) (vorbis_parse_push_buffer, vorbis_parse_drain_queue_prematurely) (vorbis_parse_chain, vorbis_parse_queue_buffer) (vorbis_parse_drain_queue): Queue up buffers until we can set their timestamps and granulepos values. * ext/vorbis/vorbisparse.h: Include the vorbis decoder headers, and keep track of data needed for deriving granulepos and timestamps for buffers. 2006-03-29 Wim Taymans Patch by: j^ * ext/alsa/gstalsamixerelement.c: (gst_alsa_mixer_element_class_init): * ext/alsa/gstalsasink.c: * ext/alsa/gstalsasrc.c: (gst_alsasrc_class_init): * ext/ogg/gstoggdemux.c: * ext/ogg/gstoggmux.c: * ext/ogg/gstoggparse.c: * ext/pango/gstclockoverlay.c: * ext/pango/gsttextoverlay.c: * ext/pango/gsttextrender.c: * ext/pango/gsttimeoverlay.c: * ext/theora/theoradec.c: * ext/theora/theoraenc.c: * ext/vorbis/vorbisdec.c: * ext/vorbis/vorbisenc.c: * gst/audioconvert/gstaudioconvert.c: * gst/subparse/gstsubparse.c: * gst/tcp/gstmultifdsink.c: * gst/tcp/gsttcpclientsink.c: * gst/tcp/gsttcpclientsrc.c: * gst/tcp/gsttcpserversink.c: * gst/tcp/gsttcpserversrc.c: better/unified long descriptions Fixes #336477 2006-03-29 Wim Taymans * tests/examples/seek/seek.c: (end_scrub), (seek_cb), (start_seek), (stop_seek): Don't let double and triple clicks mess up our state. 2006-03-28 Tim-Philipp Müller * gst/playback/gstplaybin.c: (gen_video_element), (gen_text_element), (gen_audio_element), (gen_vis_element): Error out gracefully when we can't create any of the usual conversion elements for some reason. Also, don't try to create an audioscale (sic) element that's not used anyway. 2006-03-28 Tim-Philipp Müller * gst/playback/gstplaybasebin.c: (setup_source): Don't post RESOURCE_NOT_FOUND error when we can't find a source element for a particular protocol, that's confusing for users. Instead, post a RESOURCE_FAILED error, so that our own error message is actually shown in totem etc. (#336303). 2006-03-27 Tim-Philipp Müller Patch by: Tommi Myöhänen * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_finalize), (gst_gnome_vfs_src_get_icy_metadata): Fix some minor memory leaks (#336194). 2006-03-27 Tim-Philipp Müller * ext/gnomevfs/gstgnomevfs.c: (gst_gnome_vfs_location_to_uri_string): * ext/gnomevfs/gstgnomevfs.h: * ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_set_property): * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_set_property): Make gnomevfssink accept filenames as well as URIs for the "location" property, just like gnomevfssrc does (and filesrc/filesink do) (#336190). 2006-03-24 Thomas Vander Stichele * tests/check/generic/clock-selection.c: (GST_START_TEST): set to NULL before unreffing, fixes a valgrind leak. Why was this not triggering the error that an object needs to be NULL before unreffing ? * win32/common/config.h: update 2006-03-24 Tim-Philipp Müller * gst/subparse/gstsubparse.c: (convert_encoding), (gst_sub_parse_change_state): * gst/subparse/gstsubparse.h: Text subtitle files may or may not be UTF-8. If it's not, we don't really want to see '?' characters in place of non-ASCII characters like accented characters. So let's assume the input is UTF-8 until we come across text that is clearly not. If it's not UTF-8, we don't really know what it is, so try the following: (a) see whether the GST_SUBTITLE_ENCODING environment variable is set; if not, check (b) if the current locale encoding is non-UTF-8 and use that if it is, or (c) assume ISO-8859-15 if the current locale encoding is UTF-8 and the environment variable was not set to any particular encoding. Not perfect, but better than nothing (and better than before, I think) (fixes #172848). 2006-03-24 Thomas Vander Stichele * configure.ac: update core requirement to 0.10.4.1 because of async_playback vmethod on GstBaseSink 2006-03-24 Stefan Kost * ext/ogg/gstoggmux.c: (gst_ogg_mux_init): * gst/adder/gstadder.c: (gst_adder_init): use DEBUG_FUNCPTR for collectpads 2006-03-24 Stefan Kost * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/gst-plugins-base-plugins-sections.txt: * ext/cdparanoia/gstcdparanoiasrc.c: * ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_base_init), (gst_gnome_vfs_sink_class_init): * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_base_init): * ext/ogg/gstoggdemux.c: (gst_ogg_demux_base_init): * ext/ogg/gstoggmux.c: * ext/ogg/gstoggparse.c: (gst_ogg_parse_base_init): * ext/ogg/gstogmparse.c: (gst_ogm_audio_parse_base_init), (gst_ogm_video_parse_base_init), (gst_ogm_text_parse_base_init): * ext/pango/gsttextoverlay.c: * ext/pango/gsttextrender.c: * ext/theora/theoradec.c: * ext/theora/theoraenc.c: * ext/vorbis/vorbisdec.c: * ext/vorbis/vorbisenc.c: * gst-libs/gst/audio/gstaudiofilter.c: (gst_audio_filter_base_init): * gst-libs/gst/audio/gstaudiofiltertemplate.c: (gst_audio_filter_template_base_init): * gst/adder/gstadder.c: (gst_adder_get_type): * gst/adder/gstadder.h: * gst/audioconvert/gstaudioconvert.c: * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audiostestsrc_wave_get_type), (gst_audio_test_src_class_init), (gst_audio_test_src_create): * gst/ffmpegcolorspace/gstffmpegcolorspace.c: * gst/playback/gstdecodebin.c: * gst/playback/gstplaybin.c: * gst/playback/gststreamselector.c: (gst_stream_selector_base_init): * gst/subparse/gstsubparse.c: (gst_sub_parse_base_init): * gst/volume/gstvolume.c: * sys/v4l/gstv4lmjpegsink.c: * sys/v4l/gstv4lmjpegsrc.c: * tests/check/libs/cddabasesrc.c: * tests/old/examples/gob/gst-identity2.gob: Add docs for adder, use GST_ELEMENT_DETAILS macro, define GstElementDetails at the top 2006-03-23 Sebastien Moutte * win32/common/libgstinterfaces.def: Add a lot of export functions for gst-python * win32/vs6/libgstinterfaces.dsp: Add a missing include folder in the project configuration 2006-03-23 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_get_time), (gst_base_audio_src_create), (gst_base_audio_src_change_state): Fix audio sources, forgot to make the ringbuffer startable... 2006-03-23 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_get_time), (gst_base_audio_src_create), (gst_base_audio_src_change_state): unparent instead of unref the ringbuffer. 2006-03-23 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_class_init), (gst_base_audio_sink_async_play), (gst_base_audio_sink_do_play), (gst_base_audio_sink_change_state): Implement new async_play vmethod to start slaving and allow playback start in case of async PLAY state changes. * gst-libs/gst/video/gstvideosink.c: (gst_video_sink_init): Enable QoS with new method in base class. 2006-03-23 Wim Taymans Patch by: Julien MOUTTE * gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_query), (gst_video_test_src_do_seek), (gst_video_test_src_create): Partially handle 0 framerate, only EOS after the first frame is missing. 2006-03-23 Wim Taymans Patch by: Fabrizio Gennari * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps), (gst_riff_create_video_template_caps): * 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: Patch for support of YVU9 AVI files (#334822) 2006-03-22 Edward Hervey * docs/design/design-decodebin.txt: Added design document for new decodebin (Target Caps): text/x-pango-markup is also a default target caps. 2006-03-22 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_dispose): Since we _parent the ringbuffer, we also need to _unparent instead of a plain _unref. 2006-03-22 Wim Taymans * tests/examples/seek/seek.c: (end_scrub), (do_seek), (seek_cb), (stop_seek), (scrub_toggle_cb), (main): Add scrub checkbox. 2006-03-21 Tim-Philipp Müller * ext/ogg/gstoggparse.c: (gst_ogg_parse_find_stream), (gst_ogg_parse_chain): Fix very inefficient usage of linked lists (#335365). 2006-03-21 Edward Hervey * ext/ogg/gstoggdemux.c: (gst_ogg_pad_dispose): * gst/playback/gstplaybin.c: (handoff): * gst/playback/gststreamselector.c: (gst_stream_selector_set_property): gcc 4.1 unreferenced pointer fixes. * sys/ximage/ximagesink.c: (gst_ximagesink_ximage_put): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_put): gst_buffer_ref() now takes a GstBuffer*. 2006-03-20 Julien MOUTTE * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_format_from_caps): Fix a memleak reported by Jan Schmidt. 2006-03-19 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (id3v2_type_find), (id3v1_type_find), (apetag_type_find), (plugin_init): Can't do tag preferences via probability, as tags would then lose against types that are recognised with MAXIMUM probability (like .wav); so let all tag typefinders return MAXIMUM themselves and order them via the rank. Split ID3v1 and ID3v2 typefinders so that we can prefer APE to ID3v1 (fixes #335028). 2006-03-17 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_change_state): * gst-libs/gst/audio/gstringbuffer.c: (wait_segment), (gst_ring_buffer_may_start): * gst-libs/gst/audio/gstringbuffer.h: Only start playback if we are playing. should fix #330748. 2006-03-17 Jan Schmidt * ext/alsa/gstalsasink.c: (gst_alsasink_getcaps): * win32/common/config.h: Revert accidental commits to these files. 2006-03-16 Tim-Philipp Müller Patch by: Michal Benes * tests/Makefile.am: Don't try to build tests in tests/icles if we don't have X (#323852) 2006-03-16 Tim-Philipp Müller * gst-libs/gst/tag/gstid3tag.c: Add TXXX frame identifiers for replaygain stuff as used by some taggers (see #323721). 2006-03-16 Jan Schmidt * gst/playback/gststreamselector.c: (gst_stream_selector_set_property), (gst_stream_selector_bufferalloc): Preserve the existing buggy streamselector behaviour by performing a fallback buffer allocation when downstream isn't linked yet. This should really be fixed in playbin by blocking pads until it's linked them. Also, use gst_pad_alloc_buffer instead of gst_pad_alloc_buffer_and_set. 2006-03-15 Tim-Philipp Müller * gst-libs/gst/tag/gstid3tag.c: Don't crash on unknown ID3v2 TXXX frames. 2006-03-15 Jan Schmidt * ext/alsa/gstalsasink.c: (gst_alsasink_finalise): Chain up to the parent finalize method. Add 32-bit sample size to the template caps. * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps), (gst_riff_create_video_template_caps): Add the fourcc that the VMWare codec uses. * gst/playback/gststreamselector.c: (gst_stream_selector_set_property), (gst_stream_selector_bufferalloc), (gst_stream_selector_request_new_pad): For the active pad, forward buffer-alloc requests, otherwise return GST_FLOW_NOT_LINKED. This also prevents xvimagesink having to memcpy every frame when used by playbin. * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_handle_client_write): Get negotiated caps from the sink pad, rather than the sink pad's peer. 2006-03-15 Tim-Philipp Müller Patch by: Tommi Myöhänen * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_pop_callbacks): Don't forget to set src->callbacks_pushed to FALSE again when popping them, otherwise re-activation in a different mode won't work (#334620). 2006-03-15 Tim-Philipp Müller Patch by: Sebastien Moutte * gst/ffmpegcolorspace/gstffmpegcodecmap.c: (gst_ff_vid_caps_new), (gst_ff_aud_caps_new), (gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_smpfmt_to_caps): Replace __VA_ARGS__ caps creation macros with varargs functions. Makes things compile on MSVC (#320765), looks nicer, and we can tell the compiler to check for the NULL terminator. 2006-03-14 Tim-Philipp Müller Patch by: Fabrizio Gennari * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps): Make sure the buffer we copy into is really always big enough, this time for real (#333488). 2006-03-14 Tim-Philipp Müller * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps): Add support for 24bpp DIB (#305279). 2006-03-14 Wim Taymans * gst-libs/gst/video/gstvideofilter.c: (gst_video_filter_init): * gst-libs/gst/video/gstvideosink.c: (gst_video_sink_init): * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_init): * gst/videoscale/gstvideoscale.c: (gst_video_scale_class_init), (gst_video_scale_init), (gst_video_scale_src_event): Re-enable QoS after the release. Rework videoscale to use the base class src_event handler. 2006-03-14 Tim-Philipp Müller * configure.ac: back to CVS. === release 0.10.5 === 2006-03-13 Thomas Vander Stichele * configure.ac: releasing 0.10.5, "Net" 2006-03-13 Tim-Philipp Müller * docs/plugins/Makefile.am: Part of previous cdparanoiasrc docs fixes, forgot to commit. 2006-03-12 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.hierarchy: Add cdparanoiasrc to docs. * gst-libs/gst/cdda/gstcddabasesrc.c: More GstCddaBaseSrc docs. 2006-03-12 Tim-Philipp Müller * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/tag/gstid3tag.c: (gst_tag_from_id3_user_tag): * gst-libs/gst/tag/tag.h: API: libgsttag: new method gst_tag_from_id3_user_tag(). 2006-03-11 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (plugin_init): NULL-terminate array of mpeg4 video file extensions. Fixes crash on PPC (#334226). 2006-03-11 Tim-Philipp Müller * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_check_get_range): gnome_vfs_uri_is_local() alone is not a good indicator whether we can operate in pull-mode with a specific URI, as it returns FALSE for file:// URIs that point to an NFS-mounted path. Be more conservative here: whitelist local files, blacklist http URIs and use the old mechanism for anything else (fixes #334216). 2006-03-10 Thomas Vander Stichele * configure.ac: back to trunk === release 0.10.4 === 2006-03-10 Thomas Vander Stichele * configure.ac: releasing 0.10.4, "Power" 2006-03-10 Jan Schmidt * gst-libs/gst/video/gstvideosink.c: (gst_video_sink_init): Disable max-lateness by setting it to -1 for now, so that we can bed QoS stuff in thoroughly between now and the next release. 2006-03-10 Tim-Philipp Müller Patch by: Fabrizio Gennari * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps): Make sure we don't read beyond the palette buffer in case of broken or manipulated files (#333488) 2006-03-10 Edward Hervey * gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset): Fix for variable not initialized. 2006-03-09 Wim Taymans * ext/libvisual/visual.c: (gst_visual_get_type), (gst_visual_src_setcaps), (gst_vis_src_negotiate), (gst_visual_chain): Small cleanups. * ext/theora/gsttheoradec.h: * ext/theora/theoradec.c: (gst_theora_dec_init), (gst_theora_dec_reset), (_theora_granule_time), (theora_dec_src_convert), (theora_dec_sink_convert), (theora_dec_src_query), (theora_dec_src_event), (theora_dec_sink_event), (theora_handle_comment_packet), (theora_handle_header_packet), (theora_dec_push), (theora_handle_data_packet), (theora_dec_chain), (theora_dec_change_state): Add simple QoS. 2006-03-09 Wim Taymans * ext/gnomevfs/gstgnomevfssrc.c: (audiocast_init), (audiocast_register_listener), (gst_gnome_vfs_src_start): Some cleanups. 2006-03-09 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_demux_activate_chain): Don't try to activate NULL chains. 2006-03-09 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset): Fix invalid memory access to region before peek'd data (#332964). 2006-03-09 Wim Taymans Patch by: Christophe Fergeau * ext/pango/gsttextoverlay.c: (gst_text_overlay_init): * ext/pango/gsttextrender.c: (gst_text_render_init): * gst/adder/gstadder.c: (gst_adder_init): Don't leak padtemplates, closes #333510. 2006-03-09 Tim-Philipp Müller * gst/subparse/gstsubparse.c: (gst_subparse_type_find): Fix invalid memory access: make sure string passed to regexec() is NUL-termianted. 2006-03-09 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset), (mp3_type_find): Refactor mpeg/audio typefinding to make it more maintainable and easier to fine-tune. Make probing into middle of the file work properly (fixes #333900, also see #152688). 2006-03-09 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (utf8_type_find_have_valid_utf8_at_offset): Remove part from previous commit that was bogus: g_utf8_validate() does in fact not accept embedded zeroes, so we don't need to check for those (thanks to Mike for the hint). 2006-03-08 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (utf8_type_find_count_embedded_zeroes), (utf8_type_find_have_valid_utf8_at_offset), (utf8_type_find): Make plain/text typefinder more conservative: firstly, check for embedded zeroes, which are perfectly valid UTF-8 characters, but also a fairly good sign that something is not a plain text file; secondly, probe into the middle of the file if possible. If we can't probe into the middle, limit the probability value to be returned to TYPE_FIND_POSSIBLE (see #333900). 2006-03-08 Michael Smith * gst/typefind/gsttypefindfunctions.c: (plugin_init): Make typefind function name for mpeg4 video unique. 2006-03-08 Wim Taymans * ext/libvisual/visual.c: (gst_visual_init), (gst_visual_clear_actors), (gst_visual_dispose), (gst_visual_reset), (gst_visual_src_setcaps), (gst_visual_sink_setcaps), (gst_vis_src_negotiate), (gst_visual_sink_event), (gst_visual_src_event), (get_buffer), (gst_visual_chain), (gst_visual_change_state): Cleanups, post nice errors. Handle sink and src events. Implement simple QoS. * gst-libs/gst/video/gstvideosink.c: (gst_video_sink_init): Use new basesink methods to configure max-lateness. Small doc update. * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_transform_caps), (gst_ffmpegcsp_set_caps): Debug statement cleanups. * gst/volume/gstvolume.c: (gst_volume_class_init): Simple cleanup. 2006-03-08 Tim-Philipp Müller * ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init), (gst_text_overlay_init), (gst_text_overlay_set_property), (gst_text_overlay_get_property): Revert API/ABI break from March 1. Keep 'halign' and 'valign' as string type properties, but mark them deprecated. Add 'halignment' and 'valignment' properties that use enums instead of strings. 2006-03-08 Tim-Philipp Müller Patch by: Fabrizio Gennari * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps): Allow palettes with less than 256 colours in AVI files (#333488) 2006-03-07 Julien MOUTTE * ext/pango/gsttextoverlay.c: (gst_text_overlay_text_event), (gst_text_overlay_video_event): Fix wrong EOS handling on text pad. We were releasing the queued text buffer when we should keep it until video pad gets EOS or discard the text buffer because it's too old. That was eating the last subtitle buffer. Add some more debug. 2006-03-07 Tim-Philipp Müller * ext/pango/gsttextoverlay.c: (gst_text_overlay_render_text), (gst_text_overlay_video_chain): Fix invalid memory access (we can't access a buffer after it's been pushed downstream without taking a reference); fix memory leak (if there's no text to render, bail out before allocating stuff). 2006-03-07 Tim-Philipp Müller * ext/pango/gsttextoverlay.c: (gst_text_overlay_init), (gst_text_overlay_setcaps_txt), (gst_text_overlay_video_chain): * ext/pango/gsttextoverlay.h: If input is plain text, escape it before passing it to pango_layout_set_markup(). 2006-03-07 Tim-Philipp Müller * gst-libs/gst/audio/gstaudiofilter.c: (gst_audio_filter_chain): Don't ignore flow return from gst_pad_push(). 2006-03-07 Tim-Philipp Müller Patch by: Fabrizio Gennari * ext/libvisual/visual.c: (gst_visual_getcaps), (gst_visual_src_setcaps), (gst_visual_sink_setcaps): * ext/ogg/gstoggmux.c: (gst_ogg_mux_sinkconnect): * ext/vorbis/vorbisenc.c: (gst_vorbisenc_convert_src), (gst_vorbisenc_convert_sink): * gst-libs/gst/audio/audio.c: (gst_audio_frame_byte_size), (gst_audio_duration_from_pad_buffer): * gst-libs/gst/audio/gstaudiofilter.c: (gst_audio_filter_link), (gst_audio_filter_chain): * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_setcaps): * gst-libs/gst/video/video.c: (gst_video_frame_rate), (gst_video_get_size): * gst/audiorate/gstaudiorate.c: (gst_audio_rate_setcaps): Don't leak references returned by gst_pad_get_parent() (#333663) 2006-03-06 Stefan Kost * ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_class_init): change location param details * gst/volume/gstvolume.c: (plugin_init): correct plugin description 2006-03-06 Tim-Philipp Müller * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_class_init), (gst_gnome_vfs_src_check_get_range): Override GstBaseSrc::check_get_range() in order to avoid opening the resource just to check whether we can operate in pull-mode or not - we can predict that pretty well from the URI alone. Should fix problems with last.fm (#331690). (Requires latest core CVS). 2006-03-06 Wim Taymans * gst-libs/gst/video/gstvideosink.c: (gst_video_sink_init), (gst_video_sink_class_init): Throw away frames that are later than 20 ms. 2006-03-06 Tim-Philipp Müller Patch by: Fabrizio Gennari * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps): Set depth on WMA caps (#333545) 2006-03-06 Thomas Vander Stichele * ext/ogg/gstoggmux.c: (gst_ogg_mux_buffer_from_page), (gst_ogg_mux_send_headers), (gst_ogg_mux_collected): put Theora BOS pages before others. This hardcodes the Ogg/Theora I profile, but hey. 2006-03-05 Thomas Vander Stichele * ext/ogg/README: updated with some examples * ext/theora/theoraenc.c: (granulepos_to_timestamp), (granulepos_add), (theora_buffer_from_packet): * ext/vorbis/vorbisenc.c: (granulepos_to_timestamp_offset), (granulepos_to_timestamp), (gst_vorbisenc_buffer_from_packet), (gst_vorbisenc_chain): implement strategy from ext/ogg/README * ext/ogg/gstoggmux.c: (gst_ogg_mux_buffer_from_page), (gst_ogg_mux_push_buffer), (gst_ogg_mux_dequeue_page), (gst_ogg_mux_pad_queue_page), (gst_ogg_mux_compare_pads), (gst_ogg_mux_queue_pads), (gst_ogg_mux_collected): Fix muxer so that oggz-validate is happy with all streams; except for no eos mark, and the BOS page ordering * tests/check/pipelines/theoraenc.c: (check_buffer_is_header), (check_buffer_granulepos): * tests/check/pipelines/vorbisenc.c: (check_buffer_granulepos): update tests to check for OFFSET being set as requested fixed type of granulepos, it's not a ClockTime 2006-03-05 Julien MOUTTE * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new), (gst_xvimagesink_show_frame), (gst_xvimagesink_buffer_alloc): Check that the xvimage we are creating has a correct size before returning it. (#314897) 2006-03-05 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (plugin_init): Give id3 and ape tag typefinders a rank slightly higher than PRIMARY to ensure they're always run before any of the other typefinders (in particular wav and mp3) (#324186). 2006-03-05 Tim-Philipp Müller * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps): Add support for '3IVD' fourcc (#333403). 2006-03-04 Tim-Philipp Müller * configure.ac: Bump requirements to GStreamer CVS for the new error enum. * ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_render): Emit new GST_RESOURCE_ERROR_NO_SPACE_LEFT when there's no space left on the device (fixes #333352). 2006-03-04 Sebastien Moutte * win32/vs6: add a project file for libgstvolume update the workspace 2006-03-03 Thomas Vander Stichele * ext/theora/theoraenc.c: (theora_set_header_on_caps): * tests/check/pipelines/theoraenc.c: (check_buffer_is_header), (GST_START_TEST): Fix for http://bugzilla.gnome.org/show_bug.cgi?id=333254 Set IN_CAPS on header buffers 2006-03-02 Wim Taymans * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/gst-plugins-base-plugins-sections.txt: Add audioresample to docs. * gst/audioconvert/gstaudioconvert.c: Add revision date. * gst/audioresample/gstaudioresample.c: (gst_audioresample_base_init), (gst_audioresample_class_init), (gst_audioresample_init), (gst_audioresample_dispose), (audioresample_get_unit_size), (audioresample_transform_caps), (resample_set_state_from_caps), (audioresample_transform_size), (audioresample_set_caps), (audioresample_event), (audioresample_do_output), (audioresample_transform), (audioresample_pushthrough), (gst_audioresample_set_property), (gst_audioresample_get_property), (plugin_init): * gst/audioresample/gstaudioresample.h: Added docs. Small code cleanups. 2006-03-02 Wim Taymans * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/gst-plugins-base-plugins-sections.txt: Added videoscale to docs. * gst/videorate/gstvideorate.c: (gst_video_rate_flush_prev), (gst_video_rate_swap_prev), (gst_video_rate_event), (gst_video_rate_chain): Fix typo in docs. * gst/videoscale/gstvideoscale.c: (gst_video_scale_class_init), (gst_video_scale_init), (gst_video_scale_prepare_size), (gst_video_scale_set_caps), (gst_video_scale_get_unit_size), (gst_video_scale_fixate_caps), (gst_video_scale_transform): * gst/videoscale/gstvideoscale.h: Added docs, examples. Some code cleanups. Post errors instead of g_warning. 2006-03-02 Wim Taymans * docs/libs/gst-plugins-base-libs-docs.sgml: * docs/libs/gst-plugins-base-libs-sections.txt: * docs/libs/gst-plugins-base-libs.types: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/gst-plugins-base-plugins-sections.txt: Added some more docs to libs and plugins. * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_prepare_read), (gst_ring_buffer_clear): * gst-libs/gst/audio/gstringbuffer.h: Document ringbuffer some more. * gst/videorate/gstvideorate.c: (gst_video_rate_class_init), (gst_video_rate_setcaps), (gst_video_rate_reset), (gst_video_rate_init), (gst_video_rate_flush_prev), (gst_video_rate_swap_prev), (gst_video_rate_event), (gst_video_rate_chain), (gst_video_rate_change_state): * gst/videorate/gstvideorate.h: Fix videorate to use segments. Make it work with 0/1 framerates (closes #331903) Handle EOS correctly. Added docs. 2006-03-02 Tim-Philipp Müller * ext/ogg/gstogmparse.c: (gst_ogm_parse_class_init), (gst_ogm_audio_parse_init), (gst_ogm_video_parse_init), (gst_ogm_text_parse_init), (gst_ogm_parse_change_state): In state change function, first chain up to parent class, then handle downwards state change stuff. Remove some commented out cruft from 0.8 code. 2006-03-02 Tim-Philipp Müller * ext/ogg/gstogmparse.c: (gst_ogm_audio_parse_init), (gst_ogm_video_parse_init), (gst_ogm_text_parse_init), (gst_ogm_parse_sink_convert), (gst_ogm_parse_sink_query), (gst_ogm_parse_chain): Don't remove/re-add source pad if the new caps are the same as the old caps anyway (#333042). When removing source pad, don't unref it afterwards - we didn't ref it when adding. Sprinkle some GST_DEBUG_FUNCPTR goodness here and there. Don't leak references after using gst_pad_get_parent(). Return downstream flow return value in chain function. 2006-03-02 Wim Taymans * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/gst-plugins-base-plugins.args: * docs/plugins/gst-plugins-base-plugins.hierarchy: * docs/plugins/gst-plugins-base-plugins.interfaces: * docs/plugins/gst-plugins-base-plugins.signals: Fix hierarchy, added some more elements to the docs. * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_get_type): * gst/ffmpegcolorspace/gstffmpegcolorspace.h: Fix docs for ffmpegcolorspace. 2006-03-01 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (id3_type_find), (apetag_type_find), (ape_type_find), (plugin_init): Some typefinding fine-tuning: - rank ID3/APE tags in order of preference via probabilities, so that ID3v2 > APEv2 > APEv1 > ID3v1. - three or four bytes don't really justify MAXIMUM probability, change those to 'very likely' (musepack and monkeysaudio). 2006-03-01 Wim Taymans * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/gst-plugins-base-plugins-sections.txt: * ext/alsa/gstalsamixer.c: * ext/alsa/gstalsamixer.h: * ext/alsa/gstalsamixerelement.c: (gst_alsa_mixer_element_class_init), (gst_alsa_mixer_element_init): * ext/alsa/gstalsamixerelement.h: * ext/alsa/gstalsasink.c: * ext/alsa/gstalsasink.h: * ext/alsa/gstalsasrc.c: (gst_alsasrc_class_init), (gst_alsasrc_init): * ext/alsa/gstalsasrc.h: Added alsa docs. Small code cleanups. 2006-03-01 Wim Taymans * ext/theora/Makefile.am: Dist new header too, 2006-03-01 Wim Taymans * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/gst-plugins-base-plugins-sections.txt: * ext/gnomevfs/gstgnomevfssink.h: * ext/gnomevfs/gstgnomevfssrc.h: * ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet): * ext/vorbis/vorbisdec.h: * ext/vorbis/vorbisenc.c: (gst_vorbisenc_convert_sink): * ext/vorbis/vorbisenc.h: * ext/vorbis/vorbisparse.c: (vorbis_parse_set_header_on_caps), (vorbis_parse_chain), (vorbis_parse_change_state): * ext/vorbis/vorbisparse.h: * gst/audioconvert/gstaudioconvert.h: * gst/tcp/gsttcpserversink.h: * gst/videotestsrc/gstvideotestsrc.c: * gst/videotestsrc/gstvideotestsrc.h: * gst/volume/gstvolume.c: * gst/volume/gstvolume.h: Fix some more docs. Added docs for vorbisdec and vorbisparse. Fix vorbisparse. 2006-03-01 Wim Taymans * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/gst-plugins-base-plugins-sections.txt: * ext/pango/gstclockoverlay.h: * ext/pango/gsttextoverlay.h: * ext/pango/gsttextrender.h: * ext/pango/gsttimeoverlay.h: * ext/theora/gsttheoradec.h: * ext/theora/gsttheoraenc.h: * ext/theora/theoradec.c: * ext/theora/theoraenc.c: * gst/audioconvert/gstaudioconvert.h: * gst/audiotestsrc/gstaudiotestsrc.h: * gst/ffmpegcolorspace/gstffmpegcolorspace.h: * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init): * gst/tcp/gstmultifdsink.h: Updated/added documentation. * ext/pango/gsttextoverlay.c: (gst_text_overlay_valign_get_type), (gst_text_overlay_halign_get_type), (gst_text_overlay_wrap_mode_get_type), (gst_text_overlay_base_init), (gst_text_overlay_class_init), (gst_text_overlay_init), (gst_text_overlay_set_property), (gst_text_overlay_get_property): Fix up properties to be enums instead of string to make bindings, introspection and automatic GUI creation possible. Add getters for the properties. 2006-02-28 Sebastien Moutte * gst/audiotestsrc/gstaudiotestsrc.c: added defines of M_PI and M_PI_2 * gst/ffmpegcolorspace/avcodec.h: removed #include "stdint.h" for win32 as _stdint.h is autogenerated to win32/common * win32/common/libgstaudio.def: * win32/common/libgsttag.def: added some exports * win32/vs6: some project files bugs corrected * win32/vs7: project files are reset to the default vs7 configuration (they link to msvcr71.dll using default optimizations) 2006-02-28 Wim Taymans * ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_class_init): Fix some docs. 2006-02-28 Edward Hervey * ext/alsa/gstalsasrc.c: Set proper class on the ElementDetails: Source/Audio instead of Src/Audio/ 2006-02-28 Edward Hervey * gst/videoscale/vs_scanline.c: (vs_scanline_resample_nearest_RGBA): Revert optimization in videoscale. It should go in liboil and have an appropriate liboil function. 2006-02-28 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_provide_clock): Don't try to provide a clock in the NULL state. 2006-02-28 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_demux_receive_event), (gst_ogg_pad_event), (gst_ogg_pad_internal_chain), (gst_ogg_demux_chain_peer), (gst_ogg_pad_submit_packet), (gst_ogg_demux_deactivate_current_chain), (gst_ogg_demux_activate_chain), (gst_ogg_demux_do_seek), (gst_ogg_demux_perform_seek), (gst_ogg_demux_collect_info), (gst_ogg_demux_find_chains), (gst_ogg_demux_chain), (gst_ogg_demux_loop), (gst_ogg_demux_change_state): Use GstSegment infrastructure to remove duplicated code and handle more seek cases correctly. 2006-02-28 Wim Taymans * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_transform): Don't ignore return code from ffmpeg convert function. * gst/ffmpegcolorspace/imgconvert.c: (img_convert): Split out some long statements to ease debugging. 2006-02-27 Jan Schmidt * ext/libvisual/visual.c: (gst_visual_init), (gst_vis_src_negotiate), (get_buffer), (plugin_init): Don't use gst_pad_use_fixed_caps, because it prevents downstream from being able to renegotiate the size. Instead, use the negotiation algorithm from the goom plugin to pick an initial output caps. Also, allow theoretical libvisual plugins that might support non-GL output even if they also do GL. 2006-02-26 Julien MOUTTE * ext/libvisual/visual.c: (gst_visual_init), (gst_visual_src_setcaps), (get_buffer), (gst_visual_chain), (plugin_init): Load only non GL plugins. Fix some memleaks and possible negotiation issues. 2006-02-25 Julien MOUTTE * gst-libs/gst/tag/tag.h: Adding Annodex tags here. 2006-02-24 Michael Smith * gst/typefind/gsttypefindfunctions.c: (mpeg4_video_type_find), (cmml_type_find), (plugin_init): Fix CMML type find function to not require a specific minor version of the CMML header. Add an MPEG4 video elementary stream typefind function. 2006-02-04 Michael Smith * ext/ogg/gstoggdemux.c: (gst_ogg_pad_parse_skeleton_fishead), (gst_ogg_pad_parse_skeleton_fisbone), (gst_ogg_pad_query_convert), (gst_ogg_demux_chain_peer), (gst_ogg_pad_submit_packet), (gst_ogg_demux_perform_seek), (gst_ogg_demux_read_chain), (gst_ogg_demux_read_end_chain), (gst_ogg_demux_collect_chain_info), (gst_ogg_demux_change_state), (gst_annodex_granule_to_time): Annodex support in ogg demuxer. Doesn't do very much without the other annodex patches (to come). 2006-02-24 Tim-Philipp Müller Patch by: Fabrizio Gennari * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps): Pick up palette for MS video v1 (#327028) 2006-02-24 Tim-Philipp Müller * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_caps_remove_format_info), (gst_ffmpegcsp_get_unit_size): The 'palette_data' field from incoming RGB caps shouldn't be proxied on outgoing YUV caps; also, restrict unit size adjustment in case of paletted data only to the unit that actually has a palette. Fixes #330711. 2006-02-24 Tim-Philipp Müller * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_transform_caps), (gst_ffmpegcsp_set_caps), (gst_ffmpegcsp_finalize), (gst_ffmpegcsp_class_init), (gst_ffmpegcsp_get_unit_size): Plug some memory leaks. 2006-02-24 Tim-Philipp Müller * sys/ximage/Makefile.am: * sys/xvimage/Makefile.am: Add some _CFLAGS and _LIBS that seem to be missing and/or required for Cygwin (see #317048). 2006-02-22 Wim Taymans * ext/alsa/gstalsasrc.c: Fix description as pointed out by caugier. 2006-02-22 Tommi Myöhänen Reviewed by : Edward Hervey * gst/typefind/gsttypefindfunctions.c: (q3gp_type_find), (qt_type_find): Better 3gp typefinding (#331526). 2006-02-21 Tim-Philipp Müller * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_create): Don't send EOS event here, the base class will send one for us. * gst/playback/gstplaybasebin.c: (prepare_output): Subpictures without video stream aren't allowed either. * gst/subparse/gstsubparse.c: (gst_subparse_type_find): Fix debug statement copy'n'paste-o. 2006-02-21 Tim-Philipp Müller * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_get_volume): Fix issues with mixer keeping state when muting/unmuting and when changing the volume whilst muted (see #331763 and #331765). 2006-02-20 Tim-Philipp Müller * gst/subparse/gstsubparse.c: (subrip_unescape_formatting), (parse_subrip), (gst_sub_parse_format_autodetect): Set right caps given that we send escaped text. Also, honour , and markers that can be found in .srt files (fixes #310202). 2006-02-20 Tim-Philipp Müller * gst-libs/gst/audio/mixerutils.c: (element_factory_rank_compare_func): Make order in which elements are tried more determinable. 2006-02-20 Julien MOUTTE * gst/playback/gstdecodebin.c: (get_our_ghost_pad), (remove_element_chain), (cleanup_decodebin), (gst_decode_bin_change_state): Make decodebin reusable by fixing remove_element_chain first and then introduce a cleaner in state change to ->NULL. (Closes #331678) 2006-02-19 Wim Taymans * ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_open_file): use 0666 mask when creating files so umask gets applied correctly. Fixes #331295. 2006-02-19 Tim-Philipp Müller * gst/subparse/Makefile.am: * gst/subparse/gstssaparse.c: (gst_ssa_parse_base_init), (gst_ssa_parse_dispose), (gst_ssa_parse_init), (gst_ssa_parse_class_init), (gst_ssa_parse_src_event), (gst_ssa_parse_sink_event), (gst_ssa_parse_setcaps), (gst_ssa_parse_remove_override_codes), (gst_ssa_parse_parse_line), (gst_ssa_parse_chain), (gst_ssa_parse_change_state): * gst/subparse/gstssaparse.h: * gst/subparse/gstsubparse.c: (plugin_init): Add very basic parser for SSA subtitle streams (as often found in matroska files). 2006-02-19 Tim-Philipp Müller * gst/playback/gstdecodebin.c: (mimetype_is_raw): That should be text/x-pango-markup, not text/x-pango-layout. 2006-02-19 Julien MOUTTE * ext/pango/gsttextoverlay.c: (gst_text_overlay_finalize): Polishing. 2006-02-19 Julien MOUTTE * ext/pango/gsttextoverlay.c: (gst_text_overlay_base_init), (gst_text_overlay_finalize), (gst_text_overlay_init), (gst_text_overlay_setcaps), (gst_text_overlay_src_event), (gst_text_overlay_render_text), (gst_text_overlay_text_pad_link), (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): Fix state change deadlock. 2006-02-19 Julien MOUTTE * ext/pango/gsttextoverlay.c: (gst_text_overlay_base_init), (gst_text_overlay_finalize), (gst_text_overlay_init), (gst_text_overlay_setcaps), (gst_text_overlay_src_event), (gst_text_overlay_render_text), (gst_text_overlay_text_pad_link), (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: Fix seeking both for muxed formats and subtitles files. 2006-02-19 Julien MOUTTE * gst/playback/gstdecodebin.c: (mimetype_is_raw): pango layout should be considered as raw. 2006-02-19 Julien MOUTTE * gst/playback/gststreaminfo.c: (gst_stream_type_get_type), (cb_probe): * gst/playback/gststreaminfo.h: Introduce language informations. 2006-02-18 Jan Schmidt * sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls), (gst_ximagesink_ximage_new), (gst_ximagesink_ximage_destroy): * sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy), (gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_new): Set shared memory segments to be deleted as soon as we have attached, that way they get cleaned up automatically if we crash. 2006-02-18 Julien MOUTTE * ext/pango/gstclockoverlay.c: (gst_clock_overlay_get_text): * ext/pango/gsttimeoverlay.c: (gst_time_overlay_get_text): Those functions are called with lock held. 2006-02-18 Julien MOUTTE * ext/pango/gsttextoverlay.c: (gst_text_overlay_base_init), (gst_text_overlay_finalize), (gst_text_overlay_init), (gst_text_overlay_setcaps), (gst_text_overlay_src_event), (gst_text_overlay_render_text), (gst_text_overlay_text_pad_link), (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): Refactoring of textoverlay without collectpads. This now supports sparse subtitles coming from a demuxer instead of a sub file. Seeking is still broken though. Need to discuss with wtay some more on how to handle seeking correctly. * ext/pango/gsttextoverlay.h: * gst/playback/gstplaybin.c: (setup_sinks): Support linking with subtitles coming from the demuxer. 2006-02-17 Wim Taymans * ext/vorbis/vorbisenc.c: (gst_vorbisenc_convert_src), (gst_vorbisenc_convert_sink): Use some more scaling functions. 2006-02-17 Tim-Philipp Müller * ext/cdparanoia/gstcdparanoiasrc.c: (gst_cd_paranoia_src_class_init), (gst_cd_paranoia_dummy_callback), (gst_cd_paranoia_paranoia_callback), (gst_cd_paranoia_src_signal_is_being_watched), (gst_cd_paranoia_src_read_sector): * ext/cdparanoia/gstcdparanoiasrc.h: Add back 'transport-error' and 'uncorrected-error' signals and make them actually be fired when bad stuff happens (#319340). 2006-02-17 Wim Taymans * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_get_type), (gst_ring_buffer_open_device), (gst_ring_buffer_close_device), (gst_ring_buffer_device_is_open), (gst_ring_buffer_acquire), (gst_ring_buffer_release), (gst_ring_buffer_set_flushing), (gst_ring_buffer_start), (gst_ring_buffer_pause_unlocked), (gst_ring_buffer_pause), (gst_ring_buffer_stop), (gst_ring_buffer_delay), (gst_ring_buffer_samples_done), (gst_ring_buffer_set_sample), (gst_ring_buffer_clear_all), (gst_ring_buffer_commit), (gst_ring_buffer_prepare_read), (gst_ring_buffer_clear): Small cleanups. Added some G_LIKELY. 2006-02-17 Wim Taymans * gst-libs/gst/audio/TODO: Update TODO * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_get_offset): When trying to play samples ASAP and we don't have a previous sample, try to play at position 0 instead of an invalid position. 2006-02-17 Wim Taymans * ext/alsa/gstalsasink.c: (gst_alsasink_open), (gst_alsasink_reset): Also release lock when we get an error in _reset(); fix an error message. 2006-02-16 Tim-Philipp Müller * ext/alsa/gstalsasink.c: (gst_alsasink_class_init), (gst_alsasink_init), (get_channel_free_structure), (caps_add_channel_configuration), (gst_alsasink_getcaps), (gst_alsasink_close): * ext/alsa/gstalsasink.h: Add support for more than 2 channels (#326720). 2006-02-16 Tim-Philipp Müller * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps): Set codec_name for WAVEFORMATEX as well. When we have 'normal PCM' with 4 or 6 channels, assume a default channel layout to make things work (not sure there's anything else we can do in those cases). 2006-02-16 Tim-Philipp Müller * gst-libs/gst/audio/multichannel.c: Minor docs fix. * gst-libs/gst/riff/Makefile.am: * gst-libs/gst/riff/riff-ids.h: * gst-libs/gst/riff/riff-media.c: (gst_riff_wavext_add_channel_layout), (gst_riff_create_audio_caps): Add support for WAVEFORMATEX, eg. PCM audio with more than two channels and a channel layout map. 2006-02-16 Mathieu Garcia Reviewed by Edward Hervey * gst/videoscale/vs_scanline.c: (vs_scanline_resample_nearest_RGBA): C-level optimization of the RGBA nearest neighbour function. Eventually this might end up in liboil with vectorized versions. 2006-02-16 Tim-Philipp Müller * gst-libs/gst/audio/multichannel.c: (gst_audio_get_channel_positions): When we have more than 2 channels, but no channel layout is specified in the caps, return some default channel layout to the caller and warn about about a possibly buggy element (could be buggy filtercaps as well of course) (#317038). 2006-02-16 Tim-Philipp Müller * pkgconfig/gstreamer-plugins-base-uninstalled.pc.in: Add gst-libs/gst/cdda to list of lib search paths. 2006-02-15 Andy Wingo * ext/ogg/gstoggmux.c (gst_ogg_mux_collected): When updating timestamp, update timestamp_end as well. Fixes a bugaboo. I hope to the Lord Jesus that I do not have to touch the ogg muxer ever again. 2006-02-15 Edward Hervey * gst/typefind/gsttypefindfunctions.c: (qt_type_find): quicktime movie files can also contain 'uuid' atoms. 2006-02-14 Tim-Philipp Müller * gst/audioconvert/plugin.c: (plugin_init): Register the GstAudioChannelPosition enum type with the type system in the plugin_init function, so that it is known before any element actually makes use of multi-channel stuff. This is required for example if one wants to be able to deserialise/use a caps string with channel positions before any pipeline has been setup and started, like with gst-launch. 2006-02-14 Wim Taymans * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_pause_unlocked), (gst_ring_buffer_delay), (gst_ring_buffer_samples_done), (wait_segment), (gst_ring_buffer_commit), (gst_ring_buffer_clear): Add some compiler G_(UN_)LIKELY help. SIGNAL the ringbuffer waiters when going to PAUSED as well to make sure they can exit their functions. Should fix #330748 2006-02-13 Thomas Vander Stichele * Makefile.am: * configure.ac: * win32/MANIFEST: * win32/common/_stdint.h: Windows does not have long long; copy the generated _stdint.h * win32/common/interfaces-enumtypes.c: (gst_color_balance_type_get_type), (gst_mixer_type_get_type), (gst_mixer_track_flags_get_type), (gst_tuner_channel_flags_get_type): * win32/common/multichannel-enumtypes.c: (gst_audio_channel_position_get_type): update 2006-02-13 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_get_time), (gst_base_audio_sink_preroll), (gst_base_audio_sink_render), (gst_base_audio_sink_change_state): Always sync on first sample we receive when starting. 2006-02-13 Wim Taymans * gst/playback/gstplaybin.c: (gen_vis_element): Update vis bin docs. Move queue after tee so we don't queue video buffers but audio samples instead. Fixes problems where the video queue is filled and the audio queue empty. 2006-02-13 Tim-Philipp Müller * gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_create): No need to push an EOS event here, GstBaseSrc will do that for us when we return FLOW_UNEXPECTED. 2006-02-12 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_get_time), (gst_base_audio_sink_setcaps), (gst_base_audio_sink_drain), (gst_base_audio_sink_preroll), (gst_base_audio_sink_render), (gst_base_audio_sink_change_state): Use scale functions when possible. Fix error messages. Free clockid when after waiting for EOS. Use G_(UN_)LIKLY when it makes sense. Fix sample clipping bug found by Arwed v. Merkatz fixes #330789. 2006-02-12 Edward Hervey * gst/playback/gstplaybasebin.c: (prepare_output): Remove stray semi-colon (fixes #330888). 2006-02-12 Jan Schmidt * sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls): Fix up the XShm call testing so that we catch errors, and don't cause new ones by attempting to detach from a segment we failed to attach to. Fixes #312439. 2006-02-10 Edward Hervey * gst/typefind/gsttypefindfunctions.c: (plugin_init): Added flv file typefind (video/x-flv). 2006-02-10 Edward Hervey * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps), (gst_riff_create_video_template_caps): Added FLV1 <==> 'video/x-flash-video,flvversion=1' conversion. Also added the caps to the default set of riff video caps. 2006-02-09 Andy Wingo * ext/ogg/gstoggmux.c (GstOggPad): Keep track of both the start time and the end time of the last packet in the page. (gst_ogg_mux_pad_queue_page): In addition to setting the timestamp on the pages in our queue, set the duration as well. Reflow a debug statement. (gst_ogg_mux_collected): Keep track of GstOggPad->timestamp_end. Fixes bad muxing order. 2006-02-09 Thomas Vander Stichele * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_setcaps), (gst_basertppayload_push): update seqnum before setting it on the packet; this makes sure that the timestamp and seqnum properties match after pushing a buffer 2006-02-09 Andy Wingo * gst-libs/gst/audio/gstringbuffer.c (gst_ring_buffer_samples_done): Cast to guint64, fixes an integer overflow after 13.5 hours of recording. Kapow! * ext/alsa/gstalsasrc.c (gst_alsasrc_delay): Clamp the delay to the buffer size -- we don't care about underrun/overrun reporting right now, just need to return a useful value. 2006-02-09 Jan Schmidt * configure.ac: Back to CVS === release 0.10.3 === 2006-02-09 Jan Schmidt * configure.ac: releasing 0.10.3, "Under Pressure" 2006-02-08 Jan Schmidt * configure.ac: Drat. Bump libtool version number for new API. Prelease 0.10.2.3 (of 0.10.3) 2006-02-08 Jan Schmidt * configure.ac: * win32/common/config.h: 0.10.2.2 prerelease (of 0.10.3). 2006-02-08 Jan Schmidt * gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_create): Revert Andy's newsegment change pending a more correct fix. 2006-02-08 Thomas Vander Stichele * gst/typefind/gsttypefindfunctions.c: (q3gp_type_find), (qt_type_find), (plugin_init): detect more files as 3gp group and reorder the iso file formats 2006-02-07 Tim-Philipp Müller * ext/vorbis/vorbis.c: (plugin_init): Register musicbrainz tags, so apps don't have to. 2006-02-07 Tim-Philipp Müller * gst-libs/gst/tag/gstvorbistag.c: (gst_tag_from_vorbis_tag), (gst_tag_to_vorbis_tag): Make sure we called gst_tag_register_musicbrainz_tags() before possibly mapping a vorbiscomment string from/to a musicbrainz tag. 2006-02-07 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (mp3_type_find): In case we can't find the required number of consecutive mpeg audio frames to positively identify an MPEG audio stream, check if there's at least a valid mpeg audio frame right at offset 0 and if so suggest mpeg/audio caps with a very low probability (#153004). 2006-02-07 Andy Wingo * gst/tcp/gsttcpclientsrc.c (gst_tcp_client_src_create): Switch to a TIME segment if we get timestamped buffers. Requires recent fixes in core to work properly. 2006-02-07 Tim-Philipp Müller * gst/playback/gstplaybasebin.c: (prepare_output): Don't print the URI as part of the error message, it makes error dialogs look rather ugly, especially if the URI is very long or has characters in it that need escaping. 2006-02-07 Tim-Philipp Müller * gst/playback/gstplaybasebin.c: (prepare_output): Error out if we have only text or subtitles, but nothing else. Also error out if we have subtitles but no video stream. 2006-02-07 Tim-Philipp Müller * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_create): Treat GNOME_VFS_RESULT_EOF as EOS, not as error (#329194). Post an error message on the bus when we encounter an error, which will hopefully be more meaningful than the 'Internal Flow Error' message users get to see if we just return GST_FLOW_ERROR. 2006-02-07 Andy Wingo * configure.ac (GST_MAJORMINOR): Update core version req to 0.10.2.2, for the collectpads API addition (#330244). 2006-02-06 Tim-Philipp Müller * ext/gnomevfs/gstgnomevfs.c: (plugin_init): Return FALSE from plugin_init() when GnomeVFS can't be initialised for some reason (#328423). 2006-02-06 Julien MOUTTE * ext/pango/gsttextoverlay.c: (gst_text_overlay_src_event): Stick to seeking theory until i find the bug. * gst/subparse/gstsubparse.c: (parse_subrip): Fix debug. 2006-02-06 Jan Schmidt * ext/theora/theoraenc.c: (gst_theora_enc_class_init), (theora_enc_finalize), (theora_enc_sink_setcaps), (theora_set_header_on_caps), (theora_enc_chain), (theora_enc_change_state): * tests/check/pipelines/theoraenc.c: (GST_START_TEST): Make theoraenc and the tests leak free. Like, really. 2006-02-06 Jan Schmidt * ext/theora/theoraenc.c: (gst_theora_enc_class_init), (theora_enc_finalize), (theora_enc_sink_setcaps): Add a finalize method to ensure we clean up state even if someone omitted the state change back to NULL. * ext/vorbis/vorbisenc.c: (gst_vorbisenc_metadata_set1), (gst_vorbisenc_chain): Free some more leaked bits. * tests/check/pipelines/theoraenc.c: (start_pipeline), (stop_pipeline): Wait for state changes to happen if they're ASYNC. This ought to teach those fancy pants buildbots a lesson. 2006-02-05 Jan Schmidt * gst-libs/gst/tag/gstid3tag.c: Add mapping for ID3 International Standard Recording Code tag "TSRC" 2006-02-05 Jan Schmidt * ext/vorbis/vorbisenc.c: (gst_vorbisenc_metadata_set1): Don't leak tag names. 2006-02-05 Tim-Philipp Müller * docs/libs/gst-plugins-base-libs-docs.sgml: * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/tag/gstid3tag.c: * gst-libs/gst/tag/gstvorbistag.c: * gst-libs/gst/tag/tags.c: Split libgsttag docs into multiple sections. 2006-02-05 Tim-Philipp Müller * docs/libs/Makefile.am: * docs/libs/gst-plugins-base-libs-docs.sgml: * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/tag/gstid3tag.c: (gst_tag_from_id3_tag): * gst-libs/gst/tag/gstvorbistag.c: * gst-libs/gst/tag/tag.h: * gst-libs/gst/tag/tags.c: Add libgsttag to the docs. 2006-02-05 Julien MOUTTE * ext/pango/gsttextoverlay.c: (gst_text_overlay_finalize), (gst_text_overlay_init), (gst_text_overlay_src_event), (gst_text_overlay_collected): Fix clockoverlay. 2006-02-05 Tim-Philipp Müller * docs/libs/compiling.sgml: Fix typo: it's pkg-config, not pkg-gconfig * docs/libs/gst-plugins-base-libs-docs.sgml: * docs/libs/gst-plugins-base-libs-sections.txt: * docs/libs/tmpl/gstgconf.sgml: There is no libgstgconf in 0.10, remove it from the docs. 2006-02-05 Julien MOUTTE * docs/libs/tmpl/gstcolorbalance.sgml: Updated. * ext/pango/gsttextoverlay.c: (gst_text_overlay_init), (gst_text_overlay_src_event), (gst_text_overlay_collected): * gst/subparse/gstsubparse.c: (gst_sub_parse_dispose), (gst_sub_parse_class_init), (gst_sub_parse_init), (gst_sub_parse_src_event), (parse_mdvdsub), (parse_subrip), (parse_mpsub), (parser_state_init), (handle_buffer), (gst_sub_parse_chain), (gst_sub_parse_sink_event), (plugin_init): * gst/subparse/gstsubparse.h: Introduce seeking code. 2006-02-05 Tim-Philipp Müller * gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add): Add comment about LANGUAGE tag inconsistency (we want ISO-639-1, but extract three-letter identifiers?) * po/POTFILES.in: Add two translatable files. 2006-02-05 Tim-Philipp Müller * gst-libs/gst/tag/Makefile.am: * gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add): * gst-libs/gst/tag/tag.h: * gst-libs/gst/tag/tags.c: (gst_tag_register_musicbrainz_tags_internal), (gst_tag_register_musicbrainz_tags): Forward-port some tags stuff from the 0.8 branch. This is mostly the addition of musicbrainz tags and their mapping to vorbistags, and a vorbistag mapping of the language tag. 2006-02-05 Julien MOUTTE * gst/playback/gstplaybin.c: (gen_text_element): Fix broken code refactoring. 2006-02-04 David Schleef * ext/ogg/gstoggmux.c: * gst/typefind/gsttypefindfunctions.c: Add Dirac typefinding and add dirac format to oggmux. 2006-02-03 Tim-Philipp Müller * gst/playback/gstdecodebin.c: (try_to_link_1): Don't put essential function call into g_return_*() macro, otherwise it'll all be replaced by NOOPs when compiling with G_DISABLE_CHECKS defined. 2006-02-03 Edgard Lima * ext/ogg/gstoggdemux.c: * ext/ogg/gstoggparse.c: * gst/tcp/gsttcpserversink.c: * sys/v4l/v4lsrc_calls.c: * sys/v4l/v4lsrc_calls.h: Just make it compile with --disable-gst-debug. 2006-02-03 Wim Taymans * ext/alsa/gstalsasink.c: (gst_alsasink_finalise), (gst_alsasink_class_init), (gst_alsasink_init), (gst_alsasink_write), (gst_alsasink_reset): * ext/alsa/gstalsasink.h: Add lock to protect alsa calls. Implement reset to flush samples ASAP, does not work with dmix though. 2006-02-02 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_provide_clock): Ugh.. getting late I guess... 2006-02-02 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_provide_clock), (gst_base_audio_sink_set_property), (gst_base_audio_sink_get_property), (gst_base_audio_sink_render): Don't try to provide a clock when we are not negotiated since we might not be able to make it run. 2006-02-02 Tim-Philipp Müller * gst/playback/gstdecodebin.c: (try_to_link_1): Unlinking two source pads is ... hard. 2006-02-02 Wim Taymans * gst-libs/gst/audio/TODO: Updated. * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_drain), (gst_base_audio_sink_event): On EOS, wait till the last sample is played before posting EOS. 2006-02-01 Philippe Kalaf Patch by: Kai Vehmanen * gst-libs/gst/rtp/gstbasertpdepayload.c: Adds ability to enable newsegment bypass by setting queue_delay to zero. Also avoid thread being started if queue_delay is zero. 2006-02-01 Tim-Philipp Müller * gst/playback/test6.c: (new_decoded_pad_cb), (show_error), (main): Make test work again by connecting fakesinks to each decoded pad, which makes the pipeline wait until each fakesink has a buffer queued before going to PAUSED state. At that point we know the decodebin pads are negotiated. 2006-02-01 Tim-Philipp Müller * gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_query), (gst_cdda_base_src_handle_event): * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audio_test_src_query): Pass unhandled queries to the parent class's query function. 2006-02-01 Tim-Philipp Müller * ext/ogg/gstoggdemux.c: (gst_ogg_pad_query_types), (gst_ogg_pad_src_query): * ext/ogg/gstogmparse.c: (gst_ogm_parse_sink_query): * ext/theora/theoradec.c: (theora_dec_src_query), (theora_dec_sink_query): * ext/vorbis/vorbisdec.c: (vorbis_dec_src_query), (vorbis_dec_sink_query): * ext/vorbis/vorbisenc.c: (gst_vorbisenc_src_query), (gst_vorbisenc_sink_query): * gst/adder/gstadder.c: (gst_adder_query): Pass unhandled queries upstream instead of just dropping them (#326447). Also, fix supported query types list for some elements. 2006-02-01 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (au_type_find), (paris_type_find), (ilbc_type_find), (plugin_init): Fix typefinding for audio/x-au, audio/x-paris and audio/iLBC-sh. We cannot use the START_WITH macros here, because there can only be one typefind factory with the same name (caps), so the second one would replace the first one and the first one would never be called when doing typefinding (see #161712). 2006-01-31 Wim Taymans * ext/vorbis/vorbisdec.c: (vorbis_dec_convert), (vorbis_handle_header_packet), (vorbis_dec_push), (vorbis_handle_data_packet): Use scale_int when we can, add some more scaling. Check packettype before parsing it. 2006-01-31 Wim Taymans * ext/theora/theoradec.c: (_theora_granule_time), (theora_dec_src_convert), (theora_dec_sink_convert): Call right _scale functions. Use parameter instead of some other random value. 2006-01-31 Wim Taymans * ext/theora/theoradec.c: (_theora_granule_frame), (_theora_granule_time), (_inc_granulepos), (theora_dec_src_convert), (theora_dec_sink_convert), (theora_handle_type_packet), (theora_handle_data_packet), (theora_dec_chain): Use higher precision timestamps calculation. Convert some other conversions to _scale. 2006-01-31 Stefan Kost * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audio_test_src_create_sine_table), (plugin_init): * gst/volume/gstvolume.c: (plugin_init): initialize gst_controller before using 2006-01-31 Jan Schmidt * tests/check/pipelines/theoraenc.c: * tests/check/pipelines/vorbisenc.c: Define constant using G_GINT64_CONSTANT to avoid errors when passing it around - otherwise it gets truncated to 32 bits. Fixes failing tests. 2006-01-31 Andy Wingo * sys/v4l/gstv4lsrc.c (gst_v4lsrc_set_caps): Don't segfault if the caps being set doesn't have a framerate value. Basically a stopgap measure. * ext/ogg/gstoggmux.c (GST_BUFFER_END_TIME): New macro. Not technically correct enough to put into core though. (gst_ogg_mux_dequeue_page): Use END_TIME instead of TIMESTAMP + DURATION. Fixes theoraenc ! oggmux. * sys/v4l/gstv4lsrc.c (gst_v4lsrc_fixate): Fixate to the nearest fraction, not double. 2006-01-31 Sebastien Moutte * win32/vs7: add vs7 project files created by Sergey Scobich 2006-01-30 Sebastien Moutte * win32/vs8: add vs8 project files created by Sergey Scobich 2006-01-30 Andy Wingo * ext/ogg/gstoggmux.c (gst_ogg_mux_dequeue_page): Compare timestamp + duration, not just timestamp -- ogg pages should be ordered by stop time. Necessary fix given the change in vorbis timestamps. * ext/theora/theoraenc.c (theora_enc_sink_setcaps) (gst_theora_enc_init): Pull the granule shift out of the encoder. (granulepos_add): New function, handles the messiness of adjusting granulepos values. (theora_buffer_from_packet): (theora_enc_chain): (theora_enc_sink_event): Use granulepos_add, not +. * tests/check/pipelines/theoraenc.c (check_buffer_granulepos_from_starttime): Just check the frame count, not the actual granulepos -- we can't dictate to the encoder when it should be placing keyframes. 2006-01-30 Thomas Vander Stichele * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_start): SERVICE_NOT_AVAILABLE happens for example when you're trying to play an http:// stream from a server that's not serving 2006-01-30 Andy Wingo * tests/check/pipelines/vorbisenc.c (TIMESTAMP_OFFSET): * tests/check/pipelines/theoraenc.c (TIMESTAMP_OFFSET): Totally remove the UINT64_CONSTANT macro, doesn't appear to be needed or available. * ext/theora/gsttheoraenc.h: * ext/theora/theoraenc.c: Same changes as were done to vorbisenc, although theoraenc was timestamping correctly. Added handling of streams that start with nonzero timestamps. * tests/check/Makefile.am: * tests/check/pipelines/theoraenc.c: New file, basically does same tests as vorbisenc. * tests/check/pipelines/vorbisenc.c: I claim these bugs. 2006-01-30 Wim Taymans * gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_class_init), (gst_audioringbuffer_release), (gst_audioringbuffer_pause): Implement pause that does not wait for completion. * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_render), (gst_base_audio_sink_change_state): Don't drop buffers when going to PAUSED but perform preroll on remaining samples now that core base class supports this. * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_release), (gst_ring_buffer_pause_unlocked), (gst_ring_buffer_stop), (gst_ring_buffer_commit): Pause should not signal waiters. Implement return value of _commit correctly. 2006-01-30 Andy Wingo * tests/check/Makefile.am (check_vorbis): Add pipelines/vorbisenc. * ext/vorbis/vorbisenc.c (gst_vorbisenc_buffer_from_packet): Logic updated to timestamp from the first sample, not the last. (gst_vorbisenc_buffer_from_header_packet): New function, takes special care of granulepos and timestamp for header packets. (gst_vorbisenc_chain): Reflow, fix some leaks, and handle the case when the first buffer has a nonzero timestamp. * ext/vorbis/vorbisenc.h (GstVorbisEnc.granulepos_offset) (GstVorbisEnc.subgranule_offset): New members. Take care of the case when the first audio buffer we get has a nonzero timestamp. (GstVorbisEnc.next_ts): Renamed from prev_ts, because now we properly timestamp vorbis buffers with the time of the first sample, not the last. * ext/vorbis/vorbisenc.c (granulepos_to_clocktime): Renamed from vorbis_granule_time_copy -- now it takes the granule/subgranule offset into account. * tests/check/pipelines/vorbisenc.c: New test for correctness of timestamps, durations, and granulepos on buffers produced by vorbisenc. 2006-01-30 Jan Schmidt * gst/ffmpegcolorspace/gstffmpegcodecmap.c: (gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_to_pixfmt): Patch from Eric Jonas to support conversions to/from UYVY (Fixes: #324626) 2006-01-30 Julien MOUTTE * gst/playback/gstplaybasebin.c: (group_commit), (queue_overrun), (setup_subtitle), (setup_source), (set_active_source): * gst/playback/gstplaybin.c: (gst_play_bin_dispose), (gen_text_element), (gen_audio_element), (gen_vis_element), (remove_sinks), (add_sink), (setup_sinks): Implement subtitles. 2006-01-29 Sebastien Moutte * gst-libs/gst/audio/audio.h: (GST_CLOCK_TIME_TO_FRAMES) * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_render) use gst_guint64_to_gdouble to be compliant with vs6 * gst/playback/gstdecodebin.c: (try_to_link_1) * gst/videorate/videorate.c: (gst_video_rate_blank_data) use G_GINT64_CONSTANT for int64 constants * win32/common/libgstinterfaces.def: export some symbols (gst_mixer_get_type,gst_mixer_track_get_type) * win32/vs6: update and add new project files 2006-01-29 Thomas Vander Stichele * Makefile.am: * win32/MANIFEST: * win32/common/interfaces-enumtypes.c: (gst_color_balance_type_get_type), (gst_mixer_type_get_type), (gst_mixer_track_flags_get_type), (gst_tuner_channel_flags_get_type): * win32/common/interfaces-enumtypes.h: * win32/common/multichannel-enumtypes.c: (gst_audio_channel_position_get_type): * win32/common/multichannel-enumtypes.h: add a win32-update rule like in core, and copy over enumtypes files 2006-01-29 Thomas Vander Stichele * win32/MANIFEST: * win32/common/config.h: * win32/common/config.h.in: add config files just like in core 2006-01-28 Tim-Philipp Müller * gst-libs/gst/audio/gstringbuffer.c: (build_linear_format): Make gcc-4.1 happy (part of #327357). 2006-01-28 Thomas Vander Stichele * ext/alsa/gstalsasink.c: (gst_alsasink_init), (set_hwparams), (set_swparams), (gst_alsasink_prepare), (gst_alsasink_unprepare), (gst_alsasink_close), (gst_alsasink_write), (gst_alsasink_reset): * ext/alsa/gstalsasrc.c: (gst_alsasrc_init), (set_hwparams), (set_swparams), (gst_alsasrc_open), (gst_alsasrc_prepare), (gst_alsasrc_unprepare), (gst_alsasrc_read): Update all error messages. All of them should either use the default translated message, or actually provide a translatable string. Make the string for channel count problems meaningful. 2006-01-28 Thomas Vander Stichele * sys/v4l/v4l_calls.c: (gst_v4l_open): check for and throw RESOURCE_BUSY 2006-01-27 David Schleef * gst/videoscale/vs_scanline.c: Oops, *that's* why I never checked in this change -- it requires liboil features not in 0.3.6. Revert parts. 2006-01-27 David Schleef * REQUIREMENTS: * configure.ac: update liboil requirement to 0.3.6 * gst/videoscale/Makefile.am: * gst/videoscale/vs_scanline.c: liboilify 2006-01-27 Jan Schmidt * ext/libvisual/visual.c: (get_buffer): When pad_alloc returns a GstFlowReturn other than GST_FLOW_OK, make sure it is passed upstream. 2006-01-27 Jan Schmidt * ext/alsa/gstalsasink.c: (gst_alsasink_finalise), (gst_alsasink_class_init): Free the device name string. * ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init), (gst_ogg_mux_request_new_pad), (gst_ogg_mux_release_pad), (gst_ogg_mux_handle_src_event), (gst_ogg_mux_clear_collectpads): Don't remove a pad from the collectpads structure until it is released - it's a request pad, and may receive data again if the element gets moved back to PLAYING state. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support): Ensure we turn on double buffering on the Xv port, and set the colour key to something dark and mysterious that isn't black. 2006-01-27 Thomas Vander Stichele * ext/alsa/gstalsaplugin.c: (plugin_init): * ext/cdparanoia/gstcdparanoiasrc.c: (gst_cd_paranoia_src_base_init), (plugin_init): * ext/gnomevfs/gstgnomevfs.c: (plugin_init): * ext/ogg/gstoggdemux.c: (gst_ogg_demux_plugin_init): - a library should not call setlocale. see "Libraries" node in gettext manual - make sure all plugins that use translation do bindtextdomain to point to the localedir * gst/playback/gstplaybin.c: (gen_vis_element), (add_sink), (setup_sinks), (plugin_init): all this, and check for NULL when creating sinks 2006-01-27 Julien MOUTTE * gst/subparse/gstsubparse.c: (gst_subparse_type_find), (plugin_init): Make typefinding of subtitles work again. 2006-01-26 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (aac_type_find), (mp3_type_frame_length_from_header), (mp3_type_find), (wavpack_type_find), (m4a_type_find), (ircam_type_find), (plugin_init): Backport a bunch of typefinding fixes from the 0.8 branch. Also, improve wavpack typefinding: if we can't peek the entire wavpack block, try to parse the bits we can get and see if we find what we're looking for in those. 2006-01-26 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_calculate_pixel_aspect_ratio): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_calculate_pixel_aspect_ratio): Handle some more cases of pixel aspect ratio. 2006-01-26 Edward Hervey * gst/playback/gstdecodebin.c: (pad_probe): Also consider the flush-start and tag events as unblockers for the pad probes. 2006-01-26 Julien MOUTTE * gst/playback/gstplaybin.c: (gst_play_bin_init), (gst_play_bin_dispose), (gst_play_bin_vis_unblocked), (gst_play_bin_vis_blocked), (gst_play_bin_set_property): On the fly visualisation switch, works disabling, enabling as well but it won't be able to enable vis in a playbin that was created with no visualisation. 2006-01-25 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_render), (gst_base_audio_sink_change_state): Undo previous commit that returned WRONG_STATE sooner, it breaks resume after pause. 2006-01-25 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_setcaps), (gst_base_audio_sink_event), (gst_base_audio_sink_preroll), (gst_base_audio_sink_render): Improve debugging. Post error when caps cannot be parsed. Resync on discontinuity in the stream. Clip samples to segment boundaries. return WRONG_STATE sooner when we are flushing. * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_init), (gst_base_audio_src_get_time), (gst_base_audio_src_create): Make audiosrc operate in TIME. Set TIMESTAMP and DURATION on buffers. 2006-01-24 Tim-Philipp Müller * tests/examples/seek/seek.c: (main): Output tag messages as well. 2006-01-23 Edward Hervey * gst/playback/gstdecodebin.c: (gst_decode_bin_init), (free_pad_probes), (remove_fakesink), (pad_probe), (close_pad_link), (gst_decode_bin_change_state): Replace GstPadBlockCallback with pad probes that detect first buffer AND eos before removing fakesink. Fixes hang with demuxers doing EOS while pre-rolling. Solves #328279 2006-01-23 Andy Wingo * ext/alsa/gstalsasink.c: * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_setcaps), (gst_base_rtp_depayload_add_to_queue), (gst_base_rtp_depayload_queue_release): GCC 2.95 fixes (#328263). Patch by: Jens Granseuer 2006-01-22 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_ximage_destroy): * sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy), (gst_xvimagesink_buffer_alloc): Playbin keeps some ref to some frames. We might get a frame destroyed after changing state to NULL, adding a safety check on xcontext. 2006-01-22 Tim-Philipp Müller * gst-libs/gst/interfaces/xoverlay.c: Fix prepare-xwindow-id code example in the docs - we need to ignore all messages that aren't element messages as well. 2006-01-21 Julien MOUTTE * sys/xvimage/xvimagesink.c: (gst_xvimagesink_buffer_alloc): I think one day i'll completely undestand how caps negotiation is supposed to work. This refactoring handles buffer_alloc called with caps we can't handle. We definitely don't want a set_caps with those caps, so we define and allocate a buffer we would like to receive. 2006-01-19 Tim-Philipp Müller * gst/playback/gstplaybasebin.c: (setup_source): Free iterator when done. 2006-01-17 Jan Schmidt * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_render): Fix playback of non-synchronised streams by assuming a rate of 1.0 instead of a random one. Makes this work again: gst-launch filesrc location=raw_audio.file ! 'audio/x-raw-int, endianness=(int)4321, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2' ! audioconvert ! audioresample ! alsasink === release 0.10.2 === 2006-01-16 Thomas Vander Stichele * configure.ac: releasing 0.10.2, "Then the devil is six" 2006-01-16 Jan Schmidt * gst/playback/gststreaminfo.c: (gst_stream_info_set_mute): * gst/playback/gststreamselector.c: (gst_stream_selector_set_property): Comment out broken code that connects to the state-changed signal. At this point, changing current stream selection is broken, but stuff like gst-launch playbin current-audio=1 works and filters to the chosen stream. 2006-01-16 Thomas Vander Stichele * ext/vorbis/vorbisdec.c: (vorbis_dec_src_query): Fix #327216 (null dereference in vorbisdec) 2006-01-16 Tim-Philipp Müller * ext/theora/theoradec.c: (theora_handle_comment_packet): Post taglist actually on bus instead of just freeing it (fixes #327114 and totem bug #327080). * ext/vorbis/vorbisdec.c: (vorbis_handle_comment_packet): Use gst_element_found_tags_for_pad(), so that the tags are sent downstream as an event as well. 2006-01-15 Thomas Vander Stichele * sys/ximage/ximagesink.c: (gst_ximage_buffer_finalize), (gst_ximagesink_ximage_new), (gst_ximagesink_ximage_put), (gst_ximagesink_buffer_alloc): * sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_finalize), (gst_xvimagesink_xvimage_put), (gst_xvimagesink_show_frame), (gst_xvimagesink_buffer_alloc): move all regularly occurring messages to GST_LOG level add some more object logs 2006-01-14 Thomas Vander Stichele * ext/ogg/gstoggmux.c: (gst_ogg_mux_collected): fix a silly segfault 2006-01-14 Tim-Philipp Müller * docs/libs/gst-plugins-base-libs-docs.sgml: * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/audio/mixerutils.c: * gst-libs/gst/audio/mixerutils.h: Add docs for mixerutils stuff. 2006-01-13 Tim-Philipp Müller * gst/playback/gstplaybasebin.c: (setup_source): Fix playback for sources that emit raw audio or raw video streams (e.g.: cd audio sources) (#325984). 2006-01-13 Thomas Vander Stichele * gst-libs/gst/audio/mixerutils.c: (gst_audio_mixer_filter_do_filter): actually save the element we create 2006-01-12 Tim-Philipp Müller * gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_handle_track_seek): No need to post a tag message on the bus when seeking within the same track, only post it when the current track changes. 2006-01-11 Jan Schmidt * gst/playback/gstplaybasebin.c: (group_destroy), (probe_triggered), (new_decoded_pad), (mute_group_type), (set_active_source): * gst/playback/gststreaminfo.c: (gst_stream_info_set_mute): * gst/playback/gststreamselector.c: (gst_stream_selector_base_init), (gst_stream_selector_set_property), (gst_stream_selector_request_new_pad): Reenable stream selection. These mechanisms need a complete overhaul in the face of 0.8->0.10 changes though. 2006-01-11 Jan Schmidt * ext/ogg/gstoggdemux.c: Change the pad template to src_%d to match the pads that are created from it. decodebin needs this information in order to decide that oggdemux is capable of producing multiple pads (and hence needs queues inserted). * ext/ogg/gstoggmux.c: (gst_ogg_mux_queue_pads), (gst_ogg_mux_collected): Make debug output more useful by using GST_PTR_FORMAT. 2006-01-11 Tommi Myöhänen Reviewed by: Tim-Philipp Müller * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_parse_caps): Set depth and width for alaw/mulaw (fixes #326601). 2006-01-11 Thomas Vander Stichele * tests/icles/Makefile.am: don't build the tests if we don't have the libs 2006-01-10 Tim-Philipp Müller * ext/cdparanoia/gstcdparanoiasrc.c: (gst_cd_paranoia_src_close), (gst_cd_paranoia_paranoia_callback): Don't try to free NULL pointers. 2006-01-10 Edward Hervey * gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain), (gst_audio_rate_change_state), (plugin_init): Add debugging category. Fix type issues. Add case for incoming buffers without valid offset/offset_end. 2006-01-10 Michael Smith * gst-libs/gst/audio/gstaudiosrc.c: (gst_audioringbuffer_dispose): Don't leak GCond in audio sources. 2006-01-10 Jan Schmidt * gst/playback/gstplaybin.c: (gen_audio_element): Don't leak an autoaudiosink/alsasink when we generate a new audio element. (old code, I guess) 2006-01-10 Michael Smith * gst/audiorate/gstaudiorate.c: (gst_audio_rate_setcaps): Support float audio in audiorate. Use width rather than depth for selecting sample width. 2006-01-10 Tim-Philipp Müller * gst/videotestsrc/videotestsrc.h: Use GLib types here (that way we don't have to include the generated _stdint.h header, which makes life easier for win32 folks that don't use autotools for the build) (#325990, patch by: Sergey Scobich). 2006-01-10 Tim-Philipp Müller * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_init), (gst_ring_buffer_set_flushing), (gst_ring_buffer_start), (gst_ring_buffer_pause), (wait_segment): * gst-libs/gst/audio/gstringbuffer.h: Name (private) union, makes Forte compiler happy (this time for real) (#324900). 2006-01-09 Tim-Philipp Müller * gst-libs/gst/audio/Makefile.am: Link against libgstinterfaces, needed for mixer and property probe stuff. 2006-01-09 Edward Hervey * gst-libs/gst/Makefile.am: 2006-01-09 Tim-Philipp Müller * gst-libs/gst/audio/Makefile.am: * gst-libs/gst/audio/mixerutils.c: (gst_audio_mixer_filter_do_filter), (gst_audio_mixer_filter_check_element), (gst_audio_mixer_filter_probe_feature), (element_factory_rank_compare_func), (gst_audio_default_registry_mixer_filter): * gst-libs/gst/audio/mixerutils.h: Add gst_audio_default_registry_mixer_filter() utility function. 2006-01-03 Michael Smith * gst/audioresample/resample.h: As before, but for o_buf 2006-01-03 Michael Smith * gst/audioresample/resample.h: Declare struct _ResampleState.buffer as unsigned char *, not void *, since we do arithmetic on it. 2006-01-02 Tim-Philipp Müller * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_init), (gst_ring_buffer_set_flushing), (gst_ring_buffer_start), (gst_ring_buffer_pause), (wait_segment): * gst-libs/gst/audio/gstringbuffer.h: Sun's Forte compiler doesn't seem to like anonymous structs, so use same setup as in GstBaseSrc (fixes #324900). 2005-12-30 Stefan Kost * configure.ac: * gst/volume/Makefile.am: * gst/volume/demo.c: move old example to tests/examples/volume/volune.c * tests/examples/Makefile.am: * tests/examples/seek/seek.c: (main): change window-close event from "delete-event" to "destroy" * tests/examples/volume/Makefile.am: * tests/examples/volume/volume.c: (value_changed_callback), (setup_gui), (message_received), (eos_message_received), (main): fix event handling and bus usage 2005-12-29 Stefan Kost * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audiostestsrc_wave_get_type), (gst_audio_test_src_class_init), (gst_audio_test_src_init), (gst_audio_test_src_src_fixate), (gst_audio_test_src_query), (gst_audio_test_src_create_sine), (gst_audio_test_src_create_square), (gst_audio_test_src_create_saw), (gst_audio_test_src_create_triangle), (gst_audio_test_src_create_silence), (gst_audio_test_src_create_white_noise), (gst_audio_test_src_create_pink_noise), (gst_audio_test_src_init_sine_table), (gst_audio_test_src_create_sine_table), (gst_audio_test_src_change_wave), (gst_audio_test_src_change_volume), (gst_audio_test_src_do_seek), (gst_audio_test_src_create), (gst_audio_test_src_set_property): * gst/audiotestsrc/gstaudiotestsrc.h: update to basesrc changes, implement segmented seeking and eos handling, add a 'sine-tab' waveform for performance critical playback 2005-12-29 Tim-Philipp Müller * po/POTFILES.in: ... and this time the other modified file that I missed last time. 2005-12-29 Michael Smith * gst/playback/gstdecodebin.c: (new_pad): Fix non-C89 variable declaration not at the start of a block. Should help some compilers. 2005-12-29 Tim-Philipp Müller * tests/check/Makefile.am: And now fix 'make distcheck' (builddir != srcdir) 2005-12-29 Tim-Philipp Müller * configure.ac: * ext/cdparanoia/Makefile.am: * ext/cdparanoia/gstcdparanoia.c: * ext/cdparanoia/gstcdparanoia.h: * ext/cdparanoia/gstcdparanoiasrc.c: (gst_cd_paranoia_mode_get_type), (gst_cd_paranoia_src_base_init), (gst_cd_paranoia_src_init), (gst_cd_paranoia_src_class_init), (gst_cd_paranoia_src_open), (gst_cd_paranoia_src_close), (gst_cd_paranoia_paranoia_callback), (gst_cd_paranoia_src_read_sector), (gst_cd_paranoia_src_finalize), (gst_cd_paranoia_src_set_property), (gst_cd_paranoia_src_get_property), (plugin_init): * ext/cdparanoia/gstcdparanoiasrc.h: New cdparanoiasrc element based on cddabasesrc; enable cdparanoia plugin again (there are still fixes required to playbin to make cdda:// uris work there). 2005-12-29 Tim-Philipp Müller * tests/check/Makefile.am: Fix test case compilation. 2005-12-29 Tim-Philipp Müller * gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_update_duration), (gst_cdda_base_src_calculate_cddb_id): An integer is not a string. Fix access to uninitialised variable. * tests/check/Makefile.am: Add cddabasesrc unit test; also actually enable the vorbis test. * tests/check/generic/states.c: Blacklist new cd audio elements as well. * tests/check/libs/cddabasesrc.c: Unit test for GstCddaBaseSrc (discid calculation mostly). 2005-12-28 Tim-Philipp Müller * 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 docs for libgstcdda/GstCddaBaseSrc. * gst-libs/gst/interfaces/mixertrack.h: Do one struct member per line with a semicolon at the end, that way even gtk-doc might parse it without complaining. 2005-12-28 Tim-Philipp Müller * configure.ac: * gst-libs/gst/Makefile.am: * gst-libs/gst/cdda/Makefile.am: * gst-libs/gst/cdda/base64.c: * gst-libs/gst/cdda/base64.h: * gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_mode_get_type), (gst_cdda_base_src_base_init), (gst_cdda_base_src_class_init), (gst_cdda_base_src_init), (gst_cdda_base_src_finalize), (gst_cdda_base_src_set_property), (gst_cdda_base_src_get_property), (gst_cdda_base_src_get_track_from_sector), (gst_cdda_base_src_get_query_types), (gst_cdda_base_src_convert), (gst_cdda_base_src_query), (gst_cdda_base_src_is_seekable), (gst_cdda_base_src_do_seek), (gst_cdda_base_src_handle_track_seek), (gst_cdda_base_src_handle_event), (gst_cdda_base_src_uri_get_type), (gst_cdda_base_src_uri_get_protocols), (gst_cdda_base_src_uri_get_uri), (gst_cdda_base_src_uri_set_uri), (gst_cdda_base_src_uri_handler_init), (gst_cdda_base_src_setup_interfaces), (gst_cdda_base_src_add_track), (gst_cdda_base_src_update_duration), (cddb_sum), (gst_cddabasesrc_calculate_musicbrainz_discid), (lba_to_msf), (gst_cdda_base_src_calculate_cddb_id), (gst_cdda_base_src_add_tags), (gst_cdda_base_src_add_index_associations), (gst_cdda_base_src_set_index), (gst_cdda_base_src_get_index), (gst_cdda_base_src_track_sort_func), (gst_cdda_base_src_start), (gst_cdda_base_src_clear_tracks), (gst_cdda_base_src_stop), (gst_cdda_base_src_create): * gst-libs/gst/cdda/gstcddabasesrc.h: * gst-libs/gst/cdda/sha1.c: * gst-libs/gst/cdda/sha1.h: Add new libgstcdda with GstCddaBaseSrc class. 2005-12-28 Tim-Philipp Müller * ext/gnomevfs/gstgnomevfssink.h: Use GstBaseSinkClass as parent_class member for class struct, not GstBaseSink. 2005-12-27 Tim-Philipp Müller Patch by: Michael Benes * gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_class_init), (gst_video_test_src_start): Add start method to reset running time and number of frames sent when starting up (fixes #324696) 2005-12-27 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/gst-plugins-base-plugins.signals: Add docs stuff for gnomevfssrc and gnomevfssink. * ext/gnomevfs/gstgnomevfssrc.c: Fix example pipeline in gtk-doc blurb. 2005-12-27 Tim-Philipp Müller * ext/gnomevfs/Makefile.am: * ext/gnomevfs/gstgnomevfs.c: (gst_gnome_vfs_uri_get_type), (gst_gnome_vfs_handle_copy), (gst_gnome_vfs_handle_free), (gst_gnome_vfs_handle_get_type), (plugin_init): * ext/gnomevfs/gstgnomevfs.h: * ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_do_init), (gst_gnome_vfs_sink_base_init), (gst_gnome_vfs_sink_class_init), (gst_gnome_vfs_sink_finalize), (gst_gnome_vfs_sink_init), (gst_gnome_vfs_sink_set_property), (gst_gnome_vfs_sink_get_property), (gst_gnome_vfs_sink_open_file), (gst_gnome_vfs_sink_close_file), (gst_gnome_vfs_sink_start), (gst_gnome_vfs_sink_stop), (gst_gnome_vfs_sink_handle_event), (gst_gnome_vfs_sink_query), (gst_gnome_vfs_sink_render), (gst_gnome_vfs_sink_uri_get_type), (gst_gnome_vfs_sink_uri_get_protocols), (gst_gnome_vfs_sink_uri_get_uri), (gst_gnome_vfs_sink_uri_set_uri), (gst_gnome_vfs_sink_uri_handler_init): * ext/gnomevfs/gstgnomevfssink.h: Port gnomevfssink; add gtk-doc blurb. * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_get_type), (gst_gnome_vfs_src_base_init), (gst_gnome_vfs_src_class_init), (gst_gnome_vfs_src_init), (gst_gnome_vfs_src_finalize), (gst_gnome_vfs_src_uri_get_type), (gst_gnome_vfs_src_uri_get_protocols), (gst_gnome_vfs_src_uri_get_uri), (gst_gnome_vfs_src_uri_set_uri), (gst_gnome_vfs_src_uri_handler_init), (gst_gnome_vfs_src_set_property), (gst_gnome_vfs_src_get_property), (gst_gnome_vfs_src_unicodify), (audiocast_thread_run), (gst_gnome_vfs_src_send_additional_headers_callback), (gst_gnome_vfs_src_received_headers_callback), (gst_gnome_vfs_src_push_callbacks), (gst_gnome_vfs_src_pop_callbacks), (gst_gnome_vfs_src_get_icy_metadata), (gst_gnome_vfs_src_create), (gst_gnome_vfs_src_is_seekable), (gst_gnome_vfs_src_get_size), (gst_gnome_vfs_src_start), (gst_gnome_vfs_src_stop): * ext/gnomevfs/gstgnomevfssrc.h: s/gst_gnomevfssrc/gst_gnome_vfs_src/; move header stuff to header file; add gtk-doc blurb with example pipelines. === release 0.10.1 === 2005-12-23 Thomas Vander Stichele * configure.ac: releasing 0.10.1, "Dobro Dedek" 2005-12-21 Edgard Lima * gst/typefind/gsttypefindfunctions.c: iLBC30 and iLBC20 added to typefind. 2005-12-20 Thomas Vander Stichele * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_class_init): * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_class_init): update strings, values are in microseconds change the default sink buffer time to something that is smaller (to help software volume mixing have a slightly lower delay) but still be acceptable on Wim's laptop 2005-12-20 Edward Hervey * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_template_caps): Made a quack, forgot to add DUCK to the riff video template. 2005-12-19 Edward Hervey * ext/ogg/gstogmparse.c: (gst_ogm_text_parse_base_init), (gst_ogm_parse_init), (gst_ogm_audio_parse_init), (gst_ogm_video_parse_init), (gst_ogm_text_parse_init), (gst_ogm_parse_chain): Make sure pads are initialized correctly. * gst-libs/gst/riff/riff-ids.h: * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps), (gst_riff_create_video_template_caps): Add a whole bunch of FOURCC <=> MimeType. Extend the riff video pad template to support the newly added fourcc. 2005-12-18 Jan Schmidt * ext/ogg/gstoggdemux.c: (gst_ogg_demux_deactivate_current_chain), (gst_ogg_demux_activate_chain): Extra debug output when activating/deactivating chains. * gst/playback/gstdecodebin.c: (gst_decode_bin_factory_filter), (is_demuxer_element), (try_to_link_1), (remove_element_chain), (unlinked): Remove a queue from our list when it becomes unlinked. Don't add queues to elements in class 'Demux' if they can only produce one pad 2005-12-18 Julien MOUTTE * gst-libs/gst/video/gstvideosink.c: (gst_video_sink_base_init), (gst_video_sink_get_type): Add a debug category. 2005-12-17 Philippe Khalaf * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_init), (gst_base_rtp_depayload_handle_sink_event): Handle downstream newsegment by sending our own newsegment before the next buffer to be released. (#323900) 2005-12-17 Philippe Khalaf * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_set_gst_timestamp): add queue delay to new segment as well (as opposed to just the first buffer). (bug #322347) 2005-12-16 Stefan Kost * ext/libvisual/visual.c: (make_valid_name): change some char* into char[] * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audio_test_src_class_init), (gst_audio_test_src_do_seek), (gst_audio_test_src_create): * gst/audiotestsrc/gstaudiotestsrc.h: prepare to handle EOS and SEGMENT_DONE 2005-12-16 Tim-Philipp Müller * tests/check/generic/states.c: (GST_START_TEST): Blacklist cdparanoia element in state test. 2005-12-16 Tim-Philipp Müller Patch by: Benjamin Pineau * gst/tcp/gsttcp.c: * gst/tcp/gsttcpclientsink.c: * gst/tcp/gsttcpserversink.c: * gst/tcp/gsttcpserversrc.c: Add includes for memset and FD_ZERO (fixes #323878) 2005-12-15 Michael Smith * gst/videorate/gstvideorate.c: (gst_video_rate_blank_data), (gst_video_rate_chain): Fix timestamping for videorate when the first buffer it sees has a non-zero timestamp. Fix some misleading debug output. 2005-12-15 Michael Smith * gst/audioresample/gstaudioresample.c: Don't leak all input buffers to audioresample. 2005-12-15 Tim-Philipp Müller * ext/pango/gsttextoverlay.c: (gst_text_overlay_collected): Don't operate on empty text buffers. Strip newlines and tabs only from the end of the text, but leave them intact in the middle. Fix typo in gtk-doc description. 2005-12-15 Tim-Philipp Müller * gst/playback/gstplaybasebin.c: * gst/playback/gstplaybin.c: (handoff): Make sure the video frame buffer we return to apps via the "frame" property always has caps set on it. Modify _gst_gvalue_set_object() macro to handle NULL objects gracefully too. 2005-12-14 Stefan Kost * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audio_test_src_class_init), (gst_audio_test_src_init), (gst_audio_test_src_setcaps), (gst_audio_test_src_src_query), (gst_audio_test_src_do_seek), (gst_audio_test_src_is_seekable), (gst_audio_test_src_create): * gst/audiotestsrc/gstaudiotestsrc.h: Adjust to some recent api changes and add wtays new cool seeking capabillities 2005-12-14 Tim-Philipp Müller * ext/alsa/Makefile.am: * ext/alsa/gstalsadeviceprobe.c: * ext/alsa/gstalsadeviceprobe.h: Helper functions to add device probing via the GstPropertyProbe interface to a class. * ext/alsa/gstalsamixer.h: Comment out GST_ALSA_MIXER, it returns a struct that's not used. * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_open): Add some debug info. * ext/alsa/gstalsamixerelement.c: (gst_alsa_mixer_element_interface_supported), (gst_implements_interface_init), (gst_alsa_mixer_element_init_interfaces), (gst_alsa_mixer_element_class_init), (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/gstalsamixerelement.h: Add 'device' and 'device-name' properties. Add GstPropertyProbe for device handling (gnome-volume-control will need that). 2005-12-12 Christian Schaller * ext/Makefile.am: fix cdparanoia entry * gst-plugins-base.spec.in: add cdparanoia 2005-12-12 Michael Smith * ext/ogg/gstoggdemux.c: (gst_ogg_type_find): Use the correct function to free list of typefind factories. 2005-12-12 Wim Taymans * gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_class_init), (gst_video_test_src_init), (gst_video_test_src_parse_caps), (gst_video_test_src_query), (gst_video_test_src_do_seek), (gst_video_test_src_is_seekable), (gst_video_test_src_create): * gst/videotestsrc/gstvideotestsrc.h: Implement seeking in videotestsrc. Small cleanups. 2005-12-12 Wim Taymans * ext/cdparanoia/Makefile.am: * ext/cdparanoia/gstcdparanoia.c: (gst_paranoia_mode_get_type), (gst_paranoia_endian_get_type), (_do_init), (cdparanoia_class_init), (cdparanoia_init), (cdparanoia_set_property), (cdparanoia_get_property), (cdparanoia_do_seek), (cdparanoia_is_seekable), (cdparanoia_create), (cdparanoia_start), (cdparanoia_stop), (cdparanoia_convert), (cdparanoia_get_query_types), (cdparanoia_query), (cdparanoia_set_index), (cdparanoia_uri_set_uri): * ext/cdparanoia/gstcdparanoia.h: Partially ported cdparanoia now that basesrc can support a plugin like this.. 2005-12-12 Wim Taymans * tests/examples/seek/scrubby.c: (main): Set higher priority for bus events so they don't get reordered with gtk gui events. * tests/examples/seek/seek.c: (do_seek), (start_seek), (stop_seek), (flush_toggle_cb), (main): Added checkbox to disable flushing seeks. Disable scrubbing when doing non flushing seeks. 2005-12-12 Tim-Philipp Müller * gst/subparse/gstsubparse.c: (gst_sub_parse_init), (gst_sub_parse_do_seek), (gst_sub_parse_src_event), (parse_subrip), (parser_state_init), (handle_buffer), (gst_sub_parse_chain), (gst_sub_parse_sink_event), (gst_sub_parse_change_state): Implement some sort of event handling that doesn't rely on g_return_if_fail; make sure we always push the last chunk of an .srt out when we receive an EOS; use gst_pad_alloc_buffer; fix state change function; remove some old cruft. Seeking is still rather unlikely to work though. * tools/.cvsignore: Ignore more. 2005-12-11 Julien MOUTTE * sys/xvimage/xvimagesink.c: (gst_xvimagesink_change_state): Fixed a leak of the current image reference when cleaning up. Thanks to Arwed von Merkatz (alley_cat) for pointing it out. 2005-12-09 Michael Smith * tools/Makefile.am: * tools/gst-launch-ext-m.m: Remove gst-launch-ext. It doesn't work, and is no longer particularly useful. 2005-12-08 Luca Ognibene * ext/ogg/gstogmparse.c: (gst_ogm_parse_sink_query): don't pass random values to ogmparse convert function. Make seeking possible in the exile1.ogm file. 2005-12-07 Tim-Philipp Müller * gst/playback/gstplaybasebin.c: (gst_play_base_bin_get_property): * gst/playback/gstplaybin.c: (gst_play_bin_get_property): Work around refcount problem with g_value_set_object() that occur if the core has been compiled against GLib-2.6 (g_value_set_object() will only g_object_ref() the element, but the caller will gst_object_unref() it and bad things will happen due to the way GstObjects are refcounted in the GLib-2.6 case). Fixes problems with totem for people on FC4 using Thomas's 0.10 RPMs. 2005-12-07 Edward Hervey Time to welcome ogm to 0.10 :) * ext/ogg/gstoggdemux.c: (internal_element_pad_added_cb), (gst_ogg_pad_typefind): Oggdemux can now properly typefind elements with dynamic pads. * ext/ogg/gstogmparse.c: (gst_ogm_parse_chain): Properly set caps on src pad, and set caps on outgoing buffers. 2005-12-06 Thomas Vander Stichele * ext/alsa/gstalsamixer.h: * ext/alsa/gstalsamixerelement.h: * ext/alsa/gstalsamixeroptions.h: * ext/alsa/gstalsamixertrack.h: * ext/alsa/gstalsasink.c: * ext/alsa/gstalsasink.h: * ext/alsa/gstalsasrc.c: * ext/alsa/gstalsasrc.h: * ext/cdparanoia/gstcdparanoia.h: * ext/gnomevfs/gstgnomevfsuri.h: * ext/ogg/gstoggdemux.c: * ext/ogg/gstoggmux.c: * ext/pango/gsttextoverlay.h: * ext/theora/theoradec.c: * ext/theora/theoraenc.c: * ext/vorbis/vorbisdec.h: * ext/vorbis/vorbisenc.c: * ext/vorbis/vorbisenc.h: * ext/vorbis/vorbisparse.h: * 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/gstaudiosrc.h: * gst-libs/gst/audio/gstbaseaudiosink.c: * gst-libs/gst/audio/gstbaseaudiosink.h: * gst-libs/gst/audio/gstbaseaudiosrc.c: * gst-libs/gst/audio/gstbaseaudiosrc.h: * gst-libs/gst/audio/gstringbuffer.h: * gst-libs/gst/audio/multichannel.h: * gst-libs/gst/floatcast/floatcast.h: * gst-libs/gst/interfaces/colorbalance.c: * gst-libs/gst/interfaces/colorbalance.h: * gst-libs/gst/interfaces/colorbalancechannel.h: * gst-libs/gst/interfaces/mixer.h: * gst-libs/gst/interfaces/mixeroptions.h: * gst-libs/gst/interfaces/mixertrack.h: * gst-libs/gst/interfaces/navigation.h: * gst-libs/gst/interfaces/propertyprobe.h: * gst-libs/gst/interfaces/tuner.h: * gst-libs/gst/interfaces/tunerchannel.h: * gst-libs/gst/interfaces/tunernorm.h: * gst-libs/gst/interfaces/xoverlay.h: * gst-libs/gst/netbuffer/gstnetbuffer.h: * gst-libs/gst/riff/riff-ids.h: * gst-libs/gst/riff/riff-media.h: * gst-libs/gst/riff/riff-read.h: * gst-libs/gst/rtp/gstbasertpdepayload.h: * gst-libs/gst/rtp/gstbasertppayload.c: * gst-libs/gst/rtp/gstbasertppayload.h: * gst-libs/gst/rtp/gstrtpbuffer.c: * gst-libs/gst/rtp/gstrtpbuffer.h: * gst-libs/gst/tag/gsttageditingprivate.h: * gst-libs/gst/tag/gstvorbistag.c: (gst_tag_list_from_vorbiscomment_buffer): * gst-libs/gst/tag/tag.h: * gst-libs/gst/video/video.h: * gst/adder/gstadder.c: * gst/adder/gstadder.h: * gst/audioconvert/audioconvert.c: * gst/audioconvert/audioconvert.h: * gst/audioconvert/gstaudioconvert.c: * gst/audioconvert/gstchannelmix.c: * gst/audioconvert/gstchannelmix.h: * gst/audiorate/gstaudiorate.c: * gst/audioresample/buffer.h: * gst/audioresample/functable.h: * gst/audioresample/gstaudioresample.c: * gst/audioresample/resample.h: * gst/ffmpegcolorspace/avcodec.h: * gst/ffmpegcolorspace/gstffmpegcodecmap.c: * gst/ffmpegcolorspace/gstffmpegcodecmap.h: * gst/ffmpegcolorspace/imgconvert.c: * gst/ffmpegcolorspace/imgconvert_template.h: * gst/playback/gstdecodebin.c: * gst/playback/gstplaybasebin.h: * gst/playback/gstplaybin.c: * gst/playback/gststreaminfo.h: * gst/tcp/gstfdset.c: * gst/tcp/gstfdset.h: * gst/tcp/gstmultifdsink.c: * gst/tcp/gstmultifdsink.h: * gst/tcp/gsttcp.h: * gst/tcp/gsttcpclientsrc.c: * gst/tcp/gsttcpclientsrc.h: * gst/tcp/gsttcpplugin.h: * gst/tcp/gsttcpserversink.c: * gst/tcp/gsttcpserversrc.c: * gst/typefind/gsttypefindfunctions.c: * gst/videorate/gstvideorate.c: * gst/videotestsrc/gstvideotestsrc.h: * gst/videotestsrc/videotestsrc.h: * sys/v4l/gstv4lcolorbalance.h: * sys/v4l/gstv4ltuner.h: * sys/v4l/gstv4lxoverlay.h: * sys/v4l/v4l_calls.h: * sys/v4l/videodev_mjpeg.h: * tests/check/elements/audioconvert.c: * tests/check/elements/audioresample.c: * tests/check/elements/audiotestsrc.c: * tests/check/elements/videotestsrc.c: * tests/check/elements/volume.c: * tests/examples/seek/scrubby.c: * tests/examples/seek/seek.c: expand tabs === release 0.10.0 === 2005-12-05 Thomas Vander Stichele * configure.ac: releasing 0.10.0, "Mont-d'or" 2005-12-05 Jan Schmidt * tests/examples/seek/Makefile.am: Build fix for when gtk is not available. 2005-12-05 Andy Wingo * ext/libvisual/visual.c: (get_buffer): * ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain_peer): * ext/pango/gsttextrender.c: (gst_text_render_chain): * ext/theora/theoradec.c: (theora_handle_data_packet): * ext/theora/theoraenc.c: (theora_buffer_from_packet), (theora_enc_chain): * ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet): * gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_create): Update for alloc_buffer changes. 2005-12-05 Andy Wingo patch by: Kai Vehmanen * gst-libs/gst/rtp/gstbasertpdepayload.c (gst_base_rtp_depayload_thread): Fix busy loop (#323017). 2005-12-04 Andy Wingo patch by: Sebastien Cote * pkgconfig/gstreamer-plugins-base.pc.in (Libs): Add -L flag. Fixes #319172. 2005-12-02 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.hierarchy: * ext/pango/gstclockoverlay.c: * ext/pango/gsttextoverlay.c: * ext/pango/gsttextrender.c: * ext/pango/gsttimeoverlay.c: Add gtk-doc blurbs to pango elements. 2005-12-02 Wim Taymans * gst/audioresample/buffer.c: (audioresample_buffer_queue_flush): * gst/audioresample/buffer.h: * gst/audioresample/gstaudioresample.c: * gst/audioresample/gstaudioresample.h: * gst/audioresample/resample.c: (resample_input_flush), (resample_input_pushthrough), (resample_input_eos), (resample_get_output_size_for_input), (resample_get_input_size_for_output), (resample_get_output_size), (resample_get_output_data): * gst/audioresample/resample.h: * gst/audioresample/resample_ref.c: (resample_scale_ref): Fix audioresample, seek torture, new segments, reverse negotiation etc.. work fine. 2005-12-02 Wim Taymans * ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet): Small cleanups. 2005-12-02 Wim Taymans * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_transform): Post errors. === release 0.9.7 === 2005-12-01 Thomas Vander Stichele * configure.ac: releasing 0.9.7, "Mi Perro No Tiene Ninguna Nariz" 2005-12-01 Thomas Vander Stichele * Makefile.am: * po/hu.po: * win32/MANIFEST: * win32/gst.sln: add win32 MANIFEST file do something to the hungarian translation 2005-12-01 Tim-Philipp Müller * ext/Makefile.am: Add $(PANGO_DIR) to SUBDIRS * ext/pango/gstclockoverlay.c: * ext/pango/gsttimeoverlay.c: Fix and improve element descriptions. 2005-12-01 Thomas Vander Stichele * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/inspect/plugin-libvisual.xml: * docs/plugins/inspect/plugin-pango.xml: add pango plugin to docs 2005-12-01 Thomas Vander Stichele * configure.ac: * ext/Makefile.am: moved pango to base 2005-12-01 Thomas Vander Stichele * configure.ac: * tests/Makefile.am: * tests/icles/.cvsignore: * tests/icles/Makefile.am: * tests/icles/stress-xoverlay.c: (myclock), (open_display), (close_display), (resize_window), (move_window), (create_window), (terminate_playback), (pause_playback), (start_playback), (main): add stress test for xoverlay from Julien 2005-12-01 Thomas Vander Stichele * docs/libs/tmpl/gstcolorbalance.sgml: * gst-libs/gst/rtp/gstbasertpdepayload.c: * gst-libs/gst/rtp/gstbasertppayload.c: * gst-libs/gst/rtp/gstrtpbuffer.c: * gst-libs/gst/rtp/gstrtpbuffer.h: Do burger's rename for rtp payloaders and depayloaders 2005-12-01 Thomas Vander Stichele * win32/: add Visual Studio 6 build files 2005-12-01 Thomas Vander Stichele * docs/libs/gst-plugins-base-libs-docs.sgml: * docs/libs/gst-plugins-base-libs-sections.txt: * docs/libs/tmpl/gstaudio.sgml: * docs/libs/tmpl/gstringbuffer.sgml: * gst-libs/gst/interfaces/xoverlay.c: * gst-libs/gst/video/gstvideofilter.c: * gst-libs/gst/video/gstvideosink.c: update documentation 2005-12-01 Thomas Vander Stichele * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_base_init), (gst_multi_fd_sink_class_init), (gst_multi_fd_sink_init), (gst_multi_fd_sink_finalize), (gst_multi_fd_sink_add), (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_handle_client_read), (gst_multi_fd_sink_client_queue_data), (gst_multi_fd_sink_client_queue_caps), (gst_multi_fd_sink_client_queue_buffer), (gst_multi_fd_sink_new_client), (gst_multi_fd_sink_handle_client_write), (gst_multi_fd_sink_recover_client), (gst_multi_fd_sink_queue_buffer), (gst_multi_fd_sink_handle_clients), (gst_multi_fd_sink_thread), (gst_multi_fd_sink_render), (gst_multi_fd_sink_set_property), (gst_multi_fd_sink_get_property), (gst_multi_fd_sink_start), (gst_multi_fd_sink_stop), (gst_multi_fd_sink_change_state): * gst/tcp/gstmultifdsink.h: * gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_get_type), (gst_tcp_client_sink_base_init), (gst_tcp_client_sink_class_init), (gst_tcp_client_sink_init), (gst_tcp_client_sink_finalize), (gst_tcp_client_sink_setcaps), (gst_tcp_client_sink_render), (gst_tcp_client_sink_set_property), (gst_tcp_client_sink_get_property), (gst_tcp_client_sink_start), (gst_tcp_client_sink_stop), (gst_tcp_client_sink_change_state): * gst/tcp/gsttcpclientsink.h: * gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_base_init), (gst_tcp_client_src_class_init), (gst_tcp_client_src_init), (gst_tcp_client_src_finalize), (gst_tcp_client_src_getcaps), (gst_tcp_client_src_create), (gst_tcp_client_src_set_property), (gst_tcp_client_src_get_property), (gst_tcp_client_src_start), (gst_tcp_client_src_stop), (gst_tcp_client_src_unlock): * gst/tcp/gsttcpclientsrc.h: * gst/tcp/gsttcpplugin.c: (plugin_init): * gst/tcp/gsttcpserversink.c: (gst_tcp_server_sink_base_init), (gst_tcp_server_sink_class_init), (gst_tcp_server_sink_init), (gst_tcp_server_sink_finalize), (gst_tcp_server_sink_handle_server_read), (gst_tcp_server_sink_removed), (gst_tcp_server_sink_handle_wait), (gst_tcp_server_sink_set_property), (gst_tcp_server_sink_get_property), (gst_tcp_server_sink_init_send), (gst_tcp_server_sink_close): * gst/tcp/gsttcpserversink.h: * gst/tcp/gsttcpserversrc.c: (gst_tcp_server_src_base_init), (gst_tcp_server_src_class_init), (gst_tcp_server_src_init), (gst_tcp_server_src_finalize), (gst_tcp_server_src_create), (gst_tcp_server_src_set_property), (gst_tcp_server_src_get_property), (gst_tcp_server_src_start), (gst_tcp_server_src_stop), (gst_tcp_server_src_unlock): * gst/tcp/gsttcpserversrc.h: more borgifying 2005-12-01 Thomas Vander Stichele * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-base-plugins.args: * docs/plugins/inspect/plugin-libvisual.xml: * gst/audioconvert/plugin.h: * gst/audiorate/gstaudiorate.c: (gst_audio_rate_get_type), (gst_audio_rate_base_init), (gst_audio_rate_class_init), (gst_audio_rate_setcaps), (gst_audio_rate_init), (gst_audio_rate_chain), (gst_audio_rate_set_property), (gst_audio_rate_get_property), (gst_audio_rate_change_state), (plugin_init): * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audiostestsrc_wave_get_type), (gst_audio_test_src_base_init), (gst_audio_test_src_class_init), (gst_audio_test_src_init), (gst_audio_test_src_src_fixate), (gst_audio_test_src_setcaps), (gst_audio_test_src_get_query_types), (gst_audio_test_src_src_query), (gst_audio_test_src_create_sine), (gst_audio_test_src_create_square), (gst_audio_test_src_create_saw), (gst_audio_test_src_create_triangle), (gst_audio_test_src_create_silence), (gst_audio_test_src_create_white_noise), (gst_audio_test_src_init_pink_noise), (gst_audio_test_src_generate_pink_noise_value), (gst_audio_test_src_create_pink_noise), (gst_audio_test_src_change_wave), (gst_audio_test_src_get_times), (gst_audio_test_src_create), (gst_audio_test_src_set_property), (gst_audio_test_src_get_property), (gst_audio_test_src_start), (plugin_init): * gst/audiotestsrc/gstaudiotestsrc.h: * gst/subparse/gstsubparse.c: (gst_sub_parse_get_type), (gst_sub_parse_base_init), (gst_sub_parse_class_init), (gst_sub_parse_init), (gst_sub_parse_formats), (gst_sub_parse_src_eventmask), (gst_sub_parse_src_event), (convert_encoding), (get_next_line), (gst_sub_parse_data_format_autodetect), (gst_sub_parse_format_autodetect), (feed_textbuf), (handle_buffer), (gst_sub_parse_loop), (gst_sub_parse_chain), (gst_sub_parse_change_state), (gst_sub_parse_type_find), (plugin_init): * gst/subparse/gstsubparse.h: * gst/videorate/gstvideorate.c: (gst_video_rate_get_type), (gst_video_rate_base_init), (gst_video_rate_class_init), (gst_video_rate_transformcaps), (gst_video_rate_getcaps), (gst_video_rate_setcaps), (gst_video_rate_blank_data), (gst_video_rate_init), (gst_video_rate_event), (gst_video_rate_chain), (gst_video_rate_set_property), (gst_video_rate_get_property), (gst_video_rate_change_state), (plugin_init): * gst/videoscale/gstvideoscale.c: (gst_video_scale_method_get_type), (gst_video_scale_get_capslist), (gst_video_scale_src_template_factory), (gst_video_scale_sink_template_factory), (gst_video_scale_get_type), (gst_video_scale_base_init), (gst_video_scale_class_init), (gst_video_scale_init), (gst_video_scale_set_property), (gst_video_scale_get_property), (gst_video_scale_transform_caps), (gst_video_scale_get_format), (gst_video_scale_prepare_size), (parse_caps), (gst_video_scale_set_caps), (gst_video_scale_get_unit_size), (gst_video_scale_fixate_caps), (gst_video_scale_prepare_image), (gst_video_scale_transform), (gst_video_scale_handle_src_event), (plugin_init): * gst/videoscale/gstvideoscale.h: * gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_pattern_get_type), (gst_video_test_src_base_init), (gst_video_test_src_class_init), (gst_video_test_src_init), (gst_video_test_src_src_fixate), (gst_video_test_src_set_pattern), (gst_video_test_src_set_property), (gst_video_test_src_get_property), (gst_video_test_src_getcaps), (gst_video_test_src_parse_caps), (gst_video_test_src_setcaps), (gst_video_test_src_event), (gst_video_test_src_get_times), (gst_video_test_src_create), (plugin_init): * gst/videotestsrc/gstvideotestsrc.h: * gst/videotestsrc/videotestsrc.c: (gst_video_test_src_get_size), (gst_video_test_src_smpte), (gst_video_test_src_snow), (gst_video_test_src_black): * gst/videotestsrc/videotestsrc.h: borgify further clean up docs a little 2005-11-30 Wim Taymans * gst-libs/gst/rtp/gstbasertpdepayload.h: * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_init), (gst_basertppayload_event), (gst_basertppayload_push), (gst_basertppayload_change_state): * gst-libs/gst/rtp/gstbasertppayload.h: closed #320644. 2005-11-30 Julien MOUTTE * docs/libs/gst-plugins-base-libs-docs.sgml: * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/video/gstvideofilter.c: * gst-libs/gst/video/gstvideosink.c: * gst-libs/gst/video/gstvideosink.h: Adding docs. 2005-11-30 Thomas Vander Stichele * LICENSE: move * 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: * Makefile.am: update * scripts/autoplugins.sh: remove 2005-11-30 Thomas Vander Stichele * Makefile.am: * configure.ac: * examples/Makefile.am: * examples/capsfilter/Makefile.am: * examples/capsfilter/capsfilter1.c: * examples/gob/Makefile.am: * examples/gob/gst-identity2.gob: * examples/indexing/.cvsignore: * examples/indexing/Makefile.am: * examples/indexing/indexmpeg.c: * examples/seeking/.cvsignore: * examples/seeking/Makefile.am: * examples/seeking/cdparanoia.c: * examples/seeking/cdplayer.c: * examples/seeking/chained.c: * examples/seeking/scrubby.c: * examples/seeking/seek.c: * examples/stats/Makefile.am: * examples/stats/mp2ogg.c: * examples/switch/.cvsignore: * examples/switch/Makefile.am: * examples/switch/switcher.c: * tests/Makefile.am: * tests/check/generic/.cvsignore: * tests/check/pipelines/.cvsignore: * tests/examples/Makefile.am: * tests/examples/seek/Makefile.am: reorganize stuff under tests/ 2005-11-30 Edward Hervey * ext/ogg/gstoggdemux.c: (gst_ogg_pad_typefind): Go away you stupid GstStaticPadTemplate memleak. 2005-11-30 Thomas Vander Stichele * gst-libs/gst/net/Makefile.am: * gst-libs/gst/net/README: * gst-libs/gst/net/gstnetbuffer.c: * gst-libs/gst/net/gstnetbuffer.h: this was moved to "netbuffer" 2005-11-30 Thomas Vander Stichele * gst-libs/gst/video/gstvideofilter.c: (gst_video_filter_get_type), (gst_video_filter_class_init), (gst_video_filter_init): * gst-libs/gst/video/gstvideofilter.h: borgify name to bring in line with other classes 2005-11-30 Thomas Vander Stichele * gst/audioscale/.cvsignore: * gst/audioscale/Makefile.am: * gst/audioscale/README: * gst/audioscale/audioscale.vcproj: * gst/audioscale/dtof.c: * gst/audioscale/dtos.c: * gst/audioscale/functable.c: * gst/audioscale/gstaudioscale.c: * gst/audioscale/gstaudioscale.h: * gst/audioscale/private.h: * gst/audioscale/resample.c: * gst/audioscale/resample.h: * gst/audioscale/test.c: remove 2005-11-30 Edward Hervey * gst-libs/gst/netbuffer/Makefile.am: really, really tired 2005-11-30 Edward Hervey * gst/typefind/gsttypefindfunctions.c: (plugin_init): Update for new GstTypeFindFactory _register() 2005-11-30 Edward Hervey * gst-libs/gst/netbuffer/Makefile.am: (libgstnetbufferincludedir): Let's not override libgstnet from core for no reason... (libgstnetbuffer_@GST_MAJORMINOR@_la_SOURCES): Ok, maybe not so quick next time. 2005-11-29 Thomas Vander Stichele * configure.ac: * gst-libs/gst/Makefile.am: moved gst-libs/gst/net to netbuffer through CVS surgery remove old directory updating build to accomodate (#322257) 2005-11-29 Andy Wingo * pkgconfig/gstreamer-plugins-base.pc.in: * pkgconfig/gstreamer-plugins-base-uninstalled.pc.in: * gst-libs/gst/net/Makefile.am: Rename gstnet to gstnetbuffer (#322257). 2005-11-29 Jan Schmidt * gst/playback/gststreamselector.c: (gst_stream_selector_chain): 3rd time's the charm. Correct ref-counting for discarded buffers. 2005-11-29 Jan Schmidt * gst/playback/gststreamselector.c: (gst_stream_selector_class_init), (gst_stream_selector_set_property), (gst_stream_selector_get_property), (gst_stream_selector_request_new_pad), (gst_stream_selector_chain): Fix ref-counting 2005-11-29 Tim-Philipp Müller * gst/subparse/gstsubparse.c: (feed_textbuf): Don't access already unref'ed buffer. 2005-11-29 Jan Schmidt * gst/playback/gststreamselector.c: (gst_stream_selector_class_init), (gst_stream_selector_init), (gst_stream_selector_dispose), (gst_stream_selector_set_property), (gst_stream_selector_get_property), (gst_stream_selector_get_linked_pad), (gst_stream_selector_request_new_pad), (gst_stream_selector_chain): * gst/playback/gststreamselector.h: Add the active-pad property for playbin to use shortly. Ignore buffers from any other pad, returning GST_FLOW_NOT_LINKED 2005-11-29 Julien MOUTTE * ext/ogg/gstoggdemux.c: (gst_ogg_type_find): Free the list, patch from bug #322704 (Alessandro Decina). 2005-11-29 Thomas Vander Stichele * gst-libs/gst/audio/Makefile.am: folded audiofilter into the audio library 2005-11-29 Thomas Vander Stichele * gst/videoscale/gstvideoscale.h: * gst/videoscale/gstvideoscale.c: remove unimplemented scale methods 2005-11-28 Tim-Philipp Müller * ext/ogg/gstoggmux.c: (gst_ogg_mux_send_headers): Don't leak caps. 2005-11-28 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_ximage_put), (gst_ximagesink_setcaps): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_put), (gst_xvimagesink_setcaps): Fixed a tricky bug. When caps renegotiation happens (only visible on ximagesink but bug is in xv too) set_caps was destroying the internal x[v]image used to memcpy non locally alloced buffers so that it got renewed on next _chain. The issue is that _expose will try to put that image as it reffed it in _put. Using gst_buffer_unref instead of destroy fixes it ! 2005-11-28 Edward Hervey * gst/playback/gstdecodebin.c: (gst_decode_bin_init), (try_to_link_1), (queue_filled_cb): Better use of the queues. Start with a small size queue and only increase the size of the queues when the other queues are empty. 2005-11-28 Thomas Vander Stichele * gst-libs/gst/video/Makefile.am: compile in copied-over videofilter into the video library * gst-libs/gst/video/videosink.h: rename the header to gstvideosink.h since it's a base GstObject class * sys/ximage/ximagesink.h: * sys/xvimage/xvimagesink.h: use the new header 2005-11-28 Wim Taymans * gst/playback/gstplaybasebin.c: (group_commit), (probe_triggered): * gst/playback/gstplaybasebin.h: Prepare to handle errors betters. * gst/playback/gstplaybin.c: (add_sink), (setup_sinks): Set sinks to PAUSED first before adding and linking them so that we don't interrupt dataflow. 2005-11-28 Wim Taymans * gst-libs/gst/audio/TODO: Updated TODO * gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_open_device), (gst_audioringbuffer_close_device), (gst_audioringbuffer_acquire), (gst_audioringbuffer_release): Small cleanups. * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_class_init), (gst_base_audio_sink_render), (gst_base_audio_sink_change_state): Slave to the master clock when going to PLAYING and unslave when going to PAUSED. * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_open_device), (gst_ring_buffer_close_device), (gst_ring_buffer_acquire), (gst_ring_buffer_release), (gst_ring_buffer_samples_done), (gst_ring_buffer_set_sample), (gst_ring_buffer_clear_all), (wait_segment), (gst_ring_buffer_commit), (gst_ring_buffer_read), (gst_ring_buffer_advance): * gst-libs/gst/audio/gstringbuffer.h: Add some docs and cleanups. 2005-11-28 Julien MOUTTE * sys/xvimage/xvimagesink.c: (gst_xvimagesink_navigation_send_event): Fix navigation events coordinates translation with pixel aspect ratios. 2005-11-28 Julien MOUTTE * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_put): Use calculated video geometry from _setcaps instead of buffer caps to respect pixel aspect ratio. (fixes #322388) 2005-11-28 Julien MOUTTE * docs/libs/tmpl/gstcolorbalance.sgml: * docs/libs/tmpl/gstmixer.sgml: * docs/libs/tmpl/gstxoverlay.sgml: * gst-libs/gst/interfaces/xoverlay.c: Add docs for the Xoverlay interface. 2005-11-28 Julien MOUTTE * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new): Refuse to create an XvImage if we can't find the format. 2005-11-28 Edward Hervey * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_template_caps): Add ATRAC3 to the list of riff-possible audio caps. I know we still don't have a plugin for atrac3, but it's saner to output that than a cryptic mimetype. 2005-11-27 Edward Hervey * gst-libs/gst/riff/riff-read.c: (gst_riff_parse_strf_auds): Don't try to create a zero-sized subbuffer. 2005-11-27 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximage_buffer_free), (gst_ximagesink_ximage_new), (gst_ximagesink_ximage_put), (gst_ximagesink_bufferpool_clear), (gst_ximagesink_buffer_alloc), (gst_ximagesink_expose): Fixed a tricky race. * sys/ximage/ximagesink.h: * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_put), (gst_xvimagesink_expose): Fixed a tricky race. * sys/xvimage/xvimagesink.h: 2005-11-27 Edward Hervey * gst/playback/gstdecodebin.c: (gst_decode_bin_class_init), (gst_decode_bin_init), (close_pad_link), (try_to_link_1): Remove unused properties, and add queues between demuxers and decoders so that a lot more files can preroll properly. 2005-11-27 Thomas Vander Stichele * gst-libs/gst/net/Makefile.am: * gst-libs/gst/rtp/Makefile.am: * gst-libs/gst/tag/Makefile.am: remove silly include * gst/tags/Makefile.am: * gst/tags/gsttagediting.c: * gst/tags/gsttageditingprivate.h: * gst/tags/tagedit.vcproj: remove directory, is as good as empty 2005-11-27 Thomas Vander Stichele * configure.ac: added GST_LIB_LDFLAGS and GST_ALL_LDFLAGS * gst-libs/Makefile.am: * gst-libs/gst/audio/Makefile.am: * gst-libs/gst/interfaces/Makefile.am: * gst-libs/gst/net/Makefile.am: * gst-libs/gst/riff/Makefile.am: * gst-libs/gst/rtp/Makefile.am: * gst-libs/gst/tag/Makefile.am: * gst-libs/gst/video/Makefile.am: and use them 2005-11-27 Julien MOUTTE * docs/libs/tmpl/gstcolorbalance.sgml: * docs/libs/tmpl/gstmixer.sgml: * docs/libs/tmpl/gstxoverlay.sgml: * sys/ximage/ximagesink.c: (gst_ximagesink_buffer_alloc): * sys/ximage/ximagesink.h: * sys/xvimage/xvimagesink.h: More and more documentation. 2005-11-26 Julien MOUTTE * docs/libs/gst-plugins-base-libs-docs.sgml: * docs/libs/gst-plugins-base-libs-sections.txt: * docs/libs/tmpl/gstcolorbalance.sgml: * docs/libs/tmpl/gstmixer.sgml: * docs/libs/tmpl/gstxoverlay.sgml: Add the XOverlay interface to documentation. 2005-11-26 Julien MOUTTE * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/gst-plugins-base-plugins-sections.txt: * sys/xvimage/xvimagesink.c: Added doc for xvimagesink. 2005-11-26 Julien MOUTTE * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/gst-plugins-base-plugins-sections.txt: * 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-decodebin.xml: * docs/plugins/inspect/plugin-ffmpegcolorspace.xml: * docs/plugins/inspect/plugin-gnomevfs.xml: * docs/plugins/inspect/plugin-ogg.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: Updated version. * sys/ximage/ximagesink.c: Adding documentation for ximagesink. 2005-11-26 Edward Hervey * gst/audiorate/gstaudiorate.c: (gst_audiorate_chain): Properly return GstFlowReturn from gst_pad_push in chain functions. 2005-11-25 Michael Smith * ext/ogg/gstoggdemux.c: (gst_ogg_pad_query_convert), (gst_ogg_demux_chain_peer), (gst_ogg_demux_perform_seek), (gst_ogg_demux_read_chain), (gst_ogg_demux_read_end_chain), (gst_ogg_demux_send_event), (gst_ogg_demux_loop): Handle various conditions better when we don't understand a stream. Removes a heap of CRITICALs on ogg streams containing unknown data. 2005-11-24 Andy Wingo * gst/tcp/gstmultifdsink.c (gst_multifdsink_handle_client_write): Be threadsafe. 2005-11-23 Thomas Vander Stichele * configure.ac: back to HEAD === release 0.9.6 === 2005-11-23 Thomas Vander Stichele * configure.ac: releasing 0.9.6, "White Eight" 2005-11-23 Thomas Vander Stichele * check/pipelines/simple_launch_lines.c: (GST_START_TEST): * docs/plugins/inspect/plugin-sine.xml: remove sinesrc some more 2005-11-23 Wim Taymans * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_read): If we are reading too slowly, jump forward in the ringbuffer instead of blocking. 2005-11-23 Jan Schmidt * ext/libvisual/visual.c: (gst_visual_src_setcaps), (get_buffer), (gst_visual_chain): * ext/theora/theoraenc.c: (theora_enc_sink_setcaps): * gst/videorate/gstvideorate.c: (gst_videorate_setcaps), (gst_videorate_chain): * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_src_fixate), (gst_videotestsrc_create): * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_get_fps), (gst_v4lmjpegsrc_src_convert), (gst_v4lmjpegsrc_src_query), (gst_v4lmjpegsrc_get), (gst_v4lmjpegsrc_getcaps): * sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_get_fps), (gst_v4lsrc_get_fps_list), (gst_v4lsrc_buffer_new): Updates for API changes 2005-11-23 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_class_init), (gst_base_audio_sink_set_clock), (gst_base_audio_sink_render), (gst_base_audio_sink_change_state): Fix for calibration API change. 2005-11-23 Michael Smith * gst-libs/gst/audio/multichannel.c: (gst_audio_get_channel_positions), (gst_audio_set_channel_positions), (gst_audio_set_structure_channel_positions_list), (gst_audio_fixate_channel_positions): Use gst_value_array_*() functions on value arrays, not gst_value_list_*(). 2005-11-23 Edward Hervey * autogen.sh: eheh, sinesrc is gone. Replacing sample srcfile by existing one. Fixes autogen 2005-11-23 Thomas Vander Stichele * check/Makefile.am: * check/elements/videotestsrc.c: (setup_videotestsrc), (cleanup_videotestsrc), (GST_START_TEST), (videotestsrc_suite), (main): add a test for videotestsrc 2005-11-23 Thomas Vander Stichele * gst/sine/.cvsignore: * gst/sine/Makefile.am: * gst/sine/gstsinesrc.c: * gst/sine/gstsinesrc.h: * gst/sine/sinesrc.vcproj: and remove sinesrc from the repository. Closes #321446 2005-11-23 Thomas Vander Stichele * configure.ac: * gst-plugins-base.spec.in: remove sinesrc from the build 2005-11-23 Thomas Vander Stichele * check/Makefile.am: * check/elements/audiotestsrc.c: (setup_audiotestsrc), (cleanup_audiotestsrc), (GST_START_TEST), (audiotestsrc_suite), (main): add a test for audiotestsrc, testing all waves. Even seems leak-free at first glance, nice job Stefan 2005-11-23 Jan Schmidt * 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: Translation string updates * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_fixate), (gst_v4lsrc_get_caps), (gst_v4lsrc_set_caps): * sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_get_fps), (gst_v4lsrc_get_fps_list), (gst_v4lsrc_buffer_new): * sys/v4l/v4lsrc_calls.h: Improve v4lsrc, by making it work again. 2005-11-23 Jan Schmidt * ext/libvisual/visual.c: (gst_visual_chain): Fix the fps calculations. * gst/ffmpegcolorspace/avcodec.h: Move structure element for clarity * gst-libs/gst/interfaces/tunernorm.c: (gst_tuner_norm_init): * gst-libs/gst/interfaces/tunernorm.h: * sys/v4l/gstv4ljpegsrc.c: (gst_v4ljpegsrc_src_link): * sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_base_init): * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_base_init), (gst_v4lmjpegsrc_get_fps), (gst_v4lmjpegsrc_src_convert), (gst_v4lmjpegsrc_src_query), (gst_v4lmjpegsrc_get), (gst_v4lmjpegsrc_getcaps): * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_fixate), (gst_v4lsrc_get_caps), (gst_v4lsrc_set_caps): * sys/v4l/gstv4lsrc.h: * sys/v4l/v4l_calls.c: (gst_v4l_open): * sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_get_fps), (gst_v4lsrc_get_fps_list), (gst_v4lsrc_buffer_new): * sys/v4l/v4lsrc_calls.h: Fractional framerates... 2005-11-22 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_class_init), (gst_base_audio_sink_set_clock), (gst_base_audio_sink_render), (gst_base_audio_sink_change_state): And we provide a clock by default, of course... 2005-11-22 Wim Taymans * gst-libs/gst/audio/gstaudioclock.c: (gst_audio_clock_init): This clock can be slaved to a master clock now. * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_class_init), (gst_base_audio_sink_init), (gst_base_audio_sink_dispose), (gst_base_audio_sink_provide_clock), (gst_base_audio_sink_set_clock), (gst_base_audio_sink_set_property), (gst_base_audio_sink_get_property), (gst_base_audio_sink_preroll), (gst_base_audio_sink_render), (gst_base_audio_sink_change_state): * gst-libs/gst/audio/gstbaseaudiosink.h: Handle slaving the internal clock to the clock selected in the pipeline. Add property to make the basesink not provide a clock. * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_class_init), (gst_base_rtp_depayload_init), (gst_base_rtp_depayload_wait): * gst-libs/gst/rtp/gstbasertpdepayload.h: We can use the clock in GstElement, no need to store it ourselves. 2005-11-22 Thomas Vander Stichele * docs/libs/tmpl/gstaudio.sgml: update * ext/cdparanoia/gstcdparanoia.c: (gst_paranoia_mode_get_type), (gst_paranoia_endian_get_type): * ext/theora/theoraenc.c: (gst_border_mode_get_type): * gst/audioscale/gstaudioscale.c: (gst_audioscale_method_get_type): * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audiostestsrc_wave_get_type): * gst/playback/gststreaminfo.c: (gst_stream_type_get_type): * gst/tcp/gstfdset.c: (gst_fdset_mode_get_type): * gst/tcp/gstmultifdsink.c: (gst_recover_policy_get_type), (gst_sync_method_get_type), (gst_unit_type_get_type), (gst_client_status_get_type), (gst_multifdsink_class_init), (gst_multifdsink_new_client), (gst_multifdsink_recover_client), (gst_multifdsink_queue_buffer), (gst_multifdsink_set_property), (gst_multifdsink_get_property): * gst/tcp/gstmultifdsink.h: * gst/videoscale/gstvideoscale.c: (gst_videoscale_method_get_type): * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_pattern_get_type): remove deprecated properties fix up enums to correctly have short lowercase dashed nicks 2005-11-22 Michael Smith * gst/videorate/gstvideorate.c: (gst_videorate_chain): * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_create): Add underscore. 2005-11-22 Michael Smith * gst/videorate/gstvideorate.c: (gst_videorate_chain): * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_create): Use utility method for scaling clocktime for fractional framerates. 2005-11-22 Jan Schmidt * ext/libvisual/visual.c: (gst_visual_src_setcaps), (get_buffer), (gst_visual_chain): * ext/ogg/gstogmparse.c: (gst_ogm_parse_chain): * ext/theora/theoradec.c: (theora_handle_type_packet): * ext/theora/theoraenc.c: (theora_enc_sink_setcaps), (theora_enc_chain): * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps): * gst-libs/gst/video/video.c: (gst_video_frame_rate): * gst-libs/gst/video/video.h: * gst/ffmpegcolorspace/avcodec.h: * gst/ffmpegcolorspace/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_pixfmt): * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_set_caps): * gst/videorate/gstvideorate.c: (gst_videorate_transformcaps), (gst_videorate_setcaps), (gst_videorate_blank_data), (gst_videorate_chain): * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_src_fixate), (gst_videotestsrc_getcaps), (gst_videotestsrc_parse_caps), (gst_videotestsrc_setcaps), (gst_videotestsrc_event), (gst_videotestsrc_create): * gst/videotestsrc/gstvideotestsrc.h: * sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get), (gst_ximagesink_setcaps), (gst_ximagesink_change_state), (gst_ximagesink_get_times), (gst_ximagesink_init): * sys/ximage/ximagesink.h: * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support), (gst_xvimagesink_setcaps), (gst_xvimagesink_change_state), (gst_xvimagesink_get_times), (gst_xvimagesink_init): * sys/xvimage/xvimagesink.h: Convert elements to use fractions for their framerate. V4L elements to come later tonight. 2005-11-22 Thomas Vander Stichele * gst-libs/gst/audio/audio.c: * gst-libs/gst/audio/audio.h: remove some deprecated functions 2005-11-22 Andy Wingo * Update for gst_tag_setter API changes. 2005-11-22 Andy Wingo * ext/ogg/gstoggdemux.c (gst_ogg_pad_submit_packet) (gst_ogg_demux_perform_seek): * ext/theora/theoradec.c (theora_dec_sink_event): * ext/vorbis/vorbisdec.c (vorbis_dec_sink_event): Run update-funcnames. 2005-11-22 Wim Taymans * examples/seeking/seek.c: (main): Give higher priority to bus signals than the gtk events to fix a race condition in the segment looping. 2005-11-22 Tim-Philipp Müller * ext/theora/Makefile.am: * ext/vorbis/Makefile.am: * gst-libs/gst/tag/Makefile.am: * gst-plugins-base.spec.in: Rename libgsttagedit to libgsttag (#322117). 2005-11-22 Tim-Philipp Müller * sys/ximage/ximagesink.c: (gst_ximagesink_setcaps): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_setcaps): Call gst_x_overlay_prepare_xwindow_id() to give applications a final chance to set their own xwindow id before the video sink creates its own window. 2005-11-22 Julien MOUTTE * sys/xvimage/xvimagesink.c: (gst_xvimagesink_navigation_send_event): Handle navigation events correcly with borders if applicable. 2005-11-22 Tim-Philipp Müller Patch by: Luca Ognibene * gst/ffmpegcolorspace/gstffmpegcodecmap.c: (gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_to_pixfmt): * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_caps_remove_format_info): * gst/ffmpegcolorspace/imgconvert.c: * gst/ffmpegcolorspace/imgconvert_template.h: Forward-port fixes from the 0.8 branch (patch by Luca Ognibene, #318353); use gst_structure_has_name(). 2005-11-22 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_event_thread), (gst_ximagesink_class_init): Add debug macros on functions. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new), (gst_xvimagesink_xwindow_draw_borders), (gst_xvimagesink_xvimage_put), (gst_xvimagesink_xwindow_update_geometry), (gst_xvimagesink_handle_xevents), (gst_xvimagesink_get_xv_support), (gst_xvimagesink_event_thread), (gst_xvimagesink_xcontext_get), (gst_xvimagesink_xcontext_clear), (gst_xvimagesink_get_format_from_caps), (gst_xvimagesink_setcaps), (gst_xvimagesink_change_state), (gst_xvimagesink_show_frame), (gst_xvimagesink_buffer_alloc), (gst_xvimagesink_set_xwindow_id), (gst_xvimagesink_expose), (gst_xvimagesink_set_property), (gst_xvimagesink_get_property), (gst_xvimagesink_finalize), (gst_xvimagesink_init), (gst_xvimagesink_class_init): * sys/xvimage/xvimagesink.h: Refactoring to handle aspect ratio, expose while being PAUSED, out of data flow navigation events, etc.. 2005-11-22 Thomas Vander Stichele * gst-libs/gst/audio/audio.c: (gst_audio_duration_from_pad_buffer): * gst-libs/gst/audio/audio.h: fix prototype - wondering why the test worked regardless 2005-11-21 Thomas Vander Stichele * check/Makefile.am: * gst-libs/gst/audio/audio.c: (gst_audio_duration_from_pad_buffer): * gst-libs/gst/audio/audio.h: add a method that returns a proper GstClockTime 2005-11-21 Tim-Philipp Müller * gst-libs/gst/interfaces/xoverlay.c: (gst_x_overlay_base_init), (gst_x_overlay_got_xwindow_id), (gst_x_overlay_prepare_xwindow_id): * gst-libs/gst/interfaces/xoverlay.h: Remove everything having to do with the desired size; add gst_x_overlay_prepare_xwindow_id() function; remove the 'have-xwindow-id' signal and make gst_x_overlay_got_xwindow_id() post a message on the bus instead (#321816). * sys/ximage/ximagesink.c: (gst_ximagesink_xoverlay_init): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_setcaps), (gst_xvimagesink_xoverlay_init): Remove desired size stuff (#321816). 2005-11-21 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (mp3_type_find), (mpeg2_sys_type_find), (mpeg1_sys_type_find), (mpeg_video_type_find), (mpeg_video_stream_type_find): Terminate vararg functions with NULL instead of 0 to make gcc4 happy. 2005-11-21 Andy Wingo patch by: Sebastien Cote * gst-libs/gst/rtp/gstrtpbuffer.h: * gst-libs/gst/rtp/gstrtpbuffer.c (gst_rtpbuffer_get_payload_buffer): New function. Fixes #321451. 2005-11-21 Andy Wingo * gst/playback/gstplaybin.c (gen_audio_element) (gen_video_element): Use the new MISSING_PLUGIN core error category. Closes #320060. * ext/vorbis/vorbisdec.c (vorbis_dec_sink_event): * gst/videorate/gstvideorate.c (gst_videorate_event): * ext/theora/theoradec.c (theora_dec_sink_event): * ext/theora/theoraenc.c (theora_enc_sink_event): Don't take stream lock. * gst/subparse/gstsubparse.c (gst_subparse_src_event): * ext/ogg/gstoggdemux.c (gst_ogg_demux_perform_seek): Update for stream lock changes. 2005-11-21 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_class_init), (gst_base_audio_sink_init), (gst_base_audio_sink_provide_clock), (gst_base_audio_sink_set_clock), (gst_base_audio_sink_render), (gst_base_audio_sink_change_state): * gst/audioresample/gstaudioresample.c: Segment update fix. 2005-11-21 Andy Wingo * *.h: * *.c: Ran scripts/update-macros. Oh yes. 2005-11-21 Tim-Philipp Müller * sys/ximage/Makefile.am: * sys/ximage/ximage.c: Rename ximage plugin to ximagesink (#321426) (Don't forget to remove your old libgstximage.* manually if necessary). 2005-11-21 Michael Smith * ext/vorbis/vorbisenc.c: (gst_vorbisenc_setup): Minimal fix for bug #320200: set the min/max bitrate in the correct units. A better fix would be to upgrade to the RATEMANAGE2 interface, rather than using the deprecated interface used here, but that would require an update in our libvorbis dependency (to 1.1), which is probably undesirable. 2005-11-21 Jan Schmidt * ext/libvisual/visual.c: (get_buffer): * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_fixate): * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_fixate_caps): * gst/audioscale/gstaudioscale.c: (gst_audioscale_fixate): * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audiotestsrc_src_fixate): * gst/sine/gstsinesrc.c: (gst_sinesrc_src_fixate): * gst/videorate/gstvideorate.c: (gst_videorate_setcaps): * gst/videoscale/gstvideoscale.c: (gst_videoscale_fixate_caps): * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_src_fixate): * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_fixate): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_fixate): Rename gst_caps_structure_fixate_* to gst_structure_fixate_* (#322027) 2005-11-21 Tim-Philipp Müller * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps), (gst_riff_create_iavs_caps): * gst-libs/gst/riff/riff-read.c: (gst_riff_parse_file_header), (gst_riff_parse_strh), (gst_riff_parse_strf_vids), (gst_riff_parse_info): * gst/videotestsrc/videotestsrc.c: (paintinfo_find_by_structure): * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_set_caps): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_setcaps): Fixes for GST_FOURCC_FORMAT API change. 2005-11-21 Andy Wingo patch by: Alessandro Dessina * ext/ogg/gstoggmux.c (gst_ogg_mux_set_header_on_caps): * ext/ogg/gstoggparse.c (gst_ogg_parse_append_header) (gst_ogg_parse_chain): * ext/theora/theoraenc.c (theora_set_header_on_caps): * ext/vorbis/vorbisenc.c (gst_vorbisenc_set_header_on_caps): * ext/vorbis/vorbisparse.c (vorbis_parse_set_header_on_caps): Fix gst_value_list calls on arrays. Fixes #321962. 2005-11-21 Tim-Philipp Müller * ext/ogg/gstoggmux.c: (gst_ogg_mux_init), (gst_ogg_mux_request_new_pad), (gst_ogg_mux_queue_pads), (gst_ogg_mux_clear_collectpads), (gst_ogg_mux_change_state): * gst/adder/gstadder.c: (gst_adder_init), (gst_adder_request_new_pad), (gst_adder_collected), (gst_adder_change_state): Update for gst_collectpads_foo() to gst_collect_pads_foo() API change. 2005-11-21 Michael Smith * ext/vorbis/vorbisenc.c: (gst_vorbisenc_clear), (gst_vorbisenc_chain), (gst_vorbisenc_output_buffers): Properly handle pad_push return values. 2005-11-20 Jan Schmidt * gst-libs/gst/tag/Makefile.am: * gst-libs/gst/tag/gstvorbistag.c: (gst_tag_list_to_vorbiscomment_buffer): Remove obsolete vorbistag element and debug category. * gst/playback/gstplaybasebin.c: (check_queue): Don't divide by 0 when queue-threshold is 0. * sys/ximage/ximagesink.c: (gst_ximagesink_set_property): Don't modify an existing pixel-aspect-ratio if we fail to read a new one. 2005-11-20 Wim Taymans * ext/vorbis/vorbisenc.c: (gst_vorbisenc_push_buffer), (gst_vorbisenc_push_packet): GST_PAD_IS_USABLE is gone, use the return value of the push or pad_alloc_buffer instead. 2005-11-18 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximage_buffer_finalize), (gst_ximagesink_check_xshm_calls), (gst_ximagesink_ximage_new), (gst_ximagesink_ximage_destroy), (gst_ximagesink_xwindow_draw_borders), (gst_ximagesink_ximage_put), (gst_ximagesink_xwindow_new), (gst_ximagesink_xwindow_update_geometry), (gst_ximagesink_handle_xevents), (gst_ximagesink_event_thread), (gst_ximagesink_xcontext_get), (gst_ximagesink_xcontext_clear), (gst_ximagesink_bufferpool_clear), (gst_ximagesink_getcaps), (gst_ximagesink_setcaps), (gst_ximagesink_change_state), (gst_ximagesink_show_frame), (gst_ximagesink_buffer_alloc), (gst_ximagesink_navigation_send_event), (gst_ximagesink_set_xwindow_id), (gst_ximagesink_expose), (gst_ximagesink_set_property), (gst_ximagesink_get_property), (gst_ximagesink_finalize), (gst_ximagesink_init), (gst_ximagesink_class_init): * sys/ximage/ximagesink.h: Refactoring of ximagesink. This new version brings correct software scaling, non flickering window while resizing, pixel aspect ratio handling, usage of hardware buffer pools, out of data flow event thread for navigation and handling of expose events even when being PAUSED, a new property to keep video aspect ratio when resizing, etc... 2005-11-18 Julien MOUTTE * gst/videoscale/gstvideoscale.c: (gst_videoscale_class_init), (gst_videoscale_fixate_caps): Introduce back caps fixate with handling of PAR. 2005-11-18 Edward Hervey * gst/playback/gstdecodebin.c: (gst_decode_bin_init): Unsetting IS_SINK flag from the fakesink, so decodebin never behaves as a sink. 2005-11-17 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_change_state): Fix the audiosrc base class again, we did not unflush. 2005-11-17 Julien MOUTTE * examples/seeking/seek.c: (make_dv_pipeline), (make_vorbis_theora_pipeline), (make_avi_pipeline), (make_mpegnt_pipeline): Use VSINK everywhere, add a scaler to ogg/vorbis/theora pipeline. 2005-11-17 Wim Taymans * ext/ogg/gstoggmux.c: (gst_ogg_mux_queue_pads), (gst_ogg_mux_get_headers), (gst_ogg_mux_send_headers), (gst_ogg_mux_collected), (gst_ogg_mux_change_state): Fix EOS on multiple streams. More debugging. 2005-11-16 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_demux_configure_segment), (gst_ogg_demux_perform_seek): Segment done must include stream time. * ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init), (gst_ogg_mux_clear), (gst_ogg_mux_init), (gst_ogg_mux_finalize), (gst_ogg_mux_change_state): Fix ogg muxer again. 2005-11-16 Wim Taymans * ext/ogg/gstogmparse.c: (gst_ogm_audio_parse_init): Fix compile again. 2005-11-16 Thomas Vander Stichele * ext/libvisual/visual.c: (gst_visual_init): * ext/ogg/gstoggdemux.c: (gst_ogg_demux_init): * ext/ogg/gstoggparse.c: (gst_ogg_parse_init), (gst_ogg_parse_chain): * ext/ogg/gstogmparse.c: (gst_ogm_audio_parse_init), (gst_ogm_video_parse_init), (gst_ogm_text_parse_init): * ext/theora/theoradec.c: (gst_theora_dec_init): * ext/theora/theoraenc.c: (gst_theora_enc_init): * ext/vorbis/vorbisdec.c: (gst_vorbis_dec_init): * ext/vorbis/vorbisparse.c: (gst_vorbis_parse_init): * gst/adder/gstadder.c: (gst_adder_class_init), (gst_adder_dispose): * gst/audiorate/gstaudiorate.c: (gst_audiorate_init): * gst/subparse/gstsubparse.c: (gst_subparse_init): * gst/videorate/gstvideorate.c: (gst_videorate_init): Fix a whole set of pad template leaks 2005-11-16 Thomas Vander Stichele * check/generic/states.c: (GST_START_TEST): fix the test so that it only checks for elements that are part of this source module 2005-11-16 Michael Smith * ext/ogg/gstoggmux.c: (gst_ogg_mux_clear), (gst_ogg_mux_reset), (gst_ogg_mux_init), (gst_ogg_mux_request_new_pad), (gst_ogg_mux_push_buffer), (gst_ogg_mux_dequeue_page), (gst_ogg_mux_pad_queue_page), (gst_ogg_mux_queue_pads), (gst_ogg_mux_collected), (gst_ogg_mux_clear_collectpads), (gst_ogg_mux_change_state): Fix leaking collectpads. 2005-11-16 Edward Hervey * gst/videorate/gstvideorate.c: (gst_videorate_blank_data), (gst_videorate_event), (gst_videorate_chain): Handle segment seeks 2005-11-16 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_provide_clock), (gst_base_audio_sink_change_state): Set ringbuffer to non-flushing when going to PAUSED, set to flushing again when going to READY. * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_init), (gst_ring_buffer_stop): Start in flushing mode by default. Don't set flushing in the _stop method, let the app call this explicitly. 2005-11-16 Julien MOUTTE * gst-libs/gst/video/gstvideosink.c: (gst_video_sink_center_rect): * gst-libs/gst/video/videosink.h: Add helper function needed for video sinks. 2005-11-16 Tim-Philipp Müller * gst/videoscale/gstvideoscale.c: (gst_videoscale_handle_src_event): Don't leak reference to pad parent. 2005-11-16 Wim Taymans * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_stop): Set ringbuffer to flushing when stopping so that we don't block on wait_segment anymore and livelock. 2005-11-16 Wim Taymans * examples/seeking/seek.c: (send_event), (do_seek), (loop_toggle_cb), (segment_done), (main): Added looping checkbox. 2005-11-16 Thomas Vander Stichele * ext/ogg/gstoggdemux.c: (gst_ogg_pad_typefind), (gst_ogg_demux_init): * ext/vorbis/vorbisdec.c: (gst_vorbis_dec_base_init), (gst_vorbis_dec_init): revert unrefs, they don't pass make check 2005-11-15 Johan Dahlin * ext/ogg/gstoggdemux.c: (gst_ogg_pad_typefind), (gst_ogg_demux_init), (gst_ogg_demux_finalize): * ext/vorbis/vorbisdec.c: (gst_vorbis_dec_base_init), (gst_vorbis_dec_init): Fix pad template leaks. 2005-11-15 Tim-Philipp Müller * sys/xvimage/xvimagesink.c: (gst_xvimagesink_change_state): Make state change function thread safe. 2005-11-15 Edward Hervey * ext/ogg/gstoggdemux.c: (gst_ogg_demux_receive_event), (gst_ogg_demux_class_init): Implement GstElement::send_event, so we can send seek events in GST_STATE_READY 2005-11-14 Julien MOUTTE * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xwindow_new): Discovered how to take away flickering while resizing the window. Please don't put that in ximagesink, refactoring in progress. 2005-11-14 Michael Smith * gst/tcp/gstmultifdsink.c: (gst_multifdsink_client_queue_data), (gst_multifdsink_render): Don't leak GDP headers when using GDP mode (i.e. tcpserversink). 2005-11-14 Tim-Philipp Müller * gst/playback/gstplaybin.c: (gen_audio_element): Use autoaudiosink, it tends to be more widely available than autoaudiiosink. 2005-11-14 Andy Wingo * gst/playback/gstplaybin.c (gen_audio_element): Use autoaudiosink as well if it is available. Fixes #316442. 2005-11-14 Michael Smith * ext/ogg/gstoggmux.c: (gst_ogg_mux_clear), (gst_ogg_mux_init), (gst_ogg_mux_sinkconnect), (gst_ogg_mux_request_new_pad), (gst_ogg_mux_push_buffer), (gst_ogg_mux_dequeue_page), (gst_ogg_mux_pad_queue_page), (gst_ogg_mux_queue_pads), (gst_ogg_mux_set_header_on_caps), (gst_ogg_mux_collected), (gst_ogg_mux_clear_collectpads), (gst_ogg_mux_change_state): * ext/vorbis/vorbisenc.c: (gst_vorbisenc_buffer_from_packet), (gst_vorbisenc_change_state): Fix a small memory leak in vorbisenc. Fix large memory leaks in oggmux, also fix lots of state change bugs in oggmux. 2005-11-14 Thomas Vander Stichele * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_class_init), (gst_videotestsrc_init), (gst_videotestsrc_src_fixate): move fixation to a fixate function remove negotiate function, basesrc's is good enough fixes a bug for check when using the element alone 2005-11-13 Edward Hervey * examples/seeking/seek.c: (do_seek), (accurate_toggle_cb), (key_toggle_cb), (main): Added checkboxes for adding/removing the accurate and key_unit seek flags. 2005-11-11 Thomas Vander Stichele * configure.ac: back to HEAD === release 0.9.5 === 2005-11-11 Thomas Vander Stichele * configure.ac: releasing 0.9.5, "No No Kia" 2005-11-11 Edward Hervey * examples/seeking/seek.c: (make_parselaunch_pipeline): Added parse-launch syntax seeking mode for the seeking example. This should help stress-test even more cases. Ex usage : ./seek 15 "filesrc location=uranus.avi ! decodebin ! xvimagesink" 2005-11-11 Tim-Philipp Müller * sys/xvimage/xvimagesink.c: (gst_xvimagesink_navigation_send_event): Check whether peer pad exists before sending navigation events to it. 2005-11-11 Michael Smith * ext/vorbis/vorbisenc.c: (gst_vorbisenc_setup), (gst_vorbisenc_buffer_from_packet): * ext/vorbis/vorbisenc.h: Set duration on encoded buffers. This allows oggmux's max_page_delay parameter to actually work. 2005-11-11 Tim-Philipp Müller * gst/ffmpegcolorspace/gstffmpegcodecmap.c: (gst_ffmpeg_get_palette), (gst_ffmpeg_set_palette), (gst_ffmpegcsp_avpicture_fill): * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_get_unit_size), (gst_ffmpegcsp_transform): Make palettes work again (see #132341). Use our own macros for rounding up. 2005-11-10 Andy Wingo * gst/playback/gstplaybasebin.c (prepare_output): Fix format string doober. 2005-11-10 Thomas Vander Stichele * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_transform_caps): Prefer passthrough in transform_caps 2005-11-10 Thomas Vander Stichele * ext/alsa/gstalsasink.c: (gst_alsasink_open): check for ALSA errors properly, instead of relying on ALSA's error strings to serve to the user. 2005-11-10 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_event), (gst_ogg_demux_init), (gst_ogg_demux_configure_segment), (gst_ogg_demux_perform_seek), (gst_ogg_demux_loop), (gst_ogg_demux_change_state): Modernise the seek code. 2005-11-10 Michael Smith * gst/playback/gstplaybasebin.c: (group_commit), (new_decoded_pad), (setup_substreams), (set_active_source): Unlock GROUP_LOCK in failure cases, so that we don't deadlock when trying to go to NULL if we failed to read a file. 2005-11-10 Wim Taymans * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audiotestsrc_class_init), (gst_audiotestsrc_get_times), (gst_audiotestsrc_create): * gst/sine/gstsinesrc.c: (gst_sinesrc_class_init), (gst_sinesrc_get_times), (gst_sinesrc_create): * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_class_init), (gst_videotestsrc_get_times), (gst_videotestsrc_create): The base class can now sync for us. 2005-11-10 Thomas Vander Stichele * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_fixate): Check if the caps have a fourcc field. Fixes crash for gst-launch-0.9 v4lsrc name=source autoprobe=false autoprobe-fps=false copy-mode=1 device=/dev/video0 ! ffmpegcolorspace ! "video/x-raw-yuv, format=(fourcc)I420" ! xvimagesink 2005-11-10 Tim-Philipp Müller * gst/sine/gstsinesrc.c: (gst_sinesrc_class_init), (gst_sinesrc_get_query_types), (gst_sinesrc_src_query), (gst_sinesrc_newsegment): Send newsegment event in TIME format, set duration if num-buffers is set, fix duration querying. 2005-11-10 Michael Smith * ext/ogg/gstoggmux.c: (gst_ogg_mux_request_new_pad), (gst_ogg_mux_push_buffer), (gst_ogg_mux_dequeue_page), (gst_ogg_mux_pad_queue_page), (gst_ogg_mux_queue_pads), (gst_ogg_mux_collected): Fix EOS handling, partially. Now forwarding an EOS event once we have EOS on all pads works correctly. However, we still don't properly set EOS on the actual ogg stream pages. 2005-11-09 Tim-Philipp Müller * gst/playback/gstplaybin.c: (gst_play_bin_dispose): Set elements to NULL state before disposing of them. 2005-11-08 Sebastien Cote Reviewed by: Tim-Philipp Müller * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_init), (gst_base_rtp_depayload_set_gst_timestamp): * gst-libs/gst/rtp/gstbasertpdepayload.h: We need to send a newsegment event for each instance, not just for the first instance of this class (get rid of static variable in function). (#321011). 2005-11-08 Michael Smith * ext/ogg/gstoggmux.c: (gst_ogg_mux_request_new_pad), (gst_ogg_mux_buffer_from_page), (gst_ogg_mux_push_buffer), (gst_ogg_mux_dequeue_page), (gst_ogg_mux_pad_queue_page), (gst_ogg_mux_send_headers), (gst_ogg_mux_collected): Forward port rewrite of muxing strategy to 0.9 version of oggmux. This makes us mux things correctly according to the ogg muxing rules. Still not handling EOS correctly right now, though. 2005-11-08 Tim-Philipp Müller * gst/audioconvert/gstaudioconvert.c: Fix typo in docs. 2005-11-08 Tim-Philipp Müller * ext/ogg/gstoggdemux.c: (gst_ogg_pad_internal_chain), (gst_ogg_pad_submit_packet), (gst_ogg_chain_new): Initialise segment_stop to GST_CLOCK_TIME_NONE when creating a new chain; should fix live streaming. Also add more debug output and fix a typo. 2005-11-08 Brian Cameron Reviewed by: Tim-Philipp Müller * gst/volume/gstvolume.c: (volume_set_caps): Fix compilation on Solaris with Forte. (#320923) 2005-11-08 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_render): No need to do a typecheck. 2005-11-07 Tim-Philipp Müller * ext/alsa/gstalsa.h: We register a debug category, so let's use it. 2005-11-04 Zeeshan Ali * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_class_init), (gst_base_rtp_depayload_wait): Fixed a small problem. 2005-11-04 Wim Taymans * examples/seeking/Makefile.am: * examples/seeking/scrubby.c: (gst_element_factory_make_or_warn), (dynamic_link), (setup_dynamic_link), (make_wav_pipeline), (make_playerbin_pipeline), (format_value), (update_scale), (speed_cb), (seek_cb), (do_seek), (start_seek), (stop_seek), (play_cb), (pause_cb), (stop_cb), (print_message), (bus_message), (print_usage), (main): Added app for playback speed testing. * examples/seeking/seek.c: (dynamic_link), (make_avi_msmpeg4v3_mp3_pipeline), (make_avi_pipeline), (make_mpeg_pipeline), (do_seek), (set_update_scale), (message_received), (main): Updated seek example. 2005-11-04 Zeeshan Ali * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_class_init), (gst_base_rtp_depayload_init), (gst_base_rtp_depayload_thread), (gst_base_rtp_depayload_wait), (gst_base_rtp_depayload_set_clock): * gst-libs/gst/rtp/gstbasertpdepayload.h: Don't sleep on the bench (system clock) when you have a nice comfortable bed (Gstreamer clock) to sleep on. 2005-11-03 Wim Taymans * gst/playback/gstdecodebin.c: (gst_decode_bin_init), (gst_decode_bin_dispose), (free_dynamics), (remove_fakesink), (pad_blocked), (close_pad_link), (new_pad), (no_more_pads): Handle the case where a pad_block failed. 2005-11-02 Sebastien Cote reviewed by: Zeeshan Ali * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_add_to_queue), (gst_base_rtp_depayload_push), (gst_base_rtp_depayload_set_gst_timestamp), (gst_base_rtp_depayload_queue_release): Fixes some bugs in the depayloader's queuing/de-queueing code. 2005-10-31 Michael Smith * ext/ogg/gstoggdemux.c: (gst_ogg_pad_init), (gst_ogg_demux_read_chain), (gst_ogg_demux_read_end_chain), (gst_ogg_demux_collect_chain_info), (gst_ogg_print): Patch from Alessandro Decina . Make oggdemux only find the final time in a chain, not per-pad, since the per-pad information can be very expensive to locate, and it isn't used anywhere. This makes reading a file containing OggSkeleton reasonably fast. Also, make chain finding work when there are logical bitstreams that can't be decoded. Fixes #319110. 2005-10-31 Zeeshan Ali * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_class_init), (gst_base_rtp_depayload_init), (gst_base_rtp_depayload_chain), (gst_base_rtp_depayload_add_to_queue), (gst_base_rtp_depayload_push), (gst_base_rtp_depayload_set_gst_timestamp), (gst_base_rtp_depayload_queue_release), (gst_base_rtp_depayload_start_thread), (gst_base_rtp_depayload_set_property), (gst_base_rtp_depayload_get_property): * gst-libs/gst/rtp/gstbasertpdepayload.h: Some random fixes, to fullfill the desires of thomas. 2005-10-31 Zeeshan Ali * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_add_to_queue), (gst_base_rtp_depayload_push): Fixed the queueing algorithm. 2005-10-31 Zeeshan Ali * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_push): A small fix 2005-10-31 Wim Taymans * gst-libs/gst/audio/gstringbuffer.h: Don't break ABI. * gst/ffmpegcolorspace/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_pixfmt): * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_set_caps): Some more comments. Handle missing required caps fields better. 2005-10-31 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_event), (gst_base_audio_sink_get_offset), (gst_base_audio_sink_render): * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_open_device), (gst_ring_buffer_close_device), (gst_ring_buffer_set_flushing), (gst_ring_buffer_start), (gst_ring_buffer_pause_unlocked), (gst_ring_buffer_pause), (gst_ring_buffer_stop), (wait_segment), (gst_ring_buffer_commit), (gst_ring_buffer_read): * gst-libs/gst/audio/gstringbuffer.h: Add flushing mode to the ringbuffer so that it in all cases does not try to handle more audio. This makes sure it does not try to block anymore when flushing and fixes a livelock. 2005-10-29 Tim-Philipp Müller * ext/ogg/gstoggdemux.c: (gst_ogg_pad_query_convert), (gst_ogg_demux_chain_peer), (gst_ogg_demux_perform_seek), (gst_ogg_demux_read_chain), (gst_ogg_demux_read_end_chain): Explicitly check for -1 values before doing a conversion and always map them to -1. (#315545) 2005-10-28 Thomas Vander Stichele * gst/playback/gstplaybin.c: (gen_video_element): first try autovideosink, then xvimagesink, then error out * po/POTFILES.in: add translatable file * 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: update translations 2005-10-27 Philippe Khalaf * gst-libs/gst/rtp/gstbasedepayload.c: * gst-libs/gst/rtp/gstbasedepayload.h: Minor cleanups 2005-10-27 Tim-Philipp Müller * gst/playback/.cvsignore: * gst/playback/decodetest.c: * gst/playback/test3.c: Port these two tests as well. 2005-10-27 Wim Taymans * ext/theora/theoradec.c: (theora_dec_src_query), (theora_dec_sink_event): * ext/theora/theoraenc.c: (theora_enc_sink_event), (theora_enc_change_state): * ext/vorbis/vorbisenc.c: (gst_vorbisenc_init), (gst_vorbisenc_sink_event), (gst_vorbisenc_change_state): Take proper locks when handling events. 2005-10-27 Wim Taymans * gst/adder/gstadder.c: (gst_adder_query), (gst_adder_collected), (gst_adder_change_state): Fix timestamps and fix deadlock when stopping the collectpads. 2005-10-27 Zeeshan Ali * gst-libs/gst/rtp/gstrtpbuffer.h: Declaring the payload types as strings too so that they can be used in the padtemplate inialization. 2005-10-26 Andre Magalhaes reviewed by: Zeeshan Ali * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_class_init): Fixes a small but nasty bug. The derived elements no longer segfaults on finalization. 2005-10-26 Michael Smith * gst/audioconvert/audioconvert.c: (audio_convert_clean_context): When clearing an audioconvert context, set tmpbufsize to zero, so we'll allocate it again later if required. This fixes audioconvert re-negotiating formats, which previously segfaulted with a NULL destination buffer. 2005-10-26 Zeeshan Ali * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_base_init), (gst_base_rtp_depayload_push), (gst_base_rtp_depayload_set_gst_timestamp), (gst_base_rtp_depayload_queue_release): Fixed a smalll memleak. 2005-10-26 Zeeshan Ali * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_base_init), (gst_base_rtp_depayload_init), (gst_base_rtp_depayload_finalize), (gst_base_rtp_depayload_setcaps), (gst_base_rtp_depayload_add_to_queue), (gst_base_rtp_depayload_push), (gst_base_rtp_depayload_set_gst_timestamp), (gst_base_rtp_depayload_queue_release), (gst_base_rtp_depayload_thread), (gst_base_rtp_depayload_change_state): * gst-libs/gst/rtp/gstbasertpdepayload.h: Changed the C++ comments to C comments 2005-10-26 Tim-Philipp Müller * gst/tcp/gsttcpclientsrc.c: (gst_tcpclientsrc_init): * gst/tcp/gsttcpclientsrc.h: * gst/tcp/gsttcpserversrc.c: (gst_tcpserversrc_init): * gst/tcp/gsttcpserversrc.h: Remove unused 'curoffset' structure member. 2005-10-25 Zeeshan Ali * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_base_init), (gst_base_rtp_depayload_finalize): * gst-libs/gst/rtp/gstbasertpdepayload.h: * gst-libs/gst/rtp/gstbasertppayload.h: The pad-template on the sinkpad should be set by the derived classes. Also added some useful macros. 2005-10-24 Wim Taymans * ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet): Correctly flush decoder samples even if we could not copy them to an output buffer. Fixes #319618. 2005-10-24 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_setcaps): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_setcaps): Check the caps against our xcontext caps. 2005-10-24 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_get_offset), (gst_base_audio_sink_render): Remove g_print Use sync property from baseclass to disable sync. 2005-10-24 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_get_offset), (gst_base_audio_sink_render): Buffers with no timestamps get aligned with previous buffers or on underrun, played ASAP. 2005-10-24 Julien MOUTTE * gst-libs/gst/video/video.h: * gst/ffmpegcolorspace/gstffmpegcodecmap.c: * sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support): And here comes my change on caps for framerate and geometry range. We are now accepting 1 to MAXINT for width and height, and from 0.0 to MAXDOUBLE for framerate. That allows duration less png frames to be blended correctly in videomixer. 2005-10-24 Thomas Vander Stichele * configure.ac: back to HEAD === release 0.9.4 === 2005-10-23 Thomas Vander Stichele * NEWS: * RELEASE: * configure.ac: releasing 0.9.4, "Velociraptor" 2005-10-23 Thomas Vander Stichele * ext/ogg/gstoggdemux.c: (gst_ogg_demux_loop): * po/POTFILES.in: STOPPED -> FAILED 2005-10-21 Wim Taymans * gst/playback/gstdecodebin.c: (gst_decode_bin_init), (gst_decode_bin_dispose), (free_dynamics), (pad_unblocked), (pad_blocked), (close_pad_link), (new_pad): Don't try to remove elements twice. 2005-10-21 Wim Taymans * ext/theora/theoradec.c: (theora_dec_src_query), (theora_dec_sink_event): * ext/vorbis/vorbisdec.c: (vorbis_dec_src_query), (vorbis_dec_sink_event), (vorbis_handle_identification_packet), (vorbis_handle_data_packet): * ext/vorbis/vorbisdec.h: Fix old naming. * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_render): Don't try to sync on buffers without a timestamp. 2005-10-21 Wim Taymans * ext/theora/theoradec.c: (theora_dec_src_query), (theora_dec_sink_event): * ext/vorbis/vorbisdec.c: (vorbis_dec_src_query), (vorbis_dec_sink_event), (vorbis_handle_identification_packet), (vorbis_handle_data_packet): * ext/vorbis/vorbisdec.h: Fix old naming. 2005-10-20 Tim-Philipp Müller * ext/vorbis/vorbisenc.c: (gst_vorbisenc_get_query_types), (gst_vorbisenc_src_query): Implement position and duration queries. * gst/playback/test3.c: (update_scale), (main): Fix for async state changes and print nicer output. 2005-10-20 Wim Taymans * gst/playback/test5.c: (new_pad), (no_more_pads), (start_finding), (dump_element_stats), (main): * gst/playback/test6.c: (main): Fix tests again 2005-10-20 Tim-Philipp Müller * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audiotestsrc_src_query): * gst/sine/gstsinesrc.c: (gst_sinesrc_src_query): Don't use functions for position queries when handling duration queries. 2005-10-20 Tim-Philipp Müller * ext/vorbis/vorbisdec.c: (vorbis_dec_sink_event), (vorbis_handle_data_packet), (vorbis_dec_chain), (vorbis_dec_change_state): * ext/vorbis/vorbisdec.h: Vorbis streams can be embedded in other container formats than ogg, container formats where the demuxer might set timestamps on encoded vorbis buffers instead of those silly granulepos thingies. In short: make vorbisdec handle timestamps on incoming buffers as well. 2005-10-20 Wim Taymans * gst/playback/gstplaybasebin.c: (group_destroy), (gst_play_base_bin_change_state): Fix leak. Handle case where playbasebin is now ASYNC because decodebin is. 2005-10-19 Tim-Philipp Müller * gst/audioconvert/Makefile.am: * gst/audioconvert/bufferframesconvert.c: * gst/audioconvert/plugin.c: (plugin_init): * gst/audioconvert/plugin.h: And bye bye buffer-frames-convert 2005-10-19 Wim Taymans * check/elements/audioconvert.c: * docs/libs/tmpl/gstaudio.sgml: * docs/libs/tmpl/gstcolorbalance.sgml: * ext/vorbis/vorbisdec.c: (vorbis_dec_sink_event), (vorbis_handle_identification_packet), (vorbis_handle_data_packet): * ext/vorbis/vorbisenc.c: (raw_caps_factory): * gst-libs/gst/audio/audio.c: (gst_audio_structure_set_int): * gst-libs/gst/audio/audio.h: * gst/audioconvert/audioconvert.h: * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_parse_caps): * gst/volume/gstvolume.c: Bye bye buffer-frames. 2005-10-19 Wim Taymans * examples/seeking/seek.c: (make_avi_msmpeg4v3_mp3_pipeline), (query_positions_elems), (query_positions_pads), (update_scale), (do_seek), (set_update_scale), (message_received), (main): * ext/ogg/gstoggdemux.c: (gst_ogg_pad_src_query), (gst_ogg_demux_perform_seek), (gst_ogg_demux_find_chains), (gst_ogg_demux_loop): * ext/ogg/gstogmparse.c: (gst_ogm_parse_sink_query): * ext/theora/theoradec.c: (theora_dec_src_query), (theora_dec_sink_event): * ext/vorbis/vorbisdec.c: (vorbis_dec_src_query), (vorbis_dec_sink_event), (vorbis_handle_data_packet): * gst/adder/gstadder.c: (gst_adder_query): * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audiotestsrc_src_query): * gst/playback/test3.c: (update_scale): * gst/playback/test5.c: (new_pad), (no_more_pads), (start_finding), (dump_element_stats), (main): * gst/playback/test6.c: (main): * gst/sine/gstsinesrc.c: (gst_sinesrc_src_query): Query API update. 2005-10-19 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (utf8_type_find), (xml_check_first_element), (xml_type_find), (smil_type_find), (plugin_init): Add typefinding for SMIL and for generic XML. Based on patch by Akos Maroy (#308663). 2005-10-18 Wim Taymans * gst/playback/Makefile.am: * gst/playback/gstdecodebin.c: (gst_decode_bin_init), (gst_decode_bin_dispose), (dynamic_create), (dynamic_free), (free_dynamics), (pad_unblocked), (pad_blocked), (close_pad_link), (try_to_link_1), (new_pad), (no_more_pads), (type_found), (gst_decode_bin_change_state): * gst/playback/gstplaybin.c: (gst_play_bin_class_init), (gst_play_bin_send_event_to_sink): * gst/playback/test5.c: (new_pad), (no_more_pads), (start_finding), (dump_element_stats), (main): * gst/playback/test6.c: (main): Make playbin async, it'll commit state to paused when all streams are detected. Remove ugly hack. Added test6.c to show async behaviour. 2005-10-18 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain_peer), (gst_ogg_demux_perform_seek), (gst_ogg_demux_loop): Fix for segment-start/stop API change. 2005-10-18 Wim Taymans * check/Makefile.am: * check/clocks/selection.c: (GST_START_TEST), (volume_suite), (main): Add future test for clock selection. 2005-10-18 Wim Taymans * ext/alsa/gstalsasink.c: (gst_alsasink_init), (gst_alsasink_close): Set handle to NULL. * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_open_device), (gst_ring_buffer_close_device), (gst_ring_buffer_acquire), (gst_ring_buffer_release), (gst_ring_buffer_start), (gst_ring_buffer_pause), (gst_ring_buffer_stop), (gst_ring_buffer_commit), (gst_ring_buffer_read): More debug info. 2005-10-17 Stefan Kost * gst/audiotestsrc/Makefile.am: * gst/sine/Makefile.am: * gst/volume/Makefile.am: fix broken build of controllerized plugins 2005-10-17 Fabrizio Gennari Reviewed by: Tim-Philipp Müller * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps), (gst_riff_create_video_template_caps): Add support for Indeo-3 (IV32). 2005-10-17 Thomas Vander Stichele * configure.ac: rewrite 2005-10-17 Thomas Vander Stichele * gst-libs/gst/video/video.c: (gst_video_get_size): * gst/audiotestsrc/gstaudiotestsrc.c: doc updates 2005-10-17 Andy Wingo * ext/ogg/gstoggmux.c (gst_ogg_mux_queue_pads): Fix bug introduced with the collectpads change. (gst_ogg_mux_send_headers): Elevate warning to a g_critical. * gst/tcp/gstmultifdsink.c: Convert to use the boilerplate macro. * gst/tcp/gsttcp.c (gst_tcp_socket_read): Comment update. * ext/theora/theoraenc.c (theora_buffer_from_packet): Pass the alloc_buffer flow return to callers. (theora_enc_chain, theora_enc_chain): Adapt to buffer_from_packet change. Fix some memleaks in theoraenc. * ext/ogg/gstoggmux.c (gst_ogg_mux_send_headers): Fix a segfault in strange circumstance. 2005-10-17 Julien MOUTTE * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_get_unit_size): We are asked to compute a buffer size from caps, let's use the caps... 2005-10-17 Thomas Vander Stichele * configure.ac: put back AX_CREATE_STDINT_H, ffmpegcolorspace includes _stdint.h 2005-10-16 Thomas Vander Stichele * gst-libs/gst/interfaces/Makefile.am: fix silly typo 2005-10-16 Andy Wingo * gst/playback/gstdecodebin.c (gst_element_set_state_like_a_crazy_man): New kraaaaaaazy function! (try_to_link_1): Increase kraziness level. 2005-10-16 Thomas Vander Stichele * configure.ac: restructure like the core one * gst-libs/gst/audio/Makefile.am: * gst-libs/gst/interfaces/Makefile.am: * gst-libs/gst/net/Makefile.am: * gst-libs/gst/riff/Makefile.am: * gst-libs/gst/rtp/Makefile.am: * gst-libs/gst/tag/Makefile.am: * gst-libs/gst/video/Makefile.am: use correct linker flags, now the libs are properly versioned * check/elements/audioconvert.c: (verify_convert): * ext/alsa/gstalsaplugin.c: * ext/cdparanoia/gstcdparanoia.c: * ext/gnomevfs/gstgnomevfs.c: * ext/libvisual/visual.c: * ext/ogg/gstogg.c: * ext/ogg/gstoggparse.c: (gst_ogg_parse_chain): * ext/theora/theora.c: * ext/vorbis/vorbis.c: * gst-libs/gst/audio/gstaudiofiltertemplate.c: * gst-libs/gst/tag/gsttagediting.c: * gst-libs/gst/video/video.c: * gst/adder/gstadder.c: * gst/audioconvert/plugin.c: * gst/audiorate/gstaudiorate.c: * gst/audioresample/gstaudioresample.c: * gst/audioresample/resample_ref.c: (resample_scale_ref): * gst/audioscale/gstaudioscale.c: * gst/audioscale/resample.c: * gst/audiotestsrc/gstaudiotestsrc.c: * gst/ffmpegcolorspace/gstffmpeg.c: * gst/playback/gstdecodebin.c: (close_pad_link): * gst/playback/gstplaybin.c: (gen_video_element), (gen_audio_element): * gst/sine/gstsinesrc.c: * gst/subparse/gstsubparse.c: * gst/tags/gsttagediting.c: * gst/tcp/gsttcpplugin.c: * gst/typefind/gsttypefindfunctions.c: * gst/videorate/gstvideorate.c: * gst/videoscale/gstvideoscale.c: * gst/videotestsrc/gstvideotestsrc.c: * gst/volume/gstvolume.c: * sys/v4l/gstv4l.c: * sys/ximage/ximage.c: * sys/xvimage/xvimagesink.c: fix up defines 2005-10-13 Tim-Philipp Müller * ext/vorbis/vorbisenc.c: * gst-libs/gst/tag/gstid3tag.c: (gst_tag_list_new_from_id3v1): * gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add), (gst_tag_to_vorbis_comments): Fix handling of GST_TAG_DATE, which is now of GST_TYPE_DATE. 2005-10-13 Stefan Kost * examples/stats/mp2ogg.c: * gst/ffmpegcolorspace/gstffmpegcodecmap.c: typo fixes 2005-10-13 Michael Smith * ext/ogg/gstoggmux.c: Use magic glib macros to define constants as 64 bit, to ensure appropriate vararg passing. 2005-10-13 Michael Smith * ext/ogg/gstoggmux.c: * gst/audioconvert/audioconvert.c: (float): Don't use LL suffix, as it's not portable, and neither of these uses required it anyway. 2005-10-12 Stefan Kost * examples/indexing/indexmpeg.c: (main): * ext/cdparanoia/gstcdparanoia.c: (cdparanoia_get), (cdparanoia_open), (cdparanoia_close), (cdparanoia_event), (cdparanoia_convert), (cdparanoia_query): * ext/cdparanoia/gstcdparanoia.h: * ext/gnomevfs/gstgnomevfssink.c: (gst_gnomevfssink_init), (gst_gnomevfssink_open_file), (gst_gnomevfssink_close_file), (gst_gnomevfssink_chain), (gst_gnomevfssink_change_state): * ext/ogg/gstoggmux.c: (gst_ogg_mux_init): * gst/audioscale/gstaudioscale.c: (gst_audioscale_init): * gst/playback/gststreamselector.c: (gst_stream_selector_init): * gst/tcp/gstmultifdsink.c: (gst_multifdsink_init), (gst_multifdsink_render), (gst_multifdsink_start), (gst_multifdsink_stop): * gst/tcp/gstmultifdsink.h: * gst/tcp/gsttcpclientsink.c: (gst_tcpclientsink_init), (gst_tcpclientsink_render), (gst_tcpclientsink_start), (gst_tcpclientsink_stop): * gst/tcp/gsttcpclientsink.h: * gst/tcp/gsttcpclientsrc.c: (gst_tcpclientsrc_init), (gst_tcpclientsrc_getcaps), (gst_tcpclientsrc_create), (gst_tcpclientsrc_start), (gst_tcpclientsrc_stop): * gst/tcp/gsttcpclientsrc.h: * gst/tcp/gsttcpserversink.h: * gst/tcp/gsttcpserversrc.c: (gst_tcpserversrc_init), (gst_tcpserversrc_create), (gst_tcpserversrc_start), (gst_tcpserversrc_stop): * gst/tcp/gsttcpserversrc.h: * sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_init): * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_init): * sys/ximage/ximagesink.c: (gst_ximagesink_init): renamed GST_FLAGS macros to GST_OBJECT_FLAGS moved bitshift from macro to enum definition 2005-10-12 Wim Taymans * examples/seeking/Makefile.am: Oops. 2005-10-12 Wim Taymans * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_commit), (gst_ring_buffer_read), (gst_ring_buffer_clear): Don't assert on normal stuff. * gst/playback/gstplaybin.c: (do_playbin_seek): API fix. 2005-10-12 Wim Taymans * check/pipelines/simple_launch_lines.c: (run_pipeline): * examples/seeking/Makefile.am: * examples/seeking/cdplayer.c: (play_cb), (pause_cb), (stop_cb): * examples/seeking/seek.c: (make_avi_msmpeg4v3_mp3_pipeline), (do_seek), (set_update_scale), (message_received), (main): * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_commit), (gst_ring_buffer_read), (gst_ring_buffer_clear): Update for _get_state() API change. 2005-10-11 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_render): * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_create): * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_commit), (gst_ring_buffer_read): Cleanups. Commit and read from ringbuffer in samples rather than bytes. 2005-10-11 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_render): Respect segment rate and accum when scheduling samples. 2005-10-11 Julien MOUTTE * ext/ogg/gstoggmux.c: (gst_ogg_mux_queue_pads), (gst_ogg_mux_collected): Quick hack to fix build. We need to handle EOS correctly, that needs more work. 2005-10-11 Wim Taymans * check/generic/states.c: (GST_START_TEST): remove old property. * ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet), (gst_ogg_demux_perform_seek): * ext/theora/theoradec.c: (theora_dec_sink_event): * ext/vorbis/vorbisdec.c: (vorbis_dec_sink_event), (vorbis_handle_data_packet): * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_set_gst_timestamp): * gst/videorate/gstvideorate.c: (gst_videorate_event): Update for newsegment API change. 2005-10-11 Michael Smith * gst/playback/gstplaybin.c: (gst_play_bin_send_event_to_sink), (do_playbin_seek), (gst_play_bin_send_event): Override send_event differently, so that we can takes bits of functionality from GstPipeline (special handling for seeks, including pausing/resuming, and resetting stream time) and still get the appropriate behaviour of only forwarding event to a single sink, rather than all of them. Unfortunately requires a lot of code duplication, but the alternatives are equally ugly in the end. 2005-10-11 Thomas Vander Stichele * check/elements/audioconvert.c: (setup_audioconvert), (cleanup_audioconvert), (get_int_caps), (verify_convert), (GST_START_TEST), (audioconvert_suite): clean up tests a little, fix some leaks. 2005-10-10 Wim Taymans * ext/alsa/gstalsasink.c: Also allow unsigned int. * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_create), (gst_base_audio_src_change_state): Small cleanup 2005-10-10 Wim Taymans * check/pipelines/simple_launch_lines.c: (run_pipeline): Small update, use API as stated in design docs. * examples/seeking/seek.c: (make_avi_msmpeg4v3_mp3_pipeline), (update_scale), (do_seek), (seek_cb), (set_update_scale), (start_seek), (stop_seek), (play_cb), (pause_cb), (stop_cb), (message_received), (main): Updated seek example for GOption. Some usability improvements. 2005-10-10 Wim Taymans * gst/audioconvert/audioconvert.h: * gst/audioconvert/gstchannelmix.c: (gst_channel_mix_unset_matrix), (gst_channel_mix_setup_matrix), (gst_channel_mix_mix): Alloc temp storage somewhere else where we can do it more portable. 2005-10-10 Wim Taymans * gst/tcp/gsttcpserversrc.c: (gst_tcpserversrc_create), (gst_tcpserversrc_start): Don't block in accept while doing the state change, move to poll and make cancellable. 2005-10-09 Philippe Khalaf * gst-libs/gst/rtp/rtpbasedepayload.c: Set timestamp and add queue delay to timestamp * gst-libs/gst/rtp/rtpbuffer.h: Set correct payload type for h263 2005-10-09 Stefan Kost * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audiostestsrc_wave_get_type), (gst_audiotestsrc_class_init), (gst_audiotestsrc_init), (gst_audiotestsrc_create_sine), (gst_audiotestsrc_create_square), (gst_audiotestsrc_create_saw), (gst_audiotestsrc_create_triangle), (gst_audiotestsrc_create_silence), (gst_audiotestsrc_create_white_noise), (gst_audiotestsrc_init_pink_noise), (gst_audiotestsrc_generate_pink_noise_value), (gst_audiotestsrc_create_pink_noise), (gst_audiotestsrc_change_wave): * gst/audiotestsrc/gstaudiotestsrc.h: fixed typo, added pink noise 2005-10-09 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (wavpack_type_find), (plugin_init): Add wavpack and spc typefind functions from 0.8 branch. 2005-10-09 Tim-Philipp Müller * gst/typefind/gsttypefindfunctions.c: (tar_type_find), (ar_type_find), (msdos_type_find), (plugin_init): Add typefind functions for tar archives, ar archives, RAR archives, and msdos-executables (dlls, exe, etc.). Some of those would be wrongly identified as mpeg streams of some sort before (#315550). 2005-10-09 Stefan Kost * configure.ac: * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/gst-plugins-base-plugins-sections.txt: * gst/audioscale/gstaudioscale.c: (gst_audioscale_method_get_type): * gst/audiotestsrc/Makefile.am: * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audiostestsrc_wave_get_type), (gst_audiotestsrc_base_init), (gst_audiotestsrc_class_init), (gst_audiotestsrc_init), (gst_audiotestsrc_src_fixate), (gst_audiotestsrc_setcaps), (gst_audiotestsrc_get_query_types), (gst_audiotestsrc_src_query), (gst_audiotestsrc_wait), (gst_audiotestsrc_unlock), (gst_audiotestsrc_create_sine), (gst_audiotestsrc_create_square), (gst_audiotestsrc_create_saw), (gst_audiotestsrc_create_triangle), (gst_audiotestsrc_create_silence), (gst_audiotestsrc_create_white_noise), (gst_audiotestsrc_change_wave), (gst_audiotestsrc_create), (gst_audiotestsrc_set_property), (gst_audiotestsrc_get_property), (gst_audiotestsrc_start), (plugin_init): * gst/audiotestsrc/gstaudiotestsrc.h: add new plugin and element * gst/sine/gstsinesrc.c: (gst_sinesrc_class_init): use gobject_class 2005-10-09 Tim-Philipp Müller * gst/adder/gstadder.c: (gst_adder_query), (gst_adder_class_init), (gst_adder_init), (gst_adder_request_new_pad), (gst_adder_change_state): Add query function to source pad, so adder reports the correct time/sample position when queried (#315457); fix state change function; use GST_DEBUG_FUNCPTR() for pad functions. 2005-10-08 Thomas Vander Stichele * gst/typefind/gsttypefindfunctions.c: (utf8_type_find): Fix leaks in typefind registration Clean up the gratuitous commenting and whitespacing a little 2005-10-08 Wim Taymans * gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_stop): Only actually wait for the thread to be stopped if it's running. 2005-10-08 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_event), (gst_base_audio_sink_render): If we receive EOS we can start playback of what we had. 2005-10-08 Wim Taymans * gst/tcp/gstmultifdsink.c: (gst_multifdsink_class_init), (gst_multifdsink_finalize), (multifdsink_hash_remove), (gst_multifdsink_stop): Fix crasher when going to NULL multiple times. 2005-10-06 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_event), (gst_base_audio_src_create), (gst_base_audio_src_change_state): * gst-libs/gst/audio/gstbaseaudiosrc.h: * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_read): patch from Edgard Lima Fixed gstbaseaudiosrc adding ring buffer sync to it. 2005-10-06 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_demux_loop): Report the FLOW_RETURN as string in the error message. * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_clear_all): Don't assert when clearing an unnegotiated buffer. 2005-10-04 Michael Smith * gst/playback/gstplaybasebin.c: (group_destroy), (gen_preroll_element), (remove_groups), (setup_source): * gst/playback/gstplaybin.c: (remove_sinks), (add_sink), (setup_sinks), (gst_play_bin_send_event), (gst_play_bin_change_state): Set state to NULL before removing from bin. Fix refcounting. 2005-10-04 Michael Smith * gst/playback/gstplaybin.c: (gst_play_bin_send_event): Correct refcounting in send_event() function. Previously was wrong if the first sink was unable to handle the event. 2005-10-03 Thomas Vander Stichele * configure.ac: back to development === release 0.9.3 === 2005-10-03 Thomas Vander Stichele * configure.ac: Releasing 0.9.3, "De Facto" 2005-10-03 Andy Wingo * gst/playback/gstdecodebin.c (try_to_link_1) (remove_element_chain): set element to NULL before removing it. 2005-10-02 Johan Dahlin * ext/gnomevfs/gstgnomevfssrc.c (gst_gnomevfssrc_uri_get_protocols): protect gst_gnomevfs_get_supported_uris by a mutex, to make it MT safe. 2005-10-02 Andy Wingo * gst-libs/gst/audio/gstringbuffer.c (gst_ring_buffer_clear) (gst_ring_buffer_prepare_read): * gst-libs/gst/audio/gstaudiosink.c (audioringbuffer_thread_func): Demote to LOG. 2005-09-29 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain_peer): * ext/theora/theoradec.c: (theora_handle_data_packet): * ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet): Propagate error codes from alloc_buffer too. 2005-09-29 Wim Taymans * ext/vorbis/vorbisdec.c: (gst_vorbis_dec_init): We use fixed caps. * gst/playback/Makefile.am: * gst/playback/test5.c: (new_pad), (no_more_pads), (start_finding), (dump_element_stats), (main): Added example stream introspection code. 2005-09-28 Stefan Kost * gst/adder/gstadder.c: (gst_adder_collected): fix adder for float elements 2005-09-28 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_class_init), (gst_base_audio_sink_provide_clock), (gst_base_audio_sink_render): * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_class_init), (gst_base_audio_src_provide_clock): get_clock -> provide_clock 2005-09-28 Andy Wingo * gst/videotestsrc/gstvideotestsrc.c: Implement live source mode and unlocking. * gst/sine/gstsinesrc.c (gst_sinesrc_unlock): Actually implement unlocking. * gst/tcp/gsttcpclientsink.c (gst_tcpclientsink_base_init): Actually add the pad template. (gst_tcpclientsink_get_type): We're a base sink. Woot, works. * gst/tcp/gsttcpserversrc.c: Go ahead and fix up serversrc while I'm at it... * gst/tcp/gsttcpclientsrc.c: Make interruptable -- code stolen from fdsrc. Get caps in create() instead of start() so it can be interrupted. Interruption somewhat untested. * gst/tcp/gsttcp.c (gst_tcp_read_buffer, gst_tcp_socket_read): Proper EOS handling. 2005-09-27 Andy Wingo * gst/tcp/gsttcpclientsrc.c: Cleaned up. * gst/tcp/gsttcpserversrc.c: Cleaned up. * gst/tcp/gsttcpclientsrc.c: Updated for new gsttcp API. * gst/tcp/gsttcp.h: * gst/tcp/gsttcp.c (gst_tcp_read_buffer): New function, factored out of tcpclientsrc.c. Cancellable. (gst_tcp_socket_read): Made private, cancellable, with better diagnostics. Also the FIONREAD ioctl takes a int*, not a size_t*. (gst_tcp_gdp_read_buffer): Made cancellable, actually returns the whole buffer, and better diagnostics. (gst_tcp_gdp_read_caps): Same. * gst/sine/gstsinesrc.c (gst_sinesrc_wait): Add the base time. 2005-09-26 Andy Wingo * gst/sine/gstsinesrc.h: * gst/sine/gstsinesrc.c: Refactor, remove the table lookup code, change the 'sync' property to 'is-live' and implement it halfway, update for controller api change. * gst/volume/gstvolume.c (volume_transform_ip): Update for controller api change. 2005-09-24 Wim Taymans * ext/alsa/gstalsasink.c: (gst_alsasink_reset): * gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_class_init), (audioringbuffer_thread_func), (gst_audioringbuffer_stop): * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_event), (gst_base_audio_sink_render), (gst_base_audio_sink_change_state): * gst-libs/gst/audio/gstbaseaudiosink.h: * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_stop), (gst_ring_buffer_set_sample), (gst_ring_buffer_clear_all), (gst_ring_buffer_commit), (gst_ring_buffer_read): * gst-libs/gst/audio/gstringbuffer.h: Fix sync again. Moved sample alignment to basesink. 2005-09-23 Thomas Vander Stichele * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/gst-plugins-base-plugins-sections.txt: * gst/volume/gstvolume.c: add/fix docs * gst-libs/gst/audio/audio.c: (gst_audio_frame_byte_size): * gst-libs/gst/audio/audio.h: add conversion macros for frames <-> clocktime 2005-09-23 David Schleef * gst/audioresample/Makefile.am: * gst/audioresample/debug.h: * gst/audioresample/gstaudioresample.c: * gst/audioresample/resample.c: Convert to using gst debugging 2005-09-22 Wim Taymans * gst/playback/gstplaybin.c: (gst_play_bin_class_init), (gst_play_bin_send_event): Only seek on one sink, the first one that succeeds. 2005-09-22 Michael Smith * ext/vorbis/vorbisenc.c: (gst_vorbisenc_clear), (gst_vorbisenc_sink_event), (gst_vorbisenc_change_state): Don't flush encoder state unless we have an initialised encoder. Clear out encoder state on PAUSED_TO_READY. 2005-09-22 Wim Taymans * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_class_init), (gst_basertppayload_init), (gst_basertppayload_setcaps), (gst_basertppayload_chain), (gst_basertppayload_set_options), (gst_basertppayload_set_outcaps), (gst_basertppayload_is_filled), (gst_basertppayload_push), (gst_basertppayload_set_property), (gst_basertppayload_get_property), (gst_basertppayload_change_state): * gst-libs/gst/rtp/gstbasertppayload.h: Added max-ptime to control amount of data in the rtp packets. 2005-09-21 Andy Wingo * gst/playback/gstplaybasebin.c: Attempt to fix up buffer probe thingies. * gst/playback/gstdecodebin.c (gst_decode_bin_dispose): Dispose can be called multiple times, dogs. 2005-09-21 Wim Taymans * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_class_init), (gst_basertppayload_init), (gst_basertppayload_setcaps), (gst_basertppayload_chain), (gst_basertppayload_set_options), (gst_basertppayload_set_outcaps), (gst_basertppayload_push), (gst_basertppayload_get_property), (gst_basertppayload_change_state): Allow 0 ssrc too. 2005-09-21 Stefan Kost * docs/libs/compiling.sgml: fixing typos 2005-09-20 Wim Taymans * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_class_init), (gst_basertppayload_init), (gst_basertppayload_setcaps), (gst_basertppayload_chain), (gst_basertppayload_set_options), (gst_basertppayload_set_outcaps), (gst_basertppayload_push), (gst_basertppayload_set_property), (gst_basertppayload_get_property), (gst_basertppayload_change_state): * gst-libs/gst/rtp/gstbasertppayload.h: Added property to configure sequence number offsets. 2005-09-20 Wim Taymans * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_class_init), (gst_basertppayload_init), (gst_basertppayload_setcaps), (gst_basertppayload_chain), (gst_basertppayload_set_options), (gst_basertppayload_set_outcaps), (gst_basertppayload_push), (gst_basertppayload_set_property), (gst_basertppayload_get_property), (gst_basertppayload_change_state): * gst-libs/gst/rtp/gstbasertppayload.h: Make timestamp offset configurable. 2005-09-20 Thomas Vander Stichele * check/pipelines/simple_launch_lines.c: (run_pipeline): fix wrong pop/unref 2005-09-19 Torsten Schoenfeld Reviewed by: Tim-Philipp Müller * gst-libs/gst/interfaces/propertyprobe.c: (gst_property_probe_probe_property_name), (gst_property_probe_needs_probe_name), (gst_property_probe_get_values_name), (gst_property_probe_probe_and_get_values_name): Fix wrong macro usage; it's G_OBJECT_GET_CLASS(obj) or G_OBJECT_CLASS(klass), not G_OBJECT_CLASS(obj). (#316571) 2005-09-19 Thomas Vander Stichele * check/Makefile.am: have some tests be disabled for valgrinding * check/elements/vorbisdec.c: (cleanup_vorbisdec), (GST_START_TEST): * ext/vorbis/vorbisdec.c: (vorbisdec_finalize): Fix A Leak. Chain To Parent Finalize. 2005-09-19 Wim Taymans * examples/seeking/seek.c: (make_wav_pipeline), (main): Fixed wav pipeline. 2005-09-19 Wim Taymans * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_class_init), (gst_basertppayload_init), (gst_basertppayload_setcaps), (gst_basertppayload_chain), (gst_basertppayload_set_options), (gst_basertppayload_set_outcaps), (gst_basertppayload_push), (gst_basertppayload_get_property), (gst_basertppayload_change_state): Posting ERROR and WARNING messages is good. 2005-09-19 Wim Taymans * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_add_to_queue), (gst_base_rtp_depayload_push), (gst_base_rtp_depayload_set_gst_timestamp), (gst_base_rtp_depayload_queue_release): This one was not supposed to go in. 2005-09-19 Wim Taymans * check/pipelines/simple_launch_lines.c: (run_pipeline): Fix for bus API. * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_chain), (gst_base_rtp_depayload_add_to_queue), (gst_base_rtp_depayload_push), (gst_base_rtp_depayload_set_gst_timestamp), (gst_base_rtp_depayload_queue_release): Some cleanups. * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_class_init), (gst_basertppayload_init), (gst_basertppayload_setcaps), (gst_basertppayload_set_options), (gst_basertppayload_set_outcaps), (gst_basertppayload_push), (gst_basertppayload_get_property), (gst_basertppayload_change_state): Added debugging category. 2005-09-18 David Schleef * gst/playback/gstdecodebin.c: free plugin list correctly * gst/playback/gstplaybin.c: emit warning if autovideosink and autoaudiosink can't be found (instead of segfaulting) 2005-09-17 Thomas Vander Stichele * check/elements/audioconvert.c: (GST_START_TEST): try out 24 bit conversion 2005-09-15 Thomas Vander Stichele * ext/vorbis/vorbisenc.c: (gst_vorbisenc_init), (gst_vorbisenc_sink_event), (gst_vorbisenc_chain), (gst_vorbisenc_output_buffers), (gst_vorbisenc_change_state): * ext/vorbis/vorbisenc.h: Fix EOS handling. Still needs a fix in the ogg muxer to mark the last page as eos. 2005-09-15 Thomas Vander Stichele * common/gtk-doc-plugins.mak: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-base-plugins-sections.txt: * gst/ffmpegcolorspace/Makefile.am: * gst/ffmpegcolorspace/avcodec.h: * gst/ffmpegcolorspace/gstffmpegcolorspace.c: * gst/tcp/gstmultifdsink.c: fix up ffmpegcolorspace docs; extract header 2005-09-15 Thomas Vander Stichele * common/gtk-doc-plugins.mak: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-base-plugins-sections.txt: * ext/theora/Makefile.am: * ext/theora/gsttheoraenc.h: * ext/theora/theoraenc.c: * ext/vorbis/vorbisenc.c: pick up signals and args for vorbis; add some docs for vorbis 2005-09-15 Thomas Vander Stichele * common/gstdoc-scangobj: * common/gtk-doc-plugins.mak: * docs/libs/Makefile.am: * docs/plugins/gst-plugins-base-plugins.args: * docs/plugins/gst-plugins-base-plugins.hierarchy: * docs/plugins/gst-plugins-base-plugins.interfaces: * docs/plugins/gst-plugins-base-plugins.prerequisites: * docs/plugins/gst-plugins-base-plugins.signals: only scanobj stuff from our source module. Not sure yet if that's correct, given the hierarchy stuff :) 2005-09-15 Wim Taymans * gst/audioconvert/gstaudioconvert.c: And enable 24 bits mode as well.. 2005-09-15 Wim Taymans * gst-libs/gst/rtp/Makefile.am: * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_get_type), (gst_basertppayload_base_init), (gst_basertppayload_class_init), (gst_basertppayload_init), (gst_basertppayload_finalize), (gst_basertppayload_setcaps), (gst_basertppayload_chain), (gst_basertppayload_set_options), (gst_basertppayload_set_outcaps), (gst_basertppayload_push), (gst_basertppayload_set_property), (gst_basertppayload_get_property), (gst_basertppayload_change_state): * gst-libs/gst/rtp/gstbasertppayload.h: Added rtp payloader base class. 2005-09-15 Andy Wingo * configure.ac (plugindir): Remove the EOL matcher from the regexp, as it causes me problems. Libtool? Make? Who knows? 2005-09-14 David Schleef * check/generic/states.c: * ext/ogg/gstoggdemux.c: (gst_ogg_pad_typefind): * gst/playback/gstdecodebin.c: (gst_decode_bin_init): Fixes for changes in registry API. * configure.ac: Only export gst_plugins_desc. Add -no-undefined to GST_PLUGIN_LDFLAGS. * ext/libvisual/visual.c: Make the library shut up. * gst-libs/gst/audio/audio.c: Don't define a plugin in a library. * gst-libs/gst/audio/gstaudiofilter.c: same 2005-09-14 Thomas Vander Stichele * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/inspect/plugin-libvisual.xml: * docs/plugins/tmpl/element-tcpserversink.sgml: * ext/theora/theoraenc.c: add libvisual plugin and theoraenc element to docs 2005-09-14 Thomas Vander Stichele * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/gst-plugins-base-plugins-sections.txt: * ext/theora/theoraenc.c: add theoraenc 2005-09-13 Tim-Philipp Müller * gst/audioconvert/Makefile.am: Audioconvert derives from GstBaseTransform and should link to the library with our base elements to avoid unresolved symbols. Makes things work with MinGW (#316160) * gst/playback/test4.c: (main): Fix MinGW build problem and use g_usleep() instead of sleep() (#316162) 2005-09-12 Wim Taymans * gst/audioconvert/audioconvert.c: (float), (audio_convert_prepare_context), (audio_convert_convert): * gst/audioconvert/audioconvert.h: Cleanups, speedups, simplifications, added back support for 24 bits. 2005-09-11 Thomas Vander Stichele * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/gst-plugins-base-plugins-sections.txt: * docs/plugins/inspect/plugin-ffmpegcolorspace.xml: * docs/plugins/tmpl/element-tcpserversink.sgml: * gst/ffmpegcolorspace/gstffmpeg.c: * gst/ffmpegcolorspace/gstffmpegcolorspace.c: * gst/videotestsrc/gstvideotestsrc.c: * gst/volume/gstvolume.c: add more elements to the docs 2005-09-09 Jan Schmidt * check/Makefile.am: * check/pipelines/simple_launch_lines.c: (setup_pipeline), (run_pipeline), (GST_START_TEST), (simple_launch_lines_suite): Add extra tests for basetransform based components. Comment out the test_element_negotiation test until we decide if it's testing correct behaviour. * ext/libvisual/visual.c: (gst_visual_init), (get_buffer), (gst_visual_chain), (gst_visual_change_state): Slightly more correct but still bogus timestamping. Fix state change function. * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_class_init): * gst/audioresample/gstaudioresample.c: * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_class_init): * gst/videoscale/gstvideoscale.c: (gst_videoscale_class_init), (gst_videoscale_prepare_size), (gst_videoscale_set_caps), (gst_videoscale_prepare_image): * gst/volume/gstvolume.c: (gst_volume_class_init), (volume_transform_ip): Basetransform updates. Enable passthrough modes. * sys/ximage/ximagesink.c: (gst_ximage_buffer_init), (gst_ximagesink_renegotiate_size), (gst_ximagesink_xcontext_get), (gst_ximagesink_setcaps), (gst_ximagesink_buffer_alloc): Negotiation fix that allows the window to return to the original size and renegotiate passthrough upstream. Extra debug output. 2005-09-09 Thomas Vander Stichele * gst/sine/gstsinesrc.c: * gst/volume/gstvolume.c: fix up header include 2005-09-09 Stefan Kost * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_render): * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_commit): * gst/volume/gstvolume.c: (gst_volume_class_init), (volume_transform): fixing lost sync, some more debugging 2005-09-08 Jan Schmidt * sys/ximage/ximagesink.c: (gst_ximage_buffer_init), (gst_ximagesink_check_xshm_calls), (gst_ximagesink_xcontext_get): * sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_init), (gst_xvimagesink_check_xshm_calls): Fix compilation when XShm is not available. 2005-09-07 Jan Schmidt * ext/libvisual/visual.c: (gst_visual_dispose), (gst_visual_getcaps), (gst_visual_src_setcaps), (gst_visual_sink_setcaps), (get_buffer), (gst_visual_chain), (gst_visual_change_state): Finish fixing up libvisual plugin so that it runs. 2005-09-07 Stefan Kost * ext/vorbis/vorbisenc.c: * gst-libs/gst/tag/gstvorbistag.c: gsttaginterface.h -> gsttagsetter.h 2005-09-07 Stefan Kost * check/pipelines/simple_launch_lines.c: (GST_START_TEST): added another test that failes for me (test is not active by default) 2005-09-07 Zaheer Abbas Merali * configure.ac: v4l2 is no longer in gst-plugins-base 2005-09-07 Jan Schmidt * configure.ac: In the output at the end, don't show the first plugin on the same line as "Core plug-ins, always built:". Indent the output as for other plugin categories * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_create): #define that can be used to not use peer buffer_alloc functions for test purposes. * sys/ximage/ximagesink.c: (gst_ximage_buffer_init), (gst_ximage_buffer_get_type), (gst_ximagesink_ximage_new), (gst_ximagesink_show_frame): * sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_init), (gst_xvimage_buffer_get_type), (gst_xvimagesink_setcaps), (gst_xvimagesink_show_frame): Error case handling fixes. gst-launch fakesrc ! x[v]imagesink now fails gracefully instead of XError aborting or deadlocking. 2005-09-07 Stefan Kost * ext/libvisual/Makefile.am: link against gst-base-libs 2005-09-06 David Schleef * configure.ac: Enable libvisual plugin. * ext/libvisual/Makefile.am: * ext/libvisual/visual.c: Fixes to make it compile. === release 0.9.2 === 2005-09-06 Thomas Vander Stichele * NEWS: * RELEASE: * configure.ac: * docs/random/ChangeLog-0.8: releasing 0.9.2, "Spoon" 2005-09-05 Michael Smith * ext/vorbis/vorbisenc.c: (gst_vorbisenc_class_init): libvorbis accepts quality as low as -0.1, not just 0.0. So accept that in the vorbisenc element. 2005-09-04 Thomas Vander Stichele * common/gtk-doc-plugins.mak: * docs/plugins/Makefile.am: fix distcheck * gst/audioresample/resample.c: fix wrong docstring 2005-09-04 Thomas Vander Stichele * common/gst-xmlinspect.py: * common/gtk-doc-plugins.mak: only inspect plugins for this given package require gst-python 0.9 2005-09-03 Thomas Vander Stichele * Makefile.am: * autogen.sh: * common/gst-xmlinspect.py: * configure.ac: * docs/Makefile.am: * docs/plugins/inspect/plugin-alsa.xml: * docs/plugins/inspect/plugin-audioresample.xml: * docs/plugins/inspect/plugin-ffmpegcolorspace.xml: * docs/plugins/inspect/plugin-ogg.xml: * docs/plugins/tmpl/element-gnomevfssink.sgml: * docs/plugins/tmpl/element-multifdsink.sgml: * docs/plugins/tmpl/element-tcpserversink.sgml: * docs/plugins/tmpl/element-vorbisenc.sgml: * gst-plugins-base.spec.in: various doc-related updates 2005-08-31 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_render): Resync if the buffer timestamps drift more than a 10th of a second. 2005-08-31 Tim-Philipp Müller * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_set_property), (gst_v4lsrc_get_property): The 'timestamp-offset' property is registered as an int64, so let's use g_value_{set|get}_int64() in our setter and getter functions (makes it work and fixes warnings with gst-inspect). 2005-08-30 Wim Taymans * check/elements/audioconvert.c: (setup_audioconvert): * check/elements/audioresample.c: (setup_audioresample): * check/elements/volume.c: (setup_volume): Fix checks. 2005-08-30 Thomas Vander Stichele * common/gtk-doc-plugins.mak: * common/plugins.xsl: * docs/plugins/Makefile.am: make module a param 2005-08-30 Stefan Kost * examples/seeking/seek.c: (make_mp3_pipeline), (make_mpeg_pipeline), (seek_cb), (start_seek), (stop_seek), (play_cb), (pause_cb), (stop_cb): update the example 2005-08-30 Stefan Kost * gst/volume/gstvolume.c: (gst_volume_class_init), (volume_transform): do not update controlled params, if buffer has no timestamp 2005-08-29 Stefan Kost * configure.ac: * gst/sine/Makefile.am: * gst/volume/Makefile.am: controllerized elements also need to link against controller-libs ;) 2005-08-29 Stefan Kost * docs/libs/tmpl/gstcolorbalance.sgml: * docs/libs/tmpl/gstgconf.sgml: * docs/libs/tmpl/gstmixer.sgml: * docs/libs/tmpl/gstringbuffer.sgml: * gst/sine/gstsinesrc.c: (gst_sinesrc_class_init), (gst_sinesrc_create): * gst/volume/gstvolume.c: (gst_volume_class_init), (volume_transform): controllerized two audio plugins 2005-08-29 Andy Wingo * ext/vorbis/vorbisdec.c (vorbis_dec_convert, vorbis_dec_push) (vorbis_handle_data_packet): Fix some int overflow errors. * ext/ogg/gstoggdemux.c (gst_ogg_demux_init): Init total_time to -1. (gst_ogg_demux_perform_seek): Clamp segment_stop only if it's valid. (gst_ogg_pad_submit_packet): Subtract the chain's begin_time only if it's valid. Fixed streaming-mode playback. * check/elements/volume.c (cleanup_volume): Fix for running CK_FORK=no. * check/elements/audioconvert.c: Convert from native endian, not little endian. 2005-08-29 Michael Smith * ext/ogg/Makefile.am: * ext/ogg/gstogg.c: (plugin_init): * ext/ogg/gstoggparse.c: (gst_ogg_parse_get_type), (free_stream), (gst_ogg_parse_delete_all_streams), (gst_ogg_parse_new_stream), (gst_ogg_parse_find_stream), (gst_ogg_parse_base_init), (gst_ogg_parse_class_init), (gst_ogg_parse_init), (gst_ogg_parse_dispose), (gst_ogg_parse_submit_buffer), (gst_ogg_parse_append_header), (gst_ogg_parse_is_header), (gst_ogg_parse_buffer_from_page), (gst_ogg_parse_chain), (gst_ogg_parse_change_state), (gst_ogg_parse_plugin_init): Add an ogg parser element. 2005-08-28 Andy Wingo * Updates for two-arg init from GST_BOILERPLATE_FULL. 2005-08-26 Wim Taymans * gst/audioconvert/audioconvert.c: (if), (float), (audio_convert_get_func_index), (check_default), (audio_convert_clean_fmt), (audio_convert_prepare_context), (audio_convert_clean_context), (audio_convert_get_sizes), (audio_convert_convert): Cleanups. 2005-08-26 Wim Taymans * gst/audioconvert/audioconvert.c: (if), (float), (audio_convert_get_func_index), (check_default), (audio_convert_clean_fmt), (audio_convert_prepare_context), (audio_convert_clean_context), (audio_convert_get_sizes), (audio_convert_convert): More elegant and working temp buffer selection algo. 2005-08-26 Wim Taymans * gst/audioconvert/audioconvert.c: (if), (float), (audio_convert_get_func_index), (check_default), (audio_convert_clean_fmt), (audio_convert_prepare_context), (audio_convert_clean_context), (audio_convert_get_sizes), (get_temp_buffer), (audio_convert_convert): Use realloc else we lose our original data. 2005-08-26 Thomas Vander Stichele * gst/audioresample/gstaudioresample.c: use base class' newsegment to properly timestamp 2005-08-26 Wim Taymans * gst/audioconvert/audioconvert.c: (if), (float), (audio_convert_get_func_index), (check_default), (audio_convert_clean_fmt), (audio_convert_prepare_context), (audio_convert_clean_context), (audio_convert_get_sizes), (get_temp_buffer), (audio_convert_convert): * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_parse_caps), (gst_audio_convert_get_unit_size), (gst_audio_convert_transform_caps), (gst_audio_convert_fixate_caps), (gst_audio_convert_transform): * gst/audioconvert/gstchannelmix.c: (gst_channel_mix_mix): Oops, allocate enough space to perform the channel mix. 2005-08-26 Wim Taymans * gst/audioconvert/Makefile.am: * gst/audioconvert/audioconvert.c: (if), (float), (audio_convert_get_func_index), (check_default), (audio_convert_clean_fmt), (audio_convert_prepare_context), (audio_convert_clean_context), (audio_convert_get_sizes), (get_temp_buffer), (audio_convert_convert): * gst/audioconvert/audioconvert.h: * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_class_init), (gst_audio_convert_init), (gst_audio_convert_dispose), (gst_audio_convert_parse_caps), (gst_audio_convert_get_unit_size), (gst_audio_convert_transform_caps), (gst_audio_convert_fixate_caps), (gst_audio_convert_set_caps), (gst_audio_convert_transform_ip), (gst_audio_convert_transform): * gst/audioconvert/gstaudioconvert.h: * gst/audioconvert/gstchannelmix.c: (gst_channel_mix_unset_matrix), (gst_channel_mix_fill_identical), (gst_channel_mix_fill_compatible), (gst_channel_mix_detect_pos), (gst_channel_mix_fill_one_other), (gst_channel_mix_fill_others), (gst_channel_mix_fill_normalize), (gst_channel_mix_fill_matrix), (gst_channel_mix_setup_matrix), (gst_channel_mix_passthrough), (gst_channel_mix_mix): * gst/audioconvert/gstchannelmix.h: Cleanups, librarify a bit, optimize, better negotiation and more. 2005-08-26 Jan Schmidt * ext/ogg/gstoggdemux.c: (ogg_find_peek): Another from MikeS: During typefinding, don't support negative offsets (offsets from the end of the stream) in our typefind->peek() function - nothing embedded in ogg ever needs them. However, we need to recognise those requests and reject them, otherwise we return invalid pointers. 2005-08-26 Jan Schmidt * ext/ogg/gstoggdemux.c: (gst_ogg_pad_dispose): * ext/vorbis/vorbisdec.c: (gst_vorbis_dec_class_init), (vorbisdec_finalize), (vorbis_handle_type_packet): Big shout-out to MikeS for fixing this giant memory leak. Huzzah! 2005-08-25 Thomas Vander Stichele * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_dispose), (audio_convert_get_unit_size): plug some leaks 2005-08-25 Thomas Vander Stichele * check/Makefile.am: * check/elements/audioconvert.c: (setup_audioconvert), (cleanup_audioconvert), (get_int_caps), (verify_convert), (GST_START_TEST), (audioconvert_suite), (main): add a test for audioconvert * gst/audioresample/gstaudioresample.c: * gst/audioresample/gstaudioresample.h: set DURATION so that TIMESTAMP(a) + DURATION(a) == TIMESTAMP(b); note that for buffers of 1/3 sec this means DURATION(c) is one nanosecond more than for a and b 2005-08-25 Thomas Vander Stichele * check/Makefile.am: * check/elements/audioresample.c: (setup_audioresample), (cleanup_audioresample), (fail_unless_perfect_stream), (test_perfect_stream_instance), (GST_START_TEST), add a check for audioresample (audioresample_suite), (main): * check/elements/volume.c: (GST_START_TEST): remove unused method * gst/audioresample/gstaudioresample.c: set correct buffer parameters since we're changing them * gst/audioresample/resample_ref.c: (resample_scale_ref): add some debug 2005-08-25 Thomas Vander Stichele * gst/audioresample/debug.c: * gst/audioresample/gstaudioresample.c: add room for extra overlap samples when asked to transform size protect against possible mem corruption and check for discrepancies between written size and outbuffer's size so we can warn for potential problems * gst/audioresample/resample.c: (resample_init), (resample_get_output_size_for_input), (resample_get_output_size), (resample_set_n_channels), (resample_set_format): set debug level based on RESAMPLE_DEBUG env var make sure that get_output_size* returns a whole number of sample_size set sample_size each time either channel or format is set * gst/audioresample/resample_chunk.c: (resample_scale_chunk): * gst/audioresample/resample_functable.c: (resample_scale_functable): * gst/audioresample/resample_ref.c: (resample_scale_ref): remove r->sample_size, it's done in resample.c now add some debugging to the ref implementation make sure we only give back bytes that are wholes of the sample size 2005-08-25 Jan Schmidt * gst/playback/gstplaybasebin.c: (fill_buffer): Revert unpopular change for GST_MESSAGE_SRC to GObject. 2005-08-25 Stefan Kost * gst/volume/gstvolume.c: made set_caps function static 2005-08-24 Wim Taymans * ext/vorbis/vorbisenc.c: (gst_vorbisenc_init), (gst_vorbisenc_change_state): Stop leaking taglists. 2005-08-24 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_src_query), (gst_ogg_pad_event), (gst_ogg_demux_factory_filter), (gst_ogg_pad_submit_packet), (gst_ogg_chain_new), (gst_ogg_demux_init), (gst_ogg_demux_perform_seek), (gst_ogg_demux_collect_chain_info), (gst_ogg_demux_collect_info), (gst_ogg_demux_chain), (gst_ogg_demux_loop), (gst_ogg_print): Parse seeking events better. Unref static caps. Generate correct newsegment events, fixes seeking in live oggs. * ext/theora/theoradec.c: (theora_dec_src_query), (theora_dec_src_event), (theora_dec_src_getcaps), (theora_dec_sink_event), (theora_dec_push), (theora_dec_chain): Use newsegment values to report correct play time. * ext/vorbis/vorbisdec.c: (vorbis_dec_src_query), (vorbis_dec_src_event), (vorbis_dec_sink_event): * ext/vorbis/vorbisdec.h: Parse and use newsegment values to report correct play time. * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_event), (gst_base_audio_sink_render): Clear ringbuffer on flush. Use newsegment values to calculate playback time. * sys/ximage/ximagesink.c: (gst_ximagesink_get_times): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_times): Basesink does newsegment calculations for us now. 2005-08-24 Thomas Vander Stichele * check/Makefile.am: * configure.ac: add core's plugins to the mix so that playbin works * check/generic/states.c: (GST_START_TEST): set a 0 timeout on pipelines, so they don't force the next state change * gst/playback/gstplaybasebin.c: (setup_source), (prepare_output), (gst_play_base_bin_change_state): remove the crappy error handling and do GST error handling 2005-08-24 Thomas Vander Stichele * check/Makefile.am: * check/generic/states.c: (GST_START_TEST), (states_suite), (main): add same test as to core, it bitches out on playbin atm. 2005-08-24 Wim Taymans * configure.ac: Remove audioscale. 2005-08-24 Wim Taymans * gst/videoscale/gstvideoscale.c: (gst_videoscale_init), (gst_videoscale_prepare_size), (parse_caps), (gst_videoscale_set_caps), (gst_videoscale_get_size), (gst_videoscale_prepare_image), (gst_videoscale_transform_ip), (gst_videoscale_transform): * gst/videoscale/gstvideoscale.h: Refactor, make use of BaseTranform really well. 2005-08-24 Thomas Vander Stichele * configure.ac: compile audioresample * gst/audioresample/Makefile.am: * gst/audioresample/buffer.c: * gst/audioresample/functable.c: * gst/audioresample/gstaudioresample.c: * gst/audioresample/gstaudioresample.h: * gst/audioresample/resample.c: (resample_get_output_size_for_input): * gst/audioresample/resample.h: * gst/audioresample/resample_chunk.c: * gst/audioresample/resample_functable.c: * gst/audioresample/resample_ref.c: port to use basetransform; doesn't work in all cases yet 2005-08-24 Thomas Vander Stichele * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_class_init), (gst_audio_convert_init), (audio_convert_get_unit_size), (audio_convert_transform_caps), (audio_convert_fixate_caps), (audio_convert_set_caps), (audio_convert_transform), (gst_audio_convert_buffer_to_default_format), (gst_audio_convert_buffer_from_default_format), (gst_audio_convert_channels): * gst/audioconvert/gstchannelmix.c: * gst/audioconvert/gstchannelmix.h: port to basetransform * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_transform_caps), (gst_ffmpegcsp_class_init), (gst_ffmpegcsp_get_unit_size): * gst/videoscale/gstvideoscale.c: (gst_videoscale_class_init), (gst_videoscale_transform_caps), (gst_videoscale_get_unit_size): fix for basetransform changes 2005-08-24 Jan Schmidt * check/Makefile.am: Add CHECK_CFLAGS and LDFLAGS * gst/playback/gstplaybasebin.c: (fill_buffer): GST_MESSAGE_SRC became a GObject 2005-08-24 Wim Taymans * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_set_sample), (gst_ring_buffer_clear_all): * gst-libs/gst/audio/gstringbuffer.h: Added function to clear the ringbuffer. 2005-08-24 Andy Wingo * sys/v4l/gstv4lelement.c (gst_v4lelement_start) (gst_v4lelement_stop): Call _start and _stop for xoverlay instead of _open and _close. * sys/v4l/gstv4lxoverlay.h: * sys/v4l/gstv4lxoverlay.c (gst_v4l_xoverlay_set_xwindow_id): Open an Xv connection here, instead of all the time. Make Xv only be loaded if you axe for it. Kindof a workaround for buggy behaviour of Xv when using remote xservers (XvQueryExtension would block). (gst_v4l_xoverlay_stop, gst_v4l_xoverlay_start): New functions, replace the _open and _close public API. Only start the xv connection if necessary. (gst_v4l_xoverlay_open, gst_v4l_xoverlay_close): Made static. 2005-08-23 David Schleef * gst/audioresample/Makefile.am: Leet audioresampling code * gst/audioresample/buffer.c: * gst/audioresample/buffer.h: * gst/audioresample/debug.c: * gst/audioresample/debug.h: * gst/audioresample/functable.c: * gst/audioresample/functable.h: * gst/audioresample/gstaudioresample.c: * gst/audioresample/gstaudioresample.h: * gst/audioresample/resample.c: * gst/audioresample/resample.h: * gst/audioresample/resample_chunk.c: * gst/audioresample/resample_functable.c: * gst/audioresample/resample_ref.c: 2005-08-23 Wim Taymans * examples/seeking/seek.c: (make_vorbis_pipeline), (make_theora_pipeline), (make_vorbis_theora_pipeline), (do_seek): Small seek updates. 2005-08-23 Andy Wingo * gst-libs/gst/audio/gstbaseaudiosrc.c (gst_base_audio_src_fixate): Only fixate endianness if it is present in the caps. 2005-08-22 Andy Wingo * ext/alsa/gstalsasink.c (gst_alsasink_get_property): * ext/alsa/gstalsasrc.c (gst_alsasrc_get_property): Add a device-name property. * gst-libs/gst/audio/gstaudiosrc.h: * gst-libs/gst/audio/gstaudiosrc.c: Implement open_device and close_device in the ring buffer, like gstaudiosink. * ext/alsa/gstalsamixer.h: * ext/alsa/gstalsamixer.c: Not a GObject any more. Include a nifty macro to implement the interface without much code. Cleanups. * ext/alsa/gstalsasrc.h: * ext/alsa/gstalsasrc.c: Be a mixer. Open device and mixer in READY. * ext/alsa/Makefile.am: Add new files. * ext/alsa/gstalsamixerelement.c: * ext/alsa/gstalsamixerelement.c: Split element code out from mixer code so that alsasrc can be a mixer too. 2005-08-21 Thomas Vander Stichele * check/elements/volume.c: (setup_volume), (cleanup_volume), (GST_START_TEST): * check/elements/vorbisdec.c: (setup_vorbisdec), (cleanup_vorbisdec), (GST_START_TEST), (vorbisdec_suite): * ext/vorbis/vorbisdec.c: (vorbis_dec_src_query), (vorbis_handle_identification_packet), (vorbis_handle_comment_packet), (vorbis_handle_type_packet), (vorbis_handle_header_packet), (vorbis_dec_push), (vorbis_dec_chain): use the setup/teardown methods to save code. save code is good. 2005-08-20 Thomas Vander Stichele * check/Makefile.am: add ext dir for plugins add vorbisdec test conditionally * check/elements/volume.c: (setup_volume), (cleanup_volume), (GST_START_TEST), (volume_suite): add a test with wrong caps * check/elements/vorbisdec.c: (chain_func), (setup_vorbisdec), (cleanup_vorbisdec), (GST_START_TEST), (vorbisdec_suite), (main): add a vorbisdec test * ext/ogg/gstoggdemux.c: (gst_ogg_chain_new_stream), (gst_ogg_demux_chain), (gst_ogg_demux_loop): clean up debug output * ext/vorbis/vorbisdec.c: (vorbis_dec_chain): yay, fix a segfault/security issue in vorbisdec gst-launch fakesrc ! vorbisdec wasn't happy * ext/vorbis/vorbisenc.c: (vorbisenc_get_type), (gst_vorbisenc_class_init), (gst_vorbisenc_sink_setcaps), (gst_vorbisenc_convert_src), (gst_vorbisenc_convert_sink), (gst_vorbisenc_src_query), (gst_vorbisenc_sink_query), (gst_vorbisenc_init), (gst_vorbisenc_metadata_set1), (gst_vorbisenc_set_metadata), (get_constraints_string), (update_start_message), (gst_vorbisenc_setup), (gst_vorbisenc_buffer_from_packet), (gst_vorbisenc_push_buffer), (gst_vorbisenc_push_packet), (gst_vorbisenc_sink_event), (gst_vorbisenc_chain), (gst_vorbisenc_get_property), (gst_vorbisenc_set_property), (gst_vorbisenc_change_state): * ext/vorbis/vorbisenc.h: march in line * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_transform): have the kow come home * gst/tcp/gstmultifdsink.c: (gst_multifdsink_class_init): debug my func ptr * gst/volume/gstvolume.c: (volume_set_caps): add a debug 2005-08-20 Thomas Vander Stichele * Makefile.am: * check/.cvsignore: * check/Makefile.am: * check/elements/.cvsignore: * check/elements/volume.c: (chain_func), (event_func), (setup_volume), (cleanup_volume), (GST_START_TEST), (volume_suite), (main): * configure.ac: add unit test structure for gst-plugins-base add a test for volume * gst/volume/gstvolume.c: (gst_volume_list_tracks), (gst_volume_set_volume), (gst_volume_get_volume), (gst_volume_set_mute), (gst_volume_class_init), (gst_volume_init), (volume_funcfind), (volume_process_float), (volume_process_int16), (volume_set_caps), (volume_transform), (volume_update_mute), (volume_update_volume), (volume_set_property), (volume_get_property): document a little; use basetransform vmethod _set_caps 2005-08-19 Andy Wingo * ext/alsa/gstalsamixertrack.h: * ext/alsa/gstalsamixertrack.c: * ext/alsa/gstalsamixeroptions.h: * ext/alsa/gstalsamixeroptions.c: * ext/alsa/gstalsamixer.h: * ext/alsa/gstalsamixer.c: Port to 0.9. * ext/alsa/Makefile.am: Build mixer, mixeroptions, mixertracks. Remove gstalsa.c and alsaclock. No more cruft here. 2005-08-18 Wim Taymans * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_chain), (gst_base_rtp_depayload_add_to_queue), (gst_base_rtp_depayload_push), (gst_base_rtp_depayload_queue_release): * gst-libs/gst/rtp/gstbasertpdepayload.h: Fix for RTPBuffer changes. * gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtpbuffer_allocate_data), (gst_rtpbuffer_new_take_data), (gst_rtpbuffer_new_copy_data), (gst_rtpbuffer_new_allocate), (gst_rtpbuffer_new_allocate_len), (gst_rtpbuffer_calc_header_len), (gst_rtpbuffer_calc_packet_len), (gst_rtpbuffer_calc_payload_len), (gst_rtpbuffer_validate_data), (gst_rtpbuffer_validate), (gst_rtpbuffer_set_packet_len), (gst_rtpbuffer_get_packet_len), (gst_rtpbuffer_get_version), (gst_rtpbuffer_set_version), (gst_rtpbuffer_get_padding), (gst_rtpbuffer_set_padding), (gst_rtpbuffer_pad_to), (gst_rtpbuffer_get_extension), (gst_rtpbuffer_set_extension), (gst_rtpbuffer_get_ssrc), (gst_rtpbuffer_set_ssrc), (gst_rtpbuffer_get_csrc_count), (gst_rtpbuffer_get_csrc), (gst_rtpbuffer_set_csrc), (gst_rtpbuffer_get_marker), (gst_rtpbuffer_set_marker), (gst_rtpbuffer_get_payload_type), (gst_rtpbuffer_set_payload_type), (gst_rtpbuffer_get_seq), (gst_rtpbuffer_set_seq), (gst_rtpbuffer_get_timestamp), (gst_rtpbuffer_set_timestamp), (gst_rtpbuffer_get_payload_len), (gst_rtpbuffer_get_payload): * gst-libs/gst/rtp/gstrtpbuffer.h: Don't subclass GstBuffer but add methods and helper functions to construct and manipulate RTP packets in regular GstBuffers. 2005-08-18 Stefan Kost * gst/sine/gstsinesrc.c: (gst_sinesrc_src_query): moved statement below switch * gst/volume/gstvolume.c: (gst_volume_class_init): added debug ptr 2005-08-16 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_change_state): Open and close device in READY<->NULL state change. 2005-08-16 Andy Wingo * examples/seeking/Makefile.am: Don't compile non-compiling compiled objects with the compiler. * examples/seeking/seek.c (make_dv_pipeline): Update for new DV elements. 2005-08-12 Philippe Khalaf * gst-libs/gst/rtp/gstbasertpdepayload.c: * gst-libs/gst/rtp/gstbasertpdepayload.h: Made a thread to release the queue. Removed timestamp conversion for now. 2005-08-10 Philippe Khalaf * gst-libs/gst/rtp/gstbasertpdepayload.c: * gst-libs/gst/rtp/gstbasertpdepayload.h: Added rtp timestamp -> gst timestamp conversion. Fixed several problems with queue. 2005-08-09 Tim-Philipp Müller * gst-libs/gst/audio/gstaudioclock.h: * gst-libs/gst/audio/gstaudiofilter.h: * gst-libs/gst/audio/gstaudiosink.h: * gst-libs/gst/audio/gstaudiosrc.h: * gst-libs/gst/audio/gstbaseaudiosink.h: * gst-libs/gst/audio/gstbaseaudiosrc.h: * gst-libs/gst/audio/gstringbuffer.h: * gst-libs/gst/net/gstnetbuffer.h: * gst-libs/gst/rtp/gstbasertpdepayload.h: * gst-libs/gst/rtp/gstrtpbuffer.h: Add padding (you will need to rebuild gst-plugins-base, gst-plugins and all applications afterwards!) 2005-08-09 Tim-Philipp Müller * gst-libs/gst/riff/riff-read.c: (gst_riff_read_chunk), (gst_riff_parse_chunk): Fix bug in debug message and add some more debug messages. 2005-08-08 Edward Hervey * gst-libs/gst/riff/riff-media.c: backported updates since branch 2005-08-08 Andy Wingo * gst-libs/gst/audio/gstbaseaudiosink.c (gst_base_audio_sink_change_state): Open the device in NULL->READY like good elements should. Close on READY->NULL too. * gst-libs/gst/audio/gstaudiosink.c (gst_audioringbuffer_open_device, (gst_audioringbuffer_close_device, gst_audioringbuffer_acquire) (gst_audioringbuffer_release): Updates for new ring buffer API, hook into the new audio sink api. * gst-libs/gst/audio/gstaudiosink.h (GstAudioSinkClass.open) (GstAudioSinkClass.close): Just open and close the device -- no resource allocation or configuration. (GstAudioSinkClass.prepare, GstAudioSinkClass.unprepare): New vmethods, handle device setup and resource allocation. * ext/alsa/gstalsasink.c (gst_alsasink_open, gst_alsasink_close) (gst_alsasink_prepare, gst_alsasink_unprepare): Update for new base class API. * gst-libs/gst/audio/gstringbuffer.h (GstRingBufferClass.open_device, GstRingBufferClass.close_device): New vmethods. * gst-libs/gst/audio/gstringbuffer.c (gst_ring_buffer_open_device) (gst_ring_buffer_close_device, gst_ring_buffer_device_is_open): New API functions. The device should be opened before acquiring and closed after releasing. 2005-08-08 Tim-Philipp Müller * gst-libs/gst/interfaces/mixer.h: Reset padding to GST_PADDING. 2005-08-08 Ronald S. Bultje * gst/playback/gstplaybin.c: (remove_sinks): Remove visualization from parent explicitely; works around some apparent refcount issue that I haven't tracked down yet. 2005-08-08 Ronald S. Bultje * ext/alsa/gstalsasink.c: (set_hwparams): Assign debug category, add negotiation debug msgs. 2005-08-07 Ronald S. Bultje * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_start): Fix error code for file-not-found to NOT_FOUND. 2005-08-05 Thomas Vander Stichele * common/gtk-doc-plugins.mak: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/gst-plugins-base-plugins-sections.txt: renamed to actual element names, so much nicer to look at * docs/plugins/tmpl/gstmultifdsink.sgml: remove * docs/plugins/tmpl/multifdsink.sgml: * docs/plugins/tmpl/tcpserversink.sgml: add * ext/alsa/gstalsa.c: * ext/cdparanoia/gstcdparanoia.c: (cdparanoia_get_property): * ext/ogg/gstoggmux.c: * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain): * gst/playback/gstdecodebin.c: * gst/tcp/gstmultifdsink.c: (gst_multifdsink_class_init): * gst/tcp/gsttcpserversink.c: various fixes and documentation additions 2005-08-05 Thomas Vander Stichele * common/Makefile.am: * common/gstdoc-scangobj: * common/gtk-doc-plugins.mak: * common/gtk-doc.mak: add a custom scangobj that uses the registry add a custom gtk-doc-plugins.mak that uses it some doc build fixes * configure.ac: * docs/Makefile.am: * 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.types: * docs/plugins/tmpl/gstmultifdsink.sgml: add docs for one element, multifdsink * gst/adder/gstadder.h: * gst/volume/gstvolume.h: don't privatize enum * gst/tcp/gstfdset.c: (gst_fdset_mode_get_type): * gst/tcp/gstmultifdsink.c: (gst_recover_policy_get_type), (gst_sync_method_get_type), (gst_client_status_get_type), (gst_multifdsink_class_init), (gst_multifdsink_client_queue_buffer), (gst_multifdsink_handle_client_write): * gst/tcp/gstmultifdsink.h: * gst/tcp/gsttcp.h: * gst/tcp/gsttcpclientsink.c: (gst_tcpclientsink_class_init), (gst_tcpclientsink_init), (gst_tcpclientsink_setcaps), (gst_tcpclientsink_render): * gst/tcp/gsttcpclientsink.h: * gst/tcp/gsttcpclientsrc.c: (gst_tcpclientsrc_class_init), (gst_tcpclientsrc_init), (gst_tcpclientsrc_create), (gst_tcpclientsrc_start): * gst/tcp/gsttcpclientsrc.h: * gst/tcp/gsttcpserversrc.c: (gst_tcpserversrc_class_init), (gst_tcpserversrc_init), (gst_tcpserversrc_create): * gst/tcp/gsttcpserversrc.h: * gst/typefind/gsttypefindfunctions.c: remove superfluous Type stuff 2005-08-05 Ronald S. Bultje * gst/playback/gstplaybin.c: (gen_video_element): Enable videoscale. 2005-08-05 Ronald S. Bultje * gst-libs/gst/gconf/gconf.c: * gst-libs/gst/gconf/gconf.h: Fix some Andy Problem [tm]. 2005-08-04 Andy Wingo * gst/videoscale/gstvideoscale.c (gst_videoscale_get_size): * gst/ffmpegcolorspace/gstffmpegcolorspace.c (gst_ffmpegcsp_get_size): Adapt to API changes. * gst/videoscale/gstvideoscale.c (gst_videoscale_transform_ip): Implement an in-place do-nothing transform. 2005-08-04 Ronald S. Bultje * sys/ximage/ximagesink.c: (gst_ximagesink_ximage_put), (gst_ximagesink_renegotiate_size): Do not set new window sizes yet if we prepare a new buffer size for upstream renegotiation (software scaling) at some point in the future, because this new size waqs not actually accepted yet. Once accepted, renegotiation later on will set the new sizes just fine. Fixes a videotestsrc ! queue ! videoscale ! ximagesink xoverlay embedding testcase. 2005-08-03 Andy Wingo * sys/ximage/ximagesink.c (gst_ximagesink_renegotiate_size): (gst_ximagesink_buffer_alloc): Protect the height, width, and desired_caps with the pool_lock. Fixes videotestsrc ! queue ! ximagesink. 2005-08-02 Edward Hervey * gst/volume/gstvolume.c: include left from controller cleanup 2005-08-02 Jan Schmidt * ext/ogg/gstoggmux.c: (gst_ogg_mux_change_state): Stop collectpads before calling the parent state change function on PAUSED->READY. 2005-08-01 Jan Schmidt * configure.ac: When testing for X libs, use the X CFlags * gst/adder/gstadder.c: (gst_adder_change_state): Stop the collectpads before calling parent state change function on PAUSED->READY, otherwise we deadlock deactivating pads. 2005-08-01 Stefan Kost * configure.ac: * docs/libs/tmpl/gstcolorbalance.sgml: * docs/libs/tmpl/gstmixer.sgml: * examples/Makefile.am: * gst/sine/Makefile.am: * gst/sine/gstsinesrc.c: (gst_sinesrc_init), (gst_sinesrc_create), (gst_sinesrc_set_property), (plugin_init): * gst/sine/gstsinesrc.h: * gst/volume/Makefile.am: * gst/volume/gstvolume.c: (gst_volume_set_volume), (gst_volume_set_mute), (gst_volume_dispose), (gst_volume_init), (volume_process_float), (volume_process_int16), (volume_set_property), (plugin_init): * gst/volume/gstvolume.h: deactivate and remove dparams (libgstcontrol) 2005-07-29 Wim Taymans * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link_src): Convert me to BaseTransform!! help.. 2005-07-29 Andy Wingo * ext/alsa/gstalsaplugin.c (plugin_init): We are primary audio sinks. * ext/alsa/gstalsasink.c (alsasink_sink_factory): Advertise our support of both endiannesses. 2005-07-28 Tim-Philipp Müller * ext/vorbis/vorbisdec.c: (vorbis_dec_src_query): Fix confusing debug message (s/event/query/) 2005-07-28 Tim-Philipp Müller * gst/videotestsrc/videotestsrc.h: Use "_stdint.h" instead of 2005-07-27 Wim Taymans * ext/vorbis/Makefile.am: Revert wrong commit. 2005-07-27 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_event): More compilation fixen. 2005-07-27 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_event), (gst_base_audio_sink_render), (gst_base_audio_sink_create_ringbuffer), (gst_base_audio_sink_change_state): Fix compilation. 2005-07-27 Wim Taymans * examples/seeking/seek.c: (setup_dynamic_link), (make_dv_pipeline), (make_vorbis_theora_pipeline), (query_rates), (query_positions_elems), (query_positions_pads), (do_seek): Update seek example. * ext/ogg/gstoggdemux.c: (gst_ogg_pad_event), (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_demux_handle_event), (gst_ogg_demux_deactivate_current_chain), (gst_ogg_demux_activate_chain), (gst_ogg_demux_perform_seek), (gst_ogg_demux_collect_chain_info), (gst_ogg_demux_collect_info), (gst_ogg_demux_chain), (gst_ogg_demux_send_event), (gst_ogg_demux_loop): * ext/ogg/gstoggmux.c: (gst_ogg_mux_collected): * ext/theora/theoradec.c: (theora_dec_src_event), (theora_dec_src_getcaps), (theora_dec_sink_event), (theora_dec_push), (theora_dec_chain): * ext/vorbis/Makefile.am: * ext/vorbis/vorbisdec.c: (vorbis_dec_src_event), (vorbis_dec_sink_event), (vorbis_dec_push), (vorbis_handle_data_packet): * ext/vorbis/vorbisenc.c: (gst_vorbisenc_sink_event), (gst_vorbisenc_chain): * gst/playback/gststreaminfo.c: (cb_probe): * gst/subparse/gstsubparse.c: (gst_subparse_src_event): * gst/videorate/gstvideorate.c: (gst_videorate_event): * gst/videoscale/gstvideoscale.c: (gst_videoscale_handle_src_event): * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_event): * sys/ximage/ximagesink.c: (gst_ximagesink_show_frame), (gst_ximagesink_navigation_send_event): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_navigation_send_event): Various event updates and cleanups 2005-07-27 Ronald S. Bultje * gst/videoscale/gstvideoscale.c: (gst_videoscale_prepare_images): Fix segfault for I420/YV12. 2005-07-25 Ronald S. Bultje * ext/vorbis/vorbisdec.c: (vorbis_handle_comment_packet): Report bitrate. 2005-07-25 Ronald S. Bultje * gst/playback/gstplaybin.c: (gen_video_element), (gen_audio_element): Switch to auto*sink elements as default sinks; add volume element so that volume control in totem works. 2005-07-21 Wim Taymans * gst/playback/gstplaybasebin.c: (gen_preroll_element): * gst/playback/gstplaybin.c: (setup_sinks), (gst_play_bin_change_state): Refcount fix and more comments. 2005-07-21 Zaheer Abbas Merali * sys/ximage/Makefile.am: * sys/ximage/ximage.c: (plugin_init): * sys/ximage/ximagesink.c: Prepare for adding ximagesrc, rename of plugin to ximage etc. 2005-07-21 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_event), (gst_ogg_pad_internal_chain), (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), (gst_ogg_demux_init), (gst_ogg_demux_activate_chain), (gst_ogg_demux_perform_seek), (gst_ogg_demux_collect_chain_info), (gst_ogg_demux_collect_info), (gst_ogg_demux_chain), (gst_ogg_demux_send_event), (gst_ogg_demux_loop): Generate correct disconts for live chained oggs. * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_render), (gst_base_audio_sink_create_ringbuffer), (gst_base_audio_sink_change_state): Handle discont math correctly. * gst/playback/gstplaybin.c: (add_sink): Some small debug cleanup. 2005-07-21 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_init), (gst_ogg_pad_event), (gst_ogg_pad_internal_chain), (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), (gst_ogg_demux_init), (gst_ogg_demux_deactivate_current_chain), (gst_ogg_demux_activate_chain), (gst_ogg_demux_perform_seek), (gst_ogg_demux_read_chain), (gst_ogg_demux_find_pad), (gst_ogg_demux_collect_chain_info), (gst_ogg_demux_collect_info), (gst_ogg_demux_find_chains), (gst_ogg_demux_chain), (gst_ogg_demux_send_event), (gst_ogg_demux_loop), (gst_ogg_demux_change_state), (gst_ogg_print): Reorganize code to send the right disconts when in streaming mode. 2005-07-20 Andy Wingo * gst/videoscale/vs_image.c (vs_image_scale_nearest_YUYV): Typo fix (?), fixes a seggie mcfalterson (#310894). 2005-07-20 Ronald S. Bultje * ext/ogg/gstoggmux.c: (gst_ogg_mux_get_headers), (gst_ogg_mux_set_header_on_caps): * ext/theora/theoraenc.c: (theora_set_header_on_caps): * ext/vorbis/vorbisenc.c: (gst_vorbisenc_set_header_on_caps): * ext/vorbis/vorbisparse.c: (vorbis_parse_set_header_on_caps): * gst-libs/gst/audio/multichannel.c: (gst_audio_set_channel_positions), (gst_audio_set_structure_channel_positions_list): * gst/playback/gstdecodebin.c: (dynamic_create): * gst/playback/gstplaybasebin.c: (setup_source), (mute_group_type): * gst/playback/gststreaminfo.c: (gst_stream_info_set_mute): Fixes for API changes in core. 2005-07-20 Ronald S. Bultje * gst/playback/gstplaybasebin.c: (fill_buffer): Use _new_custom() so we can set custom message types for buffering messages. 2005-07-20 Ronald S. Bultje * configure.ac: * gst-libs/gst/Makefile.am: * gst-libs/gst/gconf/.cvsignore: * gst-libs/gst/gconf/Makefile.am: * gst-libs/gst/gconf/test-gconf.c: * pkgconfig/Makefile.am: * pkgconfig/gstreamer-gconf-uninstalled.pc.in: * pkgconfig/gstreamer-gconf.pc.in: Remove gconf stuff, use gconf elements instead from now on. 2005-07-20 Wim Taymans * gst-libs/gst/audio/TODO: * gst-libs/gst/audio/gstaudioclock.c: (gst_audio_clock_init), (gst_audio_clock_get_internal_time): * gst-libs/gst/audio/gstaudioclock.h: * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_init), (gst_base_audio_sink_dispose), (gst_base_audio_sink_get_time), (gst_base_audio_sink_event), (gst_base_audio_sink_render), (gst_base_audio_sink_create_ringbuffer), (gst_base_audio_sink_change_state): Make sure the audio clock always returns an increasing value. 2005-07-19 Andy Wingo * gst/videotestsrc/: Cleanups. 2005-07-19 Wim Taymans * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_create): Better debugging. 2005-07-19 Wim Taymans * examples/seeking/seek.c: (make_dv_pipeline), (make_vorbis_theora_pipeline), (query_rates), (query_positions_elems), (query_positions_pads), (do_seek): Make correct DV pipeline. 2005-07-18 Andy Wingo * configure.ac (DEFAULT_AUDIOSINK, DEFAULT_AUDIOSRC): Use alsa by default. Also because it's the only thing that really works. (This is used in the GConf elements). Use AS_LIBTOOL_TAGS. 2005-07-18 Wim Taymans * gst/playback/gstdecodebin.c: (remove_element_chain): * gst/playback/gstplaybin.c: (add_sink): * gst/playback/gststreaminfo.c: (gst_stream_info_dispose), (gst_stream_info_set_mute): * gst/playback/gststreamselector.c: (gst_stream_selector_get_linked_pad), (gst_stream_selector_getcaps), (gst_stream_selector_chain): More leak and compile fixes. 2005-07-18 Wim Taymans * examples/seeking/seek.c: (make_vorbis_theora_pipeline), (query_rates), (query_positions_elems), (query_positions_pads), (do_seek), (seek_cb), (stop_seek): Updated seek example. * gst/playback/gstdecodebin.c: (remove_element_chain), (unlinked): * gst/playback/gstplaybasebin.c: (queue_threshold_reached), (queue_out_of_data), (gen_preroll_element), (new_decoded_pad): * gst/playback/gstplaybin.c: (add_sink): * gst/playback/gststreaminfo.c: (gst_stream_info_dispose), (gst_stream_info_set_mute): Some refcount leak fixes. 2005-07-16 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_render): Align samples even if we have roundoff errors in the timestamp conversion. 2005-07-16 Wim Taymans * docs/libs/tmpl/gstringbuffer.sgml: * examples/seeking/seek.c: (make_vorbis_theora_pipeline), (query_rates), (query_positions_elems), (query_positions_pads), (update_scale), (do_seek): Updated seek example. * ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet), (gst_ogg_pad_submit_page), (gst_ogg_demux_activate_chain), (gst_ogg_demux_find_chains), (gst_ogg_demux_send_event), (gst_ogg_demux_loop): Push out correct discont values. * ext/theora/theoradec.c: (theora_dec_src_convert), (theora_dec_sink_convert), (theora_dec_src_getcaps), (theora_dec_sink_event), (theora_handle_type_packet), (theora_handle_header_packet), (theora_dec_push), (theora_handle_data_packet), (theora_dec_chain), (theora_dec_change_state): Better timestamping. * ext/vorbis/vorbisdec.c: (gst_vorbis_dec_init), (vorbis_dec_sink_event), (vorbis_dec_push), (vorbis_handle_data_packet), (vorbis_dec_chain): * ext/vorbis/vorbisdec.h: Better timestamping. * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_get_time), (gst_base_audio_sink_get_times), (gst_base_audio_sink_event), (gst_base_audio_sink_render): Handle syncing on timestamps instead of sample offsets. Make use of DISCONT values as described in design docs. * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_get_time): * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_acquire), (gst_ring_buffer_set_sample), (gst_ring_buffer_commit), (gst_ring_buffer_read): * gst-libs/gst/audio/gstringbuffer.h: * sys/ximage/ximagesink.c: (gst_ximagesink_get_times), (gst_ximagesink_show_frame): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_times): Correcly convert buffer timestamp to stream time. 2005-07-16 Wim Taymans * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_get_buffer): Timestamp buffers correctly. * gst/playback/gstplaybin.c: (gen_video_element): Make internal fakesink silent. 2005-07-15 Wim Taymans * gst/ffmpegcolorspace/Makefile.am: * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_caps_remove_format_info), (gst_ffmpegcsp_transform_caps), (gst_ffmpegcsp_set_caps), (gst_ffmpegcsp_get_type), (gst_ffmpegcsp_class_init), (gst_ffmpegcsp_init), (gst_ffmpegcsp_get_size), (gst_ffmpegcsp_transform_ip), (gst_ffmpegcsp_transform): Ported ffmpegcolorspace to basetransform. * gst/videoscale/gstvideoscale.c: (gst_videoscale_transform): * gst/volume/gstvolume.c: (volume_transform): Ported to new API. 2005-07-14 Wim Taymans * gst/videotestsrc/Makefile.am: * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_get_type), (gst_videotestsrc_class_init), (gst_videotestsrc_negotiate), (gst_videotestsrc_setcaps), (gst_videotestsrc_getcaps), (gst_videotestsrc_init), (gst_videotestsrc_event), (gst_videotestsrc_create), (gst_videotestsrc_start), (gst_videotestsrc_stop), (gst_videotestsrc_get_times), (gst_videotestsrc_set_pattern), (gst_videotestsrc_set_property), (gst_videotestsrc_get_property): * gst/videotestsrc/gstvideotestsrc.h: Make videotestsrc a pushsrc. 2005-07-14 Wim Taymans * gst/tcp/gstfdset.c: (gst_fdset_free): * gst/tcp/gstmultifdsink.c: (gst_multifdsink_init), (gst_multifdsink_add), (gst_multifdsink_remove), (gst_multifdsink_clear), (gst_multifdsink_get_stats), (gst_multifdsink_remove_client_link), (gst_multifdsink_client_queue_data), (gst_multifdsink_client_queue_caps), (gst_multifdsink_client_queue_buffer), (gst_multifdsink_queue_buffer), (gst_multifdsink_handle_clients), (gst_multifdsink_stop): * gst/tcp/gstmultifdsink.h: 0.8 backporting. * sys/ximage/ximagesink.c: (gst_ximagesink_show_frame): Also draw image when not from a pool. 2005-07-14 Wim Taymans * gst/playback/gstplaybasebin.c: (check_queue), (probe_triggered), (mute_stream), (silence_stream): Small debug additions. 2005-07-14 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_dispose), (gst_ogg_pad_submit_packet), (gst_ogg_pad_submit_page), (gst_ogg_demux_activate_chain), (gst_ogg_demux_loop): Better error recovery, ignore unconnected pads and non-fatal errors. 2005-07-14 Thomas Vander Stichele * docs/libs/tmpl/gstaudio.sgml: * docs/libs/tmpl/gstcolorbalance.sgml: * docs/libs/tmpl/gstgconf.sgml: * docs/libs/tmpl/gstmixer.sgml: * docs/libs/tmpl/gstringbuffer.sgml: * docs/libs/tmpl/gsttuner.sgml: * gst-libs/gst/audio/gstbaseaudiosrc.c: * gst/tcp/gsttcpclientsrc.c: (gst_tcpclientsrc_get_type), (gst_tcpclientsrc_class_init): * gst/tcp/gsttcpserversrc.c: (gst_tcpserversrc_get_type), (gst_tcpserversrc_class_init): * sys/v4l/gstv4lelement.c: more autistic cleanliness in functions/names/defines 2005-07-13 Thomas Vander Stichele * configure.ac: make GST_PLUGIN_LDFLAGS only be flags; GST_LIBS should be added manually to each Makefile.am so we are sure it goes *last* and doesn't add -L flags before linking in libs of our own, like, say, internal .la libs, that then accidentally pick up the installed copy. * 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/video/Makefile.am: * gst/adder/Makefile.am: * gst/audioconvert/Makefile.am: * gst/audiorate/Makefile.am: * gst/audioscale/Makefile.am: * gst/ffmpegcolorspace/Makefile.am: * gst/playback/Makefile.am: * gst/sine/Makefile.am: * gst/subparse/Makefile.am: * gst/tags/Makefile.am: * gst/tcp/Makefile.am: * gst/typefind/Makefile.am: * gst/videorate/Makefile.am: * gst/videoscale/Makefile.am: * gst/videotestsrc/Makefile.am: * gst/volume/Makefile.am: * sys/v4l/Makefile.am: * sys/ximage/Makefile.am: * sys/xvimage/Makefile.am: adapt properly to this change. This should make sure that plugins and libs properly link to the as-yet-uninstalled copies of stuff like libgstinterfaces and libgstvideo 2005-07-13 Andy Wingo * sys/v4l/gstv4lsrc.c (gst_v4lsrc_stop): Fix a spurious warning. (gst_v4lsrc_fixate): Fixate on format as well. * sys/xvimage/xvimagesink.c (gst_xvimage_buffer_destroy) (gst_xvimagesink_xvimage_new): Ref the xvimagesink while the buffer points to it. (gst_xvimagesink_check_xshm_calls): Don't use our xvimage buffer, rather just doing X calls ourselves. Also fixes a memleak. 2005-07-12 Andy Wingo * sys/v4l/gstv4lsrc.c (gst_v4lsrc_get_property) (gst_v4lsrc_set_property, gst_v4lsrc_class_init, gst_v4lsrc_init) (gst_v4lsrc_create): Re-add the copy-mode property, default to TRUE to avoid deadlocks if an element holds on to our buffers. 2005-07-11 Thomas Vander Stichele * gst/sine/gstsinesrc.c: (gst_sinesrc_class_init), (gst_sinesrc_init), (gst_sinesrc_create), (gst_sinesrc_set_property), (gst_sinesrc_get_property), (gst_sinesrc_start): * gst/sine/gstsinesrc.h: removing num-buffers property before moving it 2005-07-10 Thomas Vander Stichele * configure.ac: use overridable ERROR_CFLAGS * docs/libs/gst-plugins-base-libs.types: * docs/libs/tmpl/gstringbuffer.sgml: * ext/alsa/gstalsasink.c: (gst_alsasink_get_type), (gst_alsasink_class_init): * ext/alsa/gstalsasrc.c: (gst_alsasrc_get_type), (gst_alsasrc_class_init): * gst-libs/gst/audio/audio.h: * gst-libs/gst/audio/gstaudioclock.h: * gst-libs/gst/audio/gstaudiofilter.c: (gst_audio_filter_get_type), (gst_audio_filter_base_init), (gst_audio_filter_class_init), (gst_audio_filter_link), (gst_audio_filter_init), (gst_audio_filter_chain), (gst_audio_filter_set_property), (gst_audio_filter_get_property), (gst_audio_filter_class_add_pad_templates): * gst-libs/gst/audio/gstaudiofilter.h: * gst-libs/gst/audio/gstaudiofiltertemplate.c: (gst_audio_filter_template_get_type), (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), (plugin_init), (gst_audio_filter_template_setup), (gst_audio_filter_template_filter), (gst_audio_filter_template_filter_inplace): * gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_get_type), (gst_audioringbuffer_class_init), (audioringbuffer_thread_func), (gst_audioringbuffer_acquire), (gst_audioringbuffer_release), (gst_audioringbuffer_start), (gst_audioringbuffer_stop), (gst_audioringbuffer_delay), (gst_audio_sink_base_init), (gst_audio_sink_class_init), (gst_audio_sink_init), (gst_audio_sink_create_ringbuffer): * gst-libs/gst/audio/gstaudiosink.h: * gst-libs/gst/audio/gstaudiosrc.c: (gst_audioringbuffer_get_type), (gst_audioringbuffer_class_init), (audioringbuffer_thread_func), (gst_audioringbuffer_acquire), (gst_audioringbuffer_release), (gst_audioringbuffer_start), (gst_audioringbuffer_stop), (gst_audioringbuffer_delay), (gst_audio_src_base_init), (gst_audio_src_class_init), (gst_audio_src_init), (gst_audio_src_create_ringbuffer): * gst-libs/gst/audio/gstaudiosrc.h: * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_base_init), (gst_base_audio_sink_class_init), (gst_base_audio_sink_init), (gst_base_audio_sink_dispose), (gst_base_audio_sink_get_clock), (gst_base_audio_sink_get_time), (gst_base_audio_sink_set_property), (gst_base_audio_sink_get_property), (gst_base_audio_sink_setcaps), (gst_base_audio_sink_get_times), (gst_base_audio_sink_event), (gst_base_audio_sink_preroll), (gst_base_audio_sink_render), (gst_base_audio_sink_create_ringbuffer), (gst_base_audio_sink_callback), (gst_base_audio_sink_change_state): * gst-libs/gst/audio/gstbaseaudiosink.h: * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_base_init), (gst_base_audio_src_class_init), (gst_base_audio_src_init), (gst_base_audio_src_get_clock), (gst_base_audio_src_get_time), (gst_base_audio_src_set_property), (gst_base_audio_src_get_property), (gst_base_audio_src_fixate), (gst_base_audio_src_setcaps), (gst_base_audio_src_get_times), (gst_base_audio_src_event), (gst_base_audio_src_create), (gst_base_audio_src_create_ringbuffer), (gst_base_audio_src_callback), (gst_base_audio_src_change_state): * gst-libs/gst/audio/gstbaseaudiosrc.h: * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_get_type), (gst_ring_buffer_class_init), (gst_ring_buffer_init), (gst_ring_buffer_dispose), (gst_ring_buffer_finalize), (gst_ring_buffer_debug_spec_caps), (gst_ring_buffer_debug_spec_buff), (gst_ring_buffer_parse_caps), (gst_ring_buffer_set_callback), (gst_ring_buffer_acquire), (gst_ring_buffer_release), (gst_ring_buffer_is_acquired), (gst_ring_buffer_start), (gst_ring_buffer_pause), (gst_ring_buffer_stop), (gst_ring_buffer_delay), (gst_ring_buffer_samples_done), (gst_ring_buffer_set_sample), (wait_segment), (gst_ring_buffer_commit), (gst_ring_buffer_read), (gst_ring_buffer_prepare_read), (gst_ring_buffer_advance), (gst_ring_buffer_clear): * gst-libs/gst/audio/gstringbuffer.h: * gst-libs/gst/video/gstvideosink.c: (gst_video_sink_init), (gst_video_sink_class_init), (gst_video_sink_get_type): * gst-libs/gst/video/videosink.h: * gst/tcp/gstmultifdsink.c: (gst_multifdsink_get_type), (gst_multifdsink_class_init), (gst_multifdsink_handle_client_write), (gst_multifdsink_change_state): * gst/tcp/gsttcpclientsink.c: (gst_tcpclientsink_class_init), (gst_tcpclientsink_setcaps): * sys/ximage/ximagesink.c: (gst_ximagesink_renegotiate_size), (gst_ximagesink_getcaps), (gst_ximagesink_setcaps), (gst_ximagesink_change_state), (gst_ximagesink_show_frame), (gst_ximagesink_buffer_free), (gst_ximagesink_buffer_alloc), (gst_ximagesink_send_pending_navigation), (gst_ximagesink_set_xwindow_id), (gst_ximagesink_get_desired_size), (gst_ximagesink_class_init), (gst_ximagesink_get_type): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_getcaps), (gst_xvimagesink_setcaps), (gst_xvimagesink_change_state), (gst_xvimagesink_show_frame), (gst_xvimagesink_buffer_alloc), (gst_xvimagesink_send_pending_navigation), (gst_xvimagesink_navigation_send_event), (gst_xvimagesink_set_xwindow_id), (gst_xvimagesink_get_desired_size), (gst_xvimagesink_class_init), (gst_xvimagesink_get_type): more macro splitting 2005-07-08 Thomas Vander Stichele * ext/ogg/gstoggdemux.c: (gst_ogg_pad_dispose): plug a memleak, allows me to import 1479 albums in one go in jamboree * ext/vorbis/vorbisdec.c: (vorbis_dec_sink_event), (vorbis_handle_type_packet), (vorbis_dec_chain), (vorbis_dec_change_state): fix some format strings 2005-07-08 Thomas Vander Stichele * docs/libs/tmpl/gstcolorbalance.sgml: * docs/libs/tmpl/gstmixer.sgml: * ext/alsa/gstalsasink.c: (gst_alsasink_class_init), (gst_alsasink_set_property), (gst_alsasink_get_property): * ext/alsa/gstalsasrc.c: (gst_alsasrc_class_init), (gst_alsasrc_set_property), (gst_alsasrc_get_property): add device property 2005-07-08 Thomas Vander Stichele * ext/gnomevfs/gstgnomevfs.c: (plugin_init): * ext/gnomevfs/gstgnomevfssrc.c: (audiocast_init), (audiocast_register_listener), (audiocast_thread_run), (gst_gnomevfssrc_send_additional_headers_callback), (gst_gnomevfssrc_received_headers_callback), (gst_gnomevfssrc_push_callbacks), (gst_gnomevfssrc_pop_callbacks), (gst_gnomevfssrc_get_icy_metadata), (gst_gnomevfssrc_create), (gst_gnomevfssrc_get_size): add/clean up debugging * gst/audiorate/gstaudiorate.c: (gst_audiorate_init): cleanups 2005-07-07 Andy Wingo * sys/v4l/gstv4lsrc.c (gst_v4lsrc_fixate): Also fixate the framerate. Need to get a handle on when exactly this function is called, tho. * sys/v4l/v4lsrc_calls.h: * sys/v4l/v4lsrc_calls.c: Remove sync-related stuff. (gst_v4lsrc_get_fps_list): Moved here from gstv4lsrc.c. (gst_v4lsrc_buffer_new): Totally derive from GstBuffer. * sys/v4l/v4l_calls.h: Cast to V4lElement. * sys/v4l/v4l_calls.c: Header loc fixen, don't load mjpeg, all v4lelements are sources. * sys/v4l/gstv4lxoverlay.h: * sys/v4l/gstv4lxoverlay.c: * sys/v4l/gstv4ltuner.h: * sys/v4l/gstv4ltuner.c: Header loc fixen. * sys/v4l/gstv4lsrc.h: * sys/v4l/gstv4lsrc.c: Crucial GPL update. Clean up a bit, port to PushSrc/BaseSrc. Removed most sync-related properties, videorate or something should handle that. Made a live source. * sys/v4l/gstv4lelement.h: * sys/v4l/gstv4lelement.c: Derive from GstPushSrc. No more signals. Some cleanups. * sys/v4l/gstv4lcolorbalance.h: Interface header update. * sys/v4l/gstv4l.c: Don't register v4lelement, or the jpeg/mjpeg stuff. * sys/v4l/Makefile.am: Build everything except the jpeg/mjpeg stuff. * sys/Makefile.am (SUBDIRS): Hit the V4L crack pipe. 2005-07-07 Wim Taymans * ext/theora/theoradec.c: (theora_get_query_types), (theora_dec_src_getcaps), (theora_dec_push): * ext/vorbis/vorbisdec.c: (vorbis_get_query_types): * ext/vorbis/vorbisenc.c: (gst_vorbisenc_get_query_types): Remove deprecated/unused query types. 2005-07-06 Wim Taymans * ext/alsa/Makefile.am: * ext/alsa/gstalsaplugin.c: (plugin_init): * ext/alsa/gstalsasink.c: (gst_alsasink_open): * ext/alsa/gstalsasrc.c: (gst_alsasrc_get_type), (gst_alsasrc_dispose), (gst_alsasrc_base_init), (gst_alsasrc_class_init), (gst_alsasrc_init), (gst_alsasrc_getcaps), (set_hwparams), (set_swparams), (alsasrc_parse_spec), (gst_alsasrc_open), (gst_alsasrc_close), (xrun_recovery), (gst_alsasrc_read), (gst_alsasrc_delay), (gst_alsasrc_reset): * ext/alsa/gstalsasrc.h: * gst-libs/gst/audio/Makefile.am: * gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_get_type), (gst_audioringbuffer_class_init), (gst_audioringbuffer_start): * gst-libs/gst/audio/gstaudiosrc.c: (gst_audioringbuffer_get_type), (gst_audioringbuffer_class_init), (audioringbuffer_thread_func), (gst_audioringbuffer_init), (gst_audioringbuffer_dispose), (gst_audioringbuffer_finalize), (gst_audioringbuffer_acquire), (gst_audioringbuffer_release), (gst_audioringbuffer_start), (gst_audioringbuffer_stop), (gst_audioringbuffer_delay), (gst_audiosrc_base_init), (gst_audiosrc_class_init), (gst_audiosrc_init), (gst_audiosrc_create_ringbuffer): * gst-libs/gst/audio/gstaudiosrc.h: * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_baseaudiosink_class_init), (gst_baseaudiosink_dispose), (gst_baseaudiosink_get_time), (gst_baseaudiosink_setcaps), (gst_baseaudiosink_preroll), (gst_baseaudiosink_render): * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_baseaudiosrc_base_init), (gst_baseaudiosrc_class_init), (gst_baseaudiosrc_init), (gst_baseaudiosrc_get_clock), (gst_baseaudiosrc_get_time), (gst_baseaudiosrc_set_property), (gst_baseaudiosrc_get_property), (gst_baseaudiosrc_fixate), (gst_baseaudiosrc_setcaps), (gst_baseaudiosrc_get_times), (gst_baseaudiosrc_event), (gst_baseaudiosrc_create), (gst_baseaudiosrc_create_ringbuffer), (gst_baseaudiosrc_callback), (gst_baseaudiosrc_change_state): * gst-libs/gst/audio/gstbaseaudiosrc.h: * gst-libs/gst/audio/gstringbuffer.c: (build_linear_format), (gst_ringbuffer_debug_spec_caps), (gst_ringbuffer_debug_spec_buff), (gst_ringbuffer_parse_caps), (gst_ringbuffer_start), (gst_ringbuffer_pause), (gst_ringbuffer_stop), (gst_ringbuffer_samples_done), (gst_ringbuffer_set_sample), (wait_segment), (gst_ringbuffer_commit), (gst_ringbuffer_read), (gst_ringbuffer_prepare_read), (gst_ringbuffer_advance): * gst-libs/gst/audio/gstringbuffer.h: Added audiosource base classes. Ported alsasrc, still very basic. 2005-07-06 Wim Taymans * ext/theora/theoradec.c: (theora_dec_src_getcaps), (theora_dec_push), (theora_handle_data_packet): Prepare for better timestamp fix later. * gst/audioconvert/gstaudioconvert.c: List most accurate caps first * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_loop): Use proper pad task function. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new), (gst_xvimagesink_show_frame): Fix deadlock when alloc failed. 2005-07-05 Andy Wingo * ext/gnomevfs/gstgnomevfssrc.c: * gst/sine/gstsinesrc.c: * gst/tcp/gsttcpserversrc.c: * gst/tcp/gsttcpclientsrc.c: s/BASESRC/BASE_SRC/. * sys/v4l/: Port from 0.8. * Many files: Null if we got it.... 2005-07-05 Andy Wingo * gst/tcp/gsttcpserversink.c (gst_tcpserversink_handle_server_read): * gst/tcp/gstmultifdsink.c (gst_multifdsink_client_queue_data): Signedness fixes. 2005-07-05 Wim Taymans * configure.ac: * gst/tcp/Makefile.am: * gst/tcp/README: * gst/tcp/gstmultifdsink.c: (gst_multifdsink_get_type), (gst_multifdsink_base_init), (gst_multifdsink_class_init), (gst_multifdsink_init), (gst_multifdsink_remove_client_link), (is_sync_frame), (gst_multifdsink_handle_client_write), (gst_multifdsink_render), (gst_multifdsink_start), (gst_multifdsink_stop), (gst_multifdsink_change_state): * gst/tcp/gstmultifdsink.h: * gst/tcp/gsttcp.c: (gst_tcp_host_to_ip), (gst_tcp_gdp_read_buffer), (gst_tcp_gdp_read_caps), (gst_tcp_gdp_write_buffer), (gst_tcp_gdp_write_caps): * gst/tcp/gsttcp.h: * gst/tcp/gsttcpclientsink.c: (gst_tcpclientsink_class_init), (gst_tcpclientsink_init), (gst_tcpclientsink_setcaps), (gst_tcpclientsink_render), (gst_tcpclientsink_start), (gst_tcpclientsink_stop), (gst_tcpclientsink_change_state): * gst/tcp/gsttcpclientsink.h: * gst/tcp/gsttcpclientsrc.c: (gst_tcpclientsrc_get_type), (gst_tcpclientsrc_base_init), (gst_tcpclientsrc_class_init), (gst_tcpclientsrc_init), (gst_tcpclientsrc_getcaps), (gst_tcpclientsrc_create), (gst_tcpclientsrc_start), (gst_tcpclientsrc_stop), (gst_tcpclientsrc_unlock): * gst/tcp/gsttcpclientsrc.h: * gst/tcp/gsttcpplugin.c: (plugin_init): * gst/tcp/gsttcpserversink.c: (gst_tcpserversink_class_init): * gst/tcp/gsttcpserversink.h: * gst/tcp/gsttcpserversrc.c: (gst_tcpserversrc_get_type), (gst_tcpserversrc_base_init), (gst_tcpserversrc_class_init), (gst_tcpserversrc_init), (gst_tcpserversrc_finalize), (gst_tcpserversrc_create), (gst_tcpserversrc_start), (gst_tcpserversrc_stop): * gst/tcp/gsttcpserversrc.h: * gst/tcp/gsttcpsink.c: * gst/tcp/gsttcpsink.h: * gst/tcp/gsttcpsrc.c: * gst/tcp/gsttcpsrc.h: Ported tcp plugins to 0.9. 2005-07-05 Andy Wingo * gst/playback/gstplaybasebin.c (fill_buffer): message_new_application fixen. * gst/videoscale/gstvideoscale.c (gst_videoscale_transform_caps): Style fix. 2005-07-04 Wim Taymans * ext/vorbis/vorbisenc.c: (gst_vorbisenc_chain): Set caps on output buffer. 2005-07-04 Andy Wingo * ext/gnomevfs/gstgnomevfssrc.c (gst_gnomevfssrc_received_headers_callback) (audiocast_thread_kill, audiocast_thread_run): FORTIFY fixen, hopefully. * gst/audioconvert/gstaudioconvert.c (gst_audio_convert_fixate): No refcount leakage. * configure.ac: Enable -Werror. * ext/theora/theoradec.c (theora_dec_src_getcaps): * gst/audioconvert/bufferframesconvert.c (buffer_frames_convert_fixate): * gst/audioconvert/gstaudioconvert.c (_fixate_caps_to_int) (gst_audio_convert_fixate): * gst/sine/gstsinesrc.c (gst_sinesrc_src_fixate) (gst_sinesrc_create): Fixate func changes. * sys/ximage/ximagesink.c: (gst_ximagesink_renegotiate_size), (gst_ximagesink_buffer_alloc): Unused var. 2005-07-01 Andy Wingo * ext/theora/theoradec.c (theora_dec_src_getcaps): Implement a getcaps to do explicit caps. Needs to be done in all decoders, possibly via a base class. * configure.ac (GST_PLUGIN_LDFLAGS): Add videoscale. * ext/ogg/gstoggdemux.c (gst_ogg_pad_typefind): No need to set caps on the sink pad, just rely on the pad template. Also, setting ANY caps on a pad is not valid because the caps are not fixed. * sys/ximage/ximagesink.c (gst_ximagesink_buffer_alloc): Set the caps on the buffer, and get the width from the desired_caps if they're set. (gst_ximagesink_renegotiate_size): Implement via setting the desired_caps on the ximagesink. (gst_ximagesink_setcaps): Only reset the width of the player if it wasn't already set. Not sure if this is right. (gst_ximagesink_show_frame): Memcpy only for normal buffers. * sys/ximage/ximagesink.h (desired_caps): New field, is the caps that the user wants. NULL unless the window has been resized. * gst/volume/gstvolume.c (volume_transform): Adapt to basetransform refcount changes. 2005-07-01 Andy Wingo * gst/videoscale/gstvideoscale.c: * gst/videoscale/gstvideoscale.h: Clean up, port to 0.9. Derives from BaseTransform, implements a transform_caps. Removed dead code including some PAR stuff that was never reached -- should probably be added back somehow. 2005-07-01 Andy Wingo * gst/videoscale: Merge David's work from 0.8 branch. Changes to come later. 2005-06-30 Thomas Vander Stichele * configure.ac: * docs/libs/Makefile.am: * docs/libs/gst-plugins-libs.types: * ext/alsa/Makefile.am: * ext/alsa/gstalsamixer.h: * ext/alsa/gstalsamixeroptions.h: * ext/alsa/gstalsamixertrack.h: * gst-libs/gst/Makefile.am: * gst-libs/gst/colorbalance/.cvsignore: * gst-libs/gst/colorbalance/Makefile.am: * gst-libs/gst/colorbalance/colorbalance-marshal.list: * gst-libs/gst/colorbalance/colorbalance.c: * gst-libs/gst/colorbalance/colorbalance.h: * gst-libs/gst/colorbalance/colorbalance.vcproj: * gst-libs/gst/colorbalance/colorbalancechannel.c: * gst-libs/gst/colorbalance/colorbalancechannel.h: * gst-libs/gst/interfaces/Makefile.am: * gst-libs/gst/interfaces/colorbalance.c: (gst_color_balance_class_init): * gst-libs/gst/interfaces/colorbalance.h: * gst-libs/gst/interfaces/interfaces-marshal.list: * gst-libs/gst/interfaces/mixer.c: (gst_mixer_class_init): * gst-libs/gst/interfaces/mixer.h: * gst-libs/gst/interfaces/mixeroptions.h: * gst-libs/gst/interfaces/navigation.c: * gst-libs/gst/interfaces/tuner.c: (gst_tuner_class_init): * gst-libs/gst/interfaces/tuner.h: * gst/volume/Makefile.am: * gst/volume/gstvolume.c: * pkgconfig/gstreamer-interfaces-uninstalled.pc.in: * sys/ximage/Makefile.am: * sys/ximage/ximagesink.c: * sys/xvimage/Makefile.am: * sys/xvimage/xvimagesink.c: fold in all interfaces into an interfaces dir, preserving CVS history 2005-06-30 Ronald S. Bultje * ext/ogg/gstogmparse.c: (gst_ogm_parse_chain): Fix build after riff changes. 2005-06-30 Ronald S. Bultje * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps), (gst_riff_create_audio_caps), (gst_riff_create_iavs_caps), (gst_riff_create_video_template_caps), (gst_riff_create_audio_template_caps), (gst_riff_create_iavs_template_caps): * gst-libs/gst/riff/riff-media.h: * gst-libs/gst/riff/riff-read.h: * gst-libs/gst/riff/riff.c: (gst_riff_init): Add gst_riff_init() to initialize the debug category, instead of plugin_init(). Port riff-media.[ch] from -THREADED to HEAD. 2005-06-29 Ronald S. Bultje * gst/playback/gstplaybasebin.c: (gst_play_base_bin_init): Oops, I shouldn't apply hacks. 2005-06-29 Ronald S. Bultje * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_init): Remove pad_loop function which doesn't work. 2005-06-29 Ronald S. Bultje * ext/ogg/gstoggdemux.c: (gst_ogg_demux_deactivate_current_chain): Send EOS when deactivating. * gst/playback/gstplaybasebin.c: (gst_play_base_bin_init), (check_queue), (queue_threshold_reached), (queue_out_of_data), (gen_preroll_element), (probe_triggered), (mute_stream), (silence_stream), (new_decoded_pad), (setup_substreams), (set_active_source): * gst/playback/gstplaybin.c: (gst_play_bin_get_property), (remove_sinks), (add_sink): * gst/playback/gststreaminfo.c: (cb_probe), (gst_stream_info_new): Change for new probe API. 2005-06-29 Wim Taymans * gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_init): * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_baseaudiosink_class_init), (gst_baseaudiosink_dispose), (gst_baseaudiosink_change_state): * gst-libs/gst/audio/gstbaseaudiosink.h: * gst-libs/gst/audio/gstringbuffer.c: (gst_ringbuffer_set_callback): Fix compilation error. Ringbuffer starts out as not running. Free our clock in dispose. When releasing the ringbuffer we need to renegotiate so clear the pad caps. 2005-06-29 Thomas Vander Stichele * autogen.sh: * configure.ac: * docs/Makefile.am: * docs/libs/Makefile.am: * docs/libs/gst-plugins-libs-docs.sgml: * docs/libs/gst-plugins-libs-sections.txt: * docs/libs/gst-plugins-libs.types: * docs/libs/tmpl/gstaudio.sgml: * docs/libs/tmpl/gstcolorbalance.sgml: * docs/libs/tmpl/gstringbuffer.sgml: * gst-libs/gst/audio/gstringbuffer.c: (gst_ringbuffer_set_callback): reinstate gtk-doc docs for plugin libs 2005-06-28 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet), (gst_ogg_demux_init): Removed pad loop function. 2005-06-28 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet): If we're building a chain we are not in an error case when we queue a buffer. 2005-06-28 Andy Wingo * *.c: Don't cast to GstObject before reffing/unreffing. 2005-06-27 Andy Wingo * gst/videotestsrc/gstvideotestsrc.c (gst_videotestsrc_activate_push): Activation API changes. * gst/playback/gstdecodebin.c (gst_decode_bin_change_state) (gst_decode_bin_dispose): Free dynamics in READY->NULL, because they have refs on the decodebin. * ext/ogg/gstoggdemux.c (gst_ogg_pad_class_init): Ref the right parent class. (gst_ogg_pad_typefind): Don't leak a pad ref. (gst_ogg_chain_new_stream): gst_object_unref, not g_object_unref. (gst_ogg_demux_sink_activate, gst_ogg_demux_sink_activate_push) (gst_ogg_demux_sink_activate_pull): Changes for activation API. 2005-06-27 Edward Hervey * ext/theora/theoradec.c: (theora_dec_change_state): re-arranged call to parent's state change in order to avoid locks (or worse). 2005-06-26 Edward Hervey * gst/playback/gstdecodebin.c: (gst_decode_bin_class_init): 2nd argument of 'unknow-type' signal is a GstCaps and not a GstMiniObject 2005-06-25 Jan Schmidt * gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_acquire): Set the worker thread's running flag to TRUE before starting the thread. * gst/playback/gstdecodebin.c: (gst_decode_bin_init): Catch a failure to add typefind to the bin. 2005-06-24 Thomas Vander Stichele * gst/sine/gstsinesrc.c: (gst_sinesrc_class_init), (gst_sinesrc_init), (gst_sinesrc_create), (gst_sinesrc_set_property), (gst_sinesrc_get_property), (gst_sinesrc_start): * gst/sine/gstsinesrc.h: add num-buffers and timestamp-offset properties * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_class_init), (gst_videotestsrc_set_property), (gst_videotestsrc_get_property): add timestamp-offset property 2005-06-23 Christian Schaller * configure.ac: add videorate * gst-plugins-base.spec.in: add videorate 2005-06-23 Wim Taymans * gst/videorate/gstvideorate.c: (gst_videorate_transformcaps), (gst_videorate_getcaps), (gst_videorate_setcaps), (gst_videorate_event), (gst_videorate_chain): Fixed videorate, fixating an already fixated caps is not an error. 2005-06-23 Wim Taymans * ext/ogg/README: * ext/ogg/gstoggmux.c: (gst_ogg_mux_set_header_on_caps): Buffer on caps is not boxed anymore. 2005-06-22 Wim Taymans * ext/theora/theoraenc.c: (theora_set_header_on_caps): * ext/vorbis/vorbisenc.c: (gst_vorbisenc_set_header_on_caps): Set buffers on caps as miniobjects and not as boxed. 2005-06-19 Thomas Vander Stichele * configure.ac: back to HEAD === release 0.9.1 === 2005-06-19 Thomas Vander Stichele * .cvsignore: * NEWS: * README: * RELEASE: * 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: updates for release 2005-06-09 Andy Wingo * gst-libs/gst/net/Makefile.am (lib_LTLIBRARIES): Install gstnet. 2005-06-09 Andy Wingo * configure.ac: * gst-libs/gst/Makefile.am: * gst-libs/gst/net/Makefile.am: Add gstnet to build. 2005-06-09 Andy Wingo * gst-libs/gst/gconf/gconf.c: * gst/playback/test.c: * gst/playback/gstplaybin.c (gen_video_element): Ghost pad API fixes. * gst/audioconvert/gstaudioconvert.c: RPAD fixes. * ext/theora/theoraenc.c (theora_enc_chain): * ext/theora/theoradec.c (theora_handle_data_packet): GCC4 fixes. * ext/ogg/gstoggdemux.c (GstOggPad): Derive from GstPad, not RealPad. 2005-06-02 Wim Taymans * gst-libs/gst/net/Makefile.am: * pkgconfig/gstreamer-libs-uninstalled.pc.in: * pkgconfig/gstreamer-libs.pc.in: Added net stuff, version net lib. 2005-06-02 Wim Taymans * examples/seeking/seek.c: (make_vorbis_theora_pipeline), (query_rates), (query_positions_elems), (query_positions_pads), (do_seek): Updated seek example. 2005-06-02 Andy Wingo * pkgconfig/gstreamer-libs-uninstalled.pc.in (prefix): * pkgconfig/gstreamer-libs.pc.in (prefix): Add gst/tag to the -L list. * gst/playback/gstdecodebin.c (gst_decode_bin_dispose): Don't remove the typefind, the bin dispose will do it for us. When it's removed and unreffed, the signal handler will be disconnected, too. (unlinked): It's too difficult to disconnect from unlinked handlers, as they are on pads not elements. Just punt if the pads aren't grandkids of the bin. 2005-06-02 Wim Taymans * ext/ogg/README: * ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet), (gst_ogg_demux_activate_chain), (gst_ogg_demux_clear_chains): * ext/ogg/gstoggmux.c: (gst_ogg_mux_buffer_from_page): * ext/theora/theoradec.c: (theora_dec_src_query), (theora_handle_data_packet): * ext/theora/theoraenc.c: (theora_buffer_from_packet), (theora_enc_chain): * ext/vorbis/vorbisdec.c: (vorbis_dec_sink_event), (vorbis_handle_data_packet): * gst/audioconvert/bufferframesconvert.c: (buffer_frames_convert_chain): * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_getcaps), (gst_ffmpegcsp_configure_context), (gst_ffmpegcsp_setcaps), (gst_ffmpegcsp_bufferalloc), (gst_ffmpegcsp_chain): * gst/videorate/gstvideorate.c: (gst_videorate_transformcaps), (gst_videorate_getcaps), (gst_videorate_setcaps), (gst_videorate_event), (gst_videorate_chain): * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_activate), (gst_videotestsrc_src_query), (gst_videotestsrc_loop): * sys/ximage/ximagesink.c: (gst_ximagesink_ximage_new), (gst_ximagesink_setcaps), (gst_ximagesink_buffer_alloc): * sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy), (gst_xvimage_buffer_finalize), (gst_xvimage_buffer_free), (gst_xvimage_buffer_class_init), (gst_xvimage_buffer_get_type), (gst_xvimagesink_xvimage_new), (gst_xvimagesink_xvimage_put), (gst_xvimagesink_show_frame), (gst_xvimagesink_buffer_alloc): Cleanups and buffer alloc. 2005-05-31 Wim Taymans * gst-libs/gst/audio/gstringbuffer.c: (gst_ringbuffer_delay): Don't try to call the delay method when the device is not opened. 2005-05-31 Wim Taymans * ext/alsa/gstalsasink.c: (set_hwparams), (gst_alsasink_open): Get actual segment size and buffer size after opening the device. 2005-05-30 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_demux_activate_chain), (gst_ogg_demux_perform_seek), (gst_ogg_demux_clear_chains): Also FLUSH upstream, makes the loop function exit faster. * ext/theora/theoradec.c: (theora_dec_src_query): Some more debug info in the query. * sys/ximage/ximagesink.c: (gst_ximagesink_ximage_new), (gst_ximagesink_setcaps): Release lock on par error, better error reporting. 2005-05-26 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet), (gst_ogg_demux_activate_chain), (gst_ogg_demux_chain), (gst_ogg_demux_clear_chains), (gst_ogg_demux_change_state): Clear chains in READY Queue packets until the chain is activated. 2005-05-25 Wim Taymans * gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_get_type), (gst_audioringbuffer_class_init), (audioringbuffer_thread_func), (gst_audioringbuffer_init), (gst_audioringbuffer_acquire), (gst_audioringbuffer_release), (gst_audioringbuffer_play), (gst_audioringbuffer_stop), (gst_audioringbuffer_delay), (gst_audiosink_class_init), (gst_audiosink_create_ringbuffer): * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_baseaudiosink_class_init), (gst_baseaudiosink_init), (gst_baseaudiosink_get_clock), (gst_baseaudiosink_get_time), (gst_baseaudiosink_set_property), (build_linear_format), (debug_spec_caps), (debug_spec_buffer), (gst_baseaudiosink_setcaps), (gst_baseaudiosink_get_times), (gst_baseaudiosink_event), (gst_baseaudiosink_preroll), (gst_baseaudiosink_render), (gst_baseaudiosink_create_ringbuffer), (gst_baseaudiosink_callback), (gst_baseaudiosink_change_state): * gst-libs/gst/audio/gstringbuffer.c: (gst_ringbuffer_get_type), (gst_ringbuffer_set_callback), (gst_ringbuffer_acquire), (gst_ringbuffer_release), (gst_ringbuffer_is_acquired), (gst_ringbuffer_play), (gst_ringbuffer_pause), (gst_ringbuffer_stop), (gst_ringbuffer_delay), (gst_ringbuffer_played_samples), (gst_ringbuffer_set_sample), (wait_segment), (gst_ringbuffer_commit), (gst_ringbuffer_prepare_read), (gst_ringbuffer_advance), (gst_ringbuffer_clear): Various small cleanups. * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain), (gst_audio_convert_change_state): * gst/subparse/gstsubparse.c: (gst_subparse_chain): No need to take the locks anymore. 2005-05-25 Wim Taymans * gst/playback/gstdecodebin.c: (gst_decode_bin_init), (gst_decode_bin_dispose), (try_to_link_1), (get_our_ghost_pad), (remove_element_chain), (no_more_pads), (unlinked), (close_link), (type_found): * gst/playback/gstplaybasebin.c: (gst_play_base_bin_dispose), (group_destroy), (group_commit), (queue_overrun), (gen_preroll_element), (no_more_pads), (preroll_unlinked), (mute_stream), (new_decoded_pad), (setup_substreams), (setup_source), (mute_group_type), (set_active_source), (gst_play_base_bin_change_state): * gst/playback/gstplaybin.c: (gst_play_bin_dispose), (gen_video_element), (gen_text_element), (gen_audio_element), (gen_vis_element), (remove_sinks), (add_sink), (setup_sinks): * gst/playback/gststreaminfo.c: (gst_stream_info_new), (gst_stream_info_dispose), (gst_stream_info_set_mute): * gst/playback/gststreamselector.c: (gst_stream_selector_chain): Some playbin cleanups mostly refcounting sloppyness. 2005-05-25 Ronald S. Bultje * ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet): Work with streaming input. 2005-05-25 Wim Taymans * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_getcaps), (gst_ffmpegcsp_configure_context), (gst_ffmpegcsp_setcaps), (gst_ffmpegcsp_bufferalloc), (gst_ffmpegcsp_chain), (gst_ffmpegcsp_change_state): No need to take the STREAM lock anymore. 2005-05-25 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_dispose), (gst_ogg_pad_typefind), (gst_ogg_pad_submit_packet), (gst_ogg_chain_new_stream), (gst_ogg_demux_perform_seek), (gst_ogg_demux_chain), (gst_ogg_demux_loop), (gst_ogg_demux_sink_activate): * ext/theora/theoradec.c: (theora_dec_src_event), (theora_handle_comment_packet), (theora_dec_chain), (theora_dec_change_state): * ext/vorbis/vorbisdec.c: (vorbis_dec_sink_event), (vorbis_handle_data_packet), (vorbis_dec_chain), (vorbis_dec_change_state): Remove STREAM locks as they are taken in core now. Never set bogus granulepos on vorbis/theora. Fix leaks in theoradec tag parsing. 2005-05-25 Wim Taymans * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_create): Fix memleaks, GST_BUFFER_DATA() is not freed. 2005-05-25 Wim Taymans * ext/alsa/gstalsasink.c: (gst_alsasink_open): Open non-blocking, set to blocking mode afterwards to avoid lockups when audio device is busy. 2005-05-23 Ronald S. Bultje * gst-libs/gst/audio/gstringbuffer.c: (gst_ringbuffer_clear): This can't be good. 2005-05-23 Ronald S. Bultje * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_init), (gst_audio_convert_chain), (gst_audio_convert_link_src), (gst_audio_convert_setcaps): Implement instant setup switching. 2005-05-19 Ronald S. Bultje * gst/playback/gstplaybasebin.c: (probe_triggered): Fix missing unlock. * gst/playback/gstplaybin.c: (add_sink): First add, then link (otherwise pad link fails). 2005-05-19 Zaheer Abbas Merali * examples/Makefile.am: fix buildbot (make distcheck) 2005-05-19 Ronald S. Bultje * gst/playback/gstplaybin.c: (gen_vis_element): Remove some wrong code. Doesn't work yet. 2005-05-19 Wim Taymans * gst-libs/gst/net/Makefile.am: * gst-libs/gst/net/README: * gst-libs/gst/net/gstnetbuffer.c: (gst_netbuffer_get_type), (gst_netbuffer_class_init), (gst_netbuffer_init), (gst_netbuffer_finalize), (gst_netbuffer_copy), (gst_netbuffer_new), (gst_netaddress_set_ip4_address), (gst_netaddress_set_ip6_address), (gst_netaddress_get_net_type), (gst_netaddress_get_ip4_address), (gst_netaddress_get_ip6_address): * gst-libs/gst/net/gstnetbuffer.h: Added buffer subclass to store extra to/from addresses for network sources/sinks. 2005-05-18 Ronald S. Bultje * gst-libs/gst/gconf/gconf.c: (gst_bin_find_unconnected_pad): Don't lock an unassigned variable. 2005-05-18 Ronald S. Bultje * gst/playback/gstplaybasebin.c: (gen_preroll_element): Increase buffer for video, decrease buffer for other media types. * gst/playback/gstplaybin.c: (gen_video_element), (gen_audio_element): Change names for debugging purposes. 2005-05-18 Wim Taymans * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_getcaps), (gst_ffmpegcsp_configure_context), (gst_ffmpegcsp_setcaps), (gst_ffmpegcsp_bufferalloc), (gst_ffmpegcsp_chain): Enable buffer alloc passthrough if the source and dest formats are the same. 2005-05-17 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_internal_chain), (gst_ogg_demux_submit_buffer), (gst_ogg_demux_get_data), (gst_ogg_demux_chain_unlocked): * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain), (gst_audio_convert_caps_remove_format_info), (gst_audio_convert_getcaps), (gst_audio_convert_setcaps), (gst_audio_convert_fixate), (gst_audio_convert_change_state): * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_getcaps), (gst_ffmpegcsp_configure_context), (gst_ffmpegcsp_setcaps), (gst_ffmpegcsp_init), (gst_ffmpegcsp_bufferalloc), (gst_ffmpegcsp_chain), (gst_ffmpegcsp_change_state), (gst_ffmpegcsp_set_property), (gst_ffmpegcsp_get_property): * sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy), (gst_xvimage_buffer_finalize), (gst_xvimage_buffer_free), (gst_xvimage_buffer_class_init), (gst_xvimage_buffer_get_type), (gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_new), (gst_xvimagesink_xvimage_put), (gst_xvimagesink_imagepool_clear), (gst_xvimagesink_setcaps), (gst_xvimagesink_change_state), (gst_xvimagesink_show_frame), (gst_xvimagesink_buffer_free), (gst_xvimagesink_buffer_alloc), (gst_xvimagesink_set_xwindow_id): Leak fixes in oggdemux. Some cleanups in audioconvert. Make passthrough work along with buffer_alloc etc. Make buffer_alloc and buffer recycling actually work in xvimagesink. 2005-05-17 Thomas Vander Stichele * gst/subparse/gstsubparse.c: (parse_subrip), (parse_mpsub): make the compiler happy 2005-05-17 Wim Taymans * sys/ximage/ximagesink.c: (gst_ximagesink_ximage_new): * sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_finalize), (gst_xvimage_buffer_init), (gst_xvimage_buffer_class_init), (gst_xvimage_buffer_get_type), (gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_new), (gst_xvimagesink_xvimage_put), (gst_xvimagesink_imagepool_clear), (gst_xvimagesink_setcaps), (gst_xvimagesink_change_state), (gst_xvimagesink_show_frame), (gst_xvimagesink_buffer_free), (gst_xvimagesink_buffer_alloc), (gst_xvimagesink_set_xwindow_id): * sys/xvimage/xvimagesink.h: Port xvimagesink to new MiniObject. 2005-05-17 Wim Taymans * gst-libs/gst/audio/gstaudiofilter.c: (gst_audiofilter_link), (gst_audiofilter_chain): * gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_get_type), (gst_audioringbuffer_class_init), (audioringbuffer_thread_func), (gst_audioringbuffer_init), (gst_audioringbuffer_acquire), (gst_audioringbuffer_release), (gst_audioringbuffer_play), (gst_audioringbuffer_stop), (gst_audioringbuffer_delay), (gst_audiosink_class_init), (gst_audiosink_create_ringbuffer): * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain), (gst_audio_convert_caps_remove_format_info), (gst_audio_convert_getcaps), (gst_audio_convert_setcaps), (gst_audio_convert_fixate), (gst_audio_convert_channels): * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_getcaps), (gst_ffmpegcsp_configure_context), (gst_ffmpegcsp_setcaps), (gst_ffmpegcsp_chain): Fix passthrough in ffmpegcolorspace. Fix memset in audiosink on wrong memory. 2005-05-16 David Schleef * gst/playback/gststreaminfo.c: (cb_probe): Port from GstData to GstMiniObject. 2005-05-16 David Schleef Port from GstData to GstMiniObject. * ext/ogg/gstoggdemux.c: (gst_ogg_pad_dispose): * ext/ogg/gstoggmux.c: (gst_ogg_mux_buffer_from_page), (gst_ogg_mux_queue_pads), (gst_ogg_mux_set_header_on_caps), (gst_ogg_mux_collected): * ext/ogg/gstogmparse.c: (gst_ogm_parse_chain): * ext/theora/theoradec.c: (theora_handle_comment_packet), (theora_handle_data_packet): * ext/theora/theoraenc.c: (theora_buffer_from_packet), (theora_set_header_on_caps), (theora_enc_chain): * ext/vorbis/vorbisdec.c: (vorbis_dec_sink_event), (vorbis_handle_comment_packet): * ext/vorbis/vorbisenc.c: (gst_vorbisenc_set_header_on_caps): * ext/vorbis/vorbisparse.c: (vorbis_parse_set_header_on_caps): * gst-libs/gst/audio/gstaudiofilter.c: (gst_audiofilter_chain): * gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_chain): * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_get_buffer): * gst/playback/gstdecodebin.c: (gst_decode_bin_class_init): * gst/playback/gstplaybasebin.c: (check_queue), (probe_triggered), (mute_stream), (silence_stream): * gst/playback/gstplaybin.c: (gst_play_bin_class_init): * gst/volume/gstvolume.c: (volume_transform): * sys/ximage/ximagesink.c: (gst_ximage_buffer_finalize), (gst_ximage_buffer_init), (gst_ximage_buffer_class_init), (gst_ximage_buffer_get_type), (gst_ximagesink_check_xshm_calls), (gst_ximagesink_ximage_new), (gst_ximagesink_ximage_destroy), (gst_ximagesink_ximage_put), (gst_ximagesink_imagepool_clear), (gst_ximagesink_show_frame), (gst_ximagesink_buffer_free), (gst_ximagesink_buffer_alloc): * sys/ximage/ximagesink.h: 2005-05-12 Ronald S. Bultje * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init), (fill_buffer), (check_queue), (queue_threshold_reached), (queue_out_of_data): * gst/playback/gstplaybasebin.h: Post buffer-fullness on the bus. 2005-05-12 Ronald S. Bultje * gst/playback/gstdecodebin.c: (gst_decode_bin_class_init), (try_to_link_1): * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init), (group_commit), (probe_triggered), (setup_source), (gst_play_base_bin_change_state): * gst/playback/gstplaybasebin.h: * gst/playback/gstplaybin.c: (gst_play_bin_class_init), (gst_play_bin_init), (remove_sinks), (setup_sinks), (gst_play_bin_change_state): Move setup_output_pads into a virtual function, remove group-switch (no longer needed) and redirect (handled by bus now) signals. 2005-05-12 Ronald S. Bultje * gst/playback/gstplaybasebin.c: (gst_play_base_bin_get_type), (gst_play_base_bin_class_init), (gst_play_base_bin_finalize), (get_active_group), (get_building_group), (group_destroy), (group_commit), (check_queue), (queue_overrun), (queue_threshold_reached), (queue_out_of_data), (gen_preroll_element), (remove_groups), (unknown_type), (add_element_stream), (no_more_pads), (probe_triggered), (preroll_unlinked), (new_decoded_pad), (setup_subtitle), (setup_substreams), (setup_source), (finish_source), (prepare_output), (muted_group_change_state), (gst_play_base_bin_set_property), (gst_play_base_bin_get_property), (gst_play_base_bin_change_state): * gst/playback/gstplaybasebin.h: * gst/playback/gstplaybin.c: (gst_play_bin_class_init), (gst_play_bin_init), (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_change_state): * gst/playback/gststreaminfo.c: (gst_stream_info_class_init), (cb_probe), (gst_stream_info_new), (gst_stream_info_dispose), (stream_info_change_state), (gst_stream_info_set_mute), (gst_stream_info_get_property): * gst/playback/gststreaminfo.h: * gst/playback/gststreamselector.c: (gst_stream_selector_init), (gst_stream_selector_get_linked_pad), (gst_stream_selector_getcaps), (gst_stream_selector_get_linked_pads), (gst_stream_selector_request_new_pad), (gst_stream_selector_chain): * gst/playback/gststreamselector.h: Rough port of playbin. Needs some more work, but is mostly done, and uses a few locks in important places, which should make stuff like chain-switches clean. Still uses GST_STATE() in a few places, which isn't all that good an idea, subtitles/elements disabled because no elements to test with and thus probably broken, query and event handling moved to GstBin, internal thread removed alltogether because the pipeline does that for us now. Can play Ogg/Vorbis files. Haven't tested anything else yet. 2005-05-12 Ronald S. Bultje * ext/ogg/gstoggdemux.c: (gst_ogg_demux_activate_chain): Do no-more-pads (needed for autoplugging). 2005-05-10 Andy Wingo * ext/vorbis/vorbisdec.c (vorbis_handle_comment_packet): Post a message to the bus with the tags. Still not sent downstream tho. * gst/playback/gstdecodebin.c (remove_element_chain): Unref after get_parent. (remove_element_chain): Use OBJECT_PARENT instead of get_parent to avoid refcounting hassles. 2005-05-09 Andy Wingo * gst/volume/Makefile.am: * gst/volume/demo.c * gst/volume/gstvolume.h * gst/volume/gstvolume.c: Port to 0.9 API, derive from basetransform. Probably need an audio filter base class. 2005-05-09 Wim Taymans * ext/vorbis/vorbisenc.c: (gst_vorbisenc_sink_setcaps), (gst_vorbisenc_src_query), (gst_vorbisenc_sink_query), (gst_vorbisenc_set_header_on_caps), (gst_vorbisenc_sink_event), (gst_vorbisenc_chain): * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain), (gst_audio_convert_caps_remove_format_info), (gst_audio_convert_getcaps), (gst_audio_convert_setcaps), (gst_audio_convert_fixate), (gst_audio_convert_channels): Make caps writable before writing to it. Fix negotiation in audioconvert some more. 2005-05-09 Wim Taymans * gst/videorate/gstvideorate.c: (gst_videorate_transformcaps), (gst_videorate_getcaps), (gst_videorate_setcaps), (gst_videorate_event), (gst_videorate_chain): Better negotiation. 2005-05-09 Wim Taymans * gst/videorate/gstvideorate.c: (gst_videorate_class_init), (gst_videorate_getcaps), (gst_videorate_setcaps), (gst_videorate_blank_data), (gst_videorate_init), (gst_videorate_event), (gst_videorate_chain), (gst_videorate_change_state): Port videorate, do a better job at negotiation while we're at it. 2005-05-09 Jan Schmidt * configure.ac: Disable libvisual * examples/Makefile.am: * gst-libs/gst/audio/Makefile.am: * gst-libs/gst/riff/Makefile.am: * gst-libs/gst/tag/Makefile.am: * gst-libs/gst/video/Makefile.am: Fixups for missing variables. 2005-05-09 Wim Taymans * examples/seeking/seek.c: (make_theora_pipeline), (make_vorbis_theora_pipeline), (make_avi_msmpeg4v3_mp3_pipeline), (query_rates), (query_positions_elems), (query_positions_pads), (update_scale), (play_cb), (pause_cb), (stop_cb), (main): * ext/ogg/gstoggdemux.c: (gst_ogg_pad_init), (gst_ogg_pad_query_types), (gst_ogg_pad_src_query), (gst_ogg_pad_typefind), (gst_ogg_demux_init), (gst_ogg_demux_perform_seek), (gst_ogg_demux_read_chain), (gst_ogg_demux_read_end_chain), (gst_ogg_demux_sink_activate): * ext/ogg/gstoggmux.c: (gst_ogg_mux_init), (gst_ogg_mux_request_new_pad), (gst_ogg_mux_next_buffer), (gst_ogg_mux_push_page), (gst_ogg_mux_queue_pads), (gst_ogg_mux_get_headers), (gst_ogg_mux_send_headers), (gst_ogg_mux_collected), (gst_ogg_mux_change_state): * ext/ogg/gstogmparse.c: (gst_ogm_audio_parse_init), (gst_ogm_video_parse_init), (gst_ogm_text_parse_init), (gst_ogm_parse_sink_query), (gst_ogm_parse_chain): * ext/theora/theoradec.c: (gst_theora_dec_init), (_inc_granulepos), (theora_dec_src_convert), (theora_dec_sink_convert), (theora_dec_src_query), (theora_dec_sink_query), (theora_dec_src_event), (theora_dec_sink_event), (theora_handle_comment_packet), (theora_handle_type_packet), (theora_handle_header_packet), (theora_handle_data_packet), (theora_dec_chain): * ext/vorbis/vorbisdec.c: (gst_vorbis_dec_init), (vorbis_dec_convert), (vorbis_dec_src_query), (vorbis_dec_sink_query), (vorbis_dec_src_event), (vorbis_dec_sink_event), (vorbis_handle_comment_packet), (vorbis_handle_type_packet), (vorbis_handle_header_packet), (copy_samples), (vorbis_handle_data_packet), (vorbis_dec_chain): * ext/vorbis/vorbisenc.c: (gst_vorbisenc_src_query), (gst_vorbisenc_sink_query), (gst_vorbisenc_init), (gst_vorbisenc_sink_event), (gst_vorbisenc_chain): * gst/playback/gstplaybin.c: (gst_play_bin_class_init), (gst_play_bin_query): * gst/playback/test3.c: (update_scale): * gst/sine/gstsinesrc.c: (gst_sinesrc_setcaps), (gst_sinesrc_src_query), (gst_sinesrc_create), (gst_sinesrc_start): * gst/subparse/gstsubparse.c: (gst_subparse_init): * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_init), (gst_videotestsrc_src_query): * gst/videotestsrc/videotestsrc.c: (paint_hline_I420), (paint_hline_Y41B), (paint_hline_Y42B), (paint_hline_Y800), (paint_hline_YUV9): * sys/ximage/ximagesink.c: (gst_ximagesink_show_frame): Port to new query API. Updated seek. Cleanups in x[v]imagesink 2005-05-09 Andy Wingo * ext/alsa/gstalsasink.h: * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_get_icy_metadata): * ext/ogg/gstoggdemux.c (gst_ogg_demux_perform_seek) (gst_ogg_demux_read_chain, gst_ogg_demux_read_end_chain) * ext/theora/theoradec.c (theora_dec_src_query) (theora_dec_src_event, theora_dec_sink_event) (theora_handle_comment_packet, theora_handle_data_packet): * ext/theora/theoraenc.c (theora_enc_chain): * ext/vorbis/vorbisdec.c (vorbis_dec_src_event) (vorbis_dec_sink_event, vorbis_handle_comment_packet): * gst/audioconvert/gstaudioconvert.c (gst_audio_convert_getcaps): * gst/typefind/gsttypefindfunctions.c (mp3_type_find) (qt_type_find): * gst/videotestsrc/videotestsrc.c (paint_setup_I420) (paint_setup_YV12, paint_setup_YUY2, paint_setup_UYVY) (paint_setup_YVYU, paint_setup_IYU2, paint_setup_Y41B) (paint_setup_Y42B, paint_setup_Y800, paint_setup_IMC1) (paint_setup_IMC2, paint_setup_IMC3, paint_setup_IMC4) (paint_setup_YVU9, paint_setup_YUV9, paint_setup_xRGB8888) (paint_setup_xBGR8888, paint_setup_RGBx8888) (paint_setup_BGRx8888, paint_setup_RGB888, paint_setup_BGR888) (paint_setup_RGB565, paint_setup_xRGB1555): * gst/videotestsrc/videotestsrc.h: * sys/ximage/ximagesink.c (gst_ximagesink_buffer_alloc): * sys/xvimage/xvimagesink.c (gst_xvimagesink_get_xv_support) (gst_xvimagesink_setcaps, gst_xvimagesink_buffer_alloc): GCC4 fixes. * ext/ogg/gstoggdemux.c (gst_ogg_demux_find_chains): Use the new gst_pad_query_position. Fixes oggdemux. 2005-05-08 David Schleef * configure.ac: Require liboil. * gst/videotestsrc/gstvideotestsrc.c: Fix up liboil calls, add a few more. * gst/videotestsrc/videotestsrc.c: * gst/videotestsrc/videotestsrc.h: 2005-05-06 Wim Taymans * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_getcaps), (gst_ffmpegcsp_configure_context), (gst_ffmpegcsp_setcaps), (gst_ffmpegcsp_chain): Well, unreffing a buffer right before pushing it is asking for trouble.. 2005-05-06 Christian Schaller * pkgconfig/gstreamer-libs.pc.in: add missing library calls 2005-05-06 Wim Taymans * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain), (gst_audio_convert_caps_remove_format_info), (gst_audio_convert_getcaps), (gst_audio_convert_setcaps), (gst_audio_convert_fixate), (gst_audio_convert_channels): * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_getcaps), (gst_ffmpegcsp_configure_context), (gst_ffmpegcsp_setcaps), (gst_ffmpegcsp_chain): * gst/sine/Makefile.am: * gst/sine/gstsinesrc.c: (gst_sinesrc_get_type), (gst_sinesrc_class_init), (gst_sinesrc_init), (gst_sinesrc_src_fixate), (gst_sinesrc_setcaps), (gst_sinesrc_src_query), (gst_sinesrc_create), (gst_sinesrc_start), (gst_sinesrc_update_freq): * gst/sine/gstsinesrc.h: * gst/tcp/gstmultifdsink.c: * sys/xvimage/xvimagesink.c: Fixed negotiation wrt _peer_get_caps() Some cleanups. 2005-05-06 Wim Taymans * gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_get_type), (gst_audioringbuffer_class_init), (audioringbuffer_thread_func), (gst_audioringbuffer_init), (gst_audioringbuffer_acquire), (gst_audioringbuffer_release), (gst_audioringbuffer_play), (gst_audioringbuffer_stop), (gst_audioringbuffer_delay), (gst_audiosink_class_init), (gst_audiosink_create_ringbuffer): * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_baseaudiosink_class_init), (gst_baseaudiosink_init), (gst_baseaudiosink_get_clock), (gst_baseaudiosink_get_time), (gst_baseaudiosink_set_property), (build_linear_format), (debug_spec_caps), (debug_spec_buffer), (gst_baseaudiosink_setcaps), (gst_baseaudiosink_get_times), (gst_baseaudiosink_event), (gst_baseaudiosink_preroll), (gst_baseaudiosink_render), (gst_baseaudiosink_create_ringbuffer), (gst_baseaudiosink_callback), (gst_baseaudiosink_change_state): * gst-libs/gst/audio/gstbaseaudiosink.h: * gst-libs/gst/audio/gstringbuffer.c: (gst_ringbuffer_get_type), (gst_ringbuffer_set_callback), (gst_ringbuffer_acquire), (gst_ringbuffer_release), (gst_ringbuffer_is_acquired), (gst_ringbuffer_play), (gst_ringbuffer_pause), (gst_ringbuffer_stop), (gst_ringbuffer_delay), (gst_ringbuffer_played_samples), (gst_ringbuffer_set_sample), (wait_segment), (gst_ringbuffer_commit), (gst_ringbuffer_prepare_read), (gst_ringbuffer_advance), (gst_ringbuffer_clear): * gst-libs/gst/audio/gstringbuffer.h: Make the base audiosink return an error when there is no audiobuffer negotiated. 2005-05-06 Zaheer Abbas Merali * ext/Makefile.am: Disable cdparanoia until someone ports it! 2005-05-06 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_typefind), (gst_ogg_demux_sink_activate): And revert after wingo's revert.. sigh.. 2005-05-05 Andy Wingo * gst/audiorate/gstaudiorate.c (gst_audiorate_class_init): Pacify GObject. * configure.ac: Return audiorate and subparse from the ghetto. Re-enable -Wall -Werror. * gst/subparse/gstsubparse.c: * gst/subparse/gstsubparse.h: Port to 0.9. Can operate loop-based or chain-based. Cleaned up a bit. Not tested. 2005-05-05 Christian Schaller * Makefile.am: remove stuff that is not building * configure.ac: remove stuff that is not building * examples/Makefile.am: remove stuff that is not building * ext/alsa/gstalsasink.c: add alsa/ before the alsalib.h file * ext/alsa/gstalsasink.h: add alsa/ before the alsalib.h file * sys/Makefile.am: remove stuff that is not building * testsuite/Makefile.am: remove stuff that is not building 2005-05-05 Andy Wingo * gst-libs/gst/tag/gstid3tag.c: (gst_tag_list_new_from_id3v1): * gst-libs/gst/tag/gstvorbistag.c: (gst_tag_list_from_vorbiscomment_buffer), (gst_vorbis_tag_chain): * gst/adder/gstadder.h: * gst/audioconvert/gstchannelmix.c: (gst_audio_convert_fill_one_other): * gst/audiorate/gstaudiorate.c: (gst_audiorate_setcaps), (gst_audiorate_init), (gst_audiorate_chain): * gst/playback/gstplaybasebin.c: (setup_source): * gst/playback/test3.c: (update_scale): Some GCC4 fixes * 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: Foo 2005-05-05 Wim Taymans * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain), (gst_audio_convert_caps_remove_format_info), (gst_audio_convert_setcaps), (gst_audio_convert_fixate), (gst_audio_convert_change_state), (gst_audio_convert_channels): * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_src_negotiate), (gst_videotestsrc_src_link), (gst_videotestsrc_parse_caps), (gst_videotestsrc_src_accept_caps), (gst_videotestsrc_setcaps), (gst_videotestsrc_activate), (gst_videotestsrc_init), (gst_videotestsrc_loop): Don't ignore _push() return values. Make sure no processing is done when shutting down. Videotestsrc pad activation fix. 2005-05-05 Wim Taymans * gst/adder/Makefile.am: * gst/adder/gstadder.c: (gst_adder_setcaps), (gst_adder_class_init), (gst_adder_init), (gst_adder_request_new_pad), (gst_adder_collected), (gst_adder_change_state): * gst/adder/gstadder.h: Ported adder as an example of a mixer element using collect pads. Needs more negotiation work. 2005-05-05 Wim Taymans * ext/theora/theoradec.c: (_inc_granulepos), (theora_dec_src_event), (theora_dec_sink_event), (theora_handle_comment_packet), (theora_handle_type_packet), (theora_handle_header_packet), (theora_handle_data_packet), (theora_dec_chain): * ext/theora/theoraenc.c: (gst_theora_enc_class_init), (gst_theora_enc_init), (theora_enc_sink_setcaps), (theora_push_buffer), (theora_push_packet), (theora_enc_sink_event), (theora_enc_chain), (theora_enc_change_state), (theora_enc_set_property), (theora_enc_get_property): Added stream lock to decoder so that we can serialize the discont event. More theoraenc porting, recover from errors, do clean shutdown. 2005-05-05 Wim Taymans * ext/ogg/Makefile.am: * ext/ogg/README: * ext/ogg/gstoggdemux.c: (gst_ogg_pad_typefind), (gst_ogg_pad_submit_packet), (gst_ogg_demux_sink_activate), (gst_ogg_print): * ext/ogg/gstoggmux.c: (gst_ogg_mux_init), (gst_ogg_mux_request_new_pad), (gst_ogg_mux_next_buffer), (gst_ogg_mux_push_page), (gst_ogg_mux_queue_pads), (gst_ogg_mux_get_headers), (gst_ogg_mux_set_header_on_caps), (gst_ogg_mux_send_headers), (gst_ogg_mux_collected), (gst_ogg_mux_change_state): Ported ogg muxer. 2005-05-05 Wim Taymans * docs/design-audiosinks.txt: * gst-libs/gst/audio/TODO: * gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_get_type), (gst_audioringbuffer_class_init), (audioringbuffer_thread_func), (gst_audioringbuffer_init), (gst_audioringbuffer_acquire), (gst_audioringbuffer_release), (gst_audioringbuffer_play), (gst_audioringbuffer_stop), (gst_audioringbuffer_delay), (gst_audiosink_class_init), (gst_audiosink_create_ringbuffer): * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_baseaudiosink_class_init), (gst_baseaudiosink_init), (gst_baseaudiosink_get_clock), (gst_baseaudiosink_get_time), (gst_baseaudiosink_set_property), (build_linear_format), (debug_spec_caps), (debug_spec_buffer), (gst_baseaudiosink_setcaps), (gst_baseaudiosink_get_times), (gst_baseaudiosink_event), (gst_baseaudiosink_preroll), (gst_baseaudiosink_render), (gst_baseaudiosink_create_ringbuffer), (gst_baseaudiosink_callback), (gst_baseaudiosink_change_state): * gst-libs/gst/audio/gstringbuffer.c: (gst_ringbuffer_get_type), (gst_ringbuffer_set_callback), (gst_ringbuffer_acquire), (gst_ringbuffer_release), (gst_ringbuffer_play), (gst_ringbuffer_pause), (gst_ringbuffer_stop), (gst_ringbuffer_delay), (gst_ringbuffer_played_samples), (gst_ringbuffer_set_sample), (wait_segment), (gst_ringbuffer_commit), (gst_ringbuffer_prepare_read), (gst_ringbuffer_advance), (gst_ringbuffer_clear): More work on the audiosink, mostly debugging and a race in shutdown. 2005-04-28 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_typefind), (gst_ogg_demux_perform_seek), (gst_ogg_demux_sink_activate): * ext/vorbis/vorbisdec.c: (vorbis_dec_convert), (vorbis_dec_src_query), (vorbis_dec_src_event), (vorbis_dec_sink_event), (vorbis_handle_comment_packet), (vorbis_handle_type_packet), (vorbis_handle_header_packet), (copy_samples), (vorbis_handle_data_packet), (vorbis_dec_chain): Don't crap out when seeking back to position 0. 2005-04-28 Wim Taymans * examples/seeking/seek.c: (make_mod_pipeline), (make_dv_pipeline), (make_wav_pipeline), (make_flac_pipeline), (make_sid_pipeline), (make_vorbis_pipeline), (make_vorbis_theora_pipeline), (make_avi_msmpeg4v3_mp3_pipeline), (make_mp3_pipeline), (make_avi_pipeline), (make_mpeg_pipeline), (make_mpegnt_pipeline): Make audio sink configurable, use alsasink as default. 2005-04-28 Wim Taymans * ext/vorbis/vorbisdec.c: (vorbis_dec_src_query), (vorbis_dec_sink_event), (vorbis_handle_comment_packet), (vorbis_handle_type_packet), (vorbis_handle_header_packet), (copy_samples), (vorbis_handle_data_packet), (vorbis_dec_chain), (vorbis_dec_change_state): * ext/vorbis/vorbisdec.h: Refactor, use STREAM_LOCK. 2005-04-28 Wim Taymans * ext/theora/theoradec.c: (_inc_granulepos), (theora_dec_sink_event), (theora_handle_comment_packet), (theora_handle_type_packet), (theora_handle_header_packet), (theora_handle_data_packet), (theora_dec_chain), (theora_dec_change_state): Refactor a bit, use STREAM_LOCK. 2005-04-28 Wim Taymans * ext/alsa/Makefile.am: * ext/alsa/gstalsa.c: (gst_alsa_init), (gst_alsa_get_caps), (gst_alsa_fixate_to_mimetype), (gst_alsa_fixate_field_nearest_int), (gst_alsa_link), (gst_alsa_close_audio): * ext/alsa/gstalsaplugin.c: (plugin_init): * ext/alsa/gstalsasink.c: (gst_alsasink_get_type), (gst_alsasink_dispose), (gst_alsasink_base_init), (gst_alsasink_class_init), (gst_alsasink_init), (gst_alsasink_getcaps), (set_hwparams), (set_swparams), (alsasink_parse_spec), (gst_alsasink_open), (gst_alsasink_close), (xrun_recovery), (gst_alsasink_write), (gst_alsasink_delay), (gst_alsasink_reset): * ext/alsa/gstalsasink.h: Implement alsasink with simple open/write/close API. Make alsa dir build by disabling compilation of code. 2005-04-28 Wim Taymans * gst-libs/gst/audio/Makefile.am: * gst-libs/gst/audio/audio.h: * gst-libs/gst/audio/audioclock.c: * gst-libs/gst/audio/audioclock.h: * gst-libs/gst/audio/gstaudioclock.c: (gst_audio_clock_get_type), (gst_audio_clock_class_init), (gst_audio_clock_init), (gst_audio_clock_new), (gst_audio_clock_get_internal_time): * gst-libs/gst/audio/gstaudioclock.h: * gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_get_type), (gst_audioringbuffer_class_init), (audioringbuffer_thread_func), (gst_audioringbuffer_init), (gst_audioringbuffer_acquire), (gst_audioringbuffer_release), (gst_audioringbuffer_play), (gst_audioringbuffer_stop), (gst_audioringbuffer_delay), (gst_audiosink_class_init), (gst_audiosink_create_ringbuffer): * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_baseaudiosink_class_init), (gst_baseaudiosink_init), (gst_baseaudiosink_get_clock), (gst_baseaudiosink_get_time), (gst_baseaudiosink_set_property), (gst_baseaudiosink_get_property), (build_linear_format), (debug_spec_caps), (debug_spec_buffer), (gst_baseaudiosink_setcaps), (gst_baseaudiosink_get_times), (gst_baseaudiosink_event), (gst_baseaudiosink_preroll), (gst_baseaudiosink_render), (gst_baseaudiosink_create_ringbuffer), (gst_baseaudiosink_callback), (gst_baseaudiosink_change_state): * gst-libs/gst/audio/gstbaseaudiosink.h: * gst-libs/gst/audio/gstringbuffer.c: (gst_ringbuffer_get_type), (gst_ringbuffer_init), (gst_ringbuffer_finalize), (gst_ringbuffer_set_callback), (gst_ringbuffer_acquire), (gst_ringbuffer_release), (gst_ringbuffer_play), (gst_ringbuffer_pause), (gst_ringbuffer_stop), (gst_ringbuffer_delay), (gst_ringbuffer_played_samples), (gst_ringbuffer_set_sample), (wait_segment), (gst_ringbuffer_commit), (gst_ringbuffer_prepare_read), (gst_ringbuffer_advance), (gst_ringbuffer_clear): * gst-libs/gst/audio/gstringbuffer.h: Make ringbuffer faster and more simple by removing the locks in the playback thread. Add sample accurate playback based on buffer sample offsets. Make the baseaudiosink provide a clock. Parse caps in the base class. Correctly handle seeking, flushing and state changes. 2005-04-25 Thomas Vander Stichele * configure.ac: * gst/audioconvert/Makefile.am: * gst/audioscale/Makefile.am: Fix part of the build. Come on guys, autogen didn't even work :) 2005-04-25 Ronald S. Bultje * configure.ac: * gst-libs/gst/Makefile.am: * gst-libs/gst/media-info/.cvsignore: * gst-libs/gst/media-info/Makefile.am: * gst-libs/gst/media-info/README: * gst-libs/gst/media-info/media-info-priv.c: * gst-libs/gst/media-info/media-info-priv.h: * gst-libs/gst/media-info/media-info-test.c: * gst-libs/gst/media-info/media-info.c: * gst-libs/gst/media-info/media-info.h: * gst-libs/gst/media-info/media-info.vcproj: * pkgconfig/Makefile.am: * pkgconfig/gstreamer-media-info-uninstalled.pc.in: * pkgconfig/gstreamer-media-info.pc.in: Remove media-info, which is also successed by playbin (see Totem implementation). 2005-04-25 Ronald S. Bultje * configure.ac: * examples/Makefile.am: * examples/gstplay/.cvsignore: * examples/gstplay/Makefile.am: * examples/gstplay/player.c: * gst-libs/gst/Makefile.am: * gst-libs/gst/play/.cvsignore: * gst-libs/gst/play/Makefile.am: * gst-libs/gst/play/play.c: * gst-libs/gst/play/play.h: * gst-libs/gst/play/play.vcproj: * pkgconfig/Makefile.am: * pkgconfig/gstreamer-play-uninstalled.pc.in: * pkgconfig/gstreamer-play.pc.in: Remove libgstplay, playbin is now the official successor. 2005-04-25 Ronald S. Bultje * configure.ac: * gst-libs/gst/Makefile.am: * gst-libs/gst/xwindowlistener/Makefile.am: * gst-libs/gst/xwindowlistener/xwindowlistener.c: * gst-libs/gst/xwindowlistener/xwindowlistener.h: Remove deprecated xwindowlistener (I've moved xwindowlistening in the v4l/v4l2 plugins over to serverside). 2005-04-25 David Schleef * examples/dynparams/Makefile.am: Move demo-dparams from gst/sine to examples/dynparams. Examples do not belong interspersed with source code. * examples/dynparams/demo-dparams.c: * gst/sine/Makefile.am: * gst/sine/demo-dparams.c: 2005-04-25 David Schleef Don't use GST_PLUGIN_LDFLAGS, because these aren't plugins. * gst-libs/gst/audio/Makefile.am: * gst-libs/gst/riff/Makefile.am: * gst-libs/gst/tag/Makefile.am: * gst-libs/gst/video/Makefile.am: * gst-libs/gst/xwindowlistener/Makefile.am: Convert to 0.9 API, seems to work: * sys/ximage/Makefile.am: * sys/ximage/ximagesink.c: 2005-04-24 David Schleef Link plugins against libraries: * ext/alsa/Makefile.am: * gst/tcp/Makefile.am: Remove asm code that should be in liboil * gst/videoscale/Makefile.am: * gst/videoscale/videoscale_x86_asm.s: gettext wants these checked in: * 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: 2005-04-24 David Schleef Convert gst_main() to g_main_loop_run() * gst/playback/decodetest.c: (main): * gst/playback/test2.c: (main): * gst/playback/test3.c: (main): * gst/playback/test4.c: (main): Link plugins against libraries: * ext/libvisual/Makefile.am: * sys/xvimage/Makefile.am: 2005-04-24 David Schleef * configure.ac: Remove idct and resample libs * gst-libs/gst/Makefile.am: same Remove usage of gst_library_load(): * ext/alsa/gstalsaplugin.c: (plugin_init): * ext/libvisual/visual.c: (plugin_init): * ext/ogg/gstogg.c: (plugin_init): * ext/theora/theora.c: (plugin_init): * ext/vorbis/vorbis.c: (plugin_init): * gst-libs/gst/audio/gstaudiofiltertemplate.c: (plugin_init): * gst/audioscale/gstaudioscale.c: * gst/adder/gstadder.c: (plugin_init): * gst/audioconvert/plugin.c: (plugin_init): * sys/ximage/ximagesink.c: (plugin_init): * sys/xvimage/xvimagesink.c: (plugin_init): * gst/tcp/gsttcpplugin.c: (plugin_init): Link plugins against libraries: * ext/ogg/Makefile.am: * ext/theora/Makefile.am: * ext/vorbis/Makefile.am: * gst/audioconvert/Makefile.am: Create proper libraries: * gst-libs/gst/riff/Makefile.am: * gst-libs/gst/audio/Makefile.am: * gst-libs/gst/video/Makefile.am: Move resample library to audioscale plugin directory: * gst-libs/gst/resample/Makefile.am: * gst-libs/gst/resample/README: * gst-libs/gst/resample/dtof.c: * gst-libs/gst/resample/dtos.c: * gst-libs/gst/resample/functable.c: * gst-libs/gst/resample/private.h: * gst-libs/gst/resample/resample.c: * gst-libs/gst/resample/resample.h: * gst-libs/gst/resample/resample.vcproj: * gst-libs/gst/resample/test.c: * gst/audioscale/Makefile.am: * gst/audioscale/README: * gst/audioscale/dtof.c: * gst/audioscale/dtos.c: * gst/audioscale/functable.c: * gst/audioscale/private.h: * gst/audioscale/resample.c: * gst/audioscale/resample.h: * gst/audioscale/test.c: Move tagedit library to gst-libs: * gst-libs/gst/tag/Makefile.am: * gst-libs/gst/tag/gstid3tag.c: * gst-libs/gst/tag/gsttagediting.c: * gst-libs/gst/tag/gsttageditingprivate.h: * gst-libs/gst/tag/gstvorbistag.c: * gst/tags/Makefile.am: * gst/tags/gstid3tag.c: * gst/tags/gstvorbistag.c: Fix for core changes: * gst/sine/gstsinesrc.c: (gst_sinesrc_class_init), (gst_sinesrc_init), (gst_sinesrc_src_fixate), (gst_sinesrc_link), (gst_sinesrc_getrange): 2005-04-23 David Schleef * gst-libs/gst/Makefile.am: Remove idct. It hasn't been used in gst-plugins in a long time, and properly belongs in liboil. * gst-libs/gst/idct/Makefile.am: * gst-libs/gst/idct/README: * gst-libs/gst/idct/dct.h: * gst-libs/gst/idct/doieee: * gst-libs/gst/idct/fastintidct.c: * gst-libs/gst/idct/floatidct.c: * gst-libs/gst/idct/idct.c: * gst-libs/gst/idct/idct.h: * gst-libs/gst/idct/idtc.vcproj: * gst-libs/gst/idct/ieeetest.c: * gst-libs/gst/idct/intidct.c: 2005-04-20 Wim Taymans * docs/design-audiosinks.txt: * gst-libs/gst/audio/Makefile.am: * gst-libs/gst/audio/TODO: * gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_get_type), (gst_audioringbuffer_class_init), (audioringbuffer_thread_func), (gst_audioringbuffer_init), (gst_audioringbuffer_dispose), (gst_audioringbuffer_finalize), (gst_audioringbuffer_acquire), (gst_audioringbuffer_release), (gst_audioringbuffer_play), (gst_audioringbuffer_stop), (gst_audioringbuffer_delay), (gst_audiosink_base_init), (gst_audiosink_class_init), (gst_audiosink_init), (gst_audiosink_create_ringbuffer): * gst-libs/gst/audio/gstaudiosink.h: * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_baseaudiosink_base_init), (gst_baseaudiosink_class_init), (gst_baseaudiosink_init), (gst_baseaudiosink_set_property), (gst_baseaudiosink_get_property), (gst_baseaudiosink_setcaps), (gst_baseaudiosink_get_times), (gst_baseaudiosink_event), (gst_baseaudiosink_preroll), (gst_baseaudiosink_render), (gst_baseaudiosink_create_ringbuffer), (gst_baseaudiosink_callback), (gst_baseaudiosink_change_state): * gst-libs/gst/audio/gstbaseaudiosink.h: * gst-libs/gst/audio/gstringbuffer.c: (gst_ringbuffer_get_type), (gst_ringbuffer_class_init), (gst_ringbuffer_init), (gst_ringbuffer_dispose), (gst_ringbuffer_finalize), (gst_ringbuffer_set_callback), (gst_ringbuffer_acquire), (gst_ringbuffer_release), (gst_ringbuffer_play_unlocked), (gst_ringbuffer_play), (gst_ringbuffer_pause), (gst_ringbuffer_resume), (gst_ringbuffer_stop), (gst_ringbuffer_callback), (gst_ringbuffer_delay), (gst_ringbuffer_played_samples), (gst_ringbuffer_commit), (gst_ringbuffer_prepare_read), (gst_ringbuffer_clear): * gst-libs/gst/audio/gstringbuffer.h: An attempt at a set of audio base classes together with some design docs. 2005-04-20 Wim Taymans * gst/audioconvert/Makefile.am: * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain), (gst_audio_convert_caps_remove_format_info), (gst_audio_convert_setcaps), (gst_audio_convert_fixate), (gst_audio_convert_channels): Link against audio libs. Fix audio convert plugin. 2005-04-20 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_demux_factory_filter), (gst_ogg_demux_sink_activate): * ext/theora/theoraenc.c: (theora_enc_sink_setcaps), (theora_set_header_on_caps), (theora_enc_sink_event), (theora_enc_chain): Fix theora encoder. 2005-04-12 Ronald S. Bultje * ext/ogg/gstoggdemux.c: (gst_ogg_demux_factory_filter): * gst/playback/gstdecodebin.c: (find_compatibles): Work with staticpadtemplates in elementfactories. 2005-04-12 Wim Taymans * gst/playback/README: * gst/playback/gstdecodebin.c: (gst_decode_bin_class_init), (compare_ranks), (print_feature), (gst_decode_bin_init), (dynamic_create), (dynamic_free), (find_compatibles), (mimetype_is_raw), (close_pad_link), (got_redirect), (try_to_link_1), (get_our_ghost_pad), (remove_element_chain), (new_pad), (no_more_pads), (unlinked), (close_link), (type_found), (gst_decode_bin_change_state): * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init), (gst_play_base_bin_init), (group_destroy), (group_commit), (check_queue), (queue_overrun), (queue_threshold_reached), (queue_out_of_data), (gen_preroll_element), (unknown_type), (new_decoded_pad), (setup_subtitle), (gen_source_element), (got_redirect), (setup_source), (play_base_eos), (gst_play_base_bin_change_state), (gst_play_base_bin_add_element), (gst_play_base_bin_remove_element): * gst/playback/gstplaybasebin.h: * gst/playback/gstplaybin.c: (gst_play_bin_class_init), (gst_play_bin_init), (gst_play_bin_dispose), (gst_play_bin_set_property), (gen_video_element), (gen_text_element), (gen_audio_element), (remove_sinks), (gst_play_bin_send_event): * gst/playback/gststreaminfo.c: (gst_stream_info_dispose), (stream_info_change_state), (gst_stream_info_set_mute): * gst/playback/gststreamselector.c: (gst_stream_selector_init), (gst_stream_selector_get_caps), (gst_stream_selector_setcaps), (gst_stream_selector_request_new_pad), (gst_stream_selector_event), (gst_stream_selector_chain): * gst/playback/test.c: (gen_video_element), (gen_audio_element), (main): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_getcaps), (gst_xvimagesink_setcaps), (gst_xvimagesink_get_times), (gst_xvimagesink_show_frame), (gst_xvimagesink_chain), (gst_xvimagesink_buffer_alloc), (gst_xvimagesink_class_init): Raw and crude port of decodebin. Make playbin compile. 2005-04-06 Wim Taymans * ext/gnomevfs/Makefile.am: * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_get_type), (gst_gnomevfssrc_class_init), (gst_gnomevfssrc_init), (gst_gnomevfssrc_set_property), (gst_gnomevfssrc_get_property), (gst_gnomevfssrc_create), (gst_gnomevfssrc_is_seekable), (gst_gnomevfssrc_get_size), (gst_gnomevfssrc_start), (gst_gnomevfssrc_stop): * ext/ogg/Makefile.am: * ext/ogg/gstoggdemux.c: (gst_ogg_demux_get_data), (gst_ogg_demux_find_chains), (gst_ogg_demux_sink_activate): * ext/theora/Makefile.am: * ext/theora/theoradec.c: (_inc_granulepos), (theora_dec_sink_event), (theora_dec_chain): * ext/vorbis/Makefile.am: * ext/vorbis/vorbisdec.c: (vorbis_dec_src_query), (vorbis_dec_sink_event), (vorbis_dec_chain): * gst-libs/gst/audio/Makefile.am: * sys/xvimage/Makefile.am: Make gnomevfssrc extend the source base class. Fix linking against libs in various plugins. 2005-04-06 Andy Wingo * gst-libs/gst/video/Makefile.am (libgstvideo_la_LDFLAGS): Use GST_BASE_LIBS. * configure.ac: Add check and AC_SUBST for libgstbase. 2005-03-31 Wim Taymans * examples/seeking/Makefile.am: * examples/seeking/cdparanoia.c: (main): * examples/seeking/cdplayer.c: (update_scale), (stop_seek), (play_cb), (pause_cb), (stop_cb), (main): * examples/seeking/playbin.c: * examples/seeking/seek.c: (dynamic_link), (make_mod_pipeline), (make_dv_pipeline), (make_wav_pipeline), (make_flac_pipeline), (make_sid_pipeline), (make_vorbis_pipeline), (make_theora_pipeline), (make_vorbis_theora_pipeline), (make_avi_msmpeg4v3_mp3_pipeline), (make_mp3_pipeline), (make_avi_pipeline), (make_mpeg_pipeline), (make_mpegnt_pipeline), (make_playerbin_pipeline), (update_scale), (end_scrub), (do_seek), (seek_cb), (start_seek), (stop_seek), (play_cb), (pause_cb), (stop_cb), (main): * examples/seeking/spider_seek.c: * examples/seeking/vorbisfile.c: * ext/gnomevfs/Makefile.am: * ext/gnomevfs/gstgnomevfs.c: (plugin_init): * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_base_init), (gst_gnomevfssrc_class_init), (gst_gnomevfssrc_init), (gst_gnomevfssrc_get_property), (gst_gnomevfssrc_get), (gst_gnomevfssrc_open_file), (gst_gnomevfssrc_close_file), (gst_gnomevfssrc_getrange), (gst_gnomevfssrc_loop), (gst_gnomevfssrc_activate), (gst_gnomevfssrc_change_state), (gst_gnomevfssrc_srcpad_query), (gst_gnomevfssrc_srcpad_event): * ext/ogg/README: * ext/ogg/gstoggdemux.c: (gst_ogg_pad_get_type), (gst_ogg_pad_class_init), (gst_ogg_pad_init), (gst_ogg_pad_dispose), (gst_ogg_pad_finalize), (gst_ogg_pad_formats), (gst_ogg_pad_event_masks), (gst_ogg_pad_query_types), (gst_ogg_pad_getcaps), (gst_ogg_pad_src_convert), (gst_ogg_pad_src_query), (gst_ogg_pad_event), (gst_ogg_pad_reset), (gst_ogg_demux_factory_filter), (compare_ranks), (gst_ogg_pad_internal_chain), (gst_ogg_pad_typefind), (gst_ogg_pad_submit_packet), (gst_ogg_pad_submit_page), (gst_ogg_chain_new), (gst_ogg_chain_free), (gst_ogg_chain_new_stream), (gst_ogg_chain_get_stream), (gst_ogg_chain_has_stream), (gst_ogg_demux_base_init), (gst_ogg_demux_class_init), (gst_ogg_demux_init), (gst_ogg_demux_finalize), (gst_ogg_demux_handle_event), (gst_ogg_demux_submit_buffer), (gst_ogg_demux_seek), (gst_ogg_demux_get_data), (gst_ogg_demux_get_next_page), (gst_ogg_demux_get_prev_page), (gst_ogg_demux_deactivate_current_chain), (gst_ogg_demux_activate_chain), (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_pad), (gst_ogg_demux_find_chain), (gst_ogg_demux_find_chains), (gst_ogg_demux_chain_unlocked), (gst_ogg_demux_chain), (gst_ogg_demux_send_eos), (gst_ogg_demux_loop), (gst_ogg_demux_sink_activate), (gst_ogg_demux_change_state), (gst_ogg_print): * ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init), (gst_ogg_mux_init), (gst_ogg_mux_sinkconnect), (gst_ogg_mux_next_buffer), (gst_ogg_mux_buffer_from_page), (gst_ogg_mux_push_page), (gst_ogg_mux_send_headers), (gst_ogg_mux_loop): * ext/ogg/gstogmparse.c: (gst_ogm_parse_chain): * ext/theora/theoradec.c: (gst_theora_dec_init), (_inc_granulepos), (theora_dec_src_convert), (theora_dec_sink_convert), (theora_dec_src_query), (theora_dec_src_event), (theora_dec_sink_event), (theora_dec_chain), (theora_dec_change_state): * ext/theora/theoraenc.c: (gst_theora_enc_init), (theora_enc_sink_setcaps), (theora_buffer_from_packet), (theora_push_buffer), (theora_enc_sink_event), (theora_enc_chain), (theora_enc_change_state): * ext/vorbis/Makefile.am: * ext/vorbis/oggvorbisenc.c: * ext/vorbis/oggvorbisenc.h: * ext/vorbis/vorbis.c: (plugin_init): * ext/vorbis/vorbisdec.c: (gst_vorbis_dec_init), (vorbis_dec_src_query), (vorbis_dec_src_event), (vorbis_dec_sink_event), (vorbis_dec_chain), (vorbis_dec_change_state): * ext/vorbis/vorbisenc.c: (gst_vorbisenc_class_init), (gst_vorbisenc_sink_setcaps), (gst_vorbisenc_init), (gst_vorbisenc_buffer_from_packet), (gst_vorbisenc_push_buffer), (gst_vorbisenc_sink_event), (gst_vorbisenc_chain), (gst_vorbisenc_change_state): * ext/vorbis/vorbisenc.h: * ext/vorbis/vorbisparse.c: (vorbis_parse_chain): * gst-libs/gst/audio/audioclock.c: * gst-libs/gst/audio/gstaudiofilter.c: (gst_audiofilter_link), (gst_audiofilter_init), (gst_audiofilter_chain): * gst-libs/gst/audio/testchannels.c: (main): * gst-libs/gst/gconf/gconf.c: (gst_bin_find_unconnected_pad): * gst-libs/gst/media-info/media-info-priv.c: (gmip_reset), (gmip_find_type), (gmip_find_stream), (gmip_find_track_metadata), (gmip_find_track_streaminfo), (gmip_find_track_format): * gst-libs/gst/media-info/media-info.c: (gst_media_info_read_idler): * gst-libs/gst/play/play.c: (gst_play_get_sink_element), (gst_play_get_all_by_interface): * 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): * gst-libs/gst/riff/riff-read.h: * gst-libs/gst/riff/riff.c: (plugin_init): * gst-libs/gst/video/Makefile.am: * gst-libs/gst/video/gstvideosink.c: (gst_videosink_init), (gst_videosink_class_init), (gst_videosink_get_type): * gst-libs/gst/video/videosink.h: * gst/audioconvert/bufferframesconvert.c: (buffer_frames_convert_init), (buffer_frames_convert_fixate), (buffer_frames_convert_setcaps), (buffer_frames_convert_chain): * gst/audioconvert/channelmixtest.c: (main): * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_init), (gst_audio_convert_chain), (gst_audio_convert_caps_remove_format_info), (gst_audio_convert_getcaps), (gst_audio_convert_parse_caps), (gst_audio_convert_setcaps), (_fixate_caps_to_int), (gst_audio_convert_fixate), (gst_audio_convert_get_buffer), (gst_audio_convert_buffer_to_default_format), (gst_audio_convert_buffer_from_default_format), (gst_audio_convert_channels): * gst/audioconvert/gstchannelmix.h: * gst/ffmpegcolorspace/avcodec.h: * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_caps_remove_format_info), (gst_ffmpegcsp_getcaps), (gst_ffmpegcsp_configure_context), (gst_ffmpegcsp_setcaps), (gst_ffmpegcsp_init), (gst_ffmpegcsp_chain): * gst/tags/gstid3tag.c: (gst_tag_extract_id3v1_string): * gst/tags/gstvorbistag.c: (gst_vorbis_tag_chain): * gst/typefind/gsttypefindfunctions.c: (aac_type_find), (mp3_type_find), (mpeg2_sys_type_find), (mpeg1_sys_type_find), (mpeg_video_type_find), (mpeg_video_stream_type_find), (dv_type_find): * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_class_init), (gst_videotestsrc_src_negotiate), (gst_videotestsrc_src_link), (gst_videotestsrc_parse_caps), (gst_videotestsrc_src_accept_caps), (gst_videotestsrc_setcaps), (gst_videotestsrc_src_unlink), (gst_videotestsrc_activate), (gst_videotestsrc_change_state), (gst_videotestsrc_getcaps), (gst_videotestsrc_init), (gst_videotestsrc_src_query), (gst_videotestsrc_handle_src_event), (gst_videotestsrc_loop): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support), (gst_xvimagesink_xcontext_clear), (gst_xvimagesink_fixate), (gst_xvimagesink_getcaps), (gst_xvimagesink_setcaps), (gst_xvimagesink_change_state), (gst_xvimagesink_get_times), (gst_xvimagesink_show_frame), (gst_xvimagesink_chain), (gst_xvimagesink_buffer_free), (gst_xvimagesink_buffer_alloc), (gst_xvimagesink_navigation_send_event), (gst_xvimagesink_set_xwindow_id), (gst_xvimagesink_expose), (gst_xvimagesink_set_property), (gst_xvimagesink_finalize), (gst_xvimagesink_init), (gst_xvimagesink_class_init): * sys/xvimage/xvimagesink.h: Plugin port to 0.9, ogg/theora playback should work in the seek example now. Removed old examples. Removed old oggvorbisenc, renamed rawvorbisenc to vorbisenc as explained in 0.9 TODO doc. 2005-02-23 Thomas Vander Stichele * autogen.sh: * configure.ac: * ext/Makefile.am: * gst/Makefile.am: * po/POTFILES.in: * 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: * sys/Makefile.am: * testsuite/Makefile.am: remove a whole bunch of plugins. This module now contains a set of free reference plugins/elements as agreed. 2005-02-22 Thomas Vander Stichele * configure.ac: hunting season on 0.9 is now OPEN 2005-02-22 Ronald S. Bultje * sys/oss/gstosselement.c: (gst_osselement_class_probe_devices): Kick the hell out of gcc for not warning me about a symbol conflict. 2005-02-22 Luca Ognibene Reviewed by: Tim-Philipp Müller * ext/gdk_pixbuf/pixbufscale.c: (gst_pixbufscale_link): Don't leak caps string (fixes #168134) * ext/jpeg/gstjpegenc.c: (gst_jpegenc_class_init), (gst_jpegenc_init), (gst_jpegenc_finalize), (gst_jpegenc_change_state): Don't leak line buffers and context struct (fixes #168133). 2005-02-21 Tim-Philipp Müller * configure.ac: * ext/dirac/gstdiracdec.cc: (gst_diracdec_chain): Since dirac 0.5.0 the framerate in dirac is expressed as a rational number. Fix build and up requirement to 0.5.0, and also pass parameters to gst_diracdec_link in the right order (fixes #167959). 2005-02-21 Maciej Katafiasz * ext/faad/gstfaad.c: (gst_faad_sinkconnect), (gst_faad_chain): * ext/faad/gstfaad.h: TEH LONGEST DEBUGGING SESSION EVAR is over. Fix interaction with certain invalid muxed streams, where some packets will contain junk after decoder data. Partially fixes #149158. 2005-02-21 Jan Schmidt * gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_chain): Make sure we only write to writable buffers 2005-02-20 Tim-Philipp Müller * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps_with_data): Do actually fix invalid RIFF fmt header values for alaw and mulaw audio instead of just saying so. * gst/wavparse/gstwavparse.c: (gst_wavparse_fmt): Give gst_riff_create_audio_caps_with_data() a chance to fix up broken format header fields before extracting any parameters from the header. (fixes #167633) 2005-02-19 Martin Holters Reviewed by: Tim-Philipp Müller * gst/audioconvert/bufferframesconvert.c: (buffer_frames_convert_link): Don't leak othercaps. (fixes #167878) 2005-02-19 Arwed v. Merkatz * configure.ac: * ext/libvisual/visual.c: (gst_visual_srclink), (gst_visual_change_state): Support libvisual 0.2.0. 2005-02-18 Tim-Philipp Müller * ext/jpeg/gstjpegdec.c: (gst_jpegdec_chain): * ext/jpeg/gstjpegenc.c: (gst_jpegenc_resync), (gst_jpegenc_chain): Use same rowstrides for I420 as used everywhere else. 2005-02-17 Tim-Philipp Müller * gst/avi/gstavidemux.c: (gst_avi_demux_invert): Declare variables at beginning of block and make gcc-2.95 happy (fixes # 167482, patch by Gergely Nagy). * gst/tcp/gsttcpclientsrc.c: * gst/tcp/gsttcpclientsrc.h: Move some includes into the header, so that struct sockaddr_in is defined when it should be defined on FreeBSD as well (fixes #167483). * gst/tcp/gsttcpserversrc.c: (gst_tcpserversrc_init_receive): Don't pass uninitialised values to setsockopt() here either. 2005-02-17 Luca Ognibene Reviewed by: Tim-Philipp Müller * gst/tcp/gsttcpserversink.c: (gst_tcpserversink_init_send): Don't pass uninitialised values to setsockopt(). (fixes #167704) 2005-02-16 Ronald S. Bultje * gst/playback/gstplaybin.c: (add_sink): Invert bin_add/link order to workaround deadlock in opt. 2005-02-15 Ronald S. Bultje * gst/modplug/gstmodplug.cc: Add missing break causing position queries to fail. 2005-02-15 Ronald S. Bultje * ext/ogg/gstoggdemux.c: (gst_ogg_pad_populate): Granpos can apparently be -1, which screws up calculations... 2005-02-16 Jan Schmidt * sys/ximage/ximagesink.c: (gst_ximagesink_chain), (gst_ximagesink_send_pending_navigation), (gst_ximagesink_navigation_send_event), (gst_ximagesink_finalize), (gst_ximagesink_init): * sys/ximage/ximagesink.h: * sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain), (gst_xvimagesink_send_pending_navigation), (gst_xvimagesink_navigation_send_event), (gst_xvimagesink_finalize), (gst_xvimagesink_init): * sys/xvimage/xvimagesink.h: Use a mutex protected list to marshal navigation events into the stream thread from whichever thread sends them. 2005-02-15 Tim-Philipp Müller * gst/speed/demo-mp3.c: (time_tick_cb), (main): Display current position and track length; misc. clean-ups. * gst/speed/gstspeed.c: (speed_get_query_types), (speed_src_query), (speed_init), (speed_chain): Add query function, so that the stream length and current position get adjusted when queried (note that current position queries may still be wrong if the audio sink returns values based on buffer timestamps instead of passing on the query). 2005-02-13 Benjamin Otte * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link), (gst_audio_convert_channels): create channel conversion matrix when linking * gst/audioconvert/.cvsignore: * gst/audioconvert/Makefile.am: * gst/audioconvert/channelmixtest.c: (main): add (ugly) test that ensures stereo <=> mono conversion works correctly 2005-02-13 Benjamin Otte * gst/audioconvert/gstchannelmix.h: include missing header file * gst/audioconvert/gstchannelmix.c: (gst_audio_convert_fill_compatible): use same sign for both channels when converting to/from compatible channel. Previously used different signs made the signals cancel each other out and appear like silence. (fixes #167269) 2005-02-12 Tim-Philipp Müller * 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: Convert to and from YV12 (fixes #156379). 2005-02-12 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_xwindow_new), (gst_ximagesink_sink_link), (gst_ximagesink_change_state), (gst_ximagesink_chain), (gst_ximagesink_set_xwindow_id), (gst_ximagesink_expose), (gst_ximagesink_set_property), (gst_ximagesink_finalize), (gst_ximagesink_init): Protect interface methods from chain and negotiation and vice versa (Fixes #166142). * sys/ximage/ximagesink.h: Add stream_lock. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_sink_link), (gst_xvimagesink_chain), (gst_xvimagesink_buffer_free), (gst_xvimagesink_buffer_alloc), (gst_xvimagesink_set_xwindow_id), (gst_xvimagesink_expose): Check for xcontext before trying to link. 2005-02-12 Tim-Philipp Müller * ext/dvdnav/dvdnavsrc.c: (dvdnavsrc_open): Don't send "Hey! You gave me a NULL pointer you naughty person" as error message when we can't open the DVD device (when dvdnav_open() fails, src->dvdnav is NULL, so dvdnav_err_to_string() will return the above). Send something more useful instead (fixes #167117). 2005-02-11 Julien MOUTTE * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_put), (gst_xvimagesink_sink_link), (gst_xvimagesink_change_state), (gst_xvimagesink_chain), (gst_xvimagesink_buffer_free), (gst_xvimagesink_buffer_alloc), (gst_xvimagesink_set_xwindow_id), (gst_xvimagesink_expose), (gst_xvimagesink_set_property), (gst_xvimagesink_finalize), (gst_xvimagesink_init): Protect interface methods from chain and negotiation and vice versa (Fixes #166142). Fix a possible bug of images in the buffer pool being discarded because we are looking at the wrong geometry. * sys/xvimage/xvimagesink.h: Add stream_lock. 2005-02-11 David Schleef * ext/mpeg2dec/gstmpeg2dec.c: (crop_buffer): Change uint to unsigned int. (fixes #167128) 2005-02-11 David Schleef * gst/librfb/Makefile.am: Testing stuff before committing is for wimps... and people with fast machines. Fix stupid mistake. 2005-02-11 David Schleef * configure.ac: Pull in librfb from my CVS tree, because it is too small and annoying to be separate. Move rfbsrc plugin to gst/. * ext/Makefile.am: * ext/librfb/Makefile.am: * ext/librfb/gstrfbsrc.c: * gst/librfb/Makefile.am: * gst/librfb/gstrfbsrc.c: * gst/librfb/rfb.c: * gst/librfb/rfb.h: * gst/librfb/rfbbuffer.c: * gst/librfb/rfbbuffer.h: * gst/librfb/rfbbytestream.c: * gst/librfb/rfbbytestream.h: * gst/librfb/rfbcontext.h: * gst/librfb/rfbdecoder.c: * gst/librfb/rfbdecoder.h: * gst/librfb/rfbutil.h: 2005-02-10 Tim-Philipp Müller * gst/speed/Makefile.am: * gst/speed/demo-mp3.c: (main): * gst/speed/filter.func: * gst/speed/gstspeed.c: (speed_link), (speed_parse_caps), (speed_class_init), (speed_init), (speed_chain_int16), (speed_chain_float32), (speed_chain), (speed_set_property), (speed_get_property), (speed_change_state): * gst/speed/gstspeed.h: Fix speed element and make it chain-based (fixes #156467), and make it handle more than one channel. 2005-02-10 Jan Schmidt * ext/dts/gstdtsdec.c: (gst_dtsdec_init), (gst_dtsdec_channels), (gst_dtsdec_handle_event), (gst_dtsdec_handle_frame), (gst_dtsdec_chain), (gst_dtsdec_change_state): * ext/dts/gstdtsdec.h: Don't clobber the stack constructing the channels array. Make the element chain-based. DTS tracks can now be played. 2005-02-09 Tim-Philipp Müller * gst-libs/gst/audio/multichannel.h: * gst-libs/gst/gconf/gconf.h: * gst-libs/gst/idct/idct.h: * gst-libs/gst/media-info/media-info-priv.h: * gst-libs/gst/play/play.h: * gst-libs/gst/resample/private.h: * gst-libs/gst/resample/resample.h: * gst-libs/gst/riff/riff-ids.h: * gst-libs/gst/video/video.h: * gst-libs/gst/video/videosink.h: Add G_BEGIN_DECLS and G_END_DECLS around headers where missing, so that they work when included from C++ code. 2005-02-09 David Schleef * testsuite/gst-lint: Check for non-statically scoped parent_class variables. This won't be a problem once plugins are loaded with RTLD_LOCAL. 2005-02-09 Ronald S. Bultje * ext/mplex/gstmplexibitstream.cc: gcc madness. 2005-02-09 Ronald S. Bultje * ext/ogg/gstogmparse.c: * gst/debug/gstnavigationtest.c: Die, thou faulty symbol pollutors (non-static parent_class). 2005-02-08 Ronald S. Bultje * ext/mplex/gstmplexibitstream.cc: Fix event handling (#165525). 2005-02-08 Ronald S. Bultje * ext/mikmod/gstmikmod.c: * gst/modplug/gstmodplug.cc: Add missing endianness to template (fixes #165509). 2005-02-08 Ronald S. Bultje * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_handle_data): Fix wrong order of reading of optional bytes (#165290). 2005-02-08 Ronald S. Bultje * ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event): Implement FILLER event awareness. 2005-02-08 Ronald S. Bultje * ext/cdparanoia/gstcdparanoia.c: (cdparanoia_convert): Fix track calculations (#166208). 2005-02-08 Gergely Nagy Reviewed by: Ronald S. Bultje * ext/libpng/gstpngdec.c: (gst_pngdec_init), (gst_pngdec_chain): * ext/libpng/gstpngenc.c: Fix byte-order, use proper fixed caps. Fixes #164197. 2005-02-08 Jan Schmidt * configure.ac: Add dvdlpcmdec * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_reset), (free_all_buffers), (gst_mpeg2dec_alloc_buffer): Don't push buffers if the src pad isn't negotiated yet. * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_buffer_to_default_format), (gst_audio_convert_buffer_from_default_format): Add support for 24-bit width. * gst/dvdlpcmdec/.cvsignore: * gst/dvdlpcmdec/Makefile.am: * gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_get_type), (gst_dvdlpcmdec_base_init), (gst_dvdlpcmdec_class_init), (gst_dvdlpcm_reset), (gst_dvdlpcmdec_init), (gst_dvdlpcmdec_link), (gst_dvdlpcmdec_chain), (gst_dvdlpcmdec_change_state), (plugin_init): * gst/dvdlpcmdec/gstdvdlpcmdec.h: New decoder for rearranging DVD LPCM into our audio/x-raw-int format. Needs support for the channels maps if someone can find a DVD LPCM track with > 2 channels. * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_handle_dvd_event), (gst_dvd_demux_send_discont), (gst_dvd_demux_handle_discont), (gst_dvd_demux_get_audio_stream), (gst_dvd_demux_process_private): * gst/mpegstream/gstdvddemux.h: * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_send_discont), (gst_mpeg_demux_new_output_pad), (gst_mpeg_demux_init_stream), (gst_mpeg_demux_send_subbuffer), (gst_mpeg_demux_handle_src_query): * gst/mpegstream/gstmpegdemux.h: * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_reset), (gst_mpeg_parse_parse_packhead), (gst_mpeg_parse_loop), (gst_mpeg_parse_get_rate), (gst_mpeg_parse_convert_src), (gst_mpeg_parse_handle_src_query), (gst_mpeg_parse_handle_src_event): Use audio/x-dvd-lpcm for LPCM output. Add DTS output. 2005-02-08 Gergely Nagy Reviewed by: Ronald S. Bultje * gst/alpha/gstalphacolor.c: (gst_alpha_color_sink_link), (transform_rgb), (transform_bgr), (gst_alpha_color_chain): Add BGRA handling (#165736). 2005-02-08 Francis Labonte Reviewed by: Ronald S. Bultje * gst/law/alaw-decode.c: (alawdec_link): * gst/law/alaw-encode.c: (alawenc_link): * gst/law/mulaw-decode.c: (mulawdec_link): * gst/law/mulaw-encode.c: (mulawenc_link): Fix caps memleaks (#166600). 2005-02-08 Tim-Philipp Müller * ext/tarkin/mem.h: * ext/tarkin/wavelet.h: * ext/tarkin/yuv.h: * gst/ffmpegcolorspace/avcodec.h: Include "_stdint.h" instead of . Fixes build on systems that don't have stdint.h, like Solaris9 (fixes #166631). 2005-02-05 Ronald S. Bultje * sys/ximage/ximagesink.c: (gst_ximagesink_change_state): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xwindow_clear), (gst_xvimagesink_change_state): Clear window on PAUSED->READY instead of READY->PAUSED. Stop Xv video (and thereby regenerate Xv colourkey) in clear() so that PLAY -> READY -> PLAY works (fixes #162504). 2005-02-05 Ronald S. Bultje * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_getcaps): Switch to list instead of range, since MJPEG-devices really just support decimations, not any size. 2005-02-05 Jan Schmidt * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_open_decoder), (gst_mpeg2dec_reset), (free_all_buffers), (gst_mpeg2dec_alloc_buffer), (handle_sequence): * ext/mpeg2dec/gstmpeg2dec.h: The libmpeg2 user-allocated buffer management is awkward, to say the least. Hopefully this fixes things. 2005-02-04 Andy Wingo * gst/audioconvert/bufferframesconvert.c (buffer_frames_convert_fixate): New function, fixates to 256 frames per buffer by default. (Much better than 1.) (buffer_frames_convert_init): Set the fixate function for both src and sink pad. (buffer_frames_convert_link): After success setting nonfixed caps, get the negotiated caps so we can know how many buffer-frames it will be. No idea how this worked at all before. 2005-02-05 Jan Schmidt * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_init), (gst_mpeg2dec_close_decoder), (put_buffer), (check_buffer), (free_buffer), (free_all_buffers), (gst_mpeg2dec_alloc_buffer), (handle_sequence), (handle_picture): * ext/mpeg2dec/gstmpeg2dec.h: Rearrange buffer tracking and refcounting and refactor a little for readability. 2005-02-04 Jan Schmidt * sys/v4l/gstv4l.c: (plugin_init): * sys/v4l/gstv4ljpegsrc.c: (gst_v4ljpegsrc_get_type), (gst_v4ljpegsrc_base_init), (gst_v4ljpegsrc_class_init), (gst_v4ljpegsrc_init), (gst_v4ljpegsrc_src_link), (gst_v4ljpegsrc_getcaps), (gst_v4ljpegsrc_get): * sys/v4l/gstv4ljpegsrc.h: * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_open), (gst_v4lsrc_src_link): * sys/v4l/v4l_calls.h: * sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_palette_name), (gst_v4lsrc_get_fps): * sys/v4l/v4lsrc_calls.h: Add new v4ljpegsrc for handling the ov51x hacky "I'll give you jpeg inside rgb frames" driver. Don't error in the v4lsrc link function, just return REFUSED. 2005-02-03 Ronald S. Bultje * sys/qcam/gstqcamsrc.c: (gst_qcamsrc_change_state), (gst_qcamsrc_open): Use GST_ELEMENT_ERROR, not g_warning, if open failed. 2005-02-02 Ronald S. Bultje * gst/qtdemux/qtdemux.c: (qtdemux_video_caps): Change caps on MJPEG-B so it doesn't interfere with MJPEG/JPEG. 2005-02-02 Ronald S. Bultje * ext/raw1394/gstdv1394src.c: (gst_dv1394src_change_state): Reset negotiated state on PAUSED->READY. 2005-02-02 David Schleef * configure.ac: Put DEFAULT_AUDIOSINK in config.h and use whereever possible. (Fixes #165997) * examples/capsfilter/capsfilter1.c: (main): * examples/dynparams/filter.c: (create_ui): * examples/seeking/cdparanoia.c: (get_track_info), (main): * examples/seeking/chained.c: (main): * examples/seeking/seek.c: (make_mod_pipeline), (make_dv_pipeline), (make_wav_pipeline), (make_flac_pipeline), (make_sid_pipeline), (make_vorbis_pipeline), (make_mp3_pipeline), (make_avi_pipeline), (make_mpeg_pipeline), (make_mpegnt_pipeline): * examples/seeking/spider_seek.c: (make_spider_pipeline): * examples/switch/switcher.c: (main): * ext/dv/demo-play.c: (main): * ext/faad/gstfaad.c: (gst_faad_change_state): * ext/mad/gstmad.c: (gst_mad_chain): * ext/smoothwave/demo-osssrc.c: (main): * gst-libs/gst/gconf/gconf.c: (gst_gconf_set_string), (gst_gconf_render_bin_from_description), (gst_gconf_get_default_audio_sink), (gst_gconf_get_default_video_sink), (gst_gconf_get_default_audio_src), (gst_gconf_get_default_video_src), (gst_gconf_get_default_visualization_element): * gst/level/demo.c: (main): * gst/level/plot.c: (main): * gst/playback/gstplaybin.c: (gen_video_element), (gen_audio_element): * gst/playback/test.c: (gen_video_element), (gen_audio_element): * gst/playondemand/demo-mp3.c: (setup_pipeline): * gst/sine/demo-dparams.c: (main): * gst/spectrum/demo-osssrc.c: (main): * gst/speed/demo-mp3.c: (main): * gst/volume/demo.c: (main): * testsuite/embed/embed.c: (main): 2005-02-02 Jan Schmidt * gst/tcp/gsttcpclientsink.c: (gst_tcpclientsink_class_init), (gst_tcpclientsink_finalize): * gst/tcp/gsttcpclientsrc.c: (gst_tcpclientsrc_class_init), (gst_tcpclientsrc_finalize): * gst/tcp/gsttcpserversink.c: (gst_tcpserversink_class_init), (gst_tcpserversink_init), (gst_tcpserversink_finalize): * gst/tcp/gsttcpserversrc.c: (gst_tcpserversrc_class_init), (gst_tcpserversrc_init), (gst_tcpserversrc_finalize): Don't leak the hostname when shutting down. In tcpserversrc, take a copy of the default hostname. 2005-02-01 Ronald S. Bultje * ext/raw1394/gstdv1394src.c: (gst_dv1394src_iso_receive): Set caps to systemstream=TRUE. 2005-02-01 Ronald S. Bultje * testsuite/Makefile.am: Fix more OSX buildbots. 2005-02-02 Jan Schmidt * ext/mpeg2dec/gstmpeg2dec.c: Don't send things to NULL PAD_PEERs * gst/deinterlace/gstdeinterlace.c: (gst_deinterlace_chain): Copy-on-write the incoming buffer. * gst/mpegstream/gstdvddemux.h: * gst/mpegstream/gstmpegclock.h: * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_parse_syshead), (normal_seek), (gst_mpeg_demux_handle_src_event): * gst/mpegstream/gstmpegdemux.h: * gst/mpegstream/gstmpegpacketize.h: * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_update_streaminfo), (gst_mpeg_parse_reset), (gst_mpeg_parse_handle_discont), (gst_mpeg_parse_parse_packhead), (gst_mpeg_parse_loop), (gst_mpeg_parse_get_rate), (gst_mpeg_parse_convert_src), (gst_mpeg_parse_handle_src_query), (gst_mpeg_parse_handle_src_event), (gst_mpeg_parse_change_state): * gst/mpegstream/gstmpegparse.h: * gst/mpegstream/gstrfc2250enc.h: Various changes to the way time is computed that make seeking and total time estimation much better here. Use G_BEGIN/END_DECLS instead of __cplusplus * gst/videocrop/gstvideocrop.c: (gst_video_crop_chain): Use gst_buffer_stamp instead of only copying the TIMESTAMP 2005-02-01 Ronald S. Bultje * gst/subparse/gstsubparse.c: Fix OSX buildbot. 2005-01-31 Tim-Philipp Müller * ext/theora/theoraenc.c: (theora_buffer_from_packet), (theora_enc_chain), (theora_enc_change_state): * ext/vorbis/vorbisenc.c: (gst_vorbisenc_init), (gst_vorbisenc_buffer_from_packet), (gst_vorbisenc_chain), (gst_vorbisenc_change_state): * ext/vorbis/vorbisenc.h: Set granulepos and timestamp correctly for streams not starting at 0, taking into account the initial delay. 2005-01-31 Tim-Philipp Müller * gst/mpegstream/gstdvddemux.c: Add audio/x-dts to audio pad template caps 2005-01-30 David Schleef * ext/polyp/polypsink.c: (gst_polypsink_base_init), (create_context), (gst_polypsink_link): Fix silly endianness bug. Add some debugging. Remove float from caps; it doesn't work. Attempt to get remote audio working. 2005-01-29 Ronald S. Bultje * gst/qtdemux/qtdemux.c: (qtdemux_video_caps): Add 3IV2 fourcc. 2005-01-29 Ronald S. Bultje * gst/avi/gstavidemux.c: (gst_avi_demux_add_stream), (swap_line), (gst_avi_demux_invert), (gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data): * gst/avi/gstavidemux.h: Invert DIB images. Fixes #132341. 2005-01-29 Ronald S. Bultje * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_chain): D'oh, reference the palette data, not the palette structure. Fixes color distortion in #132341. 2005-01-29 Ronald S. Bultje * gst/videoscale/gstvideoscale.c: (gst_videoscale_link): PAR can be non-fixed when not provided as argument (#162626). 2005-01-29 David Moore Reviewed by: Ronald S. Bultje * gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state), (gst_qtdemux_loop_header): Re-apply patch from #142272 that allows non-seekable sources, re-proposed by Daniel Drake . 2005-01-29 Ronald S. Bultje * gst/rtp/gstrtpgsmenc.c: (gst_rtpgsmenc_init): Use the src template for creating the src pad (#162330). 2005-01-29 Ronald S. Bultje * configure.ac: * ext/musepack/Makefile.am: * ext/musepack/gstmusepackdec.c: (gst_musepackdec_class_init), (gst_musepackdec_init), (gst_musepackdec_dispose), (gst_musepackdec_src_query), (gst_musepackdec_src_convert), (gst_musepack_stream_init), (gst_musepackdec_loop), (gst_musepackdec_change_state): * ext/musepack/gstmusepackdec.cpp: * ext/musepack/gstmusepackdec.h: * ext/musepack/gstmusepackreader.c: (gst_musepack_reader_peek), (gst_musepack_reader_read), (gst_musepack_reader_seek), (gst_musepack_reader_tell), (gst_musepack_reader_get_size), (gst_musepack_reader_canseek), (gst_musepack_init_reader): * ext/musepack/gstmusepackreader.cpp: * ext/musepack/gstmusepackreader.h: Update to 1.1 API (#165446). 2005-01-28 Ronald S. Bultje * ext/Makefile.am: Unbreak buildbot. 2005-01-28 Andy Wingo * ext/dv/gstdvdec.c: Change the pixel aspect ratio of dvdec output to reflect a different dubious internet source. Add a reference and some commentary. 2005-01-28 Ronald S. Bultje * gst/playback/gststreamselector.c: (gst_stream_selector_init), (gst_stream_selector_get_caps), (gst_stream_selector_chain): * gst/playback/gststreamselector.h: Be more selective when we're redoing caps negotiation from within the chain function on a stream change. 2005-01-28 Ronald S. Bultje * configure.ac: * ext/Makefile.am: * ext/amrnb/Makefile.am: * ext/amrnb/amrnb.c: (plugin_init): * ext/amrnb/amrnbdec.c: (gst_amrnbdec_get_type), (gst_amrnbdec_base_init), (gst_amrnbdec_class_init), (gst_amrnbdec_init), (gst_amrnbdec_link), (gst_amrnbdec_chain), (gst_amrnbdec_state_change): * ext/amrnb/amrnbdec.h: * ext/amrnb/amrnbparse.c: (gst_amrnbparse_get_type), (gst_amrnbparse_base_init), (gst_amrnbparse_class_init), (gst_amrnbparse_init), (gst_amrnbparse_formats), (gst_amrnbparse_querytypes), (gst_amrnbparse_query), (gst_amrnbparse_handle_event), (gst_amrnbparse_reserve), (gst_amrnbparse_loop), (gst_amrnbparse_state_change): * ext/amrnb/amrnbparse.h: Add support for AMR-NB (mobile phone audio format; #155163, #163286). * gst/typefind/gsttypefindfunctions.c: (plugin_init): Add AMR-NB/-WB raw formats. * ext/alsa/gstalsa.c: (gst_alsa_link): Keep valid time when changing format. * gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header), (qtdemux_parse_trak): Add some more format-specific options (#140141, #143555, #155163). 2005-01-28 Ronald S. Bultje * gst/matroska/matroska-demux.c: (gst_matroska_demux_parse_blockgroup): Fix logic error in timing of subtitle stream synchronization. * gst/typefind/gsttypefindfunctions.c: (qt_type_find): Add skip-chunk, which is found in kodak-camera streams. 2005-01-27 Thomas Vander Stichele * po/LINGUAS: * po/vi.po: Adding Vietnamese translation (submitted by Clytie Siddall) 2005-01-27 Ronald S. Bultje * gst/playback/gstdecodebin.c: (try_to_link_1): Use realpad for signal. 2005-01-27 Ronald S. Bultje * ext/mad/gstid3demuxbin.c: (gst_id3demux_bin_base_init): Fix category so decodebin picks it up. 2005-01-27 Ronald S. Bultje * ext/mad/Makefile.am: * ext/mad/gstid3demuxbin.c: (gst_id3demux_bin_get_type), (gst_id3demux_bin_base_init), (gst_id3demux_bin_class_init), (gst_id3demux_bin_init), (gst_id3demux_bin_remove_pad), (found_type), (gst_id3demux_bin_change_state): * ext/mad/gstid3tag.c: (gst_id3_tag_add_src_pad), (gst_id3_tag_init), (gst_id3_tag_handle_event), (gst_id3_tag_src_link), (gst_id3_tag_chain), (gst_id3_tag_change_state), (plugin_init): * ext/mad/gstmad.h: Add id3demuxbin (which is a simple bin consisting of id3demux and typefind), take over rank from id3demux, remove typefind code from id3demux. Makes all broken mp3s that I know of work, and thereby fixes #152688. 2005-01-27 Edward Hervey Reviewed by: Ronald S. Bultje * ext/mad/gstmad.c: (gst_mad_src_event): * gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_event): Allow seeks on audio pad, make mad forward those (#164826). * gst/audioscale/gstaudioscale.c: (gst_audioscale_chain): Set duration (#165335). 2005-01-27 Ronald S. Bultje * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_init), (gst_asf_demux_commit_taglist), (gst_asf_demux_process_comment), (gst_asf_demux_process_ext_content_desc), (gst_asf_demux_change_state), (gst_asf_demux_add_audio_stream), (gst_asf_demux_add_video_stream), (gst_asf_demux_setup_pad): * gst/asfdemux/gstasfdemux.h: Improve metadata display, e.g. if the metadata comes before the streams are loaded (which is perfectly valid). 2005-01-27 Ronald S. Bultje * tools/gst-launch-ext-m.m: Fix AVI/ASF pipelines (#165340). 2005-01-26 Amaury Jacquot * ext/cairo/gsttextoverlay.c: include string.h and strings.h to fix build failure on amd64 2005-01-26 Tim-Philipp Müller * ext/mad/gstid3tag.c: (mad_id3_parse_latin1_string), (mad_id3_parse_comment_frame), (gst_mad_id3_to_tag_list): Check environment variables GST_ID3V2_TAG_ENCODING, GST_ID3_TAG_ENCODING and GST_TAG_ENCODING for a colon-separated list of character encodings to force interpretation of non-unicode strings stored in an ID3v2 tag to a particular encoding. If none is specified, try to use current locale's encoding, then fall back to ISO-8859-1 (which will always succeed). (Resolves #149274) * gst/tags/gstid3tag.c: (gst_tag_from_id3_tag), (gst_tag_extract_id3v1_string), (gst_tag_list_new_from_id3v1): Check environment variables GST_ID3V1_TAG_ENCODING, GST_ID3_TAG_ENCODING and GST_TAG_ENCODING for a colon-separated list of character encodings to use in case a string encountered in an ID3v1 tag is not valid UTF-8 already. If no encoding is specified, try to use the current locale's encoding, then fall back to ISO-8859-1 (which will always succeed). 2005-01-25 Benjamin Otte * ext/mad/gstmad.c: (gst_mad_check_caps_reset), (gst_mad_chain): - on half framerate, compute the rate in advance so the comparisons don't compare wrong values - don't use mad_synth/frame_mute anymore, this mirrors mad_decoder behaviour - don't use mad_header_decode anymore, mad_frame_decode does that automatically - when getting rid of consumed bytes, reset the stream's skiplen (fixes #163867) 2005-01-26 Jan Schmidt * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_class_init) Use 1/2 a second for default max_discont, as PES streams from DVB seem to have larger spacings in the SCR. Fix a typo. 2005-01-25 Ronald S. Bultje * gst/playback/gstplaybasebin.c: (group_commit): Notify delayed stream-info availability. 2005-01-26 Jan Schmidt * ext/a52dec/gsta52dec.c: (gst_a52dec_push), (gst_a52dec_handle_event), (gst_a52dec_chain): Add some debug output. Check that a discont has a valid time associated. * ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event), (gst_alsa_sink_loop): Ignore TAG events. A little extra debug for broken timestamps. * ext/dvdnav/dvdnavsrc.c: (dvdnavsrc_init), (dvdnavsrc_loop), (dvdnavsrc_change_state): Ensure we send a discont to engage the link before we send any other events. * ext/dvdread/dvdreadsrc.c: (dvdreadsrc_init), (dvdreadsrc_finalize), (_close), (_open), (_seek_title), (_seek_chapter), (seek_sector), (dvdreadsrc_get), (dvdreadsrc_uri_get_uri), (dvdreadsrc_uri_set_uri): Handle URI of the form dvd://title[,chapter[,angle]]. Currently only dvd://title works in totem because typefinding sends a seek that ends up going back to chapter 1 regardless. * ext/mpeg2dec/gstmpeg2dec.c: * ext/mpeg2dec/gstmpeg2dec.h: Output correct timestamps and handle disconts. * ext/ogg/gstoggdemux.c: (get_relative): Small guard against a null dereference. * ext/pango/gsttextoverlay.c: (gst_textoverlay_finalize), (gst_textoverlay_set_property): Free memory when done. Don't call gst_event_filler_get_duration on EOS events. Use GST_LOG and GST_WARNING instead of g_message and g_warning. * ext/smoothwave/gstsmoothwave.c: (gst_smoothwave_init), (draw_line), (gst_smoothwave_dispose), (gst_sw_sinklink), (gst_sw_srclink), (gst_smoothwave_chain): Draw solid lines, prettier colours. * gst/mpeg2sub/gstmpeg2subt.c: (gst_mpeg2subt_init): Add a default palette that'll work for some movies. * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_init), (gst_dvd_demux_handle_dvd_event), (gst_dvd_demux_send_discont), (gst_dvd_demux_send_subbuffer), (gst_dvd_demux_reset): * gst/mpegstream/gstdvddemux.h: * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_send_discont), (gst_mpeg_demux_parse_syshead), (gst_mpeg_demux_parse_pes): * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_init), (gst_mpeg_parse_handle_discont), (gst_mpeg_parse_parse_packhead): * gst/mpegstream/gstmpegparse.h: Use PTM/NAV events when for timestamp adjustment when connected to dvdnavsrc. Don't use many discont events where one suffices. * gst/playback/gstplaybasebin.c: (group_destroy), (gen_preroll_element), (gst_play_base_bin_add_element): * gst/playback/gstplaybasebin.h: Make sure we remove subtitles from the same bin we put them in. * gst/subparse/gstsubparse.c: (convert_encoding), (parse_subrip), (gst_subparse_buffer_format_autodetect), (gst_subparse_change_state): Fix some memleaks and invalid accesses. * gst/typefind/gsttypefindfunctions.c: (ogganx_type_find), (oggskel_type_find), (cmml_type_find), (plugin_init): Some typefind functions for Annodex v3.0 files * gst/wavparse/gstwavparse.h: GstRiffReadClass is the correct parent class. 2005-01-25 Ronald S. Bultje * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps_with_data): Add extradata to huffyuv (fixes #165013). * gst-libs/gst/riff/riff-read.c: (gst_riff_read_strf_vids_with_data): Fix extradata extraction if it is in the chunk size. 2005-01-25 Edward Hervey Reviewed by: Ronald S. Bultje * gst/effectv/gstquark.c: (gst_quarktv_class_init), (gst_quarktv_change_state), (gst_quarktv_dispose): Memory free'ing location fix (#164708). 2005-01-25 Ronald S. Bultje * gst/playback/gstplaybasebin.c: (group_commit), (gen_preroll_element), (probe_triggered), (gen_source_element), (setup_source), (gst_play_base_bin_change_state), (gst_play_base_bin_add_element): Don't block for streams. * gst/playback/gststreaminfo.c: (stream_info_change_state), (gst_stream_info_set_mute): Use gst_pad_set_active_recursive. 2005-01-25 Andy Wingo * sys/v4l/gstv4lelement.c (gst_v4l_iface_supported): Fix compile for #ifndef HAVE_XVIDEO. 2005-01-24 Jeffrey C. Ollie reviewed by: Maciej Katafiasz * ext/gsm/gstgsmdec.c: (gst_gsmdec_init), (gst_gsmdec_chain): * ext/gsm/gstgsmdec.h: * ext/gsm/gstgsmenc.c: (gst_gsmenc_init), (gst_gsmenc_chain): * ext/gsm/gstgsmenc.h: Fix rate to 8kHz as per spec, removes obscure errors when no rate was given by property. Add proper buffer timestamps and offsets. 2005-01-24 Ronald S. Bultje * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps_with_data): Audio can be <8000Hz. 2005-01-22 Ronald S. Bultje * gst/playback/gstplaybasebin.c: (gst_play_base_bin_change_state): Explicit state change to workaround refcount bugs. 2005-01-22 Ronald S. Bultje * gst/avi/gstavimux.c: (gst_avimux_write_tag), (gst_avimux_riff_get_avi_header): Fix... 2005-01-19 Ronald S. Bultje * gst-libs/gst/riff/riff-read.c: (gst_riff_peek_element_data), (gst_riff_read_element_data): * gst-libs/gst/riff/riff-read.h: Add _peek version (req'ed in CDXA). * gst/cdxaparse/gstcdxaparse.c: (gst_cdxaparse_init), (gst_cdxaparse_loop): Fix parsing in playbin. * gst/playback/gstdecodebin.c: (close_pad_link): Ignore current_ pads, they cause major annoyance. 2005-01-19 Ronald S. Bultje * ext/alsa/gstalsasink.c: (gst_alsa_sink_loop): Safety guard. 2005-01-19 Ronald S. Bultje * gst/avi/gstavimux.c: (gst_avimux_write_tag): Fix padding... 2005-01-19 Ronald S. Bultje * gst/matroska/ebml-read.c: (gst_ebml_read_buffer): Allow for 0-sized buffers. Fixes length query problems in starwars.mkv from the testsuite. 2005-01-19 Tim-Philipp Müller * gst/videobox/gstvideobox.c: (gst_video_box_copy_plane_i420), (gst_video_box_i420), (gst_video_box_chain): Fix row strides for I420 (fixes #163159) 2005-01-19 Ronald S. Bultje * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_parse_packhead): MPEG2 has a useful rate property, so we can actually use that. For MPEG-1, continue using the bytes/time properties. 2005-01-19 Ronald S. Bultje * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps_with_data), (gst_riff_create_video_template_caps): Add intel-h263. 2005-01-19 Ronald S. Bultje * ext/mad/gstmad.c: (gst_mad_check_caps_reset), (gst_mad_chain): Fail if caps negotiation fails. Should fix #162184, and should definately be in there regardless of it fixing the actual bug. * gst/avi/gstavimux.c: (gst_avimux_get_type), (gst_avimux_init), (gst_avimux_write_tag), (gst_avimux_riff_get_avi_header), (gst_avimux_riff_get_avix_header), (gst_avimux_riff_get_video_header), (gst_avimux_riff_get_audio_header), (gst_avimux_write_index), (gst_avimux_start_file), (gst_avimux_handle_event), (gst_avimux_change_state): * gst/avi/gstavimux.h: Refactor structure writing to use GST_WRITE_UINT macros, add metadata writing support. 2005-01-18 Ronald S. Bultje * gst/playback/gststreaminfo.c: (gst_stream_info_dispose): Elements may already be destroyed when this function is called. 2005-01-18 Ronald S. Bultje * gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state), (gst_qtdemux_loop_header), (gst_qtdemux_handle_esds): More memory leak fixes (#149162). 2005-01-18 Ronald S. Bultje * gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state), (gst_qtdemux_add_stream): Fix two memleaks. 2005-01-18 Ronald S. Bultje * ext/faad/gstfaad.c: (gst_faad_srcgetcaps): Argh... 2005-01-17 Ronald S. Bultje * ext/faad/gstfaad.c: (gst_faad_srcgetcaps): Fix off-by-one bug. Fixes warnings during playback of sincity.mp4 when fixating to six channels in Totem. 2005-01-17 Tim-Philipp Müller * ext/dvdread/dvdreadsrc.c: (get_next_cell_for): Fix compile warnings on Solaris 10 buildbot 2005-01-17 Tim-Philipp Müller * ext/dvdread/dvdreadsrc.c: (_read): Don't read beyond the last cell in a chapter (fixes invalid memory access) 2005-01-17 Tim-Philipp Müller * ext/dvdread/stream_labels.c: (dvdreadsrc_get_audio_stream_labels): Use NULL for an empty GList instead of g_list_alloc(); fix memory leaks; s/LCPM/LPCM/; use g_strdup_printf() instead of GString (easier to bulk free later) 2005-01-17 Gergely Nagy Reviewed by: Ronald S. Bultje * gst/ffmpegcolorspace/gstffmpegcodecmap.c: (gst_ffmpeg_pixfmt_to_caps): Fix BGRA32 caps (#164209). 2005-01-17 Gergely Nagy Reviewed by: Ronald S. Bultje * gst/ffmpegcolorspace/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_pixfmt): alpha_mask can be RGBA/ABGR. Fixes #164265. 2005-01-17 Francis Labonte Reviewed by: Ronald S. Bultje * ext/mpeg2dec/gstmpeg2dec.c: (crop_buffer), (gst_mpeg2dec_alloc_buffer): * ext/mpeg2dec/gstmpeg2dec.h: Crop if decoding size is not the actual image size (#163676). 2005-01-17 Steve Baker Reviewed by: Ronald S. Bultje * gst/typefind/gsttypefindfunctions.c: (aiff_type_find), (svx_type_find), (sds_type_find), (ircam_type_find), (plugin_init): Add libsndfile typefind functions (#163309). 2005-01-17 Ronald S. Bultje * tools/gst-launch-ext-m.m: Add .aac, fix .m1v/.m2v (#163891). 2005-01-17 Ronald S. Bultje * ext/alsa/gstalsaclock.c: (gst_alsa_clock_wait): Sanity check, don't wait endlessly since the clock might not actually run at this point (which is a deadlock). Fixes #164069. 2005-01-16 Ronald S. Bultje * gst/playback/gstplaybasebin.c: (probe_triggered): Of course, only pause if group is done... 2005-01-16 Ronald S. Bultje * gst/playback/gstplaybasebin.c: (probe_triggered): Thread safety. 2005-01-16 Jan Schmidt * ext/swfdec/gstswfdec.c: (gst_swfdec_change_state): Don't return state change success when the parent failed. 2005-01-16 Ronald S. Bultje * gst/avi/gstavimux.c: (gst_avimux_handle_event): Free events (fix memleak in #162905). 2005-01-15 Gergely Nagy Reviewed by: Ronald S. Bultje * gst/ffmpegcolorspace/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_pixfmt): Fix for depth = 15. Fixes #161675. 2005-01-14 Ronald S. Bultje * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_getcaps): Set FPS correctly, even for webcams and the like. * sys/v4l/v4l_calls.c: (gst_v4l_set_chan_norm): Don error on setting while capturing. 2005-01-14 Stephane LOEUILLET * ext/dv/gstdvdec.c: * gst/subparse/gstsubparse.c: (parse_mdvdsub): * gst/y4m/gsty4mencode.c: (gst_y4mencode_sinkconnect): I'm a bad boy. using /1001. to force C to do float division and not integer division (as it did in my last commit) Thanks to David I. Lehn for pointing this mistake. 2005-01-14 Ronald S. Bultje * sys/v4l/gstv4lelement.c: (gst_v4l_iface_supported): Revert Johan's 1.35->1.36 since it breaks compat. 2005-01-14 Stephane LOEUILLET * ext/dv/gstdvdec.c: * ext/libfame/gstlibfame.c: * gst/subparse/gstsubparse.c: (parse_mdvdsub): * gst/y4m/gsty4mencode.c: (gst_y4mencode_sinkconnect): replace framerate aproximations by their real value (24000/1001, 30000/1001, 60000/1001) Finish fixing bug #164049 2005-01-13 Thomas Vander Stichele * ext/ogg/gstoggmux.c: eos/bos debugging * gst/tcp/gstmultifdsink.c: * gst/tcp/gstmultifdsink.h: * gst/tcp/gsttcp.c: * gst/tcp/gsttcp.h: * gst/tcp/gsttcpclientsink.c: * gst/tcp/gsttcpclientsrc.c: * gst/tcp/gsttcpserversink.c: * gst/tcp/gsttcpserversrc.c: improve reusability of elements after state changes and errors make multifdsink throw away streamheaders when receiving new ones 2005-01-13 Ronald S. Bultje * ext/alsa/gstalsa.c: (gst_alsa_rates_probe): Fix for if items are already in list... 2005-01-12 Benjamin Otte * gst/adder/gstadder.c: (gst_adder_loop): fix adder a bit so it doesn't screw up with events as much anymore 2005-01-12 Jan Schmidt * ext/gdk_pixbuf/pixbufscale.c: (gst_pixbufscale_link), (pixbufscale_scale), (gst_pixbufscale_chain): * ext/gdk_pixbuf/pixbufscale.h: Incorporate changes from Tim-Philipp Mueller to ensure rowstrides are calculated the same way as ffmpegcolorspace Use gst_buffer_stamp instead of copying TIMESTAMP manually, so that we pick up duration and offset also. 2005-01-11 Ronald S. Bultje * gst/avi/gstavimux.c: (gst_avimux_class_init), (gst_avimux_pad_unlink), (gst_avimux_release_pad): Reusability fixes. 2005-01-11 Ronald S. Bultje * ext/alsa/gstalsamixer.c: (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): Update flags when requested. 2005-01-11 Ronald S. Bultje * ext/alsa/gstalsa.c: (gst_alsa_rates_probe): Fix dmix. 2005-01-11 Ronald S. Bultje * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init), (gst_play_base_bin_init), (gst_play_base_bin_dispose), (probe_triggered), (new_decoded_pad), (gen_source_element), (gst_play_base_bin_set_property), (gst_play_base_bin_get_property): * gst/playback/gstplaybasebin.h: * gst/playback/gstplaybin.c: (gst_play_bin_class_init), (gst_play_bin_init), (group_switch), (remove_sinks), (setup_sinks), (gst_play_bin_change_state): Implement group-switch signal for use in apps to clear metadata cache, clean up subtitle, add suburi property instead of # hack, some error-out fixes. 2005-01-11 Ronald S. Bultje * ext/vorbis/vorbisdec.c: (vorbis_dec_chain): Debug. * sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_grab_frame): If we got a state change in the _get handler, don't return success. 2005-01-10 Stephane LOEUILLET * ext/jpeg/gstjpegdec.c: (gst_jpegdec_my_output_message), (gst_jpegdec_my_emit_message), (gst_jpegdec_init): Make jpegdec quiet on MJPEG decoding * gst/asfdemux/README: Fix mimetypes for MJPEG and H263 2005-01-10 Ronald S. Bultje * ext/theora/theoradec.c: (theora_dec_chain): Fix broken code generation by gcc by swapping arguments. * ext/vorbis/vorbisdec.c: (vorbis_dec_src_query): Fix \n in debug. 2005-01-10 Stephane LOEUILLET * TODO: delete this file, it is by far outdated * ext/alsa/gstalsa.1: remove * ext/alsa/gstalsa.c: (add_rates), (add_channels), (gst_alsa_caps), (gst_alsa_check_sample_rates), (gst_alsa_rates_probe), (gst_alsa_get_caps): Add HW probing for supported sample rates. Fixes #161704 2005-01-10 Ronald S. Bultje * gst/audioscale/gstaudioscale.c: (gst_audioscale_chain): Don't crash, biatch! :). 2005-01-10 Ronald S. Bultje * ext/musepack/gstmusepackreader.cpp: * gst/apetag/apedemux.c: (gst_ape_demux_stream_data): Some work on tags - still doesn't work in playbin... * gst/audioscale/gstaudioscale.c: (gst_audioscale_chain): Handle events... 2005-01-10 Ronald S. Bultje * gst/qtdemux/qtdemux.c: (qtdemux_parse_tree): Also shove tags on kid pads. 2005-01-10 Ronald S. Bultje * gst-libs/gst/riff/riff-read.c: (gst_riff_read_use_event): Don't bail on unknown events. * gst/audioscale/gstaudioscale.c: (gst_audioscale_chain): Don't crash on events before negotiation. * gst/avi/gstavidemux.c: (gst_avi_demux_add_stream): Send tags on pads, too. * gst/playback/gststreamselector.c: (gst_stream_selector_request_new_pad): Forward events on first pad if no input was selected yet. 2005-01-10 Ronald S. Bultje * gst/playback/gstplaybasebin.c: (setup_substreams): Don't disable streamtype if the stream doesn't exist, since then playing a video after audio will disable both and nothing will happen. Fixes the testsuite. 2005-01-10 Ronald S. Bultje * sys/v4l/gstv4lxoverlay.c: (gst_v4l_xoverlay_interface_init), (gst_v4l_xoverlay_set_xwindow_id): * sys/v4l2/gstv4l2xoverlay.c: (gst_v4l2_xoverlay_interface_init), (gst_v4l2_xoverlay_set_xwindow_id): Add debug categories, fix overlay disabling. 2005-01-10 Stephane LOEUILLET * ext/alsa/gstalsa.c: (gst_alsa_class_init), (gst_alsa_get_caps): * ext/alsa/gstalsa.h: Add HW probing for period_count/size and buffer_size MIX/MAX Adjust default/user defined value if out of bounds Should fix bug #162024 2005-01-09 Ronald S. Bultje * gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_sink_event): Fix warning (#161191). 2005-01-09 Stephane LOEUILLET * ext/dvdread/stream_labels.c: (dvdreadsrc_get_audio_stream_labels): Fix warning (init the good variable in switch default) 2005-01-09 Koop Mast Reviewed by: Ronald S. Bultje * gst/tta/gstttaparse.c: (gst_tta_src_event): Fix gcc-2.95 compile (#163485). 2005-01-09 Ronald S. Bultje * configure.ac: * ext/flac/gstflacenc.c: (gst_flacenc_init), (gst_flacenc_seek_callback), (gst_flacenc_write_callback), (gst_flacenc_tell_callback), (gst_flacenc_chain), (gst_flacenc_change_state): * ext/flac/gstflacenc.h: Update for API change in flac-1.1.1. Update requirement in configure.ac. Fixes #162974. 2005-01-09 Ronald S. Bultje * gst/playback/gstplaybasebin.c: (group_destroy): Remove hack to get rid of assert and get rid of unlinked signals properly. 2005-01-09 Ronald S. Bultje * gst/playback/gstplaybasebin.c: (setup_source): Set source to NULL so that resources are free'ed. Fixes issues with playback of CDDA and similar device-accessing things. 2005-01-09 Ronald S. Bultje * testsuite/embed/Makefile.am: test->noinst, fix make test in buildbot. 2005-01-09 Stephane LOEUILLET * ext/dvdread/stream_labels.c: new file * ext/dvdread/stream_labels.h: new file * ext/dvdread/Makefile.am: * ext/dvdread/dvdreadsrc.c: (_seek_title): Extract audio stream label from DVD IFO files. It only dump them on the console for now, still have to make playbin aware of them. 2005-01-09 Ronald S. Bultje * gst/playback/gstplaybasebin.c: (setup_source): Fix hanging subs. 2005-01-09 Ronald S. Bultje * gst/playback/gstplaybasebin.c: (gst_play_base_bin_init), (gen_preroll_element), (remove_groups), (setup_subtitle), (gen_source_element), (setup_source): * gst/playback/gstplaybasebin.h: Multiple .sub files is just a stupid idea... Fix some threading mistakes. Interestingly, external .sub files cause playbin to hang, I don't know why... Parsing fixes contributed by Fran??ois Kooman . 2005-01-09 Ronald S. Bultje * testsuite/embed/Makefile.am: Fix buildbot. 2005-01-09 Gergely Nagy Reviewed by: Ronald S. Bultje * ext/libpng/gstpngenc.c: (gst_pngenc_class_init), (gst_pngenc_init), (gst_pngenc_chain), (gst_pngenc_get_property), (gst_pngenc_set_property): * ext/libpng/gstpngenc.h: Add compression level property (#163323). 2005-01-09 Ronald S. Bultje * configure.ac: * examples/capsfilter/capsfilter1.c: (main): * examples/seeking/spider_seek.c: (make_spider_pipeline): * ext/dvdread/Makefile.am: * ext/dvdread/demo-play: * ext/dvdread/demo-play.c: * gconf/gstreamer.schemas.in: * gst-libs/gst/gconf/gconf.c: * sys/v4l/TODO: * testsuite/Makefile.am: * testsuite/embed/Makefile.am: * testsuite/embed/embed.c: (cb_expose), (main): Remove all references to xvideosink, fix examples (#140845). * gst/playback/gstplaybasebin.c: (group_destroy): Apparently, disposal does not unlink - so do explicitely. * ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event): Add debug. 2005-01-09 Maciej Katafiasz * README: fix PKG_CONFIG_PATH instructions, what was there previously was breaking default search path, not nice. Fixes #163358 2005-01-09 Ronald S. Bultje * gst/audioscale/gstaudioscale.c: (gst_audioscale_init), (gst_audioscale_chain): %#^@^#@^@#^#@^#@^@#^@#^@#^@#^#@^#@^#@^@#^#@ fix seeking when resampling - how the ^@$^!@^! is this possible?!? 2005-01-09 Ronald S. Bultje * ext/alsa/gstalsa.c: (gst_alsa_change_state): Reset variables on READY. * gst/matroska/matroska-mux.c: (gst_matroska_mux_request_new_pad), (gst_matroska_mux_loop): Require data before writing header. 2005-01-09 Francis Labonte Reviewed by: Ronald S. Bultje * ext/mad/gstmad.c: (gst_mad_chain): Don't call mad_stream_sync() directly after recovering sync. Fixes #151661. 2005-01-09 Martin Eikermann Reviewed by: Ronald S. Bultje * ext/snapshot/gstsnapshot.c: (gst_snapshot_class_init), (snapshot_handler), (gst_snapshot_sinkconnect), (gst_snapshot_chain): Allocate resources when required, fix recursive signal emission and fix caps. Fixes #161667. 2005-01-09 Gergely Nagy Reviewed by: Ronald S. Bultje * ext/libpng/gstpngdec.c: (gst_pngdec_src_getcaps), (gst_pngdec_chain): Handle only 8-bppc (bits-per-pixel-component) images, better error handling and correct strides. Fixes #163177. * ext/libpng/gstpngenc.c: (gst_pngenc_sinklink), (gst_pngenc_chain): Better error handling. Fixes #163348. 2005-01-09 Ronald S. Bultje * ext/dvdnav/dvdnavsrc.c: (dvdnavsrc_get_type), (dvdnavsrc_uri_get_type), (dvdnavsrc_uri_get_protocols), (dvdnavsrc_uri_get_uri), (dvdnavsrc_uri_set_uri), (dvdnavsrc_uri_handler_init): Add DVD-nav URI (dvdnav://) for Totem testing purposes. * gst/playback/gstplaybasebin.c: (gen_source_element): Add MMS to streaming URIs. 2005-01-09 Ronald S. Bultje * sys/ximage/ximagesink.c: (gst_ximagesink_navigation_send_event): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_navigation_send_event): Check for pad availability before sending event. 2005-01-08 Ronald S. Bultje * gst-plugins.spec.in: Add subparse. 2005-01-08 Ronald S. Bultje * configure.ac: Since we use functions from CVS, up requirement. 2005-01-08 Ronald S. Bultje * gst/playback/Makefile.am: * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init), (group_destroy), (group_commit), (group_is_muted), (gen_preroll_element), (add_stream), (unknown_type), (probe_triggered), (preroll_unlinked), (mute_stream), (silence_stream), (new_decoded_pad), (setup_substreams), (setup_source), (get_active_source), (mute_group_type), (muted_group_change_state), (set_active_source), (gst_play_base_bin_set_property), (gst_play_base_bin_get_property), (play_base_eos), (gst_play_base_bin_change_state): * gst/playback/gstplaybasebin.h: * gst/playback/gstplaybin.c: (add_sink), (setup_sinks): * gst/playback/gststreaminfo.c: (gst_stream_info_class_init), (gst_stream_info_dispose), (stream_info_mute_pad), (stream_info_change_state), (gst_stream_info_set_mute): * gst/playback/gststreamselector.c: (gst_stream_selector_get_type), (gst_stream_selector_base_init), (gst_stream_selector_class_init), (gst_stream_selector_init), (gst_stream_selector_dispose), (gst_stream_selector_get_linked_pad), (gst_stream_selector_get_caps), (gst_stream_selector_link), (gst_stream_selector_get_linked_pads), (gst_stream_selector_request_new_pad), (gst_stream_selector_chain): * gst/playback/gststreamselector.h: Adding stream selection support plus required properties for applications to use this. Fully fixes #100931. 2005-01-08 Benjamin Otte * gst/games/gstpuzzle.c: (nav_event_handler): - handle nav events differently: forward every event no matter if it was handled or not. - translate events You can now cheat by using navigationtest ! puzzle and moving the mouse close to the edge of a tile. ;) 2005-01-08 Ronald S. Bultje * configure.ac: * ext/ogg/gstoggdemux.c: (gst_ogg_pad_new): * ext/ogg/gstogmparse.c: (gst_ogm_text_parse_get_type), (gst_ogm_text_parse_base_init), (gst_ogm_text_parse_init), (gst_ogm_parse_get_sink_querytypes), (gst_ogm_parse_sink_convert), (gst_ogm_parse_sink_query), (gst_ogm_parse_chain), (gst_ogm_parse_plugin_init): * ext/pango/gsttextoverlay.c: (gst_textoverlay_linkedpads), (gst_textoverlay_link), (gst_textoverlay_getcaps), (gst_textoverlay_event), (gst_textoverlay_video_chain), (gst_textoverlay_loop), (gst_textoverlay_init), (plugin_init): * ext/pango/gsttextoverlay.h: * gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream), (gst_matroska_demux_handle_seek_event), (gst_matroska_demux_sync_streams), (gst_matroska_demux_parse_blockgroup), (gst_matroska_demux_subtitle_caps), (gst_matroska_demux_plugin_init): * gst/matroska/matroska-ids.h: * gst/playback/gstdecodebin.c: (close_pad_link): * gst/playback/gstplaybasebin.c: (gst_play_base_bin_init), (gen_preroll_element), (remove_groups), (add_stream), (new_decoded_pad), (setup_subtitles), (gen_source_element), (setup_source): * gst/playback/gstplaybasebin.h: * gst/playback/gstplaybin.c: (gen_text_element), (setup_sinks): * gst/subparse/Makefile.am: * gst/subparse/gstsubparse.c: (gst_subparse_get_type), (gst_subparse_base_init), (gst_subparse_class_init), (gst_subparse_init), (gst_subparse_formats), (gst_subparse_eventmask), (gst_subparse_event), (gst_subparse_handle_event), (convert_encoding), (get_next_line), (parse_mdvdsub), (parse_mdvdsub_init), (parse_subrip), (parse_subrip_deinit), (parse_subrip_init), (parse_mpsub), (parse_mpsub_deinit), (parse_mpsub_init), (gst_subparse_buffer_format_autodetect), (gst_subparse_format_autodetect), (gst_subparse_loop), (gst_subparse_change_state), (gst_subparse_type_find), (plugin_init): * gst/subparse/gstsubparse.h: * gst/typefind/gsttypefindfunctions.c: (ogmtext_type_find), (plugin_init): Add subtitle support, .sub parser (supports SRT and MPsub), OGM text support, Matroska UTF-8 text support, deadlock fixes all over the place, subtitle awareness in decodebin/playbin and some fixes to textoverlay to handle subtitles in a stream correctly. Fixes #100931. 2005-01-08 Ronald S. Bultje * ext/vorbis/vorbisdec.c: (vorbis_dec_src_query): Check for pad availability before doing a query on it. 2005-01-08 Stephane LOEUILLET * ext/dv/gstdvdec.c: really fix bpp24/32 dvdec caps (classic rgba indeed) * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_ext_content_desc): don't send text tags if they are empty (bis repetita) 2005-01-08 Stephane LOEUILLET * ext/dv/gstdvdec.c: remove unneeded comment from dvdec (related to DV 4CC codes in AVI files) moved them in gstreamer/docs/random/mimetypes * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_ext_content_desc): don't send text tags if they are empty fix mem leak on error path * 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_get_alpha_info): * gst/ffmpegcolorspace/imgconvert_template.h: adds BGR32 and BGRA32 to ffmpegcolorspace (still bad colors, fixing it on next commit) helps with dvdec outputing BGR32 2005-01-08 Stephane LOEUILLET * ext/dv/gstdvdec.c: Fix audio caps i just broke (missing ',') * gst/matroska/matroska-mux.c: (gst_matroska_mux_get_type), (gst_matroska_mux_reset): Fix typo + add FIXME about old "x-gst-metadata" crap 2005-01-07 Stephane LOEUILLET * ext/dv/demo-play.c: (main): xvideosink -> xvimagesink * ext/dv/gstdvdec.c: change rgb 32/32 caps to 24/32 (no alpha) change nb of channels to be a list (2 or 4, not 2) change sample rate to be a list (32, 44.1, 48 kHz) not a range * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_ext_content_desc): Add 'date/year' to extracted metadata list 2005-01-07 Ronald S. Bultje * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_fixate): The return value of fixate_to does not imply that the requested value was set, so don't assume. 2005-01-07 Gergely Nagy Reviewed by: Ronald S. Bultje * ext/libpng/gstpngdec.c: * ext/libpng/gstpngenc.c: (gst_pngenc_base_init), (gst_pngenc_sinklink), (gst_pngenc_init), (gst_pngenc_chain): * ext/libpng/gstpngenc.h: Alpha support (encoder; #163161), mime fixage. 2005-01-07 Sebastien Cote Reviewed by: Ronald S. Bultje * ext/faac/gstfaac.c: (gst_faac_outputformat_get_type), (gst_faac_class_init), (gst_faac_init), (gst_faac_srcconnect), (gst_faac_set_property), (gst_faac_get_property): * ext/faac/gstfaac.h: Allow for ADTS output (#153434). 2005-01-07 Ronald S. Bultje * sys/v4l2/gstv4l2src.c: (gst_v4l2src_getcaps): Fix against template (#150576). 2005-01-06 Benjamin Otte * gst/games/gstpuzzle.c: (draw_puzzle): don't draw a puzzle if either width or height of tiles would be 0. 2005-01-06 Benjamin Otte * gst/games/gstpuzzle.c: (gst_puzzle_get_type), (gst_puzzle_class_init), (gst_puzzle_finalize): no memleaks, please (gst_puzzle_create), (gst_puzzle_init), (gst_puzzle_set_property), (gst_puzzle_setup): change initialization code around so we don't reshuffle on resize (draw_puzzle): fix another stupid typo 2005-01-06 Benjamin Otte * gst/games/gstvideoimage.c: (copy_hline_YUY2): fix stupid typo that borked copying on YUY2 2005-01-06 Benjamin Otte * gst/games/gstpuzzle.c: (draw_puzzle): fix edges when image sizes aren't multiples of tile sizes 2005-01-06 Benjamin Otte * gst/games/gstpuzzle.c: (gst_puzzle_base_init): make RGB endianness work correctly (gst_puzzle_show), (gst_puzzle_swap), (gst_puzzle_move): refactor and fix race with initial shuffling (nav_event_handler): allow using the mouse to puzzle (draw_puzzle): insist on tiles having width and height as multiples of 4 to get clean YUV image handling * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new), (gst_xvimagesink_handle_xevents), (gst_xvimagesink_buffer_alloc): s/DEBUG/LOG/ for common messages (gst_xvimagesink_navigation_send_event): fix mouse event translation to not include screen PAR * sys/ximage/ximagesink.c: (gst_ximagesink_navigation_send_event): fix mouse event translation to actually work 2005-01-06 Stephane LOEUILLET * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_ext_content_desc): Extract TrackNumber metadata + clean up code * gst/games/gstvideoimage.c: (gst_video_image_draw_rectangle): Hope this is the good fix (var used unitialised) 2005-01-06 Ronald S. Bultje * ext/faad/gstfaad.c: (gst_faad_chain): Only increment timestamp if it's valid. Fixes raw AAC streams. 2005-01-06 Benjamin Otte * configure.ac: * gst/games/Makefile.am: * gst/games/gstpuzzle.c: add a puzzle game with... * gst/games/gstvideoimage.c: * gst/games/gstvideoimage.h: ... full colorspace support (that includes YUV9 and RGB16)) stolen from videotestsrc and made into something that would be a nice library for a lot of other plugins. 2005-01-06 Stephane LOEUILLET * configure.ac: don't compile faad plugin if a RC of 2.0 is found Fixes #155346 (and FC1 buildbot) * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_ext_content_desc): try to make Solaris compiler happier 2005-01-06 Paul Jack Reviewed by: Ronald S. Bultje * ext/snapshot/gstsnapshot.c: (gst_snapshot_class_init): Fix segfault (#161667). 2005-01-05 Ronald S. Bultje * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_getcaps): Fix framerate reporting. 2005-01-05 Stephane LOEUILLET * gst-libs/gst/riff/riff-ids.h: * gst/wavenc/riff.h: Add AMR (VBR and CBR) ids to riff.h audio codec list * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_ext_content_desc), (gst_asf_demux_process_object): Retrieve more tags from ASF files (Genre, AlbumTitle, Artist) 2005-01-05 Martin Eikermann Reviewed by: Ronald S. Bultje * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_class_init), (gst_dvd_demux_handle_discont): * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_class_init), (gst_mpeg_demux_handle_discont): Recreate pads on new-media (#160730). * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_new_pad): Send discont even if manager changes timestamps (#161929). 2005-01-05 Sebastien Cote Reviewed by: Ronald S. Bultje * gst-libs/gst/resample/resample.c: (gst_resample_sinc_ft_s16): Fix invalid memory access (#159211). 2005-01-05 Ronald S. Bultje * examples/gstplay/player.c: (main): Don't iterate. * examples/seeking/seek.c: (fixate), (make_playerbin_pipeline): Add visualizations. * ext/a52dec/gsta52dec.c: (gst_a52dec_push), (gst_a52dec_handle_frame): Set duration. * ext/dvdnav/gst-dvd: Add audioconvert. Fixes #161325. * ext/dvdread/dvdreadsrc.c: (dvdreadsrc_get): Explicitely case to gint64. Possible valgrind error. * gst-libs/gst/play/play.c: (caps_set), (setup_size), (gst_play_tick_callback), (gst_play_change_state), (gst_play_dispose), (gst_play_init), (gst_play_class_init), (gst_play_set_location), (gst_play_get_location), (gst_play_seek_to_time), (gst_play_set_data_src), (gst_play_set_video_sink), (gst_play_set_audio_sink), (gst_play_set_visualization), (gst_play_connect_visualization), (gst_play_get_framerate), (gst_play_get_all_by_interface), (gst_play_new): Use playbin. Fixes #139749 and #147744. * gst/apetag/apedemux.c: (gst_ape_demux_parse_tags): Add genre tag. * gst/audioscale/gstaudioscale.c: (gst_audioscale_method_get_type), (audioscale_get_type), (gst_audioscale_base_init), (gst_audioscale_class_init), (gst_audioscale_expand_caps), (gst_audioscale_getcaps), (gst_audioscale_fixate), (gst_audioscale_link), (gst_audioscale_get_buffer), (gst_audioscale_decrease_rate), (gst_audioscale_increase_rate), (gst_audioscale_init), (gst_audioscale_dispose), (gst_audioscale_chain), (gst_audioscale_set_property), (gst_audioscale_get_property), (plugin_init): Indent properly. * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_process_private): Fix LPCM. * gst/qtdemux/qtdemux.c: (qtdemux_parse_udta), (qtdemux_tag_add_str), (qtdemux_tag_add_num), (qtdemux_tag_add_gnre), (qtdemux_video_caps): Add more metadata (fixes #162656). 2005-01-05 Thomas Vander Stichele * configure.ac: back to cvs === release 0.8.7 === 2005-01-05 Thomas Vander Stichele * NEWS: * RELEASE: * configure.ac: releasing 0.8.7, "Hyperspace" 2005-01-05 Thomas Vander Stichele patch by: Tim-Philipp Müller * gst/playback/gstplaybasebin.c: Fix for #162924 - free caps after use, not before 2005-01-04 Thomas Vander Stichele patch by: Ronald Bultje * gst/playback/gstplaybasebin.c: * gst/wavparse/gstwavparse.c: Fix for #154773 - fixes playback of small .wav files 2005-01-03 Thomas Vander Stichele patch by: Ronald Bultje * gst/audioscale/gstaudioscale.c: Fix for #162819 - make audioscale reusable Fixes playback of more than one file with playbin/totem 2004-12-29 Thomas Vander Stichele * gst/ffmpegcolorspace/avcodec.h: * gst/ffmpegcolorspace/gstffmpegcodecmap.c: * gst/ffmpegcolorspace/imgconvert.c: clean up the mess that made me cry and avoid needless duplication 2004-12-29 Thomas Vander Stichele * gst/ffmpegcolorspace/imgconvert.c: give some indication of why we're segfaulting 2004-12-29 Ronald S. Bultje * configure.ac: Fix indentation, fix v4l2 plugin detection. * ext/Makefile.am: Fix libmms location (Maciej, use diff -u!). * ext/alsa/gstalsa.c: (gst_alsa_init): Initialize caps cache to NULL. * gst/playback/gstplaybin.c: (gst_play_bin_change_state): Only change state on audiosink if it exists. 2004-12-28 Maciej Katafiasz * gst/matroska/matroska-demux.c: * gst/matroska/matroska-ids.h: * gst/matroska/matroska-demux.h: Fix Vorbis streams failing to decode in some files, where cluster_time isn't 0, because then it doesn't send codec_priv before actual data. Remove time-based test and replace it with marker set on beginning of new stream 2004-12-28 David Schleef Merge patch from Ronald fixing problems with streaming text. * ext/cairo/gstcairo.c: (plugin_init): * ext/cairo/gsttextoverlay.c: (gst_textoverlay_render_text), (gst_text_overlay_blit_1), (gst_text_overlay_blit_sub2x2), (gst_textoverlay_video_chain), (gst_textoverlay_loop), (gst_textoverlay_font_init), (gst_textoverlay_init), (gst_textoverlay_set_property): * ext/cairo/gsttextoverlay.h: 2004-12-27 David Schleef * ext/cairo/gsttextoverlay.c: (gst_textoverlay_render_text), (gst_text_overlay_blit_1), (gst_text_overlay_blit_sub2x2), (gst_textoverlay_video_chain), (gst_textoverlay_loop), (gst_textoverlay_font_init), (gst_textoverlay_init), (gst_textoverlay_set_property): Improvements to actually render text as white on black outline on video, including font selection and horizontal/vertical alignment. (Ronald's christmas present) * ext/cairo/gsttextoverlay.h: 2004-12-26 Stephane Loeuillet * ext/ogg/gstogg.c: * ext/ogg/gstogmparse.c: fix ogm[audio/video]parse plugin registration (riff won't load if bytestream is already loaded) 2004-12-24 Thomas Vander Stichele * gst/audioconvert/gstchannelmix.c: fix for GLIB < 2.4 2004-12-24 Thomas Vander Stichele * Makefile.am: * configure.ac: disable docs again until it actually passes make distcheck. 2004-12-24 Ronald S. Bultje * gst/qtdemux/qtdemux.c: (qtdemux_type_get), (qtdemux_audio_caps): * gst/typefind/gsttypefindfunctions.c: (q3gp_type_find), (plugin_init): Add 3GP (variables name Q3GP because they can't start with a number). Add samr audio fourcc (used in .3gp files), decoder is work in progress. Also do a GST_WARNING instead of ERROR in case of unknown nodes, to decrease output. 2004-12-24 Thomas Vander Stichele * Makefile.am: really fix dist 2004-12-23 Thomas Vander Stichele * configure.ac: * ext/speex/gstspeexdec.h: * ext/speex/gstspeexenc.h: Fixes #158382. Make speex plugin compatible with both 1.0 and 1.1. Fix detection code in configure.ac 2004-12-23 Ronald S. Bultje * gst/matroska/matroska-demux.c: (gst_matroska_demux_parse_blockgroup): Save position, so that queries give proper return values. Don't know how this could ever have worked before... 2004-12-23 Thomas Vander Stichele * configure.ac: Put additional LAME check inside the conditional. Fixes #152339 2004-12-23 Ronald S. Bultje * gst/avi/gstavidemux.c: (gst_avi_demux_stream_index), (gst_avi_demux_stream_scan): Add some more debug. Fix logic error when setting movi offset while reading index. 2004-12-23 Ronald S. Bultje * gst/avi/gstavidemux.c: (gst_avi_demux_stream_index), (gst_avi_demux_stream_scan), (gst_avi_demux_handle_seek), (gst_avi_demux_process_next_entry): Add some debugging. Better detection of broken indexes and the accompanying index recovery. No infinite loops on state changes when we're still in our loopfunction. 2004-12-22 Ronald S. Bultje * configure.ac: Fix up. 2004-12-22 Archana Shah Reviewed by: Ronald S. Bultje * sys/sunaudio/gstsunmixer.c: (gst_sunaudiomixer_set_volume): Normalizing the value before setting (gst_sunaudiomixer_get_volume): Normalizing the value after getting. Fixes bug# 161980 2004-12-22 Christian Fredrik Kalager Schaller * Makefile.am: Make sure docs gets disted * docs/Makefile.am: Make sure all needed files get disted * gst-plugins.spec.in: latest updates 2004-12-22 Wim Taymans * gst/playback/gstplaybasebin.c: (gst_play_base_bin_add_element): Revert patch 1.38 as clock distribution over schedulers does not work correcly in the core yet. 2004-12-21 Stephane Loeuillet * sys/oss/README: remove this file, which predates my birth (and which content is by far outdated) 2004-12-20 Stefan Kost * Makefile.am: * configure.ac: * docs/Makefile.am: * docs/libs/Makefile.am: * docs/libs/gst-plugins-libs-docs.sgml: * docs/libs/gst-plugins-libs-sections.txt: * docs/libs/tmpl/gstgconf.sgml: * docs/upload.mak: * docs/version.entities.in: Added boilerplate gtk-doc files for plugin-libs documentation. 2004-12-19 Stephane Loeuillet * gst/auparse/gstauparse.c: fix int and float audio caps 2004-12-19 Ronald S. Bultje * sys/v4l/gstv4lelement.c: (gst_v4l_iface_supported): * sys/v4l2/gstv4l2element.c: (gst_v4l2_iface_supported): g_assert() can be a macro, don't use #ifdef inside it. 2004-12-19 Edward Hervey Reviewed by: Ronald S. Bultje * gst/videorate/gstvideorate.c: (gst_videorate_blank_data), (gst_videorate_init), (gst_videorate_chain), (gst_videorate_change_state): Event handling (fixes #159986). 2004-12-19 Ronald S. Bultje * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps_with_data): Add BLZ0 (Blizzard's version of DivX) fourcc. 2004-12-18 David Schleef * gst/tta/gstttadec.c: (gst_tta_dec_link): And yet another portability fix. 2004-12-18 David Schleef * gst/tta/ttadec.h: Disable some header code that isn't used and clearly isn't portable. 2004-12-18 David Schleef * gst/ffmpegcolorspace/imgconvert.c: (get_pix_fmt_info), (avcodec_get_chroma_sub_sample), (avcodec_get_pix_fmt_name), (avcodec_get_pix_fmt), (avpicture_layout), (avcodec_get_pix_fmt_loss), (avg_bits_per_pixel), (img_copy), (get_convert_table_entry), (img_convert), (img_get_alpha_info): Fix code to not use GCC extensions (and c99 extensions that Forte does not like.) 2004-12-19 Tim-Philipp Müller Reviewed by: Ronald S. Bultje * gst/deinterlace/gstdeinterlace.c: (gst_deinterlace_link), (gst_deinterlace_chain): Rowstride fixes. Fixes #161039. * gst/videocrop/gstvideocrop.c: (gst_video_crop_init), (gst_video_crop_get_property), (gst_video_crop_add_to_struct_val), (gst_video_crop_getcaps), (gst_video_crop_link), (gst_video_crop_i420), (gst_video_crop_chain), (gst_video_crop_change_state): Rework of negotiation. Actually works now. Fixes #158650. 2004-12-18 Ronald S. Bultje * gst/matroska/matroska-demux.c: (gst_matroska_ebmlnum_sint): That was very stupid. 2004-12-18 Ronald S. Bultje * gst/matroska/matroska-demux.c: (gst_matroska_demux_parse_blockgroup): Fix possible crasher. 2004-12-18 Ronald S. Bultje * gst/matroska/matroska-demux.c: (gst_matroska_ebmlnum_uint), (gst_matroska_ebmlnum_sint), (gst_matroska_demux_parse_blockgroup): Lace sizes can be zero. 2004-12-18 Ronald S. Bultje * ext/musepack/gstmusepackdec.cpp: Fetch error return values. Fixes #161624. * gst/apetag/apedemux.c: (gst_ape_demux_stream_data): Really EOS. 2004-12-18 Ronald S. Bultje * gst/avi/gstavidemux.c: (gst_avi_demux_stream_index): Work for truncated (unfinished download etc.) files. Fixes #160514. 2004-12-18 Ronald S. Bultje * ext/alsa/gstalsasink.c: (gst_alsa_sink_loop): Fix for integer overflow. Makes #156001 not crash. Probably masks the real bug. 2004-12-17 Ronald S. Bultje * gst/ac3parse/gstac3parse.c: (plugin_init): Parsers never have ranks. Fixes #159651. 2004-12-17 Benjamin Otte * gst/playback/gstdecodebin.c: (compare_ranks): make sure the facotries are ordered the same every time even if they have the same rank by using the name * gst/playback/gstdecodebin.c: (find_compatibles): make sure we don't add factories to the list twice 2004-12-16 David Schleef * configure.ac: look for musepack headers as musepack/*.h (fixes #159847) * ext/musepack/gstmusepackdec.h: use * ext/musepack/gstmusepackreader.h: same 2004-12-17 Ronald S. Bultje * gst-libs/gst/riff/riff-read.c: (gst_riff_read_strf_auds_with_data): Read extradata correctly (fixes #155879). 2004-12-16 David Schleef * gst/audioscale/gstaudioscale.c: allow passthru of >2 channel audio. does _not_ attempt or allow conversion unless channels is 1 or 2. 2004-12-16 Christian Fredrik Kalager Schaller * tools/gst-launch-ext-m.m: fix mpeg and vob pipelines 2004-12-16 David Schleef * gst/audioscale/gstaudioscale.c: the resample library only handles 1 or 2 channels. Change caps to compensate. 2004-12-16 Ronald S. Bultje * gst/matroska/matroska-demux.c: (aac_rate_idx), (aac_profile_idx), (gst_matroska_demux_audio_caps): Some MPEG-AAC hacks, because else it doesn't work... 2004-12-16 Ronald S. Bultje * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps_with_data), (gst_riff_create_video_template_caps): Add h264. 2004-12-16 Ronald S. Bultje * gst-libs/gst/audio/Makefile.am: Try to fix buildbot. 2004-12-16 Thomas Vander Stichele * gst/tcp/gstmultifdsink.c: Clean up and uniformize debugging. 2004-12-16 Edward Hervey Reviewed by: Ronald S. Bultje * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_class_init), (gst_dvd_demux_reset), (gst_dvd_demux_change_state): * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_reset), (gst_mpeg_demux_change_state): Reset on ready. Fixes 160276. 2004-12-16 Sebastien Cote Reviewed by: Ronald S. Bultje * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_pad_link): Fix memleak (#154815). 2004-12-16 James Bowes Reviewed by: Ronald S. Bultje * ext/musicbrainz/gsttrm.c: (gst_musicbrainz_class_init), (gst_musicbrainz_init), (gst_musicbrainz_chain), (gst_musicbrainz_set_property), (gst_musicbrainz_get_property): * ext/musicbrainz/gsttrm.h: Add support for using a proxy server when getting a trm id from the MusicBrainz database (#149613). 2004-12-16 Christophe Fergeau Reviewed by: Ronald S. Bultje * gst/playback/gstdecodebin.c: (new_pad), (close_link): * gst/playback/gstplaybasebin.c: (new_decoded_pad): Fix memleaks (#157233). 2004-12-16 Sebastien Cote Reviewed by: Ronald S. Bultje * gst-libs/gst/resample/resample.c: (gst_resample_close): * gst-libs/gst/resample/resample.h: * gst/audioscale/gstaudioscale.c: Fix memleak (#159215). 2004-12-16 Toni Willberg Reviewed by: Ronald S. Bultje * sys/oss/gstosselement.c: (gst_osselement_probe_caps): * sys/oss/oss_probe.c: (main): Check for mono/stereo support (similar to samplerate probing), fixes #159433. Also add missing copyright header to oss_probe.c. 2004-12-15 David Schleef * configure.ac: add audioresample and cairo plugins. Remove HAVE_MMX stuff, because it's not used. * ext/Makefile.am: same * ext/audioresample/Makefile.am: You are not ready for an audio resampling element based on audioresample. * ext/audioresample/gstaudioresample.c: * ext/audioresample/gstaudioresample.h: * ext/cairo/Makefile.am: You are not ready for overlay elements based on cairo. Don't look too closely, these elements kinda suck right now. * ext/cairo/gstcairo.c: new * ext/cairo/gsttextoverlay.c: new * ext/cairo/gsttextoverlay.h: new * ext/cairo/gsttimeoverlay.c: new * ext/cairo/gsttimeoverlay.h: new * gst-libs/gst/media-info/media-info-priv.h: fix compile problem with compilers that don't support variadic macros. 2004-12-15 Balamurali Viswanathan Reviewed by: David Schleef * sys/sunaudio/gstsunaudio.c: (plugin_init): Apply patch from Bala, registering sunaudiosrc (oops!), and cleaning up code a bit. Also ran indent-gst. * sys/sunaudio/gstsunaudiosrc.c: (gst_sunaudiosrc_init), (gst_sunaudiosrc_change_state), (gst_sunaudiosrc_get), (gst_sunaudiosrc_setparams): 2004-12-14 David Schleef * gst/festival/gstfestival.c: (gst_festival_chain): Set the output rate to 16000. Should fix #160235. 2004-12-14 Zaheer Abbas Merali * gst/typefind/gsttypefindfunctions.c: (mpeg2_sys_type_find): Add typefinding for mpeg2 pes streams 2004-12-13 David Schleef * configure.ac: Applied patch from bug #143659, making default sources and sinks OS-dependent (for Solaris), and added code for OS/X. * gconf/gstreamer.schemas.in: use OS-dependent sinks in gconf. 2004-12-13 Stephane Loeuillet * gst-libs/gst/riff/riff-media.c: forgot to add h2.64 to avidemux template caps 2004-12-13 Stephane Loeuillet * gst/wavenc/riff.h: * gst-libs/gst/riff/riff-media.c: * gst-libs/gst/riff/riff-ids.h: * gst/avi/gstavimux.c add 4CC code for VideoSoft h264 in AVI (VSSH) fixes bug #160655 remove s323 from riff, it's quicktime specific :( 2004-12-13 Stephane Loeuillet * gst/asfdemux/README * gst/wavenc/riff.h * gst-libs/gst/riff/riff-ids.h * gst-libs/gst/riff/riff-media.c * gst/qtdemux/qtdemux.c: add new 4CC codes for h263 related codecs fixes partially bug #155163 2004-12-12 Christian Fredrik Kalager Schaller * configure.ac: Update polyaudio requirement to 0.7 * ext/polyp/polypsink.c: (create_stream): add patch from iain (158258) 2004-12-11 Zaheer Abbas Merali * gst/interleave/deinterleave.c: fix my name's spelling! :) 2004-12-11 Stephane Loeuillet * AUTHORS ChangeLog * gst/auparse/gstauparse.c * gst/interleave/deinterleave.c * gst/law/: alaw-decode.c alaw-encode.c mulaw-decode.c mulaw-encode.c * gst/oneton/gstoneton.c * sys/osxaudio/: gstosxaudioelement.c gstosxaudiosink.c gstosxaudiosrc.c * sys/osxvideo/: cocoawindow.h cocoawindow.m osxvideosink.h osxvideosink.m put the same mail address for Zaheer Abbas Merali everywhere 2004-12-10 Ronald S. Bultje * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_loop): Align by packetsize, and assert that we a packet available before playing. The first makes webstreams work (they often include trailing padding data in a packet), the second allows pausing a ASF stream in totem without getting demux errors afterwards. 2004-12-09 Ronald S. Bultje * ext/ogg/gstoggdemux.c: (get_relative): Check for non-NULL before accessing member (end-of-chain). 2004-12-09 Ronald S. Bultje * ext/cdparanoia/gstcdparanoia.c: (cdparanoia_class_init), (cdparanoia_set_property), (cdparanoia_get_property): * ext/dvdnav/dvdnavsrc.c: (dvdnavsrc_class_init), (dvdnavsrc_set_property), (dvdnavsrc_get_property): * ext/dvdread/dvdreadsrc.c: (dvdreadsrc_class_init), (dvdreadsrc_init), (dvdreadsrc_set_property), (dvdreadsrc_get_property): * sys/vcd/vcdsrc.c: (gst_vcdsrc_class_init), (gst_vcdsrc_set_property), (gst_vcdsrc_get_property): Synchronize property names where not yet the case. Devices are now device=X, other versions are deprecated (but still exist). Also use g_free() unconditionally. * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init), (setup_source), (gst_play_base_bin_get_property): Expose source. 2004-12-09 Thomas Vander Stichele * configure.ac: move GCONF macro outside conditional for the am conditional. Fixes #160439 2004-12-08 David Schleef * tools/gst-visualise-m.m: Switch to elements that currently exist. 2004-12-08 Ronald S. Bultje * ext/ogg/gstogmparse.c: (gst_ogm_parse_chain): We love wrong commas. 2004-12-08 Ronald S. Bultje * gst/matroska/matroska-demux.c: (gst_matroska_demux_handle_src_query): Don't set DEFAULT, unsupported - makes length display incorrectly in some cases. 2004-12-07 Christian Fredrik Kalager Schaller * gst/monoscope/README: remove blurb about files being GPL * gst/monoscope/gstmonoscope.c: Change license field to LGPL * gst/monoscope/monoscope.c: Change license to BSD with explanation monoscope is now effectively LGPL licensed 2004-12-07 Christian Fredrik Kalager Schaller * gst/monoscope/README: Update information to be more correct * gst/monoscope/convolve.c: Relicense to LGPL * gst/monoscope/convolve.h: Relicense to LGPL 2004-12-06 Arwed v. Merkatz * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_chain): set BUFFER_DURATION to correct values (mpeg1 audio frame length is fixed) * gst/matroska/matroska-mux.c: (gst_matroska_mux_audio_pad_link): set default_duration for mpeg1 audio 2004-12-06 Benjamin Otte * ext/alsa/gstalsa.c: (gst_alsa_get_caps), (gst_alsa_close_audio): * ext/alsa/gstalsa.h: refactor big chunks of the core caps negotiation code to make it a lot faster, because people claim it's really slow (actually, just cache the getcaps when the device is opened) 2004-12-06 Ronald S. Bultje * ext/a52dec/gsta52dec.c: (gst_a52dec_init), (gst_a52dec_handle_event), (gst_a52dec_update_streaminfo), (gst_a52dec_handle_frame), (gst_a52dec_chain), (gst_a52dec_change_state), (plugin_init): * ext/a52dec/gsta52dec.h: Do something useful with timestamps. Make chain-based (since there's really no reason to be loopbased). * gst/avi/gstavidemux.c: (gst_avi_demux_process_next_entry): Update current_byte/frame correctly. 2004-12-04 Ronald S. Bultje * gst/apetag/apedemux.c: (gst_ape_demux_parse_tags), (gst_ape_demux_stream_init): Forward tags, too. 2004-12-04 Ronald S. Bultje * gst/apetag/apedemux.c: (gst_ape_demux_stream_init): Let's make sure we're done typefinding when detecting tags. 2004-12-03 Ronald S. Bultje * gst/matroska/ebml-read.c: (gst_ebml_read_class_init), (gst_ebml_read_init), (gst_ebml_read_use_event), (gst_ebml_read_element_id), (gst_ebml_peek_id), (gst_ebml_read_seek), (gst_ebml_read_skip), (gst_ebml_read_reserve), (gst_ebml_read_buffer), (gst_ebml_read_master): * gst/matroska/ebml-read.h: * gst/matroska/matroska-demux.c: (gst_matroska_demux_parse_contents), (gst_matroska_demux_loop_stream), (gst_matroska_demux_audio_caps): Disgustingly evil hack for working around INTERRUPT events and their extremely annoying habit of being a pain in the ass. We simply peek a cluster before reading any of it. 2004-12-03 Ronald S. Bultje * ext/musepack/gstmusepackdec.cpp: There's also floating point libmusepacks. 2004-12-03 Ronald S. Bultje * ext/faad/gstfaad.c: (gst_faad_chanpos_from_gst), (gst_faad_chanpos_to_gst), (gst_faad_chain): Set DURATION even if source buffer didn't. Also use increasing timestamps. * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps_with_data): Block_align can have larger values than 8192. 2004-12-02 Ronald S. Bultje * gst/law/alaw-decode.c: (alawdec_getcaps), (alawdec_link): * gst/law/alaw-encode.c: (alawenc_getcaps), (alawenc_link): * gst/law/mulaw-decode.c: (mulawdec_getcaps), (mulawdec_link): * gst/law/mulaw-encode.c: (mulawenc_getcaps), (mulawenc_link): Fix caps. 2004-12-01 Ronald S. Bultje * sys/v4l/v4l_calls.c: (gst_v4l_get_chan_names): Fix logic bug. 2004-12-01 Ronald S. Bultje * ext/ogg/gstoggdemux.c: (gst_ogg_type_find): Yay, another one. 2004-12-01 Ronald S. Bultje * ext/esd/esdsink.c: (gst_esdsink_chain): Make error actually say something useful (fixes #156798). * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps_with_data), (gst_riff_create_video_template_caps): Add Intel Video 5.0 fourcc (IV50). 2004-12-01 Christophe Fergeau * ext/mad/gstmad.c: (mpg123_parse_xing_header): fix xing header detection on mono and stereo mp3 files. 2004-12-01 Ronald S. Bultje * gst/playback/gstplaybasebin.c: (gst_play_base_bin_change_state): Don't crash on EMPTY caps (e.g. when the demuxer didn't recognize the contained stream). 2004-12-01 Ronald S. Bultje * ext/faad/gstfaad.c: (gst_faad_srcconnect), (gst_faad_chain): Oops, remove debug. 2004-12-01 Sebastien Cote Reviewed by: Ronald S. Bultje * gst/law/alaw-decode.c: (alawdec_getcaps): * gst/law/mulaw-decode.c: (mulawdec_getcaps): Prevent warnings when negotiating caps (fixes #159338). 2004-12-01 Ronald S. Bultje * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_chain): Remove old leftover that shouldn't be there... 2004-12-01 Sebastien Cote Reviewed by: Ronald S. Bultje * gst-libs/gst/riff/riff-read.c: (gst_riff_read_use_event): Don't forward DISCONT events (fixes #159684). 2004-12-01 Ronald S. Bultje * gst/playback/gstplaybin.c: (remove_sinks), (setup_sinks): Unlink manually since sometimes bin disposal (and therefore pad unlinking) is delayed, which will cause a new media file to not be able to start playing instantly. 2004-11-29 Ronald S. Bultje * gst/playback/gststreaminfo.c: (stream_info_mute_pad): On mute of an unlinked stream, check for pad availability so we don't crash on unlinked pad. 2004-11-29 Ronald S. Bultje * gst/avi/gstavidemux.c: (gst_avi_demux_stream_index), (gst_avi_demux_massage_index): Fix quite humiliating bug in omitting 0-sized index chunks but forgetting to count them for timestamps. 2004-11-29 Ronald S. Bultje * ext/a52dec/gsta52dec.c: (gst_a52dec_loop): Actually leave the loop if we failed to sync. Don't crash. 2004-11-28 Ronald S. Bultje * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_get_audio_stream), (gst_dvd_demux_process_private): * gst/mpegstream/gstdvddemux.h: Fix crash (#159759). Doesn't work, though. :-(. 2004-11-28 Benjamin Otte * gst/audioconvert/gstchannelmix.c: (gst_audio_convert_mix): more overwriting protection due to modifying channels one by one instead of all at once 2004-11-28 Ronald S. Bultje * gst/audioconvert/gstchannelmix.c: (gst_audio_convert_fill_normalize): Normalize using absolute values. 2004-11-28 Julien MOUTTE * configure.ac: * ext/Makefile.am: * ext/directfb/Makefile.am: * ext/directfb/directfbvideosink.c: (gst_directfbvideosink_create), (gst_directfbvideosink_get_pixel_format), (gst_directfbvideosink_get_format_from_fourcc), (gst_directfbvideosink_fixate), (gst_directfbvideosink_getcaps), (gst_directfbvideosink_sink_link), (gst_directfbvideosink_change_state), (gst_directfbvideosink_chain), (gst_directfbvideosink_buffer_free), (gst_directfbvideosink_buffer_alloc), (gst_directfbvideosink_interface_supported), (gst_directfbvideosink_interface_init), (gst_directfbvideosink_navigation_send_event), (gst_directfbvideosink_navigation_init), (gst_directfbvideosink_set_property), (gst_directfbvideosink_get_property), (gst_directfbvideosink_finalize), (gst_directfbvideosink_init), (gst_directfbvideosink_base_init), (gst_directfbvideosink_class_init), (gst_directfbvideosink_get_type), (plugin_init): * ext/directfb/directfbvideosink.h: Adding a first version of directfbvideosink. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_init): Initializing some more. 2004-11-28 Benjamin Otte * gst/audioconvert/gstchannelmix.c: (gst_audio_convert_mix): walk the samples backwards if out_channels > in_channels so we don't overwrite data 2004-11-28 Ronald S. Bultje * gst/audioconvert/Makefile.am: * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_init), (gst_audio_convert_link), (gst_audio_convert_change_state), (gst_audio_convert_channels): * gst/audioconvert/gstchannelmix.c: (gst_audio_convert_unset_matrix), (gst_audio_convert_fill_identical), (gst_audio_convert_fill_compatible), (gst_audio_convert_detect_pos), (gst_audio_convert_fill_one_other), (gst_audio_convert_fill_others), (gst_audio_convert_fill_normalize), (gst_audio_convert_fill_matrix), (gst_audio_convert_setup_matrix), (gst_audio_convert_passthrough), (gst_audio_convert_mix): * gst/audioconvert/gstchannelmix.h: Implement a channel mixer. 2004-11-28 Martin Soto * ext/alsa/gstalsasink.c (gst_alsa_sink_loop): * ext/alsa/gstalsa.h: * ext/alsa/gstalsa.c (gst_alsa_set_clock): Make alsasink actually honor gst_element_set_clock and use that clock instead of its internal one. 2004-11-27 Christophe Fergeau * gst/playback/gstplaybasebin.c: (setup_source): fixed a caps leak (gst_play_base_bin_change_state): nullify source and decoder when going from READY to NULL so that we don't try to do weird stuff with them when going from NULL to READY * gst/playback/gstplaybin.c: (gst_play_bin_init): use gst_object_unref instead of g_object_unref (gen_video_element), (gen_audio_element): more refcounting fixes, now it should be correct (gst_play_bin_change_state): don't call remove_sinks if we are currently disposing the object 2004-11-27 Ronald S. Bultje * ext/a52dec/gsta52dec.c: (gst_a52dec_loop): Don't forget bass if it's there. Else left channel is silent... 2004-11-27 Ronald S. Bultje * ext/a52dec/gsta52dec.c: (gst_a52dec_loop), (gst_a52dec_change_state): Don't do sample adjusting anymore, we use float audio now. * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_fixate): Don't fixate to non-existing properties. 2004-11-27 Ronald S. Bultje * ext/a52dec/gsta52dec.c: (gst_a52dec_channels), (gst_a52dec_change_state): Advertise that we can do surround sound. 2004-11-27 Ronald S. Bultje * ext/a52dec/gsta52dec.c: (gst_a52dec_reneg): Add buffer-frames=0. * ext/dvdread/dvdreadsrc.c: (dvdreadsrc_get_type), (dvdreadsrc_init), (dvdreadsrc_get_event_mask), (dvdreadsrc_get_query_types), (dvdreadsrc_get_formats), (dvdreadsrc_srcpad_event), (dvdreadsrc_srcpad_query), (_seek_title), (_seek_chapter), (get_next_cell_for), (_read), (seek_sector), (dvdreadsrc_get), (dvdreadsrc_open_file), (dvdreadsrc_change_state), (dvdreadsrc_uri_get_type), (dvdreadsrc_uri_get_protocols), (dvdreadsrc_uri_get_uri), (dvdreadsrc_uri_set_uri), (dvdreadsrc_uri_handler_init): * ext/dvdread/dvdreadsrc.h: Add seeking, querying for bytes, sectors, title, angle and chapter. Handle multiple chapters. Relicense to LGPL because Billy agreed on that (thanks Billy!). 2004-11-27 Christophe Fergeau * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_dispose): call parent dispose method 2004-11-27 Martin Soto * gst-libs/gst/audio/audioclock.c (gst_audio_clock_set_active) (gst_audio_clock_get_internal_time): Fix active <-> inactive transitions: ensure time value always grows and avoid abrupt value changes. 2004-11-27 Arwed v. Merkatz * configure.ac: * gst/tta/Makefile.am: * gst/tta/crc32.h: * gst/tta/filters.h: * gst/tta/gsttta.c: * gst/tta/gstttadec.c: * gst/tta/gstttadec.h: * gst/tta/gstttaparse.c: * gst/tta/gstttaparse.h: * gst/tta/ttadec.h: added TTA parser and decoder 2004-11-26 Ronald S. Bultje * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init), (probe_triggered), (check_queue), (buffer_underrun), (buffer_running), (buffer_overrun), (gen_source_element), (setup_source): * gst/playback/gstplaybasebin.h: Implement buffering. Needs some more work. 2004-11-26 Ronald S. Bultje * ext/theora/theoradec.c: (theora_dec_chain): Fix ilog mask range overflow. 2004-11-26 Ronald S. Bultje * ext/alsa/gstalsa.c: (gst_alsa_get_caps): Don't omit the last (which in case of dmix is the only :) ) channel count. Don't set channels if <= 2. 2004-11-26 Christophe Fergeau * gst/playback/gstplaybin.c: (gen_video_element), (gen_audio_element): Removed 2 obsolete comments 2004-11-26 Stephane Loeuillet * ext/vorbis/oggvorbisenc.c * ext/vorbis/vorbisenc.c : change description fields of those plugins to differentiate them (pitivi show Encoders by description, they had the same one) 2004-11-25 Christophe Fergeau Reviewed by: Ronald S. Bultje * gst/playback/gstplaybin.c: (gst_play_bin_dispose), (gst_play_bin_set_property), (gen_video_element), (gen_audio_element): Refcounting fixes for provided audio-/videosinks. 2004-11-25 Ronald S. Bultje * gst/playback/gstplaybin.c: (gen_video_element), (gen_audio_element), (setup_sinks), (gst_play_bin_change_state): Don't reference all sinks, but only the video- and audiosinks. The vis. element should be disposed when we're done with it. We don't have any reason to keep it around. This fixes warnings when reusing playbin for playing multiple audio files with vis. enabled. Also release audio device on pause - idea stolen from Rhythmbox. 2004-11-25 Ronald S. Bultje * ext/a52dec/gsta52dec.c: (gst_a52dec_channels), (gst_a52dec_push), (gst_a52dec_reneg), (gst_a52dec_loop), (plugin_init): * ext/alsa/gstalsa.c: (gst_alsa_get_caps): * ext/alsa/gstalsaplugin.c: (plugin_init): * ext/dts/gstdtsdec.c: (gst_dtsdec_channels), (gst_dtsdec_renegotiate), (gst_dtsdec_loop), (plugin_init): * ext/faad/gstfaad.c: (gst_faad_init), (gst_faad_chanpos_from_gst), (gst_faad_chanpos_to_gst), (gst_faad_sinkconnect), (gst_faad_srcgetcaps), (gst_faad_srcconnect), (gst_faad_chain), (gst_faad_change_state), (plugin_init): * ext/faad/gstfaad.h: * ext/vorbis/vorbis.c: (plugin_init): * ext/vorbis/vorbisdec.c: (vorbis_dec_chain): * gst-libs/gst/audio/Makefile.am: * gst-libs/gst/audio/audio.c: (plugin_init): * gst-libs/gst/audio/multichannel.c: (gst_audio_check_channel_positions), (gst_audio_get_channel_positions), (gst_audio_set_channel_positions), (gst_audio_set_structure_channel_positions_list), (add_list_to_struct), (gst_audio_set_caps_channel_positions_list), (gst_audio_fixate_channel_positions): * gst-libs/gst/audio/multichannel.h: * gst-libs/gst/audio/testchannels.c: (main): * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_class_init), (gst_audio_convert_init), (gst_audio_convert_dispose), (gst_audio_convert_getcaps), (gst_audio_convert_parse_caps), (gst_audio_convert_link), (gst_audio_convert_fixate), (gst_audio_convert_channels): * gst/audioconvert/plugin.c: (plugin_init): Surround sound support. 2004-11-25 Ronald S. Bultje * ext/ogg/gstoggdemux.c: (gst_ogg_demux_push): Fix position for discont if we're close as well. Nitpicking, but saves a few milliseconds of extra waiting or skipping. 2004-11-25 Ronald S. Bultje * gst/playback/gstdecodebin.c: (gst_decode_bin_factory_filter): We sometimes need parsers for playback, so add those too. 2004-11-25 Ronald S. Bultje * configure.ac: * gst/apetag/Makefile.am: * gst/apetag/apedemux.c: (gst_ape_demux_get_type), (gst_ape_demux_base_init), (gst_ape_demux_class_init), (gst_ape_demux_init), (gst_ape_demux_get_src_formats), (gst_ape_demux_get_src_query_types), (gst_ape_demux_handle_src_query), (gst_ape_demux_get_event_mask), (gst_ape_demux_handle_src_event), (gst_ape_demux_handle_event), (gst_ape_demux_typefind_peek), (gst_ape_demux_typefind_get_length), (gst_ape_demux_typefind_suggest), (gst_ape_demux_typefind), (gst_ape_demux_parse_tags), (gst_ape_demux_stream_init), (gst_ape_demux_stream_data), (gst_ape_demux_loop), (gst_ape_demux_change_state): * gst/apetag/apedemux.h: * gst/apetag/apetag.c: (plugin_init): * gst/typefind/gsttypefindfunctions.c: (apetag_type_find), (plugin_init): APE v1/2 tag reader plus typefind function. 2004-11-25 Ronald S. Bultje * configure.ac: * gst/playback/gstplaybasebin.c: (gst_play_base_bin_add_element): * gst/typefind/gsttypefindfunctions.c: (mp3_type_find): Remove hacks for older core. Require newer core version accordingly. 2004-11-25 Ronald S. Bultje * gst/cdxaparse/Makefile.am: * gst/cdxaparse/gstcdxaparse.c: (gst_cdxaparse_get_type), (gst_cdxaparse_class_init), (gst_cdxaparse_init), (gst_cdxaparse_loop), (gst_cdxaparse_change_state), (plugin_init): * gst/cdxaparse/gstcdxaparse.h: * gst/cdxaparse/gstcdxastrip.c: (gst_cdxastrip_get_type), (gst_cdxastrip_base_init), (gst_cdxastrip_class_init), (gst_cdxastrip_init), (gst_cdxastrip_get_src_formats), (gst_cdxastrip_get_src_query_types), (gst_cdxastrip_handle_src_query), (gst_cdxastrip_get_event_mask), (gst_cdxastrip_handle_src_event), (gst_cdxastrip_strip), (gst_cdxastrip_sync), (gst_cdxastrip_handle_event), (gst_cdxastrip_chain), (gst_cdxastrip_change_state): * gst/cdxaparse/gstcdxastrip.h: SVCD/VCD header stripping separated from CDXA image parsing. * gst/typefind/gsttypefindfunctions.c: (mp3_type_find), (plugin_init): Add VCD/SVCD header typefinding for VCD/SVCD. * sys/vcd/vcdsrc.c: (gst_vcdsrc_get_type), (gst_vcdsrc_base_init), (gst_vcdsrc_class_init), (gst_vcdsrc_init), (gst_vcdsrc_set_property), (gst_vcdsrc_get_property), (gst_vcdsrc_get_event_mask), (gst_vcdsrc_get_query_types), (gst_vcdsrc_get_formats), (gst_vcdsrc_srcpad_event), (gst_vcdsrc_srcpad_query), (gst_vcdsrc_get), (gst_vcdsrc_open_file), (gst_vcdsrc_close_file), (gst_vcdsrc_change_state), (gst_vcdsrc_msf), (gst_vcdsrc_recalculate), (gst_vcdsrc_uri_get_type), (gst_vcdsrc_uri_get_protocols), (gst_vcdsrc_uri_get_uri), (gst_vcdsrc_uri_set_uri), (gst_vcdsrc_uri_handler_init): * sys/vcd/vcdsrc.h: Fix up, add seeking, querying, URI interface. Works in totem now. 2004-11-25 Thomas Vander Stichele * configure.ac: back to CVS === release 0.8.6 === 2004-11-25 Thomas Vander Stichele * NEWS: * RELEASE: * 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: releasing 0.8.6, "IOU Love" 2004-11-23 Thomas Vander Stichele patch by: Ronald Bultje * gst/playback/gstplaybasebin.c: Fix unplayable files error handling. Fixes #158365 2004-11-23 Thomas Vander Stichele patch by: Ronald Bultje * gst/typefind/gsttypefindfunctions.c: Fix broken mp3 typefinding. Fixes #158375 2004-11-23 Thomas Vander Stichele patch by: Ronald Bultje * ext/ogg/gstoggdemux.c: Fix sync on broken files. Fixes #158976 2004-11-23 Thomas Vander Stichele patch by: Edward Hervey * ext/libpng/gstpngenc.c: Copy over buffer properties. Fixes #158832 2004-11-23 Thomas Vander Stichele patch by: Tim-Philipp Müller * ext/dvdread/dvdreadsrc.c: Fixes invalid reads (#158462) 2004-11-23 Thomas Vander Stichele * sys/v4l/gstv4lsrc.c: * sys/v4l/gstv4lsrc.h: * sys/v4l/v4lsrc_calls.c: Probe less and cache it. Fixes #159187. 2004-11-23 Thomas Vander Stichele * gst/videorate/gstvideorate.c: Handle all video formats. Fixes #159186. 2004-11-16 Jan Schmidt * gst/synaesthesia/gstsynaesthesia.c: (gst_synaesthesia_class_init), (gst_synaesthesia_init), (gst_synaesthesia_dispose), (gst_synaesthesia_finalize), (gst_synaesthesia_sink_link), (gst_synaesthesia_src_getcaps), (gst_synaesthesia_src_link), (gst_synaesthesia_chain), (gst_synaesthesia_change_state), (plugin_init): Fix up synaesthesia to work under different samplerates/ buffer sizes. Force 320x200 output, as that's the only thing the underlying synaesthesia implementation supports. Still needs to be made re-entrant. 2004-11-14 Ronald S. Bultje * configure.ac: Fix mpeg2enc configure check (similar to mplex check below). 2004-11-14 Koop Mast reviewed by: Ronald S. Bultje * gst/ffmpegcolorspace/gstffmpegcodecmap.c: Fix for gcc-2.95 (fixes #158221). 2004-11-13 Ronald S. Bultje * gst/playback/gstplaybasebin.c: (gst_play_base_bin_add_element): Re-add clock distribution hack (until new core is released). Fixes #158125. 2004-11-13 Arwed v. Merkatz * configure.ac: fix mplex configure check segfaulting on some systems (bug #140994) 2004-11-13 Benjamin Otte * ext/alsa/gstalsa.c: (gst_alsa_pcm_wait): add debugging * ext/alsa/gstalsasink.c: (gst_alsa_sink_loop): do a wait when we enter the loop func with no data available to write instead of getting into an 100% CPU loop by just returning and being called again by the scheduler 2004-11-13 Jan Schmidt * configure.ac: * ext/libvisual/visual.c: (gst_visual_get_type), (libvisual_log_handler), (gst_visual_getcaps), (gst_visual_srclink), (gst_visual_change_state), (make_valid_name), (plugin_init): Update libvisual to 0.1.7. Link in the debug handling to gstreamer * ext/smoothwave/Makefile.am: * ext/smoothwave/demo-osssrc.c: (main): * ext/smoothwave/gstsmoothwave.c: (gst_smoothwave_class_init), (gst_smoothwave_init), (gst_smoothwave_dispose), (gst_sw_sinklink), (gst_sw_srclink), (gst_smoothwave_chain), (gst_sw_change_state), (plugin_init): * ext/smoothwave/gstsmoothwave.h: Make gstsmoothwave a working element in the 20th century. * gst/chart/gstchart.c: (gst_chart_init), (gst_chart_srcconnect): Fix incorrect link function 2004-11-12 Ronald S. Bultje * gst/volume/gstvolume.c: Allow buffer-frames=0. 2004-11-12 Iain * configure.ac: Check for polypaudio * ext/Makefile.am: Build the polyp dir * ext/polyp: The polypsink sources. 2004-10-30 Iain * gst/interleave/interleave.c (interleave_unlink): Change the src pads caps to reflect the new number of channels. 2004-11-12 Ronald S. Bultje * ext/alsa/gstalsasink.c: (gst_alsa_sink_loop): Fix for negotiation order problem. This would show when the ALSA loopfuction was called before any other function. ALSA wouldn't do anything because we're not negotiated yet, leading to an infinite loop. Showed in e.g. Rhythmbox. Fixes #158006. 2004-11-11 Tim-Philipp Müller reviewed by: Ronald S. Bultje * ext/vorbis/vorbisdec.c: (vorbis_dec_src_query): No warnings (#157986). 2004-11-11 Ronald S. Bultje * gst/typefind/gsttypefindfunctions.c: (plugin_init): Prefer apev1/2 and id3v1 (at end of file) over musepack. 2004-11-11 Ronald S. Bultje * gst/matroska/matroska-demux.c: (gst_matroska_demux_loop_stream): Signal no-more-pads (so it works in playbin). 2004-11-11 Ronald S. Bultje * ext/musepack/gstmusepackreader.cpp: Workaround for older core. 2004-11-11 Ronald S. Bultje * gst/ffmpegcolorspace/imgconvert.c: (yuv420p_to_yuv422): Actually test for odd width/height rather than testing whether a temporary variable that was 0 before we subtracted 1 is now not equal to zero (which it always is). 2004-11-11 Zaheer Abbas Merali * sys/v4l2/gstv4l2element.c: (gst_v4l2_iface_supported): Fix compilation if HAVE_XVIDEO is not defined 2004-11-11 Zaheer Abbas Merali * sys/v4l/gstv4lelement.c: (gst_v4l_iface_supported): Fix compilation if HAVE_XVIDEO is not defined 2004-11-11 Jan Schmidt * gst/goom/gstgoom.c: (gst_goom_class_init), (gst_goom_init), (gst_goom_dispose), (gst_goom_sinkconnect), (gst_goom_chain), (gst_goom_change_state), (plugin_init): Use the bytestream adapter so goom doesn't depend on the input buffer size. Add a debug category 2004-11-11 Ronald S. Bultje * ext/alsa/gstalsa.c: (gst_alsa_change_state): Only set hardware parameters *after* negotiation. Before negotiation, it will set ANY and that seems to cause crashes (see e.g. #151288, #153227). 2004-11-10 Ronald S. Bultje * ext/alsa/gstalsasink.c: (gst_alsa_sink_get_time): This seems to be antique leftover. It needs to pass error checking. * ext/sdl/sdlvideosink.c: (gst_sdlvideosink_init), (gst_sdlvideosink_deinitsdl), (gst_sdlvideosink_initsdl), (gst_sdlvideosink_destroy), (gst_sdlvideosink_create), (gst_sdlvideosink_sinkconnect), (gst_sdlvideosink_chain): Fix GstXOverlay implementation (#151059). 2004-11-10 Ronald S. Bultje * gst/playback/gstplaybasebin.c: (gst_play_base_bin_change_state): Don't assert (#157853). 2004-11-10 Ronald S. Bultje * ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event), Fix bytes/samples confustion. (gst_alsa_sink_mmap), (gst_alsa_sink_loop): Fix for underrun (#144389). 2004-11-09 Ronald S. Bultje * gst/typefind/gsttypefindfunctions.c: (mp3_type_find): Disable halfway-seek for pending release (since it needs a new core release). 2004-11-09 Thomas Vander Stichele * sys/v4l/gstv4lsrc.c: * sys/v4l/gstv4lsrc.h: * sys/v4l/v4lsrc_calls.c: add autoprobe-fps property so we can separate autoprobing parts 2004-11-09 Thomas Vander Stichele * sys/v4l/gstv4lsrc.c: * sys/v4l/v4lsrc_calls.c: initialise fourcc to catch unset fourcc's, and debug 2004-11-09 Wim Taymans * gst/playback/README: * gst/playback/gstdecodebin.c: (close_pad_link), (try_to_link_1): * gst/playback/gstplaybin.c: (gst_play_bin_init), (gst_play_bin_dispose), (gst_play_bin_set_property), (remove_sinks), (setup_sinks), (gst_play_bin_change_state), (gst_play_bin_get_event_masks), (gst_play_bin_send_event), (gst_play_bin_get_formats), (gst_play_bin_convert), (gst_play_bin_get_query_types), (gst_play_bin_query): Cleanups and some more documentation. 2004-11-09 Jan Schmidt * ext/libcaca/gstcacasink.c: (gst_cacasink_class_init), (gst_cacasink_init), (gst_cacasink_chain): * ext/libcaca/gstcacasink.h: Cacasink inherits from VideoSink, so let that store the clock. 2004-11-09 Wim Taymans * gst/playback/README: * gst/playback/gstplaybasebin.c: (group_destroy), (group_is_muted), (add_stream), (unknown_type), (add_element_stream), (no_more_pads), (probe_triggered), (preroll_unlinked), (new_decoded_pad), (gst_play_base_bin_change_state), (gst_play_base_bin_found_tag): * gst/playback/gstplaybin.c: (gen_vis_element), (remove_sinks), (setup_sinks): * gst/playback/gststreaminfo.c: (gst_stream_info_set_mute), (gst_stream_info_is_mute), (gst_stream_info_set_property): * gst/playback/gststreaminfo.h: Updated README. Only switch groups if all streams have muted (EOSed). Send Tags in sync with the stream playback instead of in the playback/preroll phase. Some cleanups, free the fakesrc elements. 2004-11-09 Benjamin Otte * ext/alsa/gstalsa.c: (gst_alsa_get_caps_internal): buffer-frames property was missing * ext/arts/gst_arts.c: rate missing from sinkcaps * ext/audiofile/gstafparse.c: * ext/audiofile/gstafsink.c: * ext/audiofile/gstafsrc.c: * ext/swfdec/gstswfdec.c: int audio doesn't know buffer-frames * ext/cdparanoia/gstcdparanoia.c: int audio doesn't know chunksize either * ext/nas/nassink.c: it's endianness, not endianess * gst-libs/gst/audio/audio.h: make float standard pad template caps really describe float * gst/law/mulaw.c: (linear_factory): signed only, please * gst/mpegstream/gstdvddemux.c: widths of 20 are not valid 2004-11-08 Thomas Vander Stichele Submitted by: Luca Ferretti * po/LINGUAS: * po/it.po: Add Italian 2004-11-08 Wim Taymans * gst/playback/README: * gst/playback/gstdecodebin.c: (close_pad_link), (try_to_link_1): * gst/playback/gstplaybasebin.c: (probe_triggered), (gst_play_base_bin_change_state): Updated README, added more comments for fixmes etc.. 2004-11-08 Wim Taymans * gst/playback/gstplaybasebin.c: (gst_play_base_bin_add_element): We can remove this hack now. 2004-11-08 Wim Taymans * gst/videomixer/videomixer.c: (gst_videomixer_blend_ayuv_ayuv), (gst_videomixer_fill_checker), (gst_videomixer_fill_color), (gst_videomixer_blend_buffers), (gst_videomixer_loop): Only mix AYUV for maximum quality. 2004-11-08 Ronald S. Bultje * ext/ogg/gstoggdemux.c: (get_relative), (gst_ogg_demux_src_query), (gst_ogg_demux_push), (gst_ogg_pad_push): Let's act as if we're synchronized now! :). * ext/theora/theoradec.c: (theora_dec_chain): Add some debug. 2004-11-08 Wim Taymans * gst/alpha/gstalpha.c: (gst_alpha_method_get_type), (gst_alpha_set_property), (gst_alpha_sink_link), (gst_alpha_set_ayuv), (gst_alpha_set_i420), (gst_alpha_chroma_key_ayuv), (gst_alpha_chroma_key_i420), (gst_alpha_init_params), (gst_alpha_chain): Implement alpha functions for AYUV too, this increases accuracy quite a bit. 2004-11-08 Wim Taymans * gst/ffmpegcolorspace/avcodec.h: * gst/ffmpegcolorspace/gstffmpegcodecmap.c: (gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_to_pixfmt), (gst_ffmpegcsp_avpicture_fill): * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_caps_remove_format_info): * gst/ffmpegcolorspace/imgconvert.c: (avpicture_get_size), (shrink12), (img_get_alpha_info), (deinterlace_line), (deinterlace_line_inplace): * gst/ffmpegcolorspace/imgconvert_template.h: Added AYUV colorspace and handle RGBA a bit more respectful. 2004-11-08 Ronald S. Bultje * ext/ogg/gstoggdemux.c: (gst_ogg_pad_push): Actually always send a discont (cornercase when resending the same serial-tagged chain twice). 2004-11-08 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_clear), (gst_ximagesink_finalize): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_clear), (gst_xvimagesink_finalize): Some more cleanups, leaks fixed and checks. 2004-11-08 Wim Taymans * gst/typefind/gsttypefindfunctions.c: (aac_type_find): Don't segfault on NULL data. 2004-11-08 Wim Taymans * gst/playback/gstdecodebin.c: (unlinked): * gst/playback/gstplay-marshal.list: * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init), (gst_play_base_bin_init), (group_create), (get_active_group), (get_building_group), (group_destroy), (group_commit), (queue_overrun), (remove_groups), (add_stream), (unknown_type), (add_element_stream), (no_more_pads), (probe_triggered), (preroll_unlinked), (new_decoded_pad), (removed_decoded_pad), (state_change), (setup_source), (gst_play_base_bin_get_property), (gst_play_base_bin_change_state), (gst_play_base_bin_add_element), (gst_play_base_bin_link_stream), (gst_play_base_bin_get_streaminfo): * gst/playback/gstplaybasebin.h: * gst/playback/gstplaybin.c: (gst_play_bin_class_init), (remove_sinks), (setup_sinks), (gst_play_bin_change_state): Add support for chained ogg files. Prepare for playlist support. This patch introduces the concept of pad groups, which together compose one playable media file. 2004-11-07 David Schleef * testsuite/gst-lint: Check for pad templates that aren't statically scoped. 2004-11-07 Ronald S. Bultje * configure.ac: * ext/Makefile.am: * ext/musepack/Makefile.am: * ext/musepack/gstmusepackdec.cpp: * ext/musepack/gstmusepackdec.h: * ext/musepack/gstmusepackreader.cpp: * ext/musepack/gstmusepackreader.h: Add musepack decoder. * ext/faad/gstfaad.c: (gst_faad_base_init): Make pad templates static. * gst/typefind/gsttypefindfunctions.c: (mp3_type_find), (plugin_init): Add musepack typefinder, make mp3 typefinding work halfway stream, which doesn't actually work yet because id3demux doesn't implement _get_length(). 2004-11-07 Ronald S. Bultje * ext/ogg/gstoggmux.c: (gst_ogg_mux_next_buffer), (gst_ogg_mux_queue_pads), (gst_ogg_mux_loop): Fix interrupt event handling (#144436). 2004-11-07 Ronald S. Bultje * ext/mad/gstid3tag.c: (gst_id3_tag_do_typefind): Hide unused glory. 2004-11-06 Tim-Philipp Müller reviewed by: Ronald S. Bultje * ext/vorbis/vorbisenc.c: (raw_caps_factory): Fix weird caps (#157548). 2004-11-06 Tim-Philipp Müller Reviewed by: Ronald S. Bultje * gst/rtp/gstrtpgsmparse.c: (gst_rtpgsm_caps_nego): Add missing NULL terminator (#157543). 2004-11-05 Thomas Vander Stichele * gst/tcp/gsttcp.h: * gst/tcp/gsttcpclientsink.c: * gst/tcp/gsttcpclientsrc.c: * gst/tcp/gsttcpserversink.c: * gst/tcp/gsttcpserversrc.c: ports can go up to 65535. Move common defines to gsttcp.h 2004-11-05 Wim Taymans * gst/videotestsrc/videotestsrc.c: (paint_setup_Y41B), (paint_hline_Y41B), (paint_setup_Y42B), (paint_hline_Y42B): Added two more colorspaces. 2004-11-05 Wim Taymans * gst/ffmpegcolorspace/gstffmpegcodecmap.c: (gst_ffmpegcsp_avpicture_fill): * gst/ffmpegcolorspace/imgconvert.c: (avpicture_get_size), (yuv422p_to_yuv422), (yuv420p_to_yuv422), (shrink12), (img_convert), (deinterlace_line), (deinterlace_line_inplace): More stride fixes. 2004-11-05 Wim Taymans * gst/alpha/gstalpha.c: (gst_alpha_set_property), (gst_alpha_add), (gst_alpha_chroma_key), (gst_alpha_init_params), (gst_alpha_chain): * gst/videomixer/videomixer.c: (gst_videomixer_blend_ayuv_i420), (gst_videomixer_fill_checker), (gst_videomixer_blend_buffers), (gst_videomixer_loop): More stride fixes. 2004-11-05 Benjamin Otte * ext/mad/gstmad.c: (gst_mad_chain): don't overflow data buffer. Flush not needed sync data when syncing failed. 2004-11-04 Wim Taymans * gst/alpha/gstalpha.c: (gst_alpha_method_get_type), (gst_alpha_class_init), (gst_alpha_init), (gst_alpha_set_property), (gst_alpha_get_property), (gst_alpha_add), (gst_alpha_chroma_key), (gst_alpha_init_params), (gst_alpha_chain), (gst_alpha_change_state): Updated the chroma keying algorithm with something more sophisticated. 2004-11-03 Wim Taymans * gst/videomixer/videomixer.c: (gst_videomixer_blend_ayuv_i420), (gst_videomixer_fill_checker), (gst_videomixer_fill_color), (gst_videomixer_blend_buffers), (gst_videomixer_loop): Fix stride issues. Does not completely work for odd heights. 2004-11-03 Wim Taymans * gst/alpha/gstalpha.c: (gst_alpha_method_get_type), (gst_alpha_chroma_key), (gst_alpha_chain): Fix stride issues. Does not completely work for odd heights. 2004-11-03 Christophe Fergeau * gst/videoscale/gstvideoscale.c: (gst_videoscale_getcaps): * gst/videoscale/videoscale.c: (videoscale_find_by_structure): leak fixes 2004-11-03 Wim Taymans * gst/ffmpegcolorspace/gstffmpegcodecmap.c: (gst_ffmpegcsp_avpicture_fill): * gst/ffmpegcolorspace/imgconvert.c: (avpicture_get_size), (avpicture_alloc): * gst/ffmpegcolorspace/imgconvert_template.h: Use correct _fill function to get correct strides. 2004-11-02 David Schleef * gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header), (gst_qtdemux_add_stream), (qtdemux_parse), (qtdemux_parse_tree), (qtdemux_parse_udta), (qtdemux_tag_add), (gst_qtdemux_handle_esds): Change all g_print()s to debugging. Add a bunch of consistency checks. 2004-11-02 Wim Taymans * gst/playback/gstdecodebin.c: (gst_decode_bin_class_init), (try_to_link_1), (get_our_ghost_pad), (remove_element_chain), (unlinked), (no_more_pads), (close_link): * gst/playback/gstplaybasebin.c: (gst_play_base_bin_init), (unknown_type), (add_element_stream), (new_decoded_pad), (removed_decoded_pad), (setup_source): * gst/playback/gststreaminfo.c: (gst_stream_info_get_type), (gst_stream_info_class_init), (gst_stream_info_init), (gst_stream_info_new), (gst_stream_info_dispose), (stream_info_mute_pad), (gst_stream_info_set_property), (gst_stream_info_get_property): * gst/playback/gststreaminfo.h: Fix playback of multiple files. a slightly different approach to handling dynamic pad removals. This one only looks at pads that we have linked. 2004-11-01 Christophe Fergeau * ext/ogg/gstoggdemux.c: (gst_ogg_demux_finalize): fix an "invalid free" warning from libc. 2004-11-01 Ronald S. Bultje * gst/playback/gstdecodebin.c: (gst_decode_bin_class_init), (get_unconnected_element), (remove_starting_from), (pad_removed), (close_link): Implement support for dynamic pad changing. We listen to "live" pad removals (i.e. while playing) and re-setup autoplugging after that. Playbasebin/playbin need some more work for this to finally work, but decodebin supports (and replugs) chained ogg now. 2004-11-02 Jan Schmidt * ext/alsa/gstalsa.c: (gst_alsa_class_init), (gst_alsa_dispose), (gst_alsa_finalize): * ext/cdaudio/gstcdaudio.c: (gst_cdaudio_class_init), (gst_cdaudio_finalize): * ext/cdparanoia/gstcdparanoia.c: (cdparanoia_class_init), (cdparanoia_finalize): * ext/divx/gstdivxdec.c: (gst_divxdec_dispose): * ext/divx/gstdivxenc.c: (gst_divxenc_dispose): * ext/dvdread/dvdreadsrc.c: (dvdreadsrc_class_init), (dvdreadsrc_finalize): * ext/flac/gstflacdec.c: (gst_flacdec_class_init), (gst_flacdec_finalize): * ext/flac/gstflacenc.c: (gst_flacenc_class_init), (gst_flacenc_finalize): * ext/gnomevfs/gstgnomevfssink.c: (gst_gnomevfssink_class_init), (gst_gnomevfssink_finalize): * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_class_init), (gst_gnomevfssrc_finalize): * ext/libfame/gstlibfame.c: (gst_fameenc_class_init), (gst_fameenc_finalize): * ext/nas/nassink.c: (gst_nassink_class_init), (gst_nassink_finalize): * ext/sdl/sdlvideosink.c: (gst_sdlvideosink_finalize), (gst_sdlvideosink_class_init): * ext/sndfile/gstsf.c: (gst_sf_dispose): * gst-libs/gst/mixer/mixertrack.c: (gst_mixer_track_dispose): * gst-libs/gst/tuner/tunerchannel.c: (gst_tuner_channel_dispose): * gst-libs/gst/tuner/tunernorm.c: (gst_tuner_norm_dispose): * gst-libs/gst/xwindowlistener/xwindowlistener.c: (gst_x_window_listener_dispose): * gst/audioscale/gstaudioscale.c: * gst/playondemand/gstplayondemand.c: (play_on_demand_class_init), (play_on_demand_finalize): * gst/videofilter/gstvideobalance.c: (gst_videobalance_dispose): * gst/videoscale/gstvideoscale.c: (gst_videoscale_chain): * sys/cdrom/gstcdplayer.c: (cdplayer_class_init), (cdplayer_finalize): * sys/glsink/glimagesink.c: (gst_glimagesink_finalize), (gst_glimagesink_class_init): * sys/oss/gstosselement.c: (gst_osselement_class_init), (gst_osselement_finalize): * sys/oss/gstosssink.c: (gst_osssink_dispose): * sys/oss/gstosssrc.c: (gst_osssrc_dispose): * sys/v4l/gstv4lelement.c: (gst_v4lelement_dispose): Fixes a bunch of problems with finalize and dispose functions, either assumptions that dispose is only called once, or not calling the parent class dispose/finalize function 2004-11-01 Stefan Kost * ext/esd/esdsink.c: (gst_esdsink_init), (gst_esdsink_link): added two api precondition guards use g_strdup with getenv to fix crash when using ENVVAR 2004-11-01 Jan Schmidt * ext/esd/esdsink.c: (gst_esdsink_class_init), (gst_esdsink_finalize): Use a finalize function, not dispose, and more importantly, call the parent class finalize function too 2004-11-01 Johan Dahlin * ext/ogg/gstoggdemux.c: * gst/tags/gstvorbistag.c: Plug leaks. 2004-10-31 Benjamin Otte * gst/tags/gstvorbistag.c: (gst_vorbis_tag_chain): lotsa memleaks today. But they're all small... 2004-10-31 Benjamin Otte * ext/ogg/gstoggdemux.c: (gst_ogg_pad_push): another memleak crushed 2004-10-31 Benjamin Otte * gst/tags/gstvorbistag.c: (gst_tag_to_vorbis_comments): fix memleak 2004-10-31 Ronald S. Bultje * ext/ogg/gstoggdemux.c: (gst_ogg_pad_push): Hack to prevent crash when going to READY inside signal handler while this function is active. 2004-10-31 Ronald S. Bultje * gst/ffmpegcolorspace/Makefile.am: * gst/ffmpegcolorspace/avcodec.h: * gst/ffmpegcolorspace/common.h: * gst/ffmpegcolorspace/dsputil.c: (dsputil_static_init): * gst/ffmpegcolorspace/dsputil.h: * gst/ffmpegcolorspace/gstffmpeg.c: (plugin_init): * gst/ffmpegcolorspace/gstffmpegcodecmap.c: (gst_ffmpeg_get_palette), (gst_ffmpeg_set_palette), (gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_smpfmt_to_caps), (gst_ffmpegcsp_codectype_to_caps), (gst_ffmpeg_caps_to_smpfmt), (gst_ffmpeg_caps_to_pixfmt), (gst_ffmpegcsp_caps_with_codectype), (gst_ffmpegcsp_avpicture_fill): * gst/ffmpegcolorspace/gstffmpegcodecmap.h: * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_caps_remove_format_info), (gst_ffmpegcsp_getcaps), (gst_ffmpegcsp_pad_link), (gst_ffmpegcsp_get_type), (gst_ffmpegcsp_base_init), (gst_ffmpegcsp_class_init), (gst_ffmpegcsp_init), (gst_ffmpegcsp_chain), (gst_ffmpegcsp_change_state), (gst_ffmpegcsp_set_property), (gst_ffmpegcsp_get_property), (gst_ffmpegcolorspace_register): * gst/ffmpegcolorspace/imgconvert.c: (avcodec_get_chroma_sub_sample), (avcodec_get_pix_fmt_name), (avcodec_get_pix_fmt), (avpicture_fill), (avpicture_layout), (avpicture_get_size), (avcodec_get_pix_fmt_loss), (avg_bits_per_pixel), (avcodec_find_best_pix_fmt1), (avcodec_find_best_pix_fmt), (img_copy_plane), (img_copy), (yuv422_to_yuv420p), (uyvy422_to_yuv420p), (uyvy422_to_yuv422p), (yuv422_to_yuv422p), (yuv422p_to_yuv422), (yuv422p_to_uyvy422), (uyvy411_to_yuv411p), (yuv420p_to_yuv422), (C_JPEG_TO_CCIR), (img_convert_init), (img_apply_table), (shrink41), (shrink21), (shrink12), (shrink22), (shrink44), (grow21_line), (grow41_line), (grow21), (grow22), (grow41), (grow44), (conv411), (gif_clut_index), (build_rgb_palette), (bitcopy_n), (mono_to_gray), (monowhite_to_gray), (monoblack_to_gray), (gray_to_mono), (gray_to_monowhite), (gray_to_monoblack), (avpicture_alloc), (avpicture_free), (is_yuv_planar), (img_convert), (get_alpha_info_pal8), (img_get_alpha_info), (deinterlace_line), (deinterlace_line_inplace), (deinterlace_bottom_field), (deinterlace_bottom_field_inplace), (avpicture_deinterlace): * gst/ffmpegcolorspace/imgconvert_template.h: * gst/ffmpegcolorspace/mem.c: (av_malloc), (av_realloc), (av_free): * gst/ffmpegcolorspace/mmx.h: * gst/ffmpegcolorspace/utils.c: (av_mallocz), (av_strdup), (av_fast_realloc), (av_mallocz_static), (av_free_static), (av_freep), (avcodec_get_context_defaults), (avcodec_alloc_context), (avcodec_init): Sync back from gst-ffmpeg. Deprecates ffcolorspace. Adds palette handling plus update from ffmpeg CVS. Large clean-up. 2004-10-31 Ronald S. Bultje * gst/playback/Makefile.am: We need the marshallers for decodebin, too. 2004-10-30 David Schleef * gst/typefind/gsttypefindfunctions.c: (qt_type_find): Make quicktime typefinding work with 64-bit offsets. 2004-10-30 Jan Schmidt * ext/dv/gstdvdec.c: (gst_dvdec_handle_sink_event): Set EOS on the element when processing an EOS event. * ext/speex/gstspeexdec.h: * ext/speex/gstspeexenc.h: Only keep a const ptr to the mode * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps_with_data), (gst_riff_create_audio_template_caps): Allow WMAV3, with up to 6 channels. * gst/asfdemux/gstasfmux.c: (gst_asfmux_request_new_pad): Don't call gst_pad_set_event_function on a sink pad. * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_get_subpicture_stream), (gst_dvd_demux_set_cur_audio), (gst_dvd_demux_set_cur_subpicture): Copy the explicit caps that were set across to the cur_* pads, instead of trying to use a possibly non-existent negotiated caps. Reset the type of subpicture pads to UNKNOWN after calling init_stream, so that the caps get set. 2004-10-29 Martin Pitt Reviewed by: Ronald S. Bultje * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_chunk): Don't touch buffer if it is of size 0 (fixes #151064). 2004-10-29 Ronald S. Bultje * ext/ogg/gstoggdemux.c: (gst_ogg_demux_push), (gst_ogg_pad_push): Synchronized discont handling. 2004-10-29 Ronald S. Bultje * ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_event), (gst_ogg_demux_push): Make seeking sort-of exact again (fixes #156387). 2004-10-29 Ronald S. Bultje * gst/playback/gstplaybasebin.c: (unknown_type), (add_element_stream), (new_decoded_pad), (gst_play_base_bin_change_state): * gst/playback/gststreaminfo.c: (gst_stream_info_class_init), (gst_stream_info_init), (gst_stream_info_new), (gst_stream_info_dispose), (gst_stream_info_get_property): * gst/playback/gststreaminfo.h: Make caps explicitely available. Makes testing for unsupported types possible. Improves error reporting. 2004-10-29 Ronald S. Bultje * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_buffer_to_default_format): Really don't touch read-only buffers (#156563). 2004-10-29 Sebastien Cote Reviewd by: Ronald S. Bultje * gst/wavparse/gstwavparse.c: (gst_wavparse_fmt): Fix memleak (#155223). 2004-10-29 Wim Taymans * gst/tcp/.cvsignore: * gst/tcp/gstmultifdsink.c: (gst_sync_method_get_type), (gst_multifdsink_class_init), (gst_multifdsink_init), (gst_multifdsink_add), (gst_multifdsink_remove), (gst_multifdsink_remove_client_link), (is_sync_frame), (gst_multifdsink_new_client), (gst_multifdsink_handle_client_write), (gst_multifdsink_recover_client), (gst_multifdsink_queue_buffer), (gst_multifdsink_handle_clients), (gst_multifdsink_set_property), (gst_multifdsink_get_property): * gst/tcp/gstmultifdsink.h: Added burst on connect sync_method, deprecated sync_clients, streamlined the sync code some more. 2004-10-29 Ronald S. Bultje * gst/playback/gstplaybasebin.c: (thread_error), (setup_source), (gst_play_base_bin_change_state): Improve error reporting. 2004-10-28 Wim Taymans * gst/tcp/Makefile.am: * gst/tcp/fdsetstress.c: (mess_some_more), (run_test), (main): * gst/tcp/gstfdset.c: (nearest_pow), (resize), (ensure_size), (gst_fdset_new), (gst_fdset_free), (gst_fdset_set_mode), (gst_fdset_fd_ctl_write), (gst_fdset_fd_ctl_read), (gst_fdset_fd_has_closed), (gst_fdset_fd_has_error), (gst_fdset_fd_can_read), (gst_fdset_fd_can_write), (gst_fdset_wait): Added more locks around fdset structures. Fixed/reworked the poll array resizing code. Added stress test for fdset. 2004-10-28 Zaheer Abbas Merali * gst-libs/gst/audio/gstaudiofilter.c: (gst_audiofilter_link): fix build 2004-10-28 Benjamin Otte * gst-libs/gst/audio/gstaudiofilter.c: (gst_audiofilter_link): fix link function to always query channels and query width for floats * configure.ac: add equalizer dir * gst/equalizer/Makefile.am: * gst/equalizer/gstiirequalizer.c: (gst_iir_equalizer_get_type), (gst_iir_equalizer_base_init), (gst_iir_equalizer_class_init), (gst_iir_equalizer_init), (gst_iir_equalizer_finalize), (arg_to_scale), (setup_filter), (gst_iir_equalizer_compute_frequencies), (gst_iir_equalizer_set_property), (gst_iir_equalizer_get_property), (gst_iir_equalizer_filter_inplace), (gst_iir_equalizer_setup), (plugin_init): add an equalizer 2004-10-27 Thomas Vander Stichele Submitted by: Kjartan Maraas * po/LINGUAS: * po/nb.po: Added Norwegian Bokmaal translation 2004-10-27 Ronald S. Bultje * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_build_list): Don't break on options (fixes #156488). 2004-10-27 Thomas Vander Stichele * configure.ac: * ext/cdaudio/Makefile.am: * sys/Makefile.am: fix build on older automake 2004-10-26 Wim Taymans * ext/dv/gstdvdec.c: (gst_dvdec_video_getcaps), (gst_dvdec_video_link), (gst_dvdec_push), (gst_dvdec_loop): Allow a little margin when negotiating the framerate. 2004-10-26 Stefan Kost * gst/level/gstlevel.c: synchonised naming of pads and pad-templates 2004-10-26 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_event), (gst_ogg_demux_handle_event), (_find_chain_get_unknown_part), (_find_streams_check), (gst_ogg_demux_push): Fix EOS again. Needs to be done in a better way. We should not remove the pad if there is no new chained stream. 2004-10-26 Iain * ext/ogg/gstoggdemux.c (gst_ogg_pad_new): Free the tag list. * gst/audioscale/gstaudioscale.c (gst_audioscale_link): Free the copy of the caps. * gst/interleave/interleave.c (interleave_class_init): Hook up release pad. (interleave_release_pad): Remove the pad. * gst/level/gstlevel.c: Allow the level to take 1 or 2 channels. * sys/sunaudio/gstsunaudio.c (gst_sunaudio_setparams): Pay attention to the set device. * sys/xvimage/xvimagesink.c (gst_xvimagesink_get_xv_support): Free the attrs (gst_xvimagesink_xcontext_clear): Free the xcontext. (gst_xvimagesink_finalize): Free the par. 2004-10-26 Ronald S. Bultje * gst/avi/gstavimux.c: (gst_avimux_audsinkconnect), (gst_avimux_stop_file): First calculate the rate, and only then use it. Hdr.rate is a multiple and not a derivative of hdr.scale. Scale is not the same as blockalign but is solely related to rate. 2004-10-26 Ronald S. Bultje * ext/gnomevfs/gstgnomevfssink.c: (gst_gnomevfssink_init), (gst_gnomevfssink_handle_event), (gst_gnomevfssink_chain): Implement seeking. 2004-10-25 James Henstridge Reviewed by: David Schleef * examples/gstplay/player.c: (got_stream_length), (main): * examples/seeking/cdplayer.c: (update_scale): * examples/seeking/seek.c: (format_value), (update_scale): * examples/seeking/spider_seek.c: (format_value), (update_scale), (stop_seek): Build fixes on AMD64. 2004-10-25 Zaheer Abbas Merali reviewed by: Ronald Bultje * sys/v4l/v4l_calls.c: (gst_v4l_get_chan_names): Fix for some v4l cards which hang in v4lsrc 2004-10-25 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_remove), (gst_ogg_demux_push), (gst_ogg_chains_clear): Make sure to remove the pad when a new chain is encountered. Set some vars to NULL so we don't try to reference freed memory. 2004-10-25 Wim Taymans * examples/seeking/Makefile.am: * examples/seeking/cdplayer.c: (update_scale): * examples/seeking/chained.c: (unlinked), (new_pad), (main): * examples/seeking/playbin.c: (make_playerbin_pipeline), (format_value), (update_scale), (iterate), (start_seek), (stop_seek), (print_media_info), (play_cb), (pause_cb), (stop_cb), (print_usage), (main): Added some more examples, update others. 2004-10-25 Ronald S. Bultje * ext/flac/gstflacdec.c: (gst_flacdec_update_metadata): * ext/speex/gstspeexdec.c: (speex_dec_chain): * ext/theora/theoradec.c: (theora_dec_chain): * ext/vorbis/vorbisdec.c: (vorbis_dec_chain): Add codec-name metadata. 2004-10-25 Takao Fujiwara Reviewd by: Ronald S. Bultje * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_build_list): * ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_new): * ext/alsa/gstalsamixertrack.h: * po/POTFILES.in: ALSA mixer track label internationalization (#154054). 2004-10-25 Ronald S. Bultje * ext/theora/theoradec.c: (theora_dec_chain): Export bitrate as metadata. 2004-10-25 Ronald S. Bultje * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_build_list): * ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_new): * ext/alsa/gstalsamixertrack.h: Fix names, fix loop. 2004-10-25 Ronald S. Bultje * ext/speex/gstspeexdec.c: (gst_speex_dec_init), (speex_dec_convert): sinkconvert function so oggdemux can get the file length (totem). 2004-10-25 James Morrison Reviewed by: Ronald S. Bultje * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_chunk): Don't push incomplete packets. * gst/typefind/gsttypefindfunctions.c: (m4a_type_find): Fix MPEG-4 audio typefinding. 2004-10-25 Ronald S. Bultje * sys/v4l/Makefile.am: * sys/v4l/gstv4l.c: (plugin_init): * sys/v4l/gstv4lelement.c: (gst_v4lelement_get_type), (gst_v4lelement_init), (gst_v4lelement_dispose), (gst_v4lelement_change_state): * sys/v4l/gstv4lelement.h: * sys/v4l/gstv4lxoverlay.c: (gst_v4l_xoverlay_open), (gst_v4l_xoverlay_close), (idle_refresh), (gst_v4l_xoverlay_set_xwindow_id): * sys/v4l/gstv4lxoverlay.h: * sys/v4l/v4l-overlay_calls.c: * sys/v4l/v4l_calls.h: * sys/v4l2/Makefile.am: * sys/v4l2/gstv4l2.c: (plugin_init): * sys/v4l2/gstv4l2element.c: (gst_v4l2element_get_type), (gst_v4l2element_init), (gst_v4l2element_dispose), (gst_v4l2element_change_state): * sys/v4l2/gstv4l2element.h: * sys/v4l2/gstv4l2xoverlay.c: (gst_v4l2_xoverlay_open), (gst_v4l2_xoverlay_close), (idle_refresh), (gst_v4l2_xoverlay_set_xwindow_id): * sys/v4l2/gstv4l2xoverlay.h: * sys/v4l2/v4l2-overlay_calls.c: * sys/v4l2/v4l2_calls.h: Remove client-side overlay handling, use the X-server v4l plugin for that. Nicer overlay, less code. Also make the plugin compileable without X (but then without overlay, obviously). Makes xwindowlistener obsolete, should we remove that? 2004-10-25 Ronald S. Bultje * sys/oss/gstosssrc.c: (gst_osssrc_get_time), (gst_osssrc_get), (gst_osssrc_src_query): * sys/oss/gstosssrc.h: OK, so people want offset in DEFAULT. This time, actually fix all cases. * sys/v4l2/gstv4l2src.c: (gst_v4l2src_getcaps): Add FPS properly. 2004-10-24 Ronald S. Bultje * gst/asfdemux/gstasfmux.c: * gst/avi/gstavimux.c: Framerate. 2004-10-24 Ronald S. Bultje * sys/v4l2/gstv4l2element.c: (gst_v4l2element_set_property): Fix properties (channel, norm, frequency). 2004-10-24 Ronald S. Bultje * sys/v4l2/gstv4l2element.c: (gst_v4l2element_get_property): Flag typo. * sys/v4l2/v4l2_calls.c: (gst_v4l2_set_defaults): No warnings. 2004-10-24 Ronald S. Bultje * sys/v4l2/v4l2src_calls.c: (gst_v4l2src_clear_format_list): Fix hang. 2004-10-24 Ronald S. Bultje * sys/v4l2/gstv4l2element.h: Yet Another Hack (tm) for kernel header borkedness. * sys/v4l2/gstv4l2src.c: (gst_v4l2src_init), (gst_v4l2src_v4l2fourcc_to_caps), (gst_v4l2_fourcc_from_structure), (gst_v4l2src_link), (gst_v4l2src_getcaps), (gst_v4l2src_change_state): * sys/v4l2/gstv4l2src.h: * sys/v4l2/v4l2src_calls.c: (gst_v4l2src_capture_init), (gst_v4l2src_capture_start), (gst_v4l2src_capture_stop): Fix caps, keep track of state, work. 2004-10-24 Ronald S. Bultje * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_getcaps): Quiet. 2004-10-24 Ronald S. Bultje * sys/oss/gstosssrc.c: (gst_osssrc_get): Don't mix bytes and samples. 2004-10-24 Ronald S. Bultje * ext/ogg/gstoggmux.c: Basic pad template which accepts OGM tracks, speex, flac, vorbis and theora. Any is incorrect. * gst/asfdemux/gstasfmux.c: (gst_asfmux_vidsink_link): Fix caps. * sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_base_init): * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_base_init), (gst_v4lmjpegsrc_init), (gst_v4lmjpegsrc_srcconnect), (gst_v4lmjpegsrc_getcaps), (gst_v4lmjpegsrc_change_state): * sys/v4l/gstv4lmjpegsrc.h: * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_src_link), (gst_v4lsrc_getcaps), (gst_v4lsrc_change_state): * sys/v4l/v4lmjpegsrc_calls.c: (gst_v4lmjpegsrc_capture_start), (gst_v4lmjpegsrc_capture_stop): Fix caps. Keep track of internal state. Work. 2004-10-23 Ronald S. Bultje * ext/Makefile.am: Fix the build fixes. 2004-10-23 Ronald S. Bultje * ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_query), (gst_ogg_demux_src_event), (_find_chain_seek), (gst_ogg_pad_push): Check for pad availability before using it. * ext/ogg/gstoggdemux.c: (_find_chain_process): Fix parsing of chained ogg. Needs more work on the decoder side. 2004-10-22 Benjamin Otte * gst/spectrum/Makefile.am: * gst/spectrum/demo-osssrc.c: (spectrum_chain), (main), (idle_func): Fix demo and reenable it. Yes, I'm currently playing with audio analysis tools 2004-10-22 Ronald S. Bultje * ext/ogg/gstoggdemux.c: (gst_ogg_pad_push): We love it if files that start at zero work too... 2004-10-22 Ronald S. Bultje * ext/ogg/gstoggdemux.c: (gst_ogg_demux_iterate): Handle files with missing EOS headers. 2004-10-21 Zaheer Abbas Merali * gst/tcp/gsttcpserversink.c: (gst_tcpserversink_handle_server_read), (gst_tcpserversink_init_send): Zero some variables first (need for accept not to return EINVAL) 2004-10-20 Ronald S. Bultje * ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_query), (gst_ogg_demux_src_event), (gst_ogg_pad_push): * ext/theora/theoradec.c: (theora_dec_sink_convert), (theora_dec_chain): * ext/vorbis/vorbisdec.c: (vorbis_dec_get_formats), (gst_vorbis_dec_init), (vorbis_dec_convert), (vorbis_dec_chain): Seeking and querying finetune. 2004-10-20 Thomas Vander Stichele * configure.ac: * ext/Makefile.am: * ext/raw1394/Makefile.am: fix the build 2004-10-20 Ronald S. Bultje * ext/ogg/gstoggdemux.c: (gst_ogg_demux_iterate): Wrong return. * gst/playback/Makefile.am: * gst/playback/gstdecodebin.c: (gst_decode_bin_class_init): * gst/playback/gstplay-marshal.list: * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init): Fix marshallers. 2004-10-18 Ronald S. Bultje * ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_event): Silence. 2004-10-18 Ronald S. Bultje * ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_query), (gst_ogg_demux_src_event), (gst_ogg_pad_populate), (gst_ogg_pad_push): Yay for non-lineair granulepos in theora. 2004-10-18 Wim Taymans * ext/dv/gstdvdec.c: (gst_dvdec_init), (gst_dvdec_video_getcaps), (gst_dvdec_video_link), (gst_dvdec_push), (gst_dvdec_loop): * ext/dv/gstdvdec.h: Make sure we renegotiate aspect ratio when the camera switches. 2004-10-18 Ronald S. Bultje * ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_query), (gst_ogg_demux_src_event), (gst_ogg_pad_push): Start at zero. * ext/theora/theoradec.c: (theora_dec_chain): Skip headers. Bad idea for chained ogg, but fixes seeking. 2004-10-18 Wim Taymans * configure.ac: I swear, this is the last time I touch this. 2004-10-18 Ronald S. Bultje * ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_query), (gst_ogg_demux_src_event), (gst_ogg_pad_populate), (_read_bos_process), (gst_ogg_demux_iterate), (gst_ogg_pad_new): Faster seeking. * ext/theora/theoradec.c: (theora_dec_sink_convert): Time-to-default conversion. * ext/vorbis/vorbisdec.c: (vorbis_dec_chain): Don't error on unknown packets, just skip. We should probably read them if we want to support chained ogg. 2004-10-18 Wim Taymans * configure.ac: Added cdaudio to wrong list. 2004-10-18 Wim Taymans * configure.ac: Revive cdaudio. 2004-10-18 Wim Taymans * ext/dv/gstdvdec.c: (gst_dvdec_video_getcaps), (gst_dvdec_video_link), (gst_dvdec_push): * ext/jpeg/gstsmokeenc.c: (gst_smokeenc_class_init), (gst_smokeenc_resync), (gst_smokeenc_chain): Fix mimetype on smoke encoder. Add aspect ratio to dvdec. Not sure if these values are correct though.... 2004-10-18 Wim Taymans * ext/vorbis/vorbisenc.c: (gst_vorbisenc_class_init): Fix vorbis property descriptions and ranges. 2004-10-18 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_demux_iterate): Really do nothing when no data is available. Go to the playing state when the stream is not seekable instead of failing. 2004-10-18 Wim Taymans * ext/cdaudio/gstcdaudio.c: (_do_init), (gst_cdaudio_base_init), (gst_cdaudio_get_event_masks), (gst_cdaudio_send_event), (gst_cdaudio_query), (plugin_init), (cdaudio_uri_get_type), (cdaudio_uri_get_protocols), (cdaudio_uri_get_uri), (cdaudio_uri_set_uri), (cdaudio_uri_handler_init): Added uri handler for cd:// Port to new API. 2004-10-18 Wim Taymans * gst/playback/gstdecodebin.c: (gst_decode_bin_class_init), (gst_decode_bin_init), (find_compatibles), (close_pad_link), (try_to_link_1), (no_more_pads), (close_link), (type_found): * gst/playback/gstplaybasebin.c: (gen_preroll_element), (remove_prerolls), (unknown_type), (add_element_stream), (new_decoded_pad), (setup_source), (gst_play_base_bin_add_element), (gst_play_base_bin_remove_element), (gst_play_base_bin_link_stream): * gst/playback/gstplaybin.c: (gen_video_element), (gen_vis_element), (remove_sinks), (setup_sinks): * gst/playback/gststreaminfo.c: (gst_stream_type_get_type), (gst_stream_info_get_type), (gst_stream_info_class_init), (gst_stream_info_init), (gst_stream_info_new), (gst_stream_info_dispose), (stream_info_mute_pad), (gst_stream_info_set_property), (gst_stream_info_get_property): * gst/playback/gststreaminfo.h: Add sink padtemplate to decodebin. Added some more comments. Make queue size configurable in playbasebin. Added possibility to use elements as sinks (ex cdaudio). 2004-10-15 Wim Taymans * ext/speex/gstspeexenc.c: (gst_speexenc_class_init), (gst_speexenc_chain): Fix speex timestamps so that it gets muxed properly. 2004-10-15 Wim Taymans * ext/raw1394/gstdv1394src.c: (gst_dv1394src_get_type), (gst_dv1394src_base_init), (gst_dv1394src_class_init), (gst_dv1394src_init), (gst_dv1394src_dispose), (gst_dv1394src_iso_receive), (gst_dv1394src_discover_avc_node), (gst_dv1394src_change_state), (gst_dv1394src_get_event_mask), (gst_dv1394src_event), (gst_dv1394src_get_formats), (gst_dv1394src_convert), (gst_dv1394src_get_query_types), (gst_dv1394src_query), (gst_dv1394src_uri_get_type), (gst_dv1394src_uri_get_protocols), (gst_dv1394src_uri_get_uri), (gst_dv1394src_uri_set_uri), (gst_dv1394src_uri_handler_init): * ext/raw1394/gstdv1394src.h: Added conversion/query functions. Update buffer timestamps, Added signals. Added uri dv:// so it might play from the firewire in playbin. Fix a possible leak. Added debugging. 2004-10-15 Wim Taymans * ext/raw1394/gstdv1394src.c: (gst_dv1394src_class_init), (gst_dv1394src_init), (gst_dv1394src_set_property), (gst_dv1394src_get_property), (gst_dv1394src_iso_receive), (gst_dv1394src_discover_avc_node), (gst_dv1394src_change_state): * ext/raw1394/gstdv1394src.h: Added AV/C VTR control support needed for some cameras. Added automatic port detection. Added properties for selecting the channel. The configure.ac script is not yet updated to reflect the new libavc1394 and librom1394 dependencies. 2004-10-15 Wim Taymans * gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header), (qtdemux_parse), (gst_qtdemux_handle_esds): An esds box is not a container. Fix parsing of mp4v boxes. Do not try to renegotiate fps for each frame. Need to find a better method. This should fix mp4 playback. 2004-10-14 David Schleef * configure.ac: update for swfdec-0.3 and liboil-0.2 * ext/swfdec/gstswfdec.c: update for swfdec-0.3 * ext/swfdec/gstswfdec.h: same * gst/videofilter/gstvideobalance.c: update for liboil-0.2 * gst/videotestsrc/videotestsrc.c: same 2004-10-14 Wim Taymans * gst/tcp/gstmultifdsink.c: (gst_multifdsink_add), (gst_multifdsink_remove), (gst_multifdsink_remove_client_link), (is_sync_frame), (gst_multifdsink_new_client), (gst_multifdsink_handle_client_write), (gst_multifdsink_recover_client), (gst_multifdsink_queue_buffer), (gst_multifdsink_handle_clients), (gst_multifdsink_change_state): Turn warnings into info. Don't allow a state change in the streaming thread. 2004-10-14 Thomas Vander Stichele * ext/vorbis/oggvorbisenc.c: * ext/vorbis/vorbisdec.c: fix template sample rate 2004-10-13 Wim Taymans * ext/mad/gstmad.c: (gst_mad_check_caps_reset), (gst_mad_chain): Decoding the header first fixes some problems in resyncing in more mp3s. 2004-10-12 Wim Taymans * gst/playback/gstplaybin.c: (gen_video_element), (gen_vis_element), (remove_sinks), (setup_sinks): Added vis plugin support, need to configure the vis element to activate it. 2004-10-12 Ronald S. Bultje * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_get), (gst_gnomevfssrc_srcpad_query), (gst_gnomevfssrc_srcpad_event): Some debug. * gst/avi/gstavidemux.c: (gst_avi_demux_reset), (gst_avi_demux_handle_src_event), (gst_avi_demux_read_superindex), (gst_avi_demux_read_subindexes), (gst_avi_demux_add_stream), (gst_avi_demux_stream_index), (gst_avi_demux_skip), (gst_avi_demux_sync), (gst_avi_demux_stream_scan), (gst_avi_demux_massage_index), (gst_avi_demux_stream_header): * gst/avi/gstavidemux.h: Support for openDML-2.0 indx/ix## chunks. Support for broken index recovery (where, if part of the index is broken, we will still read the rest of the index and recover the broken part by stream scanning). More broken media support. EOS workarounds. General AVI braindamage headache recovery. Aspirin included. 2004-10-11 Ronald S. Bultje * ext/cdparanoia/gstcdparanoia.c: (cdparanoia_open), (cdparanoia_event), (cdparanoia_query): Get rid of hideous lead-in. 2004-10-11 Wim Taymans * gst/playback/gstplaybasebin.c: (setup_source): Wrong var used to get g_list_next. 2004-10-11 Ronald S. Bultje * ext/cdparanoia/gstcdparanoia.c: (cdparanoia_class_init), (cdparanoia_get), (cdparanoia_open): Report discid as metadata, add duration. 2004-10-11 Wim Taymans * gst/playback/gstplaybasebin.c: (setup_source): Cleanup the previous pipeline a little earlier for the case that a source element provides raw data. 2004-10-11 Benjamin Otte * ext/mad/gstid3tag.c: (gst_id3_tag_chain): reset v1 tag offset when there is no v1 tag. Fixes id3demux always consuming the last 128 bytes, even though it was valid mp3 data. 2004-10-10 Zaheer Abbas Merali * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_palette_to_caps), (gst_v4lsrc_getcaps), (gst_v4lsrc_get): * sys/v4l/v4l-overlay_calls.c: (gst_v4l_set_overlay): Change g_warnings to GST_WARNING_OBJECT and fix colourspace issue 2004-10-10 Zaheer Abbas Merali * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_src_link), (gst_v4lsrc_getcaps): Fix for webcams that support only specific width or height 2004-10-09 Tim-Philipp Müller Reviewed by: Ronald S. Bultje * gst/wavenc/gstwavenc.c: (gst_wavenc_stop_file): Fix wrong discont event setup (fixes #154967). 2004-10-09 Sebastien Cote Reviewed by: Ronald S. Bultje * gst/auparse/gstauparse.c: (gst_auparse_chain): Error out on invalid data (fixes #154807). 2004-10-09 Tim-Philipp Müller Reviewed by: Ronald S. Bultje * ext/dvdread/dvdreadsrc.c: (_read): Make titles > 0 work again (fixes #154834). 2004-10-09 Ronald S. Bultje * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_template_caps): WMV3 missing in template caps. 2004-10-09 Ronald S. Bultje * gst/avi/gstavidemux.c: (gst_avi_demux_massage_index): OK, so the original code was too strict. It makes random AVI files hang for seconds upon opening, which is unacceptable and is far beyond the original goal of getting multiple chunks for one-chunk sounc stream files. So now do just that. 2004-10-09 Ronald S. Bultje * gst/playback/gstplaybasebin.c: (setup_source), (gst_play_base_bin_change_state): Actually clean up streaminfo if output fails. This would trigger if, for example, there was no CD in the drive. No preroll, so a streaminfo structure is created, but the subsequent state change of the thread fails. * gst/playback/gstplaybin.c: (gst_play_bin_change_state): Don't change state if parent failed. 2004-10-08 Ronald S. Bultje * gst/playback/gstplaybin.c: (gst_play_bin_class_init), (gst_play_bin_init), (gst_play_bin_get_property), (handoff), (gen_video_element), (remove_sinks): Add small bits of code for screenshot handling. 2004-10-08 Wim Taymans * gst/playback/gstplaybin.c: (gst_play_bin_set_property), (gen_video_element), (gen_audio_element), (setup_sinks): Don't assume the user provided sinks are named "sink"... 2004-10-08 Wim Taymans * gst/playback/gstplaybasebin.c: (gen_preroll_element), (unknown_type), (setup_source), (gst_play_base_bin_remove_element), (gst_play_base_bin_link_stream): Do not try to autoplug sources that generate raw streams like cdparanoia. disconnect the preroll overrun signal when we don't need it anymore. 2004-10-08 Milosz Derezynski * ext/cdparanoia/gstcdparanoia.c: (_do_init), Added reworked patch from #154903 from milosz derezynski (deadchip). 2004-10-08 Wim Taymans * ext/cdparanoia/gstcdparanoia.c: (_do_init), (cdparanoia_base_init), (cdparanoia_class_init), (cdparanoia_init), (cdparanoia_dispose), (cdparanoia_get), (cdparanoia_change_state), (cdparanoia_convert), (cdparanoia_uri_get_type), (cdparanoia_uri_get_protocols), (cdparanoia_uri_get_uri), (cdparanoia_uri_set_uri), (cdparanoia_uri_handler_init): * ext/cdparanoia/gstcdparanoia.h: This adds the cdda:// uri. 2004-10-08 Wim Taymans * gst/playback/gstdecodebin.c: (gst_decode_bin_class_init), (gst_decode_bin_init), (find_compatibles), (close_pad_link), (try_to_link_1), (no_more_pads), (close_link), (type_found): * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init), (unknown_type), (gst_play_base_bin_remove_element), (gst_play_base_bin_link_stream): * gst/playback/gstplaybasebin.h: * gst/playback/gstplaybin.c: (gst_play_bin_init), (gst_play_bin_set_property), (gen_video_element), (gen_audio_element), (setup_sinks): * gst/playback/gststreaminfo.c: (gst_stream_type_get_type), (gst_stream_info_get_type), (gst_stream_info_class_init), (gst_stream_info_init), (gst_stream_info_new), (gst_stream_info_dispose), (stream_info_mute_pad), (gst_stream_info_set_property), (gst_stream_info_get_property): * gst/playback/gststreaminfo.h: Reuse the audio and video bins. Some internal cleanups in the stream selection code. 2004-10-08 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_sink_link), (gst_ximagesink_set_xwindow_id), (gst_ximagesink_init): * sys/ximage/ximagesink.h: * sys/xvimage/xvimagesink.c: (gst_xvimagesink_sink_link), (gst_xvimagesink_set_xwindow_id), (gst_xvimagesink_init): * sys/xvimage/xvimagesink.h: Reverting Ronald's changes as the issue is not coming from those elements. Moreover these elements should not keep the xid they have been given when in NULL state. 2004-10-07 Ronald S. Bultje * sys/ximage/ximagesink.c: (gst_ximagesink_sink_link), (gst_ximagesink_set_xwindow_id), (gst_ximagesink_init): * sys/ximage/ximagesink.h: * sys/xvimage/xvimagesink.c: (gst_xvimagesink_sink_link), (gst_xvimagesink_set_xwindow_id), (gst_xvimagesink_init): * sys/xvimage/xvimagesink.h: Actually only create a new toplevel window if we're not gonna embed it right after. 2004-10-07 Wim Taymans * gst/playback/gstplaybasebin.c: (play_base_bin_mute_pad), (gst_play_base_bin_mute_stream), (gst_play_base_bin_link_stream): * gst/playback/gstplaybin.c: (setup_sinks): Implement muting/unmuting of streams, mute streams that are not used. 2004-10-07 Wim Taymans * gst/typefind/gsttypefindfunctions.c: (ac3_type_find), (plugin_init): Added lame audio/x-ac3 typefind function. 2004-10-06 Thomas Vander Stichele * configure.ac: bump nano to cvs === release 0.8.5 === 2004-10-06 Thomas Vander Stichele * NEWS: * RELEASE: * configure.ac: releasing 0.8.5, "Take You On" 2004-10-06 Wim Taymans * gst/playback/gstdecodebin.c: (gst_decode_bin_init), (find_compatibles), (close_pad_link), (try_to_link_1), (new_pad), (no_more_pads), (close_link), (type_found): * gst/playback/gstplaybasebin.c: (new_decoded_pad): * gst/playback/gstplaybin.c: (gen_video_element): Do not signal the no_more_pads after the first pad when we are plugging a non dynamic element with multiple output pads (like swfdec, dvdec, ...). 2004-10-06 Thomas Vander Stichele * configure.ac: bump for prerelease 2004-10-06 Stephane Loeuillet * gst/wavparse/gstwavparse.c: add ATRAC3 to STATIC CAPS to fix a warning * gst/matroska/ebml-read.c: * gst-libs/gst/riff/riff-read.c: fix typos 2004-10-06 Stephane Loeuillet * gst-libs/gst/riff/riff-media.c: generate caps for ATRAC3 audio streams * gst/realmedia/rmdemux.c: generate caps for ATRAC3 audio streams 2004-10-06 Stephane Loeuillet * gst/wavparse/Makefile.am * gst/wavparse/riff.h * gst/wavparse/wavparse.vcproj riff.h removal (unused and duplication with riff-ids.h) 2004-10-06 Stephane Loeuillet * gst/wavparse/gstwavparse.h remove duplicated defines for audio codec codes * gst-libs/gst/riff/riff-ids.h * gst/wavenc/riff.h: add "4CC" code for ATRAC3 audio streams add "4CC" code for ITU_G721_ADPCM (unused for now) 2004-10-06 Wim Taymans * gst/flx/gstflxdec.c: (gst_flxdec_init), (gst_flxdec_loop): Actually _do_ negotiation. Pass gdouble as arg instead of guint64 for the framerate. 2004-10-06 Wim Taymans * gst/playback/gstdecodebin.c: (gst_decode_bin_init), (find_compatibles), (close_pad_link), (try_to_link_1), (no_more_pads), (close_link), (type_found): * gst/playback/gstplaybasebin.c: (new_decoded_pad): * gst/playback/gstplaybin.c: (gen_video_element), (gen_audio_element): Set state on newly added element to READY so that negotiation can happen ASAP. Addes some more debug info. Do not try to plug pads with multiple caps structures or ANY because it is too dangerous since we do not do dynamic replugging. 2004-10-06 Thomas Vander Stichele written by: Gora Mohanty * po/LINGUAS: * po/or.po: add Oriya translation 2004-10-05 Ronald S. Bultje * gst/avi/gstavidemux.c: (gst_avi_demux_massage_index): Prevent overwrite of size member. Makes audio sound crappy. 2004-10-05 Stephane Loeuillet * gst/typefind/gsttypefindfunctions.c: (plugin_init): Add rmvb to the list of known RealMedia extensions 2004-10-05 Wim Taymans * ext/libmng/gstmngdec.c: (gst_mngdec_loop), (mngdec_error), (mngdec_openstream), (mngdec_closestream), (mngdec_handle_sink_event), (mngdec_readdata), (mngdec_gettickcount), (mngdec_settimer), (mngdec_processheader), (mngdec_getcanvasline), (mngdec_refresh), (gst_mngdec_change_state): Set the framerate correctly. 2004-10-04 Ronald S. Bultje * gst/avi/gstavidemux.c: (gst_avi_demux_massage_index): There was something wrong with the index massaging. 2004-10-04 Wim Taymans * ext/jpeg/gstjpeg.c: (smoke_type_find), (plugin_init): * ext/jpeg/gstsmokedec.c: (gst_smokedec_init), (gst_smokedec_chain): * ext/jpeg/gstsmokedec.h: * ext/jpeg/gstsmokeenc.c: (gst_smokeenc_class_init), (gst_smokeenc_init), (gst_smokeenc_resync), (gst_smokeenc_chain): * ext/jpeg/gstsmokeenc.h: * ext/jpeg/smokecodec.c: (smokecodec_encode_new), (smokecodec_decode_new), (smokecodec_info_free), (smokecodec_set_quality), (smokecodec_get_quality), (smokecodec_set_threshold), (smokecodec_get_threshold), (smokecodec_set_bitrate), (smokecodec_get_bitrate), (find_best_size), (abs_diff), (put), (smokecodec_encode_id), (smokecodec_encode), (smokecodec_parse_id), (smokecodec_parse_header), (smokecodec_decode): * ext/jpeg/smokecodec.h: * ext/jpeg/smokeformat.h: Updated smoke, new bitstream, allows embedding in ogg. 2004-10-04 Ronald S. Bultje * gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_event): Fix seeking in some files. All this code is no longer needed (and actually breaks stuff) because we now synchronize the full index right when reading the header. 2004-10-04 Wim Taymans * configure.ac: configure update for libmng. 2004-10-04 Wim Taymans * ext/libmng/Makefile.am: * ext/libmng/gstmng.c: (plugin_init): * ext/libmng/gstmng.h: * ext/libmng/gstmngdec.c: (gst_mngdec_get_type), (gst_mngdec_base_init), (gst_mngdec_class_init), (gst_mngdec_sinklink), (gst_mngdec_init), (gst_mngdec_src_getcaps), (gst_mngdec_loop), (gst_mngdec_get_property), (gst_mngdec_set_property), (mngdec_error), (mngdec_openstream), (mngdec_closestream), (mngdec_handle_sink_event), (mngdec_readdata), (mngdec_gettickcount), (mngdec_settimer), (mngdec_processheader), (mngdec_getcanvasline), (mngdec_refresh), (gst_mngdec_change_state): * ext/libmng/gstmngdec.h: * ext/libmng/gstmngenc.c: (gst_mngenc_get_type), (mng_caps_factory), (raw_caps_factory), (gst_mngenc_base_init), (gst_mngenc_class_init), (gst_mngenc_sinklink), (gst_mngenc_init), (gst_mngenc_chain), (gst_mngenc_get_property), (gst_mngenc_set_property): * ext/libmng/gstmngenc.h: Added basic MNG decoder. Needs more work. The encoder does not work yet. 2004-10-04 Ronald S. Bultje * gst/realmedia/rmdemux.c: (gst_rmdemux_handle_sink_event), (gst_rmdemux_loop), (gst_rmdemux_add_stream), (gst_rmdemux_parse_mdpr), (gst_rmdemux_dump_mdpr): Don't hang on length=0 chunks. Some negotiation fixes. Signal no-more-pads. 2004-10-04 Thomas Vander Stichele * configure.ac: you need at least 1.0.4 of speex 2004-10-04 Iain * ext/speex/gstspeexdec.h: Revert the includes changes. * ext/speex/gstspeexenc.[ch]: Revert the includes changes. 2004-09-30 Iain * sys/sunaudio/gstsunaudio.c (gst_sunaudiosink_open): Use the device found during init or set as a property instead of hardcoding /dev/audio 2004-10-04 Ronald S. Bultje * gst/realmedia/rmdemux.c: (gst_rmdemux_class_init), (gst_rmdemux_init), (gst_rmdemux_handle_sink_event), (gst_rmdemux_loop), (gst_rmdemux_add_stream), (re_hexdump_bytes), (re_dump_pascal_string), (gst_rmdemux_dump__rmf), (gst_rmdemux_dump_prop), (gst_rmdemux_parse_mdpr), (gst_rmdemux_dump_mdpr), (gst_rmdemux_dump_indx), (gst_rmdemux_dump_data): Use debug category, fix EOS handling. filesrc ! rmdemux now works. 2004-10-04 Ronald S. Bultje * gst/avi/gstavidemux.c: (gst_avi_demux_stream_index), (gst_avi_demux_stream_scan), (sort), (gst_avi_demux_massage_index), (gst_avi_demux_stream_header), (gst_avi_demux_stream_data): Improve allocation, cutting and sorting of the index. How takes a few seconds instead of minutes. 2004-10-03 Christophe Fergeau * gst/realmedia/rmdemux.c: (gst_rmdemux_parse_mdpr): fixed compilation 2004-10-02 Ronald S. Bultje * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps_with_data), (gst_riff_create_video_template_caps): Add wing commander format mimetype/fourccs. * gst/avi/gstavidemux.c: (gst_avi_demux_massage_index): Don't crash if some value is 0. 2004-10-02 Ronald S. Bultje * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps_with_data), (gst_riff_create_video_template_caps): Add DIB fourcc (raw, palettized 8-bit RGB). * gst-libs/gst/riff/riff-read.c: (gst_riff_read_strf_vids_with_data): Oops, fix strf_data reading bug. * gst/avi/gstavidemux.c: (gst_avi_demux_add_stream): Use a non-NULL tag. * gst/qtdemux/qtdemux.c: (qtdemux_parse_trak): Time for hacks. Sorry Dave. At least one quicktime movie (a trailer) that I've encountered contains multiple video tracks. One of those is the actual video track, the other are one-frame tracks (images). Unfortunately, the number of frames according to the trak header is 1 for each, so that doesn't help. So instead, I look at the duration and discard tracks with a duration shorter than 20% of the length of the stream. Better than nothing. 2004-10-01 Christian Schaller * ext/ivorbis/vorbis.c: Patch from Phil Blundell (Bug 152341) 2004-10-01 Wim Taymans * ext/speex/gstspeexdec.c: (gst_speex_dec_class_init), (speex_dec_get_formats), (speex_dec_convert), (speex_dec_src_query), (speex_dec_src_event), (speex_dec_event), (speex_dec_chain), (gst_speexdec_get_property), (gst_speexdec_set_property): Small cleanups. 2004-10-01 Wim Taymans * gst/wavparse/gstwavparse.c: (gst_wavparse_class_init), (gst_wavparse_stream_init), (gst_wavparse_fmt), (gst_wavparse_other), (gst_wavparse_loop), (gst_wavparse_pad_convert), (gst_wavparse_pad_query), (gst_wavparse_srcpad_event): * gst/wavparse/gstwavparse.h: Added some more debugging info. Fix the case where the length of the file is 0. Make sure we seek to sample borders. 2004-10-01 Wim Taymans * gst/playback/README: * gst/playback/gstdecodebin.c: (gst_decode_bin_factory_filter), (gst_decode_bin_init), (find_compatibles), (close_pad_link), (try_to_link_1), (no_more_pads), (close_link), (type_found): Add some debug info to decodebin, update README 2004-10-01 Ronald S. Bultje * ext/dvdnav/dvdnavsrc.c: (dvdnav_handle_navigation_event): Don't use g_print(); use GST_DEBUG(). 2004-10-01 Ronald S. Bultje * ext/ogg/gstoggmux.c: (gst_ogg_mux_next_buffer), (gst_ogg_mux_queue_pads): Handle EOS properly. 2004-10-01 Sebastien Cote Reviewed by: Ronald S. Bultje * ext/faad/gstfaad.c: (gst_faad_init), (gst_faad_sinkconnect), (gst_faad_chain), (gst_faad_change_state): * ext/faad/gstfaad.h: Allow playback of raw (unframed) MPEG AAC files (#148993). 2004-10-01 Sebastien Cote Reviewed by: Ronald S. Bultje * gst/wavparse/gstwavparse.c: (gst_wavparse_fmt): Throw error if we didn't recognize the stream. Fixes #152289. 2004-10-01 Ronald S. Bultje * gst/videoscale/gstvideoscale.c: (gst_videoscale_link): Fix negotiation. 2004-10-01 Francis Labonte Reviewed by: Ronald S. Bultje * gst/wavparse/gstwavparse.c: (gst_wavparse_fmt): Fix memleak. 2004-10-01 Balamurali Viswanathan Reviewed by: Ronald S. Bultje * sys/sunaudio/gstsunaudio.c: (gst_sunaudiosink_setparams): Solve #152805. * sys/sunaudio/gstsunmixer.c: (gst_sunaudiomixer_set_mute): Solve 152806. 2004-10-01 Ronald S. Bultje * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps_with_data), (gst_riff_create_audio_caps_with_data): Add codec_data handling (like asfdemux used to do). * gst/asfdemux/gstasf.c: (plugin_init): * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_base_init), (gst_asf_demux_add_audio_stream), (gst_asf_demux_add_video_stream): Use riff-media for caps creation instead of our own (mostly broken) copy of its functions. 2004-10-01 Ronald S. Bultje * sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_try_capture): Don't actually error out if we get another return value than -EINVAL. Opposite to what I first thought, drivers have random return values for this, although -EINVAL is the expected return value. Since this is not fatal, we shouldn't use GST_ELEMENT_ERROR() but just GST_ERROR_OBJECT(). 2004-10-01 Ronald S. Bultje * ext/dvdread/dvdreadsrc.c: (dvdreadsrc_class_init), (dvdreadsrc_init), (dvdreadsrc_dispose), (dvdreadsrc_set_property), (dvdreadsrc_get_property), (_open), (_seek), (_read), (dvdreadsrc_get), (dvdreadsrc_open_file), (dvdreadsrc_change_state): Fix. Don't do one big huge loop around the whole DVD, that will cache all data and thus eat sizeof(dvd) (several GB) before we see something. * gst-libs/gst/riff/riff-read.c: (gst_riff_read_seek): Actually NULL'ify event after using it. * gst/matroska/ebml-read.c: (gst_ebml_read_use_event), (gst_ebml_read_handle_event), (gst_ebml_read_element_id), (gst_ebml_read_element_length), (gst_ebml_read_element_data), (gst_ebml_read_seek), (gst_ebml_read_skip): Handle events. * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_base_init), (gst_dvd_demux_init), (gst_dvd_demux_get_audio_stream), (gst_dvd_demux_get_subpicture_stream), (gst_dvd_demux_plugin_init): Fix timing (this will probably break if I seek using menus, but I didn't get there yet). VOBs and normal DVDs should now work. Add a mpeg2-only pad with high rank so this get autoplugged for MPEG-2 movies. * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_base_init), (gst_mpeg_demux_class_init), (gst_mpeg_demux_init), (gst_mpeg_demux_new_output_pad), (gst_mpeg_demux_get_video_stream), (gst_mpeg_demux_get_audio_stream), (gst_mpeg_demux_get_private_stream), (gst_mpeg_demux_parse_packet), (gst_mpeg_demux_parse_pes), (gst_mpeg_demux_plugin_init): Use this as second rank for MPEG-1 and MPEG-2. Still use this for MPEG-1 but use dvddemux for MPEG-2. * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_class_init), (gst_mpeg_parse_init), (gst_mpeg_parse_new_pad), (gst_mpeg_parse_parse_packhead): Timing. Only add pad template if it exists. Add sink template from class and not from ourselves. This means we will always use the correct sink template even if it is not the one defined in this file. 2004-09-29 Wim Taymans * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_parse_packet), (gst_mpeg_demux_parse_pes): * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_parse_packhead): Fix playback of mpeg again, timestamps where screwed up by patch 1.61. 2004-09-29 Ronald S. Bultje * ext/flac/gstflacdec.c: (gst_flacdec_src_query): Only return true if we actually filled something in. Prevents player applications from showing a random length for flac files. * gst-libs/gst/riff/riff-read.c: (gst_riff_read_class_init), (gst_riff_read_use_event), (gst_riff_read_handle_event), (gst_riff_read_seek), (gst_riff_read_skip), (gst_riff_read_strh), (gst_riff_read_strf_vids_with_data), (gst_riff_read_strf_auds_with_data), (gst_riff_read_strf_iavs): OK, ok, so I implemented event handling. Apparently it's normal that we receive random events at random points without asking for it. * gst/avi/gstavidemux.c: (gst_avi_demux_reset), (gst_avi_demux_src_convert), (gst_avi_demux_handle_src_query), (gst_avi_demux_handle_src_event), (gst_avi_demux_stream_index), (gst_avi_demux_sync), (gst_avi_demux_stream_scan), (gst_avi_demux_massage_index), (gst_avi_demux_stream_header), (gst_avi_demux_handle_seek), (gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data), (gst_avi_demux_loop): * gst/avi/gstavidemux.h: Implement non-lineair chunk handling and subchunk processing. The first solves playback of AVI files where the audio and video data of individual buffers that we read are not synchronized. This should not happen according to the wonderful AVI specs, but of course it does happen in reality. It is also a prerequisite for the second. Subchunk processing allows us to cut chunks in small pieces and process each of these pieces separately. This is required because I've seen several AVI files with incredibly large audio chunks, even some files with only one audio chunk for the whole file. This allows for proper playback including seeking. This patch is supposed to fix all AVI A/V sync issues. * gst/flx/gstflxdec.c: (gst_flxdec_class_init), (flx_decode_chunks), (flx_decode_color), (gst_flxdec_loop): Work. * gst/modplug/gstmodplug.cc: Proper return value setting for the query() function. * gst/playback/gstplaybasebin.c: (setup_source): Being in non-playing state (after, e.g., EOS) is not necessarily a bad thing. Allow for that. This fixes playback of short files. They don't actually playback fully now, because the clock already runs. This means that small files (<500kB) with a small length (<2sec) will still not or barely play. Other files, such as mod or flx, will work correctly, however. 2004-09-28 Wim Taymans * ext/speex/gstspeex.c: (plugin_init): * ext/speex/gstspeexdec.c: (gst_speex_dec_base_init), (gst_speex_dec_class_init), (speex_dec_get_formats), (speex_get_event_masks), (speex_get_query_types), (gst_speex_dec_init), (speex_dec_convert), (speex_dec_src_query), (speex_dec_src_event), (speex_dec_event), (speex_dec_chain), (gst_speexdec_get_property), (gst_speexdec_set_property), (speex_dec_change_state): * ext/speex/gstspeexdec.h: * ext/speex/gstspeexenc.c: (gst_speexenc_get_formats), (gst_speexenc_get_type), (speex_caps_factory), (raw_caps_factory), (gst_speexenc_base_init), (gst_speexenc_class_init), (gst_speexenc_sinkconnect), (gst_speexenc_convert_src), (gst_speexenc_convert_sink), (gst_speexenc_get_query_types), (gst_speexenc_src_query), (gst_speexenc_init), (gst_speexenc_get_tag_value), (comment_init), (comment_add), (gst_speexenc_metadata_set1), (gst_speexenc_set_metadata), (gst_speexenc_setup), (gst_speexenc_buffer_from_data), (gst_speexenc_push_buffer), (gst_speexenc_set_header_on_caps), (gst_speexenc_chain), (gst_speexenc_get_property), (gst_speexenc_set_property), (gst_speexenc_change_state): * ext/speex/gstspeexenc.h: Rewrote speex encoder, make sure it can be embedded in ogg. Implemented speex decoder. 2004-09-28 Christian Schaller * configure.ac: Remove kioslave plugin. Markey is brewing a new working one * ext/Makefile.am: Remove kioslave plugin * ext/kio: remove * gst-plugins.spec.in: remove kio plugin from spec 2004-09-27 Wim Taymans * gst/tcp/gstmultifdsink.c: (gst_multifdsink_add), (gst_multifdsink_remove), (gst_multifdsink_remove_client_link), (is_sync_frame), (gst_multifdsink_client_queue_buffer), (gst_multifdsink_new_client), (gst_multifdsink_handle_client_write), (gst_multifdsink_recover_client), (gst_multifdsink_queue_buffer), (gst_multifdsink_handle_clients): * gst/tcp/gstmultifdsink.h: Make syncing to keyframes actually work for new clients and lagging clients. 2004-09-26 Benjamin Otte * gst/debug/gstnavigationtest.c: (gst_navigationtest_class_init), (gst_navigationtest_handle_src_event), (draw_box_planar411), (gst_navigationtest_planar411), (gst_navigationtest_change_state): * gst/debug/gstnavigationtest.h: make navigationtest display button-press and button-release events 2004-09-26 Iain * gst/interleave/interleave.c (all_channels_new_media): Checks if all the channels have received a new media event. (interleave_buffered_loop): Compresses a new media event on all channels into one. 2004-09-26 Iain * gst/wavenc/gstwavenc.c (gst_wavenc_chain): Company says we need to call the sinkpad's default event handler and not the srcpads. He also says this is confusing :) (gst_wavenc_stop_file): Company says that seek events only go upstream we should send a discontinuous downstream instead. 2004-09-25 Christian Schaller * Update SPEC file to be usable in conjunction with Fedora Core, Fedora.us and freshrpms packages * Fix typo in multifilesrc test Makefile 2004-09-24 Wim Taymans * gst/playback/gstplaybasebin.c: (new_decoded_pad): Only signal the no_more_pads signal when we have added the stream to our list. 2004-09-24 Wim Taymans * gst/playback/gstplaybasebin.c: (remove_prerolls), (new_decoded_pad): * gst/playback/gstplaybasebin.h: * gst/playback/gstplaybin.c: (setup_sinks): Don't try to preroll or decode more than one audio/video track. 2004-09-24 Ronald S. Bultje * gst/playback/gstplaybasebin.c: (gst_play_base_bin_change_state): Throw error if we failed to find a suitable output. This should throw an error if we successfully set up a pipeline (e.g. because we recognized a media file) but found no decodable streams in it (e.g. because it contains only media stream types for which we have no decoders, or because it's not a media type). 2004-09-23 Ronald S. Bultje * ext/dirac/Makefile.am: * ext/dirac/gstdirac.cc: * ext/dirac/gstdiracdec.cc: * ext/dirac/gstdiracdec.h: Do something. Don't actually know if this works because I don't have a demuxer yet. * ext/gsm/gstgsmdec.c: (gst_gsmdec_getcaps): Add channels=1 to caps returned from _getcaps(). * ext/ogg/gstogmparse.c: (gst_ogm_audio_parse_get_type), (gst_ogm_video_parse_get_type), (gst_ogm_audio_parse_base_init), (gst_ogm_video_parse_base_init), (gst_ogm_parse_init), (gst_ogm_audio_parse_init), (gst_ogm_video_parse_init), (gst_ogm_parse_sink_convert), (gst_ogm_parse_chain), (gst_ogm_parse_change_state): Separate between audio/video so ogmaudioparse actually uses the audio pad templates. Both audio and video work now, including autoplugging. Also use sometimes-srcpad hack. * gst-libs/gst/riff/riff-read.c: (gst_riff_read_seek): Handle events better. Don't hang on infinite loops. * gst/avi/gstavidemux.c: (gst_avi_demux_class_init), (gst_avi_demux_init), (gst_avi_demux_reset), (gst_avi_demux_src_convert), (gst_avi_demux_handle_src_query), (gst_avi_demux_stream_header), (gst_avi_demux_stream_data), (gst_avi_demux_change_state): * gst/avi/gstavidemux.h: Improve A/V sync. Still not perfect. * gst/matroska/ebml-read.c: (gst_ebml_read_seek), (gst_ebml_read_skip): Handle events better. * gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_sink_event), (gst_qtdemux_loop_header), (qtdemux_parse_trak), (qtdemux_audio_caps): Add IMA4. Improve event handling. Save offset after a seek when the headers are at the end of the file so that we don't end up in an infinite loop. * gst/typefind/gsttypefindfunctions.c: (qt_type_find): Add low-priority typefind support for files with no length. 2004-09-23 Zaheer Abbas Merali * testsuite/multifilesink/Makefile.am: fix typo 2004-09-22 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_ximage_destroy): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls): Fix mistakes from thaytan's patches. 2004-09-23 Jan Schmidt * sys/ximage/ximagesink.c: (gst_ximagesink_ximage_destroy): For completeness, XSync in the destroy function as xvimage does. 2004-09-23 Jan Schmidt * ext/gdk_pixbuf/pixbufscale.c: (gst_pixbufscale_getcaps): Correct caps negotiation * gst/volume/gstvolume.c: (volume_chain_float), (volume_chain_int16): Modify debug output to be little more informative * sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_destroy): Add XSync calls after detaching from the shared memory segment to avoid a crash. 2004-09-22 Zaheer Abbas Merali * ext/ogg/gstoggmux.c: (gst_ogg_mux_init), (gst_ogg_mux_next_buffer), (gst_ogg_mux_loop): * ext/vorbis/vorbis.c: (plugin_init): * ext/vorbis/vorbisenc.c: (gst_vorbisenc_init), (gst_vorbisenc_chain): * ext/vorbis/vorbisenc.h: remove explicit newmedia support from oggmux and vorbisenc add debug category to vorbisenc * gst/multifilesink/gstmultifilesink.c: (gst_multifilesink_class_init), (gst_multifilesink_init), (gst_multifilesink_dispose), (gst_multifilesink_set_location), (gst_multifilesink_set_property), (gst_multifilesink_next_file), (gst_multifilesink_handle_event), (gst_multifilesink_chain), (plugin_init): * gst/multifilesink/gstmultifilesink.h: add support for streamheader in multifilesink 2004-09-22 Ronald S. Bultje * gst/asfdemux/gstasfdemux.c: (_read_var_length), (_read_guid), (gst_asf_demux_process_segment), (gst_asf_demux_handle_data), (gst_asf_demux_process_chunk), (gst_asf_demux_handle_sink_event): Prevent infinite loops. More correct error reporting. * gst/auparse/gstauparse.c: (gst_auparse_chain): Error out if negotiation fails. * gst/playback/gstplaybasebin.c: (setup_source), (gst_play_base_bin_change_state), (gst_play_base_bin_error), (gst_play_base_bin_found_tag): Error/tag forwarding. Pre-roll fixes for source errors on state changes (e.g. "file does not exist") to prevent hangs. 2004-09-21 Zaheer Abbas Merali * testsuite/multifilesink/Makefile.am: * testsuite/multifilesink/lame_test.c: (gst_newmedia_base_init), (gst_newmedia_class_init), (gst_newmedia_init), (gst_newmedia_chain), (gst_newmedia_trigger), (test_format), (newfile_signal), (test_signal), (main): * testsuite/multifilesink/multifilesrc_test.c: (main): * testsuite/multifilesink/oggtheora_test.c: (gst_newmedia_base_init), (gst_newmedia_class_init), (gst_newmedia_init), (gst_newmedia_chain), (gst_newmedia_trigger), (test_format), (newfile_signal), (test_signal), (main): * testsuite/multifilesink/oggvorbis_test.c: (gst_newmedia_base_init), (gst_newmedia_class_init), (gst_newmedia_init), (gst_newmedia_chain), (gst_newmedia_trigger), (test_format), (newfile_signal), (test_signal), (main): * testsuite/multifilesink/wavenc_test.c: (gst_newmedia_base_init), (gst_newmedia_class_init), (gst_newmedia_init), (gst_newmedia_chain), (gst_newmedia_trigger), (test_format), (newfile_signal), (test_signal), (main): New media tests 2004-09-20 Christian Schaller * Fix mikmod license to LGPL as they have relicensed * Move Dirac and Effectv into LGPL section of README_license 2004-09-20 Ronald S. Bultje * ext/mad/gstmad.c: (gst_mad_check_caps_reset), (gst_mad_change_state): Allow for mp3 rate/channels changes. However, only very conservatively. Reason that we *have* to enable this is smiply because the mad find_sync() function is not good enough, it will regularly sync on random data as valid frames and therefore make us provide random caps as *final* caps of the stream. The best fix I could think of is to simply require several of the same stream changes in a row before we change caps. The actual testcase that works now is # * ext/ogg/Makefile.am: * ext/ogg/gstogg.c: (plugin_init): * ext/ogg/gstogmparse.c: OGM support (video only for now; I need an audio sample file). * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_base_init), (gst_asf_demux_process_stream), (gst_asf_demux_video_caps), (gst_asf_demux_add_video_stream): WMV extradata. * gst/playback/gstplaybasebin.c: (unknown_type): Don't error out on single unknown-types after all. It's wrong. If we found type of video and audio but not of a subtitle stream, it will still error out (which is unwanted). Will find a better fix later on. * gst/typefind/gsttypefindfunctions.c: (ogmvideo_type_find), (ogmaudio_type_find), (plugin_init): OGM support. 2004-09-20 Johan Dahlin * ext/jpeg/gstjpegdec.c (gst_jpegdec_chain): Allocate the buffer after setting caps. 2004-09-19 Zaheer Abbas Merali * gst/wavenc/gstwavenc.c: (gst_wavenc_init), (gst_wavenc_chain): * gst/wavenc/gstwavenc.h: Added newmedia support to wavenc 2004-09-17 Wim Taymans * gst/tcp/gstfdset.c: (gst_fdset_fd_has_closed), (gst_fdset_fd_has_error), (gst_fdset_fd_can_read), (gst_fdset_fd_can_write), (gst_fdset_wait): * gst/tcp/gstmultifdsink.c: (gst_client_status_get_type), (gst_multifdsink_init), (gst_multifdsink_add), (gst_multifdsink_remove), (gst_multifdsink_get_stats), (gst_multifdsink_remove_client_link), (gst_multifdsink_client_queue_buffer), (gst_multifdsink_handle_client_write), (gst_multifdsink_recover_client), (gst_multifdsink_handle_clients), (gst_multifdsink_close), (gst_multifdsink_change_state): * gst/tcp/gstmultifdsink.h: * gst/tcp/gsttcpserversink.c: (gst_tcpserversink_class_init), (gst_tcpserversink_removed): Small cleanups in fdset.c Use a hastable to map fd to the client structure for faster lookup in _remove and get_stats. Added virtual function to close the fds. Handle clients even when the select/poll call was unblocked because of a command. Implement syncing to keyframe in the recovery procedure. 2004-09-16 Iain * gst/audioconvert/gstaudioconvert.c (_fixate_caps_to_int): Free the try caps. 2004-09-15 Ronald S. Bultje * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_get_audio_stream): Caps are only set if the type of the stream is unknown, but this is initialized in ->init_stream(), so set to UNKNOWN after calling ->init_stream() so that capsnego starts. 2004-09-15 Ronald S. Bultje * gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query), (gst_avi_demux_stream_data): Just hardcode for raw audio then. AVI audio sucks. 2004-09-15 Arwed v. Merkatz * gst/matroska/matroska-demux.c: (gst_matroska_demux_audio_caps): * gst/matroska/matroska-mux.c: (audiosink_templ), (gst_matroska_mux_audio_pad_link): * gst/typefind/gsttypefindfunctions.c: (tta_caps), (plugin_init): Use audio/x-ttafile for tta files and audio/x-tta for raw tta frames. 2004-09-15 Ronald S. Bultje * gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query), (gst_avi_demux_stream_data): Try to fix a/v sync issues. 2004-09-15 David Schleef * configure.ac: remove NASM check, since we don't use it. Update dirac check to 0.4 * ext/dirac/gstdiracdec.cc: update to current 0.4 API * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link): Initialized variables. * gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state), (gst_qtdemux_loop_header), (qtdemux_parse), (qtdemux_parse_trak), (gst_qtdemux_handle_esds), (qtdemux_audio_caps): Fix seeking, add SVQ3 format 2004-09-15 Ronald S. Bultje * gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query), (gst_avi_demux_add_stream), (gst_avi_demux_stream_data): * gst/avi/gstavidemux.h: Fix for compressed audio (mp3) timestamp generation. How did this ever work? 2004-09-15 Ronald S. Bultje * gst/playback/gstplaybin.c: (gst_play_bin_get_property): Volume is a double not a float. 2004-09-15 Wim Taymans * gst/tcp/gstmultifdsink.c: (gst_multifdsink_remove_client_link), (gst_multifdsink_handle_clients), (gst_multifdsink_change_state): Don't close the fd in multifdsink as we didn't open it in the first place. Some cleanups. 2004-09-15 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_push): * ext/ogg/gstoggmux.c: (gst_ogg_mux_next_buffer), (gst_ogg_mux_send_headers), (gst_ogg_mux_loop): Fix the case where the muxer would mark pages as delta frames when they are not (vorbis only ogg). 2004-09-15 Ronald S. Bultje * gst/playback/gstplaybasebin.c: (state_change), (setup_source), (gst_play_base_bin_change_state): Handle the case where we failed to setup a clear pipeline. This will throw an error (or EOS, another nice case) and if you don't catch that, the app will wait for the signal forever (and thus hang). 2004-09-15 Ronald S. Bultje * ext/gnomevfs/gstgnomevfssink.c: (gst_gnomevfssink_uri_get_protocols): * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_uri_get_protocols): * ext/gnomevfs/gstgnomevfsuri.c: (gst_gnomevfs_get_supported_uris): * ext/gnomevfs/gstgnomevfsuri.h: Use _uri_new() instead of _open(), so it doesn't take as long and Christophe's computer won't hang. * gst/playback/gstplaybasebin.c: (unknown_type): Throw error on unknown media type, so apps actually display it. 2004-09-14 Brian Cameron * gst/playback/gstplaybasebin.c: (queue_overrun), (no_more_pads), (setup_source), (gst_play_base_bin_set_property), (gst_play_base_bin_add_element): * gst/playback/gstplaybin.c: (gst_play_bin_send_event): Some more work on making sure seeking pauses the pipeline and that changing the uri actually does something. 2004-09-17 Wim Taymans * gst/tcp/gstfdset.c: (gst_fdset_wait): * gst/tcp/gstmultifdsink.c: (gst_multifdsink_close): * gst/tcp/gsttcpserversink.c: (gst_tcpserversink_init_send), (gst_tcpserversink_close): Be a bit more paranoid when freeing memory. 2004-09-13 Ronald S. Bultje * gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream), (qtdemux_parse_trak): Don't crash by dividing by zero (see sample movie in #126922). 2004-09-13 Ronald S. Bultje * gst/qtdemux/qtdemux.c: (qtdemux_audio_caps): Don't touch non-existing data (fixes crash on file in #140147). 2004-09-13 Ronald S. Bultje * gst/playback/gstplaybasebin.c: (gst_play_base_bin_dispose), (gst_play_base_bin_set_property): Handle double disposals, and proper change of URIs. 2004-09-13 Martin Eikermann * gst/mpegstream/gstmpegparse.c: fix synchronistation for streams recorded from digital PCR fixes bug #119376 2004-09-13 Ronald S. Bultje * ext/gnomevfs/Makefile.am: * ext/gnomevfs/gstgnomevfs.c: (plugin_init): * ext/gnomevfs/gstgnomevfssink.c: (gst_gnomevfssink_get_type), (gst_gnomevfssink_dispose), (gst_gnomevfssink_init), (gst_gnomevfssink_uri_get_type), (gst_gnomevfssink_uri_get_protocols), (gst_gnomevfssink_uri_get_uri), (gst_gnomevfssink_uri_set_uri), (gst_gnomevfssink_uri_handler_init), (gst_gnomevfssink_set_property), (gst_gnomevfssink_get_property), (gst_gnomevfssink_open_file), (gst_gnomevfssink_close_file): * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_get_type), (gst_gnomevfssrc_init), (gst_gnomevfssrc_dispose), (gst_gnomevfssrc_uri_get_type), (gst_gnomevfssrc_uri_get_protocols), (gst_gnomevfssrc_uri_get_uri), (gst_gnomevfssrc_uri_set_uri), (gst_gnomevfssrc_uri_handler_init), (gst_gnomevfssrc_set_property), (gst_gnomevfssrc_get_property), (gst_gnomevfssrc_open_file), (gst_gnomevfssrc_close_file): * ext/gnomevfs/gstgnomevfsuri.c: (gst_gnomevfs_get_supported_uris): * ext/gnomevfs/gstgnomevfsuri.h: Add URI support to Gnome-VFS plugins. Tries to load a fixed list of fake URIs to see which this version of Gnome-VFS likes, and uses that for the Gst-URI interface. Makes playbin support http:// streams. Also fix up some stupid behaviour in gnomevfssrc. 2004-09-13 Ronald S. Bultje * ext/alsa/gstalsamixer.c: (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): Update mixer (to sync with other sessions) if we try to obtain a new value. This makes alsamixer work accross applications. * ext/alsa/gstalsasink.c: (gst_alsa_sink_get_time): Only call sync functions if we're running, else alsalib asserts. * ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_query): Sometimes fails to compile. Possibly a gcc bug. * gst/playback/gstplaybin.c: (gen_video_element), (gen_audio_element): Add a reference to an application-provided object, because we lose this same reference if we add it to the bin. If we don't do this, we can only use this object once and thus crash if we go from ready to playing, back to ready and back to playing again. Also add an audioscale element because several cheap soundcards - like mine - don't support all samplerates. * sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get), (gst_ximagesink_xcontext_clear), (gst_ximagesink_change_state): Fix wrong order or PAR calls. Makes automatically obtained PAR from the X server atually being used. 2004-09-12 David Schleef Fixes: #151879, #151881, #151882, #151883, #151884, #151886, #151887, #152102, #152247. * examples/indexing/indexmpeg.c: 64-bit warning fixes. * examples/seeking/cdparanoia.c: same * examples/seeking/cdplayer.c: same * examples/seeking/seek.c: same * examples/seeking/spider_seek.c: same * examples/seeking/vorbisfile.c: same * examples/stats/mp2ogg.c: same * ext/esd/esdsink.c: (gst_esdsink_class_init), (gst_esdsink_dispose): Dispose of element properly. * ext/ivorbis/vorbisfile.c: (gst_ivorbisfile_seek): 64-bit warning fixes. * ext/nas/nassink.c: (gst_nassink_class_init), (gst_nassink_dispose): Dispose of element correctly. * gst/wavenc/gstwavenc.c: (gst_wavenc_chain): Fix leak. * sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls), (gst_ximagesink_ximage_new), (gst_ximagesink_ximage_destroy): Fix 64-bit warning. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_new), (gst_xvimagesink_xvimage_destroy): Fix 64-bit warning. 2004-09-12 Stephane Loeuillet * configure.ac : change speex detection as 1.1.6 now uses .pc/pkg-config and they changed their headers location. 2004-09-09 Arwed v. Merkatz * gst/matroska/matroska-mux.h: * gst/matroska/matroska-mux.c: (gst_matroska_mux_reset), (gst_matroska_mux_start), (gst_matroska_mux_finish), (gst_matroska_mux_write_data): Write multiple blocks/frames per cluster. Write meta-seek information (seek heads). 2004-09-09 Scott Wheeler * gst/gstplaybin.c: (gst_play_bin_class_init), (gst_play_bin_init), (gst_play_bin_set_property), (gst_play_bin_get_property), (gen_audio_element), (gen_audio_element): Add a volume element / property to the pipeline. 2004-09-07 Wim Taymans * gst/videomixer/videomixer.c: (gst_videomixer_blend_buffers): Copy timestamps from the master pad to the output buffers. 2004-09-03 Thomas Vander Stichele * ext/raw1394/gstdv1394src.c: throw errors when applicable 2004-09-01 Arwed v. Merkatz * gst/matroska/ebml-ids.h: * gst/matroska/ebml-read.c: (gst_ebml_read_date): * gst/matroska/ebml-write.c: (gst_ebml_write_date): * gst/matroska/matroska-mux.c: (gst_matroska_mux_finish): automatically convert unix time <-> ebml time when reading/writing a date, use gst_ebml_write_uint to write CUETIME, not gst_ebml_write_date. * gst/matroska/matroska-ids.h: * gst/matroska/matroska-mux.c: (gst_matroska_mux_create_uid), (gst_matroska_mux_reset), (gst_matroska_mux_audio_pad_link), (gst_matroska_mux_track_header), (gst_matroska_mux_start), (gst_matroska_mux_write_data): Write track and segment UIDs, write muxing date, write TRACKDEFAULTDURATION for TTA audio, write BLOCKDURATION if known. Create cues for audio only files. 2004-08-31 Ronald S. Bultje * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_build_list): * ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_new): Re-commit ALSA switches. * gst/adder/gstadder.c: (gst_adder_loop): 64-bit fix (#151416). * gst/debug/progressreport.c: (gst_progressreport_report): 64-bit fix (#151419). * gst/matroska/matroska-demux.c: (gst_matroska_demux_parse_contents): 64-bit fix (#151420). * gst/playback/test3.c: (update_scale): 64-bit fix (#151421). 2004-08-31 Thomas Vander Stichele * configure.ac: bump nano to cvs === release 0.8.4 === 2004-08-02 Thomas Vander Stichele * configure.ac: releasing 0.8.4, "Alias" 2004-08-31 Thomas Vander Stichele * ext/theora/Makefile.am: fix makefile. Fixes #151462. 2004-08-30 Wim Taymans * gst/tcp/gstfdset.c: (gst_fdset_free), (gst_fdset_wait): * gst/tcp/gstmultifdsink.c: (gst_multifdsink_add), (gst_multifdsink_remove_client_link), (gst_multifdsink_client_queue_buffer), (gst_multifdsink_handle_client_write): * gst/tcp/gsttcpclientsink.c: (gst_tcpclientsink_init_send): * gst/tcp/gsttcpclientsrc.c: (gst_tcpclientsrc_init_receive): Fix some memory leaks. 2004-08-30 Thomas Vander Stichele Patch by: David Schleef * configure.ac: * sys/Makefile.am: rename our detection macro for V4L2. Fixes #151236. 2004-08-30 Thomas Vander Stichele Patch by: David Schleef * configure.ac: check to define LAMEPRESET. Fixes #151232. 2004-08-27 David Schleef * sys/glsink/glimagesink.c: (gst_glimagesink_ximage_put), (gst_glimagesink_xwindow_new), (gst_glimagesink_xcontext_get), (gst_glimagesink_fixate): Move local variable declarations to make gcc-2.95 happy. 2004-08-27 Thomas Vander Stichele * configure.ac: bump nano for prerelease 2004-08-27 David Schleef * sys/sunaudio/Makefile.am: Add sunaudiosrc patch from Bala * sys/sunaudio/gstsunaudiosrc.c: * sys/sunaudio/gstsunaudiosrc.h: 2004-08-27 Arwed v. Merkatz * gst/matroska/ebml-read.c: (gst_ebml_peed_id), (gst_ebml_read_element_id), handle EOS correctly * gst/matroska/matroska-mux.c: (gst_matroska_mux_video_pad_link): * gst/matroska/matroska-mux.h: added BITMAPINFOHEADER structure, mux video/x-divx and video/x-xvid in VFW compatibility mode 2004-08-27 Thomas Vander Stichele patch by: Zaheer Abbas Merali * ext/ogg/gstoggmux.c: * ext/vorbis/vorbisenc.c: * ext/vorbis/vorbisenc.h: handle NEWMEDIA 2004-08-26 Arwed v. Merkatz * gst/matroska/ebml-write.c: (gst_ebml_write_float), fix byte order reversion on little endian machines. * gst/matroska/matroska-mux.c: (audiosink_templ), (gst_matroska_mux_audio_pad_link): add TTA codec to the list of supported codecs. * gst/matroska/matroska-mux.c: (gst_matroska_mux_init), (gst_matroska_mux_start), (gst_matroska_mux_finish), (gst_matroska_mux_write_data): * gst/matroska/matroska-mux.h: write segment duration correctly, write muxing app string, fixes bugs #140897 and #140898. * gst/matroska/matroska-mux.c: (gst_matroska_mux_loop), wait for all pads to be negotiated before starting to mux. 2004-08-26 Zaheer Abbas Merali * ext/lame/gstlame.c: (gst_lame_init), (gst_lame_chain): * ext/lame/gstlame.h: Added new media support to lame 2004-08-25 Arwed v. Merkatz * gst/matroska/matroska-demux.c: (gst_matroska_demux_parse_blockgroup), send vorbis headers at the beginning of a stream, fixes bug #141554. Interpret BLOCKDURATION and set buffer duration accordingly, fixes bug #148950. * gst/matroska/matroska-demux.c: (gst_matroska_demux_audio_caps), (gst_matroska_demux_plugin_init): * gst/matroska/matroska-ids.h: enable demuxing of TTA audio streams, fixes bug #148951. * gst/typefind/gsttypefindfunctions.c: (tta_type_find), (plugin_init), enable typefinding for TTA audio files, fixes bug #148711. * ext/xvid/gstxviddec.c: (gst_xviddec_chain), set XVID_LOWDELAY flag for decoding so xvid always returns an image, fixes playback of packed bitstream and xvid with bframes, bug #135407. 2004-08-24 Sebastien Cote * gst-libs/gst/riff/riff-read.c: (gst_riff_peek_head), (gst_riff_read_element_data), (gst_riff_read_seek), (gst_riff_read_skip): fix infinite loop in wavparse, fixes bug #144616, patch reviewed by Ronald and committed by Christophe Fergeau 2004-08-23 Iain * ext/mad/gstid3tag.c (gst_mad_id3_to_tag_list): Special case COMM tags. They appear to be handled differently to normal. (tag_list_to_id3_tag_foreach): Ditto. 2004-08-22 Wim Taymans * ext/ogg/gstoggmux.c: (gst_ogg_mux_next_buffer), (gst_ogg_mux_send_headers), (gst_ogg_mux_loop): Make sure we never send -1 granulepos. 2004-08-20 Wim Taymans * ext/ogg/gstoggmux.c: (gst_ogg_mux_next_buffer), (gst_ogg_mux_loop): I will accept bitchslappings with non sharp objects. 2004-08-20 Zaheer Abbas Merali * configure.ac: Clean up the test for lame presets 2004-08-19 Zaheer Abbas Merali * configure.ac: * ext/lame/Makefile.am: * ext/lame/gstlame.c: (gst_lame_class_init), (gst_lame_set_property), (gst_lame_get_property), (gst_lame_setup): Only enable lame presets if version of lame has presets in API 2004-08-19 Jan Schmidt * gst/udp/gstudpsrc.c: (gst_udpsrc_init), (gst_udpsrc_get): * gst/udp/gstudpsrc.h: Don't call gst_pad_push in a get function. Fixes #150449 2004-08-18 Wim Taymans * gst/tcp/gstfdset.c: (gst_fdset_free), (gst_fdset_set_mode), (gst_fdset_get_mode), (gst_fdset_add_fd), (gst_fdset_remove_fd), (gst_fdset_fd_ctl_write), (gst_fdset_fd_ctl_read), (gst_fdset_fd_has_closed), (gst_fdset_fd_has_error), (gst_fdset_fd_can_read), (gst_fdset_fd_can_write), (gst_fdset_wait): * gst/tcp/gstfdset.h: * gst/tcp/gstmultifdsink.c: (gst_multifdsink_add), (gst_multifdsink_client_queue_buffer), (gst_multifdsink_handle_client_write): * gst/tcp/gstmultifdsink.h: Some extra checks in gstfdset. Only use send() when the fd is a socket. Don't try to read from write only fds. 2004-08-18 Wim Taymans * gst/tcp/gstfdset.c: (gst_fdset_add_fd), (gst_fdset_remove_fd), (gst_fdset_fd_ctl_write), (gst_fdset_fd_ctl_read), (gst_fdset_fd_has_closed), (gst_fdset_fd_has_error), (gst_fdset_fd_can_read), (gst_fdset_fd_can_write), (gst_fdset_wait): Add more locking and bounds checking. 2004-08-18 Wim Taymans * gst/tcp/gstfdset.c: (ensure_size), (gst_fdset_wait): Realloc test fdset in the lock and right before starting the poll call. Bump the limit to 4096. 2004-08-17 David Schleef * sys/sunaudio/Makefile.am: * sys/sunaudio/gstsunaudio.c: Fix caps to handle full range of rates and channels. Make debugging less obnoxious. Patch from Balamurali Viswanathan implementing a mixer for Sun audio. (bug #144091): * sys/sunaudio/gstsunelement.c: * sys/sunaudio/gstsunelement.h: * sys/sunaudio/gstsunmixer.c: * sys/sunaudio/gstsunmixer.h: 2004-08-17 Zaheer Abbas Merali * gst/audioscale/gstaudioscale.c: * gst/audioscale/gstaudioscale.h: made audioscale resample from any sample rate to any sample rate 2004-08-17 Thomas Vander Stichele * ext/libpng/gstpngdec.c: error out on unsupported types 2004-08-17 Iain * ext/flac/gstflacenc.c (gst_flacenc_update_quality): Only set the mid_side and loose_mid_side properties if its a stereo stream. 2004-08-17 Wim Taymans * ext/theora/theoradec.c: (gst_theora_dec_class_init), (theora_get_formats), (theora_dec_src_convert), (theora_dec_sink_convert), (theora_dec_src_query), (theora_dec_src_event), (theora_dec_event), (theora_dec_chain): Add a debug line. 2004-08-17 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_demux_iterate), (gst_ogg_pad_push): * ext/ogg/gstoggmux.c: (gst_ogg_mux_init), (gst_ogg_mux_request_new_pad), (gst_ogg_mux_next_buffer), (gst_ogg_mux_buffer_from_page), (gst_ogg_mux_push_page), (gst_ogg_mux_send_headers), (gst_ogg_mux_loop): Mark delta units in the muxer. Try to decode the packet after an out-of-sync error from libogg. 2004-08-17 Wim Taymans * gst/tcp/gstmultifdsink.c: (gst_multifdsink_class_init), (gst_multifdsink_init), (gst_multifdsink_add), (gst_multifdsink_client_queue_buffer), (gst_multifdsink_set_property), (gst_multifdsink_get_property): * gst/tcp/gstmultifdsink.h: Added option to send a keyframe to clients as the first buffer. Make timeout property writable. 2004-08-17 Thomas Vander Stichele patch by: Wim Taymans * gst/tcp/gstfdset.c: * gst/tcp/gstmultifdsink.c: fix index comparison, should include 0 2004-08-16 Wim Taymans * gst/tcp/gstfdset.c: (ensure_size), (gst_fdset_new), (gst_fdset_add_fd), (gst_fdset_remove_fd), (gst_fdset_fd_has_closed), (gst_fdset_fd_has_error), (gst_fdset_fd_can_read), (gst_fdset_fd_can_write), (gst_fdset_wait): copy when reallocing for poll so the select arguments don't get changed during the call 2004-08-16 Wim Taymans * ext/theora/theoraenc.c: (gst_border_mode_get_type), (gst_theora_enc_class_init), (theora_enc_sink_link), (theora_buffer_from_packet), (theora_enc_chain): Fix bug where buffers were not marked as keyframes correctly. 2004-08-15 Zaheer Abbas Merali * ext/lame/gstlame.c: (gst_lame_vbrmode_get_type), (gst_lame_preset_get_type), (gst_lame_class_init): describe the enum values for vbr mode and presets more verbosely 2004-08-13 Zaheer Abbas Merali * ext/lame/gstlame.c: (gst_lame_mode_get_type), (gst_lame_quality_get_type), (gst_lame_padding_get_type), (gst_lame_preset_get_type), (gst_lame_class_init), (gst_lame_init), (gst_lame_set_property), (gst_lame_get_property), (gst_lame_setup): * ext/lame/gstlame.h: add preset property to lame so it can use lame presets 2004-08-13 Zaheer Abbas Merali * ext/lame/gstlame.c: (gst_lame_get_property): whoops forgot break, thanks teuf 2004-08-13 Zaheer Abbas Merali * ext/lame/gstlame.c: (gst_lame_vbrmode_get_type), (gst_lame_class_init), (gst_lame_src_getcaps), (gst_lame_sink_link), (gst_lame_init), (gst_lame_set_property), (gst_lame_get_property), (gst_lame_setup): * ext/lame/gstlame.h: fix lame's broken vbr stuff, allow it to resample if need be, and also make xing header optional 2004-08-12 Zaheer Abbas Merali * ext/lame/gstlame.c: (gst_lame_src_getcaps), (gst_lame_init): added getcaps function so samplerate doesnt get fixated to silly values 2004-08-12 Zaheer Abbas Merali * ext/lame/gstlame.c: (gst_lame_src_link): revert previous fix 2004-08-12 Johan Dahlin * sys/v4l/gstv4lelement.c (gst_v4l_iface_supported): Remove bogus checks. Doesn't matter what state we are in. Interfaces are a compile time thing, not runtime. It also broke the python bindings. 2004-08-12 Zaheer Abbas Merali * ext/lame/gstlame.c: (gst_lame_src_link): made source pad link function check if sinkpad is ok..fixes the problem where core fixates the output rate of lame stupidly 2004-08-12 Thomas Vander Stichele * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_src_link), (gst_v4lsrc_fixate): * sys/v4l/v4l_calls.c: * sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_set_capture): fix fixate function to handle nonsimple caps. remove bogus check in _link cleanups 2004-08-12 Zaheer Abbas Merali * ext/lame/gstlame.c: (gst_lame_class_init), (gst_lame_init): set default compression ratio parameter to 0.0 so bitrate parameter works :) 2004-08-11 David Schleef * gst/tcp/gstfdset.c: Fix compile problem on OS/X. 2004-08-11 David Schleef * gst/mpeg1sys/gstmpeg1systemencode.c: Oops, this was correct before. 2004-08-11 David Schleef * gst-libs/gst/video/videosink.h: Change copyright block to LGPL. 2004-08-11 David Schleef * ext/pango/gsttextoverlay.c: Add copyright block and fix plugin license field * gst-libs/gst/idct/Makefile.am: Remove mmx/sse code * gst-libs/gst/video/gstvideosink.c: Change copyright block to LGPL. * gst/auparse/gstauparse.c: Fix plugin license field. * gst/monoscope/gstmonoscope.c: Fix plugin license field. * gst/mpeg1sys/gstmpeg1systemencode.c: Fix plugin license field. * gst/rtp/gstrtp.c: Fix plugin license field. 2004-08-11 Wim Taymans * gst/tcp/Makefile.am: * gst/tcp/gstfdset.c: (gst_fdset_mode_get_type), (nearest_pow), (ensure_size), (gst_fdset_new), (gst_fdset_free), (gst_fdset_set_mode), (gst_fdset_get_mode), (gst_fdset_add_fd), (gst_fdset_remove_fd), (gst_fdset_fd_ctl_write), (gst_fdset_fd_ctl_read), (gst_fdset_fd_has_closed), (gst_fdset_fd_has_error), (gst_fdset_fd_can_read), (gst_fdset_fd_can_write), (gst_fdset_wait): * gst/tcp/gstfdset.h: * gst/tcp/gstmultifdsink.c: (gst_unit_type_get_type), (gst_multifdsink_class_init), (gst_multifdsink_init), (gst_multifdsink_add), (gst_multifdsink_remove), (gst_multifdsink_clear), (gst_multifdsink_get_stats), (gst_multifdsink_remove_client_link), (gst_multifdsink_handle_client_read), (gst_multifdsink_client_queue_data), (gst_multifdsink_client_queue_caps), (gst_multifdsink_client_queue_buffer), (gst_multifdsink_handle_client_write), (gst_multifdsink_recover_client), (gst_multifdsink_queue_buffer), (gst_multifdsink_handle_clients), (gst_multifdsink_set_property), (gst_multifdsink_get_property), (gst_multifdsink_init_send), (gst_multifdsink_close): * gst/tcp/gstmultifdsink.h: * gst/tcp/gsttcpserversink.c: (gst_tcpserversink_class_init), (gst_tcpserversink_init), (gst_tcpserversink_handle_server_read), (gst_tcpserversink_handle_wait), (gst_tcpserversink_init_send), (gst_tcpserversink_close): * gst/tcp/gsttcpserversink.h: Abstracted away the select call, implemented poll (yes we ran into the 1024 limit in production). 2004-08-11 Thomas Vander Stichele * gst/tcp/gsttcp.c: * gst/tcp/gsttcpplugin.c: improve debuggging, remove assert 2004-08-10 Wim Taymans * gst/tcp/gstmultifdsink.c: (gst_unit_type_get_type), (gst_client_status_get_type), (gst_multifdsink_class_init), (gst_multifdsink_init), (gst_multifdsink_remove_client_link), (gst_multifdsink_handle_client_read), (gst_multifdsink_handle_client_write), (gst_multifdsink_recover_client), (gst_multifdsink_queue_buffer), (gst_multifdsink_handle_clients), (gst_multifdsink_set_property), (gst_multifdsink_get_property): * gst/tcp/gstmultifdsink.h: * gst/tcp/gsttcp-marshal.list: Starting to prepare for specifying buffer time in other units than buffers. Expose remove reason in signal. 2004-08-10 Wim Taymans * gst/tcp/gstmultifdsink.c: (gst_multifdsink_add), (gst_multifdsink_remove), (gst_multifdsink_clear), (gst_multifdsink_remove_client_link), (gst_multifdsink_handle_client_read), (gst_multifdsink_client_queue_data), (gst_multifdsink_client_queue_buffer), (gst_multifdsink_handle_client_write), (gst_multifdsink_queue_buffer), (gst_multifdsink_handle_clients), (gst_multifdsink_chain), (gst_multifdsink_close): * gst/tcp/gstmultifdsink.h: Added more debugging info. Changed the way clients are removed from the lists. Fixed a bug where a bad file descriptor could cause many clients to be removed. 2004-08-06 Benjamin Otte * gst/videotestsrc/gstvideotestsrc.c: (generate_capslist): allow all pixel-aspect-ratios, not just 1:1 2004-08-09 David Schleef * sys/glsink/ARB_multitexture.h: Remove old files. * sys/glsink/EXT_paletted_texture.h: * sys/glsink/NV_register_combiners.h: * sys/glsink/gstgl_nvimage.c: * sys/glsink/gstgl_pdrimage.c: * sys/glsink/gstgl_rgbimage.c: * sys/glsink/gstglsink.c: * sys/glsink/gstglsink.h: * sys/glsink/gstglxwindow.c: * sys/glsink/regcomb_yuvrgb.c: 2004-08-09 David Schleef Patch from Gernot Ziegler rewriting the GL sink plugin. (Bug #147302) * configure.ac: Test for OpenGL * sys/Makefile.am: Use test for OpenGL * sys/glsink/Makefile.am: * sys/glsink/glimagesink.c: rewrite * sys/glsink/glimagesink.h: rewrite 2004-08-09 David Schleef * ext/sdl/sdlvideosink.c: (gst_sdlvideosink_base_init): Only allow sane framerates. * sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get): same * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support): same * testsuite/gst-lint: Test for G_GUINT64_FORMAT usage near gettext. 2004-08-09 Wim Taymans * gst/tcp/gstmultifdsink.c: (gst_multifdsink_class_init), (gst_multifdsink_add), (gst_multifdsink_get_stats), (gst_multifdsink_client_remove), (gst_multifdsink_handle_client_read), (gst_multifdsink_handle_client_write), (gst_multifdsink_queue_buffer), (gst_multifdsink_handle_clients): Do a bit more logging, make the client_read code more robust. 2004-08-09 Thomas Vander Stichele * ext/jpeg/gstjpegdec.c: (gst_jpegdec_init_source), (gst_jpegdec_fill_input_buffer), (gst_jpegdec_skip_input_data), (gst_jpegdec_resync_to_restart), (gst_jpegdec_term_source), (gst_jpegdec_init), (gst_jpegdec_chain): * gst/multipart/multipartdemux.c: (gst_multipart_demux_init), (gst_multipart_demux_chain), (gst_multipart_demux_change_state): cleanups, debugging fixes and memleak plugging 2004-08-09 Wim Taymans * ext/theora/theoradec.c: (gst_theora_dec_class_init), (theora_get_formats), (theora_dec_src_convert), (theora_dec_sink_convert), (theora_dec_src_query), (theora_dec_src_event), (theora_dec_event), (theora_dec_chain), (theora_dec_change_state): Don't crash on missing header packets. 2004-08-09 Thomas Vander Stichele * po/LINGUAS: * po/sq.po: Added Albanian translation (Laurent Dhima) * po/cs.po: updated 2004-08-09 Thomas Vander Stichele * ext/lame/gstlame.c: fix/add debugging 2004-08-09 Thomas Vander Stichele * sys/ximage/ximagesink.c: * sys/xvimage/xvimagesink.c: assign all TOO_LAZY's to a real category. Thanks to Warthy Warthog. 2004-08-06 Wim Taymans * gst/tcp/gstmultifdsink.c: (gst_multifdsink_class_init), (gst_multifdsink_add), (gst_multifdsink_get_stats), (gst_multifdsink_client_remove), (gst_multifdsink_handle_client_read), (gst_multifdsink_handle_client_write), (gst_multifdsink_queue_buffer), (gst_multifdsink_handle_clients): Make sure we don't try to read more from a client that what ioctl says us or we deadlock. 2004-08-05 Thomas Vander Stichele * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_src_link), (gst_videotestsrc_change_state), (gst_videotestsrc_src_query), (gst_videotestsrc_handle_src_event), (gst_videotestsrc_get): decouple running_time and n_frames so it can handle changing framerate while running 2004-08-05 Thomas Vander Stichele * po/nl.po: * po/sv.po: updated translations 2004-08-04 Benjamin Otte * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_get_capslist), (generate_capslist), (plugin_init): generate the list of supported caps at startup and reuse it instead of always generating it 2004-07-30 Benjamin Otte * gst/multipart/multipartmux.c: (gst_multipart_mux_pad_link): whoops, last checkin broke normal build 2004-08-03 Benjamin Otte * ext/alsa/gstalsamixer.c: (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/dvdnav/dvdnavsrc.c: (dvdnav_get_event_name), (dvdnavsrc_print_event): * ext/ogg/gstoggdemux.c: (_find_chain_process), (gst_ogg_print): * ext/ogg/gstoggmux.c: (gst_ogg_mux_pad_link), (gst_ogg_mux_pad_unlink): * gst/multipart/multipartmux.c: (gst_multipart_mux_pad_link), (gst_multipart_mux_pad_unlink): * gst/videofilter/gstvideobalance.c: (gst_videobalance_colorbalance_set_value): * gst/videomixer/videomixer.c: (gst_videomixer_pad_link), (gst_videomixer_pad_unlink): * po/uk.po: * sys/oss/gstossmixer.c: * sys/v4l/gstv4lcolorbalance.c: * sys/v4l/gstv4ltuner.c: * sys/v4l/v4lsrc_calls.c: * sys/v4l2/gstv4l2colorbalance.c: * sys/v4l2/gstv4l2tuner.c: compile fixes for --disable-gst-debug, G_DISABLE_ASSERT and friends 2004-08-03 Benjamin Otte * examples/dynparams/filter.c: (ui_control_create): * examples/gstplay/player.c: (print_tag): * ext/alsa/gstalsa.c: (gst_alsa_request_new_pad): * ext/gdk_pixbuf/gstgdkanimation.c: (gst_gdk_animation_iter_may_advance): * ext/jack/gstjack.c: (gst_jack_request_new_pad): * ext/mad/gstid3tag.c: (gst_mad_id3_to_tag_list), (tag_list_to_id3_tag_foreach), (gst_id3_tag_handle_event): * ext/vorbis/oggvorbisenc.c: (gst_oggvorbisenc_get_tag_value): * ext/vorbis/vorbisenc.c: (gst_vorbisenc_get_tag_value): * ext/xine/xineaudiodec.c: (gst_xine_audio_dec_chain): * gst-libs/gst/media-info/media-info-test.c: (print_tag): * gst/sine/demo-dparams.c: (main): * gst/tags/gstvorbistag.c: (gst_tag_to_vorbis_comments): * testsuite/alsa/formats.c: (create_pipeline): * testsuite/alsa/sinesrc.c: (sinesrc_force_caps), (sinesrc_get): fixes for G_DISABLE_ASSERT and friends * gst/typefind/gsttypefindfunctions.c: (aac_type_find), (mp3_type_frame_length_from_header), (mp3_type_find), (plugin_init): require mp3 typefinding to have at least MIN_HEADERS valid headers add typefinding for AAC adts files 2004-08-04 Jan Schmidt * sys/ximage/ximagesink.c: (gst_ximagesink_calculate_pixel_aspect_ratio): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_calculate_pixel_aspect_ratio): Make sure we calculate pixel-aspect-ratio using floating point maths 2004-08-03 Thomas Vander Stichele * po/uk.po: updated translation 2004-08-03 Thomas Vander Stichele * sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get): add debugging for display PAR calculation 2004-08-02 David Schleef * configure.ac: Fix mikmod CFLAGS. 2004-07-27 Benjamin Otte * gst/audioscale/gstaudioscale.c: - fix templates to only support S16, it's the only format that works - make caps nego code use try_set_caps_nonfixed and fixation instead of try_set_caps twice, which is not nice for autopluggers - change rank to secondary, so autopluggers can pick it up after audioconvert 2004-08-02 Iain * gst/interleave/interleave.c (interleave_init), (interleave_request_new_pad), (interleave_pad_removed), (interleave_buffered_loop): Use the real pad count, not the artificial one. 2004-08-02 Thomas Vander Stichele * configure.ac: bump nano back to development === release 0.8.3 === 2004-08-02 Thomas Vander Stichele * configure.ac: releasing 0.8.3, "Water" 2004-08-02 Thomas Vander Stichele * sys/xvimage/xvimagesink.c: (gst_xvimagesink_calculate_pixel_aspect_ratio), (gst_xvimagesink_xcontext_clear), (gst_xvimagesink_sink_link), (gst_xvimagesink_change_state), (gst_xvimagesink_buffer_alloc), (gst_xvimagesink_set_property), (gst_xvimagesink_get_property), (gst_xvimagesink_init), (gst_xvimagesink_class_init): * sys/xvimage/xvimagesink.h: apply similar PAR fixes as to ximagesink 2004-08-02 Thomas Vander Stichele patch from: Benjamin Otte * ext/lame/gstlame.c: (gst_lame_src_link), (gst_lame_init): add link function to lame. Fixes #148986. 2004-08-02 Johan Dahlin * gst/multipart/multipartmux.c (gst_multipart_mux_next_buffer): fix debugging log 2004-07-30 David Schleef * gst/videomixer/Makefile.am: Fix things that should have been fixed in the last checkin. 2004-07-30 David Schleef * gst/multipart/Makefile.am: Fix things that should have been fixed in the last checkin. 2004-07-30 David Schleef * testsuite/multifilesink/Makefile.am: Fix unused variable. 2004-07-30 Thomas Vander Stichele * configure.ac: bump nano for prerelease * po/af.po: * po/az.po: * po/cs.po: * po/en_GB.po: * po/hu.po: * po/nl.po: * po/sr.po: * po/sv.po: * po/uk.po: updates 2004-07-30 Wim Taymans * gst/tcp/gstmultifdsink.c: (gst_multifdsink_class_init), (gst_multifdsink_add), (gst_multifdsink_remove), (gst_multifdsink_clear), (gst_multifdsink_get_stats), (gst_multifdsink_client_remove), (gst_multifdsink_handle_client_write), (gst_multifdsink_queue_buffer), (gst_multifdsink_handle_clients): * gst/tcp/gstmultifdsink.h: Recover from a select with a bad file descriptor by removing the client. 2004-07-30 Thomas Vander Stichele * configure.ac: fix requirement of core * gst-libs/gst/play/play.c: (gst_play_error_plugin), (gst_play_pipeline_setup): don't use colorspace element. do use hermescolorspace element. make macro to get a colorspace element. mark strings for translation. * po/POTFILES.in: add play.c * po/af.po: * po/az.po: * po/cs.po: * po/en_GB.po: * po/hu.po: * po/nl.po: * po/sr.po: * po/sv.po: * po/uk.po: update translations 2004-07-30 Zaheer Abbas Merali * ext/libpng/gstpngenc.c: (gst_pngenc_class_init): fix default for newmedia flag 2004-07-30 Wim Taymans * ext/theora/theoradec.c: (gst_theora_dec_class_init), (gst_theora_dec_init), (theora_get_formats), (theora_dec_src_convert), (theora_dec_sink_convert), (theora_dec_src_query), (theora_dec_src_event), (theora_dec_event), (theora_dec_chain), (theora_dec_set_property), (theora_dec_get_property): * ext/theora/theoraenc.c: (gst_border_mode_get_type), (gst_theora_enc_class_init), (gst_theora_enc_init), (theora_enc_sink_link), (theora_enc_chain), (theora_enc_set_property), (theora_enc_get_property): Added cropping option to theora decoder. Added border option to theora encoder. 2004-07-30 Zaheer Abbas Merali * ext/libpng/gstpngenc.c: (gst_pngenc_class_init), (gst_pngenc_init), (gst_pngenc_chain), (gst_pngenc_get_property), (gst_pngenc_set_property): * ext/libpng/gstpngenc.h: Added newmedia support to pngenc so now gst-launch-0.8 videotestsrc ! ffmpegcolorspace ! pngenc snapshot=false newmedia=true ! multifilesink location=blah%d.png works as expected 2004-07-30 Wim Taymans * ext/theora/theoraenc.c: (gst_theora_enc_class_init), (theora_enc_sink_link), (theora_enc_chain), (theora_enc_set_property), (theora_enc_get_property): Fix encoding of non-multiple-of-16 video. 2004-07-29 David Schleef * configure.ac: make test for audiofile more strict 2004-07-25 Benjamin Otte * gst/typefind/gsttypefindfunctions.c: (plugin_init): give different names to typefind functions 2004-07-28 Thomas Vander Stichele * sys/ximage/ximagesink.c: (gst_ximagesink_renegotiate_size), (gst_ximagesink_calculate_pixel_aspect_ratio), (gst_ximagesink_xcontext_get), (gst_ximagesink_getcaps), (gst_ximagesink_sink_link), (gst_ximagesink_change_state), (gst_ximagesink_set_xwindow_id), (gst_ximagesink_set_property), (gst_ximagesink_get_property), (gst_ximagesink_init): * sys/ximage/ximagesink.h: allocate PAR's dynamically. use autodetected PAR if no object-set PAR is given. add workaround for directfb's X not setting physical size. fix to xvimagesink will follow tomorrow. 2004-07-28 Zaheer Abbas Merali * ext/lame/gstlame.c: (gst_lame_chain): send tag events downstream * ext/shout2/gstshout2.c: (gst_shout2send_protocol_get_type), (gst_shout2send_get_type), (gst_shout2send_set_clock), (gst_shout2send_class_init), (gst_shout2send_init), (set_shout_metadata), (gst_shout2send_set_metadata), (gst_shout2send_chain), (gst_shout2send_set_property), (gst_shout2send_get_property), (gst_shout2send_connect), (gst_shout2send_change_state): * ext/shout2/gstshout2.h: - fix for sending mp3 audio to icecast2 server, if pad link function not called before PAUSED state - added option to use GStreamer clock sync (as opposed to libshout's own sync) - added tagging support for mp3 audio broadcasted * gst/monoscope/gstmonoscope.c: (gst_monoscope_class_init): debug info 2004-07-28 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_query), (gst_ogg_demux_push): Return query failure when we don't know the length of an ogg stream insteda of returning TRUE with a bogus value. 2004-07-28 Wim Taymans * ext/theora/theoradec.c: (theora_get_formats), (theora_dec_src_convert), (theora_dec_sink_convert), (theora_dec_src_query), (theora_dec_src_event), (theora_dec_event), (theora_dec_chain): Don't screw up the 1 Chroma for 1 luma sample situation when we have an odd offset/width by adding a black border in those cases. 2004-07-28 Wim Taymans * ext/theora/theoradec.c: (theora_get_formats), (theora_dec_src_convert), (theora_dec_sink_convert), (theora_dec_src_query), (theora_dec_src_event), (theora_dec_event), (theora_dec_chain): * ext/theora/theoraenc.c: (theora_enc_sink_link): Added first attempt at cropping of the image as required by the theora spec. We need more properties in the caps (offset_x, offset_y,stride) to implement this correctly. 2004-07-28 Jan Schmidt * ext/dvdnav/README: Update the README to use dvddemux * ext/gdk_pixbuf/pixbufscale.c: (gst_pixbufscale_getcaps): Ensure getcaps returns a subset of the template caps * gst/mpeg2sub/gstmpeg2subt.c: (gst_mpeg2subt_base_init), (gst_mpeg2subt_init): Ensure getcaps returns a subset of the template caps * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_class_init), (gst_dvd_demux_init), (gst_dvd_demux_get_video_stream), (gst_dvd_demux_get_subpicture_stream), (gst_dvd_demux_send_subbuffer), (gst_dvd_demux_set_cur_subpicture): * gst/mpegstream/gstdvddemux.h: Set the explicit caps on the current_video pad before pushing anything * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_get_video_stream), (gst_mpeg_demux_get_audio_stream): Free caps used to gst_pad_set_explicit_caps, which takes a const GstCaps * 2004-07-28 Thomas Vander Stichele * configure.ac: update GStreamer requirement to 0.8.4 because of GstFraction. 2004-07-28 Wim Taymans * gst/wavparse/gstwavparse.c: (gst_wavparse_fmt), (gst_wavparse_handle_seek), (gst_wavparse_srcpad_event): Add the pad to the element after setting up the caps. This makes it a lot easier to autoplug. 2004-07-27 Steve Lhomme * gst/median/gstmedian.c: * gst/mpeg2subt/gstmpeg2subt.c: * gst/mpegaudioparse/gstmpegaudioparse.c: * gst/mpegstream/gstdvddemux.c: * gst/mpegstream/gstmpegdemux.c: * gst/mpegstream/gstmpegpacketize.c: * gst/rtjpeg/gstrtjpeg.c: * gst/rtjpeg/gstrtjpegdec.c: * gst/rtjpeg/gstrtjpegenc.c: * gst/sine/gstsinesrc.c: * gst/smooth/gstsmooth.c: * gst/smpte/gstsmpte.c: * gst/smpte/gstsmpte.h: * gst/stereo/gststereo.c: * gst/videofilter/gstgamma.c: * gst/videofilter/gstvideobalance.c: * gst/videofilter/gstvideofilter.c: * gst/videofilter/gstvideoflip.c: * gst/videoscale/gstvideoscale.c: * gst/videoscale/videoscale.c: * gst/videotestsrc/gstvideotestsrc.c: * gst/videotestsrc/videotestsrc.c: * gst/wavenc/gstwavenc.c: * gst/wavparse/gstwavparse.c: fix local includes and 64 bits constants 2004-07-27 Steve Lhomme * win32/gst.sln: * gst-libs/gst/*/*.vcproj: * gst/*/*.vcproj: more working plugins 2004-07-27 Zaheer Abbas Merali * testsuite/alsa/Makefile.am: * testsuite/alsa/srcstate.c: add test for alsasrc changing state 2004-07-27 Zaheer Abbas Merali * gst/silence/gstsilence.c: (gst_silence_init), (gst_silence_link), (gst_silence_get): * gst/silence/gstsilence.h: fix silence generation for 16bit raw audio 2004-07-27 Thomas Vander Stichele * gst/matroska/matroska-demux.c: (gst_matroska_demux_parse_metadata), (gst_matroska_demux_video_caps), (gst_matroska_demux_plugin_init): * gst/mpegaudio/common.c: * gst/videoscale/gstvideoscale.c: (gst_videoscale_class_init), (gst_videoscale_getcaps), (gst_videoscale_link), (gst_videoscale_src_fixate), (gst_videoscale_init), (gst_videoscale_finalize): * gst/videoscale/gstvideoscale.h: * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_get_capslist): * gst/wavenc/gstwavenc.c: * sys/oss/gstossmixer.c: (fill_labels): * sys/ximage/ximagesink.c: (gst_ximagesink_renegotiate_size), (gst_ximagesink_handle_xevents), (gst_ximagesink_calculate_pixel_aspect_ratio), (gst_ximagesink_xcontext_get), (gst_ximagesink_fixate), (gst_ximagesink_getcaps), (gst_ximagesink_sink_link), (gst_ximagesink_chain), (gst_ximagesink_set_xwindow_id), (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_calculate_pixel_aspect_ratio), (gst_xvimagesink_xcontext_get), (gst_xvimagesink_sink_link), (gst_xvimagesink_chain), (gst_xvimagesink_buffer_alloc), (gst_xvimagesink_set_property), (gst_xvimagesink_get_property), (gst_xvimagesink_init), (gst_xvimagesink_class_init): * sys/xvimage/xvimagesink.h: first batch of pixel aspect ratio commits. 2004-07-27 Thomas Vander Stichele * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcolorspace_class_init), (gst_ffmpegcolorspace_chain): * gst/ffmpegcolorspace/imgconvert.c: (avpicture_fill): handle stride, needs work if we want to move stride handling upstream, but works correctly for our purposes. 2004-07-27 Thomas Vander Stichele * gst/videoscale/README: add testing examples * gst/videoscale/gstvideoscale.c: (gst_videoscale_link), (gst_videoscale_chain): * gst/videoscale/videoscale.c: (gst_videoscale_setup), (gst_videoscale_get_size): add get_size function that handles stride like videotestsrc. fixes conversion for YUV formats for as much as I can test them. 2004-07-27 Thomas Vander Stichele * sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls), (gst_ximagesink_ximage_new), (gst_ximagesink_ximage_destroy): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_new), (gst_xvimagesink_xvimage_destroy), (gst_xvimagesink_xvimage_put): further cleanups, logging, error handling and synchronizing 2004-07-27 Wim Taymans * gst/videomixer/videomixer.c: (gst_videomixer_pad_get_type), (gst_videomixer_pad_class_init), (gst_videomixer_pad_get_property), (gst_videomixer_pad_set_property), (gst_videomixer_pad_sinkconnect), (gst_videomixer_pad_init), (gst_video_mixer_background_get_type), (gst_videomixer_get_type), (gst_videomixer_class_init), (gst_videomixer_init), (gst_videomixer_getcaps), (gst_videomixer_request_new_pad), (gst_videomixer_blend_ayuv_i420), (pad_zorder_compare), (gst_videomixer_sort_pads), (gst_videomixer_fill_checker), (gst_videomixer_fill_color), (gst_videomixer_fill_queues), (gst_videomixer_blend_buffers), (gst_videomixer_update_queues), (gst_videomixer_loop), (plugin_init): Be a nicer negotiation citizen and provide a getcaps function on the srcpad. This also fixes a crash when resizing. 2004-07-27 Julien MOUTTE * sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_new): Some fixes to image size calculation. 2004-07-27 Wim Taymans * ext/libpng/gstpngdec.c: (gst_pngdec_src_getcaps): * ext/libpng/gstpngenc.c: (gst_pngenc_class_init), (gst_pngenc_init), (gst_pngenc_chain), (gst_pngenc_get_property), (gst_pngenc_set_property): * ext/libpng/gstpngenc.h: Added snapshot property to pngenc. removed g_print from pngdec 2004-07-27 Steve Lhomme * gst/ac3parse/ac3parse.vcproj * gst/adder/adder.vcproj * gst/alpha/alpha.vcproj * gst/alpha/alphacolor.vcproj * gst/asfdemux/asf.vcproj * gst/audioconvert/audioconvert.vcproj * gst/audiorate/audiorate.vcproj * gst/audioscale/audioscale.vcproj * gst/auparse/auparse.vcproj * gst/avi/avi.vcproj * gst/cdxaparse/cdxaparse.vcproj * gst/chart/chart.vcproj * gst/colorspace/colorspace.vcproj * gst/cutter/cutter.vcproj * gst/debug/debug.vcproj * gst/debug/efence.vcproj * gst/debug/navigationtest.vcproj * gst/deinterlace/deinterlace.vcproj * gst/effectv/effectv.vcproj * gst/ffmpegcolorspace/ffmpegcolorspace.vcproj * gst/filter/filter.vcproj * gst/flx/flxdec.vcproj * gst/goom/goom.vcproj * gst/interleave/interleave.vcproj * gst/law/alaw.vcproj * gst/law/mulaw.vcproj * gst/matroska/matroska.vcproj * gst/median/median.vcproj * gst/mixmatrix/mixmatrix.vcproj * gst/mpeg1sys/mpeg1systemencode.vcproj * gst/mpeg1videoparse/mp1videoparse.vcproj * gst/mpeg2sub/mpeg2subt.vcproj * gst/mpegaudio/mpegaudio.vcproj * gst/mpegaudioparse/mpegaudioparse.vcproj * gst/mpegstream/mpegstream.vcproj * gst/multifilesink/multifilesink.vcproj * gst/multipart/multipart.vcproj * gst/oneton/oneton.vcproj * gst/overlay/overlay.vcproj * gst/passthrough/passthrough.vcproj * gst/qtdemux/qtdemux.vcproj * gst/realmedia/rmdemux.vcproj * gst/rtjpeg/rtjpeg.vcproj * gst/rtp/rtp.vcproj * gst/silence/silence.vcproj * gst/sine/sinesrc.vcproj * gst/smooth/smooth.vcproj * gst/smpte/smpte.vcproj * gst/spectrum/spectrum.vcproj * gst/speed/speed.vcproj * gst/stereo/stereo.vcproj * gst/switch/switch.vcproj * gst/tags/tagedit.vcproj * gst/tcp/tcp.vcproj * gst/typefind/typefindfunctions.vcproj * gst/udp/udp.vcproj * gst/videobox/videobox.vcproj * gst/videocrop/videocrop.vcproj * gst/videodrop/videodrop.vcproj * gst/videofilter/gamma.vcproj * gst/videofilter/videobalance.vcproj * gst/videofilter/videofilter.vcproj * gst/videofilter/videoflip.vcproj * gst/videoflip/videoflip.vcproj * gst/videomixer/videomixer.vcproj * gst/videorate/videorate.vcproj * gst/videoscale/videoscale.vcproj * gst/videotestsrc/videotestsrc.vcproj * gst/virtualdub/virtualdub.vcproj * gst/volenv/volenv.vcproj * gst/volume/volume.vcproj * gst/wavenc/wavenc.vcproj * gst/wavparse/wavparse.vcproj * gst/y4m/y4menc.vcproj * gst-libs/gst/audio/audio.vcproj * gst-libs/gst/audio/audiofilter.vcproj * gst-libs/gst/colorbalance/colorbalance.vcproj * gst-libs/gst/idct/idtc.vcproj * gst-libs/gst/media-info/media-info.vcproj * gst-libs/gst/mixer/mixer.vcproj * gst-libs/gst/navigation/navigation.vcproj * gst-libs/gst/play/play.vcproj * gst-libs/gst/propertyprobe/propertyprobe.vcproj * gst-libs/gst/resample/resample.vcproj * gst-libs/gst/riff/riff.vcproj * gst-libs/gst/tuner/tuner.vcproj * gst-libs/gst/video/video.vcproj * gst-libs/gst/xoverlay/xoverlay.vcproj avoid problems with math.h, fix release dependancy rename GStreamer-0.8.lib to libgstreamer.lib 2004-07-27 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_xwindow_decorate): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xwindow_decorate): When the atom is not available we have to unlock the mutex. Fixes #148023 2004-07-26 Steve Lhomme * gst-libs/gst/media-info/media-info.h: issue for a vararg macro with MSVC 2004-07-26 Steve Lhomme * gst/effectv/effectv.vcproj * gst-libs/gst/idct/idct.vcproj: * gst-libs/gst/media-info/media-info.vcproj: * gst-libs/gst/navigation/navigation.vcproj: * gst-libs/gst/propertyprobe/propertyprobe.vcproj: * gst-libs/gst/video/video.vcproj: * gst-libs/gst/xoverlay/xoverlay.vcproj: fixes for build problems 2004-07-26 Steve Lhomme * gst-libs/gst/audio/audio.def: * gst-libs/gst/audio/riff.def: add some definitions needed by plugins 2004-07-26 Steve Lhomme * gst/asfdemux/gstasfmux.c Fix some 64 bits constants to be glib friendly 2004-07-26 Steve Lhomme * gst/ac3parse/gstac3parse.c * gst/audioscale/gstaudioscale.c * gst/auparse/gstauparse.c * gst/colorspace/gstcolorspace.c * gst/colorspace/yuv2rgb.h local include fixes 2004-07-26 Steve Lhomme * win32/gst.sln add more plugins to the build 2004-07-26 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls), (gst_ximagesink_ximage_new): Some more fixes to image size calculation. 2004-07-26 Thomas Vander Stichele * gst/level/gstlevel.c: (gst_level_link), (gst_level_chain), (gst_level_set_property), (gst_level_get_property), (gst_level_base_init), (gst_level_class_init): add debugging categories. cleanups. 2004-07-26 Thomas Vander Stichele * gst/videoscale/videoscale.c: (gst_videoscale_setup), (gst_videoscale_planar411), (gst_videoscale_planar400), (gst_videoscale_packed422), (gst_videoscale_packed422rev), (gst_videoscale_scale_nearest_str1), (gst_videoscale_scale_nearest_str2), (gst_videoscale_scale_nearest_str4), (gst_videoscale_scale_nearest_16bit), (gst_videoscale_scale_nearest_24bit): fixed stride issues tested with 320x240 -> 321, 322, 324 x240 tested with YV12, I420, YUY2, UYVY fixed packed422rev (don't think it could have worked before) by testing with UYVY 2004-07-26 Benjamin Otte * ext/lame/gstlame.c: (gst_lame_sink_link), (gst_lame_init), (gst_lame_chain), (gst_lame_setup), (gst_lame_change_state), (plugin_init): add debugging category, add error checks like checking return values of setup calls, make sure it still works after PLAYING=>NULL=>PLAYING, fix encoding of mono streams 2004-07-26 Wim Taymans * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_get_video_stream), (gst_mpeg_demux_get_audio_stream), (gst_mpeg_demux_process_private): * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_send_data): Check for error codes from the negotiation functions. Make sure we really set the pad caps when a new pad is created. 2004-07-26 Thomas Vander Stichele * gst/ffmpegcolorspace/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_pix_fmt): * gst/ffmpegcolorspace/gstffmpegcodecmap.h: * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcolorspace_pad_link): don't make function do two things at the same time without reason. 2004-07-26 Steve Lhomme * gst/ac3parse/ac3parse.vcproj * gst/adder/adder.vcproj * gst/alpha/alpha.vcproj * gst/alpha/alphacolor.vcproj * gst/asfdemux/asf.vcproj * gst/audioconvert/audioconvert.vcproj * gst/audiorate/audiorate.vcproj * gst/audioscale/audioscale.vcproj * gst/auparse/auparse.vcproj * gst/avi/avi.vcproj * gst/cdxaparse/cdxaparse.vcproj * gst/chart/chart.vcproj * gst/colorspace/colorspace.vcproj * gst/cutter/cutter.vcproj * gst/debug/debug.vcproj * gst/debug/efence.vcproj * gst/debug/navigationtest.vcproj * gst/deinterlace/deinterlace.vcproj * gst/effectv/effectv.vcproj * gst/ffmpegcolorspace/ffmpegcolorspace.vcproj * gst/filter/filter.vcproj * gst/flx/flxdec.vcproj * gst/goom/goom.vcproj * gst/interleave/interleave.vcproj * gst/law/alaw.vcproj * gst/law/mulaw.vcproj * gst/matroska/matroska.vcproj * gst/median/median.vcproj * gst/mixmatrix/mixmatrix.vcproj * gst/mpeg1sys/mpeg1systemencode.vcproj * gst/mpeg1videoparse/mp1videoparse.vcproj * gst/mpeg2sub/mpeg2subt.vcproj * gst/mpegaudio/mpegaudio.vcproj * gst/mpegaudioparse/mpegaudioparse.vcproj * gst/mpegstream/mpegstream.vcproj * gst/multifilesink/multifilesink.vcproj * gst/multipart/multipart.vcproj * gst/oneton/oneton.vcproj * gst/overlay/overlay.vcproj * gst/passthrough/passthrough.vcproj * gst/qtdemux/qtdemux.vcproj * gst/realmedia/rmdemux.vcproj * gst/rtjpeg/rtjpeg.vcproj * gst/rtp/rtp.vcproj * gst/silence/silence.vcproj * gst/sine/sinesrc.vcproj * gst/smooth/smooth.vcproj * gst/smpte/smpte.vcproj * gst/spectrum/spectrum.vcproj * gst/speed/speed.vcproj * gst/stereo/stereo.vcproj * gst/switch/switch.vcproj * gst/tags/tagedit.vcproj * gst/tcp/tcp.vcproj * gst/typefind/typefindfunctions.vcproj * gst/udp/udp.vcproj * gst/videobox/videobox.vcproj * gst/videocrop/videocrop.vcproj * gst/videodrop/videodrop.vcproj * gst/videofilter/gamma.vcproj * gst/videofilter/videobalance.vcproj * gst/videofilter/videofilter.vcproj * gst/videofilter/videoflip.vcproj * gst/videoflip/videoflip.vcproj * gst/videomixer/videomixer.vcproj * gst/videorate/videorate.vcproj * gst/videoscale/videoscale.vcproj * gst/videotestsrc/videotestsrc.vcproj * gst/virtualdub/virtualdub.vcproj * gst/volenv/volenv.vcproj * gst/volume/volume.vcproj * gst/wavenc/wavenc.vcproj * gst/wavparse/wavparse.vcproj * gst/y4m/y4menc.vcproj more plugins supported under windows 2004-07-26 Thomas Vander Stichele * sys/ximage/ximagesink.c: (gst_ximagesink_ximage_new), (gst_ximagesink_ximage_put), (gst_ximagesink_renegotiate_size), (gst_ximagesink_chain), (gst_ximagesink_buffer_alloc): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new), (gst_xvimagesink_chain), (gst_xvimagesink_buffer_alloc): Add debugging statements. Use the sizes as returned by the *CreateImage calls. 2004-07-26 Johan Dahlin * gst/tcp/gsttcpclientsrc.c (gst_tcpclientsrc_get): Make sure that the pad is negotiated. * gst/ffmpegcolorspace/gstffmpegcolorspace.c (gst_ffmpegcolorspace_chain): Ditto 2004-07-26 Steve Lhomme * gst-libs/gst/colorbalance/colorbalance.vcproj: * gst-libs/gst/idct/idct.vcproj: * gst-libs/gst/media-info/media-info.vcproj: * gst-libs/gst/mixer/mixer.vcproj: * gst-libs/gst/navigation/navigation.vcproj: * gst-libs/gst/play/play.vcproj: * gst-libs/gst/propertyprobe/propertyprobe.vcproj: * gst-libs/gst/resample/resample.vcproj: * gst-libs/gst/tuner/tuner.vcproj: * gst-libs/gst/video/video.vcproj: * gst-libs/gst/xoverlay/xoverlay.vcproj: more plugins supported under windows 2004-07-25 Iain * gst/wavparse/gstwavparse.c (gst_wavparse_fmt): Set the caps on the pad now rather than when the pad is created because state changes wipe explicit caps (fixes #148043). 2004-07-25 Sebastien Cote reviewed by Benjamin Otte * ext/mad/gstmad.c: fix mad plugin crashing on Sun (fixes #148289) 2004-07-25 Steve Lhomme * gst/avi/avi.def: * gst/avi/avi.vcproj: * gst/matroska/matroska.def: * gst/matroska/matroska.vcproj: remove unused .def files 2004-07-25 Steve Lhomme * gst-libs/gst/audio/gstaudiofilter.c: Clean the local include 2004-07-25 Steve Lhomme * win32/gst.sln: * gst-libs/gst/audio/audio.def: * gst-libs/gst/audio/audio.vcproj: * gst-libs/gst/audio/audiofilter.vcproj: * gst-libs/gst/audio/riff.def: * gst-libs/gst/audio/riff.vcproj: * gst-libs/gst/gst-libs.def: * gst-libs/gst/gst-libs.vcproj: * gst/avi/avi.vcproj: * gst/avi/avi.vcproj: Copy the files where needed after building, cleaner projects 2004-07-25 Steve Lhomme * gst/matroska/ebml-write.c: Fix some 64 bits constants to be glib friendly 2004-07-24 Steve Lhomme * win32/gst.sln: * gst-libs/gst/gst-libs.def: * gst-libs/gst/gst-libs.vcproj: * gst/matroska/matroska.def: * gst/matroska/matroska.vcproj: Add the preliminary canvas to build plugins on Win32 2004-07-23 Benjamin Otte * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link): don't enfore negotiation from source side, it breaks sinesrc ! audioconvert ! osssink 2004-07-22 David Schleef * gst/typefind/gsttypefindfunctions.c: (plugin_init): Add typefind for ELF files, since they can easily be recognized as audio/mpeg. (bug #147441) 2004-07-22 Thomas Vander Stichele * gst/videoscale/videoscale.c: (gst_videoscale_setup), (gst_videoscale_planar411), (gst_videoscale_scale_nearest_32bit), (gst_videoscale_scale_nearest_24bit), (gst_videoscale_scale_nearest_16bit): fix 16bit and 24bit for stride (24bit might need testing) don't pretend we do more than one algorithm 2004-07-22 Zaheer Abbas Merali * configure.ac: * gst/Makefile.am: * gst/multifilesink/Makefile.am: * gst/multifilesink/gstmultifilesink.c: (gst_multifilesink_get_formats), (gst_multifilesink_get_query_types), (_do_init), (gst_multifilesink_base_init), (gst_multifilesink_class_init), (gst_multifilesink_init), (gst_multifilesink_dispose), (gst_multifilesink_set_location), (gst_multifilesink_set_property), (gst_multifilesink_get_property), (gst_multifilesink_open_file), (gst_multifilesink_close_file), (gst_multifilesink_next_file), (gst_multifilesink_pad_query), (gst_multifilesink_handle_event), (gst_multifilesink_chain), (gst_multifilesink_change_state), (gst_multifilesink_uri_get_type), (gst_multifilesink_uri_get_protocols), (gst_multifilesink_uri_get_uri), (gst_multifilesink_uri_set_uri), (gst_multifilesink_uri_handler_init), (plugin_init): * gst/multifilesink/gstmultifilesink.h: * testsuite/Makefile.am: * testsuite/multifilesink/Makefile.am: * testsuite/multifilesink/fakesrc_test.c: (gst_newmedia_base_init), (gst_newmedia_class_init), (gst_newmedia_init), (gst_newmedia_chain), (gst_newmedia_trigger), (test_format), (newfile_signal), (test_signal), (main): multifilesink plugin for creating new files every time a new media discontinuity event occurs 2004-07-22 Wim Taymans * gst/alpha/Makefile.am: * gst/alpha/gstalphacolor.c: (gst_alpha_color_get_type), (gst_alpha_color_base_init), (gst_alpha_color_class_init), (gst_alpha_color_init), (gst_alpha_color_set_property), (gst_alpha_color_get_property), (gst_alpha_color_sink_link), (transform), (gst_alpha_color_chain), (gst_alpha_color_change_state), (plugin_init): Stupid plugin to to RGBA to AYUV conversion because none of the colorspace plugins can handle that yet. 2004-07-22 Wim Taymans * examples/seeking/seek.c: (update_scale), (main): * gst/playback/gstdecodebin.c: (gst_decode_bin_get_type), (gst_decode_bin_class_init), (gst_decode_bin_is_dynamic), (gst_decode_bin_factory_filter), (compare_ranks), (print_feature), (gst_decode_bin_init), (gst_decode_bin_dispose), (find_compatibles), (close_pad_link), (try_to_link_1), (new_pad), (no_more_pads), (close_link), (type_found), (gst_decode_bin_set_property), (gst_decode_bin_get_property), (plugin_init): * gst/playback/gstplaybasebin.c: (gst_play_base_bin_get_type), (gst_play_base_bin_class_init), (gst_play_base_bin_init), (gst_play_base_bin_dispose), (queue_overrun), (gen_preroll_element), (remove_prerolls), (unknown_type), (no_more_pads), (new_stream), (setup_source), (gst_play_base_bin_set_property), (gst_play_base_bin_get_property), (play_base_eos), (gst_play_base_bin_change_state), (gst_play_base_bin_add_element), (gst_play_base_bin_remove_element), (gst_play_base_bin_mute_stream), (gst_play_base_bin_link_stream), (gst_play_base_bin_unlink_stream), (gst_play_base_bin_get_streaminfo): * gst/playback/gstplaybin.c: (gen_video_element), (gen_audio_element): * gst/playback/gststreaminfo.h: More playback updates, attempt to fix things after the state change breakage. 2004-07-22 Thomas Vander Stichele * gst/videoscale/videoscale.c: (gst_videoscale_planar411), (gst_videoscale_scale_nearest_16bit): comment algorithm 2004-07-22 Thomas Vander Stichele * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_class_init), (gst_videotestsrc_src_link), (gst_videotestsrc_init), (gst_videotestsrc_get), (gst_videotestsrc_set_pattern), (gst_videotestsrc_set_property), (gst_videotestsrc_get_property): * gst/videotestsrc/gstvideotestsrc.h: * gst/videotestsrc/videotestsrc.c: * gst/videotestsrc/videotestsrc.h: cleanup and commenting 2004-07-21 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_demux_init), (gst_ogg_demux_get_formats), (gst_ogg_demux_src_query), (gst_ogg_demux_src_event), (gst_ogg_demux_src_convert), (gst_ogg_demux_handle_event), (gst_ogg_demux_seek_before), (_find_chain_get_unknown_part), (_find_streams_check), (gst_ogg_demux_push), (gst_ogg_pad_push): * ext/theora/theoradec.c: (theora_get_formats), (theora_dec_src_convert), (theora_dec_sink_convert), (theora_dec_src_query), (theora_dec_src_event), (theora_dec_event), (theora_dec_chain): * ext/vorbis/vorbisdec.c: (vorbis_dec_get_formats), (vorbis_dec_convert), (vorbis_dec_src_query), (vorbis_dec_src_event), (vorbis_dec_event): More seeking fixes, oggdemux now supports seeking to time and uses the downstream element to convert granulepos to time. Seeking in theora-only ogg files now works. 2004-07-21 Wim Taymans * ext/theora/theoradec.c: (gst_theora_dec_init), (theora_get_formats), (theora_get_event_masks), (theora_get_query_types), (theora_dec_src_convert), (theora_dec_sink_convert), (theora_dec_src_query), (theora_dec_src_event), (theora_dec_event), (theora_dec_chain): * ext/vorbis/vorbisdec.c: (vorbis_dec_get_formats), (vorbis_get_event_masks), (vorbis_get_query_types), (gst_vorbis_dec_init), (vorbis_dec_convert), (vorbis_dec_src_query), (vorbis_dec_src_event), (vorbis_dec_event): Added query/convert/formats functions to vorbis and theora decoders so that the outside world can use them too. Fixed seeking on an ogg/theora/vorbis file by disabling the seeking seeking on the theora srcpad. 2004-07-21 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_ximage_new), (gst_ximagesink_renegotiate_size), (gst_ximagesink_sink_link), (gst_ximagesink_chain), (gst_ximagesink_set_xwindow_id): Optimize images creation for both elements. We don't create the image on caps nego or renego, we just destroy the internal one if present if it does not match the needs. The chain function takes care of creating a new image when needed. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new), (gst_xvimagesink_xwindow_decorate), (gst_xvimagesink_sink_link), (gst_xvimagesink_chain), (gst_xvimagesink_buffer_alloc), (gst_xvimagesink_set_xwindow_id): Additionally xvimage now contains the image format information. The buffer pool checks for the context image format and discard images with different formats. * sys/xvimage/xvimagesink.h: Adding im_format in the xvimage structure. 2004-07-21 Thomas Vander Stichele * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcolorspace_chain): no point in doing any chaining if the pad we want to push from isn't usable. 2004-07-20 Ronald Bultje * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps_with_data): Fix double end-to-native symbol conversion (#148021). 2004-07-20 David Schleef * sys/ximage/ximagesink.c: (gst_ximagesink_xwindow_decorate): Don't use an Atom that doesn't exist. 2004-07-20 Wim Taymans * gst/tcp/gstmultifdsink.c: (gst_multifdsink_class_init), (gst_multifdsink_add), (gst_multifdsink_get_stats), (gst_multifdsink_client_remove), (gst_multifdsink_handle_client_write), (gst_multifdsink_queue_buffer): * gst/tcp/gstmultifdsink.h: More multifdsink stats. Avoid deadlock by releasing locks before sending out a signal. 2004-07-20 Thomas Vander Stichele * po/LINGUAS: * po/hu.po: added Hungarian translation (Laszlo Dvornik) 2004-07-20 Wim Taymans * gst/tcp/gstmultifdsink.c: (gst_multifdsink_class_init), (gst_multifdsink_add), (gst_multifdsink_client_remove), (gst_multifdsink_handle_client_write), (gst_multifdsink_queue_buffer): * gst/tcp/gsttcp-marshal.list: Fixed the stupid marshal definition. 2004-07-20 Wim Taymans * gst/tcp/gstmultifdsink.c: (gst_multifdsink_class_init), (gst_multifdsink_init), (gst_multifdsink_add), (gst_multifdsink_client_remove), (gst_multifdsink_handle_client_write), (gst_multifdsink_queue_buffer), (gst_multifdsink_chain), (gst_multifdsink_set_property), (gst_multifdsink_get_property), (gst_multifdsink_init_send): * gst/tcp/gstmultifdsink.h: Added more stats, added timeout for a client, fixed some typos and added some comments. 2004-07-20 Wim Taymans * gst/tcp/gstmultifdsink.c: (gst_multifdsink_class_init), (gst_multifdsink_add), (gst_multifdsink_get_stats), (gst_multifdsink_client_remove), (gst_multifdsink_handle_client_write): * gst/tcp/gstmultifdsink.h: * gst/tcp/gsttcp-marshal.list: Added get_stats method that returns a GValueArray of stats values. 2004-07-19 Benjamin Otte * ext/ladspa/gstladspa.c: (gst_ladspa_base_init): make sure longname, description and author are valid UTF-8 2004-07-19 Thomas Vander Stichele * sys/ximage/ximagesink.c: (gst_ximagesink_change_state), (gst_ximagesink_set_property): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_change_state), (gst_xvimagesink_set_property): make sure SYNCHRONOUS is respected after getting the X context 2004-07-18 Thomas Vander Stichele * gst/matroska/matroska-demux.c: (gst_matroska_demux_handle_src_event), (gst_matroska_demux_parse_blockgroup): * gst/matroska/matroska-ids.h: add BlockReference tag and ignore it to clear out log. ignore NAVIGATION events to clear out log. 2004-07-18 Thomas Vander Stichele * gst/matroska/matroska-demux.c: (gst_matroska_demux_class_init), (gst_matroska_demux_add_stream): * gst/matroska/matroska-mux.c: (gst_matroska_mux_class_init): add debug categories 2004-07-16 Wim Taymans * ext/libpng/Makefile.am: * ext/libpng/gstpng.c: (plugin_init): * ext/libpng/gstpngdec.c: (user_error_fn), (user_warning_fn), (gst_pngdec_get_type), (gst_pngdec_base_init), (gst_pngdec_class_init), (gst_pngdec_sinklink), (gst_pngdec_init), (gst_pngdec_src_getcaps), (user_read_data), (gst_pngdec_chain): * ext/libpng/gstpngdec.h: Added png decoder. 2004-07-16 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_handle_xerror), (gst_ximagesink_check_xshm_calls), (gst_ximagesink_ximage_new), (gst_ximagesink_ximage_destroy), (gst_ximagesink_sink_link), (gst_ximagesink_chain), (gst_ximagesink_buffer_free), (gst_ximagesink_buffer_alloc): * sys/ximage/ximagesink.h: * sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_new), (gst_xvimagesink_xvimage_destroy), (gst_xvimagesink_chain), (gst_xvimagesink_buffer_free), (gst_xvimagesink_buffer_alloc): * sys/xvimage/xvimagesink.h: Getting the 2 video sinks synchronized again. Using internal data pointer of the x(v)image to store image's data to be coherent with the buffer alloc mechanism. Investigated the image destruction code to be sure that everything gets freed correctly. 2004-07-16 Wim Taymans * gst-libs/gst/riff/riff-read.c: (gst_riff_read_strf_vids_with_data), (gst_riff_read_strf_auds_with_data): * gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query), (gst_avi_demux_add_stream), (gst_avi_demux_stream_header): Make sure we don't create 0 sized subbuffers in riff-read. Signal the no more pads signal after reading the avi header. 2004-07-16 Wim Taymans * gst/playback/gstdecodebin.c: (gst_decode_bin_get_type), (gst_decode_bin_class_init), (gst_decode_bin_is_dynamic), (gst_decode_bin_factory_filter), (compare_ranks), (print_feature), (gst_decode_bin_init), (gst_decode_bin_dispose), (find_compatibles), (close_pad_link), (try_to_link_1), (new_pad), (no_more_pads), (close_link), (type_found), (gst_decode_bin_set_property), (gst_decode_bin_get_property), (gst_decode_bin_change_state), (plugin_init): * gst/playback/gstplaybasebin.c: (gst_play_base_bin_get_type), (gst_play_base_bin_class_init), (gst_play_base_bin_init), (gst_play_base_bin_dispose), (queue_overrun), (gen_preroll_element), (remove_prerolls), (unknown_type), (no_more_pads), (new_stream), (setup_source), (gst_play_base_bin_set_property), (gst_play_base_bin_get_property), (play_base_eos), (gst_play_base_bin_change_state), (gst_play_base_bin_add_element), (gst_play_base_bin_remove_element), (gst_play_base_bin_mute_stream), (gst_play_base_bin_link_stream), (gst_play_base_bin_unlink_stream), (gst_play_base_bin_get_streaminfo): * gst/playback/gstplaybasebin.h: Better error recovery. Added configurable preroll queue size. Faster detection of no-more-pads. 2004-07-16 Wim Taymans * gst-libs/gst/video/video.h: Added 32 bits RGBA. Not sure if we should use another mime-type for alpha rgb. Currently the presence of the alpha_mask property signals an alpha channel. 2004-07-16 Wim Taymans * sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support): FPS seems to be 0.0 to MAX everywhere else. 2004-07-15 Ronald Bultje * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps_with_data): mp42/mp43 (no caps) exist too. * gst/matroska/matroska-demux.c: (gst_matroska_demux_video_caps): Set pixel_width/height; we've got them in-caps. * gst/typefind/gsttypefindfunctions.c: (plugin_init): * gst/wavparse/gstwavparse.c: (plugin_init): Both are valid primary. * sys/oss/gstossmixer.c: Remove i18n hack and enable translations. 2004-07-15 Benjamin Otte * sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_new), (gst_xvimagesink_xvimage_destroy): fix for non-shm xv. Original patch by Tim Ringenbach (fixes #147248) 2004-07-15 Benjamin Otte * ext/alsa/gstalsa.c: (gst_alsa_open_audio), (gst_alsa_sw_params_dump), (gst_alsa_hw_params_dump), (gst_alsa_close_audio): disable some of the debugging code for now. Writing debugging to a buffer is broken in current alsalib releases. 2004-07-12 Benjamin Otte * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_alloc_buffer): use bufferpools 2004-07-14 Thomas Vander Stichele * ext/theora/theoradec.c: (gst_theora_dec_class_init), (theora_dec_src_query), (theora_dec_event): * ext/theora/theoraenc.c: (gst_theora_enc_class_init): add debugging categories. Remove \n's. 2004-07-13 Johan Dahlin * gst/playback/gstplaybin.c (gst_play_bin_set_property) (gst_play_bin_get_property): Impl. 2004-07-13 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_demux_seek_before): When trying to find the stream length, seek back N pages instead of just one, where N is the number of streams in the current chain. 2004-07-13 Wim Taymans * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps_with_data), (gst_riff_create_audio_caps), (gst_riff_create_audio_template_caps): * gst-libs/gst/riff/riff-media.h: * gst-libs/gst/riff/riff-read.c: (gst_riff_read_strf_vids_with_data), (gst_riff_read_strf_auds_with_data), (gst_riff_read_strf_auds): * gst-libs/gst/riff/riff-read.h: * gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query), (gst_avi_demux_add_stream): Set codec_data on caps for avidemuxer. 2004-07-12 David Schleef * configure.ac: Fix test for Objective C 2004-07-12 Jan Schmidt * ext/gdk_pixbuf/gstgdkpixbuf.c: (gst_gdk_pixbuf_get_capslist), (gst_gdk_pixbuf_chain): Add svg and pcx to template caps, and ensure that getcaps returns a subset of the template caps. Copy each row manually for output, as gdkpixbuf may pad the rowstride to a 32-bit word boundary. 2004-07-12 Wim Taymans * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps), (gst_riff_create_video_template_caps): Fix the template caps to include some more media types. 2004-07-12 Wim Taymans * gst/playback/gstdecodebin.c: (gst_decode_bin_get_type), (gst_decode_bin_class_init), (gst_decode_bin_factory_filter), (compare_ranks), (print_feature), (gst_decode_bin_init), (gst_decode_bin_dispose), (find_compatibles), (close_pad_link), (try_to_link_1), (new_pad), (close_link), (type_found), (gst_decode_bin_set_property), (gst_decode_bin_get_property), (gst_decode_bin_change_state), (plugin_init): * gst/playback/gstplaybasebin.c: (gst_play_base_bin_get_type), (gst_play_base_bin_class_init), (gst_play_base_bin_init), (gst_play_base_bin_dispose), (queue_overrun), (gen_preroll_element), (remove_prerolls), (no_more_pads), (new_stream), (setup_source), (gst_play_base_bin_set_property), (gst_play_base_bin_get_property), (play_base_eos), (gst_play_base_bin_change_state), (gst_play_base_bin_add_element), (gst_play_base_bin_remove_element), (gst_play_base_bin_mute_stream), (gst_play_base_bin_link_stream), (gst_play_base_bin_unlink_stream), (gst_play_base_bin_get_streaminfo): * gst/playback/gstplaybasebin.h: * gst/playback/gstplaybin.c: (gst_play_bin_get_type), (gst_play_bin_class_init), (gst_play_bin_init), (gst_play_bin_dispose), (gst_play_bin_set_property), (gst_play_bin_get_property), (gen_video_element), (gen_audio_element), (remove_sinks), (setup_sinks), (gst_play_bin_change_state), (gst_play_bin_get_event_masks), (gst_play_bin_send_event), (gst_play_bin_get_formats), (gst_play_bin_convert), (gst_play_bin_get_query_types), (gst_play_bin_query), (plugin_init): * gst/playback/test4.c: (main): More fixes on reusing of the element. 2004-07-11 Benjamin Otte * ext/mad/gstmad.c: (normal_seek): allow seeking for other methods than just SET 2004-07-11 Andy Wingo * gst/audioconvert/gstaudioconvert.c (gst_audio_convert_link): For float, "any" caps -> buffer_frames=[0,MAX]. * gst/interleave/interleave.c (interleave_getcaps): Seems the core doesn't intersect our caps with the template any more. Do it ourselves. (interleave_buffered_loop): Use g_newa instead of malloc/free. 2004-07-09 Wim Taymans * gst/playback/gstdecodebin.c: (gst_decode_bin_get_type), (gst_decode_bin_class_init), (gst_decode_bin_factory_filter), (compare_ranks), (print_feature), (gst_decode_bin_init), (gst_decode_bin_dispose), (find_compatibles), (close_pad_link), (try_to_link_1), (new_pad), (close_link), (type_found), (gst_decode_bin_set_property), (gst_decode_bin_get_property), (gst_decode_bin_change_state), (plugin_init): * gst/playback/gstplaybasebin.c: (gst_play_base_bin_get_type), (gst_play_base_bin_class_init), (gst_play_base_bin_init), (gst_play_base_bin_dispose), (queue_overrun), (gen_preroll_element), (remove_prerolls), (no_more_pads), (new_stream), (setup_source), (gst_play_base_bin_set_property), (gst_play_base_bin_get_property), (play_base_eos), (gst_play_base_bin_change_state), (gst_play_base_bin_add_element), (gst_play_base_bin_remove_element), (gst_play_base_bin_mute_stream), (gst_play_base_bin_link_stream), (gst_play_base_bin_unlink_stream), (gst_play_base_bin_get_streaminfo): * gst/playback/gstplaybasebin.h: * gst/playback/gstplaybin.c: (gst_play_bin_get_type), (gst_play_bin_class_init), (gst_play_bin_init), (gst_play_bin_dispose), (gst_play_bin_set_property), (gst_play_bin_get_property), (gen_video_element), (gen_audio_element), (remove_sinks), (setup_sinks), (gst_play_bin_change_state), (gst_play_bin_get_event_masks), (gst_play_bin_send_event), (gst_play_bin_get_formats), (gst_play_bin_convert), (gst_play_bin_get_query_types), (gst_play_bin_query), (plugin_init): * gst/playback/test4.c: (main): Work on object reuse and seeking. 2004-07-09 Wim Taymans * examples/seeking/seek.c: (iterate): Don't consume all CPU in the idle loop. 2004-07-09 Wim Taymans * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_new_output_pad), (gst_mpeg_demux_parse_packet), (gst_mpeg_demux_process_private): Add pad to element *after* setting the pad functions so that the scheduler can use the correct ones. 2004-07-09 Wim Taymans * ext/theora/theoradec.c: (theora_dec_from_granulepos), (theora_dec_src_query), (theora_dec_src_event), (theora_dec_chain): Sync to keyframe after seek 2004-07-09 Thomas Vander Stichele * ext/alsa/gstalsa.c: (gst_alsa_change_state): * ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event), (gst_alsa_sink_loop), (gst_alsa_sink_change_state): * ext/alsa/gstalsasrc.c: (gst_alsa_src_change_state): * ext/libvisual/visual.c: (gst_visual_change_state): * ext/ogg/gstoggdemux.c: (gst_ogg_demux_change_state): * ext/theora/theoradec.c: (theora_dec_change_state): * ext/theora/theoraenc.c: (theora_enc_change_state): * ext/vorbis/vorbisdec.c: (vorbis_dec_change_state): * gst-libs/gst/navigation/navigation.c: * gst/adder/gstadder.c: (gst_adder_change_state): * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain), (gst_audio_convert_get_buffer): * gst/multipart/multipartdemux.c: (gst_multipart_demux_change_state): * gst/playback/gstdecodebin.c: (gst_decode_bin_change_state): * gst/playback/gstplaybasebin.c: (gst_play_base_bin_change_state): * gst/playback/gstplaybin.c: (gst_play_bin_change_state): * gst/videoscale/gstvideoscale.c: (gst_videoscale_handle_src_event): * gst/volume/gstvolume.c: (volume_chain_int16): don't assert in state change, this should be done by the base GstElement class. various debugging fixes. 2004-07-08 Thomas Vander Stichele * configure.ac: * gst-libs/gst/play/play.c: (gst_play_pipeline_setup), (gst_play_dispose), (gst_play_set_location), (gst_play_set_data_src), (gst_play_set_video_sink), (gst_play_set_audio_sink), (gst_play_set_visualization), (gst_play_connect_visualization), (gst_play_get_sink_element), (gst_play_get_all_by_interface): * gst-libs/gst/play/play.h: add new method to get elements implementing an interface. add various error logging 2004-07-08 Wim Taymans * examples/seeking/seek.c: (make_dv_pipeline), (make_avi_pipeline), (make_mpeg_pipeline), (make_mpegnt_pipeline), (make_playerbin_pipeline), (query_durations_elems), (query_durations_pads), (query_positions_elems), (query_positions_pads), (update_scale), (iterate), (stop_seek), (main): Added playbin seeking example. 2004-07-08 Thomas Vander Stichele * gst-libs/gst/play/play.c: (gst_play_set_location), (gst_play_set_data_src), (gst_play_set_video_sink), (gst_play_set_audio_sink), (gst_play_set_visualization), (gst_play_connect_visualization), (gst_play_get_framerate): use a macro to look up elements from hash table 2004-07-08 Thomas Vander Stichele * gst-libs/gst/play/play.c: (gst_play_pipeline_setup), (gst_play_get_length_callback), (gst_play_set_location), (gst_play_seek_to_time), (gst_play_set_data_src), (gst_play_set_video_sink), (gst_play_set_audio_sink), (gst_play_set_visualization), (gst_play_connect_visualization), (gst_play_get_sink_element): - add debugging info - fix looking up sink elements by iterating over complete caps - put everything except for source and autoplugger in a complete bin 2004-07-08 Thomas Vander Stichele * ext/alsa/gstalsa.c: (gst_alsa_drain_audio): * ext/alsa/gstalsasink.c: (gst_alsa_sink_flush_one_pad), (gst_alsa_sink_check_event), (gst_alsa_sink_mmap), (gst_alsa_sink_write), (gst_alsa_sink_loop): * ext/alsa/gstalsasink.h: - add debugging info - clean up schizophrenia of data/buffer/event - fix double event unref error 2004-07-08 Wim Taymans * gst/playback/Makefile.am: Add headers to noinst 2004-07-08 Thomas Vander Stichele * tools/gst-launch-ext-m.m: * tools/gst-launch-ext.1.in: convert to the third millenium 2004-07-07 David Schleef * sys/dxr3/Makefile.am: noinst_SOURCES should be nodist_SOURCES 2004-07-07 Wim Taymans * gst/playback/Makefile.am: * gst/playback/README: * gst/playback/gstdecodebin.c: (gst_decode_bin_get_type), (gst_decode_bin_class_init), (gst_decode_bin_factory_filter), (compare_ranks), (print_feature), (gst_decode_bin_init), (gst_decode_bin_dispose), (find_compatibles), (close_pad_link), (try_to_link_1), (new_pad), (close_link), (type_found), (gst_decode_bin_set_property), (gst_decode_bin_get_property), (plugin_init): * gst/playback/gstplaybasebin.c: (gst_play_base_bin_get_type), (gst_play_base_bin_class_init), (gst_play_base_bin_init), (gst_play_base_bin_dispose), (rebuild_pipeline), (queue_overrun), (gen_preroll_element), (no_more_pads), (new_stream), (setup_source), (gst_play_base_bin_set_property), (gst_play_base_bin_get_property), (gst_play_base_bin_change_state), (gst_play_base_bin_add_element), (gst_play_base_bin_remove_element), (gst_play_base_bin_mute_stream), (gst_play_base_bin_link_stream), (gst_play_base_bin_unlink_stream), (gst_play_base_bin_get_streaminfo): * gst/playback/gstplaybasebin.h: * gst/playback/gstplaybin.c: (gst_play_bin_get_type), (gst_play_bin_class_init), (gst_play_bin_init), (gst_play_bin_dispose), (gst_play_bin_set_property), (gst_play_bin_get_property), (gen_video_element), (gen_audio_element), (setup_sinks), (gst_play_bin_change_state), (gst_play_bin_get_event_masks), (gst_play_bin_send_event), (gst_play_bin_get_formats), (gst_play_bin_convert), (gst_play_bin_get_query_types), (gst_play_bin_query), (plugin_init): * gst/playback/gststreaminfo.c: (gst_stream_type_get_type), (gst_stream_info_get_type), (gst_stream_info_class_init), (gst_stream_info_init), (gst_stream_info_new), (gst_stream_info_dispose), (gst_stream_info_set_property), (gst_stream_info_get_property): * gst/playback/gststreaminfo.h: * gst/playback/test.c: (gen_video_element), (gen_audio_element), (main): * gst/playback/test2.c: (main): * gst/playback/test3.c: (update_scale), (main): More playbin fixes. Added README. Do better element filtering. Added base class to preroll media. Added test apps. 2004-07-07 Thomas Vander Stichele * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_flush_decoder): * ext/mpeg2dec/gstmpeg2dec.h: various debugging improvements. Reset stream to next picture instead of sequence header, otherwise seeks cannot work. 2004-07-07 Wim Taymans * gst/videobox/gstvideobox.c: (gst_video_box_fill_get_type), (gst_video_box_class_init), (gst_video_box_set_property), (gst_video_box_i420), (gst_video_box_ayuv), (gst_video_box_chain): Use pad_alloc where possible. 2004-07-07 Wim Taymans * sys/oss/gstosselement.c: (gst_osselement_reset), (gst_osselement_parse_caps): * sys/oss/gstosselement.h: * sys/oss/gstosssrc.c: (gst_osssrc_get): Fix offset on osssrc. 2004-07-07 Wim Taymans * ext/theora/theora.c: (plugin_init): * ext/theora/theoradec.c: (theora_dec_from_granulepos), (theora_dec_src_query), (theora_dec_chain): * ext/theora/theoraenc.c: (gst_theora_enc_class_init), (theora_enc_sink_link), (theora_buffer_from_packet), (theora_push_packet), (theora_enc_chain): Fix theora granulepos calculation. Fix overflow in duration/position calculation. Bump rank to PRIMARY for theoradec. Use granulepos of last packet to calculate position. Set keyframe flag on buffers when needed. 2004-07-06 David Schleef * gst/playback/Makefile.am: 'test' in bin_PROGRAMS? Are you serious? (Fixed, obviously.) 2004-07-06 Thomas Vander Stichele * po/LINGUAS: * po/cs.po: added Czech translation (Miloslav Trmac) 2004-07-05 Wim Taymans * gst/playback/gstdecodebin.c: (gst_decode_bin_get_type), (gst_decode_bin_class_init), (gst_decode_bin_factory_filter), (compare_ranks), (gst_decode_bin_init), (gst_decode_bin_dispose), (find_compatibles), (close_pad_link), (try_to_link_1), (new_pad), (close_link), (type_found), (gst_decode_bin_set_property), (gst_decode_bin_get_property), (gst_decode_bin_get_event_masks), (gst_decode_bin_send_event), (gst_decode_bin_get_formats), (gst_decode_bin_convert), (gst_decode_bin_get_query_types), (gst_decode_bin_query), (plugin_init): * gst/playback/gstplaybin.c: (gst_play_bin_get_type), (gst_play_bin_class_init), (gst_play_bin_init), (gst_play_bin_dispose), (rebuild_pipeline), (get_audio_element), (get_video_element), (new_pad), (setup_source), (gst_play_bin_set_property), (gst_play_bin_get_property), (gst_play_bin_change_state), (gst_play_bin_add_element), (gst_play_bin_remove_element), (gst_play_bin_get_event_masks), (gst_play_bin_send_event), (gst_play_bin_get_formats), (gst_play_bin_convert), (gst_play_bin_get_query_types), (gst_play_bin_query), (gst_play_bin_get_clock), (plugin_init): * gst/playback/test.c: (main): More fixes, cleaned up playbin, make it use decodebin. Added threaded property to playbin. 2004-07-05 Wim Taymans * configure.ac: * gst/playback/Makefile.am: * gst/playback/decodetest.c: (main): * gst/playback/gstdecodebin.c: (gst_decode_bin_get_type), (gst_decode_bin_class_init), (gst_decode_bin_factory_filter), (compare_ranks), (gst_decode_bin_init), (gst_decode_bin_dispose), (find_compatibles), (close_pad_link), (try_to_link_1), (new_pad), (close_link), (type_found), (gst_decode_bin_set_property), (gst_decode_bin_get_property), (gst_decode_bin_change_state), (gst_decode_bin_get_event_masks), (gst_decode_bin_send_event), (gst_decode_bin_get_formats), (gst_decode_bin_convert), (gst_decode_bin_get_query_types), (gst_decode_bin_query), (plugin_init): * gst/playback/gstplaybin.c: (gst_play_bin_get_type), (gst_play_bin_class_init), (gst_play_bin_init), (gst_play_bin_dispose), (gen_default_output), (rebuild_pipeline), (collect_sink_pads), (find_compatibles), (close_pad_link), (try_to_link_1), (new_pad), (close_link), (type_found), (setup_source), (gst_play_bin_set_property), (gst_play_bin_get_property), (gst_play_bin_factory_filter), (compare_ranks), (gst_play_bin_collect_factories), (gst_play_bin_change_state), (gst_play_bin_add_element), (gst_play_bin_remove_element), (gst_play_bin_get_event_masks), (gst_play_bin_send_event), (gst_play_bin_get_formats), (gst_play_bin_convert), (gst_play_bin_get_query_types), (gst_play_bin_query), (gst_play_bin_get_clock), (plugin_init): * gst/playback/test.c: (main): Added some playback helper elements and some test apps, very alpha still. 2004-07-04 Benjamin Otte * ext/alsa/gstalsa.c: (gst_alsa_xrun_recovery): only restart audio when we indeed have an xrun to fix repeated xruns. Fix suggested by Giuliano Pochini. 2004-07-03 David Schleef * ext/alsa/gstalsaplugin.c: (gst_alsa_error_wrapper): Disable call to gst_debug_log() if debugging is disabled (bug #145118) 2004-07-03 Benjamin Otte * ext/alsa/gstalsa.c: (gst_alsa_xrun_recovery): use our own functions for restarting the alsa device. * ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event): I should apply patches myself - use MIN for the third argument, not the second, this fixes seeking 2004-07-02 David Schleef * ext/flac/gstflacdec.c: (gst_flacdec_class_init), (gst_flacdec_write): Actually, GST_PAD_CAPS() has nothing to do with the logic. 2004-07-02 David Schleef * ext/flac/gstflacdec.c: (gst_flacdec_write): Set duration on output buffers. Fix logic mistake. (bug #144866) 2004-07-02 David Schleef * gst-libs/gst/xoverlay/Makefile.am: xoverlay no longer depends on X. (bug #144753) 2004-07-02 David Schleef * gst/wavenc/gstwavenc.c: (gst_wavenc_setup), (gst_wavenc_stop_file): Switch to GST_WRITE_UINT32_LE macros (bug #144624) * sys/oss/gstosselement.c: (gst_osselement_probe_caps), (gst_osselement_rate_probe_check): Add another workaround for buggy drivers (bug #145336) 2004-07-02 David Schleef * gst/tcp/gstmultifdsink.c: (gst_multifdsink_handle_client_write): Most systems don't have MSG_NOSIGNAL. 2004-07-02 Thomas Vander Stichele * Makefile.am: * gst-libs/gst/colorbalance/Makefile.am: * gst-libs/gst/mixer/Makefile.am: * gst-libs/gst/play/Makefile.am: * gst-libs/gst/tuner/Makefile.am: (hopefully) fix both install and dist and make error message useful. needs testing across automakes. 2004-07-02 Benjamin Otte * ext/ogg/gstogg.c: (plugin_init): we require bytestream now * ext/ogg/gstoggdemux.c: huge diff to implement chain setup in a fast and generic way. This improves tag reading and startup of huge files (read: Theora videos) quite a bit. It probably contains bugs, too, so please test. Seeking is not improved to the fast method. 2004-06-29 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_pad_push): * ext/ogg/gstoggmux.c: Fix memleak in oggdemux when running unconnected pads. doc update in mux, start working on keyframe mode. 2004-06-29 Benjamin Otte * sys/oss/gstosssink.c: * sys/oss/gstosssrc.c: advertise correct template caps - we indeed do non-native endianness and 8bit audio has no endianness * sys/ximage/ximagesink.c: (gst_ximagesink_getcaps): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_getcaps): avoid (wrong) duplications in getcaps function and return template caps 2004-06-29 Wim Taymans * gst/tcp/gstmultifdsink.c: (gst_recover_policy_get_type), (gst_multifdsink_class_init), (gst_multifdsink_add), (gst_multifdsink_remove), (gst_multifdsink_clear), (gst_multifdsink_client_remove), (gst_multifdsink_handle_client_read), (gst_multifdsink_client_queue_data), (gst_multifdsink_client_queue_caps), (gst_multifdsink_client_queue_buffer), (gst_multifdsink_handle_client_write), (gst_multifdsink_recover_client), (gst_multifdsink_queue_buffer), (gst_multifdsink_handle_clients), (gst_multifdsink_thread), (gst_multifdsink_init_send), (gst_multifdsink_close): Fix wrong GList iteration that could crash the server when more then 2 clients disconnect at the same time. Read all the pending commands in one batch to recover from command storms under very heavy load. 2004-06-28 Wim Taymans * gst/videomixer/videomixer.c: (gst_videomixer_pad_get_type), (gst_videomixer_pad_class_init), (gst_videomixer_pad_get_property), (gst_videomixer_pad_set_property), (gst_videomixer_pad_sinkconnect), (gst_videomixer_pad_init), (gst_video_mixer_background_get_type), (gst_videomixer_get_type), (gst_videomixer_class_init), (gst_videomixer_init), (gst_videomixer_request_new_pad), (gst_videomixer_blend_ayuv_i420), (pad_zorder_compare), (gst_videomixer_sort_pads), (gst_videomixer_fill_checker), (gst_videomixer_fill_color), (gst_videomixer_fill_queues), (gst_videomixer_blend_buffers), (gst_videomixer_update_queues), (gst_videomixer_loop), (plugin_init): Avoid divide by zero, choose masterpad as the pad with the highest framerate. 2004-06-27 Julien Moutte * sys/ximage/ximagesink.c: (gst_ximagesink_xwindow_decorate), (gst_ximagesink_xwindow_new): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xwindow_decorate), (gst_xvimagesink_xwindow_new): I prefer locking the mutex in the function directly. We might want to call it from somewhere else one day. 2004-06-27 Julien Moutte * sys/ximage/ximagesink.c: (gst_ximagesink_xwindow_decorate), (gst_ximagesink_xwindow_new): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xwindow_decorate), (gst_xvimagesink_xwindow_new): Trying to fix the random behaviour of window decorations. 2004-06-27 Wim Taymans * ext/dv/gstdvdec.c: (gst_dvdec_class_init), (gst_dvdec_init), (gst_dvdec_video_getcaps), (gst_dvdec_video_link), (gst_dvdec_push), (gst_dvdec_loop), (gst_dvdec_change_state), (gst_dvdec_set_property), (gst_dvdec_get_property): * ext/dv/gstdvdec.h: Implement drop_factor property to lower the framerate with a factor. 2004-06-27 Thomas Vander Stichele * gst-libs/gst/colorbalance/Makefile.am: * gst-libs/gst/mixer/Makefile.am: * gst-libs/gst/play/Makefile.am: * gst-libs/gst/tuner/Makefile.am: unbreak Company's fix that didn't install the -enum.h files 2004-06-27 Wim Taymans * ext/dv/gstdvdec.c: (gst_dvdec_push), (gst_dvdec_loop), (gst_dvdec_change_state): * ext/dv/gstdvdec.h: Fix timestamp, duration and offset of the buffers. 2004-06-27 Wim Taymans * gst/tcp/gstmultifdsink.c: (gst_recover_policy_get_type), (gst_multifdsink_class_init), (gst_multifdsink_add), (gst_multifdsink_remove), (gst_multifdsink_clear), (gst_multifdsink_client_remove), (gst_multifdsink_handle_client_read), (gst_multifdsink_client_queue_data), (gst_multifdsink_client_queue_caps), (gst_multifdsink_client_queue_buffer), (gst_multifdsink_handle_client_write), (gst_multifdsink_recover_client), (gst_multifdsink_queue_buffer), (gst_multifdsink_handle_clients), (gst_multifdsink_thread), (gst_multifdsink_init_send), (gst_multifdsink_close): * gst/tcp/gstmultifdsink.h: * gst/tcp/gsttcpserversink.c: (gst_tcpserversink_handle_server_read), (gst_tcpserversink_handle_select), (gst_tcpserversink_close): More multifdsink fixes, more recovery policy fixes. Removed stupid g_print 2004-06-26 Wim Taymans * gst/tcp/Makefile.am: * gst/tcp/gstmultifdsink.c: (gst_recover_policy_get_type), (gst_multifdsink_get_type), (gst_multifdsink_base_init), (gst_multifdsink_class_init), (gst_multifdsink_init), (gst_multifdsink_debug_fdset), (gst_multifdsink_client_remove), (gst_multifdsink_handle_client_read), (gst_multifdsink_client_queue_data), (gst_multifdsink_client_queue_caps), (gst_multifdsink_client_queue_buffer), (gst_multifdsink_handle_client_write), (gst_multifdsink_recover_client), (gst_multifdsink_queue_buffer), (gst_multifdsink_handle_clients), (gst_multifdsink_thread), (gst_multifdsink_chain), (gst_multifdsink_set_property), (gst_multifdsink_get_property), (gst_multifdsink_init_send), (gst_multifdsink_close), (gst_multifdsink_change_state): * gst/tcp/gstmultifdsink.h: * gst/tcp/gsttcpplugin.c: (plugin_init): * gst/tcp/gsttcpserversink.c: (gst_tcpserversink_get_type), (gst_tcpserversink_class_init), (gst_tcpserversink_init), (gst_tcpserversink_handle_server_read), (gst_tcpserversink_handle_select), (gst_tcpserversink_set_property), (gst_tcpserversink_get_property), (gst_tcpserversink_init_send), (gst_tcpserversink_close): * gst/tcp/gsttcpserversink.h: Added multifdsink, made tcpserversink a subclass of fdsink, removed one of the locks, added recovery policy to multifdsink. 2004-06-26 Thomas Vander Stichele * gst/videorate/gstvideorate.c: (gst_videorate_chain): fix decision for when getting frames with same timestamp * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_class_init), (gst_v4lsrc_init), (gst_v4lsrc_get), (gst_v4lsrc_set_property), (gst_v4lsrc_get_property): * sys/v4l/gstv4lsrc.h: add latency offset property 2004-06-26 Thomas Vander Stichele * gst/videorate/gstvideorate.c: (gst_videorate_chain), (plugin_init): fix debugging. add category. 2004-06-25 Thomas Vander Stichele * gst/sine/gstsinesrc.c: (gst_sinesrc_get): fix wrong offsets 2004-06-25 Thomas Vander Stichele * ext/alsa/gstalsasrc.c: (gst_alsa_src_init), (gst_alsa_src_get_time), (gst_alsa_src_loop), (gst_alsa_src_change_state): return a time that is in sync with the element's processing 2004-06-25 Wim Taymans * gst/tcp/gsttcpserversink.c: (gst_tcpserversink_class_init), (gst_tcpserversink_init), (gst_tcpserversink_handle_server_read), (gst_tcpserversink_client_remove), (gst_tcpserversink_handle_client_read), (gst_tcpserversink_client_queue_data), (gst_tcpserversink_client_queue_caps), (gst_tcpserversink_client_queue_buffer), (gst_tcpserversink_handle_client_write), (gst_tcpserversink_queue_buffer), (gst_tcpserversink_handle_clients), (gst_tcpserversink_thread), (gst_tcpserversink_chain), (gst_tcpserversink_set_property), (gst_tcpserversink_get_property), (gst_tcpserversink_init_send), (gst_tcpserversink_close): * gst/tcp/gsttcpserversink.h: Serversink rewrite. Really do non blocking writes to clients and maintain an internal queue to handle slower clients while not disturbing fast clients. 2004-06-25 Thomas Vander Stichele * gst/tcp/gsttcpclientsrc.c: (gst_tcpclientsrc_get): better debug, don't override OFFSET and OFFSET_END 2004-06-25 Iain * gst-libs/gst/media-info/media-info-priv.c (gmi_set_mime): Add name=source for the wavparse pipeline. 2004-06-24 Johan Dahlin * ext/theora/theoraenc.c (theora_enc_chain): Call gst_pad_try_set_caps instead of gst_pad_set_explicit_caps so the streamheader caps are set correctly. 2004-06-24 Thomas Vander Stichele * ext/vorbis/vorbisenc.c: (raw_caps_factory), (gst_vorbisenc_setup), (gst_vorbisenc_set_property): respect minimum bitrate; same could be done for max bitrate 2004-06-24 Thomas Vander Stichele * ext/vorbis/vorbisenc.c: (raw_caps_factory), (gst_vorbisenc_setup): fix sample rate range 2004-06-24 Thomas Vander Stichele * ext/vorbis/oggvorbisenc.c: (gst_oggvorbisenc_class_init), (gst_oggvorbisenc_setup): * ext/vorbis/vorbisenc.c: (gst_vorbisenc_class_init), (gst_vorbisenc_setup): resolve ambiguities in code and description 2004-06-24 Wim Taymans * ext/alsa/gstalsa.c: (gst_alsa_start), (gst_alsa_xrun_recovery): * ext/alsa/gstalsa.h: * ext/alsa/gstalsasrc.c: (gst_alsa_src_init), (gst_alsa_src_update_avail), (gst_alsa_src_loop): Use alsa trigger_tstamp to get the timestamp of the first sample in the buffer for more precise sync. Some cleanups. 2004-06-24 Wim Taymans * gst/audiorate/gstaudiorate.c: (gst_audiorate_link), (gst_audiorate_init), (gst_audiorate_chain), (gst_audiorate_set_property), (gst_audiorate_get_property): * gst/videorate/gstvideorate.c: (gst_videorate_class_init), (gst_videorate_chain): Added some logging, fixed an overflow bug in videorate. 2004-06-24 Benjamin Otte * ext/kio/Makefile.am: fix for builddir != srcdir and distcheck 2004-06-24 Benjamin Otte * gst-libs/gst/colorbalance/Makefile.am: * gst-libs/gst/mixer/Makefile.am: * gst-libs/gst/play/Makefile.am: * gst-libs/gst/tuner/Makefile.am: * gst/tcp/Makefile.am: * sys/dxr3/Makefile.am: don't include -enumtypes.[ch] or -marshal.[ch] files in the disted tarball. Also add all *.list files that were missing. * Makefile.am: add a distcheck hook to ensure the above doesn't happen again. 2004-06-23 David I. Lehn * ext/Makefile.am: s/DTS_DIR=dvdread/DTS_DIR=dts/ 2004-06-23 Colin Walters * m4/Makefile.am: Distribute gst-fionread.m4. 2004-06-23 Thomas Vander Stichele * configure.ac: back to dev 2004-06-23 Wim Taymans * ext/alsa/gstalsa.c: (gst_alsa_change_state), (gst_alsa_start), (gst_alsa_xrun_recovery): * ext/alsa/gstalsa.h: * ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event), (gst_alsa_sink_loop), (gst_alsa_sink_get_time): * ext/alsa/gstalsasrc.c: (gst_alsa_src_init), (gst_alsa_src_get_time), (gst_alsa_src_update_avail), (gst_alsa_src_loop): Add clock to alsasrc. Take new capture timestamp when restarting after an overrun. Split up some functions between alsasrc and alsasink. === release 0.8.2 === 2004-06-23 Thomas Vander Stichele * ext/alsa/gstalsa.c: (gst_alsa_init), (gst_alsa_dispose), (gst_alsa_change_state), (gst_alsa_update_avail), (gst_alsa_xrun_recovery): * ext/alsa/gstalsa.h: * ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event): merge back changes from release 2004-06-23 Wim Taymans * gst/audiorate/gstaudiorate.c: (gst_audiorate_class_init), (gst_audiorate_init), (gst_audiorate_chain), (gst_audiorate_set_property), (gst_audiorate_get_property): Implement sample dropping and notify 2004-06-22 Wim Taymans * ext/theora/theoraenc.c: (gst_theora_enc_class_init), (theora_enc_sink_link), (theora_buffer_from_packet), (theora_push_packet), (theora_enc_chain): Some cleanups, make sure the timestamps are correct. 2004-06-22 Wim Taymans * ext/alsa/gstalsa.c: (gst_alsa_get_time), (gst_alsa_clock_update), (gst_alsa_change_state), (gst_alsa_update_avail), (gst_alsa_xrun_recovery): * ext/alsa/gstalsa.h: * ext/alsa/gstalsasrc.c: (gst_alsa_src_loop): Cleanups, take queued samples into account when reporting the time. 2004-06-22 Wim Taymans * gst/videorate/gstvideorate.c: (gst_videorate_class_init), (gst_videorate_init): Initialize the property as well. 2004-06-22 Wim Taymans * gst/videorate/gstvideorate.c: (gst_videorate_class_init), (gst_videorate_init), (gst_videorate_chain), (gst_videorate_set_property), (gst_videorate_get_property): Add property to make videorate silent. Add property to prefer new frames over old ones. 2004-06-22 Zaheer Abbas Merali * sys/osxvideo/Makefile.am: Workaround so that the osxvideo .so file gets linked with the Cocoa, OpenGL and QuickTime frameworks 2004-06-22 Zaheer Abbas Merali * sys/osxaudio/Makefile.am: Workaround so that the osxaudio .so file gets linked with the CoreAudio framework 2004-06-22 Zaheer Abbas Merali * configure.ac: Whoops, my fault...fixed build issues 2004-06-22 Zaheer Abbas Merali * configure.ac: Add objective-c support if running in Darwin/Mac OS X * sys/Makefile.am: * sys/osxvideo: * sys/osxvideo/Makefile.am: * sys/osxvideo/osxvideosink.h: * sys/osxvideo/osxvideosink.m: * sys/osxvideo/cocoawindow.h: * sys/osxvideo/cocoawindow.m: Add osxvideosink, a cocoa-based osx video sink 2004-06-19 Jan Schmidt * ext/dvdnav/gst-dvd: Grab the gconf key from the right spot * gst/debug/gstnavseek.c: (gst_navseek_init), (gst_navseek_segseek), (gst_navseek_handle_src_event), (gst_navseek_chain): * gst/debug/gstnavseek.h: Add 's', 'e' and 'l' keypresses to navseek to define the start,end and loop parameters of a segment seek. * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_init), (gst_videotestsrc_get_event_masks), (gst_videotestsrc_handle_src_event), (gst_videotestsrc_get): * gst/videotestsrc/gstvideotestsrc.h: Add seeking support to videotestsrc Initialise the timestamp_offset variable. 2004-06-18 Wim Taymans * ext/sidplay/gstsiddec.cc: Fix negotiation and set correct end offset. 2004-06-18 Thomas Vander Stichele * configure.ac: branch and prerelease 2004-06-17 Thomas Vander Stichele * gst/tcp/gsttcpclientsrc.c: (gst_tcpclientsrc_init), (gst_tcpclientsrc_getcaps), (gst_tcpclientsrc_get), (gst_tcpclientsrc_init_receive): * gst/tcp/gsttcpclientsrc.h: read caps when connecting to server for GDP so we set them correctly 2004-06-17 Thomas Vander Stichele * gst/videorate/gstvideorate.c: (gst_videorate_chain): notify drops and duplicates * gst/videoscale/videoscale.c: (videoscale_get_structure): no good reason to limit ourselves to 100x100 2004-06-17 Thomas Vander Stichele * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_class_init), (gst_v4lsrc_init), (gst_v4lsrc_open), (gst_v4lsrc_src_link), (gst_v4lsrc_getcaps), (gst_v4lsrc_get), (gst_v4lsrc_set_property), (gst_v4lsrc_get_property): * sys/v4l/gstv4lsrc.h: * sys/v4l/v4l_calls.c: (gst_v4l_set_window_properties), (gst_v4l_open), (gst_v4l_get_picture), (gst_v4l_get_audio), (gst_v4l_set_audio): * sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_grab_frame), (gst_v4lsrc_try_capture): * sys/v4l/v4lsrc_calls.h: change try_palette to more general try_capture add autoprobe option so we can turn off autoprobing various fixes 2004-06-17 Thomas Vander Stichele * configure.ac: add videorate * sys/ximage/ximagesink.c: (gst_ximagesink_finalize), (gst_ximagesink_class_init): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_finalize), (gst_xvimagesink_class_init): run them as finalize, not dispose, since dispose can be invoked multiple times 2004-06-17 Wim Taymans * ext/alsa/gstalsa.c: (gst_alsa_init), (gst_alsa_dispose), (gst_alsa_get_time), (gst_alsa_xrun_recovery): * ext/alsa/gstalsa.h: * ext/alsa/gstalsaclock.c: (gst_alsa_clock_get_type): * ext/alsa/gstalsasrc.c: (gst_alsa_src_init), (gst_alsa_src_loop), (gst_alsa_src_change_state): * ext/alsa/gstalsasrc.h: Make the xrun code timestamp and offset the buffers correctly. moved the clock to the base class, use alsa methods to get time. Do correct timestamping on outgoing buffers. 2004-06-17 Wim Taymans * gst/audiorate/Makefile.am: * gst/audiorate/gstaudiorate.c: (gst_audiorate_get_type), (gst_audiorate_base_init), (gst_audiorate_class_init), (gst_audiorate_link), (gst_audiorate_init), (gst_audiorate_chain), (gst_audiorate_set_property), (gst_audiorate_get_property), (gst_audiorate_change_state), (plugin_init): Added an audiorate converter that fills in gaps. 2004-06-17 Johan Dahlin * ext/tcp/*: Revert Zaheer changes, to make things actually work again. 2004-06-16 Wim Taymans * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_get): * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_sync_mode_get_type), (gst_v4lsrc_class_init), (gst_v4lsrc_init), (gst_v4lsrc_get_fps), (gst_v4lsrc_get), (gst_v4lsrc_set_property), (gst_v4lsrc_get_property): * sys/v4l/gstv4lsrc.h: Added a copy mode to v4lsrc where it will output a copied version of its internal hardware buffer. Fix the wrong FLAG_SET usage. The flags are integers, not bits, you can't | them. 2004-06-16 Wim Taymans * sys/oss/gstosssrc.c: (gst_osssrc_get): Timestamp fixes. 2004-06-16 Wim Taymans * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_sync_mode_get_type), (gst_v4lsrc_class_init), (gst_v4lsrc_init), (gst_v4lsrc_get_fps), (gst_v4lsrc_get), (gst_v4lsrc_set_property), (gst_v4lsrc_get_property): * sys/v4l/gstv4lsrc.h: * sys/v4l/v4l-overlay_calls.c: (gst_v4l_set_overlay): Added a sync mode enum property to control v4lsrc timestamp method Removed the use-fixed-fps property and moved functionality in the enum. Don't error on an error value from v4l-conf, it might not always be a real error. 2004-06-16 Wim Taymans * gst/videorate/Makefile.am: * gst/videorate/gstvideorate.c: (gst_videorate_get_type), (gst_videorate_base_init), (gst_videorate_class_init), (gst_videorate_getcaps), (gst_videorate_link), (gst_videorate_init), (gst_videorate_chain), (gst_videorate_set_property), (gst_videorate_get_property), (gst_videorate_change_state), (plugin_init): Added a video timestamp corrector. 2004-06-15 Zaheer Abbas Merali fixed a potential leak with previous commit * gst-libs/gst/riff/riff-read.c: (gst_riff_peek_head): 2004-06-15 Zaheer Abbas Merali * gst-libs/gst/riff/riff-read.c: (gst_riff_peek_head): Added missing refcount, fixes bug #144425 Cheers Tim for finding the bug 2004-06-15 Thomas Vander Stichele * sys/v4l/gstv4l.c: (plugin_init): * sys/v4l/gstv4lcolorbalance.c: * sys/v4l/gstv4lcolorbalance.h: * sys/v4l/gstv4lelement.c: * sys/v4l/gstv4lelement.h: * sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_class_init): * sys/v4l/gstv4lmjpegsink.h: * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_class_init): * sys/v4l/gstv4lmjpegsrc.h: * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_get_fps_list), (gst_v4lsrc_get_fps), (gst_v4lsrc_srcconnect), (gst_v4lsrc_getcaps), (gst_v4lsrc_get): * sys/v4l/gstv4lsrc.h: * sys/v4l/gstv4ltuner.c: * sys/v4l/gstv4ltuner.h: * sys/v4l/gstv4lxoverlay.c: * sys/v4l/gstv4lxoverlay.h: * sys/v4l/v4l-overlay_calls.c: (gst_v4l_set_overlay), (gst_v4l_set_window), (gst_v4l_enable_overlay): * sys/v4l/v4l_calls.c: (gst_v4l_set_window_properties), (gst_v4l_open), (gst_v4l_get_picture), (gst_v4l_get_audio), (gst_v4l_set_audio): * sys/v4l/v4l_calls.h: * sys/v4l/v4lmjpegsink_calls.c: (gst_v4lmjpegsink_sync_thread), (gst_v4lmjpegsink_queue_frame), (gst_v4lmjpegsink_sync_frame), (gst_v4lmjpegsink_set_buffer), (gst_v4lmjpegsink_set_playback), (gst_v4lmjpegsink_playback_init), (gst_v4lmjpegsink_playback_start), (gst_v4lmjpegsink_get_buffer), (gst_v4lmjpegsink_play_frame), (gst_v4lmjpegsink_wait_frame), (gst_v4lmjpegsink_playback_stop), (gst_v4lmjpegsink_playback_deinit): * sys/v4l/v4lmjpegsink_calls.h: * sys/v4l/v4lmjpegsrc_calls.c: (gst_v4lmjpegsrc_queue_frame), (gst_v4lmjpegsrc_sync_next_frame), (gst_v4lmjpegsrc_set_buffer), (gst_v4lmjpegsrc_set_capture), (gst_v4lmjpegsrc_set_capture_m), (gst_v4lmjpegsrc_capture_init), (gst_v4lmjpegsrc_capture_start), (gst_v4lmjpegsrc_grab_frame), (gst_v4lmjpegsrc_requeue_frame), (gst_v4lmjpegsrc_capture_stop), (gst_v4lmjpegsrc_capture_deinit): * sys/v4l/v4lmjpegsrc_calls.h: * sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_queue_frame), (gst_v4lsrc_sync_frame), (gst_v4lsrc_set_capture), (gst_v4lsrc_capture_init), (gst_v4lsrc_capture_start), (gst_v4lsrc_grab_frame), (gst_v4lsrc_requeue_frame), (gst_v4lsrc_capture_stop), (gst_v4lsrc_capture_deinit), (gst_v4lsrc_try_palette): * sys/v4l/v4lsrc_calls.h: bunch of paranoia cleanups 2004-06-14 David Schleef * ext/cdparanoia/gstcdparanoia.c: (cdparanoia_init), (cdparanoia_get), (cdparanoia_open), (cdparanoia_change_state): Send discont events and change timestamps appropriately when we get a seek event. (bug #144240) * ext/cdparanoia/gstcdparanoia.h: 2004-06-14 Benjamin Otte * ext/alsa/gstalsa.c: Use snd_pcm_hw_params_set_rate _near instead of snd_pcm_hw_params_set_rate since the latter fails for no good reason on some setups. 2004-06-14 David Schleef * gst/volume/demo.c: (value_changed_callback): exp10() is not standard. Thank you for playing. 2004-06-14 Wim Taymans * gst/ffmpegcolorspace/imgconvert.c: (img_convert): Patch 1.3 broke the ordering of the colorspace info and made the plugin basically work by coincidence, reordered the info. 2004-06-14 Thomas Vander Stichele * ext/lame/gstlame.c: * ext/mad/gstmad.c: sync caps. Make sure mad can only output a list of rates, not a full range. In the future, have three caps lists for each of the mpeg versions. Change mpegversion to a double as well. 2004-06-14 Thomas Vander Stichele * gst/volume/.cvsignore: * gst/volume/Makefile.am: * gst/volume/demo.c: (value_changed_callback), (idler), (setup_gui), (main): added small demo app 2004-06-13 Jan Schmidt * ext/esd/esdsink.c: (gst_esdsink_change_state): * ext/esd/esdsink.h: Close the esd connection on pause, because esd will just wait - blocking all other esd clients indefinitely. 2004-06-12 Christophe Fergeau * gst/tags/gstvorbistag.c: replaced a g_warning which I added in my previous commit with GST_DEBUG 2004-06-12 Thomas Vander Stichele * configure.ac: add a header check for a dvdread header in dvdnav. Fixes #133002 2004-06-12 Zaheer Abbas Merali * gst/tcp/gsttcpclientsink.c: (gst_tcpclientsink_init_send): * gst/tcp/gsttcpclientsink.h: * gst/tcp/gsttcpclientsrc.c: (gst_tcpclientsrc_init_receive): * gst/tcp/gsttcpclientsrc.h: * gst/tcp/gsttcpserversink.c: (gst_tcpserversink_init), (gst_tcpserversink_handle_server_read), (gst_tcpserversink_init_send): * gst/tcp/gsttcpserversink.h: * gst/tcp/gsttcpserversrc.c: (gst_tcpserversrc_init_receive): * gst/tcp/gsttcpserversrc.h: Modified the tcp plugins so they are portable (IPv4,IPv6, any future version of IP) 2004-06-12 Zaheer Abbas Merali * configure.ac: Added ogg library so that OSX detects libtheora properly 2004-06-11 Wim Taymans * ext/theora/theoradec.c: (theora_dec_chain), (theora_dec_change_state): Don't try to decode frames before we received a keyframe. 2004-06-11 Wim Taymans * ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init), (gst_ogg_mux_init), (gst_ogg_mux_next_buffer), (gst_ogg_mux_get_headers), (gst_ogg_mux_set_header_on_caps), (gst_ogg_mux_send_headers), (gst_ogg_mux_loop), (gst_ogg_mux_get_property), (gst_ogg_mux_set_property): Added property to set the maximum delay of a page. 2004-06-10 Wim Taymans * ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init), (gst_ogg_mux_init), (gst_ogg_mux_next_buffer), (gst_ogg_mux_get_headers), (gst_ogg_mux_set_header_on_caps), (gst_ogg_mux_send_headers), (gst_ogg_mux_loop), (gst_ogg_mux_get_property), (gst_ogg_mux_set_property): Added max-delay property to control the maximum amount of data to put in one page. 2004-06-10 Wim Taymans * ext/theora/theoraenc.c: (gst_theora_enc_class_init), (gst_theora_enc_init), (theora_enc_sink_link), (theora_buffer_from_packet), (theora_enc_set_property), (theora_enc_get_property): Set duration on encoded buffer, added some more properties 2004-06-10 Wim Taymans * ext/ogg/gstoggmux.c: (gst_ogg_mux_next_buffer), (gst_ogg_mux_get_headers), (gst_ogg_mux_set_header_on_caps), (gst_ogg_mux_send_headers), (gst_ogg_mux_loop): * ext/theora/theoraenc.c: (theora_enc_chain): Fix refcounting bugs 2004-06-10 Ronald Bultje * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_init), (gst_asf_demux_loop), (gst_asf_demux_process_file), (gst_asf_demux_process_data), (gst_asf_demux_handle_data), (gst_asf_demux_process_object), (gst_asf_demux_get_stream), (gst_asf_demux_process_chunk), (gst_asf_demux_handle_sink_event), (gst_asf_demux_handle_src_event), (gst_asf_demux_handle_src_query), (gst_asf_demux_change_state): * gst/asfdemux/gstasfdemux.h: You know Chimaira? "I - HATE - EVERYTHING". Yeah, that's what this feels like. I think we should set a new requirement for demuxers from now on to implement sane loop functions, data loops, query and seek functions before first commit into CVS. And this commit fixes all of the above. 2004-06-10 Christophe Fergeau * gst/tags/gstvorbistag.c: (gst_vorbis_tag_add): make sure parsed vorbis comments are properly encoded in UTF-8 before adding them to a GstTagList 2004-06-09 Benjamin Otte * ext/alsa/gstalsa.c: (add_channels): handle min <= max correctly * ext/alsa/gstalsa.c: (gst_alsa_fixate_to_mimetype), (gst_alsa_fixate_field_nearest_int), (gst_alsa_fixate): add fixation functions so we fixate correctly. No preferring of alaw anymore because it's the first structure. * ext/alsa/gstalsa.h: * ext/alsa/gstalsa.c: (gst_alsa_sw_params_dump), (gst_alsa_hw_params_dump): add functions to ease debugging in alsalib * ext/alsa/gstalsa.c: (gst_alsa_probe_hw_params), (gst_alsa_set_hw_params), (gst_alsa_set_sw_params), (gst_alsa_start_audio): only specify hw params if we really setup a format (fixes #134007 - or at least works around it) 2004-06-09 Wim Taymans * ext/ogg/gstoggmux.c: (gst_ogg_mux_init), (gst_ogg_mux_next_buffer), (gst_ogg_mux_buffer_from_page), (gst_ogg_mux_push_page), (gst_ogg_mux_get_headers), (gst_ogg_mux_set_header_on_caps), (gst_ogg_mux_send_headers), (gst_ogg_mux_loop): Use stream caps to setup the initial pages in the ogg stream. Correctly set the streamheader caps on the srcpad. 2004-06-09 Thomas Vander Stichele * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_get_fps_list), (gst_v4lsrc_get_fps), (gst_v4lsrc_srcconnect), (gst_v4lsrc_getcaps): * sys/v4l/v4l_calls.c: (gst_v4l_set_window_properties), (gst_v4l_get_picture), (gst_v4l_get_audio), (gst_v4l_set_audio): add querying of fps lists for webcams. Negotiating to a framerate now works. 2004-06-08 Thomas Vander Stichele * ext/theora/theoraenc.c: (theora_buffer_from_packet), (theora_push_buffer), (theora_push_packet), (theora_set_header_on_caps), (theora_enc_chain): mark buffers and put on streamheader, raw theora streaming now works too, whee 2004-06-08 Thomas Vander Stichele * gst/tcp/gsttcp.c: (gst_tcp_gdp_read_header), (gst_tcp_gdp_read_caps): do a looping read for caps and GDP headers too 2004-06-08 Thomas Vander Stichele * gst/tcp/gsttcpclientsrc.c: (gst_tcpclientsrc_get): * gst/tcp/gsttcpserversrc.c: (gst_tcpserversrc_get): return EOS instead of NULL in _get 2004-06-08 Wim Taymans * gst/tcp/gsttcp.c: (gst_tcp_gdp_read_header), (gst_tcp_gdp_read_caps), (gst_tcp_gdp_write_header), (gst_tcp_gdp_write_caps): * gst/tcp/gsttcpclientsrc.c: (gst_tcpclientsrc_get): * gst/tcp/gsttcpserversrc.c: (gst_tcpserversrc_gdp_read_caps), (gst_tcpserversrc_gdp_read_header), (gst_tcpserversrc_get): Memory leak fixes 2004-06-08 Thomas Vander Stichele * ext/vorbis/Makefile.am: * ext/vorbis/vorbis.c: (plugin_init): * ext/vorbis/vorbisparse.c: (gst_vorbis_parse_base_init), (gst_vorbis_parse_class_init), (gst_vorbis_parse_init), (vorbis_parse_set_header_on_caps), (vorbis_parse_chain), (vorbis_parse_change_state): * ext/vorbis/vorbisparse.h: adding a vorbisparse element that marks the buffers, streaming raw vorbis using GDP now works, whee 2004-06-08 Wim Taymans * ext/jpeg/Makefile.am: * ext/jpeg/README: * ext/jpeg/gstjpeg.c: (plugin_init): * ext/jpeg/gstsmokedec.c: (gst_smokedec_get_type), (gst_smokedec_base_init), (gst_smokedec_class_init), (gst_smokedec_init), (gst_smokedec_link), (gst_smokedec_chain): * ext/jpeg/gstsmokedec.h: * ext/jpeg/gstsmokeenc.c: (gst_smokeenc_get_type), (gst_smokeenc_base_init), (gst_smokeenc_class_init), (gst_smokeenc_init), (gst_smokeenc_getcaps), (gst_smokeenc_link), (gst_smokeenc_resync), (gst_smokeenc_chain), (gst_smokeenc_set_property), (gst_smokeenc_get_property): * ext/jpeg/gstsmokeenc.h: * ext/jpeg/smokecodec.c: (smokecodec_init_destination), (smokecodec_flush_destination), (smokecodec_term_destination), (smokecodec_init_source), (smokecodec_fill_input_buffer), (smokecodec_skip_input_data), (smokecodec_resync_to_restart), (smokecodec_term_source), (smokecodec_encode_new), (smokecodec_decode_new), (smokecodec_info_free), (smokecodec_set_quality), (smokecodec_get_quality), (smokecodec_set_threshold), (smokecodec_get_threshold), (smokecodec_set_bitrate), (smokecodec_get_bitrate), (find_best_size), (abs_diff), (put), (smokecodec_encode), (smokecodec_parse_header), (smokecodec_decode): * ext/jpeg/smokecodec.h: Added a new simple jpeg based codec 2004-06-08 Wim Taymans * gst/multipart/multipartmux.c: (gst_multipart_mux_class_init), (gst_multipart_mux_loop): Fix memory leak 2004-06-08 Thomas Vander Stichele * gst/tcp/gsttcpclientsrc.c: (gst_tcpclientsrc_get): * gst/tcp/gsttcpserversink.c: (gst_tcpserversink_client_remove), (gst_tcpserversink_handle_client_read), (gst_tcp_buffer_write), (gst_tcpserversink_handle_client_write), (gst_tcpserversink_chain), (gst_tcpserversink_init_send), (gst_tcpserversink_close): * gst/tcp/gsttcpserversink.h: take streamheader into account 2004-06-08 Thomas Vander Stichele * gst/level/Makefile.am: * gst/level/gstlevel.c: (gst_level_class_init): clean up marshal generation 2004-06-08 Thomas Vander Stichele * gst/tcp/Makefile.am: * gst/tcp/gsttcpclientsink.c: (gst_tcpclientsink_get_type), (gst_tcpclientsink_class_init), (gst_tcpclientsink_init), (gst_tcpclientsink_set_property), (gst_tcpclientsink_get_property): * gst/tcp/gsttcpclientsrc.c: (gst_tcpclientsrc_class_init), (gst_tcpclientsrc_init), (gst_tcpclientsrc_set_property), (gst_tcpclientsrc_get_property): * gst/tcp/gsttcpserversink.c: (gst_tcpserversink_class_init), (gst_tcpserversink_init), (gst_tcpserversink_handle_server_read), (gst_tcpserversink_handle_client_read), (gst_tcpserversink_handle_client_write), (gst_tcpserversink_set_property), (gst_tcpserversink_get_property): * gst/tcp/gsttcpserversink.h: add signals client-added and client-removed * gst/tcp/gsttcpserversrc.c: (gst_tcpserversrc_class_init), (gst_tcpserversrc_init), (gst_tcpserversrc_set_property), (gst_tcpserversrc_get_property): uniformized, change default protocol to NONE * gst/tcp/gsttcp-marshal.list: added 2004-06-07 Benjamin Otte * ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event): handle discont events if they happen before caps nego 2004-06-07 Wim Taymans * gst/multipart/multipartdemux.c: (gst_multipart_demux_base_init), (gst_multipart_find_pad_by_mime), (gst_multipart_demux_chain), (gst_multipart_demux_plugin_init): * gst/multipart/multipartmux.c: (gst_multipart_mux_class_init), (gst_multipart_mux_init), (gst_multipart_mux_loop), (gst_multipart_mux_change_state): Small updates, fix a memleak 2004-06-07 Stephane Loeuillet * configure.ac: OSS portability * ext/arts/gst_arts.c: idem * sys/oss/gstosselement.c: idem * sys/oss/gstossmixer.c: idem * sys/oss/gstosssink.c: idem * sys/oss/gstosssrc.c: idem * sys/oss/oss_probe.c: idem - check for soundcard.h in different places for some BSD 2004-06-07 Jan Schmidt * AUTHORS: Add me to the authors file * configure.ac: Increase the libdv requirement to >= version 0.100 * ext/dv/gstdvdec.c: (gst_dvdec_init), (gst_dvdec_src_convert), (gst_dvdec_src_query), (gst_dvdec_handle_sink_event), (gst_dvdec_push), (gst_dvdec_loop), (gst_dvdec_change_state): * ext/dv/gstdvdec.h: Add support for the new_media flag when sending DISCONT events Make the querying work when video pad is not linked 2004-06-07 Tim-Philipp Müller reviewed by Benjamin Otte * gst/mixmatrix/mixmatrix.c: (gst_mixmatrix_init): create a NULL-initialized array of pads, so we don't think they exist already. (fixes #143130) 2004-06-07 Benjamin Otte * gst/mixmatrix/mixmatrix.c: (gst_mixmatrix_init), (mixmatrix_resize), (gst_mixmatrix_set_all_caps), (gst_mixmatrix_request_new_pad), (gst_mixmatrix_loop): don't use // coments 2004-06-07 Benjamin Otte * ext/alsa/gstalsa.c: (gst_alsa_samples_to_timestamp): cast to GstClockTime to get higher granularity * ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event): use gst_element_set_time_delay to get the exact time * ext/mad/gstmad.c: (gst_mad_chain): use the negotiated rate instead of the current frame's rate which might be wrong because of bit errors. This avoids emitting totally bogus timestamps and screwing sync. (fixes #143454) 2004-06-07 Tim-Philipp Müller reviewed by Benjamin Otte * gst/adder/gstadder.c: (gst_adder_loop): properly error out when no negotiation has happened yet. (fixes #143032) 2004-06-06 Benjamin Otte * ext/mad/gstid3tag.c: (gst_id3_tag_handle_event): forward correctly transformed offset in discont events. Based on patch by Arwed v. Merkatz. (fixes #142851) 2004-06-06 David Schleef * gst/ffmpegcolorspace/gstffmpegcodecmap.c: that's G_HAVE_GNUC_VARARGS, not G_HAVE_GNU_VARARGS. Should fix compile problems on several systems. 2004-06-06 Benjamin Otte * ext/vorbis/vorbisdec.c: (gst_vorbis_dec_init): use explicit caps on the srcpad * ext/vorbis/vorbisdec.c: (vorbis_dec_chain): properly error out if caps couldn't be set (fixes #142764) 2004-06-06 Benjamin Otte * ext/alsa/gstalsa.c: (gst_alsa_probe_hw_params), (gst_alsa_set_hw_params), (gst_alsa_set_sw_params), (gst_alsa_start_audio): - don't call set_periods_integer anymore, it breaks the configuration randomly - call snd_pcm_hw_params_set_access directly instead of using masks - don't fail if the sw_params can't be set, just use the default params and hope it works. Alsalib has weird issues when you touch sw_params and does no proper error reporting about what failed. * ext/alsa/gstalsa.c: (gst_alsa_open_audio), (gst_alsa_close_audio): make our alsa debugging go via gst debugging and not conditionally defined * ext/alsa/gstalsa.h: add ALSA_DEBUG_FLUSH macro * ext/alsa/gstalsaplugin.c: (gst_alsa_error_wrapper), (plugin_init): wrap alsa errors to be printed via the gst debugging system and not spammed to stderr 2004-06-04 Ronald Bultje * gst/qtdemux/qtdemux.c: (gst_qtdemux_init), (gst_qtdemux_handle_src_query), (gst_qtdemux_handle_src_event), (gst_qtdemux_handle_sink_event), (gst_qtdemux_change_state), (gst_qtdemux_loop_header), (qtdemux_dump_mvhd), (qtdemux_parse_trak): * gst/qtdemux/qtdemux.h: Bitch. Also known as seeking, querying & co. * sys/oss/gstosssink.c: (gst_osssink_init), (gst_osssink_chain), (gst_osssink_change_state): * sys/oss/gstosssink.h: Resyncing is for weenies, this hack is no longer needed and was broken anyway (since it - unintendedly - always leaves resync to TRUE). 2004-06-05 Andrew Turner * gst/tcp/gsttcp.c: portability (Solaris 10/FreeBSD) * gst/tcp/gsttcpclientsrc.h: idem - define MSG_NOSIGNAL if not done - include unistd.h for off_t (fixes #143749) 2004-06-05 Benjamin Otte * configure.ac: * ext/kio/Makefile.am: check for qt's moc preprocessor explicitly and use it 2004-06-03 Thomas Vander Stichele * gst/tcp/gsttcp.c: (gst_tcp_socket_write): don't get a signal for EPIPE on socket writes (somebody check if this works on other platforms) 2004-06-02 Thomas Vander Stichele * ext/alsa/gstalsaclock.c: (gst_alsa_clock_get_type): * ext/alsa/gstalsasrc.c: (gst_alsa_src_loop): check error condition on available samples correctly 2004-06-02 Thomas Vander Stichele * ext/alsa/gstalsasrc.c: (gst_alsa_src_get_time): avoid a segfault * gst/tcp/gsttcp.c: (gst_tcp_socket_write), (gst_tcp_socket_read), (gst_tcp_gdp_read_header), (gst_tcp_gdp_read_caps): * gst/tcp/gsttcpserversrc.c: (gst_tcpserversrc_gdp_read_caps), (gst_tcpserversrc_gdp_read_header): use ssize_t over size_t since the former is signed and thus the check for error codes can work 2004-06-02 Wim Taymans reviewed by: Johan * gst/multipart/multipartmux.c: (gst_multipart_mux_class_init), (gst_multipart_mux_loop): Oops 2004-06-02 Wim Taymans * gst/multipart/multipartmux.c: (gst_multipart_mux_class_init), (gst_multipart_mux_init), (gst_multipart_mux_loop), (gst_multipart_mux_get_property), (gst_multipart_mux_set_property), (gst_multipart_mux_change_state): Added configurable boundary specifier, added the value as a caps field as well. 2004-06-02 Zaheer Abbas Merali * gst/tcp/gsttcp.c: * gst/tcp/gsttcpclientsrc.c: * gst/tcp/gsttcpclientsrc.h: * gst/tcp/gsttcpserversrc.c: - portability fix, to compile on OSX (fixes #143146) * sys/osxaudio/gstosxaudioelement.c: * sys/osxaudio/gstosxaudiosink.c: * sys/osxaudio/gstosxaudiosrc.c: - compilation warnings on OSX (fixes #143153) 2004-06-02 Stephane Loeuillet * ext/vorbis/vorbisdec.c : sign warning fixes * gst-libs/gst/mixer/mixertrack.c : do no use defines which are glib 2.4 specific 2004-06-01 Christophe Fergeau * ext/flac/gstflactag.c: strip ending framing bit from vorbiscomment buffer since libflac doesn't expect it (reports a sync error when it encounters that) 2004-06-01 Owen Fraser-Green * gst-libs/gst/mixer/mixertrack.h: Changed struct syntax * gst-libs/gst/mixer/mixertrack.c: (gst_mixer_track_get_property), (get_mixer_track_init), (get_mixer_track_get_property): Added property accessors * gst-libs/gst/mixer/mixeroptions.h: Changed struct syntax * gst-libs/gst/mixer/mixeroptions.c: (gst_mixer_options_get_values): Added * gst-libs/gst/mixer/mixer.h: Changed GstMixerClass syntax * gst-libs/gst/mixer/mixer.c: Fixed comment 2004-06-01 Thomas Vander Stichele * ext/alsa/gstalsa.c: (gst_alsa_open_audio): improve error messages on open 2004-06-01 Thomas Vander Stichele * sys/v4l/v4l-overlay_calls.c: (gst_v4l_set_overlay): check if v4l-conf is in path 2004-06-01 Thomas Vander Stichele * gst-libs/gst/media-info/media-info-priv.c: (gmi_set_mime): change assert to a more readable error message 2004-05-31 Stephane Loeuillet * gst-libs/gst/tuner/tunerchannel.h: - add a freq_multiplicator field to make the conversion between internal frequency unit and Hz * sys/v4l/gstv4lelement.c: * sys/v4l2/gstv4l2element.c: - change default video device to /dev/video0 * sys/v4l/v4l_calls.c: * sys/v4l2/v4l2_calls.c: - we only expose frequency to the user in Hz instead of bastard v4lX unit (either 62.5kHz or 62.5Hz) 2004-05-31 Jan Schmidt * ext/vorbis/vorbisdec.c: (vorbis_dec_chain): Initialise b_o_s and e_o_s variables * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps_with_data): Add some unusual fourcc's from mplayer avi's * gst/multipart/multipartmux.c: (gst_multipart_mux_plugin_init): Make the muxer have rank GST_RANK_NONE, so it doesn't mess up autoplugging. 2004-05-28 Wim Taymans * configure.ac: * gst/alpha/Makefile.am: * gst/alpha/gstalpha.c: (gst_alpha_method_get_type), (gst_alpha_get_type), (gst_alpha_base_init), (gst_alpha_class_init), (gst_alpha_init), (gst_alpha_set_property), (gst_alpha_get_property), (gst_alpha_sink_link), (gst_alpha_add), (gst_alpha_chroma_key), (gst_alpha_chain), (gst_alpha_change_state), (plugin_init): A plugin to add an alpha channel to I420 video. Can optionally do chroma keying. * gst/multipart/Makefile.am: * gst/multipart/multipart.c: (plugin_init): * gst/multipart/multipartdemux.c: (gst_multipart_demux_base_init), (gst_multipart_demux_class_init), (gst_multipart_demux_init), (gst_multipart_demux_finalize), (gst_multipart_demux_handle_event), (gst_multipart_find_pad_by_mime), (gst_multipart_demux_chain), (gst_multipart_demux_change_state), (gst_multipart_demux_plugin_init): * gst/multipart/multipartmux.c: (gst_multipart_mux_get_type), (gst_multipart_mux_base_init), (gst_multipart_mux_class_init), (gst_multipart_mux_get_sink_event_masks), (gst_multipart_mux_init), (gst_multipart_mux_sinkconnect), (gst_multipart_mux_pad_link), (gst_multipart_mux_pad_unlink), (gst_multipart_mux_request_new_pad), (gst_multipart_mux_handle_src_event), (gst_multipart_mux_next_buffer), (gst_multipart_mux_compare_pads), (gst_multipart_mux_queue_pads), (gst_multipart_mux_loop), (gst_multipart_mux_get_property), (gst_multipart_mux_set_property), (gst_multipart_mux_change_state), (gst_multipart_mux_plugin_init): A Multipart demuxer/muxer. Not sure if it violates specs. Used to send multipart jpeg images to a browser. * gst/videobox/Makefile.am: * gst/videobox/README: * gst/videobox/gstvideobox.c: (gst_video_box_fill_get_type), (gst_video_box_get_type), (gst_video_box_base_init), (gst_video_box_class_init), (gst_video_box_init), (gst_video_box_set_property), (gst_video_box_get_property), (gst_video_box_sink_link), (gst_video_box_i420), (gst_video_box_ayuv), (gst_video_box_chain), (gst_video_box_change_state), (plugin_init): Crops or adds borders around an image. can do alpha channel borders as well. * gst/videomixer/Makefile.am: * gst/videomixer/README: * gst/videomixer/videomixer.c: (gst_videomixer_pad_get_type), (gst_videomixer_pad_base_init), (gst_videomixer_pad_class_init), (gst_videomixer_pad_get_sink_event_masks), (gst_videomixer_pad_get_property), (gst_videomixer_pad_set_property), (gst_videomixer_pad_sinkconnect), (gst_videomixer_pad_link), (gst_videomixer_pad_unlink), (gst_videomixer_pad_init), (gst_video_mixer_background_get_type), (gst_videomixer_get_type), (gst_videomixer_base_init), (gst_videomixer_class_init), (gst_videomixer_init), (gst_videomixer_request_new_pad), (gst_videomixer_handle_src_event), (gst_videomixer_blend_ayuv_i420), (gst_videomixer_fill_checker), (gst_videomixer_fill_color), (gst_videomixer_fill_queues), (gst_videomixer_blend_buffers), (gst_videomixer_update_queues), (gst_videomixer_loop), (gst_videomixer_get_property), (gst_videomixer_set_property), (gst_videomixer_change_state), (plugin_init): Generic video mixer plugin, can handle multiple inputs all with different framerates and video sizes. Is fully alpha channel aware. 2004-05-27 Ronald Bultje * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_build_list): Select first track as master track. Not sure how else to handle that... * ext/ogg/gstoggmux.c: (gst_ogg_mux_next_buffer): Discard discont events. Should fix #142962. 2004-05-26 Ronald Bultje * ext/alsa/Makefile.am: * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_interface_init), (gst_alsa_mixer_build_list), (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/gstalsamixeroptions.c: (gst_alsa_mixer_options_get_type), (gst_alsa_mixer_options_class_init), (gst_alsa_mixer_options_init), (gst_alsa_mixer_options_new): * ext/alsa/gstalsamixeroptions.h: * ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_new): * ext/alsa/gstalsamixertrack.h: Add enumerations (as GstMixerOptions). Make correct distinction between input/output tracks. Add capture/playback private flag. Use flag to decide on whether to set capture or playback volumes or switches. Use playback and record switches. * gst-libs/gst/mixer/Makefile.am: * gst-libs/gst/mixer/mixer-marshal.list: * gst-libs/gst/mixer/mixer.c: (gst_mixer_class_init), (gst_mixer_set_option), (gst_mixer_get_option), (gst_mixer_mute_toggled), (gst_mixer_record_toggled), (gst_mixer_volume_changed), (gst_mixer_option_changed): * gst-libs/gst/mixer/mixer.h: * gst-libs/gst/mixer/mixeroptions.c: (gst_mixer_options_get_type), (gst_mixer_options_class_init), (gst_mixer_options_init), (gst_mixer_options_dispose): * gst-libs/gst/mixer/mixeroptions.h: Add GstMixerOptions. * sys/oss/gstosselement.c: (gst_osselement_class_probe_devices): Rename Audio Mixer to OSS Mixer (similar to Alsa Mixer). Fix broken device detection on computers with multiple OSS sound cards. 2004-05-26 Benjamin Otte * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_fixate): fixate nicely even when the peer is not negotiating 2004-05-25 Benjamin Otte * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_parse_caps): make sure we don't allow depth > width * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_fixate): fixate endianness to G_BYTE_ORDER as default * gst/audioscale/gstaudioscale.c: we don't handle another endianness as host-endianness 2004-05-25 David Schleef * gst/ffmpegcolorspace/mem.c: malloc() is in stdlib.h, not malloc.h 2004-05-24 Benjamin Otte * ext/vorbis/oggvorbisenc.c: (gst_oggvorbisenc_sinkconnect), (gst_oggvorbisenc_setup): properly fail when we can't setup the vorbis encoder due to unsupported settings * ext/vorbis/vorbisenc.c: (gst_vorbisenc_sinkconnect), (gst_vorbisenc_setup): same * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link): fix case where warnings occured when one pad was unlinked while the other's link function was called 2004-05-24 Thomas Vander Stichele * gst/tcp/Makefile.am: use GST_ENABLE_NEW 2004-05-24 Benjamin Otte * gst-libs/gst/resample/private.h: don't use optimizations that are #if 0'ed 2004-05-24 Wim Taymans * gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query): Fix potential division by zero error and hopefully get the position query right to get correct timestamps on avi audio. 2004-05-24 Wim Taymans * gst/videoscale/videoscale.c: (gst_videoscale_scale_nearest), (gst_videoscale_scale_nearest_str2), (gst_videoscale_scale_nearest_str4), (gst_videoscale_scale_nearest_32bit), (gst_videoscale_scale_nearest_24bit), (gst_videoscale_scale_nearest_16bit): Fix the scaling algorithm and avoid a buffer overflow. removed the while loop in the scaling function as it was used for point sampling only. 2004-05-24 Benjamin Otte * ext/mad/gstid3tag.c: (gst_id3_tag_get_type), (gst_id3_tag_class_init), (gst_id3_tag_init), (gst_id3_tag_set_property), (gst_id3_tag_get_tag_to_render), (gst_id3_tag_handle_event), (gst_id3_tag_do_caps_nego), (gst_id3_tag_send_tag_event): lots of fixes to make id3mux work and id3demux work correctly 2004-05-24 Stephane Loeuillet * ext/Makefile.am: add rules to build shout2send (was removed by accident when this module was no more marked experimental/broken) 2004-05-24 Zaheer Abbas Merali * ext/shout2/gstshout2.c: * ext/shout2/gstshout2.h: adding a "connection problem" signal to shout2send (fixes #142954) 2004-05-21 Thomas Vander Stichele * ext/kio/kioreceiver.cpp: * ext/kio/kioreceiver.h: fix sign comparison issues 2004-05-21 Stephane Loeuillet * gst/cdxaparse/gstcdxaparse.c: * gst/cdxaparse/gstcdxaparse.h: some renaming add some checks/sanity prepare for seek addition * sys/sunaudio/gstsunaudio.c: remove exported dupe init function 2004-05-21 Jan Schmidt * ext/dv/gstdvdec.c: (gst_dvdec_init), (gst_dvdec_get_formats), (gst_dvdec_src_convert), (gst_dvdec_sink_convert): Fix format conversion and position querying. * gst/debug/progressreport.c: (gst_progressreport_report): Don't output a bogus total value that we didn't query. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support): Always set XV_AUTOPAINT_COLORKEY to true. Fixes xvimagesink showing only a blank window after xine has been used. 2004-05-21 Thomas Vander Stichele * m4/as-arts.m4: sync with upstream version to fix test on FC2 readd with -ko to preserve Id header 2004-05-20 Stephane Loeuillet * configure.ac: test for FIONREAD ioctl in sys/filio.h for Solaris compat. * gst/tcp/gsttcpclientsrc.c: idem * gst/tcp/gsttcpserversink.c: idem * gst/tcp/gsttcpserversrc.c: idem * m4/gst-fionread.m4: idem * sys/sunaudio/gstsunaudio.c: change category to Sink/Audio * configure.ac: enable speex plugin for speex 1.1.5+ * ext/speex/gstspeexenc.c: fix cast warning * ext/esd/README: fix typo 2004-05-20 David Schleef * configure.ac: Minor cosmetic change to convince the buildbot to reautogen. * sys/sunaudio/gstsunaudio.c: (gst_sunaudiosink_class_init), (gst_sunaudiosink_init), (gst_sunaudiosink_getcaps), (gst_sunaudiosink_pad_link), (gst_sunaudiosink_chain), (gst_sunaudiosink_setparams), (gst_sunaudiosink_open), (gst_sunaudiosink_close), (gst_sunaudiosink_change_state), (gst_sunaudiosink_set_property), (gst_sunaudiosink_get_property): More hacking. Plays audio now. 2004-05-20 David Schleef * configure.ac: * sys/Makefile.am: 2004-05-20 David Schleef * sys/osxaudio/Makefile.am: New OS X audio plugin by Zaheer Abbas Merali * sys/osxaudio/gstosxaudio.c: * sys/osxaudio/gstosxaudioelement.c: * sys/osxaudio/gstosxaudioelement.h: * sys/osxaudio/gstosxaudiosink.c: * sys/osxaudio/gstosxaudiosink.h: * sys/osxaudio/gstosxaudiosrc.c: * sys/osxaudio/gstosxaudiosrc.h: 2004-05-20 Thomas Vander Stichele * ext/vorbis/vorbisenc.c: (gst_vorbisenc_set_header_on_caps), (gst_vorbisenc_chain): put the codec headers on the caps as streamheader as well as pushing them out 2004-05-20 Thomas Vander Stichele * ext/vorbis/vorbisenc.c: (vorbis_granule_time_copy), (gst_vorbisenc_buffer_from_packet), (gst_vorbisenc_push_buffer), (gst_vorbisenc_push_packet), (gst_vorbisenc_chain): split up push_packet into two functions 2004-05-20 Thomas Vander Stichele * gst/tcp/.cvsignore: ignore enums * gst/tcp/Makefile.am: * gst/tcp/README: * gst/tcp/gsttcp.c: * gst/tcp/gsttcp.h: * gst/tcp/gsttcpclientsink.c: * gst/tcp/gsttcpclientsink.h: * gst/tcp/gsttcpclientsrc.c: * gst/tcp/gsttcpclientsrc.h: * gst/tcp/gsttcpplugin.c: * gst/tcp/gsttcpserversink.c: * gst/tcp/gsttcpserversink.h: * gst/tcp/gsttcpserversrc.c: * gst/tcp/gsttcpserversrc.h: add new tcp elements 2004-05-19 Wim Taymans * gst/law/mulaw-conversion.c: (mulaw_encode): Fix overflow bug in ulaw encoding. 2004-05-19 Benjamin Otte * ext/mad/gstmad.c: (gst_mad_handle_event): don't unref the event twice 2004-05-19 Benjamin Otte * configure.ac: remove -Wno-sign-compare 2004-05-19 Benjamin Otte * configure.ac: remove -DG_DISABLE_DEPRECATED. It's not usable without workarounds if you want to work against glib 2.2 and 2.4 2004-05-19 Thomas Vander Stichele * gst/tcp/Makefile.am: * gst/tcp/gsttcp.c: * gst/tcp/gsttcp.h: * gst/tcp/gsttcpsink.h: * gst/tcp/gsttcpsrc.h: gsttcp -> gsttcpplugin + CVS surgery in preparation for tcp merge 2004-05-19 Benjamin Otte * gst/debug/tests.c: (md5_get_value): fix segfault on gst-inspect 2004-05-19 Benjamin Otte * gst/debug/testplugin.c: * gst/debug/tests.c: * gst/debug/tests.h: add new extensible and configurable testing element. Current tests include buffer count, stream length, timestamp/duration matching and md5. * gst/debug/Makefile.am: * gst/debug/gstdebug.c: (plugin_init): add infrastructure for new element 2004-05-19 Johan Dahlin * ext/dv/gstdvdec.c (gst_dvdec_quality_get_type): Add proper ending of the array. Fixes gst-inspect segfault on ppc. 2004-05-19 Stephane Loeuillet * ext/dirac/gstdiracdec.cc : change category to Codec/Decoder/Video * m4/a52.m4 : don't fix a test that should fail with current a52dec lib 2004-05-18 David Schleef * gst/ffmpegcolorspace/imgconvert.c: (img_convert): Fixes for warnings (bugs, actually) noticed by gcc but not forte. 2004-05-18 David Schleef * sys/sunaudio/Makefile.am: * sys/sunaudio/gstsunaudio.c: New sunaudiosink 2004-05-18 David Schleef * gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state), (gst_qtdemux_loop_header): Patch from dcm@acm.org (David Moore) to allow qtdemux to use non-seekable streams. (bug #142272) 2004-05-18 David Schleef * gst-libs/gst/resample/resample.c: (gst_resample_sinc_ft_s16), (gst_resample_sinc_ft_float): Remove use of static temporary buffer. This code was obviously not supposed to last long, but it's stuck in our ABI, so it required a little hack to make it ABI-compatible. Fixes #142585. * gst-libs/gst/resample/resample.h: same. 2004-05-18 David Schleef * configure.ac: Add sunaudio * examples/Makefile.am: make gstplay depend on gconf * gst/ffmpegcolorspace/gstffmpegcodecmap.c: Remove c99-isms * gst/ffmpegcolorspace/imgconvert.c: (build_rgb_palette), (convert_table_lookup), (img_convert): remove c99-isms * gst/ffmpegcolorspace/imgconvert_template.h: make a constant unsigned, to fix a warning on Solaris * gst/mpeg1sys/systems.c: bcopy->memcpy * gst/rtjpeg/RTjpeg.c: (RTjpeg_yuvrgb8): bcopy->memcpy * sys/Makefile.am: Add sunaudio 2004-05-18 Wim Taymans * ext/ogg/gstoggmux.c: (gst_ogg_mux_get_type), (gst_ogg_mux_init), (gst_ogg_mux_sinkconnect), (gst_ogg_mux_request_new_pad), (gst_ogg_mux_next_buffer), (gst_ogg_mux_push_page), (gst_ogg_mux_compare_pads), (gst_ogg_mux_queue_pads), (gst_ogg_mux_loop): Fix an ugly memleak where the muxer didn't flush enough ogg pages. This also resulted in badly muxed ogg files. 2004-05-18 Stephane Loeuillet * gst/asfdemux/asfheaders.c : * gst/asfdemux/asfheaders.h : * gst/asfdemux/gstasfdemux.c : - fix ASF_OBJ_PADDING guid - add 3 new object guids (language list, metadata, extended stream properties) - add a function to parse extended header objects 2004-05-18 Benjamin Otte * sys/oss/gstosselement.c: (gst_osselement_sync_parms): remove leftover debugging g_print 2004-05-17 Ronald Bultje * ext/mad/gstmad.c: (gst_mad_handle_event): Fix for when the first format in a discont event is not a byte-based one. Should fix #137710. 2004-05-18 Stephane Loeuillet * m4/a52.m4 : fix compilation with -Wall -Werror * m4/libfame.m4 : idem * m4/libmikmod.m4 : idem 2004-05-17 Benjamin Otte * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_comment): signal the new tags before giving up the reference 2004-05-17 Benjamin Otte * ext/shout2/gstshout2.c: use application/ogg instead of application/x-ogg (patch by Patrick Guimond, fixes #142432) * sys/oss/gstosselement.c: (gst_osselement_reset), (gst_osselement_sync_parms): don't set fragment size unless specified (fixes #142493) 2004-05-17 Stephane Loeuillet * configure.ac : fix compilation of v4l2src with "-Wall -Werror" fixes #142664 2004-05-17 Benjamin Otte * ext/mad/gstid3tag.c: (gst_id3_tag_chain): compute offsets correctly for internal buffers so timestamps are set correctly when we can't seek. Also handle cases where there are no offsets. (based on a patch by David Moore, fixes #142507) 2004-05-17 Benjamin Otte * ext/alsa/gstalsasink.c: (gst_alsa_sink_loop): use correct variable when determining amount of data to skip so we don't skip into the void and segfault 2004-05-16 Benjamin Otte * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_audio_caps): Hi, I'm a memleak 2004-05-16 Stephane Loeuillet * gst/asfdemux/gstasfdemux.c: - fix a mem leak and always propagate tags - add WMV3 to known video codecs (but no decoder yet) - replace "surplus data" at end of audio header for what it is : codec specific data - fix a typo 2004-05-16 Arwed v. Merkatz reviewed by: Ronald Bultje * gst-libs/gst/audio/audioclock.c: Fix wrong return type (#142205). 2004-05-16 Ronald Bultje * ext/mad/gstmad.c: (gst_mad_class_init), (gst_mad_init): Ignore CRCs by default (fixes #142566). 2004-05-16 Ronald Bultje * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_open), (gst_alsa_mixer_close), (gst_alsa_mixer_supported), (gst_alsa_mixer_build_list), (gst_alsa_mixer_free_list), (gst_alsa_mixer_change_state), (gst_alsa_mixer_list_tracks), (gst_alsa_mixer_get_volume), (gst_alsa_mixer_set_volume), (gst_alsa_mixer_set_mute), (gst_alsa_mixer_set_record): Fix for cases where we fail to attach to a mixer. 2004-05-16 Ronald Bultje * gst-libs/gst/riff/riff-read.c: (gst_riff_read_seek): Don't touch events after not owning them anymore. * gst/wavparse/gstwavparse.c: (gst_wavparse_base_init), (gst_wavparse_fmt), (gst_wavparse_other), (gst_wavparse_handle_seek), (gst_wavparse_loop), (gst_wavparse_pad_convert), (gst_wavparse_pad_query), (gst_wavparse_srcpad_event): * gst/wavparse/gstwavparse.h: Add seeking, fix querying. 2004-05-16 Stephane Loeuillet * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_comment): - process comments even if they don't end with \0\0 g_convert would ignore them if present and works well without them 2004-05-16 Benjamin Otte * ext/alsa/gstalsa.c: (gst_alsa_caps), (gst_alsa_get_caps): simplify caps 2004-05-16 Benjamin Otte * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_comment): don't write to memory we might not write to - g_convert does that for us anyway (fixes #142613) (gst_asf_demux_audio_caps): comment out gst_util_dump_mem 2004-05-16 Benjamin Otte * ext/alsa/gstalsasink.c: (gst_alsa_sink_loop): compute correct expected timestamps after seek (broken since last commit) * ext/gdk_pixbuf/pixbufscale.c: (pixbufscale_init): rename element and debugging category to gdkpixbufscale 2004-05-16 Benjamin Otte * ext/alsa/gstalsasink.c: (gst_alsa_sink_loop): add error checking to snd_pcm_delay and remove duplicate call to snd_pcm_delay that caused issues (see inline code comments) * ext/alsa/gstalsasink.c: (gst_alsa_sink_get_time): make more readable and fix return value when snd_pcm_delay fails (fixes #142586) 2004-05-15 Jan Schmidt * ext/gdk_pixbuf/pixbufscale.c: (gst_pixbufscale_method_get_type), (gst_pixbufscale_get_type), (gst_pixbufscale_base_init), (gst_pixbufscale_class_init), (gst_pixbufscale_getcaps), (gst_pixbufscale_link), (gst_pixbufscale_init), (gst_pixbufscale_handle_src_event), (pixbufscale_scale), (gst_pixbufscale_chain), (gst_pixbufscale_set_property), (gst_pixbufscale_get_property), (pixbufscale_init): * ext/gdk_pixbuf/pixbufscale.h: Add these files I forgot earlier 2004-05-15 Jan Schmidt * ext/gdk_pixbuf/Makefile.am: * ext/gdk_pixbuf/gstgdkpixbuf.c: (plugin_init): * ext/gdk_pixbuf/gstgdkpixbuf.h: Add new pixbufscale element to scale RGB video using gdk_pixbuf, because gdk_pixbuf does BILINEAR and HYPER interpolation correctly. * ext/theora/theoraenc.c: (theora_enc_chain), Discard buffer and return if explicit caps could not be set (theora_enc_get_property): Make _get return kbps for the bitrate consistent with the _set function. 2004-05-14 Benjamin Otte * ext/libvisual/visual.c: (gst_visual_chain): add missing visual_audio_analyze 2004-05-14 David Schleef * ext/esd/esdsink.c: (gst_esdsink_chain): Fix crash when ESD is killed while we're playing. * gst/qtdemux/qtdemux.c: (qtdemux_parse): call gst_element_no_more_pads(). 2004-05-14 Stephane Loeuillet * gst-libs/gst/riff/riff-read.c : - fix INFO tag extraction in RIFF/AVI files because gst_event_unref (event) also freed taglist - avoid a mem leak 2004-05-13 Stephane Loeuillet * ext/mad/gstid3tag.c : move from "Codec/(Dem/M)uxer" to "Codec/(Dem/M)uxer/Audio" * gst/wavenc/gstwavenc.c : move from "Codec/Encoder/Audio" to "Codec/Muxer/Audio" * gst/auparse/gstauparse.c : - add code (commented for now) to support audio/x-adpcm on src pad (we have no decoder for those layout yet) * gst/cdxaparse/gstcdxaparse.c : * gst/cdxaparse/gstcdxaparse.h : - partial rewrite using RiffRead (ripped iain's wavparse code) * gst/rtp/gstrtpL16enc.c : typo * gst/rtp/gstrtpgsmenc.c : typo 2004-05-13 Benjamin Otte * configure.ac: check for exact version of libvisual, it's not supposed to be API/ABI stable yet 2004-05-13 Benjamin Otte * ext/ogg/gstoggdemux.c: (gst_ogg_demux_push): signal no-more-pads 2004-05-13 Jan Schmidt * ext/dv/gstdvdec.c: (gst_dvdec_src_convert) Report which format was used for GST_FORMAT_DEFAULT * gst/debug/Makefile.am: * gst/debug/gstdebug.c: (plugin_init): * gst/debug/progressreport.c: (gst_progressreport_base_init), (gst_progressreport_class_init), (gst_progressreport_init), (gst_progressreport_report), (gst_progressreport_set_property), (gst_progressreport_get_property), (gst_progressreport_chain), (gst_progressreport_plugin_init): Add progressreport element for testing. 2004-05-13 Thomas Vander Stichele * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_get), (gst_v4lsrc_change_state): * sys/v4l/gstv4lsrc.h: * sys/v4l/v4lmjpegsink_calls.c: (gst_v4lmjpegsink_playback_init): * sys/v4l/v4lmjpegsrc_calls.c: (gst_v4lmjpegsrc_capture_init): * sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_capture_init), (gst_v4lsrc_grab_frame): add more debugging send a discont at start 2004-05-12 Colin Walters * gst/asfdemux/gstasfdemux.c (gst_asf_demux_process_segment): Avoid inflooping if we can't find a chunk. Or in other words, don't blow chunks if we don't have a chunk to blow. 2004-05-13 Jan Schmidt * ext/audiofile/gstafsrc.c: (gst_afsrc_get): Remove old debug output * ext/dv/gstdvdec.c: (gst_dvdec_quality_get_type), (gst_dvdec_class_init), (gst_dvdec_loop), (gst_dvdec_change_state), (gst_dvdec_set_property), (gst_dvdec_get_property): Change the quality setting to an enum, so it works from gst-launch Don't renegotiate a non-linked pad. Allows audio only decoding. * gst/deinterlace/gstdeinterlace.c: (gst_deinterlace_getcaps), (gst_deinterlace_link), (gst_deinterlace_init): * gst/videodrop/gstvideodrop.c: (gst_videodrop_getcaps), (gst_videodrop_link): Some caps negotiation fixes 2004-05-12 Stephane Loeuillet * ext/tarkin/gsttarkin.c : - Change RANK from NONE to PRIMARY * ext/gdk_pixbuf/gstgdkpixbuf.c : - Change RANK from NONE to MARGINAL * ext/divx/gstdivxenc.c : - Change RANK from PRIMARY to NONE (encoder/spider issue) 2004-05-12 Thomas Vander Stichele * ext/vorbis/vorbisenc.c: (vorbis_granule_time_copy), (gst_vorbisenc_push_packet): copy a function that was added between 1.0 and 1.0.1 until we depend on worthwhile features of post-1.0 2004-05-12 Benjamin Otte * configure.ac: enable shout2 by default * ext/shout2/gstshout2.c: (gst_shout2send_protocol_get_type), (gst_shout2send_base_init), (gst_shout2send_init), (gst_shout2send_connect), (gst_shout2send_change_state): * ext/shout2/gstshout2.h: make this work again. Based on a patch by Zaheer Abbas Merali (fixes #142262) * ext/theora/theora.c: (plugin_init): don't set rank on encoders 2004-05-11 Jeremy Simon * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_audio_caps): Use codec_data property instead of flag1 and flag2 for wma 2004-05-11 Stephane Loeuillet * gst/cdxaparse/gstcdxaparse.c : - Add mpegversion to CAPS to make it link - Rank is as GST_RANK_SECONDARY instead of NONE * gst/auparse/gstauparse.c : - Document all audio encoding we can encounter from Solaris 9 headers and libsndfile information. - Increase max. rate from 48000 to 192000 (to match other elements) - Don't try to play junk data between header and samples 2004-05-11 Benjamin Otte * ext/libvisual/visual.c: (gst_visual_getcaps): use the right caps depending on endianness (I hope) * ext/ogg/gstoggmux.c: (gst_ogg_mux_plugin_init): use GST_RANK_NONE for all non-decoding elements or spider gets mighty confused 2004-05-11 Ronald Bultje * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_comment): Fix some odd cases and fix BE metadata parsing of unicode16 text. 2004-05-11 Benjamin Otte * gst/switch/gstswitch.c: (gst_switch_release_pad), (gst_switch_request_new_pad), (gst_switch_poll_sinkpads), (gst_switch_loop), (gst_switch_get_type): whoever that was: DO NOT IMPORT PRIVATE SYMBOLS THAT ARE NOT IN HEADERS. Had to be said. 2004-05-10 David Schleef * configure.ac: Add prototype Dirac support. * ext/Makefile.am: * ext/dirac/Makefile.am: * ext/dirac/gstdirac.cc: * ext/dirac/gstdiracdec.cc: 2004-05-10 Ronald Bultje * gst/auparse/gstauparse.c: (gst_auparse_class_init), (gst_auparse_init), (gst_auparse_chain), (gst_auparse_change_state): Hack around spider. Remove me some day please. 2004-05-10 Ronald Bultje * gst/auparse/gstauparse.c: (gst_auparse_chain): Fix for some uninitialized variables in previous patch, also makes it work. Fixes #142286 while we're at it. 2004-05-11 Stephane Loeuillet * gst/auparse/gstauparse.c: fixes a-law, adds mu-law, linear pcm (8,16,24,32), ieee (32, 64) only unsupported formats are ADPCM/CCITT G.72x reviewed by Ronald * gst-libs/gst/audio/audio.h: adds 24bit depth to PCM (x-raw-int) 2004-05-10 Wim Taymans * ext/vorbis/Makefile.am: * ext/vorbis/README: * ext/vorbis/oggvorbisenc.c: (gst_oggvorbisenc_get_formats), (oggvorbisenc_get_type), (vorbis_caps_factory), (raw_caps_factory), (gst_oggvorbisenc_base_init), (gst_oggvorbisenc_class_init), (gst_oggvorbisenc_sinkconnect), (gst_oggvorbisenc_convert_src), (gst_oggvorbisenc_convert_sink), (gst_oggvorbisenc_get_query_types), (gst_oggvorbisenc_src_query), (gst_oggvorbisenc_init), (gst_oggvorbisenc_get_tag_value), (gst_oggvorbisenc_metadata_set1), (gst_oggvorbisenc_set_metadata), (get_constraints_string), (update_start_message), (gst_oggvorbisenc_setup), (gst_oggvorbisenc_write_page), (gst_oggvorbisenc_chain), (gst_oggvorbisenc_get_property), (gst_oggvorbisenc_set_property), (gst_oggvorbisenc_change_state): * ext/vorbis/oggvorbisenc.h: * ext/vorbis/vorbis.c: (plugin_init): * ext/vorbis/vorbisenc.c: (vorbis_caps_factory), (raw_caps_factory), (gst_vorbisenc_class_init), (gst_vorbisenc_init), (gst_vorbisenc_setup), (gst_vorbisenc_push_packet), (gst_vorbisenc_chain), (gst_vorbisenc_get_property), (gst_vorbisenc_set_property): * ext/vorbis/vorbisenc.h: Added a raw vorbis encoder to be used with the oggmuxer. We still need the old encoder for some gnome applications, read the README to find out how that works. The raw encoder is called "rawvorbisenc" until 0.9. 2004-05-10 Wim Taymans * ext/ogg/gstogg.c: (plugin_init): * ext/ogg/gstoggdemux.c: (gst_ogg_demux_plugin_init), (gst_ogg_print): * ext/ogg/gstoggmux.c: (gst_ogg_mux_get_type), (gst_ogg_mux_base_init), (gst_ogg_mux_class_init), (gst_ogg_mux_get_sink_event_masks), (gst_ogg_mux_init), (gst_ogg_mux_sinkconnect), (gst_ogg_mux_pad_link), (gst_ogg_mux_pad_unlink), (gst_ogg_mux_request_new_pad), (gst_ogg_mux_handle_src_event), (gst_ogg_mux_next_buffer), (gst_ogg_mux_push_page), (gst_ogg_mux_compare_pads), (gst_ogg_mux_queue_pads), (gst_ogg_mux_loop), (gst_ogg_mux_get_property), (gst_ogg_mux_set_property), (gst_ogg_mux_change_state), (gst_ogg_mux_plugin_init): Added an ogg muxer. Small typo fixes in the demuxer. 2004-05-10 Wim Taymans * ext/theora/theoraenc.c: (gst_theora_enc_class_init), (theora_enc_sink_link), (theora_push_packet), (theora_enc_chain), (theora_enc_change_state), (theora_enc_set_property), (theora_enc_get_property): Mark the last packet with an EOS flag which is not really needed in gstreamer. Do some better video framerate initialisation. Update the buffer timestamp. 2004-05-10 Jan Schmidt * ext/dv/gstdvdec.c: (gst_dvdec_change_state): Return the result of the parent state change call 2004-05-10 Stephane Loeuillet * gst/law/alaw.c : alawdec should be registered with type ALAWDEC, not ALAWENC * gst/law/alaw-decode.c : put audio/x-alaw on pads, instead of audio/x-mulaw * gst/law/alaw-encode.c : (idem) * ext/a52dec/gsta52dec.c : mark audio/a52, audio/ac3 as deprecated in a comment * gst/ac3parse/gstac3parse.c : audio/ac3 => audio/x-ac3 * gst/realmedia/rmdemux.c : audio/a52 => audio/x-ac3 2004-05-09 Benjamin Otte * ext/alsa/gstalsasrc.c: (gst_alsa_src_loop): don't use a fixed buffer size when writing variable length data to it. Fixes memory corruption and makes alsasrc work 2004-05-09 Ronald Bultje * ext/gnomevfs/gstgnomevfssink.c: (_gst_boolean_allow_overwrite_accumulator), (gst_gnomevfssink_class_init), (gst_gnomevfssink_open_file): Run glib's default signal handler (??) in RUN_CLEANUP rather than RUN_LAST, and don't use that to set the accumulator value because then it's always FALSE. 2004-05-09 Ronald Bultje * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps_with_data), (gst_riff_create_audio_caps), (gst_riff_create_audio_template_caps): * gst-libs/gst/riff/riff-read.c: (gst_riff_peek_head): Fix for unaligned RIFF files (i.e. where all the chunks together in a LIST chunk are not of the same size as the size given in the LIST chunk header). Fixes several odd WAVE files. Also fix ADPCM (block_align property) in audio, so that wavparse based on this works now as it used to stand-alone. 2004-05-09 Edward Hervey reviewed by Benjamin Otte * ext/a52dec/gsta52dec.c: * ext/divx/gstdivxdec.c: * ext/divx/gstdivxenc.c: * ext/dts/gstdtsdec.c: (gst_dtsdec_base_init): * ext/faac/gstfaac.c: (gst_faac_base_init): * ext/faad/gstfaad.c: (gst_faad_base_init): * ext/ivorbis/vorbisfile.c: * ext/lame/gstlame.c: * ext/libfame/gstlibfame.c: * ext/mpeg2enc/gstmpeg2enc.cc: * ext/musicbrainz/gsttrm.c: (gst_musicbrainz_base_init): * ext/sidplay/gstsiddec.cc: * ext/speex/gstspeexdec.c: * ext/speex/gstspeexenc.c: * ext/xvid/gstxviddec.c: * ext/xvid/gstxvidenc.c: correct klasses. Mostly s,Codec/(Audio|Video),\1/Codec, (fixes #142193) 2004-05-08 Ronald Bultje * ext/alsa/gstalsa.c: (device_list), (gst_alsa_class_probe_devices): * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_open): Fix alsa oddness in mixer after the combination of using mixer in source/sink elements and using hw:x,y instead of just hw:x. 2004-05-09 Benjamin Otte * gst/wavparse/gstwavparse.c: (gst_wavparse_destroy_sourcepad), (gst_wavparse_create_sourcepad): make PAUSED=>READY=>PAUSED=READY work by not destroying NULL sourcepads 2004-05-09 Benjamin Otte * ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event): allow discont events before caps nego 2004-05-08 Benjamin Otte * ext/vorbis/vorbisdec.c: (vorbis_dec_event): don't leak events 2004-05-08 Benjamin Otte * gst/level/gstlevel.c: (gst_level_link), (gst_level_chain), (gst_level_change_state), (gst_level_init): * gst/level/gstlevel.h: figure out if we're initialized directly instead of keeping a variable that's wrong in 90% of cases don't initialize pads and then leak them and use a new unitialized pad. (fixes #142084) these were bugs so n00bish I didn't find them for an hour :/ 2004-05-08 Iain * gst/wavparse/gstwavparse.[ch]: Rewrote to use RiffRead instead. * gst-libs/gst/riff/riff-read.c (gst_riff_read_peek_head): Unstatic it (gst_riff_read_element_data): Ditto, and added a got_bytes argument to return the length that was read. (gst_riff_read_strf_auds): Allow fmt tags as well. 2004-05-07 David Schleef * ext/faad/gstfaad.c: (gst_faad_sinkconnect): HACK to correct signed char assumption in faad.h. 2004-05-07 Ronald Bultje * sys/v4l2/gstv4l2src.c: (gst_v4l2src_v4l2fourcc_to_caps): Missing break, detected by Daniel Gazard . 2004-05-07 Colin Walters * gst/volume/gstvolume.c (gst_volume_dispose): Unref dpman. * ext/flac/gstflacdec.c (gst_flacdec_dispose): Add dispose function. * gst/audioscale/gstaudioscale.c (gst_audioscale_dispose): Add dispose function. 2004-05-08 Jan Schmidt * ext/dv/gstdvdec.c: (gst_dvdec_video_link): Fix caps nego and pad templates. RGB mode caps should work now. * ext/dvdnav/gst-dvd: Move mpeg2dec inside the thread because otherwise the queue rejects cap changes mid-stream * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_get_type), (gst_mpeg2dec_flush_decoder): For mpeg2dec > 0.4.0, call the flush function instead of manually extracting all in-flight frames. * ext/raw1394/gstdv1394src.c: (gst_dv1394src_factory), (gst_dv1394src_init), (gst_dv1394src_iso_receive): Change mime type video/dv go video/x-dv to match the rest of gst-plugins 2004-05-07 Ronald Bultje * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_build_list): * ext/alsa/gstalsasink.c: (gst_alsa_sink_get_type), (gst_alsa_sink_class_init): * ext/alsa/gstalsasink.h: * ext/alsa/gstalsasrc.c: (gst_alsa_src_get_type), (gst_alsa_src_class_init): * ext/alsa/gstalsasrc.h: Make alsasink/src a subclass of alsamixer so that mixer stuff shows up in gst-rec. Needs some finetuning. 2004-05-05 Benjamin Otte * ext/lame/gstlame.c: (gst_lame_chain): simplify * ext/mad/gstmad.c: (gst_mad_handle_event): fix event leak * gst/typefind/gsttypefindfunctions.c: (mp3_type_find): be able to detect mp3 files < 4096 bytes 2004-05-06 Wim Taymans * ext/theora/theoraenc.c: (gst_theora_enc_class_init), (theora_enc_sink_link), (theora_push_packet), (theora_enc_chain), (theora_enc_set_property), (theora_enc_get_property): Also encode the first frame, cleanup some code. 2004-05-06 Wim Taymans * ext/mpeg2enc/gstmpeg2enc.cc: Forward events first before deciding that negotiation was not performed. 2004-05-06 Wim Taymans * gst/wavenc/gstwavenc.c: (gst_wavenc_chain): First process the events before deciding that negotiation was not performed. 2004-05-06 Wim Taymans * ext/theora/Makefile.am: * ext/theora/theora.c: (plugin_init): * ext/theora/theoradec.c: (theora_dec_change_state): * ext/theora/theoraenc.c: (gst_theora_enc_base_init), (gst_theora_enc_class_init), (gst_theora_enc_init), (theora_enc_sink_link), (theora_enc_event), (theora_push_packet), (theora_enc_chain), (theora_enc_change_state), (theora_enc_set_property), (theora_enc_get_property): Added a theora encoder, grouped the encoder and decoder into the same plugin. 2004-05-05 Thomas Vander Stichele * ext/jpeg/gstjpegenc.c: (gst_jpegenc_get_type), (gst_jpegenc_chain): fix DURATION on outgoing buffers * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_handle_sink_event): debug using time formats * sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support), (gst_xvimagesink_sink_link): windows with width/height 0 generate X errors, so don't allow them 2004-05-05 Wim Taymans * ext/mpeg2dec/gstmpeg2dec.c: (src_templ), (gst_mpeg2dec_base_init), (gst_mpeg2dec_init), (gst_mpeg2dec_negotiate_format): * ext/mpeg2dec/gstmpeg2dec.h: removed the static pad template so that we can add the more accurate framerate value to the caps. 2004-05-04 Benjamin Otte * configure.ac: check for kdemacros.h, too (should fix #141821) * ext/vorbis/vorbisdec.c: (vorbis_dec_event), (vorbis_dec_chain): don't crash if no header was sent, but nicely error out (fixes part of #141554) 2004-05-04 Wim Taymans * ext/mpeg2enc/gstmpeg2enc.cc: (gst_mpeg2enc_dispose): call the parent dispose function to avoid segfault on destroy. 2004-05-04 Thomas Vander Stichele * sys/ximage/ximagesink.c: (gst_ximagesink_sink_link), (plugin_init): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get), (gst_xvimagesink_sink_link): clean up debugging caps also recreate xvimage when format has changed 2004-05-04 Benjamin Otte * ext/libvisual/Makefile.am: * ext/libvisual/visual.c: (gst_visual_class_init), (gst_visual_init), (gst_visual_dispose), (gst_visual_getcaps), (gst_visual_srclink), (gst_visual_chain), (gst_visual_change_state), (plugin_init): use a GstAdapter to correctly adapt buffer sizes - allows using a framerate 2004-05-03 Thomas Vander Stichele * sys/v4l/gstv4lelement.h: * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_class_init): * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_get_fps), (gst_v4lsrc_getcaps), (gst_v4lsrc_buffer_free): * sys/v4l/v4l_calls.c: (gst_v4l_get_capabilities): * sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_queue_frame), (gst_v4lsrc_sync_frame), (gst_v4lsrc_grab_frame), (gst_v4lsrc_requeue_frame): move some debugging categories around query for fps index and set accordingly if found 2004-05-03 Stephane Loeuillet * ext/lame/gstlame.c: correct defaults that lame_init puts out of range 2004-05-03 Thomas Vander Stichele * ext/divx/gstdivxenc.c: (gst_divxenc_get_type), (gst_divxenc_class_init): fix range since -1 is the default * gst/mpeg1sys/gstmpeg1systemencode.c: (gst_mpeg1_system_encode_get_type), (gst_system_encode_multiplex): * gst/rtjpeg/gstrtjpegdec.c: (gst_rtjpegdec_get_type), (gst_rtjpegdec_chain): * gst/rtjpeg/gstrtjpegenc.c: (gst_rtjpegenc_get_type), (gst_rtjpegenc_chain): * sys/qcam/gstqcamsrc.c: (gst_autoexp_mode_get_type), (gst_qcamsrc_get_type), (gst_qcamsrc_change_state): * sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_get_type): * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_get_type): * sys/v4l/gstv4lsrc.c: * sys/v4l/v4l_calls.c: (gst_v4l_open): * sys/v4l/v4lmjpegsink_calls.c: (gst_v4lmjpegsink_playback_init): * sys/v4l/v4lmjpegsrc_calls.c: (gst_v4lmjpegsrc_capture_init): * sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_capture_init): * sys/vcd/vcdsrc.c: (vcdsrc_get_type), (vcdsrc_get): remove gst_info calls 2004-05-03 Thomas Vander Stichele * Makefile.am: * po/af.po: * po/az.po: * po/en_GB.po: * po/nl.po: * po/sr.po: * po/sv.po: Updated translations 2004-05-03 Thomas Vander Stichele * gst/audioconvert/gstaudioconvert.c: (_fixate_caps_to_int): refactor/comment code 2004-05-02 Ronald Bultje * gst/asfdemux/Makefile.am: * gst/asfdemux/asfheaders.c: * gst/asfdemux/asfheaders.h: * gst/asfdemux/gstasf.c: (plugin_init): * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_get_type), (gst_asf_demux_base_init), (gst_asf_demux_process_comment), (gst_asf_demux_setup_pad): * gst/asfdemux/gstasfdemux.h: * gst/asfdemux/gstasfmux.c: * gst/asfdemux/gstasfmux.h: Add tagging support to demuxer, split out registration in its own file instead of in demux (hacky), and prevent having some tables in our memory multiple times (in asfheaders.h). 2004-05-01 Ronald Bultje * gst/matroska/matroska-demux.c: (gst_matroska_demux_parse_metadata): * gst/matroska/matroska-ids.h: Basic tag reading support. 2004-04-30 Ronald Bultje * gst/matroska/matroska-demux.c: (gst_matroska_demux_audio_caps): Really detect ac-3 audio. * gst/typefind/gsttypefindfunctions.c: (matroska_type_find): really detect matroska files (off-by-1). 2004-04-30 David Schleef * gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header), (gst_qtdemux_add_stream), (qtdemux_parse), (qtdemux_type_get), (qtdemux_dump_stsz), (qtdemux_dump_stco), (qtdemux_dump_co64), (qtdemux_dump_unknown), (qtdemux_parse_tree), (qtdemux_parse_udta), (qtdemux_tag_add), (get_size), (gst_qtdemux_handle_esds): More qtdemux hackage -- parse a lot more atoms, extract a few tags. One might even mistake this for tag support. Maybe it is. * gst/qtdemux/qtdemux.h: 2004-04-30 Colin Walters * ext/alsa/gstalsasink.c (gst_alsa_sink_mmap): Plug a memleak. 2004-04-30 Thomas Vander Stichele * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcolorspace_getcaps): remove broken nego fix 2004-04-30 Benjamin Otte * configure.ac: * ext/Makefile.am: * ext/libvisual/Makefile.am: * ext/libvisual/visual.c: add initial support for libvisual (http://libvisual.sourceforge.net) libvisual is still quite alpha, so expect crashes in there :) 2004-04-29 David Schleef * gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream), (qtdemux_parse), (qtdemux_parse_trak), (get_size), (gst_qtdemux_handle_esds): Hacked up qtdemux to make it spit out codec_data. Do _not_ look at this code; you will no longer respect me. 2004-04-29 Stephane Loeuillet * ext/alsa/gstalsa.c : (gst_alsa_class_probe_devices) * ext/alsa/gstalsa.h : change alsa pcm device discovery to find more than 1 device per card. code review by Ronald. 2004-04-29 David Schleef * sys/oss/gstosselement.c: (gst_osselement_rate_probe_check): Add a check for a driver bug on FreeBSD. (bug #140565) 2004-04-29 Thomas Vander Stichele * ext/jpeg/gstjpegdec.c: (gst_jpegdec_get_type): * ext/jpeg/gstjpegenc.c: (gst_jpegenc_get_type), (gst_jpegenc_getcaps): move format setting to inner loop * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcolorspace_getcaps): use GST_PAD_CAPS if available so that we use already negotiated caps * gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header), (qtdemux_parse_moov), (qtdemux_parse): extra debugging * sys/qcam/qcam-Linux.c: (qc_lock_wait), (qc_unlock): * sys/qcam/qcam-os.c: (qc_lock_wait), (qc_unlock): move hardcoded path to DEFINE 2004-04-28 David Schleef * gst/speed/gstspeed.c: (speed_parse_caps): Fix caps parsing. (bug #140064) 2004-04-28 Ronald Bultje * ext/alsa/gstalsa.c: (gst_alsa_class_probe_devices): Don't probe for playback device if we're a source element. Fixes #139658. 2004-04-29 Benjamin Otte * ext/mad/gstid3tag.c: (gst_id3_tag_handle_event), (gst_id3_tag_chain): rewrite buffer offset 2004-04-28 Ronald Bultje * configure.ac: * ext/Makefile.am: * ext/dts/Makefile.am: * ext/dts/gstdtsdec.c: (gst_dtsdec_get_type), (gst_dtsdec_base_init), (gst_dtsdec_class_init), (gst_dtsdec_init), (gst_dtsdec_channels), (gst_dtsdec_renegotiate), (gst_dtsdec_handle_event), (gst_dtsdec_update_streaminfo), (gst_dtsdec_loop), (gst_dtsdec_change_state), (gst_dtsdec_set_property), (gst_dtsdec_get_property), (plugin_init): * ext/dts/gstdtsdec.h: New DTS decoder. * ext/faad/gstfaad.c: (gst_faad_sinkconnect), (gst_faad_srcconnect): Add ESDS atom handling (.m4a). 2004-04-27 Ronald Bultje * ext/divx/gstdivxdec.c: (plugin_init): Remove comment that makes no sense. * ext/mad/gstid3tag.c: (gst_id3_tag_set_property): Fix for obvious typo that resulted in warnings during gst-register. * ext/xvid/gstxviddec.c: (gst_xviddec_src_link), (gst_xviddec_sink_link): Fix caps negotiation a bit better. * gst/qtdemux/qtdemux.c: (qtdemux_parse_trak): We call this 'codec_data', not 'esds'. 2004-04-27 Benjamin Otte * gst/monoscope/gstmonoscope.c: make sure we only provide 256x128 * gst/monoscope/monoscope.c: (monoscope_init): assert size of 256x128 2004-04-27 Thomas Vander Stichele * Makefile.am: * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_init), (gst_v4lsrc_fixate), (gst_v4lsrc_getcaps), (gst_v4lsrc_buffer_free): fixate to max width and height of device 2004-04-27 Thomas Vander Stichele * Makefile.am: * sys/v4l/gstv4l.c: * sys/v4l/gstv4lsrc.c: * sys/v4l/v4l_calls.c: * sys/v4l/v4lsrc_calls.c: fix for qc-usb driver which fakes having more than one buffer by handing the same buffer twice, which confused GStreamer's/v4lsrc buffer_free override add debugging 2004-04-27 Thomas Vander Stichele * Makefile.am: * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_class_init), (gst_videotestsrc_change_state), (gst_videotestsrc_init), (gst_videotestsrc_get), (gst_videotestsrc_set_property), (gst_videotestsrc_get_property): * gst/videotestsrc/gstvideotestsrc.h: add num-buffers property 2004-04-26 Benjamin Otte * ext/mad/gstid3tag.c: (plugin_init): set id3mux rank to NONE so it doesn't confuse spider require audio/mpeg,mpegversion=1 in id3mux 2004-04-26 Benjamin Otte * configure.ac: detect faad correctly as non-working if it's indeed non-working 2004-04-26 Thomas Vander Stichele * Makefile.am: * ext/jpeg/gstjpegenc.c: (gst_jpegenc_get_type), (gst_jpegenc_class_init), (gst_jpegenc_getcaps): fix _getcaps so it only negotiates to its supported format 2004-04-25 Benjamin Otte * gst/audioconvert/gstaudioconvert.c: (_fixate_caps_to_int): fix memleak 2004-04-23 Benjamin Otte * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps): audio/x-raw-int with height rules! not. Now it's depth. 2004-04-22 Ronald Bultje * gst/wavparse/gstwavparse.c: (gst_wavparse_create_sourcepad), (gst_wavparse_parse_fmt), (gst_wavparse_handle_sink_event), (gst_wavparse_loop): Missing variable initialization. Add handling of DVI ADPCM. Fix mis-parsing of LIST chunks. This works around a bug where we mis- parse non-aligning LIST chunks (so LIST chunks where the contents don't align with the actual LIST size). The correct fix is to use rifflib, I'm not going to fix wavparse - too much work. All this fixes #104878. 2004-04-22 Zaheer Abbas Merali reviewed by Benjamin Otte * ext/shout/gstshout.c: (gst_icecastsend_change_state): fix shoutcast not working (fixes #140844) 2004-04-22 Benjamin Otte * ext/hermes/gsthermescolorspace.c: (gst_hermes_colorspace_caps_remove_format_info): * gst/colorspace/gstcolorspace.c: (gst_colorspace_caps_remove_format_info): * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcolorspace_caps_remove_format_info): s/gst_caps_simplify/gst_caps_do_simplify/ 2004-04-22 Benjamin Otte * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps_with_data): mpegversion is an int * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_base_init): don't try to create pad templates with NULL caps, use any caps instead. 2004-04-20 David Schleef * ext/sdl/Makefile.am: Link against libgstinterfaces, not libgstxoverlay. jmmv@menta.net (Julio M. Merino Vidal) (bug #140384) 2004-04-20 Daniel Gazard reviewed by David Schleef * ext/mad/gstid3tag.c: Add stdlib.h * gst/rtp/gstrtpgsmenc.c: same * gst/tags/gstid3tag.c: same * gst/udp/gstudpsrc.c: (gst_udpsrc_get): Fix GST_DISABLE_LOADSAVE * gst/tcp/gsttcpsink.c: (gst_tcpsink_sink_link): Adjust GST_DISABLE_LOADSAVE use. * gst/udp/gstudpsink.c: (gst_udpsink_sink_link): Likewise. * gst/tcp/gsttcpsrc.c: (gst_tcpsrc_get): Likewise. * ext/gnomevfs/gstgnomevfssrc.c: Include (needed by atol(3)). * sys/oss/gstosselement.h: Include (needed for dev_t). * gst/tags/gstvorbistag.c: Include (needed by strtoul(3)). * gst/rtp/gstrtpL16enc.c: Include (needed by random(3)). * ext/mad/Makefile.am: (libgstmad_la_CFLAGS): Add $(MAD_CFLAGS) $(ID3_CFLAGS). * ext/libfame/Makefile.am: (libgstlibfame_la_CFLAGS): Add $(LIBFAME_CFLAGS). 2004-04-20 David Schleef * gst/realmedia/rmdemux.c: This was supposed to part of the last checkin. Same idea. 2004-04-20 Daniel Gazard reviewed by David Schleef * configure.ac: bump required gstreamer version to 0.8.1.1 because of following changes [--ds] * gst-libs/gst/riff/riff-read.c: Include gst/gstutils.h. (gst_riff_peek_head, gst_riff_peek_list, gst_riff_read_list) (gst_riff_read_header): Use GST_READ_UINT* macros to access possibly unaligned memory. * gst/typefind/gsttypefindfunctions.c: Include gst/gstutils.h. (mp3_type_find): Use GST_READ_UINT* macros to access possibly unaligned memory. (mp3_type_find, mpeg1_parse_header, qt_type_find) (speex_type_find): Likewise * gst/tags/gstvorbistag.c: (ADVANCE): Likewise * gst/qtdemux/qtdemux.c: Include stdlib.h (needed by realloc). (QTDEMUX_GUINT32_GET, QTDEMUX_GUINT16_GET, QTDEMUX_FP32_GET) (QTDEMUX_FP16_GET, QTDEMUX_FOURCC_GET) (gst_qtdemux_loop_header, gst_qtdemux_loop_header) (qtdemux_node_dump_foreach, qtdemux_tree_get_child_by_type) (qtdemux_tree_get_sibling_by_type): Use GST_READ_UINT* macros to access possibly unaligned memory. * gst/mpegstream/gstmpegpacketize.c: (parse_generic, parse_chunk): Likewise. * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_parse_syshead) (gst_mpeg_demux_parse_packet, gst_mpeg_demux_parse_pes): Likewise. * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_chain): Likewise. * gst/mpeg2sub/gstmpeg2subt.c: (GST_BUFFER_DATA) (gst_mpeg2subt_chain_subtitle): Likewise. * gst/mpeg1videoparse/gstmp1videoparse.c: (mp1videoparse_parse_seq) (gst_mp1videoparse_time_code, gst_mp1videoparse_real_chain): Likewise. * gst/mpeg1sys/buffer.c: (mpeg1mux_buffer_update_audio_info): Likewise. * gst/cdxaparse/gstcdxaparse.c: (gst_bytestream_peek_bytes): Likewise. * gst/asfdemux/gstasfdemux.c: (_read_var_length, _read_uint): Likewise. 2004-04-20 Thomas Vander Stichele * configure.ac: update required version of GStreamer because of GST_TIME_FORMAT 2004-04-20 Benjamin Otte * ext/mad/gstid3tag.c: (gst_id3_tag_init): remove leftover g_print * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link): don't try setting only a subset of the caps. We don't want to kill autoplugging on purpose 2004-04-20 Thomas Vander Stichele * sys/ximage/ximagesink.c: (plugin_init): * sys/xvimage/xvimagesink.c: (plugin_init): add debugging categories 2004-04-20 Thomas Vander Stichele * po/en_GB.po: * po/LINGUAS: Adding en_GB translation (Gareth Owen) 2004-04-20 David Schleef * gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_sink_event), (qtdemux_parse), (qtdemux_type_get), (qtdemux_dump_mvhd), (qtdemux_dump_tkhd), (qtdemux_dump_stsd), (qtdemux_dump_unknown), (qtdemux_parse_trak), (qtdemux_video_caps), (qtdemux_audio_caps): A number of new features and hacks to extract the esds atom and put it into the caps. (bug #137724) 2004-04-19 David Schleef * gconf/Makefile.am: Fix for non-GNU make * gst-libs/gst/Makefile.am: Change directory order to handle GstPlay linking with gstinterfaces * gst-libs/gst/audio/make_filter: make use of tr portable * gst-libs/gst/play/Makefile.am: Add intended \ * gst-libs/gst/xwindowlistener/xwindowlistener.c: (gst_xwin_set_clips): Switch to ISO variadic macro. Use a function prototype instead of void *. * gst/ffmpegcolorspace/gstffmpegcodecmap.c: Switch to ISO variadic macro. * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcolorspace_chain): wrap NULL in GST_ELEMENT_ERROR call * gst/videofilter/make_filter: make use of tr portable * pkgconfig/Makefile.am: Remove GNU extension in Makefile target 2004-04-19 Thomas Vander Stichele * po/LINGUAS: * po/uk.po: Added Ukrainian translation (Maxim V. Dziumanenko) 2004-04-18 Ronald Bultje * ext/gsm/gstgsmdec.c: (gst_gsmdec_init), (gst_gsmdec_getcaps), (gst_gsmdec_link), (gst_gsmdec_chain): Fix capsnego, simplify chain function slightly. * gst/qtdemux/qtdemux.c: (qtdemux_audio_caps): Add GSM. 2004-04-18 Ronald Bultje * gst/wavparse/gstwavparse.c: (gst_wavparse_init), (gst_wavparse_destroy_sourcepad), (gst_wavparse_create_sourcepad), (gst_wavparse_parse_fmt), (gst_wavparse_change_state): Hack to make wavparse work with spider (always -> sometimes pad). Fixes #135862 && #140411. 2004-04-18 Benjamin Otte * sys/oss/gstosselement.c: (gst_osselement_sync_parms), (gst_osselement_rate_probe_check), (gst_osselement_rate_check_rate), (gst_osselement_rate_add_rate): get rid of \n in debug output 2004-04-17 Iain * gst/wavparse/gstwavparse.c (gst_wavparse_loop): Allow all events, not just EOS. 2004-04-17 Benjamin Otte * ext/mad/gstid3tag.c: (gst_id3_tag_get_type), (gst_id3_tag_class_init), (gst_id3_tag_get_caps), (gst_id3_tag_add_src_pad), (gst_id3_tag_init), (gst_id3_tag_set_property), (gst_id3_tag_do_caps_nego), (gst_id3_tag_src_link), (gst_id3_tag_chain), (gst_id3_tag_change_state), (plugin_init): deprecate id3tag element and replace with id3demux/id3mux. great side effect: this ugly file is now even uglier, yay! * ext/mad/gstmad.h: remove non-available function update for new get_type 2004-04-17 Benjamin Otte * configure.ac: require mpeg2dec >= 0.4.0 2004-04-17 Benjamin Otte * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support), (gst_xvimagesink_xcontext_get), (gst_xvimagesink_change_state), (gst_xvimagesink_set_xwindow_id): call GST_ELEMENT_ERROR whenever get_xcontext fails. Includes assorted cleanup fixes. 2004-04-16 David Schleef * sys/ximage/ximagesink.h: Compile fix for FreeBSD. (bug #140268) * sys/xvimage/xvimagesink.h: same 2004-04-16 Thomas Vander Stichele * ext/gnomevfs/gstgnomevfssink.c: (gst_gnomevfssink_open_file): Fix GST_ELEMENT_ERROR with (NULL) 2004-04-15 Ronald Bultje * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps_with_data): Add div[3456] as fourccs for DivX 3 (fixes #140137). 2004-04-15 Ronald Bultje * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps_with_data), (gst_riff_create_video_caps), (gst_riff_create_audio_caps), (gst_riff_create_video_template_caps), (gst_riff_create_audio_template_caps): * gst-libs/gst/riff/riff-media.h: * gst-libs/gst/riff/riff-read.c: (gst_riff_read_strf_vids_with_data), (gst_riff_read_strf_vids): * gst-libs/gst/riff/riff-read.h: * gst/avi/gstavidemux.c: (gst_avi_demux_add_stream): Add MS RLE support. I added some functions to read out strf chunks into strf chunks and the data behind it. This is usually color palettes (as in RLE, but also in 8-bit RGB). Also use those during caps creation. Lastly, add ADPCM (similar to wavparse - which should eventually be rifflib based). * gst/matroska/matroska-demux.c: (gst_matroska_demux_class_init), (gst_matroska_demux_init), (gst_matroska_demux_reset): * gst/matroska/matroska-demux.h: Remove placeholders for some prehistoric tagging system. Didn't add support for any tag system really anyway. * gst/qtdemux/qtdemux.c: Add support for audio/x-m4a (MPEG-4) through spider. * gst/wavparse/gstwavparse.c: (gst_wavparse_parse_fmt), (gst_wavparse_loop): ADPCM support (#135862). Increase max. buffer size because we cannot split buffers for ADPCM (screws references) and I've seen files with 2048 byte chunks. 4096 seems safe for now. 2004-04-15 Thomas Vander Stichele * configure.ac: bump nano to 1 === release 0.8.1 === 2004-04-15 Thomas Vander Stichele * configure.ac: releasing 0.8.1, "Comforting Sounds" 2004-04-14 Ronald Bultje * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps): Fix typo in divxversion (3 instead of 4 for "DIVX" fourcc). Fixes #140058 2004-04-14 Thomas Vander Stichele * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_plugin_init): lower rank of dvddemux so that it's not used for mpeg playback. 2004-04-14 Benjamin Otte * configure.ac: save libs correctly when checking mad 2004-04-14 Thomas Vander Stichele * ext/mad/gstid3tag.c: (plugin_init): lower rank of id3tag as proposed by Benjamin. Fixes #139926. 2004-04-13 David Schleef * common/m4/gst-feature.m4: Call -config scripts with --plugin-libs if it is supported. * gst/avi/gstavimux.c: (gst_avimux_vidsinkconnect): sequences of JPEG images are image/jpeg. * gst/debug/Makefile.am: * gst/debug/negotiation.c: (gst_negotiation_class_init), (gst_negotiation_getcaps), (gst_negotiation_pad_link), (gst_negotiation_update_caps), (gst_negotiation_get_property), (gst_negotiation_plugin_init): Add a property that acts like filter caps. * testsuite/gst-lint: Move license checking to be a standard test. 2004-04-13 David Schleef * gst/avi/gstavidemux.c: (gst_avi_demux_reset): Fix memleak. patch from Sebastien Cote (bug #139958) 2004-04-13 Thomas Vander Stichele * examples/gstplay/Makefile.am: * examples/gstplay/player.c: (main): make the commandline player example use gconf settings 2004-04-13 Thomas Vander Stichele * ext/libcaca/gstcacasink.c: (gst_cacasink_class_init), (gst_cacasink_sinkconnect), (gst_cacasink_init), (gst_cacasink_chain), (gst_cacasink_open), (gst_cacasink_close): init/end library during state transition, not object creation/disposal. get rid of custom dispose handler. 2004-04-12 Christian Schaller * sys/oss/gstosselement.c: s/lstat/stat/ from freeBSD, since it can be a symlink 2004-04-11 Ronald Bultje * gst/avi/gstavidemux.c: (gst_avi_demux_stream_data): Handle JUNK chunks inside data section. Prevents warnings. 2004-04-11 Ronald Bultje * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps), (gst_riff_create_video_template_caps): Add MS video v1. * gst/avi/gstavidemux.c: (gst_avi_demux_stream_index), (gst_avi_demux_stream_data): Add support for "rec-list" chunks. 2004-04-11 Ronald Bultje * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps): Fix another codecname mismatch. 2004-04-11 Ronald Bultje * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps): Fix divx caps mismatch and move from video/x-jpeg to image/jpeg so that MJPEG plays back. 2004-04-10 Ronald Bultje * gst/mpeg1videoparse/gstmp1videoparse.c: (gst_mp1videoparse_init), (gst_mp1videoparse_real_chain), (gst_mp1videoparse_change_state): * gst/mpeg1videoparse/gstmp1videoparse.h: Fix for some slight mis-cuts in buffer parsing, and for some potential overflows or faults-causers. Adds disconts. Also fixes #139105 while we're at it. 2004-04-10 Ronald Bultje * configure.ac: * sys/v4l2/gstv4l2element.h: Workaround for missing struct v4l2_buffer declaration in Suse 9 and Mandrake 10 linux/videodev2.h header file (#135919). 2004-04-10 Ronald Bultje * ext/gnomevfs/gstgnomevfssink.c: (gst_gnomevfssink_open_file): Bail out if no filename was given. 2004-04-10 Ronald Bultje * sys/v4l2/gstv4l2src.c: (gst_v4l2src_v4l2fourcc_to_caps), (gst_v4l2_fourcc_from_structure): Add Y41B/Y42B YUV formats (see #125732), fix Y41P (was typo'ed to Y41B somewhere). 2004-04-09 Benjamin Otte * ext/gnomevfs/gstgnomevfssink.c: (_gst_boolean_allow_overwrite_accumulator), (gst_gnomevfssink_class_init): fix erase signal - if any handler returns false the file will not be overwritten. If no handler is connected, the file will not be overwritten either. renamed signal to "allow-overwrite" * ext/mad/gstid3tag.c: (tag_list_to_id3_tag_foreach): free string when adding it to ID3 failed * ext/vorbis/vorbisdec.c: (vorbis_dec_event): unref event when done * gst/audioconvert/gstaudioconvert.c: (_fixate_caps_to_int): free caps * gst/typefind/gsttypefindfunctions.c: (mpeg_video_stream_type_find): fix invalid read 2004-04-08 David Schleef * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcolorspace_register): Change rank to PRIMARY. 2004-04-08 David Schleef * gst/colorspace/gstcolorspace.c: Don't advertise a conversion we don't support (bug #139532) 2004-04-07 Thomas Vander Stichele * ext/mad/gstmad.c: (gst_mad_handle_event), (gst_mad_check_caps_reset), (gst_mad_chain), (gst_mad_change_state): only set explicit caps if they haven't been set before for this stream. MPEG-audio sample rate/channels aren't allowed to change in-stream. Fixes #139382 2004-04-06 Ronald Bultje * ext/gnomevfs/gstgnomevfssink.c: (gst_gnomevfssink_base_init), (_gst_boolean_did_something_accumulator), (gst_gnomevfssink_class_init), (gst_gnomevfssink_dispose), (gst_gnomevfssink_init), (gst_gnomevfssink_set_property), (gst_gnomevfssink_get_property), (gst_gnomevfssink_open_file), (gst_gnomevfssink_close_file), (gst_gnomevfssink_chain), (gst_gnomevfssink_change_state): Fix erase signal. Don't erase by default. Remove handoff signal. Remove erase property. Don't segfault. General cleanup. 2004-04-07 Benjamin Otte * gst-libs/gst/gconf/test-gconf.c: (main): add missing gst_init 2004-04-07 Benjamin Otte * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_dispose): free the mutexes, too 2004-04-07 Benjamin Otte * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_dispose): actually free the URI string * ext/mad/gstid3tag.c: (gst_id3_tag_src_event): compute offset correctly when passing discont events * ext/mad/gstid3tag.c: (gst_id3_tag_handle_event): don't leak discont events * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_video_caps): add some missing breaks so caps aren't copied randomly * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_get_video_stream): if we realloc memory, we better use it 2004-04-06 Benjamin Otte * ext/mad/gstmad.c: (normal_seek): fix GST_FORMAT_TIME usage 2004-04-05 David Schleef * ext/kio/kiosrc.cpp: Undefine KDE_DEPRECATED so we can use a deprecated function (hack!) 2004-04-05 Benjamin Otte * ext/esd/esdmon.c: (gst_esdmon_get): fix nonterminated vararg and memleak 2004-04-05 Benjamin Otte * ext/ladspa/gstladspa.c: (gst_ladspa_class_init), (gst_ladspa_init), (gst_ladspa_force_src_caps), (gst_ladspa_set_property), (gst_ladspa_get_property), (gst_ladspa_instantiate), (gst_ladspa_activate), (gst_ladspa_deactivate), (gst_ladspa_loop), (gst_ladspa_chain): clean up debugging 2004-04-05 Stefan Kost reviewed by Benjamin Otte * ext/ladspa/gstladspa.c: (gst_ladspa_class_init): check for broken LADSPA parameters (fixes #138635) 2004-04-05 Benjamin Otte * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_getcaps): advertise buffer-frames correctly on sinkpads 2004-04-05 Thomas Vander Stichele * ext/mad/gstmad.c: (gst_mad_get_type), (gst_mad_layer_get_type), (gst_mad_mode_get_type), (gst_mad_emphasis_get_type), (gst_mad_get_event_masks), (gst_mad_get_query_types), (index_seek), (normal_seek), (gst_mad_src_event), (gst_mad_handle_event), (gst_mad_check_caps_reset), (gst_mad_chain): add more debugging, only reset caps when we're not in error state 2004-04-05 Thomas Vander Stichele * ext/mad/gstmad.c: add debugging category, comment + cleanups 2004-04-05 Julio M. Merino Vidal reviewed by Benjamin Otte * configure.ac: fix == in test(1) operator 2004-04-05 Julio M. Merino Vidal reviewed by Benjamin Otte * configure.ac: fix --export-symblos-regex to a working regex. 2004-04-04 Benjamin Otte * sys/oss/.cvsignore: add for oss_probe 2004-04-03 Tim-Phillip Müller reviewed by Benjamin Otte * ext/mad/gstid3tag.c: (gst_id3_tag_handle_event): add missing 'new_media' argument (fixes #138168) * gst/matroska/matroska-demux.c: (gst_matroska_demux_handle_seek_event): add vararg terminator (fixes #138169) 2004-04-02 David Schleef * ext/gdk_pixbuf/Makefile.am: Make sure gstgdkanimation.h is disted (bug #138914) 2004-04-01 Benjamin Otte * ext/alsa/gstalsa.c: (gst_alsa_change_state), (gst_alsa_close_audio): handle case better where a soundcard can't pause * ext/ogg/gstoggdemux.c: don't crash when we get events but don't have pads yet 2004-04-01 Thomas Vander Stichele * sys/oss/gstosselement.c: (gst_osselement_probe_caps): throw an error if we couldn't probe any caps. 2004-04-01 Jan Schmidt * ext/dvdnav/gst-dvd: Add a really simple sample DVD player 2004-04-01 Jan Schmidt * ext/a52dec/gsta52dec.c: (gst_a52dec_get_type), (gst_a52dec_init), (gst_a52dec_push), (gst_a52dec_handle_event), (gst_a52dec_update_streaminfo), (gst_a52dec_loop), (gst_a52dec_change_state): * ext/a52dec/gsta52dec.h: Use a debug category, Output timestamps correctly Emit tag info, Handle events, tell liba52dec about cpu capabilities so it can use MMX etc. * ext/dv/gstdvdec.c: (gst_dvdec_loop), (gst_dvdec_change_state): Fix a crasher accessing invalid memory * ext/dvdnav/dvdnavsrc.c: (dvdnavsrc_init), (dvdnavsrc_update_highlight), (dvdnavsrc_loop), (dvdnavsrc_get_event_mask), (dvdnav_handle_navigation_event), (dvdnavsrc_event), (dvdnavsrc_get_formats), (dvdnavsrc_convert), (dvdnavsrc_query): Some support for byte-format seeking. Small fixes for still frames and menu button overlays * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_get_type), (gst_mpeg2dec_alloc_buffer): Use a debug category. Adjust the report level of several items to LOG. Call mpeg2_custom_fbuf to mark our buffers as 'custom buffers' so it doesn't lose the GstBuffer pointer * gst/debug/Makefile.am: * gst/debug/gstdebug.c: (plugin_init): * gst/debug/gstnavseek.c: (gst_navseek_get_type), (gst_navseek_base_init), (gst_navseek_class_init), (gst_navseek_init), (gst_navseek_seek), (gst_navseek_handle_src_event), (gst_navseek_set_property), (gst_navseek_get_property), (gst_navseek_chain), (gst_navseek_plugin_init): * gst/debug/gstnavseek.h: Add the navseek debug element for seeking back and forth in a video stream using arrow keys. * gst/mpeg2sub/gstmpeg2subt.c: (gst_mpeg2subt_get_type), (gst_mpeg2subt_base_init), (gst_mpeg2subt_class_init), (gst_mpeg2subt_init), (gst_mpeg2subt_finalize), (gst_mpeg2subt_getcaps_video), (gst_mpeg2subt_link_video), (gst_mpeg2subt_handle_video), (gst_mpeg2subt_src_event), (gst_mpeg2subt_parse_header), (gst_get_nibble), (gst_setup_palette), (gst_get_rle_code), (gst_draw_rle_line), (gst_merge_uv_data), (gst_mpeg2subt_merge_title), (gst_update_still_frame), (gst_mpeg2subt_handle_subtitle), (gst_mpeg2subt_handle_dvd_event), (gst_mpeg2subt_loop): * gst/mpeg2sub/gstmpeg2subt.h: Pretty much a complete rewrite. Now a loopbased element. May still require work to properly synchronise subtitle buffers. * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_process_private), (gst_dvd_demux_send_subbuffer): * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_send_subbuffer): Don't attempt to create subbuffers of size 0 Reduce a couple of error outputs to warnings. * gst/y4m/gsty4mencode.c: (gst_y4mencode_sinkconnect), (gst_y4mencode_chain): Output the y4m frame header correctly. 2004-04-01 Thomas Vander Stichele * gst/adder/gstadder.c: (gst_adder_get_type), (gst_adder_loop): throw errors instead of allowing SIGFPE 2004-04-01 Thomas Vander Stichele * gst-libs/gst/gconf/gconf.c: (gst_gconf_get_string), (gst_gconf_render_bin_from_key): leak plugging and style fixing 2004-03-31 David Schleef * gst/audioscale/gstaudioscale.c: (gst_audioscale_expand_value), (gst_audioscale_getcaps): Fix getcaps to expand and union lists. (bug #138225) * gst/debug/Makefile.am: * gst/debug/breakmydata.c: (gst_break_my_data_plugin_init): * gst/debug/gstdebug.c: (plugin_init): Merge elements into one plugin. * gst/debug/negotiation.c: (gst_gst_negotiation_get_type), (gst_negotiation_base_init), (gst_negotiation_class_init), (gst_negotiation_init), (gst_negotiation_getcaps), (gst_negotiation_pad_link), (gst_negotiation_chain), (gst_negotiation_set_property), (gst_negotiation_get_property), (gst_negotiation_plugin_init): New element to talk about random negotiation things happening in a pipeline. 2004-03-31 Thomas Vander Stichele * gst/adder/gstadder.c: (gst_adder_get_type), (gst_adder_loop): fix integer addition with help of Stefan Kost 2004-03-31 Thomas Vander Stichele * po/nl.po: updated Dutch translation (Elros Cyriatan) 2004-03-30 David Schleef * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_alloc_buffer), (gst_mpeg2dec_negotiate_format): Handle Y42B-format MPEG video, patch from Matthew.Spencer@eu.sony.com (Matthew Spencer) (bug #137504) * ext/mpeg2dec/gstmpeg2dec.h: 2004-03-30 David Schleef * ext/gdk_pixbuf/Makefile.am: Remove spurious rules. (bug #136527) 2004-03-30 David Schleef * tools/gst-launch-ext-m.m: Applied patch from gnome@flyn.org (W. Michael Petullo) to handle .mov 2004-03-30 Benjamin Otte * sys/oss/gstosselement.c: (gst_osselement_probe_caps), (gst_osselement_rate_check_rate): probe caps correctly for sound cards that only support one format 2004-03-30 Benjamin Otte * ext/kio/kiosrc.cpp: (process_events): update handling event processing if inside KDE - untested 2004-03-29 David Schleef * ext/hermes/gsthermescolorspace.c: (plugin_init): decrease rank by 2 to not interfere with other colorspaces. * ext/pango/gsttextoverlay.c: (plugin_init): change rank to NONE * gst/colorspace/gstcolorspace.c: (plugin_init): decrease rank by one to not interfere with ffmpeg_colorspace. 2004-03-29 David Schleef * ext/alsa/gstalsa.c: (gst_alsa_fixate): Don't fixate fields that aren't in the caps. * gst/sine/gstsinesrc.c: change rate caps to [1,MAX] * gst/videocrop/gstvideocrop.c: (plugin_init): Change rank to NONE. 2004-03-30 Benjamin Otte * gst-libs/gst/riff/riff-media.c: fail on error, don't try to set stuff on NULL caps 2004-03-30 Benjamin Otte * configure.ac: * ext/Makefile.am: * ext/kio/Makefile.am: * ext/kio/kioreceiver.cpp: * ext/kio/kioreceiver.h: * ext/kio/kiosrc.cpp: * ext/kio/kiosrc.h: add experimental kiosrc plugin * ext/alsa/gstalsaplugin.c: (plugin_init): initialize debugging category only when we're sure registering the plugins worked. 2004-03-29 Thomas Vander Stichele * examples/gstplay/player.c: (main): * gst-libs/gst/play/play.c: (gst_play_class_init), (gst_play_set_location), (gst_play_set_data_src), (gst_play_set_video_sink), (gst_play_set_audio_sink), (gst_play_set_visualization), (gst_play_connect_visualization): check return values of element_set_state and return FALSE where failed 2004-03-29 Benjamin Otte * ext/mad/gstid3tag.c: (gst_id3_tag_handle_event): try harder to check if an event is really a discont 2004-03-29 Thomas Vander Stichele * po/LINGUAS: adding Azerbaijani (M??tin ??mirov) * po/az.po: 2004-03-28 Benjamin Otte * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_process_private): * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_parse_syshead), (gst_mpeg_demux_parse_packet), (gst_mpeg_demux_parse_pes): get rid of non-standard "..." ranges in case statements. 2004-03-27 Martin Soto * gst/mpegstream/gstmpegdemux.c: * gst/mpegstream/gstmpegdemux.h: Complete overhaul. All DVD specific functionality split to the new dvddemux element. * gst/mpegstream/gstdvddemux.c: * gst/mpegstream/gstdvddemux.h: New demultiplexer for DVD (VOB) streams, derived from mpegdemux. * gst/mpegstream/gstmpegparse.c: Discontinuity handling cleaned up. SCR based timestamp rewriting can be turned off (will probably completely disappear soon). * ext/dvdnav/dvdnavsrc.c: Changes resulting from a few months hacking. General cleanup. All printf statements replaced by debugging messages. Almost complete libdvdnav support. (dvdnavsrc_class_init): Got rid of unnecessary signals (replaced by events. New properties for audio and subpicture languages. (dvdnavsrc_update_highlight): Now uses events. (dvdnavsrc_user_op): Cleaned up. (dvdnavsrc_get): Renamed to dvdnavsrc_loop (element is now loop based). Lots of cleanup, and propper support for most libdvdnav events. (dvdnavsrc_make_dvd_event): New function. (dvdnavsrc_make_dvd_nav_packet_event): New function. (dvdnavsrc_make_clut_change_event): New function. 2004-03-26 Benjamin Otte * gst/typefind/gsttypefindfunctions.c: (theora_type_find): fix bug where typefinding would claim it's theora whenever less then 7 bytes of data were available 2004-03-25 Ronald Bultje * gst/law/alaw-decode.c: (alawdec_getcaps), (alawdec_link), (gst_alawdec_base_init), (gst_alawdec_class_init), (gst_alawdec_init), (gst_alawdec_chain): * gst/law/alaw-encode.c: (alawenc_getcaps), (alawenc_link), (gst_alawenc_base_init), (gst_alawenc_class_init), (gst_alawenc_init), (gst_alawenc_chain): * gst/law/mulaw-decode.c: (mulawdec_getcaps), (mulawdec_link), (gst_mulawdec_base_init), (gst_mulawdec_class_init), (gst_mulawdec_init), (gst_mulawdec_chain): * gst/law/mulaw-encode.c: (mulawenc_getcaps), (mulawenc_link), (gst_mulawenc_base_init), (gst_mulawenc_class_init), (gst_mulawenc_init), (gst_mulawenc_chain): Fix capsnego in all four, remove the unused property functions and simplify the chain functions slightly. I guess we could use macros or something similar for those, since the code is so similar, but I'm currently too lazy... 2004-03-24 David Schleef * sys/oss/gstosselement.c: (gst_osselement_sync_parms), (gst_osselement_close_audio), (gst_osselement_probe_caps), (gst_osselement_get_format_structure), (gst_osselement_rate_probe_check), (gst_osselement_rate_add_range), (gst_osselement_rate_check_rate), (gst_osselement_rate_add_rate), (gst_osselement_rate_int_compare): Add code to handle rate probing (bug #120883) * sys/oss/gstosselement.h: same * sys/oss/gstosssink.c: (gst_osssink_init), (gst_osssink_getcaps): Use rate probing provided by osselement. * sys/oss/gstosssrc.c: (gst_osssrc_init), (gst_osssrc_getcaps): same 2004-03-24 Ronald Bultje * ext/xvid/gstxvidenc.c: (gst_xvidenc_set_property), (gst_xvidenc_get_property): ulong/int mess-up. 2004-03-24 David Schleef * ext/speex/gstspeexdec.c: (gst_speexdec_base_init), (gst_speexdec_init): * ext/speex/gstspeexenc.c: (gst_speexenc_base_init), (gst_speexenc_init): Create the pad template correctly (from the static pad template, not a NULL pointer.) 2004-03-25 Benjamin Otte * gst/debug/Makefile.am: * gst/debug/breakmydata.c: add element that quasi-randomly changes bytes in the stream. Intended use is robustness checking of demuxers and decoders in media tests. 2004-03-24 Benjamin Otte * ext/alsa/gstalsa.c: (gst_alsa_open_audio), (gst_alsa_probe_hw_params): * ext/alsa/gstalsa.h: debugging output fixes 2004-03-24 Benjamin Otte * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_set_property): don't g_return_if_fail if element is PLAYING, fail silently as every other element. * gst/effectv/gstquark.c: (gst_quarktv_chain): only fix needed for cast lvalue issues in gst-plugins * gst/volenv/gstvolenv.c: (gst_volenv_init): add proxy_getcaps 2004-03-24 Benjamin Otte * gst/level/gstlevel.c: (gst_level_init): add proxying getcaps function, so level doesn't advertise impossible caps 2004-03-24 David Schleef * gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_sink_event), (gst_qtdemux_loop_header), (qtdemux_parse_moov), (qtdemux_parse), (qtdemux_node_dump_foreach), (qtdemux_dump_mvhd), (qtdemux_dump_tkhd), (qtdemux_dump_elst), (qtdemux_dump_mdhd), (qtdemux_dump_hdlr), (qtdemux_dump_vmhd), (qtdemux_dump_dref), (qtdemux_dump_stsd), (qtdemux_dump_stts), (qtdemux_dump_stss), (qtdemux_dump_stsc), (qtdemux_dump_stsz), (qtdemux_dump_stco), (qtdemux_dump_co64), (qtdemux_dump_dcom), (qtdemux_dump_cmvd), (qtdemux_parse_tree), (qtdemux_parse_trak): Fix debugging messages. Divide the chunk size by the compression ratio (needed for MACE audio) 2004-03-23 Ronald Bultje * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_chain): Fix buffer overflow read error. 2004-03-23 Ronald Bultje * ext/alsa/gstalsa.h: Remove unused entry. * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps): Add cinepak. * gst/videodrop/gstvideodrop.c: (gst_videodrop_getcaps), (gst_videodrop_link), (gst_videodrop_chain): Fix, sort of. Was horribly broken with new capsnego. Bah... 2004-03-23 Jeremy Simon * gst/typefind/gsttypefindfunctions.c: (ape_type_find), (plugin_init): Add a monkeysaudio typefind function 2004-03-23 Johan Dahlin * gst-libs/gst/play/play.c (gst_play_audio_fixate) (gst_play_video_fixate): Check so the structure has the field before trying to fixate them, this makes it possible to have fakesinks for video and audio output without printing errors on the output console. 2004-03-22 David Schleef * sys/oss/Makefile.am: * sys/oss/oss_probe.c: (main), (probe_check), (add_range), (check_rate), (add_rate): Rate probing test app. 2004-03-21 Benjamin Otte * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link), (_fixate_caps_to_int), (gst_audio_convert_fixate): add a fixation function that pretty much does the right thing (fixes #137556) 2004-03-20 David I. Lehn * configure.ac: GST_PACKAGE default: s/GStreamer/GStreamer Plugins/ 2004-03-20 Tim-Phillip Müller reviewed by: Benjamin Otte * ext/ogg/gstoggdemux.c: (gst_ogg_pad_push): terminate gst_event_new_discontinuous correctly (fixes parts of #137711) 2004-03-19 David Schleef * gst-libs/gst/Makefile.am: Enable xoverlay unconditionally, since it doesn't depend on X, and it's part of our ABI. 2004-03-19 Iain * gst/interleave/deinterleave.c (deinterleave_sink_link): Use the is_int in the structure, not the local variable. 2004-03-19 David Schleef * ext/librfb/gstrfbsrc.c: (gst_rfbsrc_change_state), (gst_rfbsrc_init), (gst_rfbsrc_getcaps), (gst_rfbsrc_fixate), (gst_rfbsrc_link), (gst_rfbsrc_paint_rect), (gst_rfbsrc_get): Improvements in caps negotiation. 2004-03-18 Thomas Vander Stichele * po/LINGUAS: * po/af.po: adding Afrikaans (Petri Jooste) 2004-03-18 Thomas Vander Stichele * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcolorspace_chain): throw error instead of g_critical (#137588) 2004-03-18 Thomas Vander Stichele * Makefile.am: * configure.ac: dist common and m4 correctly * po/sv.po: 2004-03-17 David Schleef * pkgconfig/gstreamer-media-info.pc.in: Add Version. (bug #137348) 2004-03-17 Thomas Vander Stichele * po/LINGUAS: * po/sv.po: adding Swedish translation (Christian Rose) 2004-03-17 Thomas Vander Stichele * Makefile.am: use release.mak 2004-03-16 Thomas Vander Stichele * common/ChangeLog: * common/gst-autogen.sh: add some explanation about the version detection * configure.ac: fix X check 2004-03-16 Thomas Vander Stichele * configure.ac: bump nano to 1 === release 0.8.0 === 2004-03-16 Thomas Vander Stichele * configure.ac: release 0.8.0, "Pharmaceutical Itch" 2004-03-16 Thomas Vander Stichele * configure.ac: update libtool version * gst-libs/gst/media-info/Makefile.am: actually use libtool version 2004-03-15 Thomas Vander Stichele * configure.ac: fix speex detection to work with 1.0 but not 1.1 2004-03-15 Thomas Vander Stichele * configure.ac: * gst-plugins.spec.in: * pkgconfig/Makefile.am: * pkgconfig/gstreamer-gconf-uninstalled.pc.in: * pkgconfig/gstreamer-interfaces-uninstalled.pc.in: * pkgconfig/gstreamer-libs-uninstalled.pc.in: * pkgconfig/gstreamer-libs.pc.in: * pkgconfig/gstreamer-media-info-uninstalled.pc.in: * pkgconfig/gstreamer-play-uninstalled.pc.in: * pkgconfig/gstreamer-plugins-uninstalled.pc.in: * pkgconfig/gstreamer-plugins.pc.in: remove @VERSION@ from some of the pc files since core and plugins are decoupled. created gstreamer-plugins.pc as it's a better name, but keeping -libs around for now to get fixes upstream done first. 2004-03-15 Julien MOUTTE * gst-libs/gst/play/play.c: (gst_play_get_framerate), (gst_play_get_sink_element): First draft of gst_play_get_framerate. * gst-libs/gst/play/play.h: 2004-03-15 Thomas Vander Stichele * *.c, *.cc: don't mix tabs and spaces 2004-03-15 Thomas Vander Stichele * gst-libs/gst/play/play.c: (gst_play_pipeline_setup): use the new ffmpegcolorspace * gst-plugins.spec.in: package new colorspace and media-info * configure.ac: * pkgconfig/Makefile.am: fix some more disting issues * pkgconfig/gstreamer-media-info-uninstalled.pc.in: * pkgconfig/gstreamer-media-info.pc.in: generate media-info pc files 2004-03-15 Johan Dahlin * *.h: Revert indenting 2004-03-15 Thomas Vander Stichele * configure.ac: adding ffmpegcolorspace element * gst/ffmpegcolorspace/Makefile.am: * gst/ffmpegcolorspace/avcodec.h: * gst/ffmpegcolorspace/common.h: * gst/ffmpegcolorspace/dsputil.c: (dsputil_static_init): * gst/ffmpegcolorspace/dsputil.h: * gst/ffmpegcolorspace/gstffmpeg.c: (plugin_init): * gst/ffmpegcolorspace/gstffmpegcodecmap.c: (gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_pix_fmt_to_caps), (gst_ffmpeg_caps_to_pix_fmt): * gst/ffmpegcolorspace/gstffmpegcodecmap.h: * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcolorspace_caps_remove_format_info), (gst_ffmpegcolorspace_getcaps), (gst_ffmpegcolorspace_pad_link), (gst_ffmpegcolorspace_get_type), (gst_ffmpegcolorspace_base_init), (gst_ffmpegcolorspace_class_init), (gst_ffmpegcolorspace_init), (gst_ffmpegcolorspace_chain), (gst_ffmpegcolorspace_change_state), (gst_ffmpegcolorspace_set_property), (gst_ffmpegcolorspace_get_property), (gst_ffmpegcolorspace_register): * gst/ffmpegcolorspace/imgconvert.c: (avcodec_get_chroma_sub_sample), (avcodec_get_pix_fmt_name), (avcodec_get_pix_fmt), (avpicture_fill), (avpicture_layout), (avpicture_get_size), (avcodec_get_pix_fmt_loss), (avg_bits_per_pixel), (avcodec_find_best_pix_fmt1), (avcodec_find_best_pix_fmt), (img_copy_plane), (img_copy), (yuv422_to_yuv420p), (yuv422_to_yuv422p), (yuv422p_to_yuv422), (C_JPEG_TO_CCIR), (img_convert_init), (img_apply_table), (shrink41), (shrink21), (shrink12), (shrink22), (shrink44), (grow21_line), (grow41_line), (grow21), (grow22), (grow41), (grow44), (conv411), (gif_clut_index), (build_rgb_palette), (bitcopy_n), (mono_to_gray), (monowhite_to_gray), (monoblack_to_gray), (gray_to_mono), (gray_to_monowhite), (gray_to_monoblack), (avpicture_alloc), (avpicture_free), (is_yuv_planar), (img_convert), (get_alpha_info_pal8), (img_get_alpha_info), (deinterlace_line), (deinterlace_line_inplace), (deinterlace_bottom_field), (deinterlace_bottom_field_inplace), (avpicture_deinterlace): * gst/ffmpegcolorspace/imgconvert_template.h: * gst/ffmpegcolorspace/mem.c: (av_malloc), (av_realloc), (av_free): * gst/ffmpegcolorspace/mmx.h: * gst/ffmpegcolorspace/utils.c: (avcodec_init): adding ffmpegcolorspace element supplied by Ronald after cleaning up and pulling in the right bits of upstream source. I'm sure a better C/compiler wizard could do some cleaning up (for example use GLIB's malloc stuff), but as a first pass this works very well 2004-03-15 Thomas Vander Stichele * ext/alsa/gstalsa.h: I assume Ronald forgot to commit the change to have cardname as a struct member. Expect some public spanking at the next opportunity. 2004-03-15 Ronald Bultje * ext/alsa/gstalsa.c: (gst_alsa_get_property), (gst_alsa_open_audio), (gst_alsa_close_audio): * ext/alsa/gstalsa.c: Don't open the device if we're a mixer (= padless). * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_class_init), (gst_alsa_mixer_init), (gst_alsa_mixer_open), (gst_alsa_mixer_close), (gst_alsa_mixer_change_state): Open mixer during state change rather than during object initialization. Also, get a device name. Currently in a somewhat hackish fashion, but I didn't really find something better. 2004-03-14 Thomas Vander Stichele * *.c, *.h: run gst-indent 2004-03-14 Benjamin Otte * gst/modplug/gstmodplug.cc: * gst/modplug/gstmodplug.h: set correct timestamps on outgoing buffers 2004-03-14 Benjamin Otte * gst/modplug/gstmodplug.cc: handle events - don't do crap when a discont arrives that's not necessary This allows correct loading and playback of mods in Rhythmbox 2004-03-14 Benjamin Otte * configure.ac: * gst-libs/gst/gconf/Makefile.am: * pkgconfig/Makefile.am: move gstreamer-gconf pkgconfig files to pkgconfig/ dir. Make sure they get rebuilt properly * configure.ac: when checking for vorbis, try pkgconfig first. * gst/modplug/gstmodplug.cc: add fixate function 2004-03-14 Ronald Bultje * gst/qtdemux/qtdemux.c: (qtdemux_parse_trak): Fix for obvious mistake, where we first shift the offset and then read a samplesize element assuming the old offset. Note that this part still has something weird, i.e. my movies containing those don't actually play well, but at least there's something that looks like sound now. 2004-03-14 Jan Schmidt * gst/typefind/gsttypefindfunctions.c: (speex_type_find), (plugin_init): Add a typefind function for speex format 2004-03-13 Ronald Bultje * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_video_caps), (gst_asf_demux_setup_pad): Use 25fps as our "fake" fps value (marked for fixage in 0.9.x) instead of 0. Reason is simple: some elements have a fps range of 1-max instead of 0-max. So now ASF video actually works. 2004-03-13 Thomas Vander Stichele * po/LINGUAS: * po/sr.po: adding serbian as a language 2004-03-13 Benjamin Otte * gst/sine/gstsinesrc.c: (gst_sinesrc_get): return taglist correctly from _get function, don't gst_pad_push it. (fixes #137042) 2004-03-13 Jan Schmidt * ext/alsa/gstalsa.c: (gst_alsa_class_probe_devices): 2004-03-13 Ronald Bultje * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_free_list): * ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_class_init), (gst_alsa_mixer_track_new): * ext/alsa/gstalsamixertrack.h: Fix ancient leftovers... MixerTrack is a GObject. 2004-03-13 Ronald Bultje * ext/alsa/gstalsa.c: (gst_alsa_class_probe_devices): * sys/oss/gstosselement.c: (gst_osselement_class_probe_devices): Don't block during probing... 2004-03-12 Ronald Bultje * ext/alsa/gstalsa.c: (gst_alsa_get_type), (gst_alsa_class_init), (gst_alsa_get_property), (gst_alsa_probe_get_properties), (gst_alsa_class_probe_devices), (gst_alsa_class_list_devices), (gst_alsa_probe_probe_property), (gst_alsa_probe_needs_probe), (gst_alsa_probe_get_values), (gst_alsa_probe_interface_init), (gst_alsa_open_audio), (gst_alsa_close_audio): * ext/alsa/gstalsa.h: Add propertyprobe interface implementation, add some device-name property, all this so that it looks good in gnome-volume-control. 2004-03-12 David Schleef * configure.ac: the Hermes library controls hermescolorspace, not colorspace. * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_base_init), (gst_mpeg2dec_init): minor pet peeve: disable code with #ifdef, not /* */ * ext/sdl/sdlvideosink.c: Change XID to unsigned long. * ext/sdl/sdlvideosink.h: ditto. * gst/colorspace/gstcolorspace.c: Fix old comments about Hermes 2004-03-12 Benjamin Otte * gst-libs/gst/xoverlay/xoverlay.c: (gst_x_overlay_set_xwindow_id), (gst_x_overlay_got_xwindow_id): * gst-libs/gst/xoverlay/xoverlay.h: replace XID with unsigned long to get rid of the xlibs dependency in XOverlay (fixes #137004) 2004-03-13 Jan Schmidt * gst/effectv/gstaging.c: (gst_agingtv_base_init), (gst_agingtv_setup): * gst/effectv/gstdice.c: (gst_dicetv_get_type), (gst_dicetv_base_init), (gst_dicetv_class_init), (gst_dicetv_setup), (gst_dicetv_init), (gst_dicetv_draw): * gst/effectv/gstedge.c: (gst_edgetv_get_type), (gst_edgetv_base_init), (gst_edgetv_class_init), (gst_edgetv_init), (gst_edgetv_setup), (gst_edgetv_rgb32): * gst/effectv/gsteffectv.c: * gst/effectv/gstquark.c: (gst_quarktv_link), (gst_quarktv_init), (gst_quarktv_set_property): * gst/effectv/gstrev.c: (gst_revtv_get_type), (gst_revtv_base_init), (gst_revtv_class_init), (gst_revtv_init), (gst_revtv_setup), (gst_revtv_rgb32): * gst/effectv/gstshagadelic.c: (gst_shagadelictv_get_type), (gst_shagadelictv_base_init), (gst_shagadelictv_class_init), (gst_shagadelictv_init), (gst_shagadelictv_setup), (gst_shagadelictv_rgb32): * gst/effectv/gstvertigo.c: (gst_vertigotv_get_type), (gst_vertigotv_base_init), (gst_vertigotv_class_init), (gst_vertigotv_setup), (gst_vertigotv_init), (gst_vertigotv_rgb32): * gst/effectv/gstwarp.c: Port everything that can be ported to videofilter and fix up the caps. Can someone with a big-endian machine please check these? 2004-03-10 Ronald Bultje * sys/oss/gstosssink.c: (gst_osssink_init), (gst_osssink_get_time), (gst_osssink_chain), (gst_osssink_change_state): Latest fixes for A/V sync, audio playback and such. This is about all... MPEG playback issues are mostly related to the async build- up of MPEG files, I cannot fix that. Use basicgthread to solve it. 2004-03-10 Thomas Vander Stichele patch from: Stephane Loeuillet * configure.ac: use pkg-config for some libraries, falling back to the old .m4 way (fixes #131270) * m4/libdv.m4: removed 2004-03-10 Thomas Vander Stichele * configure.ac: * tools/Makefile.am: * tools/Makefile.in: * tools/gst-launch-ext-m.m: * tools/gst-launch-ext.1.in: * tools/gst-visualise-m.m: * tools/gst-visualise.1: * tools/gst-visualise.1.in: reorganizing generation of script tools 2004-03-10 Ronald Bultje * ext/divx/gstdivxdec.c: Downgrade priority. We prefer ffdec_mpeg4. * ext/faad/gstfaad.c: (gst_faad_srcgetcaps), (gst_faad_srcconnect), (gst_faad_chain), (gst_faad_change_state): Fix capsnego. Doesn't work for some sounds because we don't have a 5:1 to stereo element. * ext/xvid/gstxvid.c: (plugin_init): Add priority. * sys/oss/gstosssink.c: (gst_osssink_init), (gst_osssink_chain), (gst_osssink_change_state): Add discont handling. 2004-03-09 Colin Walters * gst/audioconvert/gstaudioconvert.c: Fix typo in width 8 conversion. 2004-03-09 Benjamin Otte * gst-libs/gst/mixer/mixer.c: (gst_mixer_class_init): the signals take 2 arguments 2004-03-09 David Schleef * ext/alsa/gstalsa.c: (gst_alsa_request_new_pad), (gst_alsa_fixate): Add fixate function. (bug #136686) * ext/alsa/gstalsa.h: * ext/alsa/gstalsasink.c: (gst_alsa_sink_init): 2004-03-09 Benjamin Otte * ext/mikmod/gstmikmod.c: (gst_mikmod_init), (gst_mikmod_loop), (gst_mikmod_change_state): * ext/mikmod/gstmikmod.h: make mikmod's loop function not loop infinitely and call gst_element_yield anymore * gst/modplug/gstmodplug.cc: fix pad negotiation (fixes #136590) 2004-03-09 David Schleef * ext/lcs/Makefile.am: Fix so that the lcs colorspace plugin doesn't conflict with the internal colorspace plugin. * gst-libs/gst/audio/make_filter: Use `` instead of $() to satisfy the crappy-ass shell shipped by a certain vendor. * gst/videofilter/make_filter: same (bug #135299) 2004-03-09 Thomas Vander Stichele * configure.ac: bump nano to 1 === release 0.7.6 === 2004-03-09 Thomas Vander Stichele * configure.in: releasing 0.7.6, "There" 2004-03-09 Thomas Vander Stichele * pkgconfig/gstreamer-play-uninstalled.pc.in: * pkgconfig/gstreamer-play.pc.in: synchronize the two 2004-03-09 Thomas Vander Stichele * ext/cdparanoia/gstcdparanoia.c: (cdparanoia_base_init), (cdparanoia_open), (cdparanoia_event): fix/add error handling * po/POTFILES.in: add cdparanoia source * tools/Makefile.am: make scripts executable 2004-03-09 Thomas Vander Stichele * configure.ac: * ext/vorbis/Makefile.am: * sys/Makefile.am: remove id3types, vorbisfile and xvideosink from the build (#133783) 2004-03-08 Ronald Bultje * gst-libs/gst/riff/riff-read.c: (gst_riff_read_info): Fix metadata read crash (#136537). 2004-03-08 Thomas Vander Stichele * gst-libs/gst/media-info/media-info-priv.c: (gmi_set_mime): * gst-libs/gst/media-info/media-info.c: (gst_media_info_read): adding mime types, fixing the one-stop function 2004-03-08 Christian Schaller * ext/nas/nassink.c and /ext/nas/nassink.h: More NAS love from Arwed von Merkatz So lets all sing 'Can you feel the NAS tonight' 2004-03-08 Christian Schaller * tools/gst-launch-ext.in: Replace vorbisfile with oggdemux/vorbisdec/audioconvert 2004-03-08 Thomas Vander Stichele * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_base_init), (gst_mpeg2dec_init): remove the user_data pad for now, because it is being used in fixating causing MPEG playback to fixate on 1000 Hz for playback. If someone knows how to fix this properly, please do. 2004-03-08 Thomas Vander Stichele * sys/oss/gstosssink.c: (gst_osssink_get_delay), (gst_osssink_get_time): add a warning, IMO this won't get triggered anymore, remove later 2004-03-07 David Schleef * gst/qtdemux/qtdemux.c: (qtdemux_video_caps): Added Cinepak format (bug #136470) 2004-03-07 Thomas Vander Stichele * gst-libs/Makefile.am: * gst-libs/gst/media-info/Makefile.am: * gst-libs/gst/media-info/media-info-priv.c: (found_tag_callback), (error_callback), (gst_media_info_error_create), (gst_media_info_error_element), (gmip_init), (gmip_reset), (gmi_clear_decoder), (gmip_find_type_pre), (gmip_find_type): * gst-libs/gst/media-info/media-info-priv.h: * gst-libs/gst/media-info/media-info-test.c: (main): * gst-libs/gst/media-info/media-info.c: (gst_media_info_init), (gst_media_info_class_init), (gst_media_info_instance_init), (gst_media_info_set_source), (gst_media_info_read_with_idler), (gst_media_info_read_idler), (gst_media_info_read): * gst-libs/gst/media-info/media-info.h: fixed, should work now 2004-03-07 Christian Schaller * ext/nas/nassink.c: A bunch of NAS fixes from Arwed von Merkatz 2004-03-06 Ronald Bultje * gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream), (qtdemux_parse_trak): Fix crash (j might be greater than n_samples, in which case we're writing outside the allocated space for the array) and memleak. 2004-03-06 Ronald Bultje * sys/oss/gstosssink.c: (gst_osssink_chain): And another caller that couldn't handle delay < 0 (unsigned integer overflow). Video now continues playing on an audio buffer underrun, and the clock continues working. Audio still stalls. 2004-03-06 Ronald Bultje * sys/oss/gstosssink.c: (gst_osssink_get_delay), (gst_osssink_get_time): get_delay() may return values lower than 0. In those cases, we should not actually cast to *unsigned* int64, that will break stuff horribly. In my case, it screwed up A/V sync in movies in totem rather badly. 2004-03-06 Christophe Fergeau * ext/faac/gstfaac.c: (gst_faac_chain): * ext/flac/gstflactag.c: (gst_flac_tag_chain): * ext/libpng/gstpngenc.c: (user_write_data): * ext/mikmod/gstmikmod.c: (gst_mikmod_loop): * gst/ac3parse/gstac3parse.c: (gst_ac3parse_chain): * gst/mpeg2sub/gstmpeg2subt.c: (gst_mpeg2subt_chain_subtitle): * gst/mpegstream/gstrfc2250enc.c: (gst_rfc2250_enc_add_slice): Fix several misuse of gst_buffer_merge (it doesn't take ownership of any buffer), should fix some leaks. I hope I didn't unref buffers that shouldn't be... 2004-03-06 Thomas Vander Stichele * gst-libs/gst/media-info/media-info-priv.c: (have_type_callback), (deep_notify_callback), (tag_flag_score), (found_tag_callback), (error_callback), (gmi_reset), (gmi_seek_to_track), (gmi_get_decoder), (gmi_set_mime), (gmip_find_type_pre), (gmip_find_type_post), (gmip_find_stream_post), (gmip_find_track_streaminfo_post): * gst-libs/gst/media-info/media-info-priv.h: * gst-libs/gst/media-info/media-info-test.c: (print_tag), (info_print), (main): * gst-libs/gst/media-info/media-info.c: (gst_media_info_error_create), (gst_media_info_error_element), (gst_media_info_instance_init), (gst_media_info_get_property), (gst_media_info_new), (gst_media_info_set_source), (gst_media_info_read_idler), (gst_media_info_read): * gst-libs/gst/media-info/media-info.h: first pass at making this work again. This seems to work on tagged ogg/vorbis and mp3 files. 2004-03-06 Benjamin Otte * ext/mad/gstid3tag.c: (gst_id3_tag_chain): fix huge leak: gst_buffer_merge doesn't unref the first argument itself. 2004-03-06 Thomas Vander Stichele * ext/mad/gstmad.c: (gst_mad_class_init), (gst_mad_update_info): report layer/mode/emphasis 2004-03-06 Christophe Fergeau * ext/mad/gstmad.c: (gst_mad_chain): fixed caps leak 2004-03-06 Thomas Vander Stichele * ext/ogg/gstoggdemux.c: (gst_ogg_pad_new): signal serial 2004-03-06 Thomas Vander Stichele * ext/vorbis/vorbis.c: (plugin_init): * ext/vorbis/vorbisdec.c: (vorbis_dec_get_formats), (gst_vorbis_dec_init), (vorbis_dec_event): add debug category make vorbisdec handle _BYTE and _TIME queries 2004-03-06 Christophe Fergeau * ext/mad/gstmad.c: (gst_mad_chain): send the average bitrate read from the xing header 2004-03-06 Benjamin Otte * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_getcaps), (gst_audio_convert_link), (gst_audio_convert_change_state), (gst_audio_convert_buffer_from_default_format): do conversions from/to float correctly, fix some caps nego errors, export correct supported caps in template and getcaps, use correct caps in try_set_caps functions 2004-03-06 Christophe Fergeau For some reason, I only committed a ChangeLog entry yesterday and not the corresponding code... * ext/mad/gstmad.c: Fix detection of Xing headers * gst/tags/gstid3tag.c: Changes to support TLEN tags 2004-03-06 Benjamin Otte * ext/ogg/gstoggdemux.c: (gst_ogg_get_pad_by_pad), (gst_ogg_demux_src_query): make sure to handle the case where there's no current chain gracefully. 2004-03-05 David Schleef * ext/aalib/gstaasink.c: (gst_aasink_fixate), (gst_aasink_init): Add fixate function. (bug #131128) * ext/sdl/sdlvideosink.c: (gst_sdlvideosink_init), (gst_sdlvideosink_fixate): Add fixate function. * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link): Fix attempt to print a non-pointer using GST_PTR_FORMAT. * gst/wavparse/gstwavparse.c: (gst_wavparse_parse_fmt): Fix missing break that was causing ulaw to be interpreted as raw int. 2004-03-05 David Schleef * gst/mpegstream/gstrfc2250enc.c: (gst_rfc2250_enc_add_slice): Fix code that ignores return value of gst_buffer_merge(). (bug #114560) * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_descramble_segment): * gst/mpegstream/gstrfc2250enc.c: (gst_rfc2250_enc_add_slice): same * testsuite/gst-lint: Check for above. 2004-03-05 David Schleef * gst/udp/gstudpsrc.c: (gst_udpsrc_get): Check for unfixed caps and throw an element error. (bug #136334) 2004-03-05 David Schleef * ext/faad/gstfaad.c: (gst_faad_init), (gst_faad_srcgetcaps), (gst_faad_chain): Fix negotiation. * ext/librfb/gstrfbsrc.c: (gst_rfbsrc_handle_src_event): Add key and button events. * gst-libs/gst/floatcast/floatcast.h: Fix a minor bug in this dung heap of code. * gst-libs/gst/gconf/gstreamer-gconf-uninstalled.pc.in: gstgconf depends on gconf * gst-libs/gst/gconf/gstreamer-gconf.pc.in: same * gst-libs/gst/play/play.c: (gst_play_pipeline_setup), (gst_play_video_fixate), (gst_play_audio_fixate): Add a fixate function to encourage better negotiation, particularly between audioconvert and osssink. * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain): * gst/qtdemux/qtdemux.c: (qtdemux_parse_trak): Make some debugging more important. * gst/typefind/gsttypefindfunctions.c: Fix mistake in flash typefinding. * gst/vbidec/vbiscreen.c: Add glib header * pkgconfig/gstreamer-play.pc.in: Depends on gst-interfaces. 2004-03-06 Christophe Fergeau * ext/mad/gstmad.c: Fix detection of Xing headers * gst/tags/gstid3tag.c: Changes to support TLEN tags 2004-03-06 Thomas Vander Stichele * gst/wavparse/gstwavparse.c: (gst_wavparse_parse_fmt), (gst_wavparse_pad_convert), (gst_wavparse_pad_query): debug updates 2004-03-06 Christophe Fergeau * ext/mad/gstid3tag.c: (gst_mad_id3_to_tag_list): * ext/mad/gstmad.c: (gst_mad_init), (is_xhead), (mpg123_parse_xing_header), (gst_mad_chain): parse Xing header in vbr files, and report the parsed length as a GST_TAG_DURATION tag. * gst/tags/gstid3tag.c: support TLEN (duration) tag 2004-03-05 Benjamin Otte * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_channels): convert channels correctly. convert correctly to unsigned. 2004-03-05 Julien MOUTTE * sys/xvimage/xvimagesink.c: (gst_xvimagesink_change_state): Check if we have a window before clearing it. 2004-03-05 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_change_state): Check if we have a window before clearing it. 2004-03-05 Thomas Vander Stichele * gconf/gstreamer.schemas.in: * gst-libs/gst/gconf/Makefile.am: version installation path the same way as for 0.6 * pkgconfig/gstreamer-interfaces-uninstalled.pc.in: * pkgconfig/gstreamer-libs-uninstalled.pc.in: * pkgconfig/gstreamer-play-uninstalled.pc.in: remove comment that was fixed 2004-03-05 David Schleef * gst/qtdemux/qtdemux.c: (gst_qtdemux_get_src_formats), (gst_qtdemux_src_convert), (gst_qtdemux_get_src_query_types), (gst_qtdemux_get_event_mask), (gst_qtdemux_handle_src_query), (gst_qtdemux_handle_src_event), (gst_qtdemux_add_stream): Add prototype code for handling seeking and querying. 2004-03-04 Ronald Bultje * examples/gstplay/player.c: (main): Initialize variables to NULL. Prevents a segfault because the (uninitialized) variable is not NULL, resulting in a crash on trying to reach error->message. 2004-03-05 Benjamin Otte * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_buffer_to_default_format): make float=>int conversion work correctly even in cornercases. 2004-03-04 David I. Lehn * debian/README.Debian: * debian/build-deps: * debian/changelog: * debian/control: * debian/control.in: * debian/copyright: * debian/gstreamer-a52dec.files: * debian/gstreamer-aa.files: * debian/gstreamer-alsa.files: * debian/gstreamer-alsa.manpages: * debian/gstreamer-arts.files: * debian/gstreamer-artsd.files: * debian/gstreamer-audiofile.files: * debian/gstreamer-avifile.files: * debian/gstreamer-cdparanoia.files: * debian/gstreamer-colorspace.files: * debian/gstreamer-doc.files: * debian/gstreamer-dv.files: * debian/gstreamer-dvd.files: * debian/gstreamer-esd.files: * debian/gstreamer-festival.files: * debian/gstreamer-flac.files: * debian/gstreamer-gconf.conffiles: * debian/gstreamer-gconf.files: * debian/gstreamer-gconf.postinst: * debian/gstreamer-gnomevfs.files: * debian/gstreamer-gsm.files: * debian/gstreamer-http.files: * debian/gstreamer-jack.files: * debian/gstreamer-jpeg.files: * debian/gstreamer-mad.files: * debian/gstreamer-mikmod.files: * debian/gstreamer-misc.files: * debian/gstreamer-mpeg2dec.files: * debian/gstreamer-oss.files: * debian/gstreamer-plugin-apps.files: * debian/gstreamer-plugin-apps.manpages: * debian/gstreamer-plugin-libs-dev.files: * debian/gstreamer-plugin-libs.files: * debian/gstreamer-plugin-template.postinst: * debian/gstreamer-plugin-template.postrm: * debian/gstreamer-sdl.files: * debian/gstreamer-sid.files: * debian/gstreamer-vorbis.files: * debian/gstreamer-x.files: * debian/mk.control: * debian/rules: Debian package info not maintained here. 2004-03-04 Thomas Vander Stichele * ext/aalib/gstaasink.c: (gst_aasink_class_init): * ext/cdaudio/gstcdaudio.c: (gst_cdaudio_class_init): * ext/cdparanoia/gstcdparanoia.c: (cdparanoia_class_init): * ext/divx/gstdivxenc.c: (gst_divxenc_class_init): * ext/dvdnav/dvdnavsrc.c: (dvdnavsrc_class_init): * ext/gsm/gstgsmenc.c: (gst_gsmenc_class_init): * ext/jpeg/gstjpegenc.c: (gst_jpegenc_class_init): * ext/musicbrainz/gsttrm.c: (gst_musicbrainz_class_init): * ext/speex/gstspeexenc.c: (gst_speexenc_class_init): * ext/xvid/gstxvidenc.c: (gst_xvidenc_class_init): * gst-libs/gst/colorbalance/colorbalance.c: (gst_color_balance_class_init): * gst-libs/gst/colorbalance/colorbalancechannel.c: (gst_color_balance_channel_class_init): * gst-libs/gst/mixer/mixer.c: (gst_mixer_class_init): * gst-libs/gst/play/play.c: (gst_play_class_init): * gst-libs/gst/propertyprobe/propertyprobe.c: (gst_property_probe_iface_init): * gst-libs/gst/tuner/tuner.c: (gst_tuner_class_init): * gst-libs/gst/tuner/tunerchannel.c: (gst_tuner_channel_class_init): * gst-libs/gst/xoverlay/xoverlay.c: (gst_x_overlay_base_init): * gst/cutter/gstcutter.c: (gst_cutter_class_init): * gst/effectv/gstvertigo.c: (gst_vertigotv_class_init): * sys/cdrom/gstcdplayer.c: (cdplayer_class_init): * sys/dxr3/dxr3spusink.c: (dxr3spusink_class_init): * sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_class_init): * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_class_init): * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_class_init): * sys/v4l2/gstv4l2src.c: (gst_v4l2src_class_init): fix signals to use - instead of _ * ext/libcaca/gstcacasink.h: * ext/sdl/sdlvideosink.h: fix header rename 2004-03-04 David Schleef * testsuite/gst-lint: Add a check for bad signal names. 2004-03-04 Stefan Kost reviewed by David Schleef * gst/videofilter/gstgamma.c: (gst_gamma_rgb32): Fix typo that modified the alpha channel and caused a warning. (bug #136192) 2004-04-03 Christian Schaller * gst-plugins.spec.in: Change names of plugins to actually be correct. Try to keep things alphabetical to avoid getting beat up by Thomas 2004-03-03 Julien MOUTTE * gst-libs/gst/gconf/gconf.c: (gst_gconf_get_default_video_sink): Using ximagesink as a default if no gconf key found. We should probably consider using alsasink instead of osssink for the audio part. 2004-03-02 Thomas Vander Stichele * configure.ac: fix --with-plugins, don't think it ever worked before * gst-plugins.spec.in: even more updates 2004-03-01 Ronald Bultje * ext/sdl/sdlvideosink.h: * sys/ximage/ximagesink.h: * sys/xvideo/xvideosink.h: * sys/xvimage/xvimagesink.h: Fix for move of gstvideosink.h -> videosink.h. 2004-03-02 Thomas Vander Stichele * gst-libs/gst/xwindowlistener/Makefile.am: this is a plugin library, not a library 2004-03-01 David Schleef * AUTHORS: Added some names. Add yourself if you're still missing. 2004-03-01 David Schleef * MAINTAINERS: Add 2004-03-01 Thomas Vander Stichele * gst-plugins.spec.in: clean up spec file 2004-03-01 Thomas Vander Stichele * gst-libs/gst/video/Makefile.am: * gst-libs/gst/video/gstvideosink.c: * gst-libs/gst/video/gstvideosink.h: rename gstvideosink.h to videosink.h to match other headers * gst/mixmatrix/Makefile.am: fix plugin filename * gst/tags/Makefile.am: fix plugin filename 2004-03-01 Thomas Vander Stichele * gst/tags/Makefile.am: fix plugin filename 2004-03-01 Thomas Vander Stichele * examples/gstplay/player.c: (got_time_tick), (main): add error handler display time_tick more readably * gst/mixmatrix/Makefile.am: fix plugin file name 2004-02-29 Christophe Fergeau * sys/oss/gstosselement.c: (gst_osselement_probe), (device_combination_append), (gst_osselement_class_probe_devices): * sys/oss/gstosselement.h: Reworked enumeration of oss dsps and mixers so that gst-mixer works on my system using alsa oss emulation, fixes bug #135597 2004-02-29 Ronald Bultje * gst/videodrop/gstvideodrop.c: (gst_videodrop_init), (gst_videodrop_chain), (gst_videodrop_change_state): * gst/videodrop/gstvideodrop.h: Work based on timestamp of input data, not based on the expected framerate from the input. The consequence is that this element now not only scales framerates, but also functions as a framerate corrector or framerate stabilizer/constantizer. 2004-02-27 David Schleef patches from jmmv@menta.net (Julio M. Merino Vidal) * gst/interleave/deinterleave.c: (deinterleave_chain): Fix GST_ELEMENT_ERROR call (bug #135634) * gst/interleave/interleave.c: (interleave_buffered_loop), (interleave_bytestream_loop): Don't use alloca() (bug #135640) * sys/cdrom/gstcdplayer_ioctl_bsd.h: Fix ioctls on NetBSD (bug #135645) * sys/oss/gstosssink.c: (gst_osssink_get_delay), (gst_osssink_chain): Fix ioctls on NetBSD. (bug #135644) * sys/v4l/v4lmjpegsrc_calls.c: (gst_v4lmjpegsrc_sync_next_frame), (gst_v4lmjpegsrc_set_capture), (gst_v4lmjpegsrc_set_capture_m), (gst_v4lmjpegsrc_capture_init), (gst_v4lmjpegsrc_requeue_frame): Fix GST_ELEMENT_ERROR call. * sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_try_palette): Fix GST_ELEMENT_ERROR call. 2004-02-27 Benjamin Otte * gst-libs/gst/audio/audio.h: add macro to make sure header isn't included twice * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_chunk): don't use gst_buffer_free * gst/playondemand/filter.func: don't use gst_data_free. Free data only once. 2004-02-26 David Schleef * gst-libs/gst/colorbalance/Makefile.am: * gst-libs/gst/mixer/Makefile.am: * gst-libs/gst/tuner/Makefile.am: * gst/level/Makefile.am: -marshal.[ch] and -enum.[ch] files should not be disted, -marshal.h files should not be installed, and -enum.h files _should_ be installed. Fix to make this the case. === release 0.7.5 === 2004-02-26 Thomas Vander Stichele * configure.ac: release 0.7.5, "Under The Sea" 2004-02-25 Thomas Vander Stichele * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link), (gst_audio_convert_change_state), (gst_audio_convert_get_buffer): * gst/videoscale/gstvideoscale.c: * sys/oss/gstosselement.c: (gst_osselement_sync_parms): assorted debug/warning fixes 2004-02-25 Thomas Vander Stichele * gst/videoscale/gstvideoscale.c: (gst_videoscale_getcaps), (gst_videoscale_init), (gst_videoscale_chain), (gst_videoscale_set_property), (plugin_init): * gst/videoscale/gstvideoscale.h: * gst/videoscale/videoscale.c: (gst_videoscale_setup), (gst_videoscale_scale_rgb), (gst_videoscale_planar411), (gst_videoscale_planar400), (gst_videoscale_packed422), (gst_videoscale_packed422rev), (gst_videoscale_32bit), (gst_videoscale_24bit), (gst_videoscale_16bit), (gst_videoscale_bilinear), (gst_videoscale_bicubic), (gst_videoscale_scale_plane_slow), (gst_videoscale_scale_point_sample), (gst_videoscale_scale_nearest), (gst_videoscale_scale_nearest_str2), (gst_videoscale_scale_nearest_str4), (gst_videoscale_scale_nearest_32bit), (gst_videoscale_scale_nearest_24bit), (gst_videoscale_scale_nearest_16bit): add debugging category and use it properly fix use of GST_PTR_FORMAT 2004-02-25 Andy Wingo * gst/interleave/interleave.c (interleave_buffered_loop): Always push only when channel->buffer is NULL. Prevents segfaults doing the state change after a nonlocal exit, like a scheme exception. * gst/audioconvert/gstaudioconvert.c (gst_audio_convert_getcaps): Handle the case where the intersected caps is empty. 2004-02-25 Thomas Vander Stichele * gst/law/mulaw-decode.c: (mulawdec_link): * gst/law/mulaw.c: (plugin_init): fix mulawdec so it actually works again 2004-02-24 Arwed v. Merkatz reviewed by: David Schleef * gst/videofilter/gstgamma.c: (gst_gamma_class_init), (gst_gamma_init), (gst_gamma_set_property), (gst_gamma_get_property), (gst_gamma_calculate_tables), (gst_gamma_rgb24), (gst_gamma_rgb32): Adds gamma correction for RGB, with separate r g and b correction factors. (#131167) 2004-02-24 Thomas Vander Stichele * ext/vorbis/vorbisdec.c: (vorbis_dec_chain): only signal tags for bitrate if they're > 0 (#134894) 2004-02-24 David Schleef * gst/qtdemux/qtdemux.c: (plugin_init), (gst_qtdemux_loop_header), (qtdemux_parse_moov), (qtdemux_parse), (qtdemux_node_dump_foreach), (qtdemux_dump_mvhd), (qtdemux_dump_tkhd), (qtdemux_dump_elst), (qtdemux_dump_mdhd), (qtdemux_dump_hdlr), (qtdemux_dump_vmhd), (qtdemux_dump_dref), (qtdemux_dump_stsd), (qtdemux_dump_stts), (qtdemux_dump_stss), (qtdemux_dump_stsc), (qtdemux_dump_stsz), (qtdemux_dump_stco), (qtdemux_dump_co64), (qtdemux_dump_dcom), (qtdemux_dump_cmvd), (qtdemux_parse_tree), (qtdemux_parse_trak): Cleanups. Convert g_prints to GST_LOGs. Add qtdemux debug category. Attempt to fix timestamp calculation. 2004-02-24 Johan Dahlin * gst-libs/gst/gconf/gconf.c: Add \n to g_print error messages 2004-02-23 Thomas Vander Stichele * configure.ac: * gconf/Makefile.am: * gconf/gstreamer.schemas: * gst-libs/gst/gconf/Makefile.am: * gst-libs/gst/gconf/gconf.c: version gconf schemas and install locations 2004-02-23 Benjamin Otte * ext/xine/xineinput.c: (gst_xine_input_dispose): (gst_xine_input_subclass_init): call parent dispose. change pad template for CD reader correctly * ext/xine/Makefile.am: * ext/xine/gstxine.h: * ext/xine/xine.c: (plugin_init): * ext/xine/xineaudiosink.c: wrap audio sinks, too * gst-libs/gst/resample/private.h: * gst-libs/gst/resample/resample.c: (gst_resample_init), (gst_resample_reinit), (gst_resample_scale), (gst_resample_nearest_s16), (gst_resample_bilinear_s16), (gst_resample_sinc_slow_s16), (gst_resample_sinc_s16), (gst_resample_sinc_ft_s16), (gst_resample_nearest_float), (gst_resample_bilinear_float), (gst_resample_sinc_slow_float), (gst_resample_sinc_float), (gst_resample_sinc_ft_float): * gst-libs/gst/resample/resample.h: * gst/audioscale/gstaudioscale.c: (gst_audioscale_method_get_type), (gst_audioscale_class_init), (gst_audioscale_link), (gst_audioscale_get_buffer), (gst_audioscale_init), (gst_audioscale_chain), (gst_audioscale_set_property), (gst_audioscale_get_property): * gst/audioscale/gstaudioscale.h: s/resample_*/gst_resample_*/i to not clobber namespaces 2004-02-23 Julien MOUTTE * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps), (gst_riff_create_audio_caps), (gst_riff_create_iavs_caps), (gst_riff_create_video_template_caps), (gst_riff_create_audio_template_caps), (gst_riff_create_iavs_template_caps): * gst-libs/gst/riff/riff-media.h: * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_base_init), (gst_asf_demux_audio_caps), (gst_asf_demux_add_audio_stream), (gst_asf_demux_video_caps), (gst_asf_demux_add_video_stream): * gst/avi/gstavidemux.c: (gst_avi_demux_add_stream): * gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream), (gst_matroska_demux_video_caps), (gst_matroska_demux_audio_caps), (gst_matroska_demux_plugin_init): First batch implementing audio and video codec tags in demuxers. 2004-02-22 Benjamin Otte * ext/xine/Makefile.am: * ext/xine/gstxine.h: * ext/xine/xine.c: (plugin_init): * ext/xine/xineinput.c: add input plugin wrapper. Playback from files, http, mms and cdda works. * ext/xine/xineaudiodec.c: (gst_xine_audio_dec_chain): remove leftover G_GNUC_UNUSED * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_stream), (gst_asf_demux_identify_guid): improve debugging output 2004-02-22 Benjamin Otte reported by: Padraig O'Briain * autogen.sh: replace test -e with test -x for mkinstalldirs to be more portable. (fixes #134816) 2004-02-22 Benjamin Otte reported by: Stefan Kost * gst/audioconvert/gstaudioconvert.c: (plugin_init): set rank to PRIMARY * gst/volume/gstvolume.c: (plugin_init): set rank to NONE fixes #134960 2004-02-22 Julio M. Merino Vidal reviewed by Benjamin Otte * ext/flac/gstflacenc.c: (gst_flacenc_chain): escape NULL strings in GST_ELEMENT_ERROR properly (fixes #135116) 2004-02-22 Benjamin Otte * configure.ac: export [_]*{gst,Gst,GST}.* symbols from plugins 2004-02-22 Christophe Fergeau reviewed by: Benjamin Otte * ext/lame/gstlame.c: (add_one_tag): * ext/mad/gstid3tag.c: (gst_mad_id3_to_tag_list): * ext/vorbis/vorbisenc.c: (gst_vorbisenc_get_tag_value), (gst_vorbisenc_metadata_set1): * gst/tags/gstid3tag.c: * gst/tags/gstvorbistag.c: (gst_vorbis_tag_add): apply fixes from bugs #135042 (lame can't write tags) and #133817 (add GST_ALBUM_VOLUME_{COUNT,NUMBER} tags) 2004-02-22 Ramon Garcia * configure.ac: Export only gst_plugin_desc from plugins. Note that this change only makes any effect with Linux using libtool 1.5.2 or higher. Otherwise it is silently ignored, but it would build fine. And don't try to have several versions of libtool in different directories. 2004-02-20 Andy Wingo * gst/intfloat/, gst/oneton: Removed, replaced by audioconvert and interleave respectively. * gst/interleave/deinterleave.c: New plugin: deinterleave (replaces on oneton). * gst/interleave/interleave.c: New plugin: interleave. * gst/interleave/plugin.h: Support file. * gst/interleave/plugin.c: Support file. * configure.ac: Remove intfloat and oneton, add interleave. * ext/sndfile/gstsf.c: Handle events better. * gst/audioconvert/gstaudioconvert.c: Change to support int2float and float2int operation. int2float has scheduling problems as noted in in2float_chain. 2004-02-20 Benjamin Otte * ext/xine/Makefile.am: * ext/xine/gstxine.h: * ext/xine/xine.c: * ext/xine/xineaudiodec.c: * ext/xine/xinecaps.c: add first version of xine plugin wrapper. Currently only wraps the QDM2 win32 DLL, and even that only in proof-of-concept quality. * configure.ac: * ext/Makefile.am: add xine plugin wrapper, disabled by default. Use --enable-xine to build. Note that it'll segfault on gst-register if you don't remove the goom and tvtime post plugins from xine. * gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_sink_event), (qtdemux_parse), (qtdemux_parse_trak), (qtdemux_audio_caps): add extradata parsing for QDM2. change around debugging prints. 2004-02-19 Benjamin Otte * ext/lame/gstlame.c: (gst_lame_chain): * ext/vorbis/vorbisenc.c: (gst_vorbisenc_chain): use gst_tag_list_insert when you want to insert tags 2004-02-18 David Schleef * configure.ac: Move massink to gst-rotten * ext/Makefile.am: * ext/mas/Makefile.am: * ext/mas/massink.c: * ext/mas/massink.h: 2004-02-18 David Schleef * ext/gdk_pixbuf/gstgdkpixbuf.c: (plugin_init): Disable gdk_pixbuf typefinding, since it seems to be worse than nothing. * gst/typefind/gsttypefindfunctions.c: (qt_type_find): Add ftyp atom to recognize .mp4 and .m4a files as video/quicktime. 2004-02-18 David Schleef * gst/sine/demo-dparams.c: (quit_live), (dynparm_log_value_changed), (dynparm_value_changed), (main): Use double dparams, not float. * gst/sine/gstsinesrc.c: (gst_sinesrc_class_init), (gst_sinesrc_init): Change sync default to FALSE, since multiple sync'd elements don't really work correctly. * gst/volume/gstvolume.c: (volume_class_init), (volume_init), (volume_update_volume), (volume_get_property): Change dparam to double. 2004-02-18 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_xwindow_update_geometry), (gst_ximagesink_renegotiate_size), (gst_ximagesink_handle_xevents), (gst_ximagesink_change_state), (gst_ximagesink_expose), (gst_ximagesink_init): Rework the way software video scaling works. So now we check on each chain call if the video frames are feeling the window. If not we try to renegotiate caps. On failure we memorize that and we won't try again for that PLAYING sessions. * sys/ximage/ximagesink.h: Adding a boolean to store the caps renego failure. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_init): initialize the synchronous flag. 2004-02-18 Thomas Vander Stichele * gst-libs/gst/play/play.c: (gst_play_pipeline_setup): break up _link so we can give a better debug message for errors 2004-02-18 Thomas Vander Stichele * ext/gdk_pixbuf/gstgdkpixbuf.c: (plugin_init): set up debug category 2004-02-18 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_renegotiate_size), (gst_ximagesink_handle_xevents), (gst_ximagesink_expose): Reorganizing the way renegotiation work. The event handling function is not taking care of external windows and renegotiate method check for pad flags NEGOTIATING. Should fix : #133209 2004-02-17 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_expose): Checking if the pad is negotiating before trying renegotiation. 2004-02-17 Thomas Vander Stichele * ext/gdk_pixbuf/gstgdkpixbuf.c: (gst_gdk_pixbuf_type_find): pass on all possible mime types as typefind hints 2004-02-17 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_ximage_new): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new): Fix a possible SHM leak if we crash. All other apps using XShm are doing that. 2004-02-17 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_renegotiate_size), (gst_ximagesink_expose): Renegotiate size on expose. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_expose): Update window size on expose. 2004-02-16 Benjamin Otte * testsuite/alsa/sinesrc.c: cosmetic fix to fix compile issue with gcc 2.95.4 2004-02-16 Julien MOUTTE * ext/alsa/gstalsa.c: (gst_alsa_open_audio), (gst_alsa_timestamp_to_bytes): Alsa should trigger an error if it failed opening the audio device. * sys/ximage/ximagesink.c: (gst_ximagesink_ximage_new), (gst_ximagesink_ximage_destroy), (gst_ximagesink_ximage_put), (gst_ximagesink_xwindow_new), (gst_ximagesink_xwindow_destroy), (gst_ximagesink_xwindow_resize), (gst_ximagesink_xwindow_clear), (gst_ximagesink_renegotiate_size), (gst_ximagesink_handle_xevents), (gst_ximagesink_xcontext_get), (gst_ximagesink_xcontext_clear), (gst_ximagesink_change_state), (gst_ximagesink_chain), (gst_ximagesink_set_xwindow_id): Clearing window in READY TO PAUSED. Removing some useless g_return_if_fail like wingo suggested. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new), (gst_xvimagesink_xvimage_destroy), (gst_xvimagesink_xvimage_put), (gst_xvimagesink_xwindow_new), (gst_xvimagesink_xwindow_destroy), (gst_xvimagesink_xwindow_resize), (gst_xvimagesink_xwindow_clear), (gst_xvimagesink_update_colorbalance), (gst_xvimagesink_handle_xevents), (gst_xvimagesink_xcontext_get), (gst_xvimagesink_xcontext_clear), (gst_xvimagesink_get_fourcc_from_caps), (gst_xvimagesink_change_state), (gst_xvimagesink_chain), (gst_xvimagesink_set_xwindow_id), (gst_xvimagesink_colorbalance_list_channels), (gst_xvimagesink_colorbalance_set_value), (gst_xvimagesink_colorbalance_get_value): Clearing window in READY TO PAUSED. Removing some useless g_return_if_fail like wingo suggested. 2004-02-16 Thomas Vander Stichele * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain): throw error when not negotiated instead of asserting 2004-02-15 Julien MOUTTE * gst/switch/gstswitch.c: (gst_switch_loop): More fixes for correct data refcounting. 2004-02-15 Julien MOUTTE * gst/switch/gstswitch.c: (gst_switch_change_state), (gst_switch_class_init): Cleaning the sinkpads correctly on state change, mostly the EOS flag. 2004-02-15 Julien MOUTTE * examples/gstplay/player.c: (got_eos), (main): Adding some output for debugging. * gst-libs/gst/play/play.c: (gst_play_state_change): Stop our timeouts if we go to any state different from PLAYING. * gst-libs/gst/riff/riff-read.c: (gst_riff_read_seek): Fix some more EOS bugs in riff lib. 2004-02-14 Julien MOUTTE * gst-libs/gst/play/play.c: (gst_play_connect_visualization): Disable visualization until i find a way to fix switch correctly. * gst-libs/gst/riff/riff-read.c: (gst_riff_peek_head): Fix a bug when EOS arrives. * gst/switch/gstswitch.c: (gst_switch_release_pad), (gst_switch_request_new_pad), (gst_switch_poll_sinkpads), (gst_switch_loop), (gst_switch_dispose), (gst_switch_class_init): Reworked switch to get a more correct behaviour with events and refing of data stored in sinkpads. * gst/switch/gstswitch.h: Adding an eos flag for every sinkpad so that we don't pull from a pad in EOS. 2004-02-14 Benjamin Otte * ext/mad/gstid3tag.c: (gst_id3_tag_chain): remove v1 tag even if we can't read it (makes sure we don't detect it again) 2004-02-14 Benjamin Otte * ext/alsa/gstalsa.c: (gst_alsa_pcm_wait), (gst_alsa_xrun_recovery): * ext/alsa/gstalsa.h: try xrun recovery when wait failed. Make xrun recovery function return TRUE/FALSE to indicate success. (might fix #134354) 2004-02-13 David Schleef * gst/sine/demo-dparams.c: (dynparm_log_value_changed), (dynparm_value_changed), (main): Convert from float to double. * gst/sine/gstsinesrc.c: (gst_sinesrc_init): same. 2004-02-13 David Schleef * gst/silence/gstsilence.c: (gst_silence_class_init), (gst_silence_set_clock), (gst_silence_get), (gst_silence_set_property), (gst_silence_get_property): * gst/silence/gstsilence.h: Add sync property. * gst/sine/gstsinesrc.c: (gst_sinesrc_class_init), (gst_sinesrc_init), (gst_sinesrc_set_clock), (gst_sinesrc_get), (gst_sinesrc_set_property), (gst_sinesrc_get_property): * gst/sine/gstsinesrc.h: Add sync property. 2004-02-13 David Schleef * gst/intfloat/gstint2float.c: (conv_f32_s16), (gst_int2float_chain_gint16): Change stdint usage to glib types. 2004-02-13 Thomas Vander Stichele * configure.ac: * ext/Makefile.am: * gst-libs/ext/Makefile.am: move ffmpeg plugin to gst-ffmpeg module 2004-02-13 Thomas Vander Stichele * configure.ac: use GST_ARCH to detect architecture 2004-02-12 Julien MOUTTE * gst/vbidec/vbiscreen.c: Fixing thomasvs fixes. Missing header. 2004-02-12 Thomas Vander Stichele * ext/ladspa/gstladspa.c: (gst_ladspa_base_init): classify LADSPA plugins based on number of src/sink pads (#133663, Stefan Kost) * gst/sine/gstsinesrc.c: (gst_sinesrc_init): fix dparams registration (#133528, Stefan Kost) * gst/vbidec/vbiscreen.c: (vbiscreen_set_current_cell): fix use of isprint and use g_ascii_isprint instead (#133316, Stefan Kost) 2004-02-11 David Schleef Convert a few inner loops to use liboil. This is currently optional, and is only enabled if liboil is present (duh!). * configure.ac: Check for liboil-0.1 * gst/intfloat/Makefile.am: * gst/intfloat/gstint2float.c: (conv_f32_s16), (scalarmult_f32), (gst_int2float_chain_gint16): * gst/videofilter/Makefile.am: * gst/videofilter/gstvideobalance.c: (gst_videobalance_class_init), (tablelookup_u8), (gst_videobalance_planar411): * gst/videotestsrc/Makefile.am: * gst/videotestsrc/gstvideotestsrc.c: (plugin_init): * gst/videotestsrc/videotestsrc.c: (splat_u8), (paint_hline_YUY2), (paint_hline_IYU2), (paint_hline_str4), (paint_hline_str3), (paint_hline_RGB565), (paint_hline_xRGB1555): 2004-02-11 David Schleef * ext/lcs/gstcolorspace.c: (colorspace_find_lcs_format), (gst_colorspace_caps_get_fourcc), (colorspace_setup_converter), (gst_colorspace_getcaps), (gst_colorspace_link), (gst_colorspace_base_init), (gst_colorspace_init), (gst_colorspace_chain), (gst_colorspace_change_state), (plugin_init): Merge Ronald's patch (bug #117897) and update for new caps and negotiation. Seems to work, although it shows off bugs in lcs. 2004-02-11 David Schleef * ext/alsa/Makefile.am: Fix linking against libgstinterfaces. (bug #133886) Noticed by bugs@leroutier.net (Stephane LOEUILLET) 2004-02-11 David Schleef * ext/librfb/gstrfbsrc.c: (gst_rfbsrc_class_init), (gst_rfbsrc_change_state), (gst_rfbsrc_init), (gst_rfbsrc_set_property), (gst_rfbsrc_get_property): Add server and port properties 2004-02-11 Thomas Vander Stichele * m4/a52.m4: * m4/aalib.m4: * m4/as-ffmpeg.m4: * m4/as-liblame.m4: * m4/as-slurp-ffmpeg.m4: * m4/check-libheader.m4: * m4/esd.m4: * m4/freetype2.m4: * m4/gconf-2.m4: * m4/glib.m4: * m4/gst-alsa.m4: * m4/gst-artsc.m4: * m4/gst-ivorbis.m4: * m4/gst-matroska.m4: * m4/gst-sdl.m4: * m4/gst-shout2.m4: * m4/gst-sid.m4: * m4/gtk.m4: * m4/libdv.m4: * m4/libfame.m4: * m4/libmikmod.m4: * m4/ogg.m4: * m4/vorbis.m4: fix underquotedness of macros (#133800) * m4/as-avifile.m4: * m4/xmms.m4: removed because no longer used 2004-02-11 Thomas Vander Stichele * configure.ac: require gettext 0.11.5 so ulonglong.m4 gets checked out and copied by autopoint (fixes #132996) 2004-02-11 Benjamin Otte * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_base_init): * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_base_init): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_base_init): * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_base_init): fix memleaks 2004-02-11 David Schleef * ext/gdk_pixbuf/gstgdkpixbuf.c: (gst_gdk_pixbuf_sink_link), (gst_gdk_pixbuf_chain): Fix logic bug causing spurious errors. * ext/jpeg/gstjpegdec.c: (gst_jpegdec_base_init), (gst_jpegdec_init), (gst_jpegdec_chain): Fix negotiation. * ext/jpeg/gstjpegenc.c: (gst_jpegenc_base_init), (gst_jpegenc_class_init), (gst_jpegenc_init), (gst_jpegenc_getcaps), (gst_jpegenc_link), (gst_jpegenc_resync), (gst_jpegenc_chain), (gst_jpegenc_set_property), (gst_jpegenc_get_property): Fix negotiation. Add some properties. * ext/jpeg/gstjpegenc.h: Fix negotiation. 2004-02-10 Benjamin Otte * ext/mikmod/gstmikmod.c: (gst_mikmod_init), (gst_mikmod_srcfixate), (gst_mikmod_srclink), (gst_mikmod_loop): * ext/mikmod/gstmikmod.h: fix caps negotiation in mikmod * ext/ogg/gstoggdemux.c: (gst_ogg_print): output debug information 2004-02-08 Benjamin Otte * gst-libs/gst/colorbalance/Makefile.am: * gst-libs/gst/navigation/Makefile.am: * gst-libs/gst/xoverlay/Makefile.am: remove unused GST_OPT_CFLAGS from Makefiles include X_CFLAGS and X_LIBS in xoverlay. (#131948) 2004-02-07 David Schleef * ext/ogg/gstoggdemux.c: (gst_ogg_demux_handle_event): Don't push events to pads that haven't been created (#133508) 2004-02-07 Jan Schmidt * ext/dv/gstdvdec.c: (gst_dvdec_init), (gst_dvdec_src_convert), (gst_dvdec_sink_convert), (gst_dvdec_handle_sink_event), (gst_dvdec_video_getcaps), (gst_dvdec_video_link), (gst_dvdec_loop), (gst_dvdec_change_state): Second attempt at committing a working dvdec element. 2004-02-06 David Schleef Build fixes for OS X: (see #129600) * gst-libs/gst/riff/riff-read.c: (gst_riff_read_strh), (gst_riff_read_strf_vids), (gst_riff_read_strf_auds), (gst_riff_read_strf_iavs): * gst/avi/gstavidemux.c: (gst_avi_demux_stream_avih), (gst_avi_demux_stream_odml): * gst/playondemand/Makefile.am: * gst/rtp/rtp-packet.c: 2004-02-05 David Schleef * ext/dv/gstdvdec.c: (gst_dvdec_init), (gst_dvdec_loop): Revert last change, because it Just Doesn't Compile. 2004-02-05 Benjamin Otte * ext/mad/gstid3tag.c: (gst_id3_tag_chain): skip undecodable id3v2 tag instead of keeping it 2004-02-05 David Schleef * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_chain): Unref leaked buffer. (Noticed by Ronald) 2004-02-05 David I. Lehn * pkgconfig/gstreamer-libs-uninstalled.pc.in: Sync requires with other checks. >= vs =. 2004-02-06 Jan Schmidt * ext/dv/gstdvdec.c: (gst_dvdec_init), (gst_dvdec_video_getcaps), (gst_dvdec_video_link), (gst_dvdec_loop): * ext/dv/gstdvdec.h: rework the caps negotiation so that dvdec works again instead of just segfaulting. === release 0.7.4 === 2004-02-06 Thomas Vander Stichele * NEWS: GStreamer Plugins 0.7.4 "For Great Justice" released * configure.ac: changed for release 2004-02-05 Thomas Vander Stichele * gst-libs/gst/gconf/gstreamer-gconf-uninstalled.pc.in: * pkgconfig/gstreamer-interfaces-uninstalled.pc.in: * pkgconfig/gstreamer-libs-uninstalled.pc.in: * pkgconfig/gstreamer-play-uninstalled.pc.in: reworked patch by David Lehn to fix libdir and includedir for uninstalled libraries removed play and gconf from gstreamer-libs since they have their own pkgconfig files 2004-02-04 David Schleef * gst/wavparse/gstwavparse.c: (gst_wavparse_parse_fmt): Fix a caps memleak. 2004-02-05 Benjamin Otte * gst-libs/gst/riff/riff-read.c: (gst_riff_read_info): use correct GST_TAG_ENCODER tag 2004-02-05 Benjamin Otte * ext/alsa/gstalsa.c: (gst_alsa_change_state): be sure to stop the clock when going to paused * sys/oss/gstosssink.c: (gst_osssink_change_state): reset number of transmitted when going to ready. fixes #132935 2004-02-05 Charles Schmidt reviewed by Benjamin Otte * ext/mad/gstid3tag.c: (gst_mad_id3_to_tag_list): extract track count (fixes #133410) 2004-02-04 Benjamin Otte * ext/mad/gstid3tag.c: (gst_id3_tag_do_caps_nego): that should be !=, not == (fixes #132519) 2004-02-04 David Schleef Make sure set_explicit_caps() is called before adding pad. * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop): * gst/id3/gstid3types.c: (gst_id3types_loop): * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_parse_syshead): * gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream): 2004-02-04 Thomas Vander Stichele * configure.ac: bump nano to 2, first prerelease put back AM_PROG_LIBTOOL 2004-02-04 Thomas Vander Stichele * testsuite/alsa/Makefile.am: these are user test apps, not automatic testsuite tests 2004-02-04 David Schleef Convert GST_DEBUG_CAPS() to GST_DEBUG(): * gst/mpeg1videoparse/gstmp1videoparse.c: (mp1videoparse_parse_seq): * gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream): * gst/videoscale/gstvideoscale.c: (gst_videoscale_getcaps): * sys/xvideo/gstxwindow.c: (_gst_xwindow_new): * sys/xvideo/xvideosink.c: (gst_xvideosink_sinkconnect), (gst_xvideosink_getcaps): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support): * testsuite/gst-lint: more tests 2004-02-04 David Schleef Replace use of GST_PAD_FORMATS_FUNCTION() and similar macros with the code that they would expand to. * ext/flac/gstflacdec.c: (gst_flacdec_get_src_formats), (gst_flacdec_get_src_query_types), (gst_flacdec_get_src_event_masks): * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_get_formats), (gst_gnomevfssrc_get_query_types), (gst_gnomevfssrc_get_event_mask): 2004-02-04 Benjamin Otte * gst/sine/gstsinesrc.c: (gst_sinesrc_class_init), (gst_sinesrc_dispose): fix memleak by properly disposing sinesrc 2004-02-04 Julien MOUTTE * gst-libs/gst/xoverlay/xoverlay.c: (gst_x_overlay_expose): * gst-libs/gst/xoverlay/xoverlay.h: Adding the _expose method to tell an overlay to redraw the image because it has been exposed. * sys/ximage/ximagesink.c: (gst_ximagesink_ximage_destroy), (gst_ximagesink_ximage_put), (gst_ximagesink_expose), (gst_ximagesink_xoverlay_init), (gst_ximagesink_init): * sys/ximage/ximagesink.h: Implement expose method from XOverlay interface * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_destroy), (gst_xvimagesink_xvimage_put), (gst_xvimagesink_expose), (gst_xvimagesink_xoverlay_init), (gst_xvimagesink_init): * sys/xvimage/xvimagesink.h: Implement expose method from XOverlay interface 2004-02-03 Benjamin Otte * ext/gdk_pixbuf/gstgdkpixbuf.c: (gst_gdk_pixbuf_type_find): more memleak fixage 2004-02-03 Benjamin Otte * ext/gdk_pixbuf/gstgdkpixbuf.c: (plugin_init): * gst/typefind/gsttypefindfunctions.c: fix memleaks shown by gst-typefind 2004-02-03 Thomas Vander Stichele * common/glib-gen.mak: add hack rule to touch .Plo files * gst-libs/gst/colorbalance/Makefile.am: * gst-libs/gst/mixer/Makefile.am: * gst-libs/gst/play/Makefile.am: * gst-libs/gst/tuner/Makefile.am: remove glib_root variable 2004-02-03 Benjamin Otte * gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream): set explicit caps before adding the element, so the autopluggers can plug correctly. * gst/typefind/gsttypefindfunctions.c: (mp3_type_find), (mpeg2_sys_type_find), (mpeg1_sys_type_find), (mpeg_video_type_find), (mpeg_video_stream_type_find), (dv_type_find): fix memleaks in typefind functions. gst_type_find_suggest takes a const argument. 2004-02-03 Thomas Vander Stichele * gst-libs/gst/colorbalance/Makefile.am: * gst-libs/gst/colorbalance/colorbalance-marshal.list: * gst-libs/gst/colorbalance/colorbalance.c: * gst-libs/gst/colorbalance/colorbalance.h: * gst-libs/gst/colorbalance/colorbalancemarshal.list: * gst-libs/gst/mixer/Makefile.am: * gst-libs/gst/mixer/mixer-marshal.list: * gst-libs/gst/mixer/mixer.c: * gst-libs/gst/mixer/mixer.h: * gst-libs/gst/mixer/mixermarshal.list: * gst-libs/gst/play/Makefile.am: * gst-libs/gst/play/play.h: * gst-libs/gst/tuner/Makefile.am: * gst-libs/gst/tuner/tuner-marshal.list: * gst-libs/gst/tuner/tuner.c: * gst-libs/gst/tuner/tuner.h: * gst-libs/gst/tuner/tunermarshal.list: use new glib-gen.mak snippet to clean up Makefile.am fix various bugs in Makefile.am's 2004-02-03 Benjamin Otte * ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain): handle chain parsing correctly in the multichain case * ext/theora/theoradec.c: (gst_theora_dec_init), (_theora_ilog), (theora_dec_from_granulepos), (theora_dec_to_granulepos), (theora_dec_src_query), (theora_dec_src_event), (theora_dec_event), (theora_dec_chain): handle events and queries correctly 2004-02-03 David I. Lehn * .cvsignore: Ignore generated file _stdint.h. 2004-02-03 David I. Lehn * gst-libs/gst/colorbalance/Makefile.am: * gst-libs/gst/colorbalance/colorbalance.h: * gst-libs/gst/mixer/Makefile.am: * gst-libs/gst/mixer/mixer.h: * gst-libs/gst/play/Makefile.am: * gst-libs/gst/play/play.h: * gst-libs/gst/tuner/Makefile.am: * gst-libs/gst/tuner/tuner.h: Generate enum type code with glib-mkenums. * gst-libs/gst/colorbalance/.cvsignore: * gst-libs/gst/mixer/.cvsignore: * gst-libs/gst/play/.cvsignore: * gst-libs/gst/tuner/.cvsignore: Ignore generated files. 2004-02-03 David I. Lehn * gst-libs/gst/audio/.cvsignore: Ignore generated file. * gst-libs/gst/audio/Makefile.am: Do not install example filter. 2004-02-03 David I. Lehn * examples/switch/.cvsignore: Ignore generated file. 2004-02-03 Benjamin Otte * common/m4/ax_create_stdint_h.m4: * configure.ac: add AX_CREATE_STDINT_H to get correct type definitions for a52dec in _stdint.h. * Makefile.am: remove generated _stdint.h in DISTCLEANFILES * ext/a52dec/gsta52dec.c: include _stdint.h for a52dec. (should fix #133064) 2004-02-02 Jeremy Simon * gst/tags/gstvorbistag.c: (gst_vorbis_tag_add), (gst_tag_to_vorbis_comments): Add replaygain support to vorbistag 2004-02-02 Jeremy Simon * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_to_extradata): Fix SVQ3 caps flag properties Use glib macro for bytes swap 2004-02-02 Thomas Vander Stichele * ext/audiofile/gstafsink.c: (gst_afsink_plugin_init): * ext/audiofile/gstafsrc.c: (gst_afsrc_plugin_init): * ext/gnomevfs/gstgnomevfs.c: (plugin_init): * ext/sndfile/gstsf.c: (plugin_init): * gst/avi/gstavi.c: (plugin_init): * sys/dxr3/dxr3init.c: (plugin_init): * sys/oss/gstossaudio.c: (plugin_init): * sys/v4l/gstv4l.c: (plugin_init): * sys/v4l2/gstv4l2.c: (plugin_init): remove textdomain calls * po/nl.po: update Dutch translation 2004-02-02 Julien MOUTTE * gst-libs/gst/play/play.c: (gst_play_pipeline_setup), (gst_play_set_audio_sink): Moving volume in the audio thread for instantaneous volume change. Maybe i will add another volume in front of visualization later, not sure yet though. 2004-02-02 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_renegotiate_size), (gst_ximagesink_handle_xevents): Better X events handling, only take the latest events for configure and motion. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents): same. 2004-02-02 Jon Trowbridge reviewed by: David Schleef Fix memory leaks: * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_register): 2004-02-02 David Schleef code cleanup. Change bzero() to memset(). Remove duplicate ; at ends of lines. * ext/cdparanoia/gstcdparanoia.c: (cdparanoia_event): * ext/flac/gstflactag.c: (gst_flac_tag_chain): * ext/xvid/gstxviddec.c: (gst_xviddec_src_link): * gst-libs/gst/play/play.c: (gst_play_get_sink_element): * gst/ac3parse/gstac3parse.c: (gst_ac3parse_chain): * gst/effectv/gstedge.c: (gst_edgetv_sinkconnect): * gst/effectv/gstvertigo.c: (gst_vertigotv_sinkconnect): * gst/intfloat/float22int.c: (gst_float2_2_int_getcaps), (gst_float2_2_int_link): * gst/mpeg2sub/gstmpeg2subt.c: (gst_mpeg2subt_chain_subtitle): * gst/rtjpeg/RTjpeg.c: (RTjpeg_init_mcompress): * gst/tcp/gsttcpsink.c: (gst_tcpsink_init_send): * gst/tcp/gsttcpsrc.c: (gst_tcpsrc_init_receive): * gst/udp/gstudpsink.c: (gst_udpsink_init_send): * gst/udp/gstudpsrc.c: (gst_udpsrc_init_receive): * sys/v4l/gstv4lelement.c: (gst_v4lelement_init): * sys/v4l2/v4l2src_calls.c: (gst_v4l2src_set_capture): * testsuite/gst-lint: Add tests for bzero and ;; 2004-02-02 David Schleef * gst/debug/efence.c: Add fallback if MAP_ANONYMOUS isn't defined. 2004-02-02 Thomas Vander Stichele * ext/aalib/gstaasink.c: (gst_aasink_open): * ext/alsa/gstalsa.c: (gst_alsa_link), (gst_alsa_xrun_recovery): * ext/alsa/gstalsasink.c: (gst_alsa_sink_loop): * ext/alsa/gstalsasrc.c: (gst_alsa_src_loop): * ext/audiofile/gstafsink.c: (gst_afsink_open_file), (gst_afsink_close_file): * ext/audiofile/gstafsrc.c: (gst_afsrc_open_file), (gst_afsrc_close_file): * ext/divx/gstdivxdec.c: (gst_divxdec_setup), (gst_divxdec_chain): * ext/divx/gstdivxenc.c: (gst_divxenc_setup), (gst_divxenc_chain): * ext/dv/gstdvdec.c: (gst_dvdec_loop): * ext/dvdnav/dvdnavsrc.c: (dvdnavsrc_user_op), (dvdnavsrc_get): * ext/esd/esdmon.c: (gst_esdmon_get): * ext/esd/esdsink.c: (gst_esdsink_chain), (gst_esdsink_open_audio): * ext/faac/gstfaac.c: (gst_faac_chain): * ext/faad/gstfaad.c: (gst_faad_chain): * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain): * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop): * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_loop): * ext/flac/gstflacdec.c: (gst_flacdec_error_callback), (gst_flacdec_loop): * ext/flac/gstflacenc.c: (gst_flacenc_chain): * ext/flac/gstflactag.c: (gst_flac_tag_chain): * ext/gdk_pixbuf/gstgdkpixbuf.c: (gst_gdk_pixbuf_chain): * ext/gnomevfs/gstgnomevfssink.c: (gst_gnomevfssink_open_file), (gst_gnomevfssink_close_file): * ext/gnomevfs/gstgnomevfssrc.c: (audiocast_init), (gst_gnomevfssrc_open_file): * ext/ivorbis/vorbisfile.c: (gst_ivorbisfile_loop): * ext/lame/gstlame.c: (gst_lame_sink_link), (gst_lame_chain): * ext/lcs/gstcolorspace.c: (gst_colorspace_srcconnect_func): * ext/mad/gstid3tag.c: (gst_id3_tag_handle_event), (gst_id3_tag_do_typefind), (gst_id3_tag_chain): * ext/mad/gstmad.c: (gst_mad_chain): * ext/mikmod/gstmikmod.c: (gst_mikmod_loop): * ext/mpeg2dec/gstmpeg2dec.c: * ext/mpeg2enc/gstmpeg2enc.cc: * ext/mplex/gstmplex.cc: * ext/mplex/gstmplexibitstream.cc: * ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain), (gst_ogg_demux_push): * ext/raw1394/gstdv1394src.c: * ext/sdl/sdlvideosink.c: (gst_sdlvideosink_lock), (gst_sdlvideosink_initsdl), (gst_sdlvideosink_create): * ext/sndfile/gstsf.c: (gst_sf_open_file), (gst_sf_close_file), (gst_sf_loop): * ext/speex/gstspeexenc.c: (gst_speexenc_chain): * ext/swfdec/gstswfdec.c: (gst_swfdec_loop): * ext/tarkin/gsttarkindec.c: (gst_tarkindec_chain): * ext/tarkin/gsttarkinenc.c: (gst_tarkinenc_chain): * ext/vorbis/vorbisenc.c: (gst_vorbisenc_chain): * ext/vorbis/vorbisfile.c: (gst_vorbisfile_loop): * ext/xvid/gstxviddec.c: (gst_xviddec_setup), (gst_xviddec_chain): * ext/xvid/gstxvidenc.c: (gst_xvidenc_setup), (gst_xvidenc_chain): * gst-libs/gst/riff/riff-read.c: (gst_riff_peek_head), (gst_riff_read_element_data), (gst_riff_read_seek), (gst_riff_peek_list), (gst_riff_read_list), (gst_riff_read_header): * gst/adder/gstadder.c: (gst_adder_loop): * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_segment), (gst_asf_demux_process_stream), (gst_asf_demux_get_stream): * gst/avi/gstavidemux.c: (gst_avi_demux_stream_init), (gst_avi_demux_add_stream), (gst_avi_demux_stream_header): * gst/avi/gstavimux.c: (gst_avimux_stop_file): * gst/flx/gstflxdec.c: (gst_flxdec_loop): * gst/goom/gstgoom.c: (gst_goom_chain): * gst/id3/gstid3types.c: (gst_id3types_loop): * gst/intfloat/float22int.c: (gst_float2_2_int_chain): * gst/intfloat/gstfloat2int.c: (gst_float2int_loop): * gst/intfloat/gstint2float.c: (gst_int2float_chain_gint16): * gst/matroska/ebml-read.c: (gst_ebml_read_element_id), (gst_ebml_read_element_length), (gst_ebml_read_element_data), (gst_ebml_read_seek), (gst_ebml_read_uint), (gst_ebml_read_sint), (gst_ebml_read_float), (gst_ebml_read_header): * gst/matroska/matroska-demux.c: (gst_matroska_demux_init_stream), (gst_matroska_demux_parse_blockgroup): * gst/monoscope/gstmonoscope.c: (gst_monoscope_chain): * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_loop): * gst/oneton/gstoneton.c: (gst_oneton_chain): * gst/silence/gstsilence.c: (gst_silence_get): * gst/sine/gstsinesrc.c: (gst_sinesrc_get): * gst/smpte/gstsmpte.c: (gst_smpte_loop): * gst/speed/gstspeed.c: (speed_loop): * gst/tags/gstvorbistag.c: (gst_vorbis_tag_chain): * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_get): * gst/volenv/gstvolenv.c: (gst_volenv_chain): * gst/wavenc/gstwavenc.c: (gst_wavenc_chain): * gst/wavparse/gstwavparse.c: (gst_wavparse_parse_fmt), (gst_wavparse_loop): * sys/dxr3/dxr3audiosink.c: (dxr3audiosink_open), (dxr3audiosink_set_mode_pcm), (dxr3audiosink_set_mode_ac3), (dxr3audiosink_close): * sys/dxr3/dxr3spusink.c: (dxr3spusink_open), (dxr3spusink_close): * sys/dxr3/dxr3videosink.c: (dxr3videosink_open), (dxr3videosink_close), (dxr3videosink_write_data): * sys/oss/gstosselement.c: (gst_osselement_open_audio): * sys/oss/gstosssink.c: (gst_osssink_chain): * sys/oss/gstosssrc.c: (gst_osssrc_get): * sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_chain): * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_buffer_free): * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_buffer_free): * sys/v4l/v4l-overlay_calls.c: (gst_v4l_set_overlay), (gst_v4l_set_window), (gst_v4l_enable_overlay): * sys/v4l/v4l_calls.c: (gst_v4l_get_capabilities), (gst_v4l_open), (gst_v4l_set_chan_norm), (gst_v4l_get_signal), (gst_v4l_get_frequency), (gst_v4l_set_frequency), (gst_v4l_get_picture), (gst_v4l_set_picture), (gst_v4l_get_audio), (gst_v4l_set_audio): * sys/v4l/v4l_calls.h: * sys/v4l/v4lmjpegsink_calls.c: (gst_v4lmjpegsink_sync_thread), (gst_v4lmjpegsink_queue_frame), (gst_v4lmjpegsink_set_playback), (gst_v4lmjpegsink_playback_init), (gst_v4lmjpegsink_playback_start): * sys/v4l/v4lmjpegsrc_calls.c: (gst_v4lmjpegsrc_queue_frame): * sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_queue_frame), (gst_v4lsrc_sync_frame), (gst_v4lsrc_capture_init), (gst_v4lsrc_requeue_frame), (gst_v4lsrc_try_palette): * sys/v4l2/gstv4l2src.c: (gst_v4l2src_get): * sys/v4l2/v4l2-overlay_calls.c: (gst_v4l2_set_display), (gst_v4l2_set_window), (gst_v4l2_enable_overlay): * sys/v4l2/v4l2_calls.c: (gst_v4l2_get_capabilities), (gst_v4l2_fill_lists), (gst_v4l2_open), (gst_v4l2_get_norm), (gst_v4l2_set_norm), (gst_v4l2_get_input), (gst_v4l2_set_input), (gst_v4l2_get_output), (gst_v4l2_set_output), (gst_v4l2_get_frequency), (gst_v4l2_set_frequency), (gst_v4l2_signal_strength), (gst_v4l2_get_attribute), (gst_v4l2_set_attribute): * sys/v4l2/v4l2_calls.h: * sys/v4l2/v4l2src_calls.c: (gst_v4l2src_fill_format_list), (gst_v4l2src_queue_frame), (gst_v4l2src_grab_frame), (gst_v4l2src_get_capture), (gst_v4l2src_set_capture), (gst_v4l2src_capture_init), (gst_v4l2src_capture_start), (gst_v4l2src_capture_stop): * sys/vcd/vcdsrc.c: (vcdsrc_open_file): * sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get), (gst_ximagesink_chain): * sys/xvideo/xvideosink.c: (gst_xvideosink_buffer_new), (gst_xvideosink_sinkconnect), (gst_xvideosink_chain), (gst_xvideosink_xwindow_new): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get), (gst_xvimagesink_chain): 2004-02-02 Thomas Vander Stichele * gst/volume/gstvolume.c: (gst_volume_set_volume), (gst_volume_get_volume), (volume_class_init), (volume_init), (volume_chain_int16), (volume_update_volume): * gst/volume/gstvolume.h: make code more readable by removing magic numbers make mixer interface export 0-100 range make it internally map to 0.0-1.0 range so users don't distort output by putting the sliders at full volume 2004-02-02 Thomas Vander Stichele * gst-libs/gst/play/play.c: (gst_play_tick_callback), (gst_play_state_change), (gst_play_seek_to_time): block the tick callback for 0.5 secs after doing a seek 2004-02-02 Thomas Vander Stichele * gst-libs/gst/play/play.c: (gst_play_new): check for GError 2004-02-01 Julien MOUTTE * gst-libs/gst/play/play.c: (gst_play_seek_to_time), (gst_play_new): Accepting NULL GError, blocking time tick while seeking. * sys/ximage/ximagesink.c: (gst_ximagesink_sink_link), (gst_ximagesink_chain), (gst_ximagesink_init): s/sinkconnect/sink_link * sys/xvimage/xvimagesink.c: (gst_xvimagesink_sink_link), (gst_xvimagesink_chain), (gst_xvimagesink_init): s/sinkconnect/sink_link 2004-02-01 Thomas Vander Stichele * configure.ac: * ext/vorbis/vorbisdec.c: (vorbis_dec_event): check for a function added in vorbis 1.1 2004-01-31 Benjamin Otte * ext/alsa/gstalsa.c: (gst_alsa_change_state), (gst_alsa_start), (gst_alsa_drain_audio), (gst_alsa_stop_audio): really start/stop clock only on PLAYING <=> PAUSED * ext/alsa/gstalsasink.c: (gst_alsa_sink_loop): remove \n from debugging lines * ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain): make it work when seeking does not * ext/vorbis/vorbisdec.c: (vorbis_dec_event): reset on DISCONT 2004-01-31 Benjamin Otte * ext/alsa/gstalsa.c: (gst_alsa_change_state), (gst_alsa_start): start clock on PAUSED=>PLAYING, not later * ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event): extract correct time for different discont formats (gst_alsa_sink_get_time): don't segfault when no format is negotiated yet, just return 0 * ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_event), (gst_ogg_demux_handle_event), (gst_ogg_demux_push), (gst_ogg_pad_push): handle flush and discont events correctly * ext/vorbis/vorbisdec.c: (vorbis_dec_event), (vorbis_dec_chain): handle discont events correctly 2004-01-31 Thomas Vander Stichele * gst-libs/gst/play/play.c: (gst_play_error_quark), (gst_play_error_create), (gst_play_error_plugin), (gst_play_pipeline_setup), (gst_play_init), (gst_play_new): * gst-libs/gst/play/play.h: add error handling during creation * examples/gstplay/player.c: (main): use new gst_play_new 2004-01-31 Benjamin Otte * ext/theora/theoradec.c: (theora_dec_chain): make comments work * ext/vorbis/vorbisdec.c: (vorbis_dec_src_query), (vorbis_dec_src_event), (vorbis_dec_chain): add encoder tag, fix tag reading to be more error tolerant, change BITRATE to NOMINAL_BITRATE, add debugging, don't unref events after gst_pad_event_default. * gst/tags/gstvorbistag.c: (gst_tag_list_from_vorbiscomment_buffer): undefine function specific define at end of function 2004-01-31 Jeremy Simon * ext/flac/gstflac.c: (plugin_init): * ext/flac/gstflacdec.c: (gst_flacdec_class_init): * ext/flac/gstflacdec.h: * ext/flac/gstflacenc.h: Fix typos 2004-01-30 David I. Lehn * examples/gstplay/player.c: s/gstplay.h/play.h/ 2004-01-30 Thomas Vander Stichele * gst-libs/gst/play/Makefile.am: * gst-libs/gst/play/gstplay.c: * gst-libs/gst/play/gstplay.h: * gst-libs/gst/play/play.c: more surgery, operation complete 2004-01-30 Thomas Vander Stichele * gst-libs/gst/play/play.old.c: * gst-libs/gst/play/play.old.h: after CVS surgery by moving, remove * gst-libs/gst/play/playpipelines.c: remove * gst/intfloat/float22int.c: (gst_float2_2_int_chain): add negotiation error 2004-01-30 Thomas Vander Stichele * ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_event), (gst_ogg_demux_push): add some seeking debug info send a flush when seeking 2004-01-30 Benjamin Otte * configure.ac: use AC_C_INLINE * configure.ac: * ext/Makefile.am: * ext/theora/Makefile.am: * ext/theora/theoradec.c: add theora video decoder. Does just do simple decoding for now and has been tested against Theora cvs only. It only works when theora is compiled with --enable-static. * ext/vorbis/vorbisdec.c: (vorbis_dec_event): always reset packetno on DISCONT 2004-01-30 Ronald Bultje * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_parse_syshead): Fix audio. 2004-01-30 Ronald Bultje * gst/mpegaudioparse/gstmpegaudioparse.c: (mp3_type_frame_length_from_header): Fix header parsing - stolen from ffmpeg (thank you! :) ). 2004-01-30 Ronald Bultje * ext/esd/esdsink.c: (gst_esdsink_init): Since we have static pad template caps, we don't need to negotiate; either the core errors out or we know the format. 2004-01-30 Ronald Bultje * gst-libs/gst/riff/riff-read.c: (gst_riff_peek_head), (gst_riff_read_seek): * gst/matroska/ebml-read.c: (gst_ebml_read_element_id), (gst_ebml_read_seek): Fix event handling. 2004-01-30 Benjamin Otte * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps): removee video/x-theora from vp3 decoder, it doesn't handle raw theora streams * ext/ogg/gstoggdemux.c: (gst_ogg_demux_init): fix bug with finalizing element that never went to PAUSED * ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_query): length and position queries were swapped * ext/vorbis/vorbisdec.c: (gst_vorbis_dec_init), (vorbis_dec_from_granulepos), (vorbis_dec_src_query), (vorbis_dec_src_event): implement querying time and bytes 2004-01-30 Thomas Vander Stichele * just about every source file: gst_element_error -> GST_ELEMENT_ERROR 2004-01-29 Julien MOUTTE * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_get): Fixing seeking emiting FLUSH and even before DISCONT. * gst-libs/gst/play/gstplay.c: (gst_play_seek_to_time): Fix seeking to get the best instant seeking as possible yay! 2004-01-29 Ronald Bultje * gst/mpeg1videoparse/gstmp1videoparse.c: (gst_mp1videoparse_real_chain): Committed wrong version last week... Grr... Didn't notice until now. 2004-01-29 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_xwindow_new): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xwindow_new): Emit the have_xwindow_id signal in xwindow_create. 2004-01-29 Benjamin Otte * ext/ogg/gstoggdemux.c: lots of changes - mainly support for chained bitstreams, seeking, querying and bugfixes of course * ext/vorbis/Makefile.am: * ext/vorbis/vorbisdec.c: * ext/vorbis/vorbisdec.h: add vorbisdec raw vorbis decoder * ext/vorbis/vorbis.c: (plugin_init): register vorbisdec as PRIMARY, vorbisfile as SECONDARY * gst/intfloat/Makefile.am: * gst/intfloat/float22int.c: * gst/intfloat/float22int.h: * gst/intfloat/gstintfloatconvert.c: (plugin_init): add float2intnew plugin. It converts multichannel interleaved float to multichannel interleaved int. The name should probably be changed. * gst/typefind/gsttypefindfunctions.c: (theora_type_find), (plugin_init): add typefinding for raw theora video so oggdemux can detect it. 2004-01-28 Julien MOUTTE * gst-libs/gst/play/gstplay.c: (gst_play_seek_to_time): seek on video sink element first. * gst/videoscale/gstvideoscale.c: (gst_videoscale_handle_src_event): Fixing src event handler. 2004-01-28 Ronald Bultje * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_class_init), (gst_v4lsrc_init), (gst_v4lsrc_open), (gst_v4lsrc_close), (gst_v4lsrc_palette_to_caps), (gst_v4lsrc_srcconnect), (gst_v4lsrc_getcaps), (gst_v4lsrc_set_clock): * sys/v4l/gstv4lsrc.h: * sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_capture_start), (gst_v4lsrc_grab_frame), (gst_v4lsrc_capture_stop): Implement resizing... Hack. But that's why v4l is b0rked... 2004-01-28 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls), (gst_ximagesink_ximage_new), (gst_ximagesink_ximage_destroy), (gst_ximagesink_ximage_put), (gst_ximagesink_xwindow_new), (gst_ximagesink_xwindow_destroy): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_new), (gst_xvimagesink_xvimage_destroy), (gst_xvimagesink_xwindow_new), (gst_xvimagesink_xwindow_destroy), (gst_xvimagesink_xwindow_resize), (gst_xvimagesink_get_xv_support), (gst_xvimagesink_xcontext_get): Removing some useless debugs messages, correctly cleaning the image created to check xshm calls on succes, added a lot of XSync calls in X11 functions, and fixed a segfault when no image format was defined before negotiation happened. 2004-01-28 Benjamin Otte * ext/alsa/gstalsa.c: (gst_alsa_query_func): use gst_element_get_time to get correct time 2004-01-28 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_handle_xerror), (gst_ximagesink_check_xshm_calls), (gst_ximagesink_ximage_destroy), (gst_ximagesink_xcontext_get), (gst_ximagesink_class_init): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xerror), (gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_destroy), (gst_xvimagesink_xcontext_get): Our X plugins are now able to detect that XShm calls will fail even if the server claims that it has XShm support (remote displays most of the time). We then log the error as a GST_DEBUG and set use_shm to FALSE so that we use non XShm functions. This feature is almost useless for xvimagesink as Xv is not supported on remote displays anyway, but it might happen than even on the local display XShm calls fail. 2004-01-27 David Schleef * ext/esd/esdsink.c: (gst_esdsink_class_init), (gst_esdsink_init), (gst_esdsink_link), (gst_esdsink_get_time), (gst_esdsink_chain), (gst_esdsink_change_state): Fix sync issues in esdsink. Also changed esdsink to only use 44100,16,2, since esd sucks at rate conversion and esdsink has had difficulty negotiating. 2004-01-27 Julien MOUTTE * gst-libs/gst/play/gstplay.c: (gst_play_tick_callback), (gst_play_seek_to_time): Fixing the way to get current position. 2004-01-27 Benjamin Otte * sys/oss/gstosssink.c: (gst_osssink_sink_query): use gst_element_get_time to get correct time 2004-01-27 Julien MOUTTE * gst-libs/gst/play/gstplay.c: (gst_play_set_location): The easiest fix ever... Inverting 2 lines of code make spider autoplug correctly tagged mp3 ! 2004-01-27 David Schleef * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link): Use gst_pad_try_set_caps_nonfixed(). 2004-01-27 David Schleef * gst/ac3parse/gstac3parse.c: update to checklist 5 * gst/adder/gstadder.c: rewrite negotiation. update to checklist 5 * gst/audioconvert/gstaudioconvert.c: update to checklist 5 * gst/audioscale/gstaudioscale.c: same * gst/auparse/gstauparse.c: same * gst/avi/gstavidemux.c: same 2004-01-27 Benjamin Otte * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_handle_sink_event): stop processing after EOS 2004-01-27 Benjamin Otte * gst/asfdemux/asfheaders.h: * gst/asfdemux/gstasfdemux.c: * gst/asfdemux/gstasfmux.c: (gst_asfmux_put_guid), (gst_asfmux_put_string), (gst_asfmux_put_wav_header), (gst_asfmux_put_vid_header), (gst_asfmux_put_bmp_header): lot's of fixes to make data extraction simpler and get the code architecture and compiler independant. Add debugging category * gst/goom/gstgoom.c: (gst_goom_change_state): reset channel count on PAUSED=>READY, not READY=>PAUSED 2004-01-26 Colin Walters * ext/gnomevfs/gstgnomevfssrc.c (gst_gnomevfssrc_get): Remove ugly code to pull a bigger buffer in iradio mode. This as a side effect makes typefinding work. 2004-01-26 Jeremy Simon * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_extradata): Fix SVQ3 decoding on PPC 2004-01-26 Julien MOUTTE * gst/videoscale/gstvideoscale.c: (gst_videoscale_chain): Dunno how that one managed to stay there... Fixed. 2004-01-26 Jeremy Simon * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_to_extradata), (gst_ffmpeg_caps_to_pixfmt): * gst/qtdemux/qtdemux.c: (plugin_init), (qtdemux_parse_trak), (qtdemux_video_caps): * gst/qtdemux/qtdemux.h: Add SVQ3 specific flags to qtdemux and ffmpeg 2004-01-26 Benjamin Otte * gst-libs/gst/audio/audio.h: remove buffer-frames from audio caps * gst/audioconvert/gstaudioconvert.c: fix plugin to really work. 2004-01-25 Ronald Bultje * gst-libs/gst/mixer/mixer.c: * gst-libs/gst/propertyprobe/propertyprobe.c: * gst-libs/gst/tuner/tuner.c: (gst_tuner_find_norm_by_name), (gst_tuner_find_channel_by_name): * gst-libs/gst/tuner/tuner.h: Add gtk-doc style comments. Also fix a function name. 2004-01-25 Ronald Bultje * ext/divx/gstdivxdec.c: (gst_divxdec_init), (gst_divxdec_negotiate): Fix for new capsnego - also fixes gst-player with divxdec. 2004-01-25 Julien MOUTTE * gst-libs/gst/play/gstplay.c: (gst_play_pipeline_setup), (gst_play_identity_handoff), (gst_play_set_location), (gst_play_set_visualization), (gst_play_connect_visualization): Another try in visualization implementation. Still have an issue with switch blocking when pulling from video_queue and only audio comes out of spider. * gst/switch/gstswitch.c: (gst_switch_release_pad), (gst_switch_poll_sinkpads), (gst_switch_class_init): Implementing pad release method. And check if the pad is usable before pulling. 2004-01-25 Ronald Bultje * gst/videofilter/gstvideobalance.c: (gst_videobalance_dispose), (gst_videobalance_init), (gst_videobalance_colorbalance_list_channels), (gst_videobalance_colorbalance_set_value), (gst_videobalance_colorbalance_get_value), (gst_videobalance_update_properties), (gst_videobalance_update_tables_planar411), (gst_videobalance_planar411): * gst/videofilter/gstvideobalance.h: Implement lookup-tables. +/- 10x faster. 2004-01-25 Ronald Bultje * gst/avi/gstavidemux.c: (gst_avi_demux_stream_avih), (gst_avi_demux_stream_odml), (gst_avi_demux_stream_index): The index reading was broken. The rest worked fine, but the whole goal of my rewrite was to make avidemux readable, and this was not at all readable. Please use typed variables. 2004-01-25 Ronald Bultje * gst-libs/gst/riff/riff-read.c: (gst_riff_read_info): Additional pad usability check. * gst/mpeg1videoparse/gstmp1videoparse.c: (gst_mp1videoparse_init), (mp1videoparse_find_next_gop), (gst_mp1videoparse_time_code), (gst_mp1videoparse_real_chain): Fix MPEG video stream parsing. The original plugin had several issues, including not timestamping streams where the source was not timestamped (this happens with PTS values in mpeg system streams, but MPEG video is also a valid stream on its own so that needs timestamps too). We use the display time code for that for now. Also, if one incoming buffer contains multiple valid frames, we push them all on correctly now, including proper EOS handling. Lastly, several potential segfaults were fixed, and we properly sync on new sequence/gop headers to include them in next, not previous frames (since they're header for the next frame, not the previous). Also see #119206. * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_chain), (bpf_from_header): Move caps setting so we only do it after finding several valid MPEG-1 fraes sequentially, not right after the first one (which might be coincidental). * gst/typefind/gsttypefindfunctions.c: (mpeg1_sys_type_find), (mpeg_video_type_find), (mpeg_video_stream_type_find), (plugin_init): Add unsynced MPEG video stream typefinding, and change some probability values so we detect streams rightly. The idea is as follows: I can have an unsynced system stream which contains video. In the current code, I would randomly get a type for either system or video stream type found, because the probabilities are being calculated rather randomly. I now use fixed values, so we always prefer system stream if that was found (and that is how it should be). If no system stream was found, we can still identity the stream as video-only. 2004-01-23 Benjamin Otte * gst/avi/gstavidemux.c: (gst_avi_demux_stream_avih), (gst_avi_demux_stream_odml), (gst_avi_demux_stream_index): don't write to buffer. Extract data without the need of __attribute__ ((packed)) 2004-01-23 Ronald Bultje * gst/typefind/gsttypefindfunctions.c: (mpeg1_parse_header), (mpeg1_sys_type_find): Fix MPEG-1 stream typefinding. 2004-01-23 Ronald Bultje * gst/typefind/gsttypefindfunctions.c: (mpeg2_sys_type_find): Fix typefinding for MPEG-1 system streams, similar to MPEG-2. 2004-01-23 Thomas Vander Stichele * ext/esd/esdsink.c: (gst_esdsink_open_audio): * ext/esd/gstesd.c: (plugin_init): private debugging, better error reporting 2004-01-23 Ronald Bultje * gst-libs/gst/riff/riff-read.c: (gst_riff_read_class_init), (gst_riff_read_init), (gst_riff_read_change_state): * gst-libs/gst/riff/riff-read.h: Remove stuff fromold metadata system. 2004-01-23 Ronald Bultje * ext/ogg/gstoggdemux.c: Fix wrong file comment. * gst-libs/gst/riff/riff-read.c: (gst_riff_read_info): * gst/avi/gstavidemux.c: (gst_avi_demux_stream_header): Add metadata reading properly. 2004-01-23 Thomas Vander Stichele * ext/Makefile.am: Fix nas DIST_SUBDIRS Uraeus: Fix bug where make distcheck doesn't get run on adding stuff to the build. 2004-01-23 Ronald Bultje * ext/divx/gstdivxdec.c: (gst_divxdec_init), (gst_divxdec_setup): * ext/divx/gstdivxdec.h: Fix divx3 ("msmpeg4") playback using divxdec. 2004-01-23 Benjamin Otte * gst/typefind/gsttypefindfunctions.c: (mp3_type_frame_length_from_header): fix bug in length computation (mp3_type_find): improve debugging output 2004-01-23 Julien MOUTTE * gst-libs/gst/play/gstplay.c: (gst_play_pipeline_setup), (gst_play_set_location), (gst_play_seek_to_time), (gst_play_set_audio_sink), (gst_play_set_visualization), (gst_play_connect_visualization), (gst_play_get_sink_element): Reworked the pipeline from scratch. Visualization is back and switch went out as i realized it was not possible to use the way i wanted. * sys/ximage/ximagesink.c: (gst_ximagesink_imagepool_clear), (gst_ximagesink_change_state), (gst_ximagesink_dispose): Move xcontext clearing in state change from READY to NULL. So that one can clean the X ressources keeping the element. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get), (gst_xvimagesink_imagepool_clear), (gst_xvimagesink_change_state), (gst_xvimagesink_colorbalance_set_value), (gst_xvimagesink_colorbalance_get_value), (gst_xvimagesink_set_property), (gst_xvimagesink_dispose), (gst_xvimagesink_init): Same xcontext cleaning than ximagesink in state change from READY to NULL and fixed some stupid bugs in colorbalance get/set values. Also added the following feature : when nobody tries to set some values to the colorbalance levels before the xcontext is grabbed, then when creating channels list from Xv attributes we set the internal values to the Xv defaults. This way we handle buggy Xv drivers that set default hue values far from the middle of the range (Thanks to Jon Trowbridge for pointing that issue). * sys/xvimage/xvimagesink.h: Adding a cb_changed boolean to know if colorbalance levels have been set before xcontext is grabbed. 2004-01-22 Ronald Bultje * sys/oss/gstosselement.c: (gst_osselement_class_probe_devices): Fix the ossmixer case where we shouldn't open /dev/dsp* because it might block operations (which is bad for a mixer). 2004-01-22 Thomas Vander Stichele * gst-libs/gst/media-info/media-info-priv.c: (have_type_callback), (deep_notify_callback), (gmi_set_decoder), (gmi_clear_decoder), (gmip_find_type_pre): * gst-libs/gst/media-info/media-info-priv.h: * gst-libs/gst/media-info/media-info.c: (gst_media_info_instance_init), (gst_media_info_read_idler): add fakesink to get caps on decoder src pad again fix callback prototype to match new have_type signal signature 2004-01-22 Thomas Vander Stichele * gst/adder/gstadder.c: (gst_adder_link): fix non-compile and cut-n-paste code 2004-01-21 David Schleef * ext/swfdec/gstswfdec.c: (gst_swfdec_video_getcaps), (gst_swfdec_video_link), (copy_image), (gst_swfdec_loop), (gst_swfdec_init), (gst_swfdec_change_state): * ext/swfdec/gstswfdec.h: Fix negotiation. * gst/adder/gstadder.c: (gst_adder_link), (gst_adder_init), (gst_adder_request_new_pad): Fix negotiation. * gst/goom/gstgoom.c: (gst_goom_init), (gst_goom_src_fixate): Add a fixate function. * gst/intfloat/gstfloat2int.c: * gst/intfloat/gstfloat2int.h: * gst/intfloat/gstint2float.c: * gst/intfloat/gstint2float.h: Completely rewrite the negotiation. Doesn't quite work yet, due to some buffer-frames problem. 2004-01-21 Thomas Vander Stichele * ext/gnomevfs/gstgnomevfssrc.c: * sys/v4l2/v4l2_calls.h: fix includes for distcheck 2004-01-21 Christian Schaller * ext/nas/ Add libnas (network audio system) plugin, patch from Arwed von Merkatz based on earlier patch from Laurent Vivier 2004-01-20 Jeremy Simon * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_extradata): Fix wma caps property * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_audio_caps): Fix typo (flags1 and flags2) 2004-01-20 Thomas Vander Stichele * gst-libs/gst/media-info/media-info-priv.c: (deep_notify_callback), (gmi_seek_to_track), (gmi_get_decoder), (gmip_find_type_pre), (gmip_find_type), (gmip_find_stream_post), (gmip_find_stream), (gmip_find_track_metadata), (gmip_find_track_streaminfo_post), (gmip_find_track_streaminfo), (gmip_find_track_format): * gst-libs/gst/media-info/media-info-priv.h: * gst-libs/gst/media-info/media-info-test.c: (main): * gst-libs/gst/media-info/media-info.c: (gst_media_info_init), (gst_media_info_read_idler), (gst_media_info_read): * gst-libs/gst/media-info/media-info.h: register debugging category and use it for debugging 2004-01-20 Thomas Vander Stichele * ext/vorbis/vorbisfile.c: (gst_vorbisfile_update_streaminfo), (gst_vorbisfile_new_link): signal streaminfo through tags 2004-01-20 Ronald Bultje * ext/mplex/gstmplex.cc: * ext/mplex/gstmplexibitstream.cc: g++ doesn't like NULL in our i18n/error macros, should be either (NULL) or (""). 2004-01-20 Ronald Bultje * sys/dxr3/dxr3audiosink.c: * sys/dxr3/dxr3init.c: * sys/dxr3/dxr3spusink.c: (dxr3spusink_close): * sys/dxr3/dxr3videosink.c: (dxr3videosink_close): Fix more error error error errors (missing includes here). 2004-01-20 Ronald Bultje * ext/mpeg2enc/gstmpeg2encpicturereader.cc: fix thomas' error errors. 2004-01-20 Thomas Vander Stichele * ext/mpeg2enc/gstmpeg2enc.cc: fix error errors. 2004-01-20 Ronald Bultje * ext/divx/gstdivxdec.c: (gst_divxdec_setup), (gst_divxdec_chain): * ext/divx/gstdivxenc.c: (gst_divxenc_setup), (gst_divxenc_chain): Fix for new error system. 2004-01-20 Thomas Vander Stichele * ext/divx/gstdivxenc.c: (gst_divxenc_setup), (gst_divxenc_chain): fix for new error reporting 2004-01-20 David Schleef * sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents), (gst_ximagesink_xcontext_get), (gst_ximagesink_getcaps), (gst_ximagesink_set_xwindow_id): Change to using a framerate of [1,100] instead of [0,MAX], since 0 isn't handled correctly, and neither is 100+, most likely. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support), (gst_xvimagesink_getcaps): same 2004-01-19 Benjamin Otte * configure.ac: Up version requirement to 2.0.3 (not yet released) to avoid symbol clashes with ffmpeg. 2004-01-20 Julien MOUTTE * gst/switch/gstswitch.c: (gst_switch_request_new_pad), (gst_switch_init): Fixed switch element : proxying link and setting caps from src to sink on request. 2004-01-19 Thomas Vander Stichele * sys/v4l/v4l-overlay_calls.c: (gst_v4l_set_overlay): * sys/v4l2/v4l2-overlay_calls.c: (gst_v4l2_set_display), (gst_v4l2_set_window), (gst_v4l2_enable_overlay): fix element_error 2004-01-19 Thomas Vander Stichele * sys/v4l/v4l_calls.h: * sys/v4l2/v4l2_calls.h: element_error fixes 2004-01-19 Thomas Vander Stichele * gst-libs/gst/gst-i18n-plugin.h: add locale.h remove config.h inclusion 2004-01-19 Thomas Vander Stichele * autogen.sh: adding autopoint invocation * Makefile.am: * configure.ac: * gst-libs/gst/gettext.h: adding gettext bits * ext/audiofile/gstafsink.c: (gst_afsink_plugin_init): * ext/audiofile/gstafsrc.c: (gst_afsrc_plugin_init): * ext/gnomevfs/gstgnomevfs.c: (plugin_init): * ext/gnomevfs/gstgnomevfssink.c: (gst_gnomevfssink_open_file), (gst_gnomevfssink_close_file): * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_open_file): * ext/sndfile/gstsf.c: (gst_sf_loop), (plugin_init): * gst-libs/gst/gst-i18n-plugin.h: * gst/avi/gstavi.c: (plugin_init): * sys/dxr3/dxr3init.c: (plugin_init): * sys/dxr3/dxr3videosink.c: (dxr3videosink_write_data): * sys/oss/gstossaudio.c: (plugin_init): * sys/oss/gstosselement.c: (gst_osselement_open_audio): * sys/v4l/gstv4l.c: (plugin_init): * sys/v4l/v4l_calls.c: (gst_v4l_open): * sys/v4l2/gstv4l2.c: (plugin_init): * sys/v4l2/v4l2_calls.c: (gst_v4l2_get_capabilities), (gst_v4l2_fill_lists), (gst_v4l2_get_norm), (gst_v4l2_set_norm), (gst_v4l2_get_input), (gst_v4l2_set_input), (gst_v4l2_get_output), (gst_v4l2_set_output), (gst_v4l2_get_frequency), (gst_v4l2_set_frequency), (gst_v4l2_signal_strength), (gst_v4l2_get_attribute), (gst_v4l2_set_attribute): make sure locale and translation domain are set fix translated strings * po/.cvsignore: * po/LINGUAS: * po/Makevars: * po/POTFILES.in: * po/nl.po: put translation files into place * sys/xvideo/imagetest.c: (main): * ext/dv/demo-play.c: (main): fix unnecessary translations 2004-01-19 Thomas Vander Stichele * ext/sndfile/gstsf.c: * gst/avi/gstavimux.c: * ext/audiofile/gstafsink.c: * ext/audiofile/gstafsrc.c: * ext/gnomevfs/gstgnomevfssink.c: * ext/gnomevfs/gstgnomevfssrc.c: * sys/oss/gstosselement.c: * sys/v4l/v4l_calls.h: fix i18n include 2004-01-19 Thomas Vander Stichele * sys/v4l2/v4l2_calls.c: (gst_v4l2_get_capabilities), (gst_v4l2_fill_lists), (gst_v4l2_open), (gst_v4l2_get_norm), (gst_v4l2_set_norm), (gst_v4l2_get_input), (gst_v4l2_set_input), (gst_v4l2_get_output), (gst_v4l2_set_output), (gst_v4l2_get_frequency), (gst_v4l2_set_frequency), (gst_v4l2_signal_strength), (gst_v4l2_get_attribute), (gst_v4l2_set_attribute): update to new error handling 2004-01-19 Thomas Vander Stichele * ext/sidplay/gstsiddec.cc: * gst/modplug/gstmodplug.cc: parenthese NULL because C++ seems angry about it 2004-01-19 Thomas Vander Stichele * gst-libs/gst/gst-i18n-plugin.h: add skeleton i18n stuff, but needs to be further implemented 2004-01-18 Thomas Vander Stichele * examples/gstplay/player.c: (main): * ext/aalib/gstaasink.c: (gst_aasink_open): * ext/alsa/gstalsa.c: (gst_alsa_link), (gst_alsa_xrun_recovery): * ext/alsa/gstalsasink.c: (gst_alsa_sink_loop): * ext/alsa/gstalsasrc.c: (gst_alsa_src_loop): * ext/audiofile/gstafsink.c: (gst_afsink_open_file), (gst_afsink_close_file): * ext/audiofile/gstafsrc.c: (gst_afsrc_open_file), (gst_afsrc_close_file): * ext/divx/gstdivxdec.c: (gst_divxdec_setup), (gst_divxdec_chain): * ext/dv/gstdvdec.c: (gst_dvdec_loop): * ext/dvdnav/dvdnavsrc.c: (dvdnavsrc_user_op), (dvdnavsrc_get): * ext/esd/esdmon.c: (gst_esdmon_get): * ext/esd/esdsink.c: (gst_esdsink_chain): * ext/faac/gstfaac.c: (gst_faac_chain): * ext/faad/gstfaad.c: (gst_faad_chain): * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain): * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop): * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_loop): * ext/flac/gstflacdec.c: (gst_flacdec_error_callback), (gst_flacdec_loop): * ext/flac/gstflacenc.c: (gst_flacenc_chain): * ext/flac/gstflactag.c: (gst_flac_tag_chain): * ext/gdk_pixbuf/gstgdkpixbuf.c: (gst_gdk_pixbuf_chain): * ext/gnomevfs/gstgnomevfssink.c: (gst_gnomevfssink_open_file), (gst_gnomevfssink_close_file): * ext/gnomevfs/gstgnomevfssrc.c: (audiocast_init), (gst_gnomevfssrc_open_file): * ext/ivorbis/vorbisfile.c: (gst_ivorbisfile_loop): * ext/lame/gstlame.c: (gst_lame_sink_link), (gst_lame_chain): * ext/lcs/gstcolorspace.c: (gst_colorspace_srcconnect_func): * ext/mad/gstid3tag.c: (gst_id3_tag_handle_event), (gst_id3_tag_do_typefind), (gst_id3_tag_chain): * ext/mad/gstmad.c: (gst_mad_chain): * ext/mikmod/gstmikmod.c: (gst_mikmod_loop): * ext/mpeg2dec/gstmpeg2dec.c: * ext/mpeg2enc/gstmpeg2enc.cc: * ext/mpeg2enc/gstmpeg2encpicturereader.cc: * ext/mplex/gstmplex.cc: * ext/mplex/gstmplexibitstream.cc: * ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain), (gst_ogg_demux_push), (gst_ogg_pad_push): * ext/raw1394/gstdv1394src.c: * ext/sdl/sdlvideosink.c: (gst_sdlvideosink_lock), (gst_sdlvideosink_initsdl), (gst_sdlvideosink_create): * ext/sidplay/gstsiddec.cc: * ext/sndfile/gstsf.c: (gst_sf_open_file), (gst_sf_close_file), (gst_sf_loop): * ext/speex/gstspeexenc.c: (gst_speexenc_chain): * ext/tarkin/gsttarkindec.c: (gst_tarkindec_chain): * ext/tarkin/gsttarkinenc.c: (gst_tarkinenc_chain): * ext/vorbis/vorbisenc.c: (gst_vorbisenc_chain): * ext/vorbis/vorbisfile.c: (gst_vorbisfile_loop): * ext/xvid/gstxviddec.c: (gst_xviddec_setup), (gst_xviddec_chain): * ext/xvid/gstxvidenc.c: (gst_xvidenc_setup), (gst_xvidenc_chain): * gst-libs/gst/Makefile.am: * gst-libs/gst/riff/riff-read.c: (gst_riff_peek_head), (gst_riff_read_element_data), (gst_riff_read_seek), (gst_riff_peek_list), (gst_riff_read_list), (gst_riff_read_header): * gst/adder/gstadder.c: (gst_adder_parse_caps), (gst_adder_loop): * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_segment), (gst_asf_demux_process_stream), (gst_asf_demux_get_stream): * gst/avi/gstavidemux.c: (gst_avi_demux_stream_init), (gst_avi_demux_add_stream), (gst_avi_demux_stream_header): * gst/avi/gstavimux.c: (gst_avimux_stop_file): * gst/flx/gstflxdec.c: (gst_flxdec_loop): * gst/goom/gstgoom.c: (gst_goom_chain): * gst/id3/gstid3types.c: (gst_id3types_loop): * gst/intfloat/gstfloat2int.c: (gst_float2int_loop): * gst/intfloat/gstint2float.c: (gst_int2float_chain_gint16): * gst/matroska/ebml-read.c: (gst_ebml_read_element_id), (gst_ebml_read_element_length), (gst_ebml_read_element_data), (gst_ebml_read_seek), (gst_ebml_read_uint), (gst_ebml_read_sint), (gst_ebml_read_float), (gst_ebml_read_header): * gst/matroska/matroska-demux.c: (gst_matroska_demux_init_stream), (gst_matroska_demux_parse_blockgroup): * gst/modplug/gstmodplug.cc: * gst/monoscope/gstmonoscope.c: (gst_monoscope_chain): * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_loop): * gst/oneton/gstoneton.c: (gst_oneton_chain): * gst/silence/gstsilence.c: (gst_silence_get): * gst/sine/gstsinesrc.c: (gst_sinesrc_get): * gst/smpte/gstsmpte.c: (gst_smpte_loop): * gst/speed/gstspeed.c: (speed_loop): * gst/tags/gstvorbistag.c: (gst_vorbis_tag_chain): * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_get): * gst/volenv/gstvolenv.c: (gst_volenv_chain): * gst/wavenc/gstwavenc.c: (gst_wavenc_chain): * gst/wavparse/gstwavparse.c: (gst_wavparse_parse_fmt), (gst_wavparse_loop): * sys/dxr3/dxr3audiosink.c: (dxr3audiosink_open), (dxr3audiosink_set_mode_pcm), (dxr3audiosink_set_mode_ac3), (dxr3audiosink_close): * sys/dxr3/dxr3spusink.c: (dxr3spusink_open), (dxr3spusink_close): * sys/dxr3/dxr3videosink.c: (dxr3videosink_open), (dxr3videosink_close), (dxr3videosink_write_data): * sys/oss/gstosselement.c: (gst_osselement_open_audio): * sys/oss/gstosselement.h: * sys/oss/gstosssink.c: (gst_osssink_get_type), (gst_osssink_init), (gst_osssink_chain): * sys/oss/gstosssrc.c: (gst_osssrc_get): * sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_chain): * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_buffer_free): * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_buffer_free): * sys/v4l/v4l-overlay_calls.c: (gst_v4l_set_window), (gst_v4l_enable_overlay): * sys/v4l/v4l_calls.c: (gst_v4l_get_capabilities), (gst_v4l_open), (gst_v4l_set_chan_norm), (gst_v4l_get_signal), (gst_v4l_get_frequency), (gst_v4l_set_frequency), (gst_v4l_get_picture), (gst_v4l_set_picture), (gst_v4l_get_audio), (gst_v4l_set_audio): * sys/v4l/v4l_calls.h: * sys/v4l/v4lmjpegsink_calls.c: (gst_v4lmjpegsink_sync_thread), (gst_v4lmjpegsink_queue_frame), (gst_v4lmjpegsink_set_playback), (gst_v4lmjpegsink_playback_init), (gst_v4lmjpegsink_playback_start): * sys/v4l/v4lmjpegsrc_calls.c: (gst_v4lmjpegsrc_queue_frame), (gst_v4lmjpegsrc_sync_next_frame), (gst_v4lmjpegsrc_set_capture), (gst_v4lmjpegsrc_set_capture_m), (gst_v4lmjpegsrc_capture_init), (gst_v4lmjpegsrc_requeue_frame): * sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_queue_frame), (gst_v4lsrc_sync_frame), (gst_v4lsrc_capture_init), (gst_v4lsrc_requeue_frame), (gst_v4lsrc_try_palette): * sys/v4l2/gstv4l2src.c: (gst_v4l2src_get): * sys/v4l2/v4l2src_calls.c: (gst_v4l2src_fill_format_list), (gst_v4l2src_queue_frame), (gst_v4l2src_grab_frame), (gst_v4l2src_get_capture), (gst_v4l2src_set_capture), (gst_v4l2src_capture_init), (gst_v4l2src_capture_start), (gst_v4l2src_capture_stop): * sys/vcd/vcdsrc.c: (vcdsrc_open_file): * sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get), (gst_ximagesink_chain): * sys/xvideo/xvideosink.c: (gst_xvideosink_buffer_new), (gst_xvideosink_sinkconnect), (gst_xvideosink_chain), (gst_xvideosink_xwindow_new): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get), (gst_xvimagesink_chain): use new error signal, function and categories 2004-01-18 Jeremy Simon * configure.ac: * ext/Makefile.am: * ext/musicbrainz/gsttrm.c: * ext/musicbrainz/gsttrm.h: * ext/musicbrainz/Makefile.am: Add a trm plugin 2004-01-18 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_set_property), (gst_ximagesink_get_property), (gst_ximagesink_class_init): Adding synchronous property for debugging. * sys/ximage/ximagesink.h: Adding the synchronous boolean flag. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get), (gst_xvimagesink_set_property): Moving a pointer declaration to a smaller block, fixing indent. 2004-01-16 David Schleef * gst/videofilter/gstvideobalance.c: Fix regression; changing a property affects the video stream. * sys/xvimage/xvimagesink.c: * sys/xvimage/xvimagesink.h: Add synchronous property for debugging. Should probably be disabled in non-CVS builds. Make sure that the Xv attribute exists before we set it (crash!). Fix a silly float bug that caused colorbalance to just not work. 2004-01-17 Christian Schaller * tools/gst-launch-ext.in - update for new plugins 2004-01-16 David Schleef * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_connect): Fix use of already-freed caps. 2994-01-16 Christian Schaller * Update spec for new colorspace plugin and libcaca plugin * Fix compilation of libcaca plugin (clock -> id) 2004-01-16 Julien MOUTTE * sys/xvimage/xvimagesink.c: (gst_xvimagesink_update_colorbalance), (gst_xvimagesink_xcontext_get), (gst_xvimagesink_change_state), (gst_xvimagesink_set_xwindow_id), (gst_xvimagesink_colorbalance_set_value), (gst_xvimagesink_colorbalance_get_value), (gst_xvimagesink_set_property), (gst_xvimagesink_get_property), (gst_xvimagesink_init), (gst_xvimagesink_class_init): Implementing correct colorbalance properties. They can now be set when the element is still in NULL state. The values will be committed to the Xv Port when xcontext is initialized. * sys/xvimage/xvimagesink.h: Added hue, saturation, contrast, brightness int values in the GstXvImagesink structure. 2004-01-16 Ronald Bultje * gst-libs/gst/Makefile.am: restructure so having local patches works easier. 2004-01-16 Ronald Bultje * ext/mpeg2enc/Makefile.am: * ext/mpeg2enc/gstmpeg2enc.cc: * ext/mpeg2enc/gstmpeg2encpicturereader.cc: Bugfix with respect to EOS handling. 2004-01-16 Ronald Bultje * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_connect): Link with right caps (else, it segfaults). * ext/mplex/gstmplexjob.cc: Fix for slight API change in 1.6.1.93 release of mjpegtools. 2004-01-15 David Schleef * gst-libs/gst/audio/Makefile.am: Add gstaudiofiltertemplate.c and building of gstaudiofilterexample.c from the template. * gst-libs/gst/audio/gstaudiofilter.c: * gst-libs/gst/audio/gstaudiofilter.h: Add bytes_per_sample and size and n_samples calculation. * gst-libs/gst/audio/gstaudiofilterexample.c: Remove, now autogenerated. * gst-libs/gst/audio/gstaudiofiltertemplate.c: Moved from gstaudiofilterexample, object name changed, code added so that it actually works. * gst-libs/gst/audio/make_filter: Script to build an audiofilter subclass from the template. * gst/colorspace/Makefile.am: * gst/colorspace/yuv2yuv.c: Remove file, since it's GPL, and we don't use it. 2004-01-15 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_chain): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain): Making both of them use the buffer free function to test how the buffer was allocated. 2004-01-15 David Schleef * ext/esd/esdsink.c: (gst_esdsink_class_init): Remove property that handles osssink fallback. * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_init), (gst_audio_convert_getcaps): * gst/qtdemux/qtdemux.c: (qtdemux_audio_caps): Add audio/x-qdm2 for QDM2 audio. * gst/sine/gstsinesrc.c: (gst_sinesrc_get): * gst/sine/gstsinesrc.h: Add example of how to implement tags. * gst/videoscale/gstvideoscale.c: (gst_videoscale_getcaps): Decrease minimum size to 16x16. * gst/wavparse/gstwavparse.c: Convert disabled pad template caps to new caps. * sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get), (gst_xvimagesink_chain): Throw element error when display cannot be opened. Increase minimum framerate to 1.0. Check the data free function on a buffer to make sure it is the type we expect before manipulating it. 2004-01-15 Julien MOUTTE * gst/videofilter/gstvideobalance.c: (gst_videobalance_init), (gst_videobalance_colorbalance_set_value): Implement passthru if settings are in the middle. * tools/gst-launch-ext.in: Stop using xvideosink, use ximagesink. 2004-01-15 Ronald Bultje * gst/videofilter/Makefile.am: * gst/volume/Makefile.am: Since we use videofilter symbols, link to it. 2004-01-15 Julien MOUTTE * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_interface_init): Setting mixer interface type to HARDWARE. * gst-libs/gst/mixer/mixer.c: (gst_mixer_class_init): Adding a default type to SOFTWARE. * gst-libs/gst/mixer/mixer.h: Adding mixer interface type and macro. * gst-libs/gst/mixer/mixertrack.h: Adding mixertrack flag SOFTWARE. * gst/volume/gstvolume.c: (gst_volume_interface_supported), (gst_volume_interface_init), (gst_volume_list_tracks), (gst_volume_set_volume), (gst_volume_get_volume), (gst_volume_set_mute), (gst_volume_mixer_init), (gst_volume_dispose), (gst_volume_get_type), (volume_class_init), (volume_init): Implementing mixer interface. * gst/volume/gstvolume.h: Adding tracklist for mixer interface. * sys/oss/gstosselement.c: (gst_osselement_get_type), (gst_osselement_change_state): Removing some trailing commas in structures. * sys/oss/gstossmixer.c: (gst_ossmixer_interface_init): Setting mixer interface type to HARDWARE. * sys/v4l/gstv4lcolorbalance.c: (gst_v4l_color_balance_interface_init): Setting colorbalance interface type to HARDWARE. * sys/v4l2/gstv4l2colorbalance.c: (gst_v4l2_color_balance_interface_init): Setting colorbalance interface type to HARDWARE. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain): use exactly the same code than ximagesink for event handling. 2004-01-15 Ronald Bultje * ext/snapshot/Makefile.am: * ext/snapshot/gstsnapshot.c: (gst_snapshot_sinkconnect), (gst_snapshot_chain): * ext/snapshot/gstsnapshot.h: This has to be a joke... Snapshot should be connected to a tee, colorspace element before it and EOS after that, where the other src of the tee receives normal data. The current way is *wrong*. 2004-01-15 Ronald Bultje * ext/hermes/gsthermescolorspace.c: Fix another compile error. Same as below. 2004-01-15 Ronald Bultje * gst/colorspace/gstcolorspace.c: * gst/colorspace/yuv2yuv.c: (gst_colorspace_yuy2_to_i420), (gst_colorspace_i420_to_yv12): Fix compiling... Didn't test if it actually works. 2004-01-15 David Schleef * configure.ac: * gst/colorspace/Makefile.am: * gst/colorspace/gstcolorspace.c: * gst/colorspace/gstcolorspace.h: * gst/colorspace/yuv2rgb.c: * gst/colorspace/yuv2rgb.h: Duplicate the ext/hermes colorspace plugin, and remove Hermes code and GPL code. Fix for new caps negotiation. Rewrite much of the format handling code, and some of the conversion code. Basically, rewrote almost everything. This element handles I420, YV12 to RGB conversions. * ext/hermes/Makefile.am: * ext/hermes/gsthermescolorspace.c: Rename colorspace to hermescolorspace. Fix negotiation issues. Remove non-Hermes related code. This element handles lots of RGB to RGB conversions, but no YUV. * ext/hermes/gstcolorspace.c: * ext/hermes/gstcolorspace.h: * ext/hermes/rgb2yuv.c: * ext/hermes/yuv2rgb.c: * ext/hermes/yuv2rgb.h: * ext/hermes/yuv2rgb_mmx16.s: * ext/hermes/yuv2yuv.c: * ext/hermes/yuv2yuv.h: Remove old code. 2004-01-14 Colin Walters * ext/mad/gstid3tag.c (gst_id3_tag_chain): Don't nego caps if they've already been. 2004-01-15 Benjamin Otte * ext/mad/gstid3tag.c: (gst_id3_tag_do_caps_nego): assume tag mode when pad is not connected 2004-01-15 Benjamin Otte * ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event): Don't update the time of the clock (gst_alsa_sink_loop): sync to the clock given to alsasink, not the own clock * sys/oss/gstosssink.c: (gst_osssink_chain): sync to the clock (gst_osssink_change_state): activate the clock * sys/ximage/ximagesink.c: (gst_ximagesink_chain): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain): remove bogus code that made DISCONT events unhandled * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_video_caps): explicitly case to double in _set_simple. (fixes 2nd warning in bug #131502) * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_read_object_header), (gst_asf_demux_handle_sink_event), (gst_asf_demux_audio_caps), (gst_asf_demux_add_audio_stream), (gst_asf_demux_video_caps): convert g_warning because of wrong asf data to GST_WARNINGs (fixes 2nd warning in bug #131502) 2004-01-14 Julien MOUTTE * gst/videofilter/gstvideobalance.c: (gst_videobalance_init), (gst_videobalance_colorbalance_set_value), (gst_videobalance_colorbalance_get_value): Fixing videobalance ranges for colorbalance interface implementation. * sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get), (gst_ximagesink_set_property), (gst_ximagesink_get_property), (gst_ximagesink_dispose), (gst_ximagesink_init), (gst_ximagesink_class_init): Adding DISPLAY property. * sys/ximage/ximagesink.h: Adding display_name to store display. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get), (gst_xvimagesink_set_property), (gst_xvimagesink_get_property), (gst_xvimagesink_dispose), (gst_xvimagesink_init), (gst_xvimagesink_class_init): Adding DISPLAY property and colorbalance properties (they still need polishing though for gst-launch use : no xcontext yet, i ll do that tomorrow). * sys/xvimage/xvimagesink.h: Adding display_name to store display. 2004-01-14 Julien MOUTTE * gst-libs/gst/play/gstplay.c: (gst_play_pipeline_setup), (gst_play_set_location), (gst_play_set_visualization): Preparing switch integration, adding videobalance in the pipeline. 2004-01-14 Julien MOUTTE * gst-libs/gst/colorbalance/colorbalance.c: (gst_color_balance_class_init): Adding a default type. * gst-libs/gst/colorbalance/colorbalance.h: Adding a macro to access the type. * gst/videofilter/gstvideobalance.c: (gst_videobalance_get_type), (gst_videobalance_dispose), (gst_videobalance_class_init), (gst_videobalance_init), (gst_videobalance_interface_supported), (gst_videobalance_interface_init), (gst_videobalance_colorbalance_list_channels), (gst_videobalance_colorbalance_set_value), (gst_videobalance_colorbalance_get_value), (gst_videobalance_colorbalance_init): Implementing colorbalance interface. * gst/videofilter/gstvideobalance.h: Adding colorbalance channels list. * sys/ximage/ximagesink.c: (gst_ximagesink_set_xwindow_id): Fixing a bug which was triggering a BadAccess X error when setting an overlay before pad was really negotiated. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_colorbalance_init): Using the colorbalance type macro. 2004-01-14 Benjamin Otte * ext/flac/gstflacenc.c: (gst_flacenc_set_metadata), (gst_flacenc_chain): handle tags correctly * gst/tags/gstid3tag.c: (gst_tag_list_new_from_id3v1): extract ID3v1 tags correctly 2004-01-14 Ronald Bultje * gst/typefind/gsttypefindfunctions.c: (matroska_type_find), (plugin_init): Improve matroska typefinding for odd-typed headers... 2004-01-14 Ronald Bultje * gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream): Fix for using incremental number on padnames. 2004-01-14 Ronald Bultje * ext/divx/gstdivxdec.c: * ext/divx/gstdivxenc.c: Set category to divx4linux instead of divx (too generic). * gst/wavparse/gstwavparse.c: (gst_wavparse_init), (gst_wavparse_parse_fmt), (gst_wavparse_handle_sink_event), (gst_wavparse_loop), (gst_wavparse_change_state): * gst/wavparse/gstwavparse.h: fix parsing of WAV files with non-standard fmt-tag size and fix skipping of unrecognized chunks... Someone please fix this thing to use rifflib so all this is automated. * sys/v4l/Makefile.am: * sys/v4l2/Makefile.am: Add X_CFLAGS because we depend on X (for overlay). 2004-01-14 Jan Schmidt * ext/mpeg2dec/gstmpeg2dec.c: Don't issue a timestamp unless we tagged the frame with a PTS. 2004-01-14 Benjamin Otte * gst-libs/gst/play/gstplay.c: (gst_play_tick_callback): Query the audio element to get the time, not the clock. We're interested in the element's time here. 2004-01-14 Benjamin Otte * ext/aalib/gstaasink.c: (gst_aasink_chain): * ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event): * ext/esd/esdsink.c: (gst_esdsink_chain): * ext/libcaca/gstcacasink.c: (gst_cacasink_chain): * ext/mas/massink.c: (gst_massink_chain): * ext/sdl/sdlvideosink.c: (gst_sdlvideosink_chain): * gst/matroska/matroska-demux.c: (gst_matroska_demux_parse_index), (gst_matroska_demux_parse_metadata): * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_loop), (gst_mpeg_parse_release_locks): * gst/tcp/gsttcpsink.c: (gst_tcpsink_chain): * gst/udp/gstudpsink.c: (gst_udpsink_chain): * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_get): * sys/oss/gstosssink.c: (gst_osssink_init), (gst_osssink_chain), (gst_osssink_change_state): * sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_chain): * sys/ximage/ximagesink.c: (gst_ximagesink_chain): * sys/xvideo/xvideosink.c: (gst_xvideosink_chain), (gst_xvideosink_release_locks): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain): use element time. * ext/alsa/gstalsaclock.c: (gst_alsa_clock_start), (gst_alsa_clock_stop): * gst-libs/gst/audio/audioclock.c: (gst_audio_clock_set_active), (gst_audio_clock_get_internal_time): simplify for use with new clocking code. * testsuite/alsa/Makefile.am: * testsuite/alsa/sinesrc.c: (sinesrc_init), (sinesrc_force_caps): fix testsuite for new caps system 2004-01-14 Benjamin Otte * ext/flac/gstflacdec.c: (gst_flacdec_update_metadata): * ext/flac/gstflacenc.c: (add_one_tag): length is already host endian, no need to convert. Fixes playback of tagged files on PPC. (bug #128384) 2004-01-13 Julien MOUTTE * gst-libs/gst/colorbalance/colorbalance.h: Adding a type to the colorbalance interface stating if it is hardware based or software based. * gst/videofilter/gstvideobalance.c: (gst_videobalance_planar411): Removing a trailing comma. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get), (gst_xvimagesink_colorbalance_init): Integrating a patch from Jon Trowbridge querying Xv adaptor for min/max value as the documentation seems to be wrong on the -1000 to 1000 interval. 2004-01-12 David Schleef * gst/debug/efence.c: (gst_efence_init), (gst_efence_chain), (gst_efence_buffer_alloc), (gst_fenced_buffer_new), (gst_fenced_buffer_default_free), (gst_fenced_buffer_default_copy): Fix negotiation. Add a bufferalloc function for the sink pad, and generally clean up some of the code. 2004-01-12 Julien MOUTTE * gst-libs/gst/colorbalance/colorbalancechannel.c: (gst_color_balance_channel_dispose): Adding safety check in dispose method. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get), (gst_xvimagesink_xcontext_clear), (gst_xvimagesink_interface_supported), (gst_xvimagesink_colorbalance_list_channels), (gst_xvimagesink_colorbalance_set_value), (gst_xvimagesink_colorbalance_get_value), (gst_xvimagesink_colorbalance_init), (gst_xvimagesink_get_type): Adding colorbalance interface support to set XV parameters such as HUE, BRIGHTNESS, CONTRAST, SATURATION. * sys/xvimage/xvimagesink.h: Adding the channels list for colorbalance interface. 2004-01-12 Thomas Vander Stichele * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_get_type), (gst_audio_convert_class_init), (gst_audioconvert_getcaps), (gst_audio_convert_init), (gst_audio_convert_set_property), (gst_audio_convert_get_property), (gst_audio_convert_chain), (gst_audio_convert_link), (gst_audio_convert_buffer_to_default_format), (gst_audio_convert_buffer_from_default_format), (plugin_init): - implement _getcaps and use it - improve linking - remove float caps since no float conversion is actually done - remove properties and arguments that were to be used for rate conversion 2004-01-12 Thomas Vander Stichele * gst-libs/gst/audio/audio.c: (_gst_audio_structure_set_list), (gst_audio_structure_set_int): * gst-libs/gst/audio/audio.h: add helper functions for _getcaps matching the standard audio templates 2004-01-12 David Schleef * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link): Test that pad is negotiated before getting its caps. 2004-01-12 Julien MOUTTE * gst-libs/gst/play/gstplay.c: (gst_play_get_sink_element): When analyzing the pads of an element the bin is mostly in READY state so no caps were negotiated. This helper function needs to work with _get_caps directly then. I was not freeing them though, added that to fix the mem leak. 2004-01-12 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_chain): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain): Fixing the direct put buffers detection. I prefer checking GST_BUFFER_PRIVATE than the free_func. 2004-01-12 Thomas Vander Stichele * sys/oss/gstossaudio.c: (plugin_init): * sys/oss/gstosselement.c: (gst_osselement_sync_parms): * sys/oss/gstosselement.h: make an oss debugging category make failure more descriptive 2004-01-11 David Schleef * ext/ffmpeg/gstffmpeg.c: * ext/ffmpeg/gstffmpegcodecmap.c: * ext/ffmpeg/gstffmpegdec.c: * ext/ffmpeg/gstffmpegenc.c: * ext/ffmpeg/gstffmpegprotocol.c: * ext/gdk_pixbuf/gstgdkanimation.c: * ext/jpeg/gstjpeg.c: * ext/libpng/gstpng.c: * ext/mpeg2dec/perftest.c: * ext/speex/gstspeex.c: * gst-libs/gst/resample/dtos.c: * gst/intfloat/gstintfloatconvert.c: * gst/oneton/gstoneton.c: * gst/rtjpeg/RTjpeg.c: * gst/rtp/gstrtp.c: * sys/dxr3/dxr3init.c: * sys/glsink/gstgl_nvimage.c: * sys/glsink/gstgl_pdrimage.c: * sys/glsink/gstglsink.c: * testsuite/gst-lint: Make sure everybody wraps #include "config.h" in #ifdef HAVE_CONFIG_H 2004-01-11 David Schleef * ext/alsa/gstalsasrc.c: (gst_alsa_src_set_caps): * ext/faac/gstfaac.c: (gst_faac_sinkconnect): * ext/gdk_pixbuf/gstgdkanimation.c: (gst_gdk_animation_iter_create_pixbuf): * ext/gdk_pixbuf/gstgdkpixbuf.c: (gst_gdk_pixbuf_sink_link), (gst_gdk_pixbuf_chain): * ext/gdk_pixbuf/gstgdkpixbuf.h: * ext/jack/gstjack.c: (gst_jack_change_state): * ext/xvid/gstxviddec.c: (gst_xviddec_sink_link): * gst-libs/gst/play/gstplay.c: (gst_play_get_sink_element): * gst-libs/gst/play/play.c: (gst_play_get_sink_element): * gst/videofilter/gstvideofilter.c: (gst_videofilter_set_output_size): Remove all usage of gst_pad_get_caps(), and replace it with gst_pad_get_allowed_caps() or gst_pad_get_negotiated_cap(). 2004-01-11 David Schleef * configure.ac: * ext/Makefile.am: Fixes to make ext/libcaca compile. * ext/divx/gstdivxdec.c: * ext/gdk_pixbuf/gstgdkpixbuf.c: (gst_gdk_pixbuf_sink_link), (gst_gdk_pixbuf_init), (gst_gdk_pixbuf_chain): Make gdkpixbufdec handle images that span multiple buffers. Now work with both filesrc ! gdkpixbufdec and qtdemux ! gdkpixbufdec. * ext/gdk_pixbuf/gstgdkpixbuf.h: * ext/libcaca/gstcacasink.h: Fixes needed due to recent video/video.h changes * ext/xvid/gstxvid.c: (gst_xvid_csp_to_caps): same * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_get), (gst_v4lmjpegsrc_buffer_free): Use buffer free function instead of GstData free function. * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_get), (gst_v4lsrc_buffer_free): same. 2004-01-12 Benjamin Otte * sys/v4l2/gstv4l2element.c: (gst_v4l2element_class_init), (gst_v4l2element_dispose), (gst_v4l2element_set_property), (gst_v4l2element_get_property): * sys/v4l2/v4l2_calls.c: (gst_v4l2_set_defaults), (gst_v4l2_open): add norm, channel and frequency properties. * sys/v4l2/gstv4l2tuner.c: fixes for tuner interface changes * sys/v4l2/gstv4l2element.h: * sys/v4l2/gstv4l2src.c: * sys/v4l2/gstv4l2src.h: * sys/v4l2/v4l2src_calls.c: * sys/v4l2/v4l2src_calls.h: rework v4l2src to work with saa1734 cards and allow mmaped buffers. 2004-01-12 Benjamin Otte * gst-libs/gst/tuner/tuner.c: (gst_tuner_class_init), (gst_tuner_find_norm_by_name), (gst_v4l2_find_channel_by_name), (gst_tuner_channel_changed), (gst_tuner_norm_changed), (gst_tuner_frequency_changed), (gst_tuner_signal_changed): * gst-libs/gst/tuner/tuner.h: GObjects aren't const. Add find_by_name functions. Add checks to _changed functions. * sys/v4l/gstv4ltuner.c: (gst_v4l_tuner_get_channel), (gst_v4l_tuner_get_norm): Fixes for above. 2004-01-12 Benjamin Otte * gst-libs/gst/video/video.h: Fix caps template names to be understandable. Prefix everything with GST_VIDEO. * ext/aalib/gstaasink.c: * ext/divx/gstdivxdec.c: * ext/divx/gstdivxenc.c: * ext/gdk_pixbuf/gstgdkpixbuf.c: * ext/hermes/gstcolorspace.c: (gst_colorspace_base_init): * ext/jpeg/gstjpegdec.c: (raw_caps_factory): * ext/jpeg/gstjpegenc.c: (raw_caps_factory): * ext/libcaca/gstcacasink.c: * ext/libpng/gstpngenc.c: (raw_caps_factory): * ext/snapshot/gstsnapshot.c: * ext/swfdec/gstswfdec.c: * ext/xvid/gstxviddec.c: * ext/xvid/gstxvidenc.c: * gst/chart/gstchart.c: * gst/deinterlace/gstdeinterlace.c: * gst/effectv/gsteffectv.c: * gst/flx/gstflxdec.c: (gst_flxdec_loop): * gst/goom/gstgoom.c: * gst/median/gstmedian.c: * gst/monoscope/gstmonoscope.c: (gst_monoscope_init), (gst_monoscope_srcconnect), (gst_monoscope_chain): * gst/overlay/gstoverlay.c: * gst/smooth/gstsmooth.c: * gst/smpte/gstsmpte.c: * gst/synaesthesia/gstsynaesthesia.c: * gst/videocrop/gstvideocrop.c: * gst/videodrop/gstvideodrop.c: * gst/y4m/gsty4mencode.c: * sys/qcam/gstqcamsrc.c: * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_palette_to_caps): Make them work with new video.h file. * sys/ximage/ximagesink.c: (gst_ximagesink_chain), (gst_ximagesink_buffer_free), (gst_ximagesink_buffer_alloc): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain), (gst_xvimagesink_buffer_free), (gst_xvimagesink_buffer_alloc): Make it work with new buffer allocation system. 2004-01-11 Julien MOUTTE * ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_chain): Fixing the pad_alloc_buffer implementation to use ->srcpad * ext/hermes/gstcolorspace.c: (gst_colorspace_chain): Fixing the pad_alloc_buffer implementation to use ->srcpad * gst/videoscale/gstvideoscale.c: (gst_videoscale_chain): Fixing the pad_alloc_buffer implementation to use ->srcpad * sys/ximage/ximagesink.c: (gst_ximagesink_ximage_new), (gst_ximagesink_chain), (gst_ximagesink_buffer_free), (gst_ximagesink_buffer_alloc): Now only use GST_BUFFER_PRIVATE to keep a reference to everything we need. * sys/ximage/ximagesink.h: adding a reference to the sink in the image. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new), (gst_xvimagesink_chain), (gst_xvimagesink_buffer_free), (gst_xvimagesink_buffer_alloc): Now only use GST_BUFFER_PRIVATE to keep a reference to everything we need. * sys/xvimage/xvimagesink.h: adding a reference to the sink in the image 2004-01-11 David Schleef * ext/divx/gstdivxenc.c: remove bogus gst_caps_is_fixed() test * gst/debug/efence.c: (gst_efence_chain), (gst_fenced_buffer_new), (gst_fenced_buffer_default_copy): Fix for rename of buffer private structure members. * gst/effectv/gstwarp.c: (gst_warptv_setup): Don't reset the time value during a resize/renegotiation. * gst/videofilter/gstvideofilter.c: (gst_videofilter_chain): use gst_pad_alloc_buffer(); * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_get), (gst_v4lmjpegsrc_buffer_free): Fix for rename of buffer private structure members. * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_get), (gst_v4lsrc_buffer_free): Fix for rename of buffer private structure members. * sys/ximage/ximagesink.c: (gst_ximagesink_chain), (gst_ximagesink_buffer_free), (gst_ximagesink_buffer_alloc): Fix for rename of buffer private structure members. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain), (gst_xvimagesink_buffer_free), (gst_xvimagesink_buffer_alloc): Fix for rename of buffer private structure members. 2004-01-11 Arwed v. Merkatz reviewed by: David Schleef * gst/videofilter/Makefile.am: * gst/videofilter/gstgamma.c: Gamma correction filter. Modified from the patch by ds to fit in with recent make_filter changes. 2004-01-11 Julien MOUTTE * configure.ac: Adding examples/switch/Makefile * examples/Makefile.am: Adding examples/switch * examples/switch/Makefile.am: Adding switcher example. * examples/switch/switcher.c: (got_eos), (idle_iterate), (switch_timer), (main): Adding an example demonstrating switch usage with 2 videotestsrc showing different patterns. * gst/switch/gstswitch.c: (gst_switch_request_new_pad), (gst_switch_init): Fixing switch with the new caps system. 2004-01-11 Benjamin Otte * gst-libs/gst/video/video.h: Fix 32bit caps. Issue remaining: The macro names are chosen poorly. They should probably be like GST_VIDEO_PAD_TEMPLATE_CAPS_{RGB,BGR,RGBx,BGRx}. 2004-01-11 Benjamin Otte * gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header), (qtdemux_parse_trak): fix audio chunk size/timestamp calculation 2004-01-11 Benjamin Otte * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps): fix SVQ3 caps 2004-01-11 Steve Baker * gst/effectv/gstaging.c: (gst_agingtv_get_type), (gst_agingtv_base_init), (gst_agingtv_class_init), (gst_agingtv_init), (gst_agingtv_setup), (gst_agingtv_rgb32), (gst_agingtv_set_property), (gst_agingtv_get_property): Port agingTV to videofilter 2004-01-09 Julien MOUTTE * ext/hermes/gstcolorspace.c: (gst_colorspace_chain): Implementing gst_pad_alloc_buffer to use optimized buffer allocation. 2004-01-09 Julien MOUTTE * ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_chain): Implementing gst_pad_alloc_buffer to use optimized buffer allocation. * gst-libs/gst/xoverlay/xoverlay.c: (gst_x_overlay_got_desired_size): Updating doc for the xid being 0. * gst/videoscale/gstvideoscale.c: (gst_videoscale_chain): Implementing gst_pad_alloc_buffer to use optimized buffer allocation. * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_get): Implementing gst_pad_alloc_buffer to use optimized buffer allocation. * sys/ximage/ximagesink.c: (gst_ximagesink_chain), (gst_ximagesink_buffer_free), (gst_ximagesink_buffer_alloc), (gst_ximagesink_set_xwindow_id), (gst_ximagesink_init): Implementing the bufferalloc_function to replace bufferpools, fixing the XOverlay interface implementation to handle xid being 0 and fix some bugs triggered by Benjamin's testcase. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain), (gst_xvimagesink_buffer_free), (gst_xvimagesink_buffer_alloc), (gst_xvimagesink_set_xwindow_id), (gst_xvimagesink_init): Implementing the bufferalloc_function to replace bufferpools, fixing the XOverlay interface implementation to handle xid being 0 and fix some bugs triggered by Benjamin's testcase. 2004-01-09 David Schleef * ext/librfb/gstrfbsrc.c: Hacking. Added actual decoding and mouse pointer events. It works. 2004-01-09 Ronald Bultje * ext/divx/gstdivxenc.c: (gst_divxenc_init): Use explicit caps - fix capsnego. * ext/xvid/gstxviddec.c: * ext/xvid/gstxvidenc.c: Remove macro-inside-macro which caused compile errors. * gst-libs/gst/riff/riff-read.c: (gst_riff_read_header): Error out if it's not a RIFF file. Else we error out without gst_element_error() which is not good... 2004-01-08 David Schleef * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_connect): Fix pad_link function to handle formats that ffmpeg returns as multiple caps structures. * gst/videofilter/gstvideofilter.c: (gst_videofilter_chain): Only complain if source buffer is _smaller_ than expected. * gst/videoscale/gstvideoscale.c: (gst_videoscale_init), (gst_videoscale_handle_src_event): Resize navigation events when passing them upstream. * gst/videotestsrc/gstvideotestsrc.c: * gst/videotestsrc/gstvideotestsrc.h: * gst/videotestsrc/videotestsrc.c: * gst/videotestsrc/videotestsrc.h: Rewrite many of the buffer painting functions to handle odd sizes (for many formats, size%4!=0 or size%8!=0). Most have been verified to work with my video card. * testsuite/gst-lint: Add check for elements calling gst_pad_get_caps() instead of gst_pad_get_allowed_caps(). 2004-01-08 David Schleef * gst/videodrop/gstvideodrop.c: (gst_videodrop_getcaps), (gst_videodrop_link), (gst_videodrop_init): Fix negotiation. 2004-01-08 Julien MOUTTE * sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents): A configure event is not emiting the desired size signal. That fixes aspect ratio issues with gst-player. 2004-01-08 Ronald Bultje * gst/median/gstmedian.c: (gst_median_link), (gst_median_init): Fix capsnego. 2004-01-08 Julien MOUTTE * ext/sdl/sdlvideosink.c: (gst_sdlvideosink_create): Using XOverlay public method to fire size signal. 2004-01-07 Julien MOUTTE * examples/gstplay/Makefile.am: Adding the interface library. * gst-libs/gst/play/Makefile.am: Adding the interface library. * gst-libs/gst/play/gstplay.c: (gst_play_set_video_sink): Connecting to the XOverlay size signal instead of GstVideoSink. * gst-libs/gst/play/gstplay.h: Including the XOverlay interface to check GST_IS_X_OVERLAY before signal connect. * gst-libs/gst/video/gstvideosink.c: (gst_videosink_class_init): Removing the have_video_size signal. * gst-libs/gst/video/gstvideosink.h: Removing the have_video_size signal and associated public method. * sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents), (gst_ximagesink_sinkconnect): Using XOverlay public method to fire size signal. * sys/xvideo/xvideosink.c: (gst_xvideosink_sinkconnect), (gst_xvideosink_xwindow_new): Using XOverlay public method to fire size signal. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_sinkconnect): Using XOverlay public method to fire size signal. 2004-01-07 David Schleef * gst/videofilter/Makefile.am: * gst/videofilter/gstvideotemplate.c: * gst/videofilter/make_filter: Create gstvideoexample.c in a srcdir!=builddir friendly way. Convert make_filter to /bin/sh script. 2004-01-07 Thomas Vander Stichele * gst/modplug/gstmodplug.cc: fix element description 2004-01-07 Julien MOUTTE * examples/gstplay/player.c: (got_time_tick), (got_stream_length), (got_video_size): Adding some new lines in g_print calls. * sys/ximage/ximagesink.c: (gst_ximagesink_xwindow_new), (gst_ximagesink_xwindow_destroy), (gst_ximagesink_xwindow_resize), (gst_ximagesink_handle_xevents), (gst_ximagesink_fixate), (gst_ximagesink_sinkconnect), (gst_ximagesink_change_state), (gst_ximagesink_chain), (gst_ximagesink_buffer_new), (gst_ximagesink_set_xwindow_id), (gst_ximagesink_get_desired_size): Complete code review, reverting some stuff i disagree with, adding some fixes : time synchronization on invalid timestamps, renegotiation of private window. * sys/ximage/ximagesink.h: * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xwindow_destroy), (gst_xvimagesink_xwindow_resize), (gst_xvimagesink_handle_xevents), (gst_xvimagesink_get_xv_support), (gst_xvimagesink_xcontext_get), (gst_xvimagesink_fixate), (gst_xvimagesink_sinkconnect), (gst_xvimagesink_change_state), (gst_xvimagesink_chain), (gst_xvimagesink_buffer_new), (gst_xvimagesink_navigation_send_event), (gst_xvimagesink_set_xwindow_id), (gst_xvimagesink_get_desired_size), (gst_xvimagesink_xoverlay_init): Complete code review, reverting some stuff i disagree with, adding some fixes : Renegotiation of private window, implementing get_desired_size. 2004-01-07 Ronald Bultje * ext/audiofile/gstafsink.c: (gst_afsink_init), (gst_afsink_chain), (gst_afsink_handle_event): * ext/jpeg/gstjpegenc.c: (gst_jpegenc_init): * gst/avi/gstavimux.c: (gst_avimux_request_new_pad): * sys/dxr3/dxr3audiosink.c: (dxr3audiosink_init): * sys/dxr3/dxr3spusink.c: (dxr3spusink_init): * sys/dxr3/dxr3videosink.c: (dxr3videosink_init): Fix for instantiate-test (see core). Also remove dead code from jpegenc (which still needs fixing, but that's lower on my TODO list...). * sys/v4l2/gstv4l2src.c: (gst_v4l2src_getcaps): Never return NULL as caps. 2004-01-07 David Schleef * configure.ac: * ext/Makefile.am: * ext/librfb/Makefile.am: * ext/librfb/gstrfbsrc.c: New source plugin based on librfb-0.1. RFB (remote framebuffer) is the protocol used by VNC. 2004-01-07 David Schleef * gst/videofilter/gstvideotemplate.c: * gst/videofilter/gstvideotemplate.h: * gst/videofilter/make_filter: Merge videotemplate header into source file. * gst/effectv/Makefile.am: * gst/effectv/gsteffectv.c: (plugin_init): * gst/effectv/gstwarp.c: Make warpTV a subclass of videofilter. 2004-01-07 Benjamin Otte * ext/mad/gstid3tag.c: (gst_mad_id3_to_tag_list): Add guard against invalid utf-8 conversions in mad. Just in case. 2004-01-07 Benjamin Otte * sys/oss/gstosssink.c: (gst_osssink_sink_fixate): Fix for bug shown by poisoning 2004-01-06 Ronald Bultje * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_get), (gst_v4lmjpegsrc_buffer_free): * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_palette_to_caps), (gst_v4lsrc_srcconnect), (gst_v4lsrc_getcaps), (gst_v4lsrc_get), (gst_v4lsrc_buffer_free): Fix for removed bufferpools. 2004-01-07 Jan Schmidt * ext/dv/gstdvdec.c: (gst_dvdec_loop): Fix caps negotiation. * ext/dvdnav/dvdnavsrc.c: (dvdnavsrc_class_init), (dvdnavsrc_update_buttoninfo), (dvdnavsrc_get), (dvdnavsrc_get_event_mask), (dvdnav_handle_navigation_event), (dvdnavsrc_event): * ext/mpeg2dec/gstmpeg2dec.c: * gst-libs/gst/navigation/navigation.c: (gst_navigation_send_key_event), (gst_navigation_send_mouse_event): * gst-libs/gst/navigation/navigation.h: * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_handle_src_event): * sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents): Super-simple first version of mouse and keyboard events. Clicking on a DVD menu now works, although it may not take you where you expected. * gst/sine/gstsinesrc.c: (gst_sinesrc_src_fixate): * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_src_fixate): These fixate functions were broken - they never actually fixated :) 2004-01-06 Ronald Bultje * ext/shout/gstshout.c: (gst_icecastsend_base_init), (gst_icecastsend_init): fix for new caps system. * gst-libs/gst/mixer/mixertrack.h: * sys/oss/gstossmixer.c: (gst_ossmixer_build_list): Add 'master track' flag (for tools like ACME that only want to change the main volume). 2004-01-07 Jan Schmidt * ext/xvid/gstxvid.c: (gst_xvid_structure_to_csp), (gst_xvid_csp_to_caps): * ext/xvid/gstxviddec.c: (gst_xviddec_src_getcaps): * ext/xvid/gstxvidenc.c: ifdef out ARGB type when it isn't available in xvidcore 1.0.0beta2 2004-01-06 Ronald Bultje * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_loop): When we have received a new SCR right in the first buffer after a seek (so in the same cycle that handles the discont), we should handle the buffer instead of unreffing it, else we lose data. 2004-01-06 Iain * gst/intfloat/gstint2float.c (gst_int2float_link): Set the buffer-frames caps too. * gst/oneton/gstoneton.c (gst_oneton_sink_connect): Only create the new caps that we need, don't destroy them all and rebuild them. And when creating src pads, use the src pad template rather than the sink... 2004-01-05 Ronald Bultje * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_parse_syshead): Add pad to element *after* setting functions such as event handler. Without this, the scheduler (opt) will link pads, set the event handler from the default event function (dispatcher in gstpad.c) and *after* that, we will set our own event function, which will thus never be used (and thus mpegdemux doesn't handle events). 2004-01-04 David Schleef Fix the fixate functions to handle new prototype: * gst/sine/gstsinesrc.c: (gst_sinesrc_src_fixate): * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_src_fixate): * sys/oss/gstosssink.c: (gst_osssink_sink_fixate): * sys/ximage/ximagesink.c: (gst_ximagesink_fixate): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_fixate): 2004-01-04 Benjamin Otte * sys/ximage/ximagesink.h: * sys/ximage/ximagesink.c: (gst_ximagesink_xwindow_new), (gst_ximagesink_xwindow_destroy), (gst_ximagesink_sinkconnect), (gst_ximagesink_change_state), (gst_ximagesink_set_xwindow_id), (gst_ximagesink_xoverlay_init): assorted fixes to make (re)embedding work * sys/ximage/ximagesink.c: (gst_ximagesink_sinkconnect), (gst_ximagesink_get_desired_size): implement desired size additions to XOverlay 2004-01-04 Benjamin Otte * gst-libs/gst/xoverlay/xoverlay.c: (gst_x_overlay_base_init), (gst_x_overlay_got_xwindow_id), (gst_x_overlay_get_desired_size), (gst_x_overlay_got_desired_size): * gst-libs/gst/xoverlay/xoverlay.h: Add optional "desired size" signal and querying. 2004-01-04 Ronald Bultje * gst/matroska/matroska-demux.c: (gst_matroska_demux_parse_blockgroup): Fix EBML-laced block parsing. Diffs are relative to previous lace, not the first lace. Thanks to Mosu from the Matroska team for detecting this. * gst/wavparse/gstwavparse.c: (gst_wavparse_init), (gst_wavparse_parse_fmt), (gst_wavparse_getcaps), (gst_wavparse_handle_sink_event), (gst_wavparse_loop), (gst_wavparse_change_state): * gst/wavparse/gstwavparse.h: Quickfix for capsnego. 2004-01-04 Ronald Bultje * gst/wavenc/gstwavenc.c: (set_property), (gst_wavenc_init): Fix indenting, fix pad creation. 2004-01-04 Ronald Bultje * ext/xvid/gstxviddec.c: (gst_xviddec_init), (gst_xviddec_src_getcaps), (gst_xviddec_src_link), (gst_xviddec_sink_link): Implement src_getcaps() so proper size caps is negotiated. 2004-01-04 Ronald Bultje * ext/flac/gstflacdec.c: (gst_flacdec_loop): Finish flac decoder on EOS. See #116178. 2004-01-04 Ronald Bultje * gst/matroska/matroska-demux.c: (gst_matroska_demux_src_getcaps), (gst_matroska_demux_add_stream): * gst/matroska/matroska-ids.h: Add getcaps() function to fix capsnego... 2004-01-04 Ronald Bultje * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_parse_syshead), (gst_mpeg_demux_parse_packet), (gst_mpeg_demux_parse_pes): * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_parse_packhead): Fix more integer overflows. Again, see #126967. 2004-01-03 Ronald Bultje * ext/mpeg2dec/gstmpeg2dec.c: Add support for mpeg2dec-0.4.0 (released two weeks ago). See #130416. 2004-01-03 Ronald Bultje * configure.ac: * ext/xvid/gstxvid.c: (gst_xvid_init), (gst_xvid_error), (gst_xvid_structure_to_csp), (gst_xvid_csp_to_caps): * ext/xvid/gstxvid.h: * ext/xvid/gstxviddec.c: (gst_xviddec_class_init), (gst_xviddec_init), (gst_xviddec_setup), (gst_xviddec_chain), (gst_xviddec_src_link), (gst_xviddec_sink_link), (gst_xviddec_change_state): * ext/xvid/gstxviddec.h: * ext/xvid/gstxvidenc.c: (gst_xvidenc_profile_get_type), (gst_xvidenc_base_init), (gst_xvidenc_class_init), (gst_xvidenc_init), (gst_xvidenc_setup), (gst_xvidenc_chain), (gst_xvidenc_link), (gst_xvidenc_set_property), (gst_xvidenc_get_property), (gst_xvidenc_change_state): * ext/xvid/gstxvidenc.h: Update xvid plugin to latest xvid (1.0.0-beta3) API. 2004-01-03 Ronald Bultje * gst/rtp/rtp-packet.c: Add sys/types.h include, since OS X doesn't define in_addr_t in netinet/in.h, like it does on Linux (see #129600). 2004-01-03 Thomas Canty reviewed by: Ronald Bultje * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_dispose): Correct logic of dispose function (see #129306). 2004-01-03 Ronald Bultje * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_parse_pes): * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_class_init), (gst_mpeg_parse_init): * gst/mpegstream/gstmpegparse.h: Remove clock (which was never provided, i.e. dead code), and also fix integer overflows at high PTS values (see #126967). 2004-01-03 Ronald Bultje * ext/flac/gstflacdec.c: * ext/libpng/gstpngenc.h: * ext/mikmod/gstmikmod.h: OS X fixes (see #126628). 2004-01-02 David Schleef * ext/alsa/gstalsasrc.c: (gst_alsa_src_pad_factory), (gst_alsa_src_base_init): Remove bogus "src" request pad. * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_base_init), (gst_mpeg_parse_class_init): Move pad template registration to class_init, since the derived class (mpegdemux) doesn't want them. 2004-01-03 Ronald Bultje * sys/ximage/Makefile.am: * sys/xvideo/Makefile.am: * sys/xvimage/Makefile.am: Move interface libs from LDFLAGS to LIBADD, fix relocation errors after installation (see #127664). 2004-01-02 David Schleef * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_init), (gst_ffmpegenc_connect): Negotiation fixes. * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_negotiate_format): Remove inappropriate gst_caps_free(). * sys/ximage/ximagesink.c: (gst_ximagesink_sinkconnect): Reenable Ronald's internal resize code, since the core handles it correctly now. 2004-01-02 Ronald Bultje * sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_init): * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_init): * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_base_init), (gst_v4lsrc_init): Fix pad template stuff. 2004-01-02 Ronald Bultje * gst/matroska/ebml-read.c: (gst_ebml_read_sint): * gst/matroska/ebml-write.c: (gst_ebml_write_sint): fix signed integer reading/writing. 2004-01-02 Benjamin Otte * ext/alsa/README: Remove outdated document 2004-01-03 Jan Schmidt * gst/cutter/gstcutter.c: (gst_cutter_init): src pad was being created twice - oops. 2004-01-02 Ronald Bultje * sys/ximage/ximagesink.c: (gst_ximagesink_sinkconnect): Comment out internal resize. It doesn't handle the resulting XEvent internally, does another try_set_caps() which leads to a really nice loop. Real fix will come when Julien and Dave are awake. ;). 2004-01-02 Ronald Bultje * ext/mpeg2enc/gstmpeg2enc.cc: fix const/nonconst compile issue. 2004-01-02 David Schleef * sys/xvimage/xvimagesink.c: (gst_xvimagesink_fixate), (gst_xvimagesink_sinkconnect), (gst_xvimagesink_init): Add fixate function and a check for bad formats. 2004-01-01 David Schleef Negotiation fixes: * gst-libs/gst/audio/gstaudiofilter.c: (gst_audiofilter_link), (gst_audiofilter_init): * gst/debug/efence.c: (gst_efence_init): * gst/deinterlace/gstdeinterlace.c: (gst_deinterlace_link), (gst_deinterlace_init): * gst/volume/gstvolume.c: (volume_connect): 2004-01-01 David Schleef Convert elements to use gst_pad_use_explicit_caps() where appropriate: * ext/a52dec/gsta52dec.c: (gst_a52dec_init), (gst_a52dec_reneg): * ext/audiofile/gstafparse.c: (gst_afparse_init), (gst_afparse_open_file): * ext/audiofile/gstafsrc.c: (gst_afsrc_init), (gst_afsrc_open_file): * ext/esd/esdmon.c: (gst_esdmon_init), (gst_esdmon_get): * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_init), (gst_ffmpegdec_chain): * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop): * ext/flac/gstflacdec.c: (gst_flacdec_init), (gst_flacdec_write): * ext/gdk_pixbuf/gstgdkpixbuf.c: (gst_gdk_pixbuf_init), (gst_gdk_pixbuf_chain): * ext/jpeg/gstjpegdec.c: (gst_jpegdec_init), (gst_jpegdec_link), (gst_jpegdec_chain): * ext/mad/gstmad.c: (gst_mad_init), (gst_mad_chain): * ext/mikmod/gstmikmod.c: (gst_mikmod_init), (gst_mikmod_negotiate): * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_init), (gst_mpeg2dec_negotiate_format): * ext/mpeg2enc/gstmpeg2enc.cc: * ext/ogg/gstoggdemux.c: (gst_ogg_pad_push): * ext/speex/gstspeexdec.c: (gst_speexdec_init), (gst_speexdec_sinkconnect): * ext/swfdec/gstswfdec.c: (gst_swfdec_loop), (gst_swfdec_init): * ext/vorbis/vorbisfile.c: (gst_vorbisfile_init), (gst_vorbisfile_new_link): * gst/ac3parse/gstac3parse.c: (gst_ac3parse_init), (gst_ac3parse_chain): * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_add_audio_stream), (gst_asf_demux_setup_pad): * gst/auparse/gstauparse.c: (gst_auparse_init), (gst_auparse_chain): * gst/id3/gstid3types.c: (gst_id3types_loop): * gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream): * gst/mpeg1videoparse/gstmp1videoparse.c: (gst_mp1videoparse_init), (mp1videoparse_parse_seq): * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_init), (bpf_from_header): * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_parse_syshead), (gst_mpeg_demux_parse_pes), (gst_mpeg_demux_lpcm_set_caps): * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_init), (gst_mpeg_parse_send_data): * gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header), (gst_qtdemux_add_stream): * gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream): * gst/wavparse/gstwavparse.c: (gst_wavparse_init), (gst_wavparse_parse_fmt): 2004-01-01 Ronald Bultje * configure.ac: Fix configure check for mpeg2enc. We need 1.6.1.93 instead of 1.6.1.92, since the pkg-config file of 1.6.1.92 is borked and it therefore uses the wrong include paths. Too bad... Note that 1.6.1.93 is not release yet. ;). Also add a check for mplex, which is now using the lib'ified mplex from mjpegtools, too. * ext/ffmpeg/gstffmpegcodecmap.c: Add codec_tag for 3ivx/xvid. For xvid, this should fix playback issues. I don't think ffmpeg handles 3ivx correctly, so this probably won't work. But it won't hurt either. * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_connect), (gst_ffmpegdec_chain): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_connect), (gst_ffmpegenc_chain_audio): Fix memleak in audio encoding. Close codec if open fails, this calls the cleanup routines so we can re-use the context. * ext/mpeg2enc/gstmpeg2enc.cc: Fix pad template names/types, fix memory issue with getcaps(). * ext/mpeg2enc/gstmpeg2encoder.cc: * ext/mpeg2enc/gstmpeg2encoder.hh: Fix compile issue with new caps system (const thingy). * ext/mpeg2enc/gstmpeg2encpicturereader.cc: * ext/mpeg2enc/gstmpeg2encpicturereader.hh: We read a first frame right on initing, so that we have a caps when we init the output. This caps is cached in padprivate and read as first frame. * ext/mplex/Makefile.am: * ext/mplex/gstmplex.cc: * ext/mplex/gstmplex.h: * ext/mplex/gstmplex.hh: * ext/mplex/gstmplexibitstream.cc: * ext/mplex/gstmplexibitstream.hh: * ext/mplex/gstmplexjob.cc: * ext/mplex/gstmplexjob.hh: * ext/mplex/gstmplexoutputstream.cc: * ext/mplex/gstmplexoutputstream.hh: We wrap mjpegtools mplex. So I rewrote the plugin. The old plugin had issues, didn't do capsnego, supported only a subset of the mplex features and required a mplex fork in our local CVS. Plus that it worked agaist a very old mplex version. Rewriting was faster than updating it. * gst-libs/ext/Makefile.am: * gst-libs/ext/mplex/INSTRUCT: * gst-libs/ext/mplex/Makefile.am: * gst-libs/ext/mplex/README: * gst-libs/ext/mplex/TODO: * gst-libs/ext/mplex/ac3strm_in.cc: * gst-libs/ext/mplex/audiostrm.hh: * gst-libs/ext/mplex/audiostrm_out.cc: * gst-libs/ext/mplex/aunit.hh: * gst-libs/ext/mplex/bits.cc: * gst-libs/ext/mplex/bits.hh: * gst-libs/ext/mplex/buffer.cc: * gst-libs/ext/mplex/buffer.hh: * gst-libs/ext/mplex/fastintfns.h: * gst-libs/ext/mplex/format_codes.h: * gst-libs/ext/mplex/inputstrm.cc: * gst-libs/ext/mplex/inputstrm.hh: * gst-libs/ext/mplex/lpcmstrm_in.cc: * gst-libs/ext/mplex/mjpeg_logging.cc: * gst-libs/ext/mplex/mjpeg_logging.h: * gst-libs/ext/mplex/mjpeg_types.h: * gst-libs/ext/mplex/mpastrm_in.cc: * gst-libs/ext/mplex/mpegconsts.cc: * gst-libs/ext/mplex/mpegconsts.h: * gst-libs/ext/mplex/mplexconsts.hh: * gst-libs/ext/mplex/multplex.cc: * gst-libs/ext/mplex/outputstream.hh: * gst-libs/ext/mplex/padstrm.cc: * gst-libs/ext/mplex/padstrm.hh: * gst-libs/ext/mplex/stillsstream.cc: * gst-libs/ext/mplex/stillsstream.hh: * gst-libs/ext/mplex/systems.cc: * gst-libs/ext/mplex/systems.hh: * gst-libs/ext/mplex/vector.cc: * gst-libs/ext/mplex/vector.hh: * gst-libs/ext/mplex/videostrm.hh: * gst-libs/ext/mplex/videostrm_in.cc: * gst-libs/ext/mplex/videostrm_out.cc: * gst-libs/ext/mplex/yuv4mpeg.cc: * gst-libs/ext/mplex/yuv4mpeg.h: * gst-libs/ext/mplex/yuv4mpeg_intern.h: * gst-libs/ext/mplex/yuv4mpeg_ratio.cc: We don't fork mjpegtools' mplex in our CVS anymore. * gst/avi/gstavidemux.c: (gst_avi_demux_src_getcaps), (gst_avi_demux_add_stream): * gst/avi/gstavidemux.h: Add getcaps() function for proper caps nego. This makes some parts of AVI playback/reading work. * sys/ximage/ximagesink.c: (gst_ximagesink_sinkconnect): Resize window on new capsnego. This is probably wrong, but I'm still committing it because with current capsnego, the first successfull capsnego is auto-fixated, therefore rounded down to the lowest values in the caps. this results in a 16x16 XWindow that is not reized when real capsnego finishes. Dave, I see more cases of this, do you know a proper solution? * tools/gst-launch-ext.in: Fix MPEG-4 AAC (Apple iPod/iTunes) file commandline. 2003-12-31 David Schleef * gst/tcp/gsttcpsrc.c: (gst_tcpsrc_get): * gst/udp/gstudpsrc.c: (gst_udpsrc_get): Change gst_pad_proxy_link() to gst_pad_try_set_caps() 2003-12-30 David Schleef * ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_caps_remove_format_info), (gst_ffmpegcsp_getcaps), (gst_ffmpegcsp_pad_link), (gst_ffmpegcsp_init), (gst_ffmpegcsp_chain): Negotiation fixes * ext/mad/gstmad.c: (gst_mad_chain): Negotiation fixes * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain), (gst_audio_convert_link), (gst_audio_convert_channels): * gst/audioscale/gstaudioscale.c: (gst_audioscale_getcaps), (gst_audioscale_link), (gst_audioscale_get_buffer), (gst_audioscale_chain): Negotiation fixes * gst/audioscale/gstaudioscale.h: * gst/videofilter/gstvideofilter.c: (gst_videofilter_format_get_structure), (gst_videofilter_getcaps), (gst_videofilter_link), (gst_videofilter_init), (gst_videofilter_set_output_size), (gst_videofilter_setup), (gst_videofilter_find_format_by_structure): * gst/videofilter/gstvideofilter.h: Negotiation fixes * gst/videoscale/gstvideoscale.c: (gst_videoscale_getcaps), (gst_videoscale_link): * gst/videoscale/videoscale.c: (videoscale_get_structure), (videoscale_find_by_structure), (gst_videoscale_setup): * gst/videoscale/videoscale.h: Negotiation fixes * sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents), (gst_ximagesink_fixate), (gst_ximagesink_init): Add a fixate function, restrict resizing to a multiple of 4 (hack until everyone supports odd sizes correctly). 2003-12-29 Colin Walters * ext/esd/esdsink.c (gst_esdsink_link): Fix typo; get depth instead of signed. 2003-12-30 Jan Schmidt * ext/sndfile/gstsf.c: (gst_sf_loop): Fix warning about discarding const qualifier 2003-12-27 Jeremy Simon * gst/cutter/gstcutter.c: * gst/videoscale/gstvideoscale.c: * gst/volenv/gstvolenv.c: * gst-libs/gst/audio/audio.c: * gst-libs/gst/video/video.c: Fix warnings 2003-12-27 Benjamin Otte * ext/alsa/gstalsa.c: (gst_alsa_open_audio): Don't send ALSA debugging to stderr. * ext/alsa/gstalsa.h: Use GST_WARNING instead of g_warning when ALSA functions fail. 2003-12-27 Benjamin Otte * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support): Free XVAdapterInfo correctly. 2003-12-27 Benjamin Otte * ext/mad/gstid3tag.c: (gst_id3_tag_add_src_pad), (gst_id3_tag_do_caps_nego), (gst_id3_tag_src_link): Make id3tag use correct caps nego. 2003-12-27 Amaury Jacquot * ext/ivorbis/vorbis.c: * ext/ivorbis/vorbisenc.h: * ext/ivorbis/vorbisfile.c: Modify so that it uses the new caps things 2003-12-27 Benjamin Otte * testsuite/spider/spider1.c: (main): * testsuite/spider/spider2.c: (main): * testsuite/spider/spider3.c: (main): Make tests compile again. They probably don't work. 2003-12-24 Colin Walters * sys/oss/gstosssink.c (gst_osssink_sink_fixate): Return NULL if we can't fixate the caps anymore. 2003-12-23 David Schleef * gst/volume/gstvolume.c: (volume_init): Proxy getcaps. * sys/oss/gstosssink.c: (gst_osssink_init), (gst_osssink_sink_fixate): Add fixate function. 2003-12-24 Ronald Bultje * ext/ffmpeg/gstffmpegcodecmap.c: * ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_getcaps), (gst_ffmpegcsp_srcconnect_func), (gst_ffmpegcsp_sinkconnect), (gst_ffmpegcsp_srcconnect), (gst_ffmpegcsp_get_type), (gst_ffmpegcsp_base_init), (gst_ffmpegcsp_class_init), (gst_ffmpegcsp_init), (gst_ffmpegcsp_chain), (gst_ffmpegcsp_change_state), (gst_ffmpegcsp_set_property), (gst_ffmpegcsp_get_property), (gst_ffmpegcsp_register): fix typo in RGB masks, and move back to "old" colorspace capsnego code until whoever wrote this new crap has actually tested it so that it works. And yes, this works, keep it that way please. 2003-12-23 Ronald Bultje * ext/divx/gstdivxdec.c: (gst_divxdec_base_init), (gst_divxdec_init), (gst_divxdec_negotiate): * ext/divx/gstdivxdec.h: * ext/divx/gstdivxenc.c: (gst_divxenc_base_init), (gst_divxenc_init): * ext/faac/gstfaac.c: (gst_faac_base_init), (gst_faac_init), (gst_faac_sinkconnect), (gst_faac_srcconnect): * ext/mpeg2enc/gstmpeg2enc.cc: * ext/mpeg2enc/gstmpeg2encoder.cc: * ext/mpeg2enc/gstmpeg2encpicturereader.cc: * sys/dxr3/dxr3audiosink.c: (dxr3audiosink_base_init), (dxr3audiosink_init), (dxr3audiosink_pcm_sinklink): * sys/dxr3/dxr3spusink.c: (dxr3spusink_base_init), (dxr3spusink_init): * sys/dxr3/dxr3videosink.c: (dxr3videosink_base_init), (dxr3videosink_init): Fix caps breakage after Dave's caps branch merge. 2003-12-23 Ronald Bultje * sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get): Fix for 24bpp display. 2003-12-23 Colin Walters * ext/gnomevfs/gstgnomevfssink.c: Add ARG_HANDLE property that takes a GnomeVFSHandle directly. 2003-12-22 Benjamin Otte * gst/volume/Makefile.am: * gst/volume/gstvolume.c: (volume_connect), (volume_parse_caps), (volume_base_init), (volume_init): Reenable volume element and fix to work with new caps stuff. Rhythmbox needs this. 2003-12-22 Benjamin Otte * gst/qtdemux/qtdemux.c: (plugin_init): qtdemux requires bytestream 2003-12-22 Benjamin Otte * ext/alsa/gstalsa.c: (gst_alsa_get_caps), (gst_alsa_link): Fix remaining caps handling errors due to CAPS merge. 2003-12-22 Benjamin Otte * ext/faad/gstfaad.c: (gst_faad_base_init), (gst_faad_init), (gst_faad_sinkconnect), (gst_faad_srcgetcaps), (gst_faad_srcconnect): Port to new caps system. 2003-12-21 Julien MOUTTE * examples/gstplay/player.c: (got_time_tick), (got_stream_length), (got_video_size), (main): using g_print instead of g_message. * gst-libs/gst/play/gstplay.c: (gst_play_pipeline_setup): Fixing EOS signal which was not emitted because of "switch" element added to the bin but not connected. (Removing from the bin temporarily) 2003-12-21 Julien MOUTTE * configure.ac: X_DISPLAY_MISSING is set to 1 if AC_PATH_XTRA fails to find X development files. I don't understand the previous tests and they fail on my debian/ppc unstable. This one works. * examples/gstplay/player.c: (main): Set the pipeline to READY before exiting. * gst-libs/gst/play/gstplay.c: (gst_play_get_length_callback), (gst_play_set_video_sink), (gst_play_set_audio_sink), (gst_play_set_visualization): Add some safety checks in set_ methods and state_change. This was throwing some ugly CRITICAL messages when pipeline was getting disposed and casts were failing. 2003-12-21 Ronald Bultje * configure.ac: Improve mpeg2enc detection. This is for distributions that do ship mjpegtools, but without mpeg2enc. Also does object check for might there ever be ABI incompatibility. * ext/mpeg2enc/gstmpeg2enc.cc: Add Andrew as second maintainer (he's helping me), and also add an error if no caps was set. This happens if I pull before capsnego and that's something I should solve sometime else. * gst/matroska/matroska-demux.c: (gst_matroska_demux_parse_blockgroup): Fix time parsing. * gst/matroska/matroska-mux.c: (gst_matroska_mux_audio_pad_link), (gst_matroska_mux_track_header): Add caps to templates. * gst/mpegaudioparse/gstmpegaudioparse.c: (mp3_sink_factory): Add mpegversion=1 to prevent confusion with MPEG/AAC. * gst/mpegstream/gstmpegdemux.c: Remove layer since it causes warnings about unfixed caps. * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_get): Fix obvious typo (we error out if caps were set, we should of course error out if *no* caps were set). * sys/oss/gstosselement.c: (gst_osselement_convert): Fix format conversion, we confused bits/bytes. * sys/oss/gstosselement.h: Improve documentation for 'bps'. * sys/v4l/TODO: Remove stuff about plugins that need removing - this was done ages ago. * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_init), (gst_v4lmjpegsrc_src_convert), (gst_v4lmjpegsrc_src_query): * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_init), (gst_v4lsrc_src_convert), (gst_v4lsrc_src_query): * sys/v4l2/gstv4l2src.c: (gst_v4l2src_init), (gst_v4l2src_src_convert), (gst_v4l2src_src_query): Add get_query_types(), get_formats() and query() functions. 2003-12-21 Thomas Vander Stichele * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gst-plugins * moved CVS to freedesktop.org