=== 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