2008-05-14 Jan Schmidt * configure.ac: 0.10.7.3 pre-release 2008-05-13 Edward Hervey * gst/realmedia/rmdemux.c: (gst_rmdemux_parse_video_packet): Properly aggregate GstFlowReturn from downstream in order to properly stop, and doing that as early as possible. Fixes #532807 2008-05-10 Jan Schmidt * configure.ac: 0.10.7.2 pre-release 2008-05-10 Edward Hervey * ext/mad/gstmad.c: (gst_mad_sink_event): * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_sink_event): Always let FLUSH_START events flow downstream. 2008-05-07 Tim-Philipp Müller * configure.ac: Error out if we don't have the required core/base versions. 2008-05-06 Wim Taymans * gst/realmedia/rmdemux.c: (gst_rmdemux_parse_mdpr), (gst_rmdemux_fix_timestamp), (gst_rmdemux_parse_video_packet), (gst_rmdemux_parse_audio_packet), (gst_rmdemux_parse_packet): Fix video timestamps by adjusting it with the first timestamp found. Don't assume we have a complete fragment when flushing the adapter, packets might have been lost or the stream might just be broken. 2008-05-06 Wim Taymans * gst/realmedia/rdtmanager.c: (gst_rdt_manager_plugin_init): Set Rank to NONE so that we don't accidentally try to autoplug the rdtmanager. 2008-05-05 Sebastian Dröge * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_emit_frame): Send a new duration message if the average bitrate changed and we don't know the duration from the Xing or VBRI header. Fixes bug #321857. 2008-04-30 Wim Taymans * gst/realmedia/rtspreal.c: (rtsp_ext_real_before_send), (rtsp_ext_real_parse_sdp), (rtsp_ext_real_stream_select): * gst/realmedia/rtspreal.h: Move assembly rule parsing to the place where we parse the SDP as it's also there that we create the MDPR and we need the currently selected asmrule in order to select the right MTLI. Fixes #529359. 2008-04-29 Michael Smith * gst/realmedia/realhash.c: * gst/realmedia/rtspreal.c: Include generated "_stdint.h" instead of which might not exist on some systems. 2008-04-26 Sebastian Dröge * ext/sidplay/gstsiddec.cc: Cast NULL sentinels to void * as NULL is defined as an integer constant in most environments when using C++ and it's size might be different from a pointer. Fixes #529488. 2008-04-22 Edgard Lima * gst/asfdemux/gstasfdemux.c: * gst/asfdemux/gstrtspwms.c: Fix "unused var" compiler error when --disable-gst-debug is used. 2008-04-17 Tim-Philipp Müller * ext/amrnb/amrnbparse.c: (gst_amrnbparse_loop): We should also stop the streaming task when we get a NOT_LINKED flow return, which is not covered by FLOW_IS_FATAL. 2008-04-11 Julien Moutte * gst/mpegaudioparse/gstxingmux.c: (generate_xing_header): Fix argument formats. 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-04 Sebastian Dröge * configure.ac: * gst/mpegaudioparse/gstmpegaudioparse.c: (mpeg_audio_seek_entry_free): * gst/mpegaudioparse/gstxingmux.c: (gst_xing_seek_entry_free): Depend on GLib 2.12 and use it unconditionally as we do in other modules too already. 2008-04-03 Sebastian Dröge * gst/mpegaudioparse/gstmpegaudioparse.c: (mpeg_audio_seek_entry_new), (mpeg_audio_seek_entry_free), (gst_mp3parse_reset), (gst_mp3parse_emit_frame): * gst/mpegaudioparse/gstxingmux.c: (gst_xing_seek_entry_new), (gst_xing_seek_entry_free), (gst_xing_mux_finalize), (xing_reset), (gst_xing_mux_chain): Use GSlice for allocating the seek table entries if we compile with GLib 2.10 or newer. 2008-04-01 Wim Taymans * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_ext_stream_props): Remove some debug code. 2008-04-01 Wim Taymans * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_ext_stream_props): Guard against division by 0 and fall back to 25/1 framerate. 2008-04-01 Wim Taymans * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_add_video_stream), (gst_asf_demux_process_ext_stream_props): Instead of adding a fixes 25/1 framerate to the video caps, use the average frame duration in the extended properties of the video stream as the framerate. Fixes #524346. 2008-03-21 Sebastian Dröge * configure.ac: Check if the compiler supports do { } while (0) macros. This fixes a warning when compiling with g++ 4.3, resulting in a build failure because of -Werror. 2008-03-19 Wim Taymans * gst/realmedia/asmrules.c: (gst_asm_scan_string), (main): make ) also a delimiter for rules. Skip \\ when scanning strings. Add new testcase for these problems. 2008-03-12 Sebastian Dröge * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_sink_event): Don't take the stream lock when caching events. This is not necessary and results in a deadlock when seeking with rhythmbox (but not with totem or banshee for some reason). 2008-03-10 Wim Taymans Patch by: Pizpot Gargravarr * gst/realmedia/rtspreal.c: (rtsp_ext_real_parse_sdp): Add the version field when creating the CONT chunk resulting in the Author, Comment and Copyright tags not being parsed correctly. Fixes #521459. 2008-03-10 Wim Taymans * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_sink_event), (gst_mp3parse_chain): Remove trailing newlines from debug statements. 2008-03-04 Jan Schmidt * ext/dvdnav/dvdnavsrc.c: * ext/dvdnav/dvdnavsrc.h: Apply patch that adds some seeking support to dvdnav, and fixes it in various other ways. This doesn't make dvdnavsrc fully functional, but moves it forward. Fixes: #476149 Patch By: Simone Gotti * ext/dvdnav/gst-dvd: Update the simple dvdnavsrc gst-launch example to work for 0.10 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-02-27 Sebastian Dröge * ext/mad/gstmad.c: (gst_mad_sink_event): * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_sink_event): Push EOS, FLUSH_STOP and NEWSEGMENT immediately instead of dropping and leaking them. 2008-02-27 Sebastian Dröge * ext/mad/gstmad.c: (gst_mad_dispose), (gst_mad_sink_event), (gst_mad_chain): * ext/mad/gstmad.h: * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_dispose), (gst_mp3parse_sink_event), (gst_mp3parse_emit_frame): * gst/mpegaudioparse/gstmpegaudioparse.h: Cache all events except EOS if we still have to send a NEWSEGMENT event. This will let TAG events be forwarded until after decodebin to an encoder for example as decodebin only links the pads after NEWSEGMENT. Fixes bug #518933. 2008-02-27 Sebastian Dröge * gst/mpegaudioparse/gstxingmux.c: (get_xing_offset): Write Xing header at the correct position in the MP3 frame for stereo files. Fixes bug #518676. 2008-02-23 Tim-Philipp Müller * configure.ac: * ext/sidplay/Makefile.am: Check for and define ERROR_CXXFLAGS and GST_CXXFLAGS and use them when building C++ code (#516509). 2008-02-22 Tim-Philipp Müller * ext/lame/gstlame.c: (gst_lame_sink_setcaps): Fix broken GST_ELEMENT_ERROR macro, fixes compile with the Sun Workshop 12 compiler, but probably also crashes (#517985). 2008-02-22 Sebastian Dröge Patch by: Thiago Sousa Santos * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3_channel_mode_get_type), (mp3_type_frame_length_from_header), (gst_mp3parse_class_init), (gst_mp3parse_reset), (gst_mp3parse_emit_frame), (gst_mp3parse_chain): * gst/mpegaudioparse/gstmpegaudioparse.h: Post channel mode and CRC as tags. Fixes bug #504493. 2008-02-22 Sebastian Dröge * ext/dvdnav/dvdnavsrc.c: (gst_dvd_nav_src_finalize): Correctly chain up to the parent's finalize function. 2008-02-22 Sebastian Dröge * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_emit_frame), (gst_mp3parse_chain): Try a bit harder to get valid timestamps, especially if upstream gives us one and we are at the first frame or resyncing. Return UNEXPECTED if we get a valid timestamp that is outside of our configured segment. After all changes done so far this doesn't seem to cause any regression, please test. 2008-02-22 Sebastian Dröge Patch by: Hans de Goede * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_handle_seek_event): If we don't have the position to seek to in our index first try to convert from TIME to BYTES upstream and only if that fails too use the old hack to simply seek to an earlier position and let the sink drop everything before segment start. Partially fixes bug #469930. 2008-02-21 Jan Schmidt * configure.ac: Back to development... === release 0.10.7 === 2008-02-20 Jan Schmidt * configure.ac: releasing 0.10.7, "I Cheated Time" 2008-02-18 Jan Schmidt * tests/check/Makefile.am: Exclude dvdreadsrc from the states test too. 2008-02-18 Sebastian Dröge * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_emit_frame): Handler buffers without valid timestamp more correctly: Don't drop them and don't use the invalid timestamp to calculate the next timestamp. Fixes bug #516811. 2008-02-18 Sebastian Dröge Patch by: Tal Shalif * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_create), (gst_dvd_read_src_do_seek), (gst_dvd_read_src_do_position_query): Add some gint64 casts to prevent 32 bit integer overflows. Fixes bug #516989. 2008-02-17 Jan Schmidt * gst/mpegaudioparse/gstmpegaudioparse.c: Revert previous commit to mp3parse, as it breaks playback of AVI files. 2008-02-14 Sebastian Dröge * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_emit_frame): Return GST_FLOW_UNEXPECTED if we get data that is after our configured segment. This makes upstream go EOS immediately instead of sending us the complete stream. Also improve debugging a bit. 2008-02-13 Jan Schmidt * ext/dvdread/dvdreadsrc.c: Fix regression in DVD seeking - when a pack we expect to be a NAV block turns out not to be, scan forwards for up to 2MB (at most ~1sec) until we find one. Fixes: #516278 2008-02-12 Sebastien Moutte * win32/vs6/libgstmpegaudioparse.dsp: Add xing files to VS project file. 2008-02-11 Sebastian Dröge * gst/dvdsub/gstdvdsubparse.c: (gst_dvd_sub_parse_init): Stop leaking src pad templates. Fixes bug #515708. 2008-02-11 Sebastian Dröge * gst/mpegaudioparse/gstxingmux.c: (generate_xing_header): Correctly write the size in bytes on big endian systems. Fixes bug #515725. 2008-02-11 Sebastian Dröge * ext/lame/gstlame.c: (gst_lame_setup): Don't leak the allowed caps. * tests/check/pipelines/lame.c: (GST_START_TEST): Stop leaking all buffers. Fixes bug #515575. 2008-02-08 Jan Schmidt * gst/mpegaudioparse/plugin.c: Commit new file I forgot to add. 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 * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-ugly-plugins-docs.sgml: * docs/plugins/gst-plugins-ugly-plugins-sections.txt: * docs/plugins/inspect/plugin-mpegaudioparse.xml: * gst/mpegaudioparse/Makefile.am: * gst/mpegaudioparse/gstmpegaudioparse.c: * gst/mpegaudioparse/gstxingmux.c: * tests/check/Makefile.am: * tests/check/elements/.cvsignore: Move xingmux from -bad. Fixes: #511497 2008-02-07 Sebastien Moutte * gst/mpegaudioparse/gstmpegaudioparse.c:(mp3parse_time_to_bytepos): Use gst_guint64_to_gdouble for conversion * win32/vs6/libgstasfdemux.dsp: * win32/vs6/libgstdvdsub.dsp: * win32/vs6/libgstrealmedia.dsp: Update project dependencies and add new source files 2008-02-04 Zaheer Abbas Merali * ext/mpeg2dec/gstmpeg2dec.c: Reset decoder when handling sequence where libmpeg2 has set frame period to 0, probably due to a corrupt packet. Fixes bug #514297 2008-01-29 Sebastian Dröge * gst/mpegaudioparse/gstmpegaudioparse.c: (mp3_caps_create), (gst_mp3parse_chain): Don't set new caps on the srcpad everytime the bitrate or MPEG version changes but calculate new spf value when the MPEG version changes. 2008-01-21 Stefan Kost * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-ugly-plugins-docs.sgml: * docs/plugins/gst-plugins-ugly-plugins-sections.txt: Add the real and rtsp elements and update the lists. * docs/plugins/inspect/plugin-amrnb.xml: * docs/plugins/inspect/plugin-asf.xml: * docs/plugins/inspect/plugin-dvdlpcmdec.xml: * docs/plugins/inspect/plugin-dvdsub.xml: * docs/plugins/inspect/plugin-mpegaudioparse.xml: * docs/plugins/inspect/plugin-mpegstream.xml: * docs/plugins/inspect/plugin-realmedia.xml: * docs/plugins/inspect/plugin-siddec.xml: * docs/plugins/inspect/plugin-synaesthesia.xml: Regenerate docs. * gst/iec958/ac3_padder.c: * gst/iec958/ac3_padder.h: Do not use gtk-doc style comments for non gtk-doc comments. Note - there are functions defined using extern in the .c file - does that make sense? 2008-01-21 Stefan Kost * ext/mad/gstmad.c: Chain up at the end of the function. 2008-01-19 Sebastian Dröge * ext/mad/gstid3tag.c: (gst_id3_tag_class_init): Don't add pad templates for the base class but only in the subclasses. 2008-01-17 Zaheer Abbas Merali * ext/lame/gstlame.c: * ext/lame/gstlame.h: Fix the case where you initially have stereo input, and so lame's mode is not set to mono, and then you get input with mono audio and soon after you get stereo input again. What happened before this commit is that it would keep the encoding mode as mono. It should change it back to the one requested by the app (or the default one) if not requested. 2008-01-15 Sebastian Dröge * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_handle_first_frame), (mp3parse_time_to_bytepos), (mp3parse_bytepos_to_time): Interpolate the VBRI seek table entries to get better results, support 3 byte seek table entries and prevent overflows in the seek table by adding the relative offsets when using the seek table in a large enough data type. 2008-01-14 Sebastian Dröge * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_reset), (gst_mp3parse_handle_first_frame), (mp3parse_time_to_bytepos), (mp3parse_bytepos_to_time): * gst/mpegaudioparse/gstmpegaudioparse.h: Add support for seeking based on the VBRI seek table. Might make sense to use interpolation in the table later to get hopefully a bit more accurate values. 2008-01-14 Wim Taymans * ext/mpeg2dec/gstmpeg2dec.c: (clear_queued), (flush_queued), (handle_picture), (handle_slice): Fix compilation error. Fixes #509313. 2008-01-14 Sebastian Dröge * ext/lame/gstlame.c: (gst_lame_sink_event): Use gst_util_uint64_scale instead of gst_util_uint64_scale_int as 8 * GST_SECOND is too large for int. 2008-01-14 Sebastian Dröge * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_reset), (gst_mp3parse_emit_frame), (gst_mp3parse_handle_first_frame), (mp3parse_total_bytes), (mp3parse_total_time): * gst/mpegaudioparse/gstmpegaudioparse.h: Add initial support for reading VBRI headers as found in VBR files created by some Fraunhofer encoders. Currently we only read the number of frames and bytes (and calculate duration, etc from this) but there is also a seek table that we currently don't use. 2008-01-14 Sebastian Dröge Patch by: Mark Nauwelaerts * ext/lame/gstlame.c: (gst_lame_sink_setcaps), (gst_lame_sink_event): Correctly set number of channels when using mono-encoding mode and fix the duration calculation of the EOS buffer. 2008-01-14 Sebastian Dröge * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_handle_first_frame): Guard against 0 values in the Xing header as frame count and byte count and calculate the bitrate when we have all values we need and not before. 2008-01-10 Tim-Philipp Müller * ext/mad/gstmad.c: (GST_TYPE_MAD_MODE), (GST_TYPE_MAD_EMPHASIS), (GST_TAG_EMPHASIS), (CHECK_HEADER): Call g_type_class_ref() from a thread-safe context and not from the streaming thread to avoid GLib screwing up (see bug #349410 and #493432). Comment out unused code. 2008-01-10 Wim Taymans * ext/mpeg2dec/gstmpeg2dec.c: (clear_queued), (flush_queued), (handle_picture), (clip_buffer), (handle_slice), (gst_mpeg2dec_chain), (gst_mpeg2dec_sink_event), (gst_mpeg2dec_change_state): * ext/mpeg2dec/gstmpeg2dec.h: Add buffer clipping. Add basic reverse playback support. Not complete yet when dealing with non-closed GOPs. 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-09 Stefan Kost * Makefile.am: Include lcov.mak to allow building coverage reports. 2008-01-08 Sebastian Dröge * ext/mad/gstmad.c: (mpg123_parse_xing_header): * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_handle_first_frame): Make sure that the Xing TOC starts with 0 and the entries are increasing over time. Otherwise it's broken and should be skipped. Fixes bug #507821. 2008-01-08 Tim-Philipp Müller * gst/asfdemux/gstasfdemux.c: (asfdemux_dbg), (gst_asf_demux_reset), (gst_asf_demux_add_video_stream), (gst_asf_demux_process_ext_content_desc), (gst_asf_demux_get_metadata_for_stream), (gst_asf_demux_process_metadata), (gst_asf_demux_process_object), (gst_asf_demux_change_state): * gst/asfdemux/gstasfdemux.h: Parse metadata object and extract pixel aspect ratio. Fixes #507844. 2007-12-31 David Schleef * docs/plugins/.cvsignore: Add *-undeclared.txt 2007-12-21 Wim Taymans * gst/realmedia/rdtmanager.c: (gst_rdt_manager_marshal_VOID__UINT_UINT), (gst_rdt_manager_class_init): * gst/realmedia/rdtmanager.h: Implement some more signals that rtspsrc connects to. Fixes #504671. 2007-12-18 Tim-Philipp Müller * Makefile.am: Include common/win32.mak for CRLF check of win32 project files (see #393626). 2007-12-13 Sebastian Dröge * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_sink_event), (mp3parse_handle_seek): Don't post SEGMENT_START messages on the bus, only the element driving the pipeline should do that. 2007-12-09 Sebastian Dröge * configure.ac: Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181. 2007-12-03 Wim Taymans * ext/mpeg2dec/gstmpeg2dec.h: Use G_GINT64_CONSTANT, fixes compilation with MSVC 6.0. Fixes #500808. 2007-11-20 Julien MOUTTE * gst/realmedia/rtspreal.c: (rtsp_ext_real_parse_sdp): Fix build on Mac OS X. 2007-11-19 Jan Schmidt * gst/mpegaudioparse/gstmpegaudioparse.c: Restore the segment handling logic. Please don't do behavioural changes under the heading of 'leak fixes' or 'whitespace changes', people. 2007-11-19 Stefan Kost * gst/mpegaudioparse/gstmpegaudioparse.c: Plug some leaks. 2007-11-13 Stefan Kost * gst/asfdemux/gstasfdemux.c: Sync _activate_pull() a little more with other demuxers. 2007-11-11 Thijs Vermeir * gst/mpegstream/gstmpegdemux.c: recognize the padding stream 2007-10-31 Tim-Philipp Müller * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_ext_content_desc): Convert tags that come as string into the type required by GstTagList. 2007-10-30 Wim Taymans * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_emit_frame): Remove some more broken code, it seems to clip even when it should not. See #491305. 2007-10-30 Wim Taymans * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_emit_frame): When the element is not driving the streaming thread it is not supposed to emit EOS or post SEGMENT done. It is allowed to return UNEXPECTED upstream when it detects EOS. See #491305. 2007-10-13 Tim-Philipp Müller Patch by: Mark Nauwelaerts * gst/dvdsub/Makefile.am: * gst/dvdsub/gstdvdsubdec.c: * gst/dvdsub/gstdvdsubparse.c: * gst/dvdsub/gstdvdsubparse.h: Add dvd subtitle parser, which just packetizes the input stream. This is needed to mux dvd subtitles into matroska files, since the muxer expects unfragmented and properly timestamped input (#415754). 2007-10-10 Tim-Philipp Müller * configure.ac: Update requirements from past CVS versions to released versions (0.10.14 in this case). * ext/sidplay/gstsiddec.cc: Fix compilation with g++-4.2. 2007-10-08 Jan Schmidt * gst/realmedia/asmrules.c: (gst_asm_scan_parse_expression), (gst_asm_scan_parse_condition): * gst/realmedia/rmdemux.c: (gst_rmdemux_parse_video_packet): Fix some compiler warnings shown on Forte. 2007-09-29 Sebastien Moutte * gst/mpegaudioparse/gstmpegaudioparse.c: (mp3parse_time_to_bytepos), (mp3parse_bytepos_to_time): Use gst_util_guint64_to_gdouble for conversions. * win32/vs6/libgstmad.dsp: Add a link to libgstaudio. 2007-09-26 Tim-Philipp Müller * ext/lame/gstlame.c: Fix up case where there is no peer, in which case _get_allowed_caps() will return NULL. 2007-09-25 Tim-Philipp Müller * ext/lame/gstlame.c: Use GST_PTR_FORMAT to print caps in debug statement. 2007-09-25 Sebastian Dröge * configure.ac: Use AG_GST_ARG_WITH_PLUGINS, AG_GST_ARG_ENABLE_EXTERNAL and AG_GST_ARG_ENABLE_EXPERIMENTAL instead of duplicating those macros in configure.ac. 2007-09-24 Thomas Vander Stichele * ext/lame/gstlame.c: Allow fixing the sample rate lame converts to by negotiating fixed sample rate on the src pad caps. Add docs for it. * tests/check/Makefile.am: * tests/check/pipelines/lame.c: Add a check for it. 2007-09-22 Thomas Vander Stichele * po/LINGUAS: * po/da.po: Updated translations. 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: Alexander Shopov * po/bg.po: Added Bulgarian translation. 2007-09-20 Stefan Kost * gst/iec958/ac3iec.c: Chainup in finalize. * tests/check/Makefile.am: * 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-08 Tim-Philipp Müller * configure.ac: Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for a define in the lame headers. This has the advantage that it should still work when we're cross-compiling (#452025). 2007-08-24 Jan Schmidt * gst/dvdlpcmdec/gstdvdlpcmdec.c: Add other allowed rates to the pad templates. * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_dispose): Reset the parser to release memory in dispose. 2007-08-17 Stefan Kost * ext/amrnb/amrnbdec.c: * ext/amrnb/amrnbenc.c: * ext/amrnb/amrnbparse.c: * ext/sidplay/gstsiddec.cc: Fix more leaks. 2007-08-16 Wim Taymans Patch by: Daniel Charles * ext/amrnb/amrnbenc.c: (gst_amrnbenc_bandmode_get_type), (gst_amrnbenc_set_property), (gst_amrnbenc_get_property), (gst_amrnbenc_base_init), (gst_amrnbenc_class_init), (gst_amrnbenc_chain), (gst_amrnbenc_state_change): * ext/amrnb/amrnbenc.h: Add property to select the BandMode of the AMR encoder. See #466442. 2007-08-16 Stefan Kost * gst/realmedia/asmrules.c: Make ro memory to share. 2007-08-16 Wim Taymans * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_sink_event), (gst_mp3parse_emit_frame): * gst/mpegaudioparse/gstmpegaudioparse.h: Queue segment event and push it after we know the caps on the pad or else an autoplugger might not have plugged the element yet and the segment is lost. 2007-08-16 Stefan Kost * gst/iec958/ac3iec.c: Fix tests. 2007-08-16 Stefan Kost * tests/check/Makefile.am: * tests/check/generic/.cvsignore: * tests/check/generic/states.c: Add generic state-change test suite to help to fi leaks. 2007-08-09 Thomas Vander Stichele translated by: Raphael Higino * po/LINGUAS: * po/pt_BR.po: Added Portuguese (Brazilian) translation. 2007-08-09 Thomas Vander Stichele * po/hu.po: * po/nl.po: * po/sv.po: * po/uk.po: Updated translations. 2007-08-07 Wim Taymans * gst/realmedia/rmdemux.c: (gst_rmdemux_fix_timestamp), (gst_rmdemux_parse_video_packet): Activate timestamp fixing code. 2007-08-07 Wim Taymans * gst/realmedia/rmdemux.c: (gst_rmdemux_reset), (gst_rmdemux_chain), (gst_rmdemux_parse_mdpr), (gst_rmdemux_fix_timestamp), (gst_rmdemux_parse_video_packet), (gst_rmdemux_parse_audio_packet), (gst_rmdemux_parse_packet): Do fragment collection in the demuxer so that we can now work with both ffmpeg and realvideodec to decoder real video content. 2007-08-04 Stefan Kost * gst/realmedia/asmrules.c: Include stdlib.h. 2007-08-03 Wim Taymans * gst/realmedia/rdtmanager.c: Fix caps. 2007-08-03 Wim Taymans * gst/realmedia/rtspreal.c: (rtsp_ext_real_get_transports), (rtsp_ext_real_parse_sdp), (rtsp_ext_real_stream_select): Disable UDP transport for now. 2007-08-03 Wim Taymans * gst/realmedia/Makefile.am: * gst/realmedia/rdtmanager.c: (find_session_by_id), (create_session), (free_session), (gst_rdt_manager_base_init), (gst_rdt_manager_marshal_BOXED__UINT_UINT), (gst_rdt_manager_class_init), (gst_rdt_manager_init), (gst_rdt_manager_finalize), (gst_rdt_manager_query_src), (gst_rdt_manager_chain_rtp), (gst_rdt_manager_chain_rtcp), (gst_rdt_manager_set_property), (gst_rdt_manager_get_property), (gst_rdt_manager_provide_clock), (gst_rdt_manager_change_state), (create_recv_rtp), (create_recv_rtcp), (create_rtcp), (gst_rdt_manager_request_new_pad), (gst_rdt_manager_release_pad), (gst_rdt_manager_plugin_init): * gst/realmedia/rdtmanager.h: * gst/realmedia/rmdemux.c: (plugin_init): Add simple rdt manager. 2007-08-03 Wim Taymans * gst/realmedia/rdtdepay.c: Fix the encoding-name so that it matches what the rtsp extension sets. 2007-08-02 Wim Taymans * gst/realmedia/asmrules.c: (gst_asm_node_free), (gst_asm_node_evaluate), (gst_asm_scan_new), (gst_asm_scan_free), (gst_asm_scan_string), (gst_asm_scan_number), (gst_asm_scan_identifier), (gst_asm_scan_print_token), (gst_asm_scan_next_token), (gst_asm_rule_free), (gst_asm_rule_add_property), (gst_asm_scan_parse_operand), (gst_asm_scan_parse_expression), (gst_asm_scan_parse_condition), (gst_asm_scan_parse_property), (gst_asm_scan_parse_rule), (gst_asm_rule_evaluate), (gst_asm_rule_book_new), (gst_asm_rule_book_n_rules), (gst_asm_rule_book_free), (gst_asm_rule_book_match), (main): * gst/realmedia/rtspreal.c: (rtsp_ext_real_parse_sdp), (rtsp_ext_real_stream_select), (gst_rtsp_real_plugin_init): Use g_hash_table_destroy instead of _unref which is too new. 2007-08-02 Wim Taymans * gst/realmedia/.cvsignore: Add test to ignore. * gst/realmedia/Makefile.am: * gst/realmedia/asmrules.c: (gst_asm_node_new), (gst_asm_node_free), (gst_asm_operator_eval), (gst_asm_node_evaluate), (gst_asm_scan_new), (gst_asm_scan_free), (gst_asm_scan_string), (gst_asm_scan_number), (gst_asm_scan_identifier), (gst_asm_scan_print_token), (gst_asm_scan_next_token), (gst_asm_rule_new), (gst_asm_rule_free), (gst_asm_rule_add_property), (gst_asm_scan_parse_operand), (gst_asm_scan_parse_expression), (gst_asm_scan_parse_condition), (gst_asm_scan_parse_property), (gst_asm_scan_parse_rule), (gst_asm_rule_evaluate), (gst_asm_rule_book_new), (gst_asm_rule_book_n_rules), (gst_asm_rule_book_free), (gst_asm_rule_book_match), (main): * gst/realmedia/asmrules.h: Added asembler rule book parser and evaluator. * gst/realmedia/rtspreal.c: (rtsp_ext_real_parse_sdp), (rtsp_ext_real_stream_select), (gst_rtsp_real_plugin_init): * gst/realmedia/rtspreal.h: Keep per stream config info. Parse and evaluate asm rule books for stream selection. 2007-07-31 Stefan Kost * gst/realmedia/rtspreal.c: Include stdlib. 2007-07-27 Wim Taymans * gst/realmedia/Makefile.am: * gst/realmedia/realhash.c: (hash), (call_hash), (gst_rtsp_ext_real_calc_response_and_checksum): * gst/realmedia/realhash.h: * gst/realmedia/rtspreal.c: (rtsp_ext_real_get_transports), (rtsp_ext_real_after_send), (rtsp_ext_real_stream_select): Split out hash code in separate file. 2007-07-27 Wim Taymans * gst/asfdemux/Makefile.am: * gst/asfdemux/gstrtspwms.c: (gst_rtsp_wms_parse_sdp), (_do_init), (gst_rtsp_wms_class_init): * gst/realmedia/Makefile.am: * gst/realmedia/rtspreal.c: (rtsp_ext_real_get_transports), (rtsp_ext_real_before_send), (rtsp_ext_real_after_send), (rtsp_ext_real_parse_sdp), (rtsp_ext_real_stream_select), (_do_init), (gst_rtsp_real_class_init): Fix include paths and link dependecies for rtsp extension. 2007-07-26 Wim Taymans * gst/realmedia/Makefile.am: * gst/realmedia/rmdemux.c: (plugin_init): * gst/realmedia/rtspreal.c: (rtsp_ext_real_get_transports), (rtsp_ext_real_before_send), (rtsp_ext_real_after_send), (hash), (call_hash), (rtsp_ext_real_calc_response_and_checksum), (rtsp_ext_real_parse_sdp), (rtsp_ext_real_stream_select), (_do_init), (gst_rtsp_real_base_init), (gst_rtsp_real_class_init), (gst_rtsp_real_init), (gst_rtsp_real_finalize), (gst_rtsp_real_change_state), (gst_rtsp_real_extension_init), (gst_rtsp_real_plugin_init): * gst/realmedia/rtspreal.h: Add RealMedia RTSP extension module. It has rank NONE until it is fully functional. 2007-07-25 Wim Taymans * gst/asfdemux/Makefile.am: * gst/asfdemux/gstasf.c: (plugin_init): * gst/asfdemux/gstrtspwms.c: (gst_rtsp_wms_before_send), (gst_rtsp_wms_after_send), (gst_rtsp_wms_parse_sdp), (gst_rtsp_wms_configure_stream), (_do_init), (gst_rtsp_wms_base_init), (gst_rtsp_wms_class_init), (gst_rtsp_wms_init), (gst_rtsp_wms_finalize), (gst_rtsp_wms_change_state), (gst_rtsp_wms_extension_init): * gst/asfdemux/gstrtspwms.h: Move WMS RTSP extension from -good to here. Port it to the new pluggable extension interface. 2007-07-24 Stefan Kost * ext/mad/Makefile.am: Link to audio helper from plugins-base. 2007-07-24 Sebastian Dröge * configure.ac: * ext/mad/gstmad.c: (gst_mad_chain): Use the new buffer clipping function from gstaudio here and require gst-plugins-base CVS. 2007-07-23 Stefan Kost * configure.ac: Sync liboil check with plugins-base. Add libm check. * gst/synaesthesia/Makefile.am: Link against libm. We're using sqrt here. 2007-07-20 Stefan Kost * gst/asfdemux/gstasfdemux.c: Include stdlib. 2007-07-18 Sebastian Dröge * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_reset), (gst_mp3parse_emit_frame), (mp3parse_handle_seek): * gst/mpegaudioparse/gstmpegaudioparse.h: Save some memory for each frame by only saving the start timestamp and start byte position instead of additionally the stop timestamp and stop byte position. This requires us to use a doubly-linked list but still saves 8-12 bytes per frame. 2007-07-16 Sebastian Dröge * ext/mad/gstmad.c: (clip_outgoing_buffer): Fix buffer clipping to correctly clip to the segment stop. 2007-07-15 Jan Schmidt * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_emit_frame): Fix a calculation that was causing mp3parse to drop every incoming frame when upstream delivered a segment in TIME format, breaking playback of all mpeg system streams. 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 and we weren't actually _using_ the information for libcheck ourselves anyway. 2007-07-13 Sebastian Dröge * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_reset), (gst_mp3parse_init), (gst_mp3parse_dispose), (gst_mp3parse_sink_event), (mp3parse_seek_table_last_entry), (gst_mp3parse_emit_frame), (gst_mp3parse_chain), (mp3parse_handle_seek), (mp3parse_src_query): * gst/mpegaudioparse/gstmpegaudioparse.h: Implement accurate seeking in mpegaudioparse. Fixes #308312. Also implement segment seeks. 2007-07-13 Sebastian Dröge * ext/mad/gstmad.c: (_do_init), (gst_mad_init), (index_seek), (normal_seek), (gst_mad_sink_event), (clip_outgoing_buffer), (gst_mad_chain), (gst_mad_change_state): * ext/mad/gstmad.h: Implement buffer clipping and use GST_BOILERPLATE instead of manual GType magic. Part one of bug #308312. 2007-07-12 Stefan Kost * configure.ac: Use pkg-config to locate check. 2007-07-12 Tim-Philipp Müller * configure.ac: * ext/mpeg2dec/gstmpeg2dec.c: (crop_buffer): * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_descramble_buffer): * gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_chain_raw): Fix build against core CVS by not using deprecated API. Bump requirements for new API (overdue anyway). 2007-07-09 Stefan Kost * REQUIREMENTS: Also add amr-libs here and update a little. 2007-07-06 Tim-Philipp Müller * docs/plugins/inspect/plugin-dvdnav.xml: * docs/plugins/inspect/plugin-realmedia.xml: * docs/plugins/inspect/plugin-synaesthesia.xml: Add inspect file for synaesthesia so the docs can be built even if the plugin isn't built yet. Fixes #454311. Also add inspect files for dvdnavsrc and realmedia. 2007-07-05 Stefan Kost * docs/plugins/Makefile.am: Simplify --extra-dir as gtkdoc scans recursively. 2007-07-03 Stefan Kost * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-ugly-plugins-docs.sgml: * docs/plugins/gst-plugins-ugly-plugins-sections.txt: * gst/synaesthesia/Makefile.am: * gst/synaesthesia/gstsynaesthesia.c: * gst/synaesthesia/gstsynaesthesia.h: And yet more docs enabled. 2007-07-03 Stefan Kost * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-ugly-plugins-docs.sgml: * docs/plugins/gst-plugins-ugly-plugins-sections.txt: * docs/plugins/inspect/plugin-a52dec.xml: * docs/plugins/inspect/plugin-amrnb.xml: * docs/plugins/inspect/plugin-asf.xml: * docs/plugins/inspect/plugin-dvdlpcmdec.xml: * docs/plugins/inspect/plugin-dvdsub.xml: * docs/plugins/inspect/plugin-iec958.xml: * docs/plugins/inspect/plugin-lame.xml: * docs/plugins/inspect/plugin-mad.xml: * docs/plugins/inspect/plugin-mpeg2dec.xml: * docs/plugins/inspect/plugin-mpegaudioparse.xml: * docs/plugins/inspect/plugin-mpegstream.xml: Add new docs. Scan c++ files too. * ext/amrnb/amrnbdec.c: (gst_amrnbdec_base_init), (gst_amrnbdec_event): * ext/amrnb/amrnbenc.c: (gst_amrnbenc_base_init): * ext/amrnb/amrnbparse.c: (gst_amrnbparse_base_init), (gst_amrnbparse_loop): Add documentation headers. * ext/mad/gstmad.c: * ext/mad/gstmad.h: Refactor for docs. 2007-07-01 Sebastian Dröge * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_base_init), (gst_mp3parse_init): Use GST_BOILERPLATE instead of manual GType magic. * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_handle_first_frame), (mp3parse_time_to_bytepos), (mp3parse_bytepos_to_time): * gst/mpegaudioparse/gstmpegaudioparse.h: Implement seeking, byte->time, time->byte conversions with the Xing seek table if available. This allows better at least a bit more accurate seeks and file position reporting. 2007-06-28 Sebastian Dröge * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_handle_first_frame): Copy the complete Xing seek table in the 100 byte array instead of copying the first byte 100 times. * gst/mpegaudioparse/gstmpegaudioparse.c: (mp3parse_total_bytes), (mp3parse_total_time), (mp3parse_time_to_bytepos): Add seeking support based on the Xing header but comment it out for now as it seems to yield worse result than the other method. Also use gst_pad_query_peer_duration() instead of getting the peer pad ourself, creating a new GstQuery, etc. 2007-06-25 Stefan Kost * docs/plugins/gst-plugins-ugly-plugins.args: * docs/plugins/inspect/plugin-a52dec.xml: * docs/plugins/inspect/plugin-amrnb.xml: * docs/plugins/inspect/plugin-asf.xml: * docs/plugins/inspect/plugin-dvdlpcmdec.xml: * docs/plugins/inspect/plugin-dvdread.xml: * docs/plugins/inspect/plugin-dvdsub.xml: * docs/plugins/inspect/plugin-iec958.xml: * docs/plugins/inspect/plugin-lame.xml: * docs/plugins/inspect/plugin-mad.xml: * docs/plugins/inspect/plugin-mpeg2dec.xml: * docs/plugins/inspect/plugin-mpegaudioparse.xml: * docs/plugins/inspect/plugin-mpegstream.xml: Update docs with caps info. 2007-06-25 Tim-Philipp Müller * po/POTFILES.in: Make sure dvdnav strings get translated too (no reason not to have them in the .po file, even if the plugin is disabled for now). Fixes #450879. 2007-06-20 Stefan Kost * ext/amrnb/amrnbdec.c: (gst_amrnbdec_base_init), (gst_amrnbdec_event), (gst_amrnbdec_chain), (gst_amrnbdec_state_change): * ext/amrnb/amrnbdec.h: * ext/amrnb/amrnbparse.c: (gst_amrnbparse_base_init), (gst_amrnbparse_loop): Add newsegment and discont handling. Some code cleanups. 2007-06-25 David Schleef * ext/dvdread/dvdreadsrc.c: check for an error from DVDReadBlocks() correctly. 2007-06-25 David Schleef * ext/dvdread/dvdreadsrc.c: If we can't read a nav packet, or it doesn't look like a nav packet, that's an error. Previous behavior was to look at the next packet; I can't find any justification for doing that. Fixes: #358891. 2007-06-24 Thomas Vander Stichele * po/it.po: Updated Italian translation. 2007-06-23 Thomas Vander Stichele * po/vi.po: Updated Vietnames translation. 2007-06-23 Thomas Vander Stichele contributed by: Wenzheng Hu * po/LINGUAS: * po/zh_CN.po: Added Chinese (simplified) translation. 2007-06-22 Jan Schmidt * MAINTAINERS: Updating all the maintainers files 2007-06-22 Edward Hervey * ext/amrnb/amrnbdec.c: (gst_amrnbdec_init): * gst/ac3parse/gstac3parse.c: (gst_ac3parse_init): * gst/asfdemux/gstasfmux.c: (gst_asfmux_init): * gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_init): * gst/dvdsub/gstdvdsubdec.c: (gst_dvd_sub_dec_init): * gst/iec958/ac3iec.c: (ac3iec_init): * gst/mpegstream/gstrfc2250enc.c: (gst_rfc2250_enc_init): Fix leaks some more. 2007-06-21 Edward Hervey * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_init): "She's leaking me", said valgrind. 2007-06-19 Jan Schmidt * gst/mpegaudioparse/gstmpegaudioparse.c: (mp3_caps_create): Fix "pad caps are not a real subset of its template caps" warning. 2007-06-19 Wim Taymans Patch by: Laurent Glayal * ext/amrnb/amrnbdec.c: (gst_amrnbdec_class_init), (gst_amrnbdec_finalize): Don't leak the adapter, unref it in a new finalize method instead. Fixes #448782. 2007-06-19 Jan Schmidt * configure.ac: Back to CVS * gst-plugins-ugly.doap: Add 0.10.6 to the list of releases. === release 0.10.6 === 2007-06-19 Jan Schmidt * configure.ac: releasing 0.10.6, "The Sacrifice" 2007-06-15 Jan Schmidt * win32/vs6/gst_plugins_ugly.dsw: * win32/vs6/libgstac3parse.dsp: * win32/vs6/libgstasfdemux.dsp: * win32/vs6/libgstdvdlpcmdec.dsp: * win32/vs6/libgstdvdsub.dsp: * win32/vs6/libgstiec958.dsp: * win32/vs6/libgstlame.dsp: * win32/vs6/libgstmad.dsp: * win32/vs6/libgstmpegaudioparse.dsp: * win32/vs6/libgstmpegstream.dsp: * win32/vs6/libgstrealmedia.dsp: * win32/vs6/libgstsynaesthesia.dsp: Convert line endings to CRLF and mark as binary files. 2007-06-13 Tim-Philipp Müller * ext/dvdnav/dvdnavsrc.c: (gst_dvd_nav_src_set_property): Don't forget to unlock when setting the device property, or we'll sooner or later deadlock. 2007-06-12 Sebastien Moutte * gst/dvdsub/gstdvdsubdec.c:(gst_dvd_sub_dec_parse_subpic): Use gst_util_guint64_to_gdouble for conversion. * win32/vs6/libgstasfdemux.dsp: Add asfpacket.c to the build. 2007-06-08 Jan Schmidt * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_reset), (gst_mp3parse_emit_frame), (gst_mp3parse_handle_first_frame): * gst/mpegaudioparse/gstmpegaudioparse.h: If the Xing header provides a total time, use it to calculate the correct average bitrate immediately, instead of sending updates as we parse the stream. 2007-06-05 Sebastian Dröge Patch by by: Mark Nauwelaerts * gst/dvdsub/gstdvdsubdec.c: (gst_dvd_sub_dec_parse_subpic): Use GstClockTime instead of guint for a time variable to prevent overflows on too large subtitle durations. Fixes #444514. 2007-05-31 Tim-Philipp Müller Patch by: Mark Nauwelaerts * gst/dvdsub/gstdvdsubdec.c: (gst_dvd_sub_dec_sink_event): Clear state when handling the serialized FLUSH_STOP event instead of the FLUSH_START event, thereby making sure we don't free buffers the chain function is still using. Fixes dvdsubdec crashing when flusing or seeking (#442706). 2007-05-23 Tim-Philipp Müller * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_chain): Initialise variable to make fc4 build bot happy. 2007-05-21 Tim-Philipp Müller * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_send_subbuffer): Add sanity check so we don't abort for broken or non-MPEG streams, but instead error out. Fixes crashes/aborts for when our typefinder wrongly identifies quicktime files as mpeg (which should be fixed in -base now too). (#440120). 2007-05-18 Stefan Kost * ext/amrnb/amrnbdec.c (gst_amrnbdec_debug, GST_CAT_DEFAULT, block_size, _do_init, gst_amrnbdec_base_init, gst_amrnbdec_class_init, gst_amrnbdec_init): * ext/amrnb/amrnbenc.c (gst_amrnbenc_debug, GST_CAT_DEFAULT, _do_init, gst_amrnbenc_base_init, gst_amrnbenc_class_init, gst_amrnbenc_init): * ext/amrnb/amrnbparse.c (gst_amrnbparse_debug, GST_CAT_DEFAULT, block_size, _do_init, gst_amrnbparse_base_init, gst_amrnbparse_class_init, gst_amrnbparse_init): First round of cleanups, that use GST_BOILERPLATE, GST_ELEMENT_DETAILS, GST_DEBUG_FUNCPTR and add log-category. 2007-05-18 Jan Schmidt * gst/mpegaudioparse/gstmpegaudioparse.c: (mp3_type_frame_length_from_header), (gst_mp3parse_reset), (gst_mp3parse_emit_frame), (gst_mp3parse_handle_first_frame), (gst_mp3parse_chain), (mp3parse_total_bytes), (mp3parse_total_time): * gst/mpegaudioparse/gstmpegaudioparse.h: Implement parsing of Xing headers from the first frame of the stream, and use it to report duration correctly where possible. 2007-05-16 Tim-Philipp Müller * gst/realmedia/rmdemux.c: (gst_rmdemux_descramble_cook_audio): After descrambling, push the packets out as individual packets instead of one big descrambled buffer. Makes cook audio decoding work with the 'realaudiodec' decoder from gst-plugins-bad. 2007-05-16 Tim-Philipp Müller * gst/realmedia/rmdemux.c: (gst_rmdemux_init), (gst_rmdemux_sink_event), (gst_rmdemux_perform_seek), (gst_rmdemux_reset), (gst_rmdemux_chain), (gst_rmdemux_add_stream), (gst_rmdemux_parse_packet): * gst/realmedia/rmdemux.h: Remember first timestamp encountered in stream and re-timestamp stream to start from zero (fixes #397219); only send one newsegment event, not two; when seeking, send newsegment events from the streaming thread and not from the seeking thread. 2007-05-16 Tim-Philipp Müller Based on patch by: Mark Nauwelaerts * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_process_event): * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_class_init), (gst_mpeg_demux_process_event), (gst_mpeg_streams_reset_last_flow): * gst/mpegstream/gstmpegdemux.h: Reset last_flow values for the various streams after a flushing seek, otherwise we might aggregate wrong flow returns afterwards that will make upstream pause silently. This should fix seeking in DVDs and also fix the Thoggen cropping dialog (#438610). 2007-05-07 Tim-Philipp Müller * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_reset), (gst_asf_demux_chain_headers), (gst_asf_demux_parse_data_object_start), (all_streams_prerolled), (gst_asf_demux_have_mutually_exclusive_active_stream), (gst_asf_demux_check_activate_streams), (gst_asf_demux_find_stream_with_complete_payload), (gst_asf_demux_push_complete_payloads), (gst_asf_demux_loop), (gst_asf_demux_activate_ext_props_streams), (gst_asf_demux_process_object): * gst/asfdemux/gstasfdemux.h: Activate streams (ie. add the pads to the element) depending on whether we actually get data for those streams within the ASF preroll value specified. Currently only done in pull-mode though (this will fix problems with playbin hanging on mms streams once we use this in push-mode as well). 2007-05-04 Tim-Philipp Müller * gst/asfdemux/asfpacket.c: (gst_asf_payload_queue_for_stream): * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_reset), (gst_asf_demux_init), (gst_asf_demux_push_complete_payloads), (gst_asf_demux_process_file): * gst/asfdemux/gstasfdemux.h: Make all timestamps start from zero in pull-mode too; some small clean-ups and FIXMEs here and there. 2007-05-01 Tim-Philipp Müller * gst/asfdemux/asfpacket.c: (gst_asf_demux_parse_payload), (gst_asf_demux_parse_packet): If packet size is specified within the packet and smaller than the actual packet size, don't parse beyond the size specified in the packet (this makes us parse some cases of packets with single compressed payloads cleanly, see e.g stream from #431318). Also add a sanity check when parsing compressed single payloads. 2007-05-01 Tim-Philipp Müller * gst/asfdemux/asfpacket.c: (gst_asf_payload_queue_for_stream): * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_seek_index_lookup), (gst_asf_demux_handle_seek_event), (gst_asf_demux_push_complete_payloads): Seeking improvements: honour the KEY_UNIT seek flag; after a seek, only send data from the keyframe right before the new segment start to make sure the decoder doesn't have to decode more than absolutely necessary. 2007-04-30 Tim-Philipp Müller * gst/asfdemux/asfheaders.c: * gst/asfdemux/asfheaders.h: * gst/asfdemux/asfpacket.c: (asf_payload_parse_replicated_data_extensions), (gst_asf_demux_parse_payload): * gst/asfdemux/asfpacket.h: * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_free_stream), (gst_asf_demux_push_complete_payloads), (gst_asf_demux_process_ext_stream_props): * gst/asfdemux/gstasfdemux.h: Implement payload extension system/extended replicated data parsing, so we can extract payload durations if they're specified. 2007-04-30 Tim-Philipp Müller * gst/asfdemux/asfheaders.h: * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_free_stream), (gst_asf_demux_reset), (gst_asf_demux_parse_data_object_start), (gst_asf_demux_loop), (gst_asf_demux_setup_pad), (gst_asf_demux_add_audio_stream), (gst_asf_demux_activate_stream), (gst_asf_demux_parse_stream_object), (gst_asf_demux_process_ext_stream_props), (gst_asf_demux_process_queued_extended_stream_objects), (gst_asf_demux_activate_ext_props_streams), (gst_asf_demux_process_object): * gst/asfdemux/gstasfdemux.h: Refactor stream parse/activation a bit (stream activation heuristics are still the same though); some more clean-ups. 2007-04-28 Tim-Philipp Müller * win32/common/.cvsignore: Ignore generated config.h file to make build bot happy. 2007-04-28 Tim-Philipp Müller * gst/asfdemux/gstasf.c: (plugin_init): * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_base_init): * gst/asfdemux/gstasfdemux.h: Init debug category before using it. 2007-04-27 Tim-Philipp Müller * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_pull_data), (gst_asf_demux_push_complete_payloads), (gst_asf_demux_loop): Fix silly bug when we can't pull as much data as we want; don't forget to announce pending tags in the new packet parsing code. 2007-04-25 Tim-Philipp Müller * configure.ac: * win32/MANIFEST: Generate a win32 config.h into win32/common and add to MANIFEST so it gets disted (#393890). Looks like win32/common/config.h.in needs some work though. 2007-04-22 Tim-Philipp Müller * ext/amrnb/amrnbparse.c: (gst_amrnbparse_get_type), (gst_amrnbparse_class_init), (gst_amrnbparse_init), (gst_amrnbparse_pull_header), (gst_amrnbparse_loop): Fix pull mode operation some more: send newsegment event before sending data; handle EOS and fatal flow returns a bit better; don't leak buffers in some cases. Misc. minor cleanups. Fixes #431707. 2007-04-20 Tim-Philipp Müller * gst/asfdemux/Makefile.am: * gst/asfdemux/asfpacket.c: (asf_packet_read_varlen_int), (asf_packet_create_payload_buffer), (asf_payload_find_previous_fragment), (gst_asf_payload_queue_for_stream), (gst_asf_demux_parse_payload), (gst_asf_demux_parse_packet): * gst/asfdemux/asfpacket.h: * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_reset_stream_state_after_discont), (gst_asf_demux_push_complete_payloads), (gst_asf_demux_loop), (gst_asf_demux_setup_pad), (gst_asf_demux_descramble_buffer), (gst_asf_demux_process_chunk): * gst/asfdemux/gstasfdemux.h: New packet parsing code: should put halfway decent timestamps on buffers, and might even set the appropriate keyframe/discont buffer flags from time to time (and even if it doesn't, I'm at least able to debug this code); only used in pull-mode so far. Still needs some more work, like payload extensions parsing and proper flow aggregation, and stream activation based on preroll. Stay tuned. 2007-04-20 Tim-Philipp Müller * gst/asfdemux/asfheaders.h: * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_free_stream), (gst_asf_demux_seek_index_lookup), (gst_asf_demux_handle_seek_event), (gst_asf_demux_get_stream), (gst_asf_demux_setup_pad), (gst_asf_demux_add_video_stream), (gst_asf_demux_process_ext_content_desc), (gst_asf_demux_process_file), (gst_asf_demux_descramble_segment), (gst_asf_demux_push_buffer), (gst_asf_demux_process_chunk), (gst_asf_demux_process_segment), (gst_asf_demux_handle_data): * gst/asfdemux/gstasfdemux.h: Some clean-ups and small fixes: rename asf_stream_context structure to AsfStream; inline some three-line utility functions that are only used once anyway and get rid of their associated helper structs; make debug category global so that it is used by the debug statements in the other file as well; simplify gst_asf_demux_get_stream(); fix accidental implicit initialisation of stream->last_buffer_timestamp to 0, which would lead to missing timestamps on the first buffer; put fourcc format into video caps to make certain proprietary wmv decoders happy (for the case of WMVA in particular); play_time is offset by preroll as well, so fix overreporting of duration for some files. 2007-04-17 Tim-Philipp Müller * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_handle_seek_event), (gst_asf_demux_pull_indices): Printf format fixes. 2007-04-16 Tim-Philipp Müller * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_process_event), (gst_mpeg_parse_send_event): Post an error message if EOS wasn't handled by anything downstream. This should fix playbin freezing/hanging with small VobSub subtitle files (background: not-linked flow returns from downstream are ignored for a while at the beginning, so if the file is small upstream will never get a not-linked flow return even if nothing is connected downstream). (#429960). 2007-04-16 Michael Smith * ext/amrnb/amrnbparse.c: (gst_amrnbparse_init), (gst_amrnbparse_sink_activate), (gst_amrnbparse_sink_activate_pull): Rewrite terminally broken sinkpad activation code. Now actually supports pull-mode activation (didn't before), and push mode activation doesn't leave the sinkpad flushing. 2007-04-12 Tim-Philipp Müller * gst/asfdemux/asfheaders.c: * gst/asfdemux/asfheaders.h: * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_free_stream), (gst_asf_demux_reset), (gst_asf_demux_init), (gst_asf_demux_activate), (gst_asf_demux_activate_push), (gst_asf_demux_activate_pull), (gst_asf_demux_sink_event), (gst_asf_demux_seek_index_lookup), (gst_asf_demux_reset_stream_state_after_discont), (gst_asf_demux_handle_seek_event), (gst_asf_demux_handle_src_event), (gst_asf_demux_chain_headers), (gst_asf_demux_chain), (gst_asf_demux_pull_data), (gst_asf_demux_pull_indices), (gst_asf_demux_parse_data_object_start), (gst_asf_demux_pull_headers), (gst_asf_demux_loop), (gst_asf_demux_setup_pad), (gst_asf_demux_process_file), (gst_asf_demux_process_simple_index), (gst_asf_demux_process_object), (gst_asf_demux_send_event_unlocked), (gst_asf_demux_push_buffer), (gst_asf_demux_handle_data), (gst_asf_demux_change_state): * gst/asfdemux/gstasfdemux.h: Make asfdemux work in pull mode where possible. If there's an index at the end of the file, read it and use it for seeking purposes. 2007-04-12 Wim Taymans * gst/synaesthesia/gstsynaesthesia.c: (gst_synaesthesia_init), (gst_synaesthesia_sink_setcaps), (gst_synaesthesia_src_setcaps), (gst_synaesthesia_chain), (gst_synaesthesia_change_state): Some timestamp fixes. * gst/synaesthesia/synaescope.c: (synaescope_coreGo): Fix for 64-bit machines. 2007-04-12 Wim Taymans Patch by: René Stadler * gst/realmedia/rmdemux.c: (find_seek_offset_bytes), (find_seek_offset_time), (gst_rmdemux_reset), (gst_rmdemux_get_stream_by_id), (gst_rmdemux_send_event), (gst_rmdemux_add_stream), (gst_rmdemux_combine_flows): * gst/realmedia/rmdemux.h: Make rmdemux handle any number of logical streams. Fixes #428698. 2007-04-05 Thomas Vander Stichele submitted by: Mogens Jaeger * po/LINGUAS: * po/da.po: Added Danish translation. 2007-03-28 Zaheer Abbas Merali * po/.cvsignore: Add pot. 2007-03-27 Julien MOUTTE * ext/mad/gstmad.c: (gst_mad_chain): Generate a perfect stream and try to adapt to incoming timestamps lack of precision up to half a frame. This allows generating a perfect stream even with muxed formats like FLV where the timestamps are stored in milliseconds. 2007-03-22 Tim-Philipp Müller * gst/realmedia/rmdemux.c: Remove unused zlib.h include. Fixes #421594. 2007-03-21 Jan Schmidt * ext/lame/gstlame.c: (gst_lame_setup): Disable the bitrate checking when the user has requested Free Format mode, as all bitrates less than the maximum are valid then. 2007-03-14 Thomas Vander Stichele * po/hu.po: * po/it.po: * po/sv.po: Update translations. 2007-03-12 Jan Schmidt * ext/mad/gstmad.c: (gst_mad_convert_sink), (gst_mad_convert_src): When handling seeks, don't convert -1 start or stop values to a bogus byte position - pass them upstream as -1. 2007-03-12 Jan Schmidt * gst/mpegaudioparse/gstmpegaudioparse.c: (mp3_type_frame_length_from_header), (gst_mp3parse_reset), (gst_mp3parse_init), (gst_mp3parse_sink_event), (gst_mp3parse_emit_frame), (gst_mp3parse_chain), (gst_mp3parse_change_state), (mp3parse_time_to_bytepos), (mp3parse_bytepos_to_time), (mp3parse_total_bytes), (mp3parse_total_time), (mp3parse_handle_seek), (mp3parse_src_event), (mp3parse_src_query), (mp3parse_get_query_types), (plugin_init): * gst/mpegaudioparse/gstmpegaudioparse.h: Implement seeking via average bitrate, and position+duration querying in mp3parse. Later, it will support frame-accurate seeking by building a seek table as it parses. Add 'parsed=false' to the sink pad caps, and 'parsed=true' to the src pad caps. Bump the priority to PRIMARY+1 so that it is autoplugged before any extant MP3 decoder plugin. This allows us to remove framing support from the decoders, if we want, and will provide them with accurate seeking automatically once it is finished. Fix the handling of MPEG-1 Layer 1 files. Partially fix timestamping of packets arriving from a demuxer by queueing the incoming timestamp until the next packet starts, rather than applying it immediately to the next pushed buffer. 2007-03-10 Tim-Philipp Müller * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_header_ext): Printf format fix. 2007-03-02 Tim-Philipp Müller Patch by: Zaheer Abbas Merali * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_chain): Never post a (fatal) error message on the bus on decoding errors. We should only do this if we can't recover, but mpeg2dec can always recover. This is needed for DVB streams, for example, where there may be temporary glitches in the stream. Instead of an error message, post a warning message on the bus for every N decoding errors. Fixes #370020. 2007-02-28 Thomas Vander Stichele * configure.ac: Convert to new AG_GST style. 2007-02-28 Jan Schmidt * ext/lame/gstlame.c: (gst_lame_class_init), (gst_lame_init), (gst_lame_setup): Display sensible defaults and limits for the vbr-min/max/mean properties. Fix the 'hard-limit' VBR min property - it's supposed to be a boolean 0/1 value. 2007-02-28 Jan Schmidt * ext/lame/gstlame.c: Initialise the variables so gcc doesn't complain about possibly uninitialised uses, even though they can't actually happen. 2007-02-28 Wim Taymans * gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcm_reset), (update_timestamps), (parse_header), (gst_dvdlpcmdec_chain_dvd), (gst_dvdlpcmdec_chain_raw), (dvdlpcmdec_sink_event): * gst/dvdlpcmdec/gstdvdlpcmdec.h: Implement all sample rates. Implement sample permutation a little smarter avoiding a memcpy. Fix timestamps, use segments, fix seeking. 2007-02-28 Wim Taymans * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-ugly-plugins-docs.sgml: * docs/plugins/gst-plugins-ugly-plugins-sections.txt: * docs/plugins/inspect/plugin-siddec.xml: * ext/sidplay/gstsiddec.cc: * ext/sidplay/gstsiddec.h: Document siddec. 2007-02-21 Thomas Vander Stichele * ext/lame/gstlame.c: (gst_lame_sink_setcaps), (gst_lame_set_property), (gst_lame_setup): Fix up bitrate checking macro. Make it give us a GST_ELEMENT_WARNING message so the application has a chance of reporting this to the user. Move the checking to _setup, so we are sure it runs in the READY state, when we hope to have a pipeline and a bus that is not flushing. This fixes e.g. using 96 kbit/sec as a bitrate. 2007-02-15 Tim-Philipp Müller * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_file), (gst_asf_demux_process_advanced_mutual_exclusion), (gst_asf_demux_process_queued_extended_stream_objects), (gst_asf_demux_process_object), (gst_asf_demux_change_state): * gst/asfdemux/gstasfdemux.h: Parse advanced mutual exclusion object and only add pads for 'hidden' streams (those in an extended stream header) that are mutually exclusive with an already existing 'main stream' if the broadcasting flag is not set. If the broadcasting flag is set, assume that data for this stream isn't sent. (This should ideally be solved better by making playbin more robust against this and/or by making mmssrc send some information downstream about which streams will be streamed). Fixes #353116. 2007-02-13 Jan Schmidt * gst/synaesthesia/gstsynaesthesia.c: (gst_synaesthesia_class_init), (gst_synaesthesia_init), (gst_synaesthesia_finalize), (gst_synaesthesia_chain): * gst/synaesthesia/synaescope.c: (synaescope_coreGo), (synaescope32), (synaescope_set_data), (synaesthesia_update), (synaesthesia_init), (synaesthesia_new), (synaesthesia_close): * gst/synaesthesia/synaescope.h: Move all the mutable engine state into a structure so that multiple element instances can run without interfering. 2007-02-13 Stefan Kost * configure.ac: * docs/plugins/Makefile.am: Add crossreferences to glib/gobject/gstream docs. 2007-02-12 Stefan Kost * gst/synaesthesia/gstsynaesthesia.c: (gst_synaesthesia_init), (gst_synaesthesia_sink_setcaps), (gst_synaesthesia_src_getcaps), (gst_synaesthesia_src_setcaps), (gst_synaesthesia_chain), (plugin_init): * gst/synaesthesia/synaescope.c: (synaescope_coreGo), (synaescope8): More source cleanups and add FIXME comments. 2007-02-11 Sébastien Moutte * gst/realmedia/rmdemux.c:(gst_rmdemux_parse_indx_data): Use gst_guint64_to_gdouble for conversions. * gst/synaesthesia/synaescope.c: Define M_PI and do not include and for G_OS_WIN32 * win32/vs6/libgstrealmedia.dsp: * win32/vs6/synaesthesia.dsp: Update projects files. * win32/common/config.h.in: Add config.h.in for autogen of config.h 2007-02-11 Stefan Kost * configure.ac: Add --enable-experimental support. Activate synaesthesia when building with --enable-experimental. Fix --enable-external configure switch description. 2007-02-09 Tim-Philipp Müller * ext/lame/gstlame.c: (gst_lame_sink_event), (gst_lame_chain), (gst_lame_change_state): * ext/lame/gstlame.h: On receiving EOS, we try to push a last buffer with the remaining samples. Don't do that if we got an unclean flow return on the last gst_pad_push(), downstream might not handle this very gracefully (see #403168). * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_chain): Pass flow returns upstream (helps #403168). 2007-02-09 Stefan Kost * gst/synaesthesia/gstsynaesthesia.c: (gst_synaesthesia_class_init), (gst_synaesthesia_init), (gst_synaesthesia_sink_setcaps), (gst_synaesthesia_src_getcaps), (gst_synaesthesia_chain), (plugin_init): check result of gst_pad_push() in _chain. 2007-02-09 Stefan Kost * gst/synaesthesia/Makefile.am: * gst/synaesthesia/gstsynaesthesia.c: (gst_synaesthesia_class_init), (gst_synaesthesia_init), (gst_synaesthesia_sink_setcaps), (gst_synaesthesia_src_getcaps), (gst_synaesthesia_chain), (plugin_init): * gst/synaesthesia/synaescope.c: * gst/synaesthesia/synaescope.h: Added docs (not yet added to gst-plugins-ugl/docs/plugins as plugin is not built by default). Fixed Makefile.am. Fixed license headers (its GPL as it is derived from GPL code). Fixed GST_SYNAESTHESIA_CLASS macro. Added GST_DEBUG_FUNCPTR. Reflowed _setcaps. Updated pad setup in _init. Fix possible leak in _chain. (#356882) 2007-02-08 Tim-Philipp Müller * gst/asfdemux/asfheaders.c: * gst/asfdemux/asfheaders.h: * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_init), (gst_asf_demux_sink_event), (gst_asf_demux_handle_seek_event), (gst_asf_demux_identify_guid), (asf_demux_peek_object), (gst_asf_demux_chain_headers), (gst_asf_demux_chain), (gst_asf_demux_setup_pad), (gst_asf_demux_process_stream), (gst_asf_demux_process_ext_content_desc), (gst_asf_demux_get_object_header), (gst_asf_demux_process_header), (gst_asf_demux_process_file), (gst_asf_demux_process_comment), (gst_asf_demux_process_bitrate_props_object), (gst_asf_demux_process_header_ext), (gst_asf_demux_process_language_list), (gst_asf_demux_process_ext_stream_props), (gst_asf_demux_process_queued_extended_stream_objects), (gst_asf_demux_process_object), (gst_asf_demux_change_state): * gst/asfdemux/gstasfdemux.h: Refactor and clean up header parsing and chain function a bit; get rid of some cruft; make header parsing a tad more robust, fixing #403188. 2007-02-01 Tim-Philipp Müller * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_sink_event): Post an error if we receive an EOS event while still waiting for the ASF header object to come through. 2007-01-24 Tim-Philipp Müller Patch by: Xavier B. * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_get_guid), (gst_asf_demux_add_audio_stream), (gst_asf_demux_add_video_stream), (gst_asf_demux_process_ext_content_desc), (gst_asf_demux_process_data), (gst_asf_demux_process_language_list), (gst_asf_demux_process_ext_stream_props), (gst_asf_demux_process_segment), (gst_asf_demux_handle_data): Guard places where we assume that a certain amount of data is available better against less data being available (should fix infamous assertion crasher bug #336370). Also fixes a small memory leak. 2007-01-11 Tim-Philipp Müller * gst/realmedia/Makefile.am: * gst/realmedia/rademux.c: * gst/realmedia/rademux.h: * gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream), (gst_rmdemux_descramble_dnet_audio), (gst_rmdemux_plugin_init): * gst/realmedia/rmutils.c: (gst_rm_utils_descramble_dnet_buffer): * gst/realmedia/rmutils.h: Add demuxer for RealAudio files (#349779). 2007-01-07 Sébastien Moutte * Makefile.am: Add win32/MANIFEST to EXTRA_DIST so win32 files will be include in the next release. * win32/MANIFEST: Remove win32/common/config.h is which is not autogenerated yet. 2006-12-30 Thomas Vander Stichele * ext/lame/gstlame.c: (gst_lame_sink_setcaps), (gst_lame_chain): warn when outgoing sample rate is different from incoming 2006-12-29 Jan Schmidt * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_chain): All sample-rates < 32khz come from the LSF extensions, which only use 1 granule. Fixes parsing of 22.05khz, 24khz and 16khz files. Use gst_util_uint64_scale because we can. 2006-12-22 Stefan Kost * tests/check/elements/amrnbenc.c: (setup_amrnbenc), (cleanup_amrnbenc): and fix compilation of this test 2006-12-22 Stefan Kost * tests/check/elements/amrnbenc.c: (setup_amrnbenc), (cleanup_amrnbenc): * tests/check/elements/mpeg2dec.c: (setup_mpeg2dec), (cleanup_mpeg2dec): re-apply as it was -bad and not -ugly that is frozen, doh 2006-12-21 Stefan Kost * tests/check/elements/amrnbenc.c: (setup_amrnbenc), (cleanup_amrnbenc): * tests/check/elements/mpeg2dec.c: (setup_mpeg2dec), (cleanup_mpeg2dec): revert my freeze breakage 2006-12-21 Stefan Kost * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_get_gst_tag_from_tag_name), (gst_asf_demux_process_ext_content_desc): add a comment about a future change * tests/check/elements/amrnbenc.c: (setup_amrnbenc), (cleanup_amrnbenc): * tests/check/elements/mpeg2dec.c: (setup_mpeg2dec), (cleanup_mpeg2dec): consistent pad (de)activation 2006-12-15 Tim-Philipp Müller * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_get_src_query_types): Update query_types function too. 2006-12-15 Tim-Philipp Müller * gst/realmedia/rmdemux.c: (gst_rmdemux_src_query), (gst_rmdemux_src_query_types): Implement SEEKING query, make query function thread-safe. 2006-12-15 Tim-Philipp Müller * gst/realmedia/rmdemux.c: (gst_rmdemux_descramble_dnet_audio): Use alignment-safe macros here too (subbuffers ...); guard against hypothetical memory access beyond our given buffer in the case where the buffer size is not a multiple of 2. 2006-12-15 Tim-Philipp Müller * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_handle_seek_event), (gst_asf_demux_process_data), (gst_asf_demux_process_file), (gst_asf_demux_handle_src_query), (gst_asf_demux_change_state): * gst/asfdemux/gstasfdemux.h: Don't crash in the seek event handling code when playtime is 0, as may be the case with live streams (#386218). Implement SEEKING query so applications can query seekability without second-guessing based on whether we have a duration or not. 2006-12-15 Thomas Vander Stichele * Makefile.am: * gst-plugins-ugly.doap: * gst-plugins-ugly.spec.in: add doap file 2006-12-14 Tim-Philipp Müller * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_parse_packhead): Use our alignment-safe macros here too, since we can't assume that GST_BUFFER_DATA is aligned (these are subbuffers we're dealing with here). 2006-12-14 Tim-Philipp Müller * gst/realmedia/rmdemux.c: (gst_rmdemux_parse_indx_data): Also, don't read the index for a stream a second time when operating in pull-mode and reaching the end of the file. 2006-12-14 Tim-Philipp Müller Patch by: Roland Kay * gst/realmedia/rmdemux.c: (gst_rmdemux_reset): Don't leak stream index (#385292). 2006-12-14 Tim-Philipp Müller Based on patch by: Roland Kay * ext/lame/gstlame.c: (gst_lame_init), (gst_lame_chain), (gst_lame_setup): * ext/lame/gstlame.h: Fix leak (by calling lame_init_params() before lame_close()); handle NULL return from lame_init() more gracefully. Fixes #385311. 2006-12-14 Jan Schmidt * configure.ac: Back to CVS === release 0.10.5 === 2006-12-13 Jan Schmidt * configure.ac: releasing 0.10.5, "She said" 2006-12-12 David Schleef * gst/mpegstream/gstmpegparse.c: Use the GST_READ macro I meant to in the previous checkin. see #385192. You can have your cheese back now. 2006-12-12 David Schleef * gst/mpegstream/gstmpegparse.c: Fix unaligned load that loads from the dereferenced integer, not the pointer itself. Fixes #385192. I'm takin ur cheese! 2006-12-12 Tim-Philipp Müller Based on patch by: Roland Kay * gst/realmedia/rmdemux.c: (gst_rmdemux_parse_mdpr): For version 4 streams, read the extra codec data size from the header instead of assuming it is always 16 (also read it from the right position) (#384989). For version 4 and 5 streams, check that the specified extra codec data size doesn't make us read beyond the chunk boundary (#384996). 2006-11-21 Tim-Philipp Müller * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_alloc_sized_buf): Cosmetic changes: fix misleading debug statement, update comment, add cast. 2006-11-21 Wim Taymans Patch by: Sebastian Dröge * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_init), (gst_mpeg2dec_reset), (gst_mpeg2dec_alloc_sized_buf), (gst_mpeg2dec_alloc_buffer), (init_dummybuf), (handle_slice): * ext/mpeg2dec/gstmpeg2dec.h: Align buffers to a 16 byte boundary so the altivec optimisations don't crash. Fixes #327350. 2006-11-20 Tim-Philipp Müller * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_add_audio_stream): The availability of extra codec data isn't something that warrants debug messages at WARNING level (see #376958). 2006-11-19 Tim-Philipp Müller * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_base_init), (gst_dvd_demux_class_init), (gst_dvd_demux_combine_flows), (gst_dvd_demux_send_subbuffer): * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_class_init), (gst_mpeg_demux_init_stream), (gst_mpeg_demux_parse_packet), (gst_mpeg_demux_parse_pes), (gst_mpeg_demux_combine_flows), (gst_mpeg_demux_send_subbuffer): * gst/mpegstream/gstmpegdemux.h: * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_process_event), (gst_mpeg_parse_chain): Fix flow value combination; this fixes playbin/totem locking up if a VobSub file is specified as subtitle file (#334322). Flow value combination should only happen once we are fairly sure we've got all pads that are available for now. Since there isn't a well-specified time when this is the case in MPEG, we'll just assume this is the case once there has been a certain number of packets for each stream we've found so far. 2006-11-15 Wim Taymans Patch by: Jan Arne Petersen * ext/mpeg2dec/gstmpeg2dec.c: (handle_sequence), (handle_slice): Simplify the framerate code and support more framerates. Fixes #361584. 2006-11-15 Tim-Philipp Müller Patch by: Sebastian Dröge * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_init): Fix minor memleak when creating pads from static pad templates (#369627). * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * tests/check/elements/mpeg2dec.c: (setup_mpeg2dec), (cleanup_mpeg2dec), (GST_START_TEST), (mpeg2dec_suite), (main): Add unit tests for mpeg2dec (#369627). 2006-11-14 Wim Taymans Patch by: Mark Nauwelaerts * ext/lame/gstlame.c: (gst_lame_sink_event), (gst_lame_chain), (gst_lame_change_state): * ext/lame/gstlame.h: Make lame timestamp flushed eos buffer by some additional timestamp accounting. Fixes #374760. 2006-11-13 Michael Smith * gst/mpegaudioparse/gstmpegaudioparse.c: (mp3_type_frame_length_from_header), (gst_mp3parse_reset), (gst_mp3parse_init), (gst_mp3parse_dispose), (gst_mp3parse_sink_event), (gst_mp3parse_chain), (head_check), (gst_mp3parse_change_state): * gst/mpegaudioparse/gstmpegaudioparse.h: Make timestamp handling in mp3parse saner; now works for at least simple cases. 2006-11-13 Michael Smith * gst/mpegaudioparse/Makefile.am: * gst/mpegaudioparse/gstmpegaudioparse.c: (mp3_type_frame_length_from_header), (gst_mp3parse_class_init), (gst_mp3parse_reset), (gst_mp3parse_init), (gst_mp3parse_dispose), (gst_mp3parse_sink_event), (gst_mp3parse_chain), (head_check), (gst_mp3parse_change_state), (plugin_init): * gst/mpegaudioparse/gstmpegaudioparse.h: Bring mp3parse into the 21st century. Use its own debug category, use gstadapter, format nicely to 80 columns, and fix incorrect handling of 32 kHz and less files. 2006-11-03 Wim Taymans Patch by: Sebastian Droege * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_finalize), (gst_mpeg2dec_alloc_buffer), (init_dummybuf), (handle_slice): * ext/mpeg2dec/gstmpeg2dec.h: libmpeg2 requires its output buffers to start at a 16byte aligned address or the altivec optimizations will explode. 2006-10-19 Tim-Philipp Müller * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_read): Use dsi_pack.dsi_gi.vobu_ea correctly, add some more debugging information (fixes #340433). 2006-10-16 Tim-Philipp Müller Patch by: Josep Torra Valles * gst/iec958/ac3_padder.c: (ac3p_init): * gst/mpegstream/gstmpegparse.c: * gst/realmedia/rmdemux.c: (gst_rmdemux_parse__rmf), (gst_rmdemux_parse_prop), (gst_rmdemux_parse_mdpr), (gst_rmdemux_parse_indx), (gst_rmdemux_parse_indx_data), (gst_rmdemux_parse_data), (gst_rmdemux_parse_cont), (gst_rmdemux_parse_packet): Misc. fixes for problems discovered by Forte (different return types in function declaration and definition, pointer arithmetics with void pointers). Fixes #362639. 2006-10-13 Tim-Philipp Müller * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_goto_title): Don't announce audio or subtitle streams that aren't really present, it makes dvddemux create pads that will never carry any data, which is not good. 2006-10-13 Tim-Philipp Müller * ext/lame/gstlame.c: (gst_lame_set_property): Round up not allowed bitrates to the next higher allowed one (Closes: #361140). 2006-10-13 Tim-Philipp Müller * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-ugly-plugins-docs.sgml: * docs/plugins/gst-plugins-ugly-plugins-sections.txt: * ext/lame/gstlame.c: (gst_lame_class_init): * ext/lame/gstlame.h: Add docs for lame and lame to docs. Specify allowed bitrates in the properties description (#361140). Canonicalise object property names (ie. use hyphen instead of underscore). * docs/plugins/inspect/plugin-a52dec.xml: * docs/plugins/inspect/plugin-amrnb.xml: * docs/plugins/inspect/plugin-asf.xml: * docs/plugins/inspect/plugin-dvdlpcmdec.xml: * docs/plugins/inspect/plugin-dvdread.xml: * docs/plugins/inspect/plugin-dvdsub.xml: * docs/plugins/inspect/plugin-iec958.xml: * docs/plugins/inspect/plugin-lame.xml: * docs/plugins/inspect/plugin-mad.xml: * docs/plugins/inspect/plugin-mpeg2dec.xml: * docs/plugins/inspect/plugin-mpegaudioparse.xml: * docs/plugins/inspect/plugin-mpegstream.xml: * docs/plugins/inspect/plugin-siddec.xml: Update version to CVS. 2006-10-13 Tim-Philipp Müller * ext/lame/gstlame.c: (gst_lame_sink_setcaps), (gst_lame_set_property), (gst_lame_get_property), (gst_lame_chain), (plugin_init): * po/POTFILES.in: Add i18n magic to lame plugin. Throw decent error message when we fail to setup the encoder (#361140, 361151); misc. minor clean-ups. 2006-10-10 Wim Taymans * gst/realmedia/rdtdepay.c: (gst_rdt_depay_base_init), (gst_rdt_depay_init), (gst_rdt_depay_setcaps), (gst_rdt_depay_chain), (gst_rdt_depay_change_state): Change caps to x-rdt, because it's not x-rtp. * gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream), (gst_rmdemux_parse_mdpr), (gst_rmdemux_parse_packet), (gst_rmdemux_plugin_init): Activate pad before adding to the element. Return the combined stream return values after pad_alloc. 2006-10-10 Wim Taymans * ext/mpeg2dec/gstmpeg2dec.c: (handle_slice): * ext/mpeg2dec/gstmpeg2dec.h: Add some debugging to timestamp handling. Make sure we don't convert invalid timestamps. 2006-10-09 Tim-Philipp Müller * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_sink_event), (gst_asf_demux_setup_pad), (gst_asf_demux_process_segment): * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_get_audio_stream), (gst_dvd_demux_get_subpicture_stream): * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_get_video_stream), (gst_mpeg_demux_get_audio_stream), (gst_mpeg_demux_get_private_stream): Active pads before adding them to the running element. Don't assert on non-BYTE format newsegment events in asfdemux. 2006-10-05 Tim-Philipp Müller * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_goto_title), (gst_dvd_read_src_handle_seek_event): * ext/mad/gstid3tag.c: (gst_id3_tag_chain): * ext/mad/gstmad.c: (gst_mad_src_query), (gst_mad_chain): * ext/sidplay/gstsiddec.cc: * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_parse_data): * gst/realmedia/rmdemux.c: (gst_rmdemux_loop), (gst_rmdemux_parse_packet): Printf format fixes. 2006-10-03 Wim Taymans * gst/realmedia/Makefile.am: * gst/realmedia/rdtdepay.c: (gst_rdt_depay_base_init), (gst_rdt_depay_class_init), (gst_rdt_depay_init), (gst_rdt_depay_setcaps), (gst_rdt_depay_chain), (gst_rdt_depay_set_property), (gst_rdt_depay_get_property), (gst_rdt_depay_change_state), (gst_rdt_depay_plugin_init): * gst/realmedia/rdtdepay.h: Added RDT depayloader. * gst/realmedia/rmdemux.c: (gst_rmdemux_parse_mdpr), (gst_rmdemux_plugin_init), (plugin_init): Remove unused function. Added some more mime-types. 2006-09-28 Jan Schmidt * gst/dvdlpcmdec/gstdvdlpcmdec.c: (update_timestamps): If an incoming timestamp is within one sample of our current timestamp, then keep it. This prevents imprecision in the PTS (which only has 90khz granularity) from affecting our stream. 2006-09-28 Tim-Philipp Müller * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_handle_src_query): Reflow code so that compiler doesn't complain about possible use of uninitialised variable any longer; but just in case, initialise it anyway; also take object ref in query function and do peer pad stuff in a more thread-safe way. 2006-09-27 Wim Taymans * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_do_convert_query): Init a variable to make compilers happy. 2006-09-21 Tim-Philipp Müller Patch by: Martin Zlomek * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_reset), (gst_dvd_demux_sync_stream_to_time): * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_send_subbuffer), (gst_mpeg_demux_synchronise_pads), (gst_mpeg_demux_sync_stream_to_time): Send newsegment updates for sparse streams (#350778). 2006-09-20 Thomas Vander Stichele * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_do_convert_query): fix compile warning 2006-09-20 Stefan Kost * configure.ac: As another attempt, synaesthesia can be enabled by passing --with-plugins="synaesthesia" to configure 2006-09-20 Stefan Kost * configure.ac: Don't build synaesthesia by default, until someone confirms that it is okay (filed as #356882) 2006-09-18 Stefan Kost * configure.ac: * gst/synaesthesia/Makefile.am: * gst/synaesthesia/gstsynaesthesia.c: (gst_synaesthesia_init), (gst_synaesthesia_sink_setcaps), (gst_synaesthesia_src_getcaps), (gst_synaesthesia_src_setcaps), (gst_synaesthesia_chain), (gst_synaesthesia_change_state), (plugin_init): Port synaesthesia. 2006-09-17 Stefan Kost * ext/mad/gstid3tag.c: * gst/mpegstream/gstrfc2250enc.h: * gst/synaesthesia/gstsynaesthesia.c: More G_OBJECT macro fixing. 2006-09-15 Wim Taymans Patch by: Yves Lefebvre * ext/mpeg2dec/gstmpeg2dec.c: (init_dummybuf): Fix initialisation dummy buffer, the offsets are relative to the start of the buffers. Fixes #356004. 2006-09-09 Tim-Philipp Müller * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_read): Add convert query (needed for later when we just operate in time format and let the base source class handle all the seeking stuff). 2006-09-07 Stefan Kost * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_get_gst_tag_from_tag_name), (gst_asf_demux_process_ext_content_desc): Erm, lets properly fix it. The only non-text tag that we support is the track-number and that is an UINT. asfdemux was returning a GValue initialized as INT. Further the Track and not the TrackNumber tag (the latter is a string too). 2006-09-07 Stefan Kost * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_get_gst_tag_from_tag_name), (gst_asf_demux_process_ext_content_desc): Skip tags that are unknown (was producing an uninialized GValue). 2006-09-01 Michael Smith Patch by: Michal Benes : * ext/a52dec/gsta52dec.c: (gst_a52dec_mode_get_type), (gst_a52dec_class_init), (gst_a52dec_init), (gst_a52dec_channels), (gst_a52dec_handle_frame), (gst_a52dec_change_state), (gst_a52dec_set_property), (gst_a52dec_get_property): * ext/a52dec/gsta52dec.h: Add two things to a52dec: configure the exact output format for ac3 decoding through properties, if desired. By default, configure an output format preferred by downstream. Now that audioconvert lists caps by preference, this means that a52dec can do downmixing (iff required) rather than audioconvert, so it can use the ac3 downmix levels from the bitstream. 2006-08-31 Jan Schmidt * ext/lame/Makefile.am: * ext/mpeg2dec/Makefile.am: * gst/dvdlpcmdec/Makefile.am: * gst/dvdsub/Makefile.am: * gst/mpegaudioparse/Makefile.am: Add missing GST_LIBS to the link flags 2006-08-29 Tim-Philipp Müller * configure.ac: Up requirements to core 0.10.6 for gst_event_new_new_segment_full(). 2006-08-27 Stefan Kost * gst/mpegstream/gstmpegpacketize.c: (gst_mpeg_packetize_new): Fix build for debug disabled 2006-08-22 Tim-Philipp Müller * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_base_init), (gst_asf_demux_add_audio_stream), (gst_asf_demux_add_video_stream): Use static pad templates with ANY caps for the source pads for simplicity and to avoid warnings when creating pads for unhandled codec IDs (#351795). 2006-08-16 Wim Taymans Patch by: Michal Benes * ext/mad/gstmad.c: (gst_mad_chain): Fix timestamping in mad by only activating a new timestamp when the previous frame has been decoded. Fixes #350723. Also clean up some of the non fatal warnings when the input buffer is too small to decode a header. === release 0.10.4 === 2006-08-14 Thomas Vander Stichele * configure.ac: releasing 0.10.4, "Metal Molly" 2006-08-14 Thomas Vander Stichele Patch by: Wim Taymans * ext/a52dec/gsta52dec.c: (gst_a52dec_sink_event): Instead of forwarding the event in the wrong format, unref it and set a boolean that we still need to send it in the streaming thread. Fixes #350554 2006-08-14 Thomas Vander Stichele Patch by: Edward Hervey * ext/dvdread/dvdreadsrc.c: (plugin_init): Put debug category initialization before use of GST_DEBUG, in order to remove a fatal warning. Fixes #350895 2006-08-08 Tim-Philipp Müller * gst/dvdsub/gstdvdsubdec.c: (plugin_init): Set rank to NONE for the time being until we make playbin handle subtitle pictures again (dvdsubdec seems to be a bit shaky at times when seeking, so it's probably better if it doesn't get autoplugged for the time being). 2006-08-07 Tim-Philipp Müller * gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream), (gst_rmdemux_parse_mdpr): Handle audio streams with stream_version 3 properly; warn about unknown stream versions; handle unknown fourccs a tad more gracefully (setting bogus caps). Also, use GST_FOURCC_ARGS with GST_FOURCC_FORMAT. 2006-08-07 Tim-Philipp Müller * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_goto_title): Error out properly if this is an interactive DVD (fixes #345694). 2006-08-07 Jan Schmidt * ext/a52dec/gsta52dec.c: (gst_a52dec_chain): When the first_access is 1 or 0, we should copy the timestamp from the incoming buffer if there is one. 2006-08-07 Tim-Philipp Müller * ext/a52dec/gsta52dec.c: (gst_a52dec_channels), (gst_a52dec_push), (gst_a52dec_reneg), (gst_a52dec_handle_frame), (gst_a52dec_chain): Use GST_ELEMENT_ERROR for error reporting; post errors in some more places; remove superfluous newlines from debug statements. 2006-08-07 Tim-Philipp Müller Patch by: Frédéric Riss * gst/dvdsub/gstdvdsubdec.c: (gst_send_subtitle_frame): Don't set negative durations on outgoing buffers (#350044), which happens when you use macros that got changed during the last unstable cycle because they were thought not to be used anywhere. 2006-08-06 Tim-Philipp Müller * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_stop), (gst_dvd_read_src_goto_chapter), (gst_dvd_read_src_get_chapter_starts), (gst_dvd_read_src_goto_title), (gst_dvd_read_src_get_next_cell), (gst_dvd_read_src_get_time_for_sector), (gst_dvd_read_src_get_sector_from_time), (gst_dvd_read_src_read), (gst_dvd_read_src_handle_seek_event), (gst_dvd_read_src_do_seek), (gst_dvd_read_src_goto_sector): * ext/dvdread/dvdreadsrc.h: Add basic support for time-based seeking; set timestamps on outgoing buffers if we have them; create table with chapter to time mapping when opening a title; rename gst_dvd_read_src_get_next_cell_for() to _get_next_cell() and make it take an explicit pgc argument; fix up some debugging messages so that title/chapter numbers are printed as starting from 1 for easier readability. 2006-08-04 Tim-Philipp Müller * gst/realmedia/Makefile.am: * gst/realmedia/rmdemux.c: (gst_rmdemux_parse_mdpr), (gst_rmdemux_parse_cont): * gst/realmedia/rmutils.c: (gst_rm_utils_read_string8), (gst_rm_utils_read_string16), (gst_rm_utils_read_tags): * gst/realmedia/rmutils.h: Factor out some code into rmutils.[ch]; when reading strings, don't read beyond the available data; read metadata strings correctly (string length is 16 bits here, not just 8). 2006-07-31 Jan Schmidt * Makefile.am: * configure.ac: * gst/asfdemux/gstasfdemux.c: Fix dist by including gst-libs/ 2006-07-29 Tim-Philipp Müller * ext/dvdread/dvdreadsrc.c: (plugin_init): * po/POTFILES.in: Make custom error messages translatable. * gst/asfdemux/gstasf.c: (plugin_init): Remove setlocale() call, doesn't seem to be needed or recommended for plugins, at least not according to gstreamer/docs/random/i18n. 2006-07-28 Tim-Philipp Müller * 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_process_object): Error out when the stream is encrypted (rather than feeding garbage to the decoders). Fixes #349025. 2006-07-28 Tim-Philipp Müller * Makefile.am: * autogen.sh: * configure.ac: * po/POTFILES.in: Add/enable autofoo magic for translations. 2006-07-28 Tim-Philipp Müller * gst/realmedia/rmdemux.c: (gst_rmdemux_reset), (gst_rmdemux_change_state), (gst_rmdemux_add_stream), (gst_rmdemux_parse_cont), (gst_rmdemux_descramble_cook_audio), (gst_rmdemux_handle_scrambled_packet), (gst_rmdemux_parse_packet): Don't leak streams, strings or caps. Get rid of unnecessary getcaps() function. 2006-07-27 Tim-Philipp Müller * gst/realmedia/rmdemux.c: (gst_rmdemux_class_init), (gst_rmdemux_init), (gst_rmdemux_chain), (gst_rmdemux_add_stream), (gst_rmdemux_parse_mdpr), (gst_rmdemux_parse_data), (gst_rmdemux_stream_clear_cached_subpackets), (gst_rmdemux_descramble_cook_audio), (gst_rmdemux_descramble_dnet_audio), (gst_rmdemux_handle_scrambled_packet), (gst_rmdemux_parse_packet): Descramble cook audio streams before sending them to the decoder. Fixes #347292. Also miscellaneous clean-ups and log-level changes. 2006-07-26 Zaheer Abbas Merali * ext/lame/gstlame.c: (gst_lame_setup): Fix lame putting lots of 0's at start of mp3. Fixes bug #348786. 2006-07-21 Wim Taymans * ext/sidplay/gstsiddec.cc: * ext/sidplay/gstsiddec.h: Remove old metadata thing. 2006-07-15 Tim-Philipp Müller * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_get_ext_stream_props_for_stream), (gst_asf_demux_add_audio_stream), (gst_asf_demux_change_state): Find language codes for audio streams if they are available. 2006-07-14 Tim-Philipp Müller * gst/asfdemux/asfheaders.h: * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_get_obj_stream), (gst_asf_demux_process_stream), (gst_asf_demux_process_language_list), (gst_asf_demux_process_ext_stream_props), (gst_asf_demux_process_queued_extended_stream_objects), (gst_asf_demux_process_object), (gst_asf_demux_change_state): * gst/asfdemux/gstasfdemux.h: Parse extended stream properties objects and stream objects hidden inside them (but delay creation of the appropriate pads until after all the 'normal' stream objects have been dealt with) (#343763). Also parse language list object. 2006-07-13 Wim Taymans * gst/realmedia/rmdemux.c: (gst_rmdemux_class_init), (gst_rmdemux_finalize), (gst_rmdemux_src_event), (find_seek_offset_time), (gst_rmdemux_perform_seek), (gst_rmdemux_src_query), (gst_rmdemux_change_state), (gst_rmdemux_loop), (gst_rmdemux_chain), (gst_rmdemux_send_event), (gst_rmdemux_add_stream), (gst_rmdemux_parse_mdpr), (gst_rmdemux_combine_flows), (gst_rmdemux_parse_packet): * gst/realmedia/rmdemux.h: Cleanups, use GstSegment for seeking. Fix error handling. Combine flow return from all streams. 2006-07-10 Wim Taymans * ext/mpeg2dec/gstmpeg2dec.c: (crop_buffer), (handle_slice): Fix refcounting when cropping. Fixes #341677. 2006-07-09 Wim Taymans Patch by: Grzegorz Lukasik * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_add_video_stream), (gst_asf_demux_process_segment): Fix typo. Closes #347029. 2006-07-08 Tim-Philipp Müller * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_chunk): Skip chunks for unknown streams properly. Fixes broken sound and/or video for files that have additional streams that we don't recognise yet (e.g. if they are embedded in extended stream properties). Partly fixes #343763. 2006-07-07 Tim-Philipp Müller * gst/asfdemux/asfheaders.c: * gst/asfdemux/asfheaders.h: * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_identify_guid), (gst_asf_demux_process_header), (gst_asf_demux_push_obj), (gst_asf_demux_pop_obj), (gst_asf_demux_process_object), (gst_asf_demux_change_state): * gst/asfdemux/gstasfdemux.h: Add some more GUIDs and make debug log more readable and easier to follow when parsing the headers. 2006-06-30 Tim-Philipp Müller * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_init), (gst_dvd_read_src_is_seekable), (gst_dvd_read_src_class_init), (gst_dvd_read_src_stop), (gst_dvd_read_src_goto_title), (gst_dvd_read_src_create), (gst_dvd_read_src_handle_seek_event), (gst_dvd_read_src_do_seek), (gst_dvd_read_src_src_event): * ext/dvdread/dvdreadsrc.h: Rewrite seeking code and make seeking in DVDs work (#337834). 2006-06-29 Tim-Philipp Müller * autogen.sh: Check for automake-1.9 as well. 2006-06-29 Tim-Philipp Müller * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_is_nav_pack): Make check stronger. 2006-06-28 Tim-Philipp Müller * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_setup_pad), (gst_asf_demux_add_audio_stream), (gst_asf_demux_add_video_stream), (gst_asf_demux_push_buffer): * gst/asfdemux/gstasfdemux.h: Handle unknown codec IDs/fourccs properly (#345879); send tag events after newsegment event; fix use of GST_FOURCC_FORMAT macro. 2006-06-23 Jan Schmidt * ext/a52dec/gsta52dec.c: (plugin_init): Call the channel positions get_type() method in plugin_init to ensure that it isn't simultaneously called later from multiple threads. 2006-06-23 Tim-Philipp Müller * gst/mpegstream/gstmpegpacketize.c: (gst_mpeg_packetize_flush_cache), (gst_mpeg_packetize_put): * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_chain): Also flush packetizer cache when we get a buffer that has the DISCONT flag set; update current byte position from buffer offset after a flush. 2006-06-23 Tim-Philipp Müller * gst/mpegstream/gstmpegpacketize.c: (gst_mpeg_packetize_new), (gst_mpeg_packetize_flush_cache), (gst_mpeg_packetize_destroy), (gst_mpeg_packetize_read): * gst/mpegstream/gstmpegpacketize.h: * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_process_event), (gst_mpeg_parse_change_state): Flush packetizer cache when we get a FLUSH_STOP event; remove unused source pad member from packetizer; add debug category for packetizer. 2006-06-23 Jan Schmidt * ext/a52dec/gsta52dec.c: (gst_a52dec_channels), (plugin_init): Treat dual-mono as stereo. It should really be output on 2 separate pads, but isn't for now. 2006-06-19 Tim-Philipp Müller * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_negotiate_format): Assume 4:3 DAR rather than 4:3 PAR (#345184). 2006-06-19 Tim-Philipp Müller * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_negotiate_format): Assume pixel-aspect-ratio of 4:3 if libmpeg2dec doesn't give us any PAR whatsoever (rather than using 0/0, which will lead to an abort later on). Fixes #345184. 2006-06-17 Tim-Philipp Müller Patch by: Michael Dominic K. < mdk at mdk org pl> * ext/mad/gstmad.c: (gst_mad_chain): Send newsegment event before calling gst_pad_alloc_buffer_and_set_caps(), makes mad behave better in connection with pad blocking (#342594). While we're at it, do some minor clean-ups. 2006-06-17 Tim-Philipp Müller * configure.ac: Fix --disable-external (can't set conditionals conditionally, #343602). 2006-06-15 Tim-Philipp Müller * ext/a52dec/Makefile.am: ... and then he said "When you go and fix the build you better make sure you have some spare backslashes in your pocket". 2006-06-13 Wim Taymans * ext/sidplay/gstsiddec.cc: Fix copyright, email addresses and descriptions. Use saner defaults for arguments. Fixes #344667. constify some stuff. Fix memleaks. Add tags. Fix negotiation to do mono/44100 by default. Post error messages. Use _scale_int where possible. 2006-06-12 Wim Taymans * ext/dvdnav/.cvsignore: More ignore 2006-06-12 Wim Taymans * tests/check/elements/amrnbenc.c: (push_data): Init memory before feeding it to the encoder to make the valgrind test succeed. 2006-06-12 Edward Hervey * gst/asfdemux/.cvsignore: More ignore 2006-06-11 Tim-Philipp Müller * .cvsignore: Ignore files generated by 'make dist'. 2006-06-11 Thomas Vander Stichele * autogen.sh: * configure.ac: * ext/a52dec/Makefile.am: * ext/dvdnav/Makefile.am: * ext/dvdread/Makefile.am: * ext/lame/Makefile.am: * ext/mad/Makefile.am: * ext/mpeg2dec/Makefile.am: * ext/sidplay/Makefile.am: update build files 2006-06-07 Wim Taymans * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_finalize), (gst_mpeg2dec_reset), (clear_buffers), (handle_picture), (gst_mpeg2dec_sink_convert), (gst_mpeg2dec_src_convert), (gst_mpeg2dec_change_state): * ext/mpeg2dec/gstmpeg2dec.h: Simplify and don't leak our buffer pool. Use _scale_int. Remove unfixed bug number from previous ChangeLog entry. 2006-06-07 Wim Taymans * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_base_init), (gst_mpeg2dec_class_init), (gst_mpeg2dec_init), (gst_mpeg2dec_finalize), (gst_mpeg2dec_reset), (gst_mpeg2dec_qos_reset), (gst_mpeg2dec_alloc_buffer), (gst_mpeg2dec_negotiate_format), (init_dummybuf), (handle_sequence), (handle_picture), (handle_slice), (gst_mpeg2dec_chain), (gst_mpeg2dec_sink_event), (gst_mpeg2dec_src_event), (gst_mpeg2dec_change_state): * ext/mpeg2dec/gstmpeg2dec.h: Fix padtemplate as we can now do fractional framerates. Small cleanups. Use GstSegment. Add simple frame dropping QoS. Precalc buffer output sizes and UV offsets. Always give libmpeg2 a valid fbuf when it wants one. don't trust libmpeg to discard our buffers but manage it ourselves. Fixes #343627, #335288 2006-06-05 Sebastien Moutte * win32/MANIFEST: Add a manifest for futures ugly win32 releases. * gst/iec958/ac3iec.c: (ac3iec_chain_raw): Move bufcaps declaration at the beginning of the instructions block. 2006-06-02 Stefan Kost * ext/a52dec/gsta52dec.h: * ext/amrnb/amrnbdec.h: * ext/amrnb/amrnbenc.h: * ext/amrnb/amrnbparse.h: * ext/mpeg2dec/gstmpeg2dec.h: * ext/sidplay/gstsiddec.h: * gst/ac3parse/gstac3parse.h: * gst/asfdemux/gstasfdemux.h: * gst/asfdemux/gstasfmux.h: * gst/dvdlpcmdec/gstdvdlpcmdec.h: * gst/iec958/ac3iec.h: * gst/mpegaudioparse/gstmpegaudioparse.h: * gst/mpegstream/gstdvddemux.h: * gst/mpegstream/gstmpegclock.h: * gst/mpegstream/gstmpegdemux.h: * gst/mpegstream/gstmpegparse.h: Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass 2006-05-27 Tim-Philipp Müller * README: Replace current README (containing the release notes from some 0.9.x version) with a proper README taken from the core. 2006-05-24 Wim Taymans * ext/amrnb/amrnbdec.c: (gst_amrnbdec_event), (gst_amrnbdec_chain): * ext/amrnb/amrnbparse.c: (gst_amrnbparse_init), (gst_amrnbparse_sink_event), (gst_amrnbparse_chain), (gst_amrnbparse_sink_activate), (gst_amrnbparse_state_change): * ext/amrnb/amrnbparse.h: Sortof first quick cleanup of all this mess... Don't crap out on empty and invalid FTs but treat them as empty packets, the decoder handles them fine. Fixes #342222. 2006-05-22 Tim-Philipp Müller * gst/asfdemux/gstasf.c: (plugin_init): Call gst_riff_init() so the riff debug category gets set up before it is being used. 2006-05-19 Michael Smith * gst/iec958/ac3_padder.c: (ac3p_parse): * gst/iec958/ac3_padder.h: * gst/iec958/ac3iec.c: (ac3iec_init), (ac3iec_set_property), (ac3iec_chain_raw), (ac3iec_change_state): * gst/iec958/ac3iec.h: Write rate into the caps, for the allowed ac3 rates. Some minor cleanups. 2006-05-18 Tim-Philipp Müller Patch by: James "Doc" Livingston * ext/mad/gstid3tag.c: (gst_id3_tag_get_tag_to_render): Do tag merging correctly (#339918). Output taglists properly in debug statements too while we're at it. 2006-05-11 Jan Schmidt * ext/a52dec/gsta52dec.c: (gst_a52dec_chain): Add more debug * gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcm_reset), (gst_dvdlpcmdec_init), (update_timestamps), (gst_dvdlpcmdec_chain_dvd), (gst_dvdlpcmdec_chain_raw), (dvdlpcmdec_sink_event): * gst/dvdlpcmdec/gstdvdlpcmdec.h: If we have a first_access offset but no current timestamp (might happen after a seek), then calculate a start time for the first portion so that it will align with the timestamp given for the first_access portion. If a new-segment arrives with format time, store the start time as a failsafe timestamp in case we never get any further timestamp info (unlikely) Mask out the 'frame number' section of the incoming header so that we don't consider it to be changing on every buffer and reset the caps constantly. Use gst_util_uint64_scale for duration calculation 2006-05-11 Michael Smith * gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_chain_dvd): Fix timestamping for cases where the first_access parameter is 4. Ensure we don't overrun buffers in other cases. 2006-05-10 Tim-Philipp Müller * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_get_string): Fix silly bug when reading metadata (#341254). 2006-05-08 Edward Hervey * autogen.sh: (CONFIGURE_DEF_OPT): libtoolize on Darwin/MacOSX is called glibtoolize 2006-05-06 Tim-Philipp Müller * ext/lame/gstlame.c: (gst_lame_get_type), (gst_lame_release_memory), (gst_lame_init), (gst_lame_sink_event), (gst_lame_setup), (gst_lame_change_state): * ext/lame/gstlame.h: Remove tag writing from lame (which was completely broken anyway, #329184). Leaving GstTagSetter interface around for now, albeit non-functional. Should be removed completely in 0.11. Use the 'id3v2mux' plugin from -good for writing tags. 2006-05-05 Maciej Katafiasz * ext/dvdread/dvdreadsrc.c: * gst/asfdemux/gstasfdemux.c: Add semicolons after GST_BOILERPLATE[_FULL] so that indent doesn't mess up following lines. 2006-05-05 Tim-Philipp Müller Patch by: Andres Salomon * ext/lame/gstlame.c: (gst_lame_sink_event): Fix typo (comma vs. semicolon) (#340710). 2006-05-04 Tim-Philipp Müller Patch by: Lutz Müller * ext/mad/gstmad.c: (gst_mad_init), (gst_mad_src_query): Make mad the second element to support the highly useful FORMATS query (#340594) 2006-05-02 Edward Hervey * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_sink_convert), (gst_mpeg2dec_src_query): Remember the query duration format before passing it upstream since it could have been modified. Add GST_WARNING_OBJECT in sink convert function to detail why the conversion didn't work. 2006-04-26 Stefan Kost * ext/mad/gstid3tag.c: * ext/mad/gstmad.c: * gst/ac3parse/gstac3parse.c: * gst/dvdlpcmdec/gstdvdlpcmdec.c: * gst/synaesthesia/gstsynaesthesia.c: Define GstElementDetails as const and also static (when defined as global) 2006-04-25 Tim-Philipp Müller * ext/dvdnav/dvdnavsrc.c: (gst_dvd_nav_src_push_titlelang_event): Fix name of custom event (use same as dvdreadsrc). * gst/dvdsub/gstdvdsubdec.c: (gst_dvd_sub_dec_chain), (gst_dvd_sub_dec_sink_event), (gst_dvd_sub_dec_handle_dvd_event): Fix event parsing (the event name is in the structure, not the name of the structure itself); also fix indentation after boilerplate macro. 2006-04-23 Tim-Philipp Müller * ext/mad/gstid3tag.c: (plugin_init): Change debug category to 'id3mux'. 2006-04-22 Tim-Philipp Müller Patch by: Alexander Lancaster * ext/mad/gstid3tag.c: (gst_id3_tag_get_caps), (gst_id3_tag_init), (gst_id3_tag_sink_event), (gst_id3_tag_src_link), (gst_id3_tag_chain): When acting as a muxer, set caps on outgoing buffers and set caps on source pad (fixes #323658). Remove unused application/x-gst-tags cruft from the 0.6 days. 2006-04-21 Tim-Philipp Müller * ext/mad/gstmad.c: (gst_mad_convert_sink), (gst_mad_convert_src), (gst_mad_src_query), (gst_mad_chain): .. and DEFAULT queries should work too. Use magic gst util scale functions in some places. 2006-04-21 Tim-Philipp Müller * ext/mad/gstmad.c: (gst_mad_src_query): Fix duration query in BYTES format (#336824). 2006-04-21 Tim-Philipp Müller Patch by: Ed Catmur * ext/lame/gstlame.c: (gst_lame_sink_event): Don't crash if we get an EOS event before the encoder has been set up (#339287). 2006-04-21 Wim Taymans * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_start), (gst_dvd_read_src_goto_title), (gst_dvd_read_src_read), (gst_dvd_read_src_create), (gst_dvd_read_src_goto_sector): Move errors out of the normal code flow. Don't send eos, basesrc will do that for us when needed. 2006-04-21 Wim Taymans * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_change_state): * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_change_state): * gst/mpegstream/gstrfc2250enc.c: (gst_rfc2250_enc_change_state): Do state changes correctly 2006-04-13 Tim-Philipp Müller * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_alloc_sized_buf), (gst_mpeg2dec_alloc_buffer): Can't use gst_pad_alloc_buffer*() when we are going to crop the image before sending it out. Downstream basetransform-based elements will complain about the wrong unit size otherwise (when not operating in passthrough-mode at least). Const-ify some static variables and do some minor clean-ups. Use I420 macros for size/offsets (not really necessary in this particular context, but this kind of code gets copy'n'pasted). 2006-04-13 Tim-Philipp Müller * gst/mpegstream/gstmpegpacketize.c: (gst_mpeg_packetize_put), (read_cache): * gst/mpegstream/gstmpegpacketize.h: g_malloc() can't fail, we don't need to handle this. Same for gst_buffer_new_and_alloc(). * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_chain): klass->send_buffer() should have the same semantics as gst_pad_push(), ie. ownership of the buffer is transfered, so we never have to unref the buffer no matter what the flow return value was. 2006-04-10 Thomas Vander Stichele * common/check.mak: allow for specifying more than one suppressions file in SUPPRESSIONS * Makefile.am: * tests/Makefile.am: * tests/check/.cvsignore: * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * configure.ac: add tests/check * tests/check/gst-plugins-ugly.supp: add suppressions for libs used by -ugly * tests/check/elements/amrnbenc.c: (buffer_new), (buffer_unref), (setup_amrnbenc), (cleanup_amrnbenc), (push_data), (GST_START_TEST), (amrnbenc_suite), (main): add a simple test for encoding amr * ext/amrnb/amrnbenc.c: (gst_amrnbenc_init): fix pad template leaks 2006-04-10 Michael Smith * ext/amrnb/amrnbenc.c: (gst_amrnbenc_chain): Plug big leak in AMR encoder. 2006-04-09 Sebastien Moutte * ext/mad/gstmad.c: (index_seek): move GstIndexEntry *entry variable declaration before the first instruction * ext/mad/gstmad.c: remove debug macros with variable number of parameter by using GST_DEBUG for WIN32 * gst/dvdsub/gstdvdsubdec.c: (gst_dvd_sub_dec_parse_subpic): use gst_guint64_to_gdouble for conversions * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_sync_stream_to_time): replace __FUNCTION__ which is not supported by MSVC by the current function name * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_reset): remove LL suffix by using G_GINT64_CONSTANT * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_parse_packhead), (gst_mpeg_parse_get_rate): use gst_guint64_to_gdouble for conversions * gst/mpegstream/gstmpegparse.h: remove LL suffix by using G_GINT64_CONSTANT * win32/vs6: add project files for tagac3parse, asfdemux, dvdlpcmdec, dvdsub, iec958, lame, mad, mpegaudioparse, mpegstream, realmedia, synaesthesia 2006-04-08 Stefan Kost * ext/amrnb/amrnbdec.c: (gst_amrnbdec_class_init): * ext/amrnb/amrnbenc.c: (gst_amrnbenc_class_init): * ext/amrnb/amrnbparse.c: (gst_amrnbparse_class_init): * ext/mad/gstmad.c: (gst_mad_class_init): * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_class_init): * gst/ac3parse/gstac3parse.c: (gst_ac3parse_class_init): * gst/asfdemux/gstasfmux.c: (gst_asfmux_class_init): * gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_class_init): * gst/iec958/ac3iec.c: (ac3iec_class_init): * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_class_init): * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_class_init): * gst/mpegstream/gstmpegclock.c: (gst_mpeg_clock_class_init): * gst/mpegstream/gstrfc2250enc.c: (gst_rfc2250_enc_class_init): * gst/realmedia/rmdemux.c: (gst_rmdemux_class_init): * gst/synaesthesia/gstsynaesthesia.c: (gst_synaesthesia_class_init): Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent) 2006-04-07 Tim-Philipp Müller Patch by: Fabrizio Gennari * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_sink_event), (gst_asf_demux_push_buffer): Send newsegment event only once per pad, fixes #336550. 2006-04-01 Thomas Vander Stichele * docs/plugins/gst-plugins-ugly-plugins-docs.sgml: * docs/plugins/inspect/plugin-siddec.xml: add siddec * ext/dvdnav/dvdnavsrc.c: doc fixes 2006-04-01 Thomas Vander Stichele * configure.ac: rework similarly to other modules * ext/a52dec/gsta52dec.c: * ext/amrnb/amrnb.c: * ext/dvdnav/dvdnavsrc.c: * ext/dvdread/dvdreadsrc.c: * ext/lame/gstlame.c: * ext/mad/gstid3tag.c: * ext/mpeg2dec/gstmpeg2dec.c: * ext/sidplay/gstsiddec.cc: * gst/asfdemux/gstasf.c: * gst/dvdlpcmdec/gstdvdlpcmdec.c: * gst/dvdsub/gstdvdsubdec.c: * gst/iec958/ac3iec.c: * gst/mpegaudioparse/gstmpegaudioparse.c: * gst/mpegstream/gstmpegstream.c: * gst/realmedia/rmdemux.c: (plugin_init): use the correct defines 2006-03-31 Thomas Vander Stichele * configure.ac: back to HEAD === release 0.10.3 === 2006-03-31 Thomas Vander Stichele * configure.ac: releasing 0.10.3, "Late Plane" 2006-03-29 Tim-Philipp Müller * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_handle_src_event): Don't unref event unconditionally after giving away ownership (gst_pad_push_event(), gst_pad_send_event() and gst_pad_event_default() take ownership of the event passed to them). Fixes warnings/crashes caused by navigation events. 2006-03-28 Tim-Philipp Müller * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_send_subbuffer): Don't ref NULL caps (private streams have NULL caps) (#336387); also, no need to set caps on the same buffer twice. 2006-03-28 Tim-Philipp Müller * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_process_event), (gst_dvd_demux_handle_dvd_event), (gst_dvd_demux_get_audio_stream), (gst_dvd_demux_get_subpicture_stream): * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_sync_stream_to_time): Don't leak element and pad names in error messages, use GST_DEBUG_PAD_NAME instead. Add some more debug code. 2006-03-28 Tim-Philipp Müller * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_init), (gst_dvd_read_src_goto_title), (gst_dvd_read_src_read): Name the structure in the custom event with the language codes for the audio and subtitle streams actually like dvddemux expects it to be named. Set caps on source pad and outgoing buffers. 2006-03-28 Tim-Philipp Müller * ext/lame/gstlame.c: (gst_lame_init), (gst_lame_set_property), (gst_lame_get_property), (gst_lame_setup): * ext/lame/gstlame.h: Make xingheader property non-functional, it's broken anyway after all (use xingmux instead). 2006-03-28 Tim-Philipp Müller * ext/lame/gstlame.c: (gst_lame_sink_event): On EOS, flush encoder and send remaining data. Fix return value handling in sink event function. 2006-03-27 Tim-Philipp Müller Patch by: Jürg Billeter * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_set_property): Fix wrong check for started flag when setting the 'device' property. We want to allow it when the source is NOT started yet and ignore it when the source is running. 2006-03-27 Tim-Philipp Müller Patch by: Fabrizio Gennari * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_setup_pad), (gst_asf_demux_process_chunk): * gst/asfdemux/gstasfdemux.h: Subtract first timestamp from timestamps, so that stream starts from 0; makes live streams that don't start at 0 work again (fixes #317310, #336097). 2006-03-27 Tim-Philipp Müller Patch by: Christian Kirbach * configure.ac: Remove CXX tag from AS_LIBTOOL_TAGS, just like we did for -good. Fixes build on some systems (#331838). 2006-03-24 Tim-Philipp Müller * gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream), (gst_rmdemux_parse_cont): Extract more tags and also post codec name tag on the bus so this shows up in totem and nautilus. 2006-03-24 Tim-Philipp Müller * gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream), (gst_rmdemux_fill_audio_packet), (gst_rmdemux_parse_packet): Extra data usually goes into the caps as 'codec_data', not as first buffer into the stream. Need to byte swap AC3 content in realmedia files for some reason (fixes #331588). 2006-03-24 Tim-Philipp Müller * gst/realmedia/rmdemux.c: (gst_rmdemux_init), (gst_rmdemux_validate_offset), (gst_rmdemux_loop), (gst_rmdemux_parse_mdpr), (gst_rmdemux_parse_packet): When operating in pull mode, post an error message on the bus when all source pads are unlinked or some other fatal error occured (#323023). Regrade some recurring debug messages to LOG level. Convert c++-style comments into C-style ones. 2006-03-24 Tim-Philipp Müller * gst/realmedia/rmdemux.c: (gst_rmdemux_perform_seek), (gst_rmdemux_loop), (gst_rmdemux_chain), (gst_rmdemux_send_event), (gst_rmdemux_all_source_pads_unlinked), (gst_rmdemux_at_least_one_stream_flowok), (gst_rmdemux_add_stream), (gst_rmdemux_parse_packet): * gst/realmedia/rmdemux.h: Handle unlinked source pads properly and stop if all source pads are unlinked (#323023). 2006-03-23 Wim Taymans Patch by: Michal Benes * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_init), (gst_mpeg_demux_parse_packet), (gst_mpeg_demux_parse_pes), (gst_mpeg_demux_send_subbuffer), (gst_mpeg_demux_reset): * gst/mpegstream/gstmpegdemux.h: * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_parse_packhead): Timestamps in mpeg stream are 32-bit numbers. Therefore, with a clock_freq of 90kHz this timestamp overflows every ~13 hours. This situation really happens when grabbing DVB streams. Current mpegdemuxer can not handle this situation correctly and it restarts counting gstreamer timestamps from zero. Fixes #326598. 2006-03-15 Michael Smith * ext/a52dec/gsta52dec.c: (gst_a52dec_sink_event), (gst_a52dec_chain_raw), (gst_a52dec_change_state): * ext/a52dec/gsta52dec.h: Fix #334550: failure to play raw AC3 files due to segment problems. 2006-03-15 Tim-Philipp Müller Patch by: Christophe Fergeau * ext/lame/gstlame.c: (gst_lame_release_memory), (gst_lame_finalize), (gst_lame_class_init), (gst_lame_sink_setcaps), (gst_lame_init), (gst_lame_sink_event), (gst_lame_change_state): Fix some memory leaks (#333345), use GST_DEBUG_FUNCPTR more often. 2006-03-14 Tim-Philipp Müller * ext/mad/gstmad.c: (gst_mad_convert_sink), (gst_mad_update_info), (gst_mad_sink_event), (gst_mad_change_state): Include AUDIO_CODEC tag with tags posted if input is not framed (#334258). Use _scale() util functions in more places. 2006-03-12 Christophe Fergeau Reviewed by: Tim-Philipp Müller * ext/lame/gstlame.c: (gst_lame_class_init): mark the xing-header property as BROKEN (see http://bugzilla.gnome.org/show_bug.cgi?id=330317#c19 for an explanation why it's broken). 2006-03-07 Tim-Philipp Müller Patch by: Alex Lancaster * ext/mad/gstid3tag.c: (tag_list_to_id3_tag_foreach): Add support for writing the GST_TAG_ALBUM_VOLUME_NUMBER tag (#333683) 2006-03-02 Wim Taymans * ext/amrnb/amrnbdec.c: (gst_amrnbdec_init), (gst_amrnbdec_setcaps), (gst_amrnbdec_chain), (gst_amrnbdec_state_change): * ext/amrnb/amrnbenc.c: (gst_amrnbenc_init), (gst_amrnbenc_setcaps), (gst_amrnbenc_chain), (gst_amrnbenc_state_change): * ext/amrnb/amrnbenc.h: * ext/amrnb/amrnbparse.c: (gst_amrnbparse_init), (gst_amrnbparse_query): Further fancyfication. Use _take to get writable data from the adapter. Precalc packet duration. Handle disconts. Forward _push to upstream. Post error messages when something goes wrong. Remove old code in amrnbparse. Don't ignore query results from upstream. 2006-03-02 Michael Smith * ext/amrnb/amrnbenc.c: (gst_amrnbenc_chain): The AMR encoder writes into the audio buffers it processes, so use gst_buffer_make_writable() on buffers we might (they go through an adapter, so there can be copying going on later anyway) be encoding. 2006-03-01 Tim-Philipp Müller Patch by: Jens Granseuer * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_pad_added), (gst_mpeg_parse_handle_src_query): Declare variables at the beginning of a block and make gcc-2.9x happy (fixes #328957) 2006-03-01 Tim-Philipp Müller Patch by: Fabrizio Gennari * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_handle_data): Read packet size, sequence and padsize in right order again (fixes #332796) 2006-02-28 Edward Hervey * gst/iec958/ac3iec.c: Set a proper klass (Codec/Muxer/Audio) for the ElementDetails. 2006-02-27 Jan Schmidt * configure.ac: Make the id3tag and mad checks check for both a header and the appropriate library if the pkg-config is missing. (Closes #331842) Split the id3tag and mad checks into 2 pieces. Sometime soon I might do the same for the plugins themselves. 2006-02-27 Luca Ognibene Reviewed by: Tim-Philipp Müller * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_init), (gst_mpeg2dec_reset), (gst_mpeg2dec_chain): * ext/mpeg2dec/gstmpeg2dec.h: Don't treat STATE_INVALID as fatal error; throw an error only after five consecutive decoding errors. Makes decoding mpeg streams more robust and fixes playback of joined clips (#300682). 2006-02-26 Tim-Philipp Müller * ext/dvdnav/dvdnavsrc.h: Oops. forgot to add this one. 2006-02-26 Julien MOUTTE * ext/Makefile.am: Fix dist-check. 2006-02-26 Tim-Philipp Müller * configure.ac: Disable dvdnavsrc for now. 2006-02-26 Tim-Philipp Müller * configure.ac: * ext/Makefile.am: * ext/dvdnav/Makefile.am: * ext/dvdnav/dvdnavsrc.c: (gst_dvd_nav_src_base_init), (gst_dvd_nav_src_class_init), (gst_dvd_nav_src_check_get_range), (gst_dvd_nav_src_init), (gst_dvd_nav_src_finalize), (gst_dvd_nav_src_is_open), (gst_dvd_nav_src_set_property), (gst_dvd_nav_src_get_property), (gst_dvd_nav_src_set_clock), (gst_dvd_nav_src_tca_seek), (gst_dvd_nav_src_update_streaminfo), (gst_dvd_nav_src_set_domain), (gst_dvd_nav_src_update_highlight), (gst_dvd_nav_src_user_op), (dvdnav_get_event_name), (dvdnav_get_read_domain_name), (gst_dvd_nav_src_print_event), (gst_dvd_nav_src_make_dvd_event), (gst_dvd_nav_src_structure_set_uint64), (gst_dvd_nav_src_push_dvd_nav_packet_event), (gst_dvd_nav_src_push_clut_change_event), (read_vts_info), (gst_dvd_nav_src_push_titlelang_event), (gst_dvd_nav_src_process_next_block), (gst_dvd_nav_src_create), (gst_dvd_nav_src_start), (gst_dvd_nav_src_stop), (gst_dvd_nav_src_handle_navigation_event), (gst_dvd_nav_src_handle_seek_event), (gst_dvd_nav_src_src_event), (gst_dvd_nav_src_query_position), (gst_dvd_nav_src_query_duration), (gst_dvd_nav_src_query), (gst_dvd_nav_src_uri_get_type), (gst_dvd_nav_src_uri_get_protocols), (gst_dvd_nav_src_uri_get_uri), (gst_dvd_nav_src_uri_set_uri), (gst_dvd_nav_src_uri_handler_init), (gst_dvd_nav_src_do_init), (plugin_init): dvdnavsrc ported to 0.10, for the most part at least. Not quite ready for prime time yet though. 2006-02-22 Tim-Philipp Müller * configure.ac: * gst/dvdsub/Makefile.am: * gst/dvdsub/gstdvdsubdec.c: (gst_dvd_sub_dec_base_init), (gst_dvd_sub_dec_class_init), (gst_dvd_sub_dec_init), (gst_dvd_sub_dec_finalize), (gst_dvd_sub_dec_src_event), (gst_dvd_sub_dec_get_event_delay), (gst_dvd_sub_dec_parse_subpic), (gst_get_nibble), (gst_setup_palette), (gst_get_rle_code), (gst_draw_rle_line), (gst_dvd_sub_dec_merge_title), (gst_send_empty_fill), (gst_send_subtitle_frame), (gst_dvd_sub_dec_advance_time), (gst_dvd_sub_dec_chain), (gst_dvd_sub_dec_sink_event), (gst_dvd_sub_dec_handle_dvd_event), (plugin_init): * gst/dvdsub/gstdvdsubdec.h: Port dvdsubdec to 0.10 2006-02-21 Jan Schmidt * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_plugin_init): Push the rank up to SECONDARY+1 so that dvddemux is preferred over mpegdemux for MPEG-2 video streams. 2006-02-20 Jan Schmidt * configure.ac: Bump nano back to CVS === release 0.10.2 === 2006-02-20 Jan Schmidt * configure.ac: releasing 0.10.2, "Season to Taste" 2006-02-19 Jan Schmidt * configure.ac: releasing 0.10.1.3 prelease for 0.10.2 2006-02-17 Tim-Philipp Müller * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_sink_event): In sink event handler, release object lock again _before_ sending EOS event downstream (#313838). 2006-02-17 Christian Schaller * gst/asfdemux/gstasf.c: (plugin_init): Set asfdemux rank to secondary (fixes #331579). 2006-02-17 Jan Schmidt * configure.ac: releasing 0.10.1.2 prelease for 0.10.2 2006-02-17 Tim-Philipp Müller * ext/mpeg2dec/gstmpeg2dec.c: (crop_copy_i420_buffer), (crop_copy_i422_buffer), (crop_buffer): When we need to crop the output buffer, make sure we create a buffer of the right size and respect the implicit striding used for I420 elsewhere in GStreamer (#331301). 2006-02-17 Edward Hervey * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_stream): Do not error out on non-recognized streams. Ignore them and allow playback of the other streams. 2006-02-17 Jan Schmidt * gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_chain_dvd): Add a small sanity check for LPCM reading. 2006-02-17 Edward Hervey * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_file): Take into account the file properties preroll value for timestamping/newsegment. It's weird this value was commented out. 2006-02-16 Wim Taymans * gst/asfdemux/Makefile.am: More asf makefile fixing. 2006-02-16 Wim Taymans * ext/lame/gstlame.c: (gst_lame_init), (gst_lame_chain), (gst_lame_change_state): Fix up lame a bit. Apply patch #319782 by Gautier Portet. 2006-02-16 Edward Hervey * gst/asfdemux/Makefile.am: But we do need to link against the riff libraryr. 2006-02-16 Edward Hervey * gst/asfdemux/Makefile.am: We don't want asfmux.c yet. 2006-02-16 Jan Schmidt * ext/mad/gstmad.c: (gst_mad_init), (scale), (gst_mad_update_info), (gst_mad_sink_event), (gst_mad_check_caps_reset), (gst_mad_chain), (gst_mad_change_state): Port fixes for bugs 314771, 308772, 140237, and 302625 from 0.8 (Patch by Jonathan Matthew, Fixes #329575) Use GST_EVENT_FLUSH_STOP to clear data from the current input buffer, to avoid using it for any future decoding. 2006-02-15 Tim-Philipp Müller * configure.ac: * gst/asfdemux/asfheaders.c: (gst_asf_identify_guid), (gst_asf_get_guid_nick): * gst/asfdemux/asfheaders.h: * gst/asfdemux/gstasf.c: (plugin_init): * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_base_init), (gst_asf_demux_class_init), (gst_asf_demux_init), (gst_asf_demux_sink_event), (gst_asf_demux_handle_seek_event), (gst_asf_demux_handle_src_event), (gst_asf_demux_get_current_offset), (gst_asf_demux_chain), (gst_asf_demux_skip_bytes), (gst_asf_demux_identify_guid), (gst_asf_demux_get_uint8), (gst_asf_demux_get_uint16), (gst_asf_demux_get_uint32), (gst_asf_demux_get_uint64), (gst_asf_demux_get_var_length), (gst_asf_demux_get_buffer), (gst_asf_demux_get_bytes), (gst_asf_demux_get_string), (gst_asf_demux_get_guid), (gst_asf_demux_get_obj_file), (gst_asf_demux_get_bitrate_record), (gst_asf_demux_get_obj_comment), (gst_asf_demux_get_obj_header), (gst_asf_demux_get_obj_header_ext), (gst_asf_demux_get_obj_stream), (gst_asf_demux_get_replicated_data), (gst_asf_demux_get_obj_data), (gst_asf_demux_get_obj_data_correction), (gst_asf_demux_get_stream_audio), (gst_asf_demux_get_stream_correction), (gst_asf_demux_get_stream_video), (gst_asf_demux_get_stream_video_format), (gst_asf_demux_get_stream), (gst_asf_demux_setup_pad), (gst_asf_demux_add_audio_stream), (gst_asf_demux_add_video_stream), (gst_asf_demux_process_stream), (gst_asf_demux_get_gst_tag_from_tag_name), (gst_asf_demux_commit_taglist), (gst_asf_demux_process_ext_content_desc), (gst_asf_demux_get_object_header), (gst_asf_demux_process_data), (gst_asf_demux_process_header), (gst_asf_demux_process_file), (gst_asf_demux_process_comment), (gst_asf_demux_process_bitrate_props_object), (gst_asf_demux_process_header_ext), (gst_asf_demux_process_object), (gst_asf_demux_descramble_segment), (gst_asf_demux_element_send_event), (gst_asf_demux_send_event_unlocked), (gst_asf_demux_push_buffer), (gst_asf_demux_process_chunk), (gst_asf_demux_process_segment), (gst_asf_demux_handle_data), (gst_asf_demux_parse_data), (gst_asf_demux_get_src_query_types), (gst_asf_demux_handle_src_query), (gst_asf_demux_change_state): * gst/asfdemux/gstasfdemux.h: asfdemux ported to 0.10. Does still need a bit of work (seems like there's something funky going on when timestamping video frames). The seeking code is likely to make Wim cry, but hey, at least it compiles. 2006-02-15 Wim Taymans * ext/amrnb/amrnbdec.c: (gst_amrnbdec_setcaps), (gst_amrnbdec_chain), (gst_amrnbdec_state_change): Some more comments. * ext/mpeg2dec/gstmpeg2dec.c: (crop_buffer), (handle_slice): Applied patch from Fabrizio Gennari, fixes #330844. 2006-02-14 Tim-Philipp Müller * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_init), (gst_dvd_read_src_class_init), (gst_dvd_read_src_start), (gst_dvd_read_src_stop), (gst_dvd_read_src_goto_title), (gst_dvd_read_src_set_property), (gst_dvd_read_src_get_property), (gst_dvd_read_src_uri_get_uri), (gst_dvd_read_src_uri_set_uri): * ext/dvdread/dvdreadsrc.h: Let's try to play the title the user set via the URI handler or via properties instead of always playing the first title. Also, Also, count title/chapter/angle number in URI and properties from 1 rather than 0. 2006-02-13 Tim-Philipp Müller * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_class_init), (gst_dvd_read_src_get_size), (gst_dvd_read_src_do_seek), (gst_dvd_read_src_do_duration_query): Don't implement GstBaseSrc::get_size or GstBaseSrc::is_seekable, otherwise GstBaseSrc will think we can operate pull_range based, which we don't really, and typefinding will fail miserably. Also, make seeking work somewhat (only works with flumpegdemux at the moment, mpegstream needs fixing for that first). 2006-02-13 Tim-Philipp Müller * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_read), (gst_dvd_read_src_create), (gst_dvd_read_src_src_event): Only allocate buffer once we know exactly how much we need, rather than gratuitously allocating 2MB-buffers all the time even if we usually need much less than that. Also, demote a debug message from DEBUG to LOG level. 2006-02-10 Tim-Philipp Müller * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_class_init), (gst_dvd_read_src_seekable), (gst_dvd_read_src_get_size), (gst_dvd_read_src_do_seek), (gst_dvd_read_src_do_duration_query), (gst_dvd_read_src_do_position_query): Add some more debugging and fix duration query in BYTES. 2006-02-09 Tim-Philipp Müller * configure.ac: * ext/Makefile.am: * ext/dvdread/Makefile.am: * ext/dvdread/dvdreadsrc.c: * ext/dvdread/dvdreadsrc.h: Half-baked port to 0.10. Needs some love in the seeking department, but at least it does something. * ext/dvdread/stream_labels.c: * ext/dvdread/stream_labels.h: Remove these (we use ISO-639 language codes internally; applications that want to translate those into language names for display to the user should rely on the iso-codes package for that). 2006-02-06 Wim Taymans * ext/amrnb/amrnbdec.c: (gst_amrnbdec_init), (gst_amrnbdec_setcaps), (gst_amrnbdec_event), (gst_amrnbdec_chain), (gst_amrnbdec_state_change): * ext/amrnb/amrnbdec.h: Fix amrnbdec, handle events, take copy from adapter since the decoder apparently writes in the source data. Use some _scale_int, and precalc duration. Fix some leaks, post ERROR messages. 2006-02-04 Tim-Philipp Müller * gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream): One source pad not being linked is not an error condition when we're still parsing the header. In this case (e.g. where we don't have a suitable decoder installed) just pretend everything is fine, so that the demuxer will actually go on to signal no-more-pads when done parsing the header, otherwise decodebin/playbin will never post the appropriate error message if decoders are not available. 2006-02-03 Edgard Lima * ext/mad/gstid3tag.c: * gst/realmedia/rmdemux.c: Just make it compile with --disable-gst-debug. 2006-01-31 Jan Schmidt * ext/mad/gstmad.c: (gst_mad_convert_src), (scale), (gst_mad_check_caps_reset), (gst_mad_chain): Merge patch from Radoslaw Szkodzinski (bug 326734) 2006-01-31 Stefan Kost * ext/mad/gstid3tag.c: (tag_list_to_id3_tag_foreach), (gst_id3_tag_get_tag_to_render), (gst_id3_tag_sink_event), (gst_id3_tag_src_link), (gst_id3_tag_send_tag_event), (gst_id3_tag_chain): fixing Gdate handling enabling mux/demux mode switching adding better debug output 2006-01-30 Tim-Philipp Müller * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_send_buffer): If we haven't set caps on a source pad yet, the caps on the pad are NULL, not un-fixed. Set caps on outgoing buffers. 2006-01-23 Tim-Philipp Müller * ext/lame/gstlame.c: (gst_lame_finalize), (gst_lame_class_init), (gst_lame_init), (add_one_tag), (gst_lame_set_metadata): * ext/lame/gstlame.h: Contrary to what the const char in the lame API might suggest, lame expects us to keep the strings we pass to id3tag_set_foo() around; it doesn't free them either though, so we have to store them somewhere and free them later when we can be sure lame doesn't need them any longer. 2006-01-23 Tim-Philipp Müller * ext/lame/gstlame.c: (add_one_tag): Fix handling of GST_TAG_DATE (#311679), don't pass an uninitialised string pointer to lame if we don't know how to handle the tag type, and fix minor memory leak. 2006-01-23 Tim-Philipp Müller * ext/mad/gstmad.c: (gst_mad_chain): Fix debug message. 2006-01-22 Martin Soto * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_process_event): Erase spurious call to gst_segment_set_newsegment. * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_process_event): Call the superclass method when handling NEWSEGMENT events. (gst_dvd_demux_handle_dvd_event): Get rid of dvd-audio-shutdown and dvd-audio-restart event handling. There are currently less hackish ways of handling the sparse audio stream problem. 2006-01-20 Thomas Vander Stichele * ext/dvdnav/dvdnavsrc.c: (if): * ext/dvdread/stream_labels.c: * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_segment): * gst/realmedia/rmdemux.c: (gst_rmdemux_loop): fix up error domains, error strings, and use of translation * po/POTFILES.in: fix up this file, even though none of them are actually marked for build yet. 2006-01-19 Martin Soto * gst/mpegstream/gstmpegparse.h (struct _GstMPEGParse): * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_reset) (gst_mpeg_parse_process_event, gst_mpeg_parse_parse_packhead) (gst_mpeg_parse_change_state): Make timestamp adjustment somewhat milder. Actual timestamps are now sent unmodified unless an actual gap is found in the stream. This should fix time display when playing most MPEG files. 2006-01-18 Edward Hervey * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_send_subbuffer): tss tss... always set caps on outgoing buffer. 2006-01-13 Thomas Vander Stichele * configure.ac: back to HEAD === release 0.10.1 === 2006-01-13 Thomas Vander Stichele * configure.ac: releasing 0.10.1, "Peng" 2006-01-11 Thomas Vander Stichele * configure.ac: prerelease 2006-01-10 Tim-Philipp Müller * ext/amrnb/amrnbparse.c: (gst_amrnbparse_query): * ext/mad/gstid3tag.c: (gst_id3_tag_src_query): * ext/mad/gstmad.c: (gst_mad_src_query): * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_src_query): * ext/sidplay/gstsiddec.cc: * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_handle_src_query): * gst/realmedia/rmdemux.c: (gst_rmdemux_src_query): Pass unhandled queries upstream (useful e.g. for SEEKING query) (fixes #325652; based on patch by: Philippe); make rmdemux return FALSE for position queries, instead of setting -1 as value and returning TRUE. 2006-01-05 Martin Soto * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_adjust_ts) (gst_mpeg_parse_process_event, gst_mpeg_parse_pad_added): Don't rewrite timestamps in the case segments are being set from upstream, but use timestamps unmodified. Also send proper position values. This allows for correct time display and makes queries work in sink elements. * gst/mpegstream/gstdvddemux.h: * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_init) (gst_dvd_demux_handle_dvd_event, gst_dvd_demux_send_subbuffer): Rename flush_filter to segment_filter, which is better represents what the arreibute does. * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_process_event): Activate segment filtering when a timestamp discontinuity is seen. 2006-01-04 Tim-Philipp Müller * ext/mad/gstmad.c: (gst_mad_chain): Don't forget that we need to send out a newsegment event after a restart even if we don't have enough data to decode a frame right now. 2005-12-31 Martin Soto * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_handle_dvd_event): Use the new "audio-shutdown" and "audio-restart" DVD events instead of the "spu-still-frame" event to shutdown and restart the audio pipeline. * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_adjust_ts): Check for cases where the segment-based adjustment calculation would produce negative values (which result in an overflow) and return GST_CLOCK_TIME_NONE instead. * gst/mpegstream/gstdvddemux.h: * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_init) (gst_dvd_demux_process_event, gst_dvd_demux_send_subbuffer): Add a mechanism to discard audio buffers with timestamps outside the currently set segment. This was causing (sometimes serious) synchronization problems after seeking in DVDs with LPCM audio, since VOBUs usually contain audio material that lies outside the timestamp range specified by the header. 2005-12-30 Jan Schmidt * ext/mad/gstid3tag.c: (gst_id3_tag_get_type): Remove lingering reference to GstID3Demux * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_parse_pes): Don't output debug saying padding streams are unknown type, because they're not 2005-12-27 Martin Soto * gst/mpegstream/gstdvddemux.c (AUDIO_CAPS) (gst_dvd_demux_get_audio_stream): Use audio/x-lpcm as mimetype for LPCM. * gstmpegdemux.h: * gstmpegdemux.c (gst_mpeg_demux_get_video_stream) (gst_mpeg_demux_get_audio_stream): * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_get_video_stream) (gst_dvd_demux_get_audio_stream) (gst_dvd_demux_get_subpicture_stream) (gst_dvd_demux_send_subbuffer): Send current* pad buffers with appropriate caps. 2005-12-26 Martin Soto * gst/iec958/ac3iec.h: * gst/iec958/ac3iec.c: (NORMAL_CAPS_DEF, RAW_AUDIO_CAPS_DEF, ac3iec_class_init) (ac3iec_init, ac3iec_set_property, ac3iec_get_property): Add a raw-audio property to ac3iec958 that allows setting the source pad caps to raw audio instead of audio/x-iec958. This makes it possible to use ac3iec958 together with the normal alsasink element to drive an external receiver that autodetects AC3 content. API addition: AC3IEC::raw-audio property 2005-12-23 Michael Smith * gst/iec958/ac3iec.c: (ac3iec_init), (ac3iec_setcaps), (ac3iec_chain_dvd): * gst/iec958/ac3iec.h: Accept audio/x-ac3 and audio/ac3 to ac3iec958 element. 2005-12-21 Tim-Philipp Müller * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_src_event): When getting a seek event, first check if the upstream element can handle it and only do our own seek stuff when it can't (should fix #322856). 2005-12-21 Josef Zlomek Reviewed by: Tim-Philipp Müller * ext/mpeg2dec/gstmpeg2dec.c: (normal_seek): Really convert to BYTES format when we want to convert to bytes (use right variable; fixes #322856). 2005-12-19 Martin Soto Big mpegparse clean up, second round: * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_handle_dvd_event): Send and EOS event down the audio pipeline when an still frame event arrives. This prevents the pipeline from locking when a still menu comes directly after a flush. * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_reset): Don't send a newsegment in reset. (gst_mpeg_parse_adjust_ts): Check for invalid timestamps. (gst_mpeg_parse_handle_newsegment, gst_mpeg_parse_process_event): Move the code of handle_newsegment to process_event. Send a NEWSEGMENT after FLUSH_STOP. (gst_mpeg_parse_change_state): Send a NEWSEGMENT right after moving to PAUSED. * gst/mpegstream/gstmpegdemux.c (gst_mpeg_demux_send_event) (gst_mpeg_demux_class_init): Don't override send_event. * gst/mpegstream/gstmpegdemux.c (gst_mpeg_demux_init) (gst_mpeg_demux_send_event, gst_mpeg_demux_send_subbuffer) (gst_mpeg_demux_reset): * gst/mpegstream/gstmpegdemux.h: Get rid of just_flushed attribute. * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_process_event): Reset the mpegparse element after a flush. * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_handle_newsegment): Don't forward events. * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_process_event): * gst/mpegstream/gstmpegparse.h (struct _GstMPEGParseClass): handle_newsegment is not a virtual method anymore. * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_send_newsegment) (gst_mpeg_parse_reset, gst_mpeg_parse_class_init): * gst/mpegstream/gstmpegparse.h (struct _GstMPEGParseClass): Get rid of send_newsegment virtual method. * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_process_event): Only handle DVD events and call the superclass method for other event types. * gst/mpegstream/gstmpegdemux.c (gst_mpeg_demux_send_event): Don't override process_event anymore. * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_event) (gst_mpeg_parse_process_event): Move actual event processing to process event so that subclasses can properly override or extend it. * gst/mpegstream/gstmpegparse.h (struct _GstMPEGParseClass): Eliminate time parameter in process event. * gst/mpegstream/gstmpegdemux.c (gst_mpeg_demux_init) (gst_mpeg_demux_parse_packet, gst_mpeg_demux_parse_pes) (gst_mpeg_demux_send_subbuffer): * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_class_init) (gst_mpeg_parse_parse_packhead, gst_mpeg_parse_event) (gst_mpeg_parse_chain): Use the new adjust_ts method instead of adding the value of the adjust attribute. * gst/mpegstream/gstmpegdemux.h (struct _GstMPEGVideoStream): Get rid of the adjust attribute. Now all timestamp adjustments are performed by mpegparse using the current segment. * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_adjust_ts) (gst_mpeg_parse_class_init): Implement the adjust_ts method based on the adjust attribute for SCR values and the current segment. * gst/mpegstream/gstmpegparse.h (struct _GstMPEGParseClass): New adjust_ts virtual method to adjust timestamps for outgoing buffers. * gst/mpegstream/gstmpegdemux.c (gst_mpeg_demux_send_newsegment) (gst_mpeg_demux_parse_packet): Don't override send_newsegment. * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_class_init) (gst_dvd_demux_handle_newsegment): Don't override handle_newsegment. (gst_dvd_demux_process_event, gst_dvd_demux_handle_dvd_event): Check for DVD events in process_event instead of handle_dvd_event. * gst/mpegstream/gstmpegparse.h (struct _GstMPEGParseClass): * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_handle_newsegment) (gst_mpeg_parse_send_newsegment, gst_mpeg_parse_send_event): * gst/mpegstream/gstmpegdemux.c (gst_mpeg_demux_process_event) (gst_mpeg_demux_send_event): * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_process_event) (gst_dvd_demux_handle_dvd_event): Eliminate the time parameter in send_event. 2005-12-18 Jan Schmidt * ext/mad/gstid3tag.c: (gst_id3_tag_do_typefind), (gst_id3_tag_do_caps_nego), (gst_id3_tag_chain), (plugin_init): Fix typefinding in id3demux, and then remove it in favour of the new LGPL id3demux in gst-plugins-good * ext/mad/gstmad.c: (gst_mad_dispose): dispose can run more than once. 2005-12-16 Stefan Kost * gst/asfdemux/gstasfmux.c: (gst_asfmux_file_start): change some char* into char[] 2005-12-15 Edward Hervey * gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream): Remove memleak from unused GstRMDemuxStream 2005-12-12 Michael Smith * ext/mad/gstid3tag.c: (gst_mad_id3_to_tag_list), (gst_id3_tag_do_typefind): Use the correct function to free typefind factory list. 2005-12-09 Tim-Philipp Müller * ext/mad/gstmad.c: (gst_mad_src_query): For position and duration queries in TIME format, try the peer first (might be a demuxer). 2005-12-08 Martin Soto * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_handle_newsegment): Properly handle non contiguous VOBUs by adding the segment accum field to the adjust value. * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_class_init) (gst_dvd_demux_init, gst_dvd_demux_handle_newsegment): Extend handle_newsegment to prevent sending actual newsegment events and use tiemstamp rewriting instead. (gst_dvd_demux_handle_dvd_event): Don't send a newsegment after dvd-lang-codes. * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_handle_newsegment) (gst_mpeg_parse_event): * gst/mpegstream/gstmpegparse.h (struct _GstMPEGParseClass): Add a new parameter to handle_newsegment to allow controlling whether newsegment events are forwarded or not. * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_init) (gst_dvd_demux_handle_dvd_event, gst_dvd_demux_send_subbuffer) (gst_dvd_demux_reset): last_end_ptm and discont_time aren't necessary anymore, since timestamp adjustment is now replaced by newsegment events. (gst_dvd_demux_init): Prevent MPEGParse from adjusting timestamps. * gst/mpegstream/gstdvddemux.h: * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_handle_dvd_event): Don't handle dvd-nav-packet events anymore, since the are now replaced by standard newsegment events. * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_init) (gst_dvd_demux_handle_dvd_event, gst_dvd_demux_send_subbuffer) (gst_dvd_demux_change_state): * gst/mpegstream/gstdvddemux.h: Get rid of the ignore_next_newmedia_discont hack. * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_class_init) (gst_dvd_demux_handle_newsegment): * gst/mpegstream/gstmpegdemux.c (gst_mpeg_demux_class_init) (gst_mpeg_demux_handle_newsegment): Don't override handle_newsegment anymore. It was only necessary to handle NEWMEDIA events. * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_process_event) (gst_dvd_demux_handle_dvd_event, gst_dvd_demux_set_cur_audio) (gst_dvd_demux_set_cur_subpicture): Reactivate handling of DVD events. * gst/mpegstream/gstmpegparse.c (normal_seek) (gst_mpeg_parse_handle_src_event) (gst_mpeg_parse_handle_src_query): First attempt at reenabling seek. * gst/mpegstream/gstmpegparse.h: * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_init) (gst_mpeg_parse_update_streaminfo) (gst_mpeg_parse_get_rate) (gst_mpeg_parse_convert, gst_mpeg_parse_get_src_query_types) (gst_mpeg_parse_handle_src_query): * gst/mpegstream/gstmpegdemux.c (gst_mpeg_demux_new_output_pad): Make queries work again. * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_reset) (gst_mpeg_parse_handle_newsegment) (gst_mpeg_parse_send_newsegment, gst_mpeg_parse_pad_added) (gst_mpeg_parse_chain, gst_mpeg_parse_handle_src_event): * gst/mpegstream/gstmpegparse.h (struct _GstMPEGParse): Get rid of the newsegment_pending attribute, and rely instead on proper timestamp adjustment. * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_get_src_event_masks): Erase. * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_init): Initialize fields before creating pads to prevent the pad creation callback from failing. (gst_mpeg_parse_reset): Initialize new fields, and change initialization order to match the order in the structure. (gst_mpeg_parse_handle_newsegment): Forward new segment events whenever possible, and update the current segment. (gst_mpeg_parse_send_newsegment): Update the current segment and pending_newsegment. (gst_mpeg_parse_pad_added): Use the current segment to send newsegment events to new pads. (gst_mpeg_parse_chain): Properly add adjust time to sent buffers and events. Properly update newsegment_pending. * gst/mpegstream/gstmpegparse.h (struct _GstMPEGParse): New fields do_adjust and current_segment. * gst/mpegstream/gstmpegdemux.c: * gst/mpegstream/gstdvddemux.c: * gst/mpegstream/gstmpegparse.h: Rename handle_discont virtual method to handle_newsegment. Erase some (already commented out support) for old NEW_MEDIA events. * gst/mpegstream/gstmpegparse.h (struct _GstMPEGParse): * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_init) (gst_mpeg_parse_reset, gst_mpeg_parse_handle_discont) (gst_mpeg_parse_pad_added, gst_mpeg_parse_parse_packhead) (gst_mpeg_parse_event, gst_mpeg_parse_chain): Erase the "pending_scr" field, and replace it by a slightly different handling of the current SCR. Document code blocks in parse_packhead and chain. 2005-12-07 Edward Hervey * ext/mad/gstid3tag.c: (gst_mad_id3_to_tag_list): g_warning() are only for really fatal warnings. If we can't decode a tag, just ignore that tag and do a GST_WARNING. 2005-12-06 Thomas Vander Stichele * ext/a52dec/gsta52dec.h: * ext/dvdread/dvdreadsrc.h: * ext/lame/gstlame.h: * ext/mad/gstid3tag.c: * ext/mad/gstmad.c: (gst_mad_update_info): * ext/mad/gstmad.h: * ext/mpeg2dec/gstmpeg2dec.h: * ext/sidplay/gstsiddec.h: * gst/ac3parse/gstac3parse.c: * gst/ac3parse/gstac3parse.h: * gst/asfdemux/gstasfdemux.c: * gst/asfdemux/gstasfdemux.h: * gst/iec958/ac3iec.h: * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_chain): * gst/mpegaudioparse/gstmpegaudioparse.h: * gst/mpegstream/gstdvddemux.h: * gst/mpegstream/gstmpegclock.h: * gst/mpegstream/gstmpegdemux.h: * gst/mpegstream/gstmpegpacketize.h: * gst/mpegstream/gstmpegparse.c: * gst/mpegstream/gstmpegparse.h: * gst/mpegstream/gstrfc2250enc.c: * gst/mpegstream/gstrfc2250enc.h: * gst/realmedia/rmdemux.c: * gst/realmedia/rmdemux.h: * gst/synaesthesia/synaescope.c: expand tabs === release 0.10.0 === 2005-12-05 Thomas Vander Stichele * configure.ac: releasing 0.10.0, "Brie" 2005-12-05 Andy Wingo * ext/a52dec/gsta52dec.c: (gst_a52dec_push): * ext/mad/gstmad.c: (gst_mad_chain): * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_alloc_buffer): * gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_chain_raw): * gst/iec958/ac3iec.c: (ac3iec_chain_raw): * gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream), (gst_rmdemux_parse_packet): Update for alloc_buffer changes. 2005-12-05 Andy Wingo * ext/mad/gstid3tag.c (plugin_init): Remove id3tag -- there's just id3demux and id3mux now. Fixes #323199. 2005-12-02 Thomas Vander Stichele * ext/amrnb/Makefile.am: * gst/realmedia/Makefile.am: fix silly Makefile.am bug so they link correctly again === release 0.9.7 === 2005-12-01 Thomas Vander Stichele * configure.ac: releasing 0.9.7, "Canis Meus Naso Non Habet" 2005-12-01 Thomas Vander Stichele * ext/amrnb/Makefile.am: * gst/realmedia/Makefile.am: Don't know how these escaped my eye before. Fix link flags. 2005-11-29 Michal Benes Reviewed by: Tim-Philipp Müller * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_send_event): * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_send_newsegment), (gst_mpeg_parse_send_event): Ref events before sending them to multiple pads, after all gst_pad_send_event() takes ownership of events. Don't leak events that have not been handled (fixes #322745). 2005-11-28 Martin Soto * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_handle_dvd_event) (gst_dvd_demux_handle_dvd_event): Erase code to prevent mpegparse from making timestamp adjustments. This will have to be re-added in some form in the near future, but in order to do that, some nav packet parsing will be necessary in mpegdemux. * gst/mpegstream/gstmpegparse.h (struct _GstMPEGParse): * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_init) (g_value_set_int, gst_mpeg_parse_set_property) Get rid of do_adjust and use_adjust. Rename max_discont to max_src_gap. (gst_mpeg_parse_parse_packhead): When max_scr_gap has a value of -1, no adjustment is made. * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_class_init): Rename max_discont property to max_scr_gap. Erase "adjust" property. * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_send_event): Don't override send_event anymore, base class does the job. * gst/mpegstream/gstmpegdemux.c (gst_mpeg_demux_send_event): Base class now does most of the work. * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_send_event): Generalize to forwarding the event to all source pads in the element. * gst/mpegstream/gstmpegparse.h: * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_class_init) (gst_mpeg_parse_init, gst_mpeg_parse_set_clock) (gst_mpeg_parse_chain, gst_mpeg_parse_get_property) (gst_mpeg_parse_set_property): Clock synchronization doesn't make sense anymore for a demultiplexer. 2005-11-28 Michael Smith * gst/realmedia/rmdemux.c: (gst_rmdemux_loop): Don't treat normal EOS as a fatal error. 2005-11-28 Edward Hervey * ext/mad/gstmad.c: (gst_mad_chain): Proper warning statements, Don't error if the src pad isn't linked when pushing. * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_change_state): Proper state_change, avoids borkage when going to READY 2005-11-25 Jan Schmidt * ext/mpeg2dec/gstmpeg2dec.c: (handle_sequence): Prime libmpeg2's pumps with some null custom buffers to ensure it doesn't ask us to discard garbage later yay. 2005-11-25 Michael Smith * ext/a52dec/gsta52dec.c: (gst_a52dec_init), (gst_a52dec_sink_setcaps), (gst_a52dec_chain), (gst_a52dec_chain_raw): * ext/a52dec/gsta52dec.h: Accept AC3 in audio/x-private1-ac3 format, which includes DVD-specific headers, as well as raw AC3, for compatibility with some demuxers. 2005-11-25 Jan Schmidt * ext/mad/gstmad.c: (gst_mad_chain): When pad_alloc returns other-than-GST_FLOW_OK and mad exits early, skip frame synthesis and consume input data as if we'd done the decode. Makes mad not error when the src pad is not connected. (#319784) 2005-11-23 Martin Soto * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_class_init) (gst_mpeg_parse_handle_discont, gst_mpeg_parse_send_newsegment) (gst_mpeg_parse_chain): * gst/mpegstream/gstmpegdemux.c (gst_mpeg_demux_class_init) (gst_mpeg_demux_send_newsegment): * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_send_subbuffer): * gst/mpegstream/gstmpegparse.h: Rename send_discont method to send_newsegment and add parameters to handle actual segments. Adapt code all around to run with the new name and signature. * gst/mpegstream/gstmpegdemux.c: * gst/mpegstream/gstmpegparse.c: * gst/mpegstream/gstdvddemux.c: Convert to GST_BOILERPLATE. 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, "The Marshals Are Dead" 2005-11-23 Michael Smith * gst/realmedia/rmdemux.c: (gst_rmdemux_sink_event), (gst_rmdemux_src_event), (gst_rmdemux_validate_offset), (find_seek_offset_bytes), (find_seek_offset_time), (gst_rmdemux_perform_seek), (gst_rmdemux_src_query), (gst_rmdemux_loop), (gst_rmdemux_fourcc_isplausible), (gst_rmdemux_chain), (gst_rmdemux_send_event), (gst_rmdemux_add_stream), (gst_rmdemux_parse_mdpr), (gst_rmdemux_parse_packet): Fractional framerates. 2005-11-23 Jan Schmidt * ext/mpeg2dec/gstmpeg2dec.c: (src_templ), (gst_mpeg2dec_negotiate_format), (handle_sequence), (gst_mpeg2dec_sink_event): * ext/mpeg2dec/gstmpeg2dec.h: Use fractional framerates 2005-11-22 Wim Taymans * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_set_clock): set_clock returns a boolean. 2005-11-22 Tim-Philipp Müller * ext/mad/gstmad.c: (gst_mad_chain): Fix seeking even more by sending the newsegment event with the right parameters. Should fix querying in playbin/totem after a seek. 2005-11-22 Tim-Philipp Müller * ext/mad/gstmad.c: (gst_mad_mode_get_type), (gst_mad_src_query), (normal_seek), (gst_mad_sink_event), (gst_mad_chain): Fix seeking in stand-alone mode. Fix nonexistant enum value introduced in previous commit. Improve debug messages here and there. Actually return a proper return value in the sink event handler. 2005-11-22 Thomas Vander Stichele * ext/lame/gstlame.c: * ext/mad/gstmad.c: * ext/sidplay/gstsiddec.cc: fix up GValueEnum 2005-11-22 Andy Wingo * Update for gst_tag_setter API changes. 2005-11-22 Andy Wingo * ext/a52dec/gsta52dec.c (gst_a52dec_sink_event) * ext/mad/gstid3tag.c (gst_id3_tag_sink_event) * ext/mad/gstmad.c (gst_mad_chain) * gst/mpegaudioparse/gstmpegaudioparse.c (gst_mp3parse_sink_event) * gst/mpegstream/gstdvddemux.c (gst_dvd_demux_handle_dvd_event) * gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_handle_discont) (gst_mpeg_parse_send_discont, gst_mpeg_parse_pad_added) * gst/realmedia/rmdemux.c (gst_rmdemux_perform_seek) (gst_rmdemux_chain, gst_rmdemux_add_stream): Run update-funcnames. 2005-11-22 Tim-Philipp Müller * ext/mad/Makefile.am: libgsttagedit => libgsttag 2005-11-22 Edward Hervey * ext/lame/gstlame.c: (gst_lame_sink_event): Don't take the stream lock 2005-11-21 Andy Wingo * ext/sidplay/gstsiddec.cc (gst_siddec_sink_event): * ext/mpeg2dec/gstmpeg2dec.c (gst_mpeg2dec_sink_event): * ext/mad/gstmad.c (gst_mad_sink_event): * ext/a52dec/gsta52dec.c (gst_a52dec_sink_event): Don't take the stream lock. * gst/realmedia/rmdemux.c (gst_rmdemux_perform_seek): Update for stream lock changes. * *.h: * *.c: Ran scripts/update-macros. Oh yes. 2005-11-21 Tim-Philipp Müller * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_process_event): * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_process_event): Filler events have beem removed for now. 2005-11-21 Tim-Philipp Müller * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_add_video_stream): * gst/realmedia/rmdemux.c: (gst_rmdemux_chain), (gst_rmdemux_add_stream), (gst_rmdemux_parse_mdpr): Update for GST_FOURCC_FORMAT API change. 2005-11-21 Edward Hervey * gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_chain_raw): * gst/realmedia/rmdemux.c: (gst_rmdemux_chain), (gst_rmdemux_add_stream), (gst_rmdemux_parse_mdpr), (gst_rmdemux_parse_packet): Modifications for disapearance of GST_PAD_IS_USABLE() 2005-11-18 Michael Smith * gst/iec958/ac3iec.c: (ac3iec_init), (ac3iec_chain_dvd): Remove some setcaps brokenness. Don't crash on bad input. 2005-11-15 Johan Dahlin * ext/mad/gstid3tag.c (gst_mad_id3_to_tag_list): unset GValues after calling transform. (gst_id3_tag_do_typefind): Unref caps * ext/mad/gstmad.c (gst_mad_check_caps_reset): Ditto 2005-11-15 Tim-Philipp Müller * ext/mpeg2dec/gstmpeg2dec.c: (handle_slice), (gst_mpeg2dec_sink_event): Set DELTA_UNIT flag on outgoing buffers if this is NOT a keyframe; nice-ify debug message in event handler; add CHECKME. * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_process_event), (gst_dvd_demux_send_event), (gst_dvd_demux_process_private), (gst_dvd_demux_send_subbuffer), (gst_dvd_demux_reset), (gst_dvd_demux_sync_stream_to_time): * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_class_init), (gst_mpeg_demux_process_event), (gst_mpeg_demux_send_event), (gst_mpeg_demux_handle_discont), (gst_mpeg_demux_new_output_pad), (gst_mpeg_demux_parse_packet), (gst_mpeg_demux_parse_pes), (gst_mpeg_demux_send_subbuffer), (gst_mpeg_demux_process_private), (gst_mpeg_demux_sync_stream_to_time), (gst_mpeg_demux_handle_src_event), (gst_mpeg_demux_reset): * gst/mpegstream/gstmpegdemux.h: * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_init), (gst_mpeg_parse_handle_discont), (gst_mpeg_parse_send_buffer), (gst_mpeg_parse_process_event), (gst_mpeg_parse_send_discont), (gst_mpeg_parse_send_event), (gst_mpeg_parse_event), (gst_mpeg_parse_chain): * gst/mpegstream/gstmpegparse.h: Get rid of GST_PAD_IS_USABLE and fix GstFlowReturn vs. gboolean return value confusion (gst_pad_push vs. gst_pad_send_event and gst_pad_push_event); pass flow return values to caller; miscellaneous fixes and clean-ups. 2005-11-14 Martin Soto * gst/mpegstream/Makefile.am (noinst_HEADERS): Add gstrfc2250enc.h. 2005-11-14 Martin Soto * configure.ac: * gst/mpegstream/Makefile.am: * gst/mpegstream/gstdvddemux.c: * gst/mpegstream/gstdvddemux.h: * gst/mpegstream/gstmpegdemux.c: * gst/mpegstream/gstmpegdemux.h: * gst/mpegstream/gstmpegpacketize.c: * gst/mpegstream/gstmpegpacketize.h: * gst/mpegstream/gstmpegparse.c: * gst/mpegstream/gstmpegparse.h: * gst/mpegstream/gstmpegstream.c: * gst/mpegstream/gstrfc2250enc.c: * gst/mpegstream/gstrfc2250enc.h: Applied patch from Josef Zlomek to partially port the mpegstream plugin to GStreamer 0.9. 2005-11-14 Andy Wingo * configure.ac (GST_PLUGIN_LDFLAGS): -no-undefined for better debugging, allows dll builds on windows. Fixes #316076. 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, "Zero-Test Patching" 2005-10-27 Wim Taymans * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_reset), (gst_mpeg2dec_alloc_buffer), (gst_mpeg2dec_negotiate_format), (handle_sequence), (handle_picture), (handle_slice), (gst_mpeg2dec_chain), (gst_mpeg2dec_src_query), (normal_seek), (gst_mpeg2dec_src_event), (gst_mpeg2dec_change_state): Forward GstFlowReturn about everywhere. Handle seeking correctly. 2005-10-27 Wim Taymans * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_negotiate_format), (handle_sequence), (handle_slice), (gst_mpeg2dec_chain), (gst_mpeg2dec_src_query), (gst_mpeg2dec_change_state): Small cleanups in refcounting. 2005-10-26 Wim Taymans * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_init), (gst_mpeg2dec_dispose), (gst_mpeg2dec_reset), (gst_mpeg2dec_alloc_buffer), (gst_mpeg2dec_negotiate_format), (handle_sequence), (handle_picture): * ext/mpeg2dec/gstmpeg2dec.h: Removed lots of dubious code. Handle flushing and seeking correctly. Still leaks though... 2005-10-24 Christian Schaller * configure.ac: port over thomas plugin listing from base 2005-10-24 Thomas Vander Stichele * configure.ac: back to HEAD === release 0.9.4 === 2005-10-24 Thomas Vander Stichele * NEWS: * RELEASE: * configure.ac: Releasing 0.9.4, "Diplodocus" 2005-10-23 Julien MOUTTE * gst/realmedia/rmdemux.c: (gst_rmdemux_loop): STOPPED->FAILED 2005-10-21 Wim Taymans * gst/realmedia/rmdemux.c: (gst_rmdemux_validate_offset), (gst_rmdemux_perform_seek), (gst_rmdemux_src_query): Set correct stream time in newsegment event. 2005-10-21 Thomas Vander Stichele * ext/Makefile.am: fix distcheck 2005-10-20 Tim-Philipp Müller * ext/a52dec/Makefile.am: * ext/a52dec/gsta52dec.c: (gst_a52dec_base_init), (gst_a52dec_class_init), (gst_a52dec_sink_event), (gst_a52dec_change_state): * ext/a52dec/gsta52dec.h: Re-enable CPU flags, use liboil to get them. 2005-10-20 Josef Zlomek Reviewed by: Tim-Philipp Müller * configure.ac: * ext/a52dec/Makefile.am: * ext/a52dec/gsta52dec.c: * ext/a52dec/gsta52dec.h: Port AC3 decoder to 0.9 (#318849). 2005-10-20 Wim Taymans * ext/sidplay/gstsiddec.cc: Small fixes and more error messages. 2005-10-19 Wim Taymans * ext/amrnb/amrnbparse.c: (gst_amrnbparse_query), (gst_amrnbparse_state_change): * ext/mad/gstid3tag.c: (gst_id3_tag_src_query): * ext/mad/gstmad.c: (gst_mad_get_query_types), (gst_mad_src_query): * ext/mpeg2dec/gstmpeg2dec.c: * ext/sidplay/gstsiddec.cc: * gst/realmedia/rmdemux.c: (gst_rmdemux_validate_offset), (gst_rmdemux_src_query), (gst_rmdemux_src_query_types): API change fixen. 2005-10-19 Tim-Philipp Müller * configure.ac: GST_DOC has been renamed to GST_DOCBOOK_CHECK 2005-10-19 Thomas Vander Stichele * configure.ac: some docs I had * ext/amrnb/amrnbenc.c: (gst_amrnbenc_chain): trivial fixes 2005-10-18 Wim Taymans * gst/realmedia/rmdemux.c: (gst_rmdemux_validate_offset), (gst_rmdemux_perform_seek): segment-start/done API change. 2005-10-17 Michael Smith * gst/iec958/ac3iec.c: (ac3iec_chain_raw): Set buffer duration on IEC958 buffers. 2005-10-16 Tim-Philipp Müller * configure.ac: Fix glib check 2005-10-13 Tim-Philipp Müller * ext/mad/gstid3tag.c: (gst_mad_id3_to_tag_list): Fix handling of GST_TAG_DATE, which is now of type GST_TYPE_DATE. 2005-10-13 Stefan Kost * examples/stats/mp2ogg.c: yes, typo fixes 2005-10-12 Stefan Kost * examples/indexing/indexmpeg.c: (main): * ext/a52dec/gsta52dec.c: (gst_a52dec_init): * ext/dvdnav/dvdnavsrc.c: (dvdnavsrc_is_open), (dvdnavsrc_set_property), (dvdnavsrc_open), (dvdnavsrc_close), (dvdnavsrc_event), (dvdnavsrc_convert), (dvdnavsrc_query): * ext/dvdread/dvdreadsrc.c: (dvdreadsrc_set_property), (dvdreadsrc_srcpad_query), (dvdreadsrc_get), (dvdreadsrc_open_file), (dvdreadsrc_close_file): * ext/dvdread/dvdreadsrc.h: * ext/lame/gstlame.h: * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_init): * gst/asfdemux/gstasfmux.c: (gst_asfmux_init): * gst/iec958/ac3iec.h: * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_init): * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_init): * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_init): * gst/mpegstream/gstrfc2250enc.c: (gst_rfc2250_enc_init): * gst/synaesthesia/gstsynaesthesia.c: (gst_synaesthesia_init): renamed GST_FLAGS macros to GST_OBJECT_FLAGS moved bitshift from macro to enum definition 2005-10-11 Wim Taymans * ext/mad/gstid3tag.c: (gst_id3_tag_sink_event): * ext/mad/gstmad.c: (gst_mad_chain): * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_sink_event), (gst_mp3parse_chain): * gst/realmedia/rmdemux.c: (gst_rmdemux_perform_seek), (gst_rmdemux_chain), (gst_rmdemux_add_stream): newsegment API update. 2005-10-06 Wim Taymans * ext/amrnb/amrnbdec.c: Mark invalid frame sizes * ext/mad/gstmad.c: (gst_mad_init), (gst_mad_chain): UNUSABLE is not to be used here, just push out stuff so probes can continue linking or making the pad usable. 2005-10-05 Michael Smith * gst/realmedia/rmdemux.c: (gst_rmdemux_sink_event), (gst_rmdemux_src_event), (gst_rmdemux_validate_offset), (find_seek_offset_bytes), (find_seek_offset_time), (gst_rmdemux_perform_seek), (gst_rmdemux_src_query), (gst_rmdemux_loop), (gst_rmdemux_fourcc_isplausible), (gst_rmdemux_chain), (gst_rmdemux_send_event), (gst_rmdemux_add_stream), (gst_rmdemux_parse_packet): Improve seeking error-resilience. General improvements in error handling. 2005-10-03 Thomas Vander Stichele * configure.ac: back to development === release 0.9.3 === 2005-10-03 Thomas Vander Stichele * NEWS: * README: * configure.ac: releasing 0.9.3, "Athos" 2005-09-30 Michael Smith * gst/realmedia/rmdemux.c: (gst_rmdemux_src_event), (gst_rmdemux_perform_seek), (gst_rmdemux_src_query), (gst_rmdemux_change_state), (gst_rmdemux_loop), (gst_rmdemux_fourcc_isplausible), (gst_rmdemux_chain), (gst_rmdemux_send_event), (gst_rmdemux_add_stream), (gst_rmdemux_parse_packet): * gst/realmedia/rmdemux.h: Sanity checking, and fix some minor memory leaks 2005-09-29 Michael Smith * gst/realmedia/rmdemux.c: (gst_rmdemux_src_event), (gst_rmdemux_perform_seek), (gst_rmdemux_loop), (gst_rmdemux_send_event), (gst_rmdemux_add_stream), (gst_rmdemux_parse_mdpr), (gst_rmdemux_parse_packet): Real demuxer fixes. Make it more bulletproof against bad data, identify a few more stream types. Fix seeking so that it works (at least with the seek example program; it still fails with totem). 2005-09-26 Wim Taymans * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_sink_event), (gst_mp3parse_chain): Set correct caps on buffers too. 2005-09-26 Wim Taymans * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_init), (gst_mp3parse_sink_event), (gst_mp3parse_chain): * gst/mpegaudioparse/gstmpegaudioparse.h: Put timestamps on buffers. 2005-09-21 Flavio Oliveira * ext/amrnb/amrnbenc.c: (gst_amrnbenc_base_init): Changed amrnbenc description, it is an encoder, not decoder. 2005-09-21 Michael Smith * gst/ac3parse/gstac3parse.c: (gst_ac3parse_class_init), (gst_ac3parse_init), (gst_ac3parse_chain): * gst/iec958/ac3_padder.c: (ac3_crc_init), (ac3_crc_update), (ac3_crc_validate), (ac3p_init), (ac3p_parse): * gst/iec958/ac3_padder.h: * gst/iec958/ac3iec.c: Various changes to AC3->IEC958 framer. Mostly to make our IEC958 headers more accurate, and to check AC3 checksums (both of them in each frame), and dump the frame (as a probable sync failure) if they don't match. General code cleanup, improved comments. Changed to not construct the header backwards, and not byteswap everything else. If we end up needing to do little-endian output, we should swap in the element doing the output (AC3 is big-endian). 2005-09-20 Thomas Vander Stichele * docs/plugins/gst-plugins-ugly-plugins.args: * docs/plugins/gst-plugins-ugly-plugins.hierarchy: * docs/plugins/gst-plugins-ugly-plugins.interfaces: * docs/plugins/gst-plugins-ugly-plugins.prerequisites: commit missing files * docs/plugins/inspect/plugin-lame.xml: update 2005-09-19 Wim Taymans * ext/lame/gstlame.c: (gst_lame_chain): Set caps on outgoing buffers. 2005-09-16 Thomas Vander Stichele * ext/lame/gstlame.c: * ext/lame/gstlame.h: clean up further so we don't try to set up five times for a simple pipeline 2005-09-16 Michael Smith * gst/iec958/ac3iec.c: (ac3iec_init): Set setcaps function on sink pad, not source pad. Produce correct caps on output buffers. 2005-09-07 Stefan Kost * ext/mad/gstid3tag.c: gsttaginterface.h -> gsttagsetter.h === release 0.9.1 === 2005-09-06 Thomas Vander Stichele * README: * NEWS: * autogen.sh: * configure.ac: releasing 0.9.1, "The Rat" 2005-09-06 Wim Taymans * ext/amrnb/amrnbdec.c: (gst_amrnbdec_state_change): * ext/amrnb/amrnbenc.c: (gst_amrnbenc_state_change): * ext/amrnb/amrnbparse.c: (gst_amrnbparse_state_change): State change function updates. 2005-09-05 Jan Schmidt * ext/mpeg2dec/gstmpeg2dec.c: GST_CAT_SEEK disappeared from the public API at some point 2005-09-02 Michael Smith * gst/iec958/ac3iec.c: Use the right mime-type for AC3 input, audio/x-private1-ac3, as output by demux 2005-09-02 Michael Smith * gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_chain_dvd): * gst/iec958/ac3iec.c: (ac3iec_get_type), (ac3iec_base_init), (ac3iec_class_init), (ac3iec_init), (ac3iec_finalize), (ac3iec_setcaps), (ac3iec_set_property), (ac3iec_get_property), (ac3iec_chain_dvd), (ac3iec_chain_raw), (ac3iec_change_state), (plugin_init): Changes to use the first_access parameter correctly in ac3 and lpcm plugins. General cleanups in iec958 framer. 2005-09-01 Michael Smith * configure.ac: * gst/iec958/Makefile.am: * gst/iec958/ac3_padder.c: (ac3p_init), (ac3p_push_data), (ac3p_parse): * gst/iec958/ac3_padder.h: * gst/iec958/ac3iec.c: (ac3iec_get_type), (ac3iec_base_init), (ac3iec_class_init), (ac3iec_init), (ac3iec_finalize), (ac3iec_set_property), (ac3iec_get_property), (ac3iec_chain), (ac3iec_change_state), (plugin_init): * gst/iec958/ac3iec.h: AC3 -> IEC958 (S/PDIF) framer, port of Martin Soto's 0.8 plugin. 2005-09-01 Wim Taymans * gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_setcaps), (gst_dvdlpcmdec_chain_dvd), (gst_dvdlpcmdec_chain_raw), (gst_dvdlpcmdec_change_state): Cleanups, fixed header parsing and stripping. 2005-09-01 Michael Smith * gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcm_reset), (gst_dvdlpcmdec_init), (gst_dvdlpcmdec_setcaps), (update_timestamps), (parse_header), (gst_dvdlpcmdec_chain_dvd), (gst_dvdlpcmdec_chain_raw): Use the right bytes to parse the LPCM dvd header 2005-09-01 Michael Smith * gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcm_reset), (gst_dvdlpcmdec_init), (gst_dvdlpcmdec_setcaps), (update_timestamps), (parse_header), (gst_dvdlpcmdec_chain_dvd), (gst_dvdlpcmdec_chain_raw): Return the correct values from chain function. 2005-08-31 Michael Smith * gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcm_reset), (gst_dvdlpcmdec_init), (gst_dvdlpcmdec_setcaps), (update_timestamps), (parse_header), (gst_dvdlpcmdec_chain_dvd), (gst_dvdlpcmdec_chain_raw): * gst/dvdlpcmdec/gstdvdlpcmdec.h: Restructure LPCM decoder to not expect the demuxer to parse the LPCM header; instead do this internally. Also support the old way, using a different mime-type. 2005-08-31 Thomas Vander Stichele * Makefile.am: * configure.ac: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-ugly-plugins-docs.sgml: * docs/plugins/gst-plugins-ugly-plugins-sections.txt: * docs/plugins/gst-plugins-ugly-plugins.types: * ext/dvdnav/dvdnavsrc.c: (dvdnavsrc_tca_seek): * ext/dvdread/dvdreadsrc.c: (_open), (_seek_title), (_seek_chapter), (_read): * gst/mpegaudioparse/gstmpegaudioparse.c: add plugin documentation