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 * ext/mad/gstid3tag.c: (tag_list_to_id3_tag_foreach): Add support for writing the GST_TAG_ALBUM_VOLUME_NUMBER tag (#333683, patch by: Alex Lancaster). 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 * 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; patch by: Jens Granseuer). 2006-03-01 Tim-Philipp Müller * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_handle_data): Read packet size, sequence and padsize in right order again (fixes #332796; patch by: Fabrizio Gennari). 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 * 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 * 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