2011-07-20  Josep Torra  <josep@fluendo.com>

	Author: Kjell Christenson

	* src/ismd_gst_audio_sink.c: (ismd_configure_output):
	* src/ismd_gst_audio_sink.h:
	Use the proper types and enumerator values to avoid warnings when
	building with recent gcc versions.

2011-07-20  Josep Torra  <josep@fluendo.com>

	Author: Kjell Christenson

	* src/ismd_gst_clock_recovery_provider.c:
	(ismd_gst_clock_recovery_provider_change_state):
	Avoid leaking a clock reference on each PAUSED to PLAYING transition.

2011-07-18  Josep Torra <josep@fluendo.com>

	* src/ismd_gst_element.c: (ismd_gst_element_sink_port_write),
	(ismd_setup_input_pad):
	* src/ismd_gst_element.h:
	Improve the performance by reducing the number of attempts to
	write into the input port.
	Avoid a race condition with the ismd_event_acknowledge by
	calling it only when required.
	Switch the event to ISMD_QUEUE_NOT_FULL instead of
	ISMD_QUEUE_ALWAYS. With this ismd_event_wait will only return
	ISMD_SUCCESS if there is actually space to write additional data.

2011-07-18  Josep Torra  <josep@fluendo.com>

	* Makefile.orig: deleted because it's not needed.
	* README: Fix some wording.

2011-07-18  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_vidpproc.c: (ismd_get_tvmode_size),
	(ismd_gst_vidpproc_change_state), (ismd_gst_vidpproc_init):
	* src/ismd_gst_vidpproc.h:
	Configure the video deinterlace policy according to current TVmode.

2011-07-18  Josep Torra <josep@fluendo.com>

	* src/ismd_gst_element.c: (ismd_gst_element_init),
	(ismd_gst_element_change_state):
	* src/ismd_gst_element.h:
	Initialize some data members in NULL to READY state change.
	Fixes element instance reuses.

2011-06-27  Josep Torra <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (set_audio_pll_freq):
	Select the clock source apropriatelly when the SOC is 3100.

2011-06-03  Josep Torra <josep@fluendo.com>

	* src/ismd_gst_vidrend_sink.c:
	(ismd_gst_vidrend_sink_set_property),
	(ismd_gst_vidrend_sink_change_state):
	Remove the use of ismd_vidrend_set_dest_params as it doesn't seems
	to be needed and may cause issues with trick modes as per Intel
	request.

2011-05-27  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (set_audio_pll_freq_ce3100),
	(set_audio_pll_freq_ce4100), (config_input_gain),
	(config_master_volume), (update_gain_volume_and_mute),
	(ismd_configure_input), (ismd_configure_output),
	(ismd_reconfigure_output), (ismd_gst_audio_sinkpad_setcaps),
	(ismd_gst_audio_sink_change_state), (get_hdmi_info), (ismd_open),
	(ismd_gst_audio_sink_get_property),
	(ismd_gst_audio_sink_set_property), (ismd_gst_audio_sink_convert),
	(ismd_gst_audio_sink_class_init), (ismd_gst_audio_sink_init):
	* src/ismd_gst_audio_sink.h:
	Add a property to configure a gain to be applied to the input signal
	before is mixed. This permit control individual volumes when multiple
	input signals are mixed.
	Several cleanups in comments and removed some dead code.

2011-05-26  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_configure_output):
	Reactivate the code for delay configuration and give a warning if
	it fails refering the memory layout configuration.

2011-04-15  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_refiller.c: (ismd_gst_refiller_chain),
	(ismd_gst_refiller_sink_event):
	Push the last received new segment instead of creating a new one
	as it is causing A/V sync issues.

2011-04-15  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_refiller.c: (ismd_gst_refiller_chain),
	(ismd_gst_refiller_finalize):
	Change the limit in the recent list to 12 frames.
	Some refactoring and cleanups.
	Another attempt to handle nicelly the transition from PAUSED to
	PLAYING.

2011-04-15  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (tag_new_segment),
	(ismd_gst_element_sink_event):
	* src/ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_reset_qos),
	(ismd_gst_vidrend_sink_send_qos),
	(ismd_gst_vidrend_sink_prerolled), (ismd_gst_vidrend_sink_event):
	* src/ismd_gst_vidrend_sink.h:
	Preserve base time between flushes.
	Avoid a crtical in QoS event when we flushed qos data but still
	push the event to keep informing upstream on the timestamps
	presented in the renderer.

2011-04-15  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_refiller.c: (ismd_gst_refiller_flush),
	(ismd_gst_refiller_chain):
	* src/ismd_gst_refiller.h:
	Use single linked lists as we only traverse them in one direction.

2011-04-14  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_refiller.c: (ismd_gst_refiller_chain),
	(ismd_gst_refiller_sink_event), (ismd_gst_refiller_set_property):
	Initial attempt to handle transition PAUSED to PLAYING while the
	destination rectangle is animated.
	Add a maximum constaint in the recent list.

2011-04-14  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (ismd_gst_element_change_state):
	Refactor PAUSED to READY transition as an attempt to avoid a
	race in the driver.

2011-04-14  Josep Torra  <josep@fluendo.com>

	* src/Makefile.am:
	* src/ismd_gst_refiller.c: (ismd_gst_refiller_setcaps),
	(ismd_gst_refiller_flush), (ismd_gst_refiller_chain),
	(ismd_gst_refiller_sink_event), (ismd_gst_refiller_src_event),
	(ismd_gst_refiller_set_property), (ismd_gst_refiller_get_property),
	(ismd_gst_refiller_finalize), (ismd_gst_refiller_base_init),
	(ismd_gst_refiller_class_init), (ismd_gst_refiller_init):
	* src/ismd_gst_refiller.h:
	* src/ismd_gst_vidrend_bin.c: (ismd_gst_vidrend_bin_get_property),
	(ismd_gst_vidrend_bin_set_property),
	(ismd_gst_vidrend_bin_dispose), (ismd_gst_vidrend_bin_base_init),
	(ismd_gst_vidrend_bin_class_init), (ismd_gst_vidrend_bin_init):
	* src/ismd_gst_vidrend_bin.h:
	* src/ismd_plugin.c: (plugin_init):
	Add a new private element to drive the rectangle animation in
	paused state and integrate it in ismd_vidrend_bin.
	Enable REPET FRAME policy on flush by default in ismd_vidrend_bin.

2011-04-14  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sink_event):
	* src/ismd_gst_element.c: (adapter_set_head), (adapter_push),
	(ismd_gst_element_change_state),
	(ismd_gst_element_sink_port_write), (ismd_gst_element_sink_event):
	* src/ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_event),
	(ismd_gst_vidrend_sink_set_property),
	(ismd_gst_vidrend_sink_change_state):
	* src/ismd_gst_vidrend_sink.h:
	Improve the flushing related code.
	Enable REPET FRAME policy on flush by default because it produces a nicer
	behaviour and we require it for rectangle animation on paused state.
	Some random cleanups.

2011-03-30  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (ismd_gst_element_init),
	(ismd_gst_element_set_up_image_attrs_for_ismd_buf),
	(ismd_gst_element_copy_virt_frame_data_to_phys_buf),
	(ismd_gst_element_sink_port_write),
	(ismd_gst_element_sink_chain_image_gst_buffer),
	(ismd_gst_element_pull_i420):
	* src/ismd_gst_element.h:
	* src/ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_reset_qos),
	(ismd_gst_vidrend_sink_track_qos),
	(ismd_gst_vidrend_sink_send_qos), (config_plane),
	(ismd_gst_vidrend_sinkpad_setcaps), (ismd_gst_vidrend_sink_alloc),
	(ismd_open), (ismd_gst_vidrend_sink_query),
	(ismd_gst_vidrend_sink_change_state), (ismd_gst_vidrend_sink_init):
	* src/ismd_gst_vidrend_sink.h:
	Recover the framerate in the video sink and use it to calculate the
	initial average duration.
	Redesign the QoS to provide a better calculation of jitter and 
	proportion.
	Micro optimization reading the system stried.

2011-03-30  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_vidpproc.c: (ismd_gst_vidpproc_setcaps):
	* src/ismd_gst_vidpproc.h:
	Forward the framerate and the other caps info to downstream.

2011-03-29  Josep Torra <josep@fluendo.com>

	* src/psi_helper.c: (psi_filter_create):
	* src/psi_helper.h:
	Use the memory layout configuration to define the PSI buffer size.

2011-03-29  Josep Torra <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_unconfigure_input):
	* src/ismd_gst_vidrend_sink.c:
	(ismd_gst_vidrend_sink_change_state):
	Do not post the EOS message in the element shutdown. 

2011-03-29  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (create_aac_header),
	(ismd_gst_audio_sinkpad_setcaps), (ismd_gst_audio_sink_convert):
	Some fixes in the AAC ADTS header handling.

2011-03-25  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_event),
	(ismd_gst_vidrend_sink_handle_buffer),
	(ismd_gst_vidrend_sink_loop), (ismd_gst_vidrend_sink_set_property),
	(ismd_open), (ismd_gst_vidrend_sink_query),
	(ismd_gst_vidrend_sink_change_state),
	(ismd_gst_vidrend_sink_finalize), (ismd_gst_vidrend_sink_init):
	* src/ismd_gst_vidrend_sink.h:
	Initial attempt to handle the EOS in ismd_vidrend_sink using
	the event notification system. Keep it disabled for now as
	it causes a deadlock in the driver during PAUSED -> READY in PR13.
	Add debug for the configured flush/stop policies and some extra
	debug on the state changes.

2011-03-25  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (adapter_set_head), (adapter_push),
	(ismd_gst_element_init), (ismd_gst_element_change_state),
	(ismd_gst_element_sink_chain_smd_buffer),
	(ismd_gst_element_sink_event), (ismd_gst_element_try_push):
	Some cleanups removing a set of unnecessary checks.

2011-03-25  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (ismd_gst_element_change_state),
	(ismd_gst_element_sink_event):
	Unlock the input loop in flush start to recover faster.
	Rework the element teardown to be more accurate flushing

2011-03-25  Josep Torra <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sink_loop),
	(ismd_unconfigure_input), (ismd_configure_input),
	(ismd_gst_audio_sink_finalize), (ismd_gst_audio_sink_change_state),
	(ismd_gst_audio_sink_event), (ismd_gst_audio_sink_class_init),
	(ismd_gst_audio_sink_init):
	* src/ismd_gst_audio_sink.h:
	* src/ismd_gst_element.c: (ismd_gst_element_change_state),
	(ismd_gst_element_sink_port_write), (ismd_gst_element_send_eos),
	(ismd_gst_element_sink_chain), (ismd_gst_element_sink_event):
	Redesign EOS handling in ismd_audio_sink to use the event notification
	system and be more accurate posting the EOS message.
	Commit the async state changes when ISMD accepted the buffer
	checking the result value.
	Commit the async state changes on EOS too.
	Few debugging messages cleanups.

2011-02-21  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_configure_output):
	
	Author: Dariusz Wysokinski
	
	Configure passtrough mode on HDMI output when is DD and the output
	is asked for auto mode.

2011-02-18  Josep Torra  <josep@fluendo.com>

	Author: Fabien Lebaillif

	* src/ismd_gst_vidrend_bin.c: (ismd_gst_vidrend_bin_get_property),
	(ismd_gst_vidrend_bin_set_property),
	(ismd_gst_vidrend_bin_class_init):
	* src/ismd_gst_vidrend_sink.c:
	(ismd_gst_vidrend_sink_get_property),
	(ismd_gst_vidrend_sink_set_property),
	(ismd_gst_vidrend_sink_change_state),
	(ismd_gst_vidrend_sink_class_init):
	* src/ismd_gst_vidrend_sink.h:
	Add a property to configure the repeat frame behavior during
	a flush in the video sink.

2011-02-18  Josep Torra  <josep@fluendo.com>

	* src/gstsectionfilter.c: (gst_section_filter_push):
	Max section length is 4093 not 1021.

2011-02-03  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (adapter_drain),
	(ismd_gst_element_flush_start):
	On sinks when flush start event is received perform a flush on device
	to ensure that sink_port_write will be unblocked.

2011-02-02  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sinkpad_setcaps):
	* src/ismd_gst_h264_viddec.c:
	(ismd_gst_h264_viddec_sinkpad_setcaps):
	* src/ismd_gst_mpeg2_viddec.c:
	(ismd_gst_mpeg2_viddec_sinkpad_setcaps):
	* src/ismd_gst_mpeg4_viddec.c:
	(ismd_gst_mpeg4_viddec_sinkpad_setcaps):
	* src/ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_sinkpad_setcaps):
        Add reporting of audio and video codecs using GstTags.

2011-01-11  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_reconfigure_output),
	(ismd_gst_audio_sinkpad_setcaps):
	* src/ismd_gst_element.c: (ismd_gst_element_sink_event),
	(ismd_gst_element_try_push), (ismd_gst_element_event_loop):
	Try to avoid blocking on state checks accessing directly to
	the element attribute.
	Add some debug info related to EOS.
	Perform a cycle on STOP on the devices when a EOS buffer is
	going to be pushed as an attempt to recycle the device.

2010-12-30  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_h264_viddec.c: (ismd_gst_h264_viddec_event):
	* src/ismd_gst_mpeg2_viddec.c: (ismd_gst_mpeg2_viddec_event):
	* src/ismd_gst_mpeg4_viddec.c: (ismd_gst_mpeg4_viddec_event):
	* src/ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_event):
	Decode keyframes only on reverse playback.

2010-12-28  Release Maker <nomail@fluendo.com>

	* configure.ac: Back to TRUNK.

=== release 0.10.22 ===

2010-12-23  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_h264_viddec.c: (ismd_gst_h264_viddec_convert):
	Fix outplace AVC to ES conversion.
	Add support for 3 bytes NAL length size.

2010-12-20  Release Maker <nomail@fluendo.com>

	* configure.ac: Back to TRUNK.

=== release 0.10.21 ===

2010-12-20  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_pmt_changed_cb), (ismd_play):
	* src/ismd_gst_dvb_src.h:
	* src/ismd_gst_dvb_stream.c:
	(ismd_gst_dvb_stream_configure_es_pids),
	(ismd_gst_dvb_stream_loop), (ismd_gst_dvb_stream_finalize),
	(ismd_gst_dvb_stream_init):
	Refactor some code to handle the ES stream reconfiguration on
	PMT changes.

2010-12-14  Josep Torra  <josep@fluendo.com>

	* src/psi_helper.c: (psi_filter_parse_eit):
	G_TYPE_STRING changed to G_TYPE_GSTRING on EIT message 
	and not perform UTF8 conversion.

2010-12-14  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (ismd_gst_element_change_state),
	(ismd_gst_element_flush_start):
	Remove some code that is not required anymore.

2010-12-09  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (adapter_drain):
	Move a debug message inside the loop.

2010-12-09  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (adapter_reset), (adapter_set_head),
	(adapter_push), (adapter_drain), (ismd_gst_element_init),
	(ismd_gst_element_finalize):
	* src/ismd_gst_element.h:
	Protect the adapter with a lock to make it thread safe.

2010-11-22  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_convert_AP_ASF):
	Fix anothe bug in the VC1 that caused a memory corruption.

2010-11-22  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (ismd_gst_element_try_push):
	* src/ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_sinkpad_setcaps):
	Preservate the container pixel aspect ratio info for WVC1 too as
	in some clips might not be encoded in the bitstream.

2010-11-17  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_convert_SPMP):
	Fixes a bug in the VC1 decoder that caused a memory corruption
	when seeking in a certain clip.

2010-11-16  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (ismd_gst_element_sink_event):
	When a FLUSH_STOP is received only restart the pushing task if the
	element state is PAUSED or PLAYING.
	Potential fix for a race condition in the pipeline destruction.

2010-11-16  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_vidrend_sink.c: (ismd_close):
	Fix a ISMD event leak introduced with the QoS code.

2010-11-15  Josep Torra  <josep@fluendo.com>

	* src/psi_helper.c: (psi_filter_event_loop), (psi_filter_create):
	In the PSI filter move the event ACK after the processing.

2010-11-15  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_clock.c: (is_device_monitored),
	(ismd_gst_clock_enable_bufmon), (ismd_gst_clock_bufmon_add_render),
	(ismd_gst_clock_finalize), (ismd_gst_clock_init):
	Remve trailing spaces.

2010-11-15  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.h:
	Remove trailing spaces.

2010-11-15  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_enable_clock_recovery),
	(ismd_gst_dvb_src_disable_clock_recovery),
	(ismd_gst_dvb_src_dispose), (ismd_reset), (ismd_play),
	(ismd_gst_dvb_src_change_state):
	Remove trailing spaces.

2010-11-15  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_stream.c: (ismd_gst_dvb_stream_create_buffer),
	(ismd_gst_dvb_stream_loop), (ismd_gst_dvb_stream_finalize):
	Remove trailing spaces.

2010-11-15  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_stream.c: (ismd_gst_dvb_stream_create_buffer):
	* src/psi_helper.c: (psi_filter_event_loop):
	* src/psi_helper.h:
	Use a new API to map the ISMD buffers and provide a replacement for
	older CESDK versions.

2010-11-09  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (get_audio_pll_family),
	(ismd_configure_output):
	Change the logic that decides the output sample rate based on
	the info provided by Intel.

2010-11-08  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (ismd_gst_element_sink_chain_smd_buffer),
	(ismd_gst_element_try_push):
	Add some error checks.

2010-11-08  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_set_property),
	(ismd_gst_dvb_src_get_property), (ismd_pmt_changed_cb),
	(ismd_play), (ismd_gst_dvb_src_class_init),
	(ismd_gst_dvb_src_init):
	* src/ismd_gst_dvb_src.h:
	* src/psi_helper.c: (psi_filter_add_all_pmts):
	* src/psi_helper.h:
	Add discovery property to dvbsrc element to recover information
	on all PMTs.

2010-10-21  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (create_aac_header),
	(ismd_gst_audio_sinkpad_setcaps):
	Don't create an ADTS header if the stream is already declared
	ADTS.

2010-10-20  Release Maker <nomail@fluendo.com>

	* configure.ac: Back to TRUNK.

=== release 0.10.20 ===

2010-10-20  Xavi Artigas  <xartigas@fluendo.com>

	* src/ismd_gst_rectangle.c:
	Remove unused typedef.

2010-10-19  Xavi Artigas  <xartigas@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sinkpad_setcaps),
	(ismd_stop), (ismd_gst_audio_sink_init):
	* src/ismd_gst_audio_sink.h:
	Remove the check that prevents runtime audio codec reconfiguration. It seems
	to be working fine, at least for DVD playback.

2010-10-19  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_vidrend_sink.c:
	(ismd_gst_vidrend_sink_change_state):
	Remove the flush policy change at vidrend shutdown because is
	potentially trigering a deadlock in the driver and we don't 
	really need it.

2010-10-15  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_vidrend_sink.c:
	(ismd_gst_vidrend_sink_change_state):
	Change vidrend flush policy to display black as I suspect that
	repeat frame doesn't work on some versions of ISMD.

2010-10-15  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c:
	Change the max volume to 8 and allow configure the max valid value of ISMD.

2010-10-14  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sinkpad_setcaps):
	Just warn if we can not make the input port primary.
	This change allows some PiP with mixed audio use cases.

2010-10-13  Josep Torra  <josep@fluendo.com>

	* src/psi_helper.c: (psi_filter_parse_eit):
	Fix a double free.

2010-10-11  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_stream.c: (ismd_gst_dvb_stream_event):
	Avoid a refcounting issue with the QoS events.

2010-10-11  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_vidrend_sink.c:
	(ismd_gst_vidrend_sink_set_property),
	(ismd_gst_vidrend_sink_prepare_gdl_plane),
	(ismd_gst_vidrend_sink_change_state):
	Drop the changes to reconfigure the GDL plane.
	Post a custom message just before the GDL plane is going to be
	configured to give the application a chance to specify the GDL plane.
	Use the object lock in the set property.

2010-10-11  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (ismd_gst_element_change_state),
	(ismd_gst_element_commit_state), (ismd_gst_element_sink_event):
	* src/ismd_gst_vidrend_sink.c: (reconfig_plane),
	(ismd_gst_vidrend_sink_change_state):
	Second failed attempt to change the gdl-plane on the fly.

2010-10-11  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_vidrend_sink.c: (config_plane), (reconfig_plane),
	(setup_gdl), (ismd_gst_vidrend_sink_set_property),
	(ismd_gst_vidrend_sink_change_state):
	Create the device and configure it at READY to PAUSED transition.
	Initial attempt to reconfigure the gdl-plane on the fly.

2010-10-07  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (tag_new_segment),
	(ismd_gst_element_sink_chain_smd_buffer),
	(ismd_gst_element_sink_event), (ismd_gst_element_try_push):
	* src/ismd_gst_mpeg2_viddec.c:
	(ismd_gst_mpeg2_viddec_change_state):
	* src/ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_convert),
	(ismd_gst_vidrend_sink_class_init):
	Handle accumulation when we generate the new segment tag on the sinks.
	Enable pts interpolation on the mpeg2 video decoder.
	Recover inperpolated pts when the frames are generated in the decoders.

2010-10-06  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_vidrend_bin.c: (ismd_gst_vidrend_bin_get_property),
	(ismd_gst_vidrend_bin_set_property),
	(ismd_gst_vidrend_bin_class_init):
	Expose the QoS property in the ismd_vidrend_bin element.

2010-10-06  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_clock.c: (ismd_get_internal_time):
	* src/ismd_gst_clock.h:
	* src/ismd_gst_element.c: (ismd_gst_element_class_init),
	(ismd_gst_element_sink_port_write), (ismd_gst_element_try_push):
	* src/ismd_gst_element.h:
	* src/ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_reset_qos),
	(ismd_gst_vidrend_sink_track_qos),
	(ismd_gst_vidrend_sink_send_qos), (ismd_gst_vidrend_sink_event),
	(ismd_gst_vidrend_sink_handle_buffer),
	(ismd_gst_vidrend_sink_loop), (ismd_gst_vidrend_sink_get_property),
	(ismd_gst_vidrend_sink_set_property), (ismd_close), (ismd_open),
	(ismd_gst_vidrend_sink_change_state),
	(ismd_gst_vidrend_sink_base_init),
	(ismd_gst_vidrend_sink_class_init), (ismd_gst_vidrend_sink_init):
	* src/ismd_gst_vidrend_sink.h:
	Initial implementation of QoS event generation in the vidrend sink.
	Few random clean up and refactoring.

2010-10-06  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_event),
	(update_dest_rect), (config_plane), (setup_gdl),
	(ismd_gst_vidrend_sink_query),
	(ismd_gst_vidrend_sink_change_state),
	(ismd_gst_vidrend_sink_dispose), (ismd_gst_vidrend_sink_finalize),
	(ismd_gst_vidrend_sink_class_init), (ismd_gst_vidrend_sink_init):
	* src/ismd_gst_vidrend_sink.h:
	Some cosmetic changes.

2010-10-05  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (ismd_gst_element_sink_port_write):
	* src/ismd_gst_vidpproc.c: (ismd_gst_vidpproc_convert),
	(ismd_gst_vidpproc_event), (ismd_gst_vidpproc_change_state),
	(ismd_gst_vidpproc_class_init):
	* src/ismd_gst_vidpproc.h:
	To perform clipping we need a valid new segment event.
	Drop buffers received before the new segment event have been received.

2010-10-05  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (ismd_gst_element_drain),
	(ismd_gst_element_sink_event):
	Drain the adapter only when the event needs to be serialized.
	Track the usage of elements with the next_client_id counter
	and only drain the element if we pushed some data.

2010-10-04  Xavi Artigas  <xartigas@fluendo.com>

	reviewed by: Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (ismd_gst_element_drain),
	(ismd_gst_element_sink_chain), (ismd_gst_element_sink_event),
	(ismd_gst_element_try_push):
	Misc fixes regarding element draining, ISMD subbuffer handling and EOS.

2010-10-04  Xavi Artigas  <xartigas@fluendo.com>

	reviewed by: Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (ismd_gst_element_change_state),
	(ismd_gst_element_commit_state):
	Make sinks set the device to PAUSED only when commiting the GST state to
	paused. Setting the device state too early made the PR18 audio sink complain
	because the data format had not been set yet.

2010-09-29  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sink_drain):
	* src/ismd_gst_element.c: (ismd_gst_element_drain),
	(ismd_gst_element_send_eos), (ismd_gst_element_sink_event),
	(ismd_gst_element_try_push):
	* src/ismd_gst_h264_viddec.c: (ismd_gst_h264_viddec_drain):
	* src/ismd_gst_mpeg2_viddec.c: (ismd_gst_mpeg2_viddec_drain):
	* src/ismd_gst_mpeg4_viddec.c: (ismd_gst_mpeg4_viddec_drain):
	* src/ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_drain):
	* src/ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_drain):
	Handling of EOS event redesigned.
	Some random minor fixes. 

2010-09-29  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (ismd_gst_element_sink_chain):
	In sinks do preroll on buffers with the GAP flag set and
	discard them.

2010-09-29  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sink_drain),
	(ismd_gst_audio_sink_class_init):
	* src/ismd_gst_element.c: (adapter_drain), (is_port_empty),
	(ismd_gst_element_drain), (ismd_gst_element_class_init),
	(ismd_gst_element_sink_port_write),
	(ismd_gst_element_sink_chain_gst_buffer),
	(ismd_gst_element_sink_event):
	* src/ismd_gst_element.h:
	* src/ismd_gst_h264_viddec.c: (ismd_gst_h264_viddec_drain),
	(ismd_gst_h264_viddec_class_init):
	* src/ismd_gst_mpeg2_viddec.c: (ismd_gst_mpeg2_viddec_drain),
	(ismd_gst_mpeg2_viddec_class_init):
	* src/ismd_gst_mpeg4_viddec.c: (ismd_gst_mpeg4_viddec_drain),
	(ismd_gst_mpeg4_viddec_class_init):
	* src/ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_drain),
	(ismd_gst_vc1_viddec_class_init):
	* src/ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_drain),
	(ismd_gst_vidrend_sink_class_init):
	Redesign the element draining to avoid on band events, like EOS,
	no being serialized correctly.

2010-09-23  Xavi Artigas  <xartigas@fluendo.com>

	* src/ismd_gst_element.c: (tag_new_segment),
	(ismd_gst_element_init), (ismd_gst_element_finalize),
	(ismd_gst_element_change_state),
	(ismd_gst_element_sink_port_write), (ismd_gst_element_sink_event),
	(ismd_gst_element_try_push):
	* src/ismd_gst_element.h:
	Add an ever-increasing client-id tag to all buffers pushed into ISMD elements,
	so they can be tracked when they appear on the other side. It only affects
	debug output, so far.
	Minor whitespace changes. 

2010-09-23  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (ismd_gst_element_drain),
	(ismd_gst_element_sink_event):
	Initial handling of new segment updates and serialization of
	custom events in band.

2010-09-23  Xavi Artigas  <xartigas@fluendo.com>

	* src/ismd_gst_buffer.c: (_do_init), (ismd_gst_buffer_class_init),
	(ismd_gst_buffer_copy):
	Override gst_buffer_copy method to get an extra hardware reference.
	Add new debug category for a more pleasant debugging experience.
	* src/ismd_gst_buffer.h:
	Fix long lines

2010-09-21  Release Maker <nomail@fluendo.com>

	* configure.ac: Back to TRUNK.

=== release 0.10.19 ===

2010-09-21  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c:
	* src/ismd_gst_vidrend_bin.c:
	Change stream time offset to 0 as other values produces
	undesired side effects in audio synchronization.
	Keep the property just for testing.

2010-09-21  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_stream.c: (search_ts_boundary),
	(ismd_gst_dvb_stream_loop):
	Rewritten part of code for PAT and PMT injection to avoid
	some bistream corruption.
	Check for four TS SYNC codes instead of two to avoid false positives.

2010-09-20  Xavi Artigas  <xartigas@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_enable_clock_recovery):
	* src/ismd_gst_element.c: (adapter_drain), (tag_new_segment),
	(ismd_gst_element_init), (ismd_gst_element_get_image_details),
	(ismd_gst_element_set_up_image_attrs_for_ismd_buf),
	(ismd_gst_element_sink_port_write),
	(ismd_gst_element_sink_chain_smd_buffer),
	(ismd_gst_element_sink_chain_image_gst_buffer),
	(ismd_gst_element_sink_event):
	* src/ismd_gst_vidpproc.c: (vidpproc_alloc_nv12):
	* src/ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_query):
	* src/psi_helper.c: (psi_filter_parse_TS_packet):
	Use always uppercase TRUE and FALSE constants, as per the style guide :)

2010-09-20  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_h264_viddec.c: (ismd_gst_h264_viddec_change_state):
	* src/ismd_gst_mpeg2_viddec.c:
	(ismd_gst_mpeg2_viddec_change_state):
	* src/ismd_gst_mpeg4_viddec.c:
	(ismd_gst_mpeg4_viddec_change_state):
	* src/ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_change_state):
	Ensure drop_frames var is set when NULL to READY.

2010-09-16  Xavi Artigas  <xartigas@fluendo.com>

	* src/ismd_gst_vidpproc.c: (ismd_gst_vidpproc_get_property),
	(ismd_gst_vidpproc_set_property), (ismd_gst_vidpproc_change_state),
	(ismd_gst_vidpproc_class_init), (ismd_gst_vidpproc_init):
	* src/ismd_gst_vidpproc.h:
	* src/ismd_gst_vidrend_bin.c: (ismd_gst_vidrend_bin_get_property),
	(ismd_gst_vidrend_bin_set_property),
	(ismd_gst_vidrend_bin_class_init), (ismd_gst_vidrend_bin_init):
	Add pan-and-scan property to vidpproc and vidrend_bin to allow control of
	this feature of the ismd. Fixes DVD menus highlight mismatch between the
	video plane (with pan-and-scan enabled by default) and the GDL plane (which
	does not have pan-and-scan capabilities).

2010-09-15  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_vidpproc.c: (vidpproc_alloc):
	Fixes a compilation warning.

2010-09-15  Release Maker <nomail@fluendo.com>

	* configure.ac: Back to TRUNK.

=== release 0.10.18 ===

2010-09-15  Josep Torra  <josep@fluendo.com>

	* docs/structure_documentation.pdf:
	Updated to reflect the recent changes in the elements.
	      
2010-09-15  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (ismd_gst_element_change_state),
	(ismd_gst_element_try_push):
	* src/ismd_gst_element.h:
	* src/ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_sinkpad_setcaps):
	Write a workarround for pixel aspect ratio on VC1 simple/main profiles.

2010-09-14  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_clock_recovery_provider.c:
	(ismd_gst_clock_recovery_provider_event),
	(ismd_gst_clock_recovery_provider_change_state),
	(ismd_gst_clock_recovery_provider_class_init):
	Produce a new segment in bytes to let the flutsdemux element create
	the segment in time.
	Enable bufmon.

2010-09-14  Josep Torra  <josep@fluendo.com>

	* src/Makefile.am:
	* src/ismd_gst_clock.c: (ismd_gst_clock_bufmon_add_source):
	* src/ismd_gst_clock_recovery_provider.c: (is_sync_valid),
	(do_clock_recovery),
	(ismd_gst_clock_recovery_provider_transform_ip),
	(ismd_gst_clock_recovery_provider_provide_clock),
	(ismd_gst_clock_recovery_provider_set_clock),
	(ismd_gst_clock_recovery_provider_change_state),
	(ismd_gst_clock_recovery_provider_set_property),
	(ismd_gst_clock_recovery_provider_get_property),
	(ismd_gst_clock_recovery_provider_dispose),
	(ismd_gst_clock_recovery_provider_finalize),
	(ismd_gst_clock_recovery_provider_base_init),
	(ismd_gst_clock_recovery_provider_class_init),
	(ismd_gst_clock_recovery_provider_init):
	* src/ismd_gst_clock_recovery_provider.h:
	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_change_state):
	* src/ismd_plugin.c:
	Adds clock recovery/provider element to be used in MPEGTS/IPTV
	scenarios.
	Some refactoring arround bufmon to accomodate the new use case.

2010-09-13  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.h:
	We derive from GstElement directly.

2010-09-13  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_vidpproc.c: (update_dest_rect),
	(vidpproc_alloc_nv12), (vidpproc_alloc), (vidpproc_yv12_to_nv12):
	* src/ismd_gst_vidpproc.h:
	Keep the pixel aspect ratio info inside the SMD buffer description.

2010-09-13  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_h264_viddec.c:
	(ismd_gst_h264_viddec_drop_badframes):
	* src/ismd_gst_mpeg2_viddec.c:
	(ismd_gst_mpeg2_viddec_drop_badframes):
	* src/ismd_gst_mpeg4_viddec.c:
	(ismd_gst_mpeg4_viddec_drop_badframes):
	* src/ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_drop_badframes):
	Fixes seeking in PLAYING state.

2010-09-10  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (video_props_is_equal),
	(ismd_gst_element_try_push):
	Use coded_width/height instead the display_ ones in caps.

2010-09-09  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (ismd_gst_element_change_state),
	(video_props_is_equal), (ismd_gst_element_try_push):
	* src/ismd_gst_element.h:
	* src/ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_sinkpad_setcaps):
	Add info on caps for video decoders.

2010-09-09  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_mpeg2_viddec.c: (ismd_gst_mpeg2_viddec_push_buffer):
	Removed wrong line missed in my previous commit. 

2010-09-09  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sink_event):
	* src/ismd_gst_element.c: (ismd_gst_pad_port_stats),
	(ismd_gst_element_class_init), (ismd_gst_element_sink_chain),
	(ismd_gst_element_flush_start), (ismd_gst_element_sink_event),
	(ismd_gst_element_try_push):
	* src/ismd_gst_element.h:
	* src/ismd_gst_h264_viddec.c:
	(ismd_gst_h264_viddec_drop_badframes),
	(ismd_gst_h264_viddec_event), (ismd_gst_h264_viddec_change_state),
	(ismd_gst_h264_viddec_convert), (ismd_gst_h264_viddec_push_buffer),
	(ismd_gst_h264_viddec_class_init):
	* src/ismd_gst_h264_viddec.h:
	* src/ismd_gst_mpeg2_viddec.c:
	(ismd_gst_mpeg2_viddec_drop_badframes),
	(ismd_gst_mpeg2_viddec_event),
	(ismd_gst_mpeg2_viddec_change_state),
	(ismd_gst_mpeg2_viddec_push_buffer),
	(ismd_gst_mpeg2_viddec_class_init):
	* src/ismd_gst_mpeg2_viddec.h:
	* src/ismd_gst_mpeg4_viddec.c:
	(ismd_gst_mpeg4_viddec_drop_badframes),
	(ismd_gst_mpeg4_viddec_event),
	(ismd_gst_mpeg4_viddec_change_state),
	(ismd_gst_mpeg4_viddec_push_buffer),
	(ismd_gst_mpeg4_viddec_class_init):
	* src/ismd_gst_mpeg4_viddec.h:
	* src/ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_drop_badframes),
	(ismd_gst_vc1_viddec_sinkpad_setcaps),
	(ismd_gst_vc1_viddec_convert), (ismd_gst_vc1_viddec_event),
	(ismd_gst_vc1_viddec_change_state),
	(ismd_gst_vc1_viddec_push_buffer),
	(ismd_gst_vc1_viddec_class_init):
	* src/ismd_gst_vc1_viddec.h:
	* src/ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_event),
	(ismd_gst_vidrend_sink_class_init),
	(ismd_gst_vidrend_sink_change_state):
	* src/ismd_gst_vidrend_sink.h:
	Improved the flushing streategies.
	Refactored the policy changes in the decoders and initial
	attempt to support seeking in playing state.
	Fixed VC1 decoder to be able to decode content without codec_data.

2010-09-06  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sink_query):
	Only use the position retrieved by the SMD layer.
	Partially fixes the problems with query position.

2010-09-06  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_vidpproc.c: (ismd_gst_vidpproc_setcaps),
	(vidpproc_alloc_nv12), (vidpproc_alloc), (vidpproc_yv12_to_nv12),
	(ismd_gst_vidpproc_convert), (ismd_gst_vidpproc_change_state),
	(ismd_gst_vidpproc_init):
	* src/ismd_gst_vidpproc.h:
	Add I420 support
	Some refactoring to avoid SMD buffer allocation in YV12/I420.

2010-09-02  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_vidpproc.c: (ismd_gst_vidpproc_setcaps),
	(vidpproc_alloc), (memcpy_nt), (uv_to_nv12),
	(vidpproc_yv12_to_nv12), (ismd_gst_vidpproc_convert),
	(ismd_gst_vidpproc_alloc), (ismd_gst_vidpproc_change_state),
	(ismd_gst_vidpproc_init):
	* src/ismd_gst_vidpproc.h:
	Add support for YV12 format to vidpproc and some refactoring.

2010-09-02  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sinkpad_setcaps):
	Add support for AAC LOAS audio codec.

2010-09-01  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sink_change_state),
	(ismd_gst_audio_sink_convert):
	* src/ismd_gst_audio_sink.h:
	Remove useless code as the proper fix for PLAY->PAUSE->PLAY
	have to be done inside the driver.

2010-08-31  Release Maker <nomail@fluendo.com>

	* configure.ac: Back to TRUNK.

=== release 0.10.17 ===

2010-08-27  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_h264_viddec.c: (ismd_gst_h264_viddec_change_state):
	* src/ismd_gst_mpeg2_viddec.c:
	(ismd_gst_mpeg2_viddec_change_state):
	* src/ismd_gst_mpeg4_viddec.c:
	(ismd_gst_mpeg4_viddec_change_state):
	* src/ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_change_state):
	Change the error frame policies from PAUSED -> PLAYING and
	PLAYING -> PAUSE.
	This is intended to ever start playback with a good frame.

2010-08-26  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sink_change_state),
	(ismd_gst_audio_sink_query), (ismd_gst_audio_sink_convert):
	* src/ismd_gst_audio_sink.h:
	Implemented query position using the sample count and sample rate.
	Attempt to fix the PLAY -> PAUSE -> PLAY by providing an
	interpolated PTS on first buffer. But doesn't work.

2010-08-26  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sink_query):
	Fixed query duration on raw MP3/AAC files.

2010-08-26  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_close):
	As Intel suggested we have to use ismd_dev_close.

2010-08-26  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_h264_viddec.c: (ismd_gst_h264_viddec_change_state):
	* src/ismd_gst_mpeg2_viddec.c:
	(ismd_gst_mpeg2_viddec_change_state):
	* src/ismd_gst_mpeg4_viddec.c:
	(ismd_gst_mpeg4_viddec_change_state):
	* src/ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_change_state):
	Make decoders by default push all frames. Enabled the SMD decoder
	policy to emit also the frames with decoding errors.

2010-08-25  Release Maker <nomail@fluendo.com>

	* configure.ac: Back to TRUNK.

=== release 0.10.16 ===

2010-08-25  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_vidrend_bin.c: (ismd_gst_vidrend_bin_get_property),
	(ismd_gst_vidrend_bin_set_property),
	(ismd_gst_vidrend_bin_class_init), (ismd_gst_vidrend_bin_init):
	* src/ismd_gst_vidrend_bin.h:
	Expose stream-time-offset in the ismd_vidrend_bin.

2010-08-25  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_clock.c: (is_device_monitored),
	(ismd_gst_clock_enable_bufmon), (ismd_gst_clock_bufmon_add_render),
	(ismd_gst_clock_bufmon_add_source), (ismd_gst_clock_finalize),
	(ismd_gst_clock_base_init), (ismd_gst_clock_class_init),
	(ismd_gst_clock_init):
	* src/ismd_gst_clock.h:
	Some cleanup and refactoring on the bufmon code.

2010-08-25  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sink_set_property):
	Add debug info on the property setter.

2010-08-24  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (adapter_drain),
	(ismd_gst_element_sink_chain_smd_buffer),
	(ismd_gst_element_sink_chain_image_gst_buffer),
	(ismd_gst_element_pull_other), (ismd_gst_element_try_push):
	Revert the changes I did with the PTS that introduced a big regression
	that caused the video not being in sync.

2010-08-24  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sink_query):
	Reverted the change in the query position that was using
	current_time as this represents a clock value and not the
	position in the stream.

2010-08-23  Josep Torra  <josep@fluendo.com>

	* src/Makefile.am:
	* src/ismd_gst_clock.c: (ismd_gst_clock_finalize),
	(ismd_gst_clock_init), (ismd_gst_clock_enable_bufmon),
	(ismd_gst_clock_bufmon_add_render),
	(ismd_gst_clock_bufmon_add_source):
	* src/ismd_gst_clock.h:
	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_change_state):
	* src/ismd_gst_element.c: (ismd_gst_element_change_state):
	Added handling of underrun using ismd_bufmon.

2010-08-22  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_play):
	* src/ismd_gst_dvb_stream.c: (ismd_gst_dvb_stream_loop):
	* src/psi_helper.c: (psi_filter_add_pmts),
	(psi_filter_add_pmt_for_service), (psi_filter_parse_pat):
	* src/psi_helper.h:
	Implemented a potential workarround on the issue that causes
	invalid request error when adding a lot of PIDs to filters.

2010-08-21  Release Maker <nomail@fluendo.com>

	* configure.ac: Back to TRUNK.

=== release 0.10.15 ===

2010-08-21  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sink_query):
	Attempt to implement query duration with bitrate approximation.
	It doesn't work because ismd_audio_input_get_bitrate returns
	not implemented.

2010-08-21  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sink_query):
	Introduced a work arround for query postion to handle MP3 cases.
	Needs to be reviewed which is the correct way handle this feature.

2010-08-21  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c:
	Set a default stream-time-offset of 100 ms. This fixes the playback
	of MP3 as timed audio considering a latency in the 100 ms
	in the SMD device and giving a chance to produce PCM data in time.
	This is a work arround until a there's a proper way to correctly
	preroll the ismd_audio_sink.

2010-08-21  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (ismd_gst_element_get_property),
	(ismd_gst_element_set_property), (ismd_gst_element_class_init),
	(ismd_gst_element_init), (ismd_gst_element_change_state):
	* src/ismd_gst_element.h:
	Added a property to add an offset in time to the base time provided
	to the SMD device. This property is intended to tweak synchronization
	with the SMD clock.

2010-08-21  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.h:
	* src/ismd_gst_buffer.h:
	* src/ismd_gst_demux.h:
	* src/ismd_gst_dvb_src.h:
	* src/ismd_gst_element.h:
	* src/ismd_gst_h264_viddec.h:
	* src/ismd_gst_mpeg2_viddec.h:
	* src/ismd_gst_mpeg4_viddec.h:
	* src/ismd_gst_vc1_viddec.h:
	* src/ismd_gst_vidpproc.h:
	* src/ismd_gst_vidrend_sink.h:
	Drop some unused/dead code.

2010-08-20  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sink_set_property):
	* src/ismd_gst_element.c: (ismd_gst_element_get_property),
	(ismd_gst_element_set_property), (ismd_gst_element_class_init),
	(ismd_gst_element_init), (ismd_gst_element_sink_chain):
	* src/ismd_gst_element.h:
	Add a property to the SMD elements to be able disable the buffer
	join strategy.

2010-08-20  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sink_convert):
	* src/ismd_gst_element.c: (adapter_drain),
	(ismd_gst_element_sink_chain_smd_buffer),
	(ismd_gst_element_sink_chain_image_gst_buffer),
	(ismd_gst_element_pull_other), (ismd_gst_element_try_push):
	Reworked on the timestamp handling and implemented the Intel seggested
	approach of timestamp 0 on first buffer for MP3/AAC use case.
	Unfortunatelly it doesn't work.

2010-08-20  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (get_hdmi_info):
	Auto disable HDMI output if audio caps are not present.
	Fixes playback with my video projector.
	* src/ismd_gst_element.c: (ismd_gst_element_class_init),
	(ismd_gst_element_sink_event):
	* src/ismd_gst_element.h:
	* src/ismd_gst_h264_viddec.c: (ismd_gst_h264_viddec_event),
	(ismd_gst_h264_viddec_base_init),
	(ismd_gst_h264_viddec_class_init), (ismd_gst_h264_viddec_init):
	* src/ismd_gst_mpeg2_viddec.c: (ismd_gst_mpeg2_viddec_event),
	(ismd_gst_mpeg2_viddec_base_init),
	(ismd_gst_mpeg2_viddec_class_init), (ismd_gst_mpeg2_viddec_init):
	* src/ismd_gst_mpeg4_viddec.c: (ismd_gst_mpeg4_viddec_event),
	(ismd_gst_mpeg4_viddec_base_init),
	(ismd_gst_mpeg4_viddec_class_init), (ismd_gst_mpeg4_viddec_init):
	* src/ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_event),
	(ismd_gst_vc1_viddec_base_init), (ismd_gst_vc1_viddec_class_init),
	(ismd_gst_vc1_viddec_init):
	* src/ismd_gst_vidpproc.c: (ismd_gst_vidpproc_base_init),
	(ismd_gst_vidpproc_class_init), (ismd_gst_vidpproc_init):
	Clean up and refactoring to improve readability of code.

2010-08-17  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_stream.c: (ismd_gst_dvb_stream_stop):
	Only send the EOS if we the stream have been configured.

2010-08-17  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (tag_new_segment),
	(ismd_gst_element_try_push):
	Keep applaied rate info in the new segment events.

2010-08-15  Josep Torra  <josep@fluendo.com>

	* src/Makefile.am:
	* src/ismd_gst_audio_sink.c: (ismd_configure_output):
	Fixes build with flub and ubuntu 10.04.

2010-08-14  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sink_change_state),
	(ismd_open), (ismd_gst_audio_sink_event),
	(ismd_gst_audio_sink_convert), (ismd_gst_audio_sink_class_init),
	(ismd_gst_audio_sink_init):
	* src/ismd_gst_audio_sink.h:
	* src/ismd_gst_element.c: (ismd_gst_element_class_init),
	(ismd_gst_element_sink_event):
	* src/ismd_gst_element.h:
	Reverted changes to support MP3/AAC non timed streams because
	due a bug it caused random A/V sync issues.
	Some random cleanups.

2010-08-12  Release Maker <nomail@fluendo.com>

	* configure.ac: Back to TRUNK.

=== release 0.10.14 ===

2010-08-12  Josep Torra  <josep@fluendo.com>

	* src/psi_helper.c: (psi_filter_parse_pmt), (psi_filter_create),
	(psi_filter_wait_for_pmt):
	Initialize version_number in PAT and PMT to be able detect the
	version 0 properly.

2010-08-11  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_reset), (ismd_close), (ismd_play):
	* src/ismd_gst_dvb_stream.c: (ismd_gst_dvb_stream_close):
	Several fixes in pipeline shutdown in attempt to fix the remaining
	memory leak.

2010-08-11  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_stream.c: (ismd_gst_dvb_stream_create_buffer):
	* src/psi_helper.c: (psi_filter_event_loop), (psi_filter_get_pmt):
	Prevent a segfault when the PMT couldn't be parsed correctly
	checking thats it's valid before permit access to it.
	Map as CACHE as we only read the data on the produced SMD buffers.

2010-08-10  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.h:
	Remove useless data member wrongly introduced in my previous commit.

2010-08-10  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sink_change_state),
	(ismd_gst_audio_sink_convert):
	* src/ismd_gst_audio_sink.h:
	Introduce audio clipping. Fixes A/V sync issues when audio buffers
	are pushed to SMD with a PTS that it's in past compared to segment start.

2010-08-10  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c:
	(ismd_gst_dvb_src_disable_clock_recovery):
	Ensure ismd_dvb_src is running when de clock recovery is disabled.

2010-08-10  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_reset), (ismd_close):
	* src/ismd_gst_dvb_stream.c: (ismd_gst_dvb_stream_close),
	(ismd_gst_dvb_stream_create_buffer), (ismd_gst_dvb_stream_loop):
	* src/psi_helper.c: (psi_filter_destroy):
	Explicitely stop each filter to ensure that are flushed.

2010-08-06  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_add_stream),
	(ismd_gst_dvb_src_init):
	* src/ismd_gst_dvb_stream.c: (ismd_gst_dvb_stream_close),
	(ismd_gst_dvb_stream_queue_data), (ismd_gst_dvb_stream_finalize),
	(ismd_gst_dvb_stream_class_init):
	Fixed a race condition that could cause leaking memory in
	the stream adapter.

2010-08-05  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sink_base_init),
	(ismd_gst_audio_sink_init):
	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_add_stream):
	* src/ismd_gst_vidpproc.c: (ismd_gst_vidpproc_finalize),
	(ismd_gst_vidpproc_class_init):
	* src/ismd_gst_vidrend_bin.c: (ismd_gst_vidrend_bin_finalize):
	* src/ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_finalize),
	(ismd_gst_vidrend_sink_class_init):
	* src/psi_helper.c: (psi_filter_parse_pat), (psi_filter_destroy):
	Fixed some more memory leaks.

2010-08-04  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_free_stream),
	(ismd_gst_dvb_src_dispose), (ismd_gst_dvb_src_class_init):
	* src/ismd_gst_dvb_stream.c: (ismd_gst_dvb_stream_close),
	(ismd_gst_dvb_stream_create_buffer), (ismd_gst_dvb_stream_loop):
	* src/ismd_gst_element.c: (ismd_gst_element_finalize):
	Fixed a pair of memory leaks.
	Fixed a bug that could corrupt the output stream.

2010-08-03  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_configure_input),
	(ismd_gst_audio_sinkpad_setcaps):
	Set audio input as primary after output ports have been added
	to the processor. Fixes a recent regression on certain scenarios.

2010-08-02  Julien Moutte <julien@fluendo.com>

	* docs/structure_documentation.pdf: Updated with Fluendo visual
	look and feel.

2010-07-27  Release Maker <nomail@fluendo.com>

	* configure.ac: Back to TRUNK.

=== release 0.10.13 ===

2010-07-27  Fluendo Build  <support@fluendo.com>

	* COPYING: Forgot to update this file with Fluendo copyrights.

2010-07-27  Release Maker <nomail@fluendo.com>

	* configure.ac: Back to TRUNK.

=== release 0.10.12 ===

2010-07-27  Julien Moutte  <julien@fluendo.com>

	* src/gstmpegdesc.c:
	* src/gstmpegdesc.h:
	* src/gstsectionfilter.c:
	* src/gstsectionfilter.h:
	* src/ismd_gst_dvb_stream.c:
	* src/ismd_gst_enum.c:
	* src/ismd_gst_enum.h:
	* src/ismd_gst_rectangle.c:
	* src/ismd_gst_rectangle.h:
	* src/ismd_gst_vidrend_bin.c:
	* src/ismd_gst_vidrend_bin.h:
	* src/psi_helper.c:
	* src/psi_helper.h: Some more adjustments to copyright headers.

2010-07-27  Julien Moutte  <julien@fluendo.com>

	* Makefile.am:
	* configure.ac: fix distcheck.

2010-07-27  Julien Moutte  <julien@fluendo.com>

	* AUTHORS:
	* COPYING:
	* LICENSE:
	* LICENSE.LGPL:
	* Makefile.am:
	* NEWS:
	* README: updated.
	* docs/Makefile.am: Add some documentations.
	* src/*.c:
	* src/*.h: Update copyrights, prepare for OpenSource release.

2010-07-20  Release Maker <nomail@fluendo.com>

	* configure.ac: Back to TRUNK.

=== release 0.10.11 ===

2010-07-20  Fluendo Build  <support@fluendo.com>

	* configure.ac: Just warn when no ISMD header found. This allows 
	the build machine to cut a new release even if it doesn't have the
	proper headers to build.

2010-07-20  Xavi Artigas  <xartigas@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_pmt_changed_cb):
	Made the PAT and PMT parsing functions report when a table was received and
	it had the same version number as before (instead of discarding these tables).
	Do not generate the "PAT/PMT changed" bus message if the version number did
	not change, but inject the tables anyway.
	With these changes, PAT and PMT tables are continuously output, but only when
	they change a message is posted on the bus.
	* src/psi_helper.c: (psi_filter_parse_pmt), (psi_filter_parse_pat),
	(psi_filter_parse_TS_packet), (psi_filter_event_loop):
	Changed some debug output.

2010-07-15  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (master_volume):
	Some simplification on logaritmic volume calculation.

2010-07-14  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (set_audio_pll_freq), (master_volume),
	(update_volume_and_mute):
	Rewrite the volume code using the master volume API.

2010-07-14  Josep Torra  <josep@fluendo.com>

	* configure.ac: Back to TRUNK.

2010-07-13  Josep Torra  <josep@fluendo.com>

	* configure.ac:
	Bump version for release 0.10.10.0

2010-07-13  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (set_audio_pll_freq),
	(ismd_unconfigure_output), (ismd_configure_output),
	(ismd_gst_audio_sinkpad_setcaps):
	* src/ismd_gst_audio_sink.h:
	Make the audio sink use the new set master clock api.
	Check if output ports are already in the processor and share them.
	Fixes interaction in meego with the /bin/audio_setup_outputs process.

2010-07-05  Josep Torra  <josep@fluendo.com>

	* src/gstsectionfilter.c: (gst_section_filter_push):
	* src/ismd_gst_dvb_src.c: (foreach_stream_stop),
	(ismd_pmt_changed_cb), (ismd_eit_changed_cb),
	(ismd_tdt_changed_cb):
	* src/ismd_gst_dvb_stream.c: (ismd_gst_dvb_stream_stop),
	(ismd_gst_dvb_stream_loop):
	Several fixes in debug output.
	Ensure the stream task of ismd_dvb_src are stopped and avoid
	leak threads.

2010-07-05  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_stream.c: (ismd_gst_dvb_stream_stop):
	Strobe only if port_event was created.

2010-07-01  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_configure_output):
	Configure 5.1 when transcode to AC3 or DTS just in case it's relevant.

2010-07-01  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (set_audio_pll_freq_ce4100),
	(set_audio_pll_freq), (ismd_configure_output),
	(ismd_gst_audio_sink_base_init), (ismd_gst_audio_sink_dispose),
	(ismd_gst_audio_sinkpad_setcaps), (ismd_open),
	(ismd_gst_audio_sink_peer_query), (ismd_gst_audio_sink_query):
	The AC3 and DTS encoders can work only at 48KHz. Handle this
	use case in PLL selection and output configuration.

2010-07-01  Josep Torra  <josep@fluendo.com>

	* configure.ac: Back to TRUNK.

2010-06-30  Josep Torra  <josep@fluendo.com>

	* configure.ac:
	Bump version for release 0.10.9.0

2010-06-30  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (set_sadiv_value),
	(set_audio_pll_freq_ce4100), (get_audio_pll_family),
	(ismd_configure_output), (ismd_gst_audio_sinkpad_setcaps):
	* src/ismd_gst_audio_sink.h:
	Revert some of my previous changes and handle 11025 and 22050
	sample rates 44100.

2010-06-30  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_open):
	* src/ismd_gst_element.c: (ismd_gst_element_sink_chain),
	(ismd_gst_element_sink_event):
	* src/ismd_gst_element.h:
	Remember the received new segment format and disable timed audio
	if it wasn't in time.
	Permits playback of raw audio files like mp3 or aac.

2010-06-30  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (set_sadiv_value),
	(set_audio_pll_freq_ce3100), (set_audio_pll_freq_ce4100),
	(get_audio_pll_family), (ismd_configure_output),
	(ismd_gst_audio_sinkpad_setcaps):
	* src/ismd_gst_audio_sink.h:
	Several fixes in the sample rates and the master clock.

2010-06-29  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_configure_output),
	(get_hdmi_info):
	Fixes a bug in the hdmi sample rate discovery related to the string
	conversion and the locales.

2010-06-29  Josep Torra  <josep@fluendo.com>

	reviewed by: <delete if not using a buddy>

	* configure.ac: Back to TRUNK.

2010-06-29  Josep Torra <josep@fluendo.com>

	* configure.ac:
	Bump version for release 0.10.8.0

2010-06-28  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_init):
	* src/psi_helper.c: (psi_filter_create), (psi_filter_destroy):
	* src/psi_helper.h:
	Fixed several memory leaks in the SMD side.

2010-06-28  Josep Torra  <josep@fluendo.com>

	* configure.ac: Back to TRUNK.

2010-06-28  Josep Torra  <josep@fluendo.com>

	* configure.ac:
	Bump version for release 0.10.7.

2010-06-28  Josep Torra  <josep@fluendo.com>

	* docs/ismd_audio_sink.txt:
	Fix a typo in the document.

+2010-06-22  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (ismd_gst_element_change_state):
	In the SMD element shutdown move to STOP state before the device
	flush.

2010-06-22  Josep Torra  <josep@fluendo.com>

	* docs/ismd_audio_sink.txt:
	Add design documentation on the audio sink feature.

2010-06-21  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (ismd_gst_element_sink_chain_smd_buffer):
	Only copy the PTS when are valid.

2010-06-21  Josep Torra  <josep@fluendo.com>

	* configure.ac: Back to TRUNK.

2010-06-21  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_h264_viddec.c: (ismd_gst_h264_viddec_change_state):
	* src/ismd_gst_mpeg2_viddec.c:
	(ismd_gst_mpeg2_viddec_change_state):
	* src/ismd_gst_mpeg4_viddec.c:
	(ismd_gst_mpeg4_viddec_change_state):
	* src/ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_change_state):
	Fix a error log to follow the convention like the others.

2010-06-17  Josep Torra  <josep@fluendo.com>

	* configure.ac:
	Bump version for release 0.10.6.

2010-06-17  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (ismd_gst_element_sink_chain_smd_buffer):
	Fix a bug that was causing the timpestamps being lost between
	ismd_vidpproc and ismd_vidrend_sink if the previous decoder used
	the pad_alloc buffer approach to directly decode in SMD memory.

2010-06-17  Josep Torra  <josep@fluendo.com>

	* configure.ac: Back to TRUNK.

2010-06-16  Josep Torra  <josep@fluendo.com>

	* configure.ac:
	Bump version for release 0.10.5.

2010-06-16  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_enable_clock_recovery),
	(ismd_reset), (ismd_gst_dvb_src_change_state),
	(ismd_gst_dvb_src_init):
	* src/ismd_gst_dvb_src.h:
	* src/ismd_gst_dvb_stream.c: (ismd_gst_dvb_stream_loop):
	* src/psi_helper.c: (psi_filter_destroy):
	Fixed some race conditions that caused random segfaults and improved
	the shutdown.

2010-06-14  Josep Torra  <josep@fluendo.com>

	* configure.ac:
	* src/ismd_gst_element.c: (tag_new_segment),
	(ismd_gst_element_sink_chain_smd_buffer),
	(ismd_gst_element_flush_start), (ismd_gst_element_try_push):
	* src/ismd_gst_mpeg2_viddec.c: (ismd_gst_mpeg2_viddec_rate_notify),
	(ismd_gst_mpeg2_viddec_change_state):
	* src/ismd_gst_vidpproc.c: (ismd_gst_vidpproc_rate_notify),
	(ismd_gst_vidpproc_class_init):
	* src/ismd_gst_vidrend_sink.c:
	(ismd_gst_vidrend_sink_change_state):
	Some minor fixes and commented experimental code added.

2010-06-08  Josep Torra  <josep@fluendo.com>

	* configure.ac:
	Bump version for release 0.10.4.

2010-06-08  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sinkpad_setcaps):
	In gstreamer terms AAC audio is mpegversion = {2, 4}.
	Reflect it in caps and codec init in _setcaps.
	Fixes playback of some AAC content.

2010-06-08  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c:
	(ismd_gst_audio_sink_out_mode_complex_get_type),
	(ismd_configure_input), (ismd_configure_output):
	Some fixes related to multiple audio outputs.

2010-06-08  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c:
	* src/ismd_plugin.c:
	Declare in audio sink caps that only wma version 2 is supported.

2010-06-08  Josep Torra  <josep@fluendo.com>

	* src/Makefile.am:
	* src/ismd_gst_audio_sink.c:
	* src/ismd_gst_buffer.c:
	* src/ismd_gst_clock.c:
	* src/ismd_gst_debug.h:
	* src/ismd_gst_demux.c:
	* src/ismd_gst_dvb_src.c:
	* src/ismd_gst_element.c:
	* src/ismd_gst_h264_viddec.c:
	* src/ismd_gst_mpeg2_viddec.c:
	* src/ismd_gst_mpeg4_viddec.c:
	* src/ismd_gst_pad.c:
	* src/ismd_gst_recovery_clock_provider.c:
	* src/ismd_gst_recovery_clock_provider.h:
	* src/ismd_gst_vc1_viddec.c:
	* src/ismd_gst_vidpproc.c:
	* src/ismd_gst_vidrend_sink.c:
	* src/ismd_plugin.c:
	Drop the recovery clock provider that we don't use.
	Drop ismd_gst_debug.h that it's not usefull.

2010-06-08  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_demux.c:
	* src/ismd_plugin.c: (plugin_init):
	Some cosmetic fixes and TODO notes for demuxer.

2010-06-08  Josep Torra  <josep@fluendo.com>

	* src/Makefile.am:
	* src/converter.c:
	* src/converter.h:
	Drop the converter code.

2010-06-08  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_dec.c:
	* src/ismd_gst_audio_dec.h:
	Remove the audio decoder feature code from subversion.

2010-06-08  Josep Torra  <josep@fluendo.com>

	* src/Makefile.am:
	* src/ismd_plugin.c:
	Drop the code of audio decoder that doesn't fit the gstreamer
	definition of an audio decoder.

2010-06-08  Josep Torra  <josep@fluendo.com>

	* src/Makefile.am:
	* src/ismd_gst_clock_provider.c:
	* src/ismd_gst_clock_provider.h:
	Drop the code of old clock provider feature that we don't use and
	not expose because the sinks are responsible of it.

2010-06-08  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_h264_viddec.c:
	(ismd_gst_h264_viddec_sinkpad_setcaps):
	* src/ismd_gst_mpeg4_viddec.c:
	(ismd_gst_mpeg4_viddec_sinkpad_setcaps):
	* src/ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_sinkpad_setcaps):
	* src/ismd_gst_vidpproc.c: (update_dest_rect),
	(ismd_gst_vidpproc_setcaps), (ismd_gst_vidpproc_init):
	* src/ismd_gst_vidpproc.h:
	Handle pixel aspect ratio in caps and use it for vidpproc.
	Fixes playback of clips with pixel aspect ratio other than 1/1.

2010-06-08  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_vidrend_bin.c:
	Make the default for scaling policy the same than in vidpproc.

2010-06-08  Josep Torra  <josep@fluendo.com>

	* configure.ac:
	Back to development.


2010-05-27  Josep Torra  <josep@fluendo.com>

	* configure.ac:
	Bump version for release.

2010-05-27  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_eit_changed_cb), (ismd_play),
	(ismd_reset), (ismd_gst_dvb_src_release_pad):
	* src/ismd_gst_dvb_stream.c: (ismd_gst_dvb_stream_stop),
	(ismd_gst_dvb_stream_create_buffer), (ismd_gst_dvb_stream_loop):
	* src/psi_helper.c: (get_encoding), (convert_to_utf8),
	(get_encoding_and_convert), (psi_filter_parse_tdt),
	(psi_filter_parse_descriptors), (psi_filter_parse_eit),
	(psi_filter_parse_TS_packet), (psi_filter_event_loop),
	(psi_filter_create), (psi_filter_set_callbacks):
	* src/psi_helper.h:
	Added EIT message production and some refactoring.

2010-05-27  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_reset):
	* src/ismd_gst_dvb_stream.c: (ismd_gst_dvb_stream_loop):
	* src/psi_helper.c: (psi_filter_event_loop):
	Fixes a memory leak.

2010-05-27  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_tdt_changed_cb), (ismd_play),
	(ismd_reset):
	* src/psi_helper.c: (psi_filter_parse_pat), (psi_filter_parse_tdt),
	(psi_filter_build_tdt_structure), (psi_filter_parse_TS_packet),
	(psi_filter_event_loop), (psi_filter_create),
	(psi_filter_set_callbacks):
	* src/psi_helper.h:
	Added TDT message production.

2010-05-27  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sink_provide_clock):
	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_enable_clock_recovery),
	(ismd_gst_dvb_src_change_state):
	* src/ismd_gst_dvb_stream.c: (ismd_gst_dvb_stream_create_buffer):
	* src/ismd_gst_element.c: (adapter_drain),
	(ismd_gst_element_sink_chain_smd_buffer),
	(ismd_gst_element_resync), (ismd_gst_element_sink_event),
	(ismd_gst_element_set_clock):
	* src/ismd_gst_element.h:
	* src/ismd_gst_vidrend_sink.c:
	(ismd_gst_vidrend_sink_provide_clock):
	Some random fixes.

2010-05-27  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (foreach_stream_start), (ismd_play),
	(ismd_gst_dvb_src_request_new_pad):
	* src/ismd_gst_dvb_src.h:
	* src/ismd_gst_dvb_stream.c: (ismd_gst_dvb_stream_open):
	Some more fixes and cleanups.

2010-05-26  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_add_stream),
	(ismd_gst_dvb_src_get_stream), (ismd_gst_dvb_src_remove_stream),
	(foreach_stream_start), (foreach_stream_stop),
	(ismd_gst_dvb_src_finalize), (ismd_gst_dvb_src_set_property),
	(ismd_gst_dvb_src_get_property), (foreach_stream_inject_pat),
	(ismd_data_inject_cb), (ismd_play), (ismd_reset),
	(ismd_gst_dvb_src_change_state),
	(ismd_gst_dvb_src_request_new_pad), (ismd_gst_dvb_src_release_pad),
	(ismd_gst_dvb_src_class_init), (ismd_gst_dvb_src_init):
	* src/ismd_gst_dvb_src.h:
	* src/ismd_gst_dvb_stream.c: (ismd_gst_dvb_stream_create),
	(ismd_gst_dvb_stream_close), (ismd_gst_dvb_stream_start),
	(ismd_gst_dvb_stream_stop), (ismd_gst_dvb_stream_map_pid),
	(ismd_gst_dvb_stream_queue_data),
	(ismd_gst_dvb_stream_create_buffer), (search_ts_boundary),
	(ismd_gst_dvb_stream_loop), (ismd_gst_dvb_stream_dispose),
	(ismd_gst_dvb_stream_init):
	* src/psi_helper.c: (psi_filter_wait_for_pmt):
	* src/psi_helper.h:
	Drop some code in favor of request pad design that provides the
	functionality for extra programs and mpts.

2010-05-26  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_play), (ismd_reset):
	* src/ismd_gst_dvb_src.h:
	* src/ismd_gst_dvb_stream.c: (ismd_gst_dvb_stream_setup),
	(ismd_gst_dvb_stream_flush), (ismd_gst_dvb_stream_close),
	(ismd_gst_dvb_stream_start), (ismd_gst_dvb_stream_map_pid),
	(ismd_gst_dvb_stream_unmap_pid), (ismd_gst_dvb_stream_loop),
	(ismd_gst_dvb_stream_init):
	* src/psi_helper.c: (psi_filter_parse_pmt),
	(psi_filter_event_loop), (psi_filter_create), (psi_filter_destroy),
	(psi_filter_wait_for_pmt):
	* src/psi_helper.h:
	Several fixer for the MPTS functionality.

2010-05-25  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_add_stream),
	(ismd_gst_dvb_src_get_stream), (ismd_gst_dvb_src_free_stream),
	(ismd_gst_dvb_src_remove_stream), (foreach_stream_start),
	(ismd_gst_dvb_src_config_programs), (ismd_gst_dvb_src_finalize),
	(foreach_stream_inject_pat), (ismd_data_inject_cb), (ismd_play),
	(ismd_gst_dvb_src_class_init), (ismd_gst_dvb_src_init):
	* src/ismd_gst_dvb_src.h:
	* src/ismd_gst_dvb_stream.c: (ismd_gst_dvb_stream_loop),
	(ismd_gst_dvb_stream_init):
	Initial draft for MPTS and stream lazy activation.

2010-05-25  Xavi Artigas  <xartigas@fluendo.com>

	* src/gstsectionfilter.c: (gst_section_filter_push):
	Added missing space to a debug output.
	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sink_peer_query),
	(ismd_gst_audio_sink_query):
	* src/ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_query):
	Position queries now read the SMD's linear_time instead of the
	scaled_time, as this is the time which takes into account the
	playback rate.
	Added more meaningful debug output.

2010-05-25  Josep Torra  <josep@fluendo.com>

	* src/gstsectionfilter.c: (gst_section_filter_init),
	(gst_section_filter_uninit), (gst_section_filter_clear),
	(gst_section_filter_push), (gst_section_filter_take_raw):
	* src/gstsectionfilter.h:
	* src/ismd_gst_dvb_src.c: (ismd_data_inject_cb), (ismd_play):
	* src/ismd_gst_dvb_src.h:
	* src/ismd_gst_dvb_stream.c: (ismd_gst_dvb_stream_loop),
	(ismd_gst_dvb_stream_init):
	* src/psi_helper.c: (psi_filter_parse_TS_packet),
	(psi_filter_event_loop):
	* src/psi_helper.h:
	Some more code for PAT and PMT injection and drop the old code.

2010-05-25  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_play), (ismd_reset),
	(ismd_gst_dvb_src_class_init):
	* src/ismd_gst_dvb_src.h:
	* src/ismd_gst_dvb_stream.c: (ismd_gst_dvb_stream_queue_data),
	(ismd_gst_dvb_stream_loop):
	* src/ismd_plugin.c: (plugin_init):
	* src/psi_helper.c: (psi_filter_set_callbacks):
	Some small fixes.

2010-05-21  Josep Torra <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_add_stream),
	(ismd_gst_dvb_src_get_stream), (ismd_gst_dvb_src_free_stream),
	(ismd_gst_dvb_src_remove_stream), (foreach_stream_reconfigure),
	(ismd_gst_dvb_src_config_programs), (ismd_gst_dvb_src_finalize),
	(ismd_gst_dvb_src_set_property), (ismd_gst_dvb_src_get_property),
	(ismd_gst_dvb_src_base_init), (ismd_gst_dvb_src_class_init),
	(ismd_gst_dvb_src_init):
	* src/ismd_gst_dvb_src.h:
	Add some helper code in preparation for multiple program output.

2010-05-21  Josep Torra  <josep@fluendo.com>

	* src/Makefile.am:
	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_set_property):
	* src/ismd_gst_dvb_src.h:
	* src/ismd_gst_dvb_stream.c: (ismd_gst_dvb_stream_create),
	(ismd_gst_dvb_stream_close), (ismd_gst_dvb_stream_start),
	(ismd_gst_dvb_stream_stop), (ismd_gst_dvb_stream_map_pid),
	(ismd_gst_dvb_stream_unmap_pid), (ismd_gst_dvb_stream_loop),
	(ismd_gst_dvb_stream_dispose), (ismd_gst_dvb_stream_init),
	(ismd_gst_dvb_stream_get_type):
	* src/ismd_gst_dvb_stream.h:
	More clean up and refactoring.

2010-05-21  Josep Torra  <josep@fluendo.com>

	* configure.ac:
	* src/psi_helper.c: (psi_filter_event_loop):
	Some minor fixes.

2010-05-21  Josep Torra  <josep@fluendo.com>

	* configure.ac:
	* src/Makefile.am:
	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_set_property),
	(ismd_data_inject_cb), (ismd_play), (ismd_reset),
	(ismd_gst_dvb_src_change_state), (ismd_gst_dvb_src_base_init),
	(ismd_gst_dvb_src_init):
	* src/ismd_gst_dvb_src.h:
	* src/ismd_gst_dvb_stream.c: (ismd_gst_dvb_stream_create),
	(ismd_gst_dvb_stream_setup), (ismd_gst_dvb_stream_flush),
	(ismd_gst_dvb_stream_close), (ismd_gst_dvb_stream_start),
	(ismd_gst_dvb_stream_stop), (ismd_gst_dvb_stream_map_pid),
	(ismd_gst_dvb_stream_unmap_pid), (ismd_gst_dvb_stream_queue_data),
	(ismd_gst_dvb_stream_create_buffer), (search_ts_boundary),
	(ismd_gst_dvb_stream_loop), (ismd_gst_dvb_stream_dispose),
	(ismd_gst_dvb_stream_class_init), (ismd_gst_dvb_stream_event),
	(ismd_gst_dvb_stream_get_query_types), (ismd_gst_dvb_stream_query),
	(ismd_gst_dvb_stream_init), (ismd_gst_dvb_stream_get_type):
	* src/ismd_gst_dvb_stream.h:
	* src/ismd_gst_element.c: (ismd_gst_element_change_state):
	Some more cleanups and refactoring.

2010-05-20  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_create_stream),
	(ismd_gst_dvb_src_close_stream),
	(ismd_gst_dvb_src_stream_create_buffer), (search_ts_boundary),
	(ismd_gst_dvb_src_stream_loop),
	(ismd_gst_dvb_src_stream_queue_data),
	(ismd_gst_dvb_src_flush_stream),
	(ismd_gst_dvb_src_enable_clock_recovery),
	(ismd_gst_dvb_src_stream_dispose), (ismd_gst_dvb_src_stream_init),
	(ismd_data_inject_cb), (ismd_play):
	* src/ismd_gst_dvb_src.h:
	* src/psi_helper.c: (psi_filter_event_loop),
	(psi_filter_wait_for_pmt), (psi_filter_set_callbacks):
	* src/psi_helper.h:
	Introduced a method to inject PAT and PMT from monitoring
	thread/filter into the output streams.
	Keep it disabled for now as seems that this introduces some kind
	of regression.

2010-05-19  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_create_stream),
	(ismd_gst_dvb_src_setup_stream), (ismd_gst_dvb_src_close_stream),
	(ismd_gst_dvb_src_stream_push_buffer),
	(ismd_gst_dvb_src_stream_push), (ismd_gst_dvb_src_stop_stream),
	(ismd_gst_dvb_src_stream_event_loop),
	(ismd_gst_dvb_src_start_stream), (ismd_gst_dvb_src_flush_stream),
	(ismd_gst_dvb_src_enable_clock_recovery),
	(ismd_gst_dvb_src_disable_clock_recovery),
	(ismd_gst_dvb_src_stream_dispose), (ismd_gst_dvb_src_stream_init),
	(ismd_gst_dvb_src_finalize), (ismd_gst_dvb_src_set_property),
	(ismd_pmt_changed_cb), (ismd_play), (ismd_reset), (ismd_close),
	(ismd_gst_dvb_src_change_state), (ismd_gst_dvb_src_init):
	* src/ismd_gst_dvb_src.h:
	Some more code refactored in order to have multiple filters and
	multiple output pads.

2010-05-19  Josep Torra  <josep@fluendo.com>

	* src/psi_helper.c: (psi_filter_find_prognum_in_pat),
	(psi_filter_remove_pmts), (psi_filter_add_pmts),
	(psi_filter_free_pmt_entries), (psi_filter_parse_pmt),
	(psi_filter_parse_adaptation_field), (psi_filter_parse_pat),
	(psi_filter_parse_TS_packet), (psi_filter_event_loop),
	(psi_filter_free_sectionfilter), (psi_filter_free_pmt_data),
	(psi_filter_create), (psi_filter_destroy),
	(psi_filter_wait_for_pat), (psi_filter_get_pat),
	(psi_filter_wait_for_pmt), (psi_filter_get_pmt),
	(psi_filter_notify_changed), (build_descriptors_value_array),
	(psi_filter_build_pat_structure), (psi_filter_build_pmt_structure):
	* src/psi_helper.h:
	Executed gst-indent on source code.

2010-05-19  Josep Torra <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_enable_clock_recovery),
	(ismd_gst_dvb_src_disable_clock_recovery),
	(ismd_gst_dvb_src_event), (ismd_gst_dvb_src_get_query_types),
	(ismd_gst_dvb_src_stream_init), (ismd_gst_dvb_src_set_property),
	(ismd_gst_dvb_src_get_property), (ismd_pmt_changed_cb),
	(ismd_play), (ismd_reset), (ismd_gst_dvb_src_change_state),
	(ismd_gst_dvb_src_class_init), (ismd_gst_dvb_src_init):
	* src/ismd_gst_dvb_src.h:
	* src/psi_helper.c: (psi_filter_remove_pmts),
	(psi_filter_add_pmts), (psi_filter_parse_pmt),
	(psi_filter_parse_pat), (psi_filter_parse_TS_packet),
	(psi_filter_event_loop), (psi_filter_create), (psi_filter_destroy),
	(psi_filter_wait_for_pat), (psi_filter_wait_for_pmt),
	(psi_filter_get_pmt), (psi_filter_build_pat_structure),
	(psi_filter_build_pmt_structure):
	* src/psi_helper.h:
	Some more code cleanup and fixes.
	Added a property to be able configure the clock recovery.

2010-05-18  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_reset_stream),
	(ismd_gst_dvb_src_flush_stream), (ismd_gst_dvb_src_push_buffer),
	(ismd_gst_dvb_src_stream_push), (ismd_gst_dvb_src_stream_init),
	(wait_for_buffering), (ismd_play), (ismd_reset), (ismd_close),
	(ismd_gst_dvb_src_event_loop), (ismd_gst_dvb_src_change_state),
	(ismd_gst_dvb_src_init):
	* src/ismd_gst_dvb_src.h:
	Some more refactoring and cleanups.

2010-05-18  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_create_stream),
	(ismd_gst_dvb_src_setup_stream), (ismd_gst_dvb_src_reset_stream),
	(ismd_gst_dvb_src_stream_map_pid),
	(ismd_gst_dvb_src_stream_unmap_pid),
	(ismd_gst_dvb_src_push_buffer), (ismd_gst_dvb_src_stream_push),
	(ismd_dvb_src_link_function), (ismd_dvb_src_unlink_function),
	(ismd_gst_dvb_src_event), (ismd_gst_dvb_src_query),
	(ismd_gst_dvb_src_stream_dispose),
	(ismd_gst_dvb_src_stream_class_init),
	(ismd_gst_dvb_src_stream_init), (ismd_gst_dvb_src_stream_get_type),
	(_do_init), (ismd_gst_dvb_src_finalize),
	(ismd_gst_dvb_src_set_property), (ismd_gst_dvb_src_get_property),
	(ismd_tune), (ismd_check_resources), (ismd_open), (ismd_negotiate),
	(wait_for_buffering), (ismd_pat_changed_cb), (ismd_pmt_changed_cb),
	(ismd_play), (ismd_reset), (ismd_pause), (ismd_close),
	(ismd_gst_dvb_src_send_event), (ismd_gst_dvb_src_event_loop),
	(ismd_gst_dvb_src_change_state), (ismd_gst_dvb_src_class_init),
	(ismd_gst_dvb_src_init):
	* src/ismd_gst_dvb_src.h:
	* src/psi_helper.c: (psi_filter_remove_pmts),
	(psi_filter_free_pmt_entries), (psi_filter_parse_pmt),
	(psi_filter_parse_pat), (psi_filter_event_loop),
	(psi_filter_create), (psi_filter_destroy),
	(psi_filter_wait_for_pat), (psi_filter_get_pat),
	(psi_filter_wait_for_pmt), (psi_filter_notify_changed),
	(build_descriptors_value_array), (psi_filter_build_pat_structure),
	(psi_filter_build_pmt_structure):
	* src/psi_helper.h:
	Initial refactoring and clean up to permit add multiple filters for
	extra request pads.

2010-05-17  Xavi Artigas  <xartigas@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_build_descriptors_value_array),
	(ismd_build_pmt_structure):
	* src/psi_helper.c: (psi_filter_free_pmt_entries),
	(psi_filter_parse_pmt), (psi_filter_free_pmt_data):
	* src/psi_helper.h:
	Parse MPEG descriptors inside PMTs and export them in the GST message.

2010-05-14  Xavi Artigas  <xartigas@fluendo.com>

	* src/ismd_gst_dvb_src.c:
	Fix build break: forgot to remove obsoleted #include's

2010-05-14  Xavi Artigas  <xartigas@fluendo.com>

	* src/Makefile.am:
	* src/ismd_gst_dvb_src.c: (ismd_build_pat_structure),
	(ismd_build_pmt_structure), (ismd_gst_dvb_src_get_property),
	(ismd_pat_changed_cb), (ismd_pmt_changed_cb),
	(ismd_gst_dvb_src_class_init):
	* src/ismd_pat_info.c:
	* src/ismd_pat_info.h:
	* src/ismd_pmt_info.c:
	* src/ismd_pmt_info.h:
	* src/ismd_pmt_stream_info.c:
	* src/ismd_pmt_stream_info.h:
	Removed pat-info and pmt-info properties. This info is now passed to the
	application through a message in the gst bus.
	Removed the source files that register the PatInfo & PmtInfo GTypes.
	Descriptors are not exposed yet, the code is commented out.

2010-05-14  Xavi Artigas  <xartigas@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_play):
	* src/psi_helper.c: (psi_filter_find_prognum_in_pat),
	(psi_filter_remove_pmts), (psi_filter_parse_pmt),
	(psi_filter_parse_pat), (psi_filter_parse_TS_packet),
	(psi_filter_event_loop), (psi_filter_free_pmt_data),
	(psi_filter_create), (psi_filter_destroy),
	(psi_filter_wait_for_pmt), (psi_filter_get_pmt):
	* src/psi_helper.h:
	First stage of the DVB SRC code cleanup.
	Use hash tables instead of static arrays in some places.
	Make the parsers notify in their return value if they have updated any
	structure, instead of keeping a flag in the psi_filter.
	No changes in functionality.

2010-05-14  Xavi Artigas  <xartigas@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_close):
	The audio sink closes the device in READY->NULL before IsmdElement has
	a chance to detach its event handler from the sink pad.
	This fix marks the event handler as detached, so the IsmdElement does
	not try to detach again.
	Fixes yet another "Cannot detach" warning (hopefully the last one)

2010-05-13  Xavi Artigas  <xartigas@fluendo.com>

	* src/ismd_gst_vidpproc.c: (ismd_gst_vidpproc_set_property):
	When the scale-mode property is changed, do not update the
	hardware immediately unless it has been already setup.
	Fixes "VPP ERROR: Invalid Handle" warnings.

2010-05-13  Xavi Artigas  <xartigas@fluendo.com>

	* src/ismd_gst_element.h:
	* src/ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_prerolled),
	(ismd_gst_vidrend_sink_change_state):
	* src/ismd_gst_vidrend_sink.h:
	Only call to ismd_vidrend_advance_to_pts if we have been at least once
	to the PLAYING state.
	Fixes "ismd_vidrend_advance_to_pts: renderer not started" warnings.

2010-05-13  Xavi Artigas  <xartigas@fluendo.com>

	* src/ismd_gst_element.c: (ismd_gst_element_change_state):
	Detach event from sink pads also, not only source pads.
	Fixes some more "Cannot detach from port X" warnings.

2010-05-13  Xavi Artigas  <xartigas@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_dvb_src_unlink_function),
	(ismd_reset):
	Unlink ISMD pads (detach event callback) in PAUSED->READY. This state
	change closes de device so the event is detached anyway, but we need
	to keep track of it so we do not try to detach again later on and get
	an error from the hardware.
	Fixes the "Cannot detach from port X" warning.

2010-05-07  Xavi Artigas  <xartigas@fluendo.com>

	* configure.ac:
	Bump version to 0.10.2
	* src/ismd_gst_dvb_src.c: (ismd_play):
	Hack to be able to handle more than 8 ES by reporting them to the ISMD
	filter as PSI. Since we are asking for whole TS packets, it does not
	seem to have any effect, besides bypassing the limitation of 8 ES.

2010-05-05  Xavi Artigas  <xartigas@fluendo.com>

	* configure.ac:
	Bump version to 0.10.1

2010-05-05  Xavi Artigas  <xartigas@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_set_property),
	(ismd_gst_dvb_src_get_property), (ismd_gst_dvb_src_class_init),
	(ismd_gst_dvb_src_init):
	* src/ismd_gst_dvb_src.h:
	Changes to the extra-pids property reconfigure the ismd filter if it
	was already running.
	Expose the check-crc property, which the new parsing functions
	implement.

2010-05-05  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sink_init),
	(get_hdmi_info):
	Fix a memory corruption that caused unpredictable results when
	the hdmi cable is disconnected.

2010-05-05  Xavi Artigas  <xartigas@fluendo.com>

	reviewed by: Josep Torra  <josep@fluendo.com>

	* src/Makefile.am:
	Removed psi_parser and added mpegdesc.
	* src/gstmpegdesc.c: (gst_mpeg_descriptor_free),
	(gst_mpeg_descriptor_parse_1), (gst_mpeg_descriptor_parse),
	(gst_mpeg_descriptor_n_desc), (gst_mpeg_descriptor_find),
	(gst_mpeg_descriptor_find_all), (gst_mpeg_descriptor_nth):
	* src/gstmpegdesc.h:
	* src/gstsectionfilter.c: (gst_section_is_complete):
	* src/ismd_gst_dvb_src.c: (ismd_build_pat_info),
	(ismd_build_pmt_info), (ismd_dvb_src_unlink_function),
	(ismd_dvb_src_setup_output_pad), (ismd_dvb_src_connect_gst_pads),
	(connect_pads), (ismd_play), (ismd_pause),
	(ismd_gst_dvb_src_change_state):
	Use the new parsing functions.
	Finalize the incorporation of ismd_element functionality into dvb_src.
	Some necessary refactoring.
	* src/ismd_plugin.c: (plugin_init):
	Define debug categories for the new section filter and mpegdesc.
	* src/psi_helper.c: (psi_filter_get_pmt_index_from_prog_num),
	(psi_filter_remove_pmts), (psi_filter_add_pmts),
	(psi_filter_calc_crc32), (psi_filter_parse_pmt),
	(psi_filter_parse_adaptation_field), (psi_filter_parse_pat),
	(psi_filter_parse_TS_packet), (psi_filter_event_loop),
	(psi_filter_free_sectionfilter), (psi_filter_create),
	(psi_filter_destroy), (psi_filter_wait_for_pat),
	(psi_filter_wait_for_pmt):
	* src/psi_helper.h:
	Incorporate parsing functions from flutsdemux (which handle multi-section
	tables) plus some some work to handle TS packets which are split across ISMD
	buffers.
	* src/psi_parser.c:
	* src/psi_parser.h:
	Deleted.

2010-05-04  Xavi Artigas  <xartigas@fluendo.com>

	* src/Makefile.am:
	* src/gstsectionfilter.c: (gst_section_filter_init),
	(gst_section_filter_uninit), (gst_section_filter_clear),
	(gst_section_is_complete), (gst_section_filter_push):
	* src/gstsectionfilter.h:
	Added sectionfiler.* directly imported from flutsdemux. Not used yet.
	* src/psi_helper.c: (psi_filter_process_PAT_buffer),
	(psi_filter_process_PMT_buffer), (psi_filter_event_loop),
	(psi_filter_create), (psi_filter_destroy):
	* src/psi_helper.h:
	* src/psi_parser.c: (get_byte_range), (parse_pat), (parse_pmt):
	* src/psi_parser.h:
	Minor changes in preparation of using our own parser and section
	filter instead of Intel's parser.
	Some comments and indentations fixed. Sprinkled some 'const' over the
	code.

2010-05-03  Xavi Artigas  <xartigas@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_change_state):
	Removed LIVE_MODE preprocessor flag.

2010-05-03  Xavi Artigas  <xartigas@fluendo.com>

	reviewed by: Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_dispose),
	(ismd_gst_dvb_src_finalize), (ismd_setup),
	(ismd_gst_dvb_src_send_event), (ismd_gst_dvb_src_pull_other),
	(ismd_gst_dvb_src_try_push), (ismd_gst_dvb_src_event_loop),
	(ismd_dvb_src_unlink_function), (ismd_dvb_src_setup_output_pad),
	(ismd_dvb_src_connect_gst_pads), (connect_pads),
	(ismd_gst_dvb_src_change_state), (ismd_gst_dvb_src_class_init),
	(ismd_dvb_src_link_function), (ismd_gst_dvb_src_register_srcpad),
	(ismd_gst_dvb_src_init):
	* src/ismd_gst_dvb_src.h:
	DRAFT: ismd_dvb_src does not inherit from ismd_element anymore, but
	the code needs major cleanup and rewrite.

2010-05-03  Xavi Artigas  <xartigas@fluendo.com>

	* src/ismd_gst_audio_dec.c: (ismd_gst_audio_decoder_class_init):
	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sink_class_init):
	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_class_init):
	* src/ismd_gst_element.c: (ismd_gst_element_requires_clock),
	(ismd_gst_element_set_clock):
	* src/ismd_gst_element.h:
	* src/ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_class_init):
	ismd_gst_element_requires_clock no longer accepts an ISmdElement but
	a more generic GstElement. It is not really needed, and this allows
	using this function from classes not deriving from ISmdElement.

2010-04-30  Xavi Artigas  <xartigas@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_set_property),
	(ismd_gst_dvb_src_get_property), (ismd_check_resources),
	(ismd_open), (ismd_gst_dvb_src_class_init),
	(ismd_gst_dvb_src_init):
	* src/ismd_gst_dvb_src.h:
	First step towards implementing MPTS functionality. It is going to be
	cumbersome due to hardware limitations, so only the MPTS property is
	defined now (and disabled).
	Added a function to calculate the abovementioned hardware limitations.

2010-04-29  Xavi Artigas  <xartigas@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_set_property),
	(ismd_gst_dvb_src_get_property), (ismd_play),
	(ismd_gst_dvb_src_class_init), (ismd_gst_dvb_src_init):
	* src/ismd_gst_dvb_src.h:
	Add element property pid-filter to allow filtering pids according to
	their "category", eg. AUDIO, VIDEO, PCR, etc.
	Show debug stream type names instead of only the type codes.
	* src/ismd_gst_enum.c: (ismd_gst_vidpproc_scale_mode_get_type),
	(ismd_gst_pid_category_get_type),
	(ismd_gst_get_category_from_stream_type),
	(ismd_gst_stream_type_name):
	* src/ismd_gst_enum.h:
	Define new GType for the flags accepted by the new property. Define
	helper enums and functions to deal with stream types.

2010-04-29  Xavi Artigas  <xartigas@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_dispose),
	(ismd_gst_dvb_src_set_property), (ismd_gst_dvb_src_get_property),
	(ismd_play), (ismd_gst_dvb_src_class_init),
	(ismd_gst_dvb_src_init):
	* src/ismd_gst_dvb_src.h:
	Add element property extra-pids to allow extra pids to pass through the
	filter, besides PAT, PMT and selected ES.

2010-04-29  Xavi Artigas  <xartigas@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_set_property),
	(ismd_gst_dvb_src_get_property), (ismd_play),
	(ismd_gst_dvb_src_class_init), (ismd_gst_dvb_src_init):
	* src/ismd_gst_dvb_src.h:
	Add new element property psi-timeout to allow specifying the amount of
	time to wait for PATs or PMTs before bailing out with a timeout error.

2010-04-28  Xavi Artigas  <xartigas@fluendo.com>

	* configure.ac:
	Bump version to 0.10.0.7
	* src/Makefile.am:
	Add source files regarding new GObject properties and GTypes
	* src/ismd_gst_dvb_src.c: (ismd_build_pat_info),
	(ismd_build_pmt_info), (ismd_gst_dvb_src_get_property),
	(ismd_pat_changed_cb), (ismd_pmt_changed_cb), (ismd_play),
	(ismd_gst_dvb_src_class_init):
	Export PAT-INFO and PMT-INFO to the application.
	* src/ismd_pat_info.c: (ismd_pat_info_new),
	(ismd_pat_info_base_init), (ismd_pat_info_class_init),
	(ismd_pat_info_init), (ismd_pat_info_set_property),
	(ismd_pat_info_get_property):
	* src/ismd_pat_info.h:
	* src/ismd_pmt_info.c: (ismd_pmt_info_base_init),
	(ismd_pmt_info_class_init), (ismd_pmt_info_init),
	(ismd_pmt_info_new), (ismd_pmt_info_finalize),
	(ismd_pmt_info_set_property), (ismd_pmt_info_get_property),
	(ismd_pmt_info_add_descriptor), (ismd_pmt_info_add_stream):
	* src/ismd_pmt_info.h:
	* src/ismd_pmt_stream_info.c: (ismd_pmt_stream_info_base_init),
	(ismd_pmt_stream_info_class_init), (ismd_pmt_stream_info_init),
	(ismd_pmt_stream_info_finalize), (ismd_pmt_stream_info_new),
	(ismd_pmt_stream_info_add_language),
	(ismd_pmt_stream_info_add_descriptor),
	(ismd_pmt_stream_info_set_property),
	(ismd_pmt_stream_info_get_property):
	* src/ismd_pmt_stream_info.h:
	* src/psi_helper.c: (psi_filter_process_PAT_buffer),
	(psi_filter_process_PMT_buffer), (psi_filter_event_loop),
	(psi_filter_get_pat), (psi_filter_wait_for_pmt),
	(psi_filter_get_pmt), (psi_filter_notify_changed):
	Add ability to register callbacks to be called when updated PAT or PMTs
	are available.
	* src/psi_helper.h:
	* src/psi_parser.c: (parse_pat):
	Fix inherited bug regarding different programs transmitted over the
	same PID.

2010-04-27  Xavi Artigas  <xartigas@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_play):
	Put messages in the GST bus for the most common timeout errors.
	* src/psi_helper.c: (psi_filter_wait_for_pmt):
	Fix return code when asked to wait for an already present PMT.

2010-04-27  Xavi Artigas  <xartigas@fluendo.com>

	* configure.ac:
	Bump version to 0.10.0.6

2010-04-27  Xavi Artigas  <xartigas@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_play): Fix bogus debug output
	* src/psi_helper.c: (psi_filter_process_buffer),
	(psi_filter_wait_for_pmt):
	* src/psi_helper.h:
	From the PSI monitoring thread, only signal the reception of the PMT
	we are interested in.

2010-04-26  Xavi Artigas  <xartigas@fluendo.com>

	* src/Makefile.am: Add/remove source files.
	* src/ismd_gst_dvb_src.c: (ismd_negotiate), (ismd_setup),
	(ismd_play), (ismd_reset), (ismd_pause), (ismd_close),
	(ismd_gst_dvb_src_change_state), (ismd_gst_dvb_src_class_init):
	Use the new psi_filter API.
	* src/ismd_gst_dvb_src.h:
	* src/ismd_plugin.c: (plugin_init): Init new debug category for
	psi_filter.
	* src/psi_handler.c: Deleted.
	* src/psi_handler.h: Deleted.
	* src/psi_handling.c: Deleted.
	* src/psi_handling.h: Deleted.
	* src/psi_handling_wrapper.c: Deleted.
	* src/psi_handling_wrapper.h: Deleted.
	* src/psi_helper.c: (psi_filter_get_pmt_index_from_prog_num),
	(psi_filter_remove_pmts), (psi_filter_add_pmts),
	(psi_filter_process_buffer), (psi_filter_event_loop),
	(psi_filter_create), (psi_filter_destroy),
	(psi_filter_wait_for_pat), (psi_filter_get_pat),
	(psi_filter_wait_for_pmt), (psi_filter_get_pmt):
	Body if the new PSI parser called psi_filter, which replaces
	the PSI parsing functions inherited from sg_player.
	Solves quite a few bugs and is less cumbersome.
	* src/psi_helper.h:
	* src/psi_parser.c: (get_byte_range), (parse_pat), (parse_pmt):
	* src/psi_parser.h:
	Fixes some bugs and parses some more information. Should also be
	completely re-writen at some point.

2010-04-23  Xavi Artigas  <xartigas@fluendo.com>

	* configure.ac: Bump to 0.10.0.5
	* src/ismd_gst_dvb_src.c: (ismd_play):
	Destroy psi parser and associated thread if any error
	occurs during initialization.

2010-04-23  Julien Moutte  <julien@fluendo.com>

	* configure.ac: Bump to 0.10.0.4
	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_change_state):
	Correctly unref the clock to avoid ref leaks.

2010-04-23  Xavi Artigas  <xartigas@fluendo.com>

	* configure.ac:
	Bump version number.

2010-04-23  Xavi Artigas  <xartigas@fluendo.com>

	* src/psi_handling.c: (handle_psi_parsing),
	(handle_pat_pmt_acquisition):
	* src/psi_handling_wrapper.c: (psi_get_pat):
	Do not wait forever when PAT or PMT cannot be found. Return
	a GST_ERROR after a hardcoded timeout of 3 seconds.

2010-04-23  Xavi Artigas  <xartigas@fluendo.com>

	* src/ismd_gst_clock.c: (ismd_get_internal_time):
	Do not return TIME_NONE if a clock could not be made primary.
	Just print a warning and return the obtained time.

2010-04-23  Xavi Artigas  <xartigas@fluendo.com>

	* src/ismd_gst_clock.c: (ismd_gst_clock_finalize),
	(ismd_gst_clock_init), (ismd_get_internal_time):
	* src/ismd_gst_clock.h:
	Do not try to make all ismd clocks primary by default, wait until
	the first call to get_internal_time (which will only be called
	upon the selected clock).
	* src/ismd_gst_dvb_src.c: (ismd_negotiate), (ismd_play),
	(ismd_close), (ismd_gst_dvb_src_change_state),
	(ismd_gst_dvb_src_class_init):
	Activate clock recovery to prevent long runs of DVB decoding from
	losing audio. This requires setting the gst-selected ISMD clock to
	the demuxer, setting the PCR PID and enabling clock recovery.
	Set format of NEWSEGMENT events to GST_FORMAT_TIME.
	Typos and formatting.
	* src/ismd_gst_element.c: (ismd_gst_element_try_push):
	Do not treat empty buffers as errors, just silently discard them.

2010-04-20  Julien Moutte  <julien@fluendo.com>

	* src/ismd_gst_clock.c: (ismd_gst_clock_finalize):
	* src/ismd_gst_element.c: (ismd_unlink_function): Add some debugging.

2010-04-20  Julien Moutte  <julien@fluendo.com>

	* src/ismd_gst_vidpproc.c: (ismd_gst_vidpproc_set_property): Use 
	zoom_to_fit by default as it's more likely to be the best candidate.
	Set the scaling policy when the property is modified to allow changes
	on the fly (while playing obviously).

2010-04-13  Xavi Artigas  <xartigas@fluendo.com>

	reviewed by: Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_get_query_types),
	(ismd_gst_dvb_src_event), (ismd_negotiate), (wait_for_buffering),
	(ismd_play), (ismd_gst_dvb_src_init):
	Add event handler, which always returns TRUE to latency queries (fixes some
	latency warnings).
	Add get_query_types function.
	Add wait_for_buffering function, disabled by default.
	* src/ismd_gst_element.c: (ismd_gst_element_change_state),
	(ismd_gst_element_sink_chain), (ismd_gst_element_event_loop):
	Add some debug info.
	Minor spelling fixes.

2010-04-12  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_play):
	Add PAT and PMT earlier to make them be at the begin of outputed
	data as soon as they are parsed. With this change the demuxer
	will sync faster.

2010-04-11  Josep Torra  <josep@fluendo.com>

	* src/Makefile.am:
	Revert a change wrongly introduced in my previous commit.

2010-04-11  Josep Torra  <josep@fluendo.com>

	* src/Makefile.am:
	* src/ismd_gst_dvb_src.c: (ismd_reset):
	* src/ismd_gst_element.c: (ismd_gst_element_init),
	(ismd_gst_element_change_state), (ismd_gst_element_sink_chain),
	(ismd_gst_element_sink_event), (ismd_gst_element_try_push),
	(ismd_gst_element_combine_flows), (ismd_gst_element_reset_flow),
	(ismd_gst_element_send_event), (ismd_gst_element_event_loop):
	* src/ismd_gst_element.h:
	* src/ismd_gst_pad.c: (ismd_gst_pad_init):
	* src/ismd_gst_pad.h:
	Cleanup and refactoring.
	Implement flow return value propagation.
	Rewrite the event loop function to make it more readable.

2010-04-10  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_open), (ismd_setup), (ismd_play),
	(ismd_reset), (ismd_pause), (ismd_close),
	(ismd_gst_dvb_src_change_state), (ismd_gst_dvb_src_init):
	* src/ismd_gst_element.c: (ismd_gst_element_change_state):
	Several code refactored and initial attempt of make the src
	behave like a live src.

2010-04-09  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_query), (ismd_open),
	(ismd_negotiate):
	Initial attempt to fix the latency error message.

2010-04-08  Xavi Artigas  <xartigas@fluendo.com>

	* src/ismd_gst_dvb_src.c: (find_pmt_program_index), (ismd_setup):
	The selected program number is now a SERVICE_ID, instead of an
	index into the PMT table inside the PAT.
	An error is generated if a non-existent program number is supplied.

2010-04-08  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_uri_set_uri),
	(ismd_setup), (ismd_gst_dvb_src_class_init):
	* src/ismd_gst_element.c: (ismd_gst_element_change_state):
	Multiple fixes and cleanups.
	Added some debug info.
	Changed the URI handler to receive <tuner id>,<program number>.
	More or less works with playbin2.

2010-04-08  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (find_pmt_pid), (ismd_setup):
	* src/psi_handling.c: (get_pat):
	* src/psi_handling.h:
	* src/psi_handling_wrapper.c: (psi_get_pat):
	* src/psi_handling_wrapper.h:
	Initial attempt to push PAT, PMT and all other PIDs on the selected
	program number.

2010-04-08  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_negotiate), (ismd_setup),
	(ismd_gst_dvb_src_change_state), (ismd_gst_dvb_src_class_init):
	Added code to negotiate caps and small cleanups.

2010-04-07  Xavi Artigas  <xartigas@fluendo.com>

	* src/Makefile.am:
	* src/ismd_gst_dvb_src.c: (ismd_open), (ismd_setup):
	* src/ismd_gst_dvb_src.h:
	* src/ismd_gst_element.c: (ismd_gst_element_event_loop),
	(ismd_gst_element_set_clock):
	Uncomment code to get PAT and PMT info, and enable the necessary PIDs to
	pass through the ismd demuxer.
	With this commit dataflow can already be observed, however, major cleanup
	is still necessary.

2010-04-06  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_stop), (ismd_close):
	Add stop and close code.

2010-03-31  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_dvb_src.c: (ismd_gst_dvb_src_provide_clock),
	(ismd_gst_dvb_src_dispose), (ismd_gst_dvb_src_set_property),
	(ismd_gst_dvb_src_get_property), (ismd_open), (ismd_setup),
	(ismd_gst_dvb_src_change_state), (ismd_gst_dvb_src_class_init),
	(ismd_gst_dvb_src_init):
	* src/ismd_gst_dvb_src.h:
	Some more code for the new dvb src feature. 

2010-03-31  Josep Torra  <josep@fluendo.com>


	* src/Makefile.am:
	* src/ismd_gst_dvb_src.c: added
        * src/ismd_gst_dvb_src.h: added
	* src/ismd_gst_port_src.c: deleted
	* src/ismd_gst_port_src.h: deleted
	* src/ismd_plugin.c:
	Renamed port_src to dvb_src.

2010-03-31  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_port_src.c: (ismd_gst_dvb_src_uri_get_type),
	(ismd_gst_dvb_src_uri_get_protocols),
	(ismd_gst_dvb_src_uri_get_uri), (ismd_gst_dvb_src_uri_set_uri),
	(ismd_gst_dvb_src_uri_handler_init), (_do_init),
	(ismd_gst_dvb_src_set_property), (ismd_gst_dvb_src_get_property),
	(ismd_tune), (ismd_open), (ismd_setup), (ismd_start), (ismd_stop),
	(ismd_close), (ismd_gst_dvb_src_change_state),
	(ismd_gst_dvb_src_base_init), (ismd_gst_dvb_src_class_init),
	(ismd_gst_dvb_src_init):
	* src/ismd_gst_port_src.h:
	* src/ismd_plugin.c:
	Initial transformation of ismd_port_src into ismd_dvb_src.

2010-03-20  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (ismd_gst_element_change_state):
	Some more fixes to make the base element class suitable for
	ismd_port_src.

2010-03-19  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (ismd_gst_element_change_state):
	Avoid segfault in the change state if we don't have a sinkpad.

2010-03-19  Josep Torra  <josep@fluendo.com>

	* src/Makefile.am:
	* src/converter.c:
	* src/ismd_gst_audio_dec.c: (ismd_gst_audio_decoder_base_init):
	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sink_base_init):
	* src/ismd_gst_clock_provider.c:
	(ismd_gst_clock_provider_base_init):
	* src/ismd_gst_demux.c: (ismd_gst_demux_base_init):
	* src/ismd_gst_element.c: (ismd_gst_element_base_init):
	* src/ismd_gst_h264_viddec.c: (ismd_gst_h264_viddec_base_init):
	* src/ismd_gst_mpeg2_viddec.c: (ismd_gst_mpeg2_viddec_base_init):
	* src/ismd_gst_mpeg4_viddec.c: (ismd_gst_mpeg4_viddec_base_init):
	* src/ismd_gst_port_src.c: (set_port),
	(ismd_gst_port_src_uri_get_type),
	(ismd_gst_port_src_uri_get_protocols),
	(ismd_gst_port_src_uri_get_uri), (ismd_gst_port_src_uri_set_uri),
	(ismd_gst_port_src_uri_handler_init), (_do_init),
	(ismd_gst_port_src_set_property), (ismd_gst_port_src_get_property),
	(ismd_gst_port_src_base_init), (ismd_gst_port_src_class_init),
	(ismd_gst_port_src_init):
	* src/ismd_gst_port_src.h:
	* src/ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_base_init):
	* src/ismd_gst_vidpproc.c: (ismd_gst_vidpproc_base_init):
	* src/ismd_gst_vidrend_bin.c:
	* src/ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_base_init):
	* src/ismd_plugin.c:
	Added initial import of ismd_gst_port_src.

2010-03-17  Josep Torra  <josep@fluendo.com>

	* src/Makefile.am:
	Add the dependency library libsven in the plugin.
	Fixes unresolved symbol 'sven_write_event' for meego builds.

2010-03-16  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_enum.c: (ismd_gst_video_sink_gdl_plane_get_type):
	* src/ismd_gst_vidrend_sink.c: (setup_gdl):
	Do the device power on only if the sink is asked to do tvmode setup.
	Add C and D planes to our enumerator.

2010-03-16  Sergi Alvarez  <salvarez@fluendo.com>

	* src/ismd_gst_element.h:
	* src/ismd_gst_vidpproc.c: (ismd_get_tvmode_size):
	* src/ismd_gst_vidrend_sink.c: (set_gdl_port_attribute),
	(config_tvmode), (ismd_gst_vidrend_sink_init):
	* src/ismd_gst_vidrend_sink.h:
	Revert last commit, reducing code. DISPLAY_0 will be always used

2010-03-15  Sergi Alvarez  <salvarez@fluendo.com>

	* src/ismd_gst_element.h:
	* src/ismd_gst_vidpproc.c: (ismd_get_tvmode_size),
	(ismd_gst_vidpproc_change_state):
	* src/ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_init):
	Get default GDL Display ID from environment if defined

2010-02-25  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_rectangle.c: (gst_value_init_rectangle),
	(gst_value_free_rectangle), (clone_priv_rect),
	(gst_value_copy_rectangle), (gst_value_collect_rectangle),
	(gst_value_lcopy_rectangle), (gst_value_set_rectangle),
	(gst_value_get_rectangle_x), (gst_value_get_rectangle_y),
	(gst_value_get_rectangle_width), (gst_value_get_rectangle_height),
	(gst_value_serialize_rectangle), (gst_value_deserialize_rectangle),
	(gst_value_rectangle_register):
	* src/ismd_gst_rectangle.h:
	Rewrite the rectangle type that was causing a memory corruption.

2010-02-25  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (ismd_gst_element_finalize):
	* src/ismd_gst_vidrend_bin.c: (ismd_gst_vidrend_bin_dispose),
	(ismd_gst_vidrend_bin_finalize), (ismd_gst_vidrend_bin_class_init),
	(ismd_gst_vidrend_bin_init):
	* src/ismd_gst_vidrend_sink.h:
	Add some debug.
	Some fixes in the bin.

2010-02-24  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_vidpproc.c: (update_dest_rect),
	(ismd_gst_vidpproc_init), (ismd_get_tvmode_size):
	* src/ismd_gst_vidrend_bin.c: (ismd_gst_vidrend_bin_init):
	* src/ismd_gst_vidrend_sink.c: (update_dest_rect), (config_plane),
	(ismd_gst_vidrend_sink_init):
	Add extra checks and default fallbacks against bad rectangle values
	that can put gdl and ismd stuff in a wrong state that requieres
	a reboot to recover.

2010-02-24  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_vidrend_sink.c: (setup_gdl),
	(ismd_gst_vidrend_sink_init):
	* src/ismd_gst_vidrend_sink.h:
	Some cleanup and ensure that hdmi and component outputs are enabled.

2010-02-23  Josep Torra  <josep@fluendo.com>

	* src/ismd_plugin.c: (plugin_init):
	Set a higher rank to decoders to be sure that are higher than
	fluendo software decoders.

2010-02-23  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_vidrend_sink.c: (update_dest_rect), (config_plane),
	(ismd_gst_vidrend_sink_set_property),
	(ismd_gst_vidrend_sink_change_state):
	Fixes move and resize configuring another policy in the gdl plane.

2010-02-23  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_vidpproc.c: (update_dest_rect),
	(ismd_gst_vidpproc_class_init):
	* src/ismd_gst_vidrend_bin.c: (ismd_gst_vidrend_bin_class_init),
	(ismd_gst_vidrend_bin_init):
	* src/ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_class_init),
	(update_dest_rect), (config_plane),
	(ismd_gst_vidrend_sink_change_state):
	Some cleanups and refactoring.
	Using the ismd functions to change the destination rectangle
	instead of use gdl ones.

2010-02-23  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_vidpproc.c: (update_dest_rect),
	(ismd_gst_vidpproc_convert), (ismd_gst_vidpproc_class_init):
	* src/ismd_gst_vidrend_bin.c: (ismd_gst_vidrend_bin_set_property),
	(ismd_gst_vidrend_bin_class_init), (ismd_gst_vidrend_bin_init):
	* src/ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_class_init),
	(update_dest_rect), (config_plane),
	(ismd_gst_vidrend_sink_set_property),
	(ismd_gst_vidrend_sink_peer_query), (ismd_gst_vidrend_sink_query):
	Some fixes and cleanups.

2010-02-22  Josep Torra  <josep@fluendo.com>

	* src/Makefile.am:
	* src/ismd_gst_rectangle.c: (gst_value_init_rectangle),
	(gst_value_copy_rectangle), (gst_value_collect_rectangle),
	(gst_value_lcopy_rectangle), (gst_value_set_rectangle),
	(gst_value_get_rectangle_x), (gst_value_get_rectangle_y),
	(gst_value_get_rectangle_width), (gst_value_get_rectangle_height),
	(gst_value_serialize_rectangle), (gst_value_deserialize_rectangle),
	(gst_value_transform_rectangle_string),
	(gst_value_transform_string_rectangle),
	(gst_value_rectangle_register):
	* src/ismd_gst_rectangle.h:
	* src/ismd_gst_vidpproc.c: (update_dest_rect),
	(ismd_gst_vidpproc_get_property), (ismd_gst_vidpproc_set_property),
	(ismd_gst_vidpproc_finalize), (ismd_gst_vidpproc_class_init),
	(ismd_gst_vidpproc_init), (ismd_get_tvmode_size),
	(ismd_gst_vidpproc_change_state):
	* src/ismd_gst_vidpproc.h:
	* src/ismd_gst_vidrend_bin.c: (ismd_gst_vidrend_bin_get_property),
	(ismd_gst_vidrend_bin_set_property),
	(ismd_gst_vidrend_bin_class_init), (ismd_gst_vidrend_bin_init):
	* src/ismd_gst_vidrend_bin.h:
	* src/ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_class_init),
	(update_dest_rect), (config_plane), (ismd_gst_vidrend_sink_init),
	(ismd_gst_vidrend_sink_finalize),
	(ismd_gst_vidrend_sink_get_property),
	(ismd_gst_vidrend_sink_set_property):
	* src/ismd_gst_vidrend_sink.h:
	* src/ismd_plugin.c: (plugin_init):
	Initial code to specify a destination rectangle.

2010-02-22  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_enum.c: (ismd_gst_video_sink_tvmode_get_type),
	(ismd_gst_video_sink_gdl_plane_get_type),
	(ismd_gst_vidpproc_scale_mode_get_type):
	* src/ismd_gst_enum.h:
	Add missing files of a previous commit.

2010-02-22  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_vidrend_bin.c: (ismd_gst_vidrend_bin_init):
	Also declare the bin as a sink element.

2010-02-22  Josep Torra  <josep@fluendo.com>

	* src/Makefile.am:
	* src/ismd_gst_vidpproc.c:
	* src/ismd_gst_vidrend_bin.c: (ismd_gst_vidrend_bin_get_property),
	(ismd_gst_vidrend_bin_set_property),
	(ismd_gst_vidrend_bin_class_init), (ismd_gst_vidrend_bin_init):
	* src/ismd_gst_vidrend_bin.h:
	* src/ismd_gst_vidrend_sink.c:
	* src/ismd_plugin.c: (plugin_init):
	Add property wrappers in the ismd_vidrend_bin element.
	Several cleanups and refactoring.

2010-02-22  Josep Torra  <josep@fluendo.com>

	* src/ismd_plugin.c: (plugin_init):
	Check for CE4100 and register the mpeg4 decoder.

2010-02-22  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (ismd_gst_element_sink_event):
	* src/ismd_gst_element.h:
	* src/ismd_gst_h264_viddec.c: (ismd_gst_h264_viddec_class_init),
	(ismd_gst_h264_viddec_rate_notify):
	* src/ismd_gst_mpeg2_viddec.c: (ismd_gst_mpeg2_viddec_class_init),
	(ismd_gst_mpeg2_viddec_rate_notify):
	* src/ismd_gst_mpeg4_viddec.c: (ismd_gst_mpeg4_viddec_class_init),
	(ismd_gst_mpeg4_viddec_rate_notify):
	* src/ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_class_init),
	(ismd_gst_vc1_viddec_rate_notify):
	On rates over 2.0 just decode keyframes.

2010-02-19  Josep Torra  <josep@fluendo.com>

	* src/Makefile.am:
	* src/ismd_gst_mpeg4_viddec.c: (_do_init),
	(ismd_gst_mpeg4_viddec_base_init),
	(ismd_gst_mpeg4_viddec_class_init),
	(ismd_gst_mpeg4_viddec_sinkpad_setcaps),
	(ismd_gst_mpeg4_viddec_init), (ismd_gst_mpeg4_viddec_rate_notify),
	(ismd_gst_mpeg4_viddec_handle_downstream_event),
	(ismd_gst_mpeg4_viddec_change_state),
	(ismd_gst_mpeg4_viddec_sink_event):
	* src/ismd_gst_mpeg4_viddec.h:
	Add a draft decoder for mpeg4 to be used in the CE4100.

2010-02-18  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sink_class_init),
	(ismd_gst_audio_sink_get_property):
	* src/ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_class_init),
	(ismd_gst_vidrend_sink_get_property):
	Revert: add async property to our sinks.
	I wrote it with a wrong assumption so reverting it.

2010-02-18  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (get_sink_pad_template),
	(ismd_gst_audio_sink_base_init), (ismd_gst_audio_sink_class_init),
	(ismd_gst_audio_sink_init):
	* src/ismd_gst_pad.c: (ismd_gst_pad_new_from_template):
	* src/ismd_gst_pad.h:
	Several cleanups around the caps template.

2010-02-17  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sink_class_init),
	(ismd_gst_audio_sink_get_property):
	* src/ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_class_init),
	(ismd_gst_vidrend_sink_get_property):
	Add async property to our sinks.

2010-02-17  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (get_available_caps),
	(ismd_gst_audio_sink_base_init):
	Attempt to create the caps template in runtime according to the
	available codecs.

2010-02-17  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sink_init):
	Remove a line wrongly committed.

2010-02-17  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (get_available_caps),
	(ismd_gst_audio_sink_init), (ismd_open):
	Make capabilities detection when the instance is created.

2010-02-17  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_vc1_viddec.c:
	(ismd_gst_vc1_viddec_SPMP_PESpacket_PayloadFormatHeader):
	Accept codec data up to 5 bytes.
	Fixes decoding of France TV streams.

2010-02-17  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (get_audio_pll_family):
	Add a missing sample rate in the pll selection list.

2010-02-16  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_element.c: (ismd_gst_element_sink_event):
	* src/ismd_gst_element.h:
	Make our custom sink be able to deal with GST_EVENT_SINK_MESSAGE.
	Fixes duration queries in playbin2 for 0.10.26.

2010-02-16  Josep Torra  <josep@fluendo.com>

	* src/ismd_gst_audio_sink.c: (ismd_gst_audio_sink_peer_query),
	(ismd_gst_audio_sink_query):
	* src/ismd_gst_element.c: (connect_pads),
	(ismd_gst_element_sink_chain):
	* src/ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_dispose),
	(config_plane), (ismd_gst_vidrend_sinkpad_setcaps),
	(ismd_gst_vidrend_sink_alloc), (ismd_gst_vidrend_sink_init),
	(ismd_gst_vidrend_sink_change_state),
	(ismd_gst_vidrend_sink_peer_query), (ismd_gst_vidrend_sink_query):
	Some refactoring and cleanups on the sink query handlers.

2010-02-12  Josep Torra  <josep@fluendo.com>

	* src/ismd_plugin.c:
	Disable the features that we don't want to distrubute.
	Some minor cleanups in the plugin name and version.

2010-02-12  Sergi Alvarez  <salvarez@fluendo.com>

	* src/Makefile.am:
	Link against ISMD libraries

2010-02-11  Sergi Alvarez  <salvarez@fluendo.com>

	* configure.ac:
	Add missing configure.ac

2010-02-11  Sergi Alvarez  <salvarez@fluendo.com>

	* COPYING:
	* INSTALL:
	* Makefile:
	* Makefile.am:
	* autogen.sh:
	* converter.c:
	* converter.h:
	* ismd_gst_audio_dec.c:
	* ismd_gst_audio_dec.h:
	* ismd_gst_audio_sink.c:
	* ismd_gst_audio_sink.h:
	* ismd_gst_buffer.c:
	* ismd_gst_buffer.h:
	* ismd_gst_clock.c:
	* ismd_gst_clock.h:
	* ismd_gst_clock_provider.c:
	* ismd_gst_clock_provider.h:
	* ismd_gst_debug.h:
	* ismd_gst_demux.c:
	* ismd_gst_demux.h:
	* ismd_gst_element.c:
	* ismd_gst_element.h:
	* ismd_gst_h264_viddec.c:
	* ismd_gst_h264_viddec.h:
	* ismd_gst_mpeg2_viddec.c:
	* ismd_gst_mpeg2_viddec.h:
	* ismd_gst_pad.c:
	* ismd_gst_pad.h:
	* ismd_gst_recovery_clock_provider.c:
	* ismd_gst_recovery_clock_provider.h:
	* ismd_gst_vc1_viddec.c:
	* ismd_gst_vc1_viddec.h:
	* ismd_gst_vidpproc.c:
	* ismd_gst_vidpproc.h:
	* ismd_gst_vidrend_bin.c:
	* ismd_gst_vidrend_bin.h:
	* ismd_gst_vidrend_sink.c:
	* ismd_gst_vidrend_sink.h:
	* ismd_plugin.c:
	* mtrr_cache.sh:
	* mtrr_nocache.sh:
	* src/Makefile.am:
	* src/converter.c: (uv_to_nv12):
	Major refactoring to use autotools instead of a raw Makefile

2010-02-10  Josep Torra  <josep@fluendo.com>

	* Makefile:
	* ismd_gst_vidpproc.c: (ismd_gst_vidpproc_base_init):
	* ismd_gst_vidrend_bin.c: (ismd_gst_vidrend_bin_base_init),
	(ismd_gst_vidrend_bin_class_init), (ismd_gst_vidrend_bin_init):
	* ismd_gst_vidrend_bin.h:
	* ismd_plugin.c:
	Add a bin to help playbin2 with the autoplug of vidpproc.
	Change the ranks of elements.
	To be used with playbin2 flags=0x53.

2010-02-09  Sergi Alvarez  <salvarez@fluendo.com>

	* Makefile:
	* converter.c: (memcpy_nt), (uv_to_nv12):
	* ismd_gst_element.c: (unpack_uv), (memcpy_nt):
	Fix indentation issues in inline assembly
	Wrap this code by #ifdef __i386__ to avoid building asm code
	on unsupported architectures.

2009-12-16  Josep Torra  <josep@fluendo.com>

	* ismd_gst_element.c: (connect_pads):
	Another trivial cleanup.

2009-12-16  Josep Torra  <josep@fluendo.com>

	* ismd_gst_element.c: (ismd_gst_element_change_state),
	(ismd_gst_element_event_loop):
	Some more code refactored.

2009-12-16  Josep Torra  <josep@fluendo.com>

	* ismd_gst_demux.c: (ismd_close), (negotiate_caps), (ismd_open),
	(ismd_gst_demux_sinkpad_setcaps), (ismd_gst_demux_change_state),
	(ismd_gst_demux_class_init):
	* ismd_gst_demux.h:
	* ismd_gst_element.c: (ismd_connect_gst_pads),
	(ismd_gst_element_commit_state), (ismd_gst_element_pull_other),
	(ismd_gst_element_event_loop), (ismd_unlink_function),
	(ismd_setup_input_pad), (ismd_setup_output_pad):
	* ismd_gst_element.h:
	* ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_class_init),
	(ismd_gst_vidrend_sinkpad_setcaps):
	Some random refactoring and cleanups.
	The mpeg TS HW demuxer works with hardcoded PIDs and out caps.

2009-12-16  Josep Torra  <josep@fluendo.com>

	* Makefile:
	* ismd_gst_demux.c:
	* ismd_gst_demux.h:
	* ismd_gst_ts_demux.c:
	* ismd_gst_ts_demux.h:
	* ismd_plugin.c:
	Some files renamed.

2009-12-16  Josep Torra  <josep@fluendo.com>

	* Makefile:
	* ismd_gst_ps_demux.c: deleted
	* ismd_gst_ps_demux.h: deleted
	* ismd_gst_ts_demux.c: (_do_init), (ismd_close), (ismd_open),
	(ismd_gst_demux_sinkpad_setcaps), (ismd_gst_demux_change_state),
	(ismd_gst_demux_base_init), (ismd_gst_demux_class_init),
	(ismd_gst_demux_init):
	* ismd_gst_ts_demux.h:
	* ismd_plugin.c:
	Initial cleanup on the HW demuxers and unified in only one feature.

2009-12-14  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_sink.c: (ismd_gst_audio_sinkpad_setcaps):
	Make 48KHz our default sample rate as it seems to work better
	with hardware decoders.

2009-12-14  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_sink.c: (get_audio_pll_family):
	Keep multiple outputs disabled for now as it needs some more work.
	Added some more samplerates on clock selection.

2009-12-11  Josep Torra  <josep@fluendo.com>

	* ismd_gst_element.c: (ismd_gst_element_event_loop):
	* ismd_gst_h264_viddec.c: (ismd_gst_h264_viddec_sinkpad_setcaps):
	* ismd_gst_mpeg2_viddec.c: (ismd_gst_mpeg2_viddec_sinkpad_setcaps):
	* ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_sinkpad_setcaps):
	* ismd_gst_vidpproc.c: (ismd_gst_vidpproc_setcaps),
	(ismd_gst_vidpproc_convert), (ismd_gst_vidpproc_alloc),
	(ismd_gst_vidpproc_base_init):
	* ismd_gst_vidrend_sink.c:
	Several fixes to support playbin2 and some random cleanups.

2009-12-10  Josep Torra  <josep@fluendo.com>

	* ismd_gst_vidpproc.c: (ismd_gst_vidpproc_setcaps),
	(ismd_gst_vidpproc_base_init):
	* ismd_gst_vidrend_sink.c:
	* ismd_plugin.c:
	Some small fixes and added preprocessed in the caps.

2009-12-10  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_sink.c: (ismd_gst_audio_sink_provide_clock),
	(ismd_gst_audio_sink_dispose), (ismd_gst_audio_sink_class_init):
	* ismd_gst_audio_sink.h:
	* ismd_gst_clock.c: (ismd_gst_clock_init):
	* ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_provide_clock),
	(ismd_gst_vidrend_sink_dispose),
	(ismd_gst_vidrend_sink_class_init):
	* ismd_gst_vidrend_sink.h:
	Make the sinks be clock providers.

2009-12-10  Josep Torra  <josep@fluendo.com>

	* ismd_gst_element.c: (ismd_gst_element_commit_state):
	* ismd_gst_element.h:
	* ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_prerolled),
	(ismd_gst_vidrend_sink_class_init),
	(ismd_gst_vidrend_sink_change_state):
	Implement seeking in PAUSED using the ismd_vidrend_advance_to_pts trick.

2009-12-03  Josep Torra  <josep@fluendo.com>

	* ismd_gst_element.c: (tag_new_segment),
	(ismd_gst_element_change_state), (ismd_gst_element_sink_chain),
	(ismd_gst_element_sink_event):
	Some rework on sink event handler.

2009-12-03  Josep Torra  <josep@fluendo.com>

	* ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_change_state):
	Disable ismd_vidrend_advance_to_pts added in a recent commit as
	it causes the videosink drop a lot of frames after a seek.

2009-12-03  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_sink.c: (ismd_gst_audio_sink_class_init):
	* ismd_gst_element.c: (ismd_gst_element_class_init),
	(ismd_gst_element_sink_chain_gst_buffer),
	(ismd_gst_element_sink_chain):
	* ismd_gst_element.h:
	* ismd_gst_h264_viddec.c: (ismd_gst_h264_viddec_class_init):
	* ismd_gst_mpeg2_viddec.c: (ismd_gst_mpeg2_viddec_class_init):
	* ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_class_init):
	Some rework on the joining buffers strategy.

2009-12-03  Josep Torra  <josep@fluendo.com>

	* ismd_gst_vidpproc.c: (ismd_gst_vidpproc_convert):
	Fixed some issues with clipping code.

2009-11-25  Josep Torra  <josep@fluendo.com>

	* Makefile:
	* ismd_gst_audio_sink.c:
	(ismd_gst_audio_sink_out_mode_complex_get_type),
	(ismd_gst_audio_sink_out_mode_simple_get_type),
	(set_audio_pll_freq_ce3100), (set_audio_pll_freq_ce4100),
	(set_audio_pll_freq), (get_audio_pll_family),
	(ismd_unconfigure_input), (ismd_configure_output),
	(ismd_enable_output), (ismd_reconfigure_output),
	(ismd_gst_audio_sinkpad_setcaps), (get_hdmi_info):
	* ismd_gst_audio_sink.h:
	* ismd_gst_element.c: (ismd_gst_element_change_state):
	Several fixes and cleanups.
	Second attempt to have SPDIF PCM output working.

2009-11-24  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_sink.c: (ismd_configure_output), (get_hdmi_info):
	* ismd_gst_audio_sink.h:
	Keep SPDIF disabled for now.

2009-11-24  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_sink.c:
	(ismd_gst_audio_sink_out_mode_complex_get_type),
	(ismd_gst_audio_sink_out_mode_simple_get_type),
	(ismd_unconfigure_input), (ismd_configure_input),
	(ismd_unconfigure_output), (ismd_configure_output),
	(ismd_reconfigure_output), (ismd_gst_audio_sink_class_init),
	(ismd_gst_audio_sinkpad_setcaps), (ismd_gst_audio_sink_init),
	(ismd_gst_audio_sink_finalize), (ismd_gst_audio_sink_change_state),
	(ismd_open), (ismd_stop), (ismd_close),
	(ismd_gst_audio_sink_get_property),
	(ismd_gst_audio_sink_set_property), (ismd_gst_audio_sink_convert):
	* ismd_gst_audio_sink.h:
	Code refactored and initial support for multiple audio output.

2009-11-24  Josep Torra  <josep@fluendo.com>

	* ismd_gst_element.c: (ismd_gst_element_change_state),
	(ismd_gst_element_set_clock):
	Provide the clock to the ismd element when we go from pause to play.
	Fixes a race spotted when the clock was received before the smd handle
	was obtained.

2009-11-24  Josep Torra  <josep@fluendo.com>

	* ismd_gst_element.c: (ismd_gst_element_change_state):
	* ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_init),
	(ismd_gst_vidrend_sink_finalize),
	(ismd_gst_vidrend_sink_change_state), (ismd_open),
	(ismd_gst_vidrend_sink_query):
	* ismd_gst_vidrend_sink.h:
	Some code cleanup in the video sink.

2009-11-11  Josep Torra  <josep@fluendo.com>

	* ismd_gst_element.c: (tag_new_segment),
	(ismd_gst_element_sink_event), (ismd_gst_element_event_loop):
	Keep the newsegment event data between elements and only hack postion
	for sink elements.

2009-11-11  Josep Torra  <josep@fluendo.com>

	* ismd_gst_element.c: (ismd_gst_element_sink_chain):
	* ismd_gst_vidpproc.c: (ismd_gst_vidpproc_convert),
	(ismd_gst_vidpproc_class_init):
	Added clipping in the vidpproc element.

2009-11-09  Josep Torra  <josep@fluendo.com>

	* ismd_gst_vidpproc.c:
	Make zoom to fill the default scaling mode.

2009-11-06  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_dec.c: (ismd_gst_audio_decoder_init):
	* ismd_gst_audio_sink.c: (ismd_gst_audio_sink_init):
	* ismd_gst_element.c: (ismd_gst_element_register_sinkpad),
	(ismd_gst_element_create_pads):
	* ismd_gst_element.h:
	* ismd_gst_h264_viddec.c: (ismd_gst_h264_viddec_init):
	* ismd_gst_mpeg2_viddec.c: (ismd_gst_mpeg2_viddec_init):
	* ismd_gst_ps_demux.c: (ismd_gst_ps_demux_init):
	* ismd_gst_ts_demux.c: (ismd_gst_ts_demux_init):
	* ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_init):
	* ismd_gst_vidpproc.c: (ismd_gst_vidpproc_init):
	* ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_init):
	Remove the buffer alloc function in the base class and some code
	refactoring according to it.

2009-11-06  Josep Torra  <josep@fluendo.com>

	* ismd_gst_element.h:
	* ismd_gst_vidpproc.c: (ismd_gst_vidpproc_setcaps),
	(ismd_gst_vidpproc_alloc), (ismd_gst_vidpproc_base_init),
	(ismd_gst_vidpproc_init), (ismd_open),
	(ismd_gst_vidpproc_change_state):
	* ismd_gst_vidpproc.h:
	Some more code clean up on the vidpproc element.
	Added a rewritten buffer alloc function.

2009-11-06  Josep Torra  <josep@fluendo.com>

	* ismd_gst_element.c:
	* ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_alloc),
	(ismd_gst_vidrend_sink_init):
	Provide our own buffer alloc funcion for the ismd_vidrend_sink.

2009-11-06  Josep Torra  <josep@fluendo.com>

	* ismd_gst_element.c: (adapter_push), (ismd_connect_gst_pads),
	(connect_pads), (disconnect_pads), (element_drain),
	(tag_new_segment), (ismd_gst_element_sink_port_write),
	(ismd_gst_element_sink_chain_gst_buffer),
	(ismd_gst_element_sink_chain), (ismd_gst_element_sink_event),
	(ismd_gst_element_create_pads):
	Some more code cleanup.

2009-11-06  Josep Torra  <josep@fluendo.com>

	* ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_sinkpad_setcaps):
	Fixes a refcounting problem in VC1.

2009-10-29  Josep Torra  <josep@fluendo.com>

	* ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_init),
	(ismd_gst_vc1_viddec_finalize), (ismd_gst_vc1_viddec_convert_SPMP):
	* ismd_gst_vc1_viddec.h:
	Some more clean up.

2009-10-29  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_dec.c: (ismd_gst_audio_decoder_init):
	* ismd_gst_audio_sink.c: (ismd_gst_audio_sink_init),
	(ismd_gst_audio_sink_convert):
	* ismd_gst_element.c: (adapter_reset), (adapter_set_head),
	(adapter_push), (adapter_drain), (ismd_gst_element_init),
	(ismd_gst_element_change_state),
	(ismd_gst_element_register_sinkpad),
	(ismd_gst_element_sink_port_write),
	(ismd_gst_element_sink_chain_gst_buffer),
	(ismd_gst_element_sink_chain), (ismd_gst_element_sink_event),
	(ismd_gst_element_event_loop), (ismd_gst_element_create_pads):
	* ismd_gst_element.h:
	* ismd_gst_h264_viddec.c: (ismd_gst_h264_viddec_init):
	* ismd_gst_mpeg2_viddec.c: (ismd_gst_mpeg2_viddec_init):
	* ismd_gst_ps_demux.c: (ismd_gst_ps_demux_init):
	* ismd_gst_ts_demux.c: (ismd_gst_ts_demux_init):
	* ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_init):
	* ismd_gst_vidpproc.c: (ismd_gst_vidpproc_init):
	* ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_init):
	Several fixes and cleanups.
	The preroll strategy is rewritten.
	The upstream buffers can be accumulated on certain cases.

2009-10-26  Josep Torra  <josep@fluendo.com>

	* ismd_gst_element.c: (ismd_gst_element_sink_port_write):
	Commit the state if the hardware queue is full.

2009-10-23  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_sink.c: (ismd_gst_audio_sink_init):
	* ismd_gst_element.c: (ismd_gst_element_init),
	(ismd_gst_element_change_state), (ismd_gst_element_sink_chain),
	(ismd_gst_element_sink_event), (ismd_gst_element_set_preroll_time):
	* ismd_gst_element.h:
	Paramatrized a prerolling time and use it in the audio sink element
	to avoid starvation in the hardware side.

2009-10-13  Josep Torra  <josep@fluendo.com>

	* ismd_gst_vidrend_sink.c:
	Add string.h include for memset.

2009-08-29  Josep Torra <josep@fluendo.com>

	* converter.c: (yv12_nv12_converter_class_init), (memcpy_nt),
	(uv_to_nv12):
	* converter.h:
	* ismd_gst_audio_dec.c: (ismd_gst_audio_decoder_sinkpad_setcaps),
	(ismd_gst_audio_decoder_change_state), (ismd_open):
	* ismd_gst_audio_dec.h:
	* ismd_gst_audio_sink.c: (ismd_gst_audio_sink_out_mode_get_type),
	(per_channel_volume), (channel_mix_volume),
	(update_volume_and_mute), (ismd_configure_output),
	(ismd_gst_audio_sinkpad_getcaps), (ismd_gst_audio_sinkpad_setcaps),
	(ismd_gst_audio_sink_change_state), (get_available_caps),
	(get_hdmi_info), (ismd_open), (ismd_close),
	(ismd_gst_audio_sink_query):
	* ismd_gst_audio_sink.h:
	* ismd_gst_buffer.c: (log_buffer), (ismd_gst_buffer_finalize):
	* ismd_gst_buffer.h:
	* ismd_gst_clock.c: (ismd_gst_clock_finalize),
	(ismd_gst_clock_class_init), (ismd_gst_clock_init),
	(ismd_get_internal_time):
	* ismd_gst_clock.h:
	* ismd_gst_clock_provider.c: (ismd_gst_clock_provider_class_init),
	(ismd_gst_clock_provider_provide_clock):
	* ismd_gst_clock_provider.h:
	* ismd_gst_debug.h:
	* ismd_gst_element.c: (unpack_uv), (memcpy_nt),
	(ismd_gst_element_change_state),
	(ismd_gst_element_register_sinkpad),
	(ismd_gst_element_register_srcpad),
	(ismd_gst_element_check_image_buf_caps),
	(ismd_gst_element_get_image_details),
	(ismd_gst_element_set_up_image_attrs_for_ismd_buf),
	(ismd_downstream_alloc), (ismd_gst_element_sink_chain_smd_buffer),
	(ismd_gst_element_sink_chain_image_gst_buffer),
	(ismd_gst_element_sink_chain_gst_buffer),
	(ismd_gst_element_sink_chain), (ismd_gst_element_sink_event),
	(ismd_gst_element_pull_i420), (ismd_gst_element_event_loop),
	(ismd_gst_element_set_clock), (ismd_connect_gst_pads),
	(connect_pads), (disconnect_pads), (send_eos_to_smd_port),
	(ismd_gst_element_drain), (ismd_gst_tag_bug_new_segment),
	(ismd_gst_element_create_pads):
	* ismd_gst_element.h:
	* ismd_gst_h264_viddec.c: (ismd_gst_h264_viddec_sinkpad_setcaps),
	(ismd_gst_h264_viddec_cleanup), (ismd_gst_h264_viddec_init),
	(ismd_gst_h264_viddec_change_state), (concatenate),
	(ismd_gst_h264_viddec_convert):
	* ismd_gst_h264_viddec.h:
	* ismd_gst_mpeg2_viddec.c: (ismd_gst_mpeg2_viddec_sinkpad_setcaps),
	(ismd_gst_mpeg2_viddec_init), (ismd_gst_mpeg2_viddec_change_state):
	* ismd_gst_mpeg2_viddec.h:
	* ismd_gst_pad.h:
	* ismd_gst_ps_demux.c: (_do_init), (ismd_gst_ps_demux_base_init),
	(ismd_gst_ps_demux_class_init),
	(ismd_gst_ps_demux_sinkpad_setcaps), (ismd_gst_ps_demux_init),
	(ismd_gst_ps_demux_change_state), (ismd_gst_ps_demux_finalize),
	(ismd_open), (ismd_setup), (ismd_start), (ismd_pause), (ismd_stop),
	(ismd_close), (ismd_gst_ps_demux_get_property):
	* ismd_gst_ps_demux.h:
	* ismd_gst_ts_demux.c: (_do_init), (ismd_gst_ts_demux_base_init),
	(ismd_gst_ts_demux_class_init),
	(ismd_gst_ts_demux_sinkpad_setcaps), (ismd_gst_ts_demux_init),
	(ismd_gst_ts_demux_change_state), (ismd_gst_ts_demux_finalize),
	(ismd_open), (ismd_setup), (ismd_start), (ismd_pause), (ismd_stop),
	(ismd_close), (ismd_gst_ts_demux_get_property):
	* ismd_gst_ts_demux.h:
	* ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_sinkpad_setcaps),
	(ismd_gst_vc1_viddec_init), (ismd_gst_vc1_viddec_change_state),
	(ismd_gst_vc1_viddec_SPMP_PESpacket_PayloadFormatHeader),
	(ismd_gst_vc1_viddec_convert_UN),
	(ismd_gst_vc1_viddec_convert_AP_ASF):
	* ismd_gst_vc1_viddec.h:
	* ismd_gst_vidpproc.c: (ismd_gst_vidpproc_scale_mode_get_type),
	(ismd_gst_vidpproc_sinkpad_setcaps), (ismd_gst_vidpproc_init):
	* ismd_gst_vidpproc.h:
	* ismd_gst_vidrend_sink.c: (setup_gdl),
	(ismd_gst_vidrend_sink_chain), (ismd_gst_vidrend_sink_init),
	(ismd_gst_vidrend_sink_finalize),
	(ismd_gst_vidrend_sink_event_loop),
	(ismd_gst_vidrend_sink_change_state), (ismd_open), (ismd_start),
	(ismd_stop), (ismd_gst_vidrend_sink_query):
	* ismd_gst_vidrend_sink.h:
	* ismd_plugin.c:
	Executed gst-indent in the whole code.

2009-08-29  Josep Torra  <josep@fluendo.com>

	* Makefile:
	* ismd_gst_base_transform.c:
	* ismd_gst_base_transform.h:
	* ismd_gst_element.c: (ismd_gst_element_create_pads):
	* ismd_gst_element.h:
	* ismd_gst_h264_viddec.c: (ismd_gst_h264_viddec_init):
	* ismd_gst_h264_viddec.h:
	* ismd_gst_mpeg2_viddec.c: (ismd_gst_mpeg2_viddec_init):
	* ismd_gst_mpeg2_viddec.h:
	* ismd_gst_ps_demux.c: (ismd_gst_ps_demux_init):
	* ismd_gst_ps_demux.h:
	* ismd_gst_ts_demux.c: (ismd_gst_ts_demux_init):
	* ismd_gst_ts_demux.h:
	* ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_init):
	* ismd_gst_vc1_viddec.h:
	* ismd_gst_vidpproc.c: (ismd_gst_vidpproc_init):
	* ismd_gst_vidpproc.h:
	* ismd_plugin.c:
	Removed ISmdBaseTransform that we don't require.

2009-08-07  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_sink.c: (ismd_gst_audio_sinkpad_setcaps),
	(get_available_caps):
	Add caps for audio/x-eac3.

2009-06-25  Josep Torra  <josep@fluendo.com>

	* ismd_gst_clock.c: (ismd_gst_clock_init):
	Sync with PR10 code.
	Changed clock type as per PR10 code.

2009-06-25  Josep Torra  <josep@fluendo.com>

	* ismd_gst_element.c: (ismd_gst_element_sink_chain_smd_buffer),
	(ismd_gst_element_sink_chain_image_gst_buffer),
	(ismd_gst_element_sink_chain_gst_buffer):
	Convert pts 0 to 1 tick of smd time to avoid being discarded as
	first pts in the ismd audio kernel module.

2009-06-18  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_sink.c: (ismd_gst_audio_sink_query):
	* ismd_gst_clock.c: (ismd_gst_clock_finalize):
	* ismd_gst_element.c: (ismd_gst_element_change_state),
	(ismd_gst_element_sink_chain), (ismd_gst_tag_bug_new_segment):
	* ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_query):
	Rewrite on syncronization and query position.

2009-06-18  Josep Torra  <josep@fluendo.com>

	* ismd_gst_clock.c: (_do_init), (ismd_gst_clock_init),
	(ismd_get_internal_time):
	* ismd_gst_clock.h:
	* ismd_gst_element.c: (ismd_gst_element_change_state):
	Some more cleanup on the code related to the clock.

2009-06-17  Josep Torra  <josep@fluendo.com>

	* ismd_gst_clock.c: (ismd_gst_clock_finalize),
	(ismd_gst_clock_init):
	* ismd_gst_clock.h:
	* ismd_gst_clock_provider.c: (ismd_gst_clock_provider_class_init),
	(ismd_gst_clock_provider_init), (ismd_gst_clock_provider_dispose),
	(ismd_gst_clock_provider_provide_clock):
	* ismd_gst_clock_provider.h:
	* ismd_gst_mpeg2_viddec.c: (ismd_gst_mpeg2_viddec_change_state):
	Some more code cleanup.

2009-06-11  Josep Torra  <josep@fluendo.com>

	* ismd_gst_clock.c: (ismd_gst_clock_finalize),
	(ismd_gst_clock_class_init), (ismd_gst_clock_init),
	(ismd_get_internal_time):
	* ismd_gst_clock.h:
	* ismd_gst_clock_provider.c: (ismd_gst_clock_provider_class_init),
	(ismd_gst_clock_provider_init), (ismd_gst_clock_provider_dispose),
	(ismd_gst_clock_provider_provide_clock):
	* ismd_gst_clock_provider.h:
	* ismd_gst_element.c: (ismd_gst_element_init),
	(ismd_gst_element_finalize), (ismd_gst_element_change_state),
	(ismd_gst_element_set_clock):
	* ismd_gst_element.h:
	* ismd_gst_h264_viddec.c: (ismd_gst_h264_viddec_sinkpad_setcaps):
	* ismd_gst_mpeg2_viddec.c: (ismd_gst_mpeg2_viddec_sinkpad_setcaps):
	* ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_sinkpad_setcaps):
	Cleaned the code related to the clock and clock provider.
	Some minor fixes here and there.

2009-06-11  Julien Moutte  <julien@fluendo.com>

	* ismd_gst_buffer.c: (ismd_gst_buffer_class_init),
	(ismd_gst_buffer_finalize): Fix finalize and chain up.
	* ismd_gst_element.c: (ismd_downstream_alloc): Use
	gst_structure_has_name
	* ismd_gst_pad.c: (ismd_gst_pad_finalize), (ismd_gst_pad_dispose):
	Use GST_CALL_PARENT macro.

2009-06-11  Josep Torra  <josep@fluendo.com>

	* ismd_gst_element.c: (ismd_gst_element_sink_event),
	(ismd_gst_element_pull_i420), (ismd_gst_element_event_loop),
	(ismd_gst_element_drain):
	* ismd_gst_h264_viddec.c: (ismd_gst_h264_viddec_sinkpad_setcaps),
	(ismd_gst_h264_viddec_init):
	* ismd_gst_mpeg2_viddec.c: (ismd_gst_mpeg2_viddec_sinkpad_setcaps),
	(ismd_gst_mpeg2_viddec_init):
	* ismd_gst_ps_demux.c: (ismd_gst_ps_demux_init):
	* ismd_gst_ts_demux.c: (ismd_gst_ts_demux_init):
	* ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_sinkpad_setcaps),
	(ismd_gst_vc1_viddec_init):
	* ismd_gst_vidpproc.c: (ismd_gst_vidpproc_sinkpad_setcaps),
	(ismd_gst_vidpproc_init), (ismd_get_tvmode_size):
	More fixes related to refcounting and memory leaks.
	Rewritten event_loop code to make it less confuse.

2009-06-11  Josep Torra  <josep@fluendo.com>

	* Makefile:
	* ismd_gst_audio_dec.c: (ismd_gst_audio_decoder_init),
	(ismd_gst_audio_decoder_change_state):
	* ismd_gst_audio_sink.c: (ismd_gst_audio_sink_init),
	(ismd_gst_audio_sink_change_state):
	* ismd_gst_clock_provider.c: (ismd_gst_clock_provider_init),
	(ismd_gst_clock_provider_finalize),
	(ismd_gst_clock_provider_change_state),
	(ismd_gst_clock_provider_provide_clock):
	* ismd_gst_clock_provider.h:
	* ismd_gst_element.c: (ismd_gst_element_init),
	(ismd_gst_element_finalize), (ismd_gst_element_change_state),
	(ismd_gst_element_sink_chain), (ismd_gst_element_sink_event),
	(ismd_gst_element_event_loop):
	* ismd_gst_element.h:
	* ismd_gst_h264_viddec.c: (ismd_gst_h264_viddec_init),
	(ismd_gst_h264_viddec_change_state):
	* ismd_gst_mpeg2_viddec.c: (ismd_gst_mpeg2_viddec_init),
	(ismd_gst_mpeg2_viddec_change_state):
	* ismd_gst_ps_demux.c: (ismd_gst_ps_demux_base_init),
	(ismd_gst_ps_demux_change_state):
	* ismd_gst_ts_demux.c: (ismd_gst_ts_demux_base_init),
	(ismd_gst_ts_demux_change_state):
	* ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_change_state):
	* ismd_gst_vidpproc.c: (ismd_gst_vidpproc_change_state):
	* ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_init),
	(ismd_gst_vidrend_sink_change_state):
	Removed all SVEN related stuff as we prefer gstreamer logging system.

2009-06-10  Josep Torra  <josep@fluendo.com>

	* ismd_gst_element.c: (ismd_gst_element_event_loop),
	(ismd_connect_gst_pads):
	* ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_finalize):
	Make VC1 decoder finalize call the parent.

2009-06-10  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_sink.c: (ismd_gst_audio_sink_finalize):
	* ismd_gst_element.c: (ismd_gst_element_sink_event):
	Fixed a ref counting issue in the sinkpad.
	Fixed some memory leaks.
	Romeved some dead code.

2009-06-10  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_sink.c: (channel_mix_volume),
	(update_volume_and_mute), (ismd_configure_output),
	(ismd_gst_audio_sinkpad_setcaps), (ismd_gst_audio_sink_init),
	(ismd_gst_audio_sink_event_loop),
	(ismd_gst_audio_sink_change_state), (get_hdmi_info), (ismd_open),
	(ismd_start), (ismd_close), (ismd_gst_audio_sink_query):
	* ismd_gst_buffer.c: (log_buffer), (ismd_gst_buffer_finalize):
	* ismd_gst_element.c: (unpack_uv), (ismd_gst_element_init),
	(ismd_gst_element_finalize), (ismd_gst_element_change_state),
	(ismd_gst_element_register_srcpad),
	(ismd_gst_element_get_image_details), (ismd_downstream_alloc),
	(ismd_gst_element_commit_state),
	(ismd_gst_element_sink_chain_smd_buffer),
	(ismd_gst_element_sink_chain_image_gst_buffer),
	(ismd_gst_element_sink_chain), (ismd_gst_element_sink_event),
	(ismd_gst_element_set_clock), (ismd_src_link_function),
	(ismd_connect_gst_pads), (ismd_gst_element_drain),
	(ismd_gst_tag_bug_new_segment):
	Some vars renamed and cleanups.
	Fixed some minor issues spotted with valgrind.

2009-06-09  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_sink.c: (channel_mix_volume),
	(ismd_configure_output), (ismd_gst_audio_sink_class_init),
	(get_hdmi_info), (ismd_open):
	Refactored ismd_open.
	Added ismd_audio_input_set_as_primary call.
	
2009-06-09  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_sink.c: (per_channel_volume),
	(channel_mix_volume), (update_volume_and_mute),
	(ismd_configure_output), (ismd_gst_audio_sink_class_init),
	(ismd_gst_audio_sinkpad_getcaps), (ismd_gst_audio_sinkpad_setcaps),
	(ismd_gst_audio_sink_init), (get_available_caps), (get_hdmi_info),
	(ismd_open), (ismd_gst_audio_sink_get_property),
	(ismd_gst_audio_sink_set_property):
	* ismd_gst_audio_sink.h:
	Refactor caps strings.
	Implement _getcaps function that it's autoconfigured according to
	available codecs.
	Attempt to implement volume control using the input port.
	Added hdmi audio capabilities discovery and configure hdmi port
	according to it.
	Add a property to select the global audio processor and use it
	as default.

2009-06-09  Josep Torra  <josep@fluendo.com>

	* ismd_gst_element.c: (ismd_gst_element_init),
	(ismd_gst_element_sink_chain), (ismd_gst_element_sink_event),
	(ismd_gst_tag_bug_new_segment):
	* ismd_gst_element.h:
	* ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_query):
	Make newsegment events properly passed between elements.
	Use gst_util_scale function to avoid overflows when converting
	time between SMD and GST domains.

2009-05-27  Josep Torra  <josep@fluendo.com>

	* ismd_gst_buffer.c: (ismd_gst_buffer_class_init),
	(ismd_gst_buffer_init), (ismd_gst_buffer_new),
	(ismd_gst_buffer_finalize):
	* ismd_gst_element.c: (ismd_gst_element_change_state),
	(ismd_gst_element_event_loop):
	Few more code cleanup.

2009-05-27  Josep Torra  <josep@fluendo.com>

	* ismd_gst_element.c: (ismd_gst_element_change_state),
	(ismd_gst_element_sink_event), (ismd_gst_element_event_loop):
	* ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_change_state):
	* ismd_gst_vidpproc.c: (ismd_gst_vidpproc_change_state):
	* ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_change_state):
	Properly handle the case when buffers can't be allocated downstream.
	Some more code clean up.

2009-05-27  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_sink.c: (ismd_gst_audio_sink_change_state),
	(ismd_gst_audio_sink_convert):
	* ismd_gst_element.c: (ismd_gst_element_sink_chain):
	Few more cleanups.

2009-05-26  Josep Torra <josep@fluendo.com>

	* ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_sinkpad_setcaps),
	(ismd_gst_vc1_viddec_convert_UN),
	(ismd_gst_vc1_viddec_convert_AP_ASF):
	Fixes decoding of VC1 AP contained in ASF.

2009-05-25  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_sink.c: (update_volume_and_mute),
	(ismd_configure_output), (ismd_gst_audio_sink_class_init),
	(ismd_gst_audio_sinkpad_setcaps), (ismd_gst_audio_sink_init),
	(ismd_gst_audio_sink_finalize), (ismd_gst_audio_sink_change_state),
	(ismd_open), (ismd_stop), (ismd_gst_audio_sink_get_property),
	(ismd_gst_audio_sink_set_property):
	Fixes volume change.

2009-05-21  Josep Torra  <josep@fluendo.com>

	* Makefile: added new library for clock recovery.
	* ismd_gst_audio_sink.c: (update_volume_and_mute),
	(ismd_gst_audio_sink_class_init), (ismd_gst_audio_sink_init),
	(ismd_open), (ismd_gst_audio_sink_get_property),
	(ismd_gst_audio_sink_set_property):
	* ismd_gst_audio_sink.h:
	Cleaned caps.
	Added mute and volume properties.

2009-05-20  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_dec.c:
	* ismd_gst_audio_sink.c: (ismd_gst_audio_sinkpad_setcaps):
	* ismd_gst_h264_viddec.c: (ismd_gst_h264_viddec_sinkpad_setcaps):
	* ismd_gst_mpeg2_viddec.c: (ismd_gst_mpeg2_viddec_sinkpad_setcaps):
	* ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_sinkpad_setcaps),
	(ismd_gst_vc1_viddec_change_state):
	Some fixes to build the changes introduced in the last sync to PR9.

2009-05-20  Sergi Alvarez  <salvarez@fluendo.com>

	reviewed by: Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_sink.c: (ismd_gst_audio_sinkpad_setcaps):
	* ismd_gst_element.c: (ismd_gst_element_change_state),
	(ismd_gst_element_sink_event):
	* ismd_gst_h264_viddec.c: (ismd_gst_h264_viddec_change_state):
	* ismd_gst_mpeg2_viddec.c: (ismd_gst_mpeg2_viddec_change_state):
	* ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_change_state):
	* ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_change_state):
	Remove asserts, and unnecessary checks, fix build

2009-05-20  Sergi Alvarez  <salvarez@fluendo.com>

	* Makefile:
	* converter.c: (yv12_nv12_converter_class_init),
	(yv12_nv12_converter_init):
	* ismd_gst_audio_dec.c: (ismd_gst_audio_decoder_sinkpad_setcaps):
	* ismd_gst_audio_sink.c: (ismd_gst_audio_sinkpad_setcaps),
	(ismd_gst_audio_sink_change_state):
	* ismd_gst_element.c: (ismd_gst_element_finalize),
	(ismd_gst_element_change_state), (ismd_gst_element_sink_chain),
	(ismd_gst_element_sink_event):
	* ismd_gst_h264_viddec.c: (ismd_gst_h264_viddec_sinkpad_setcaps),
	(ismd_gst_h264_viddec_change_state):
	* ismd_gst_mpeg2_viddec.c: (ismd_gst_mpeg2_viddec_sinkpad_setcaps),
	(ismd_gst_mpeg2_viddec_change_state):
	* ismd_gst_recovery_clock_provider.c: (scan_transport_stream),
	(ismd_recovery_clock_provider_base_init),
	(ismd_recovery_clock_provider_class_init),
	(ismd_recovery_clock_provider_init),
	(ismd_recovery_clock_provider_finalize),
	(ismd_recovery_clock_provider_change_state),
	(ismd_recovery_clock_provider_provide_clock),
	(ismd_recovery_clock_provider_event),
	(ismd_recovery_clock_provider_chain),
	(ismd_recovery_clock_provider_set_property),
	(ismd_recovery_clock_provider_get_property):
	* ismd_gst_recovery_clock_provider.h:
	* ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_sinkpad_setcaps),
	(ismd_gst_vc1_viddec_change_state):
	* ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_class_init),
	(ismd_gst_vidrend_sink_change_state),
	(ismd_gst_vidrend_sink_query):
	Sync with PR9

2009-05-18  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_sink.c: (ismd_gst_audio_sink_out_mode_get_type),
	(ismd_gst_audio_sink_out_channels_get_type),
	(ismd_configure_output), (ismd_gst_audio_sink_class_init),
	(ismd_gst_audio_sinkpad_setcaps), (ismd_gst_audio_sink_init),
	(ismd_open), (ismd_gst_audio_sink_get_property),
	(ismd_gst_audio_sink_set_property):
	* ismd_gst_audio_sink.h:
	Some cleanups and refactoring.

2009-05-18  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_sink.c: (ismd_gst_audio_sink_class_init),
	(ismd_gst_audio_sink_init), (ismd_gst_audio_sink_finalize),
	(ismd_gst_audio_sink_event_loop), (ismd_open), (ismd_start),
	(ismd_stop), (ismd_gst_audio_sink_get_property),
	(ismd_gst_audio_sink_set_property):
	* ismd_gst_audio_sink.h:
	* ismd_gst_element.c: (ismd_gst_element_sink_event),
	(ismd_gst_element_drain), (send_event_to_srcpads):
	* ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_class_init),
	(ismd_gst_vidrend_sink_init), (ismd_gst_vidrend_sink_finalize),
	(ismd_gst_vidrend_sink_event_loop),
	(ismd_gst_vidrend_sink_change_state), (ismd_open), (ismd_start),
	(ismd_stop):
	* ismd_gst_vidrend_sink.h:
	Some more cleanups and some functions inlined.
	EOS handling strategy rewritten.

2009-05-14  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_sink.c: (ismd_configure_output):
	* ismd_gst_h264_viddec.c:
	* ismd_gst_mpeg2_viddec.c:
	* ismd_gst_vc1_viddec.c:
	* ismd_gst_vidpproc.c:
	Several fixes in the caps.
	Make audiosink downmix to stereo for HDMI output.

2009-05-13  Josep Torra  <josep@fluendo.com>

	* ismd_gst_element.c: (ismd_gst_element_sink_chain):
	Added a unlock forgot in my previous commit.

2009-05-13  Josep Torra  <josep@fluendo.com>

	* Makefile:
	* ismd_gst_element.c: (ismd_gst_element_commit_state),
	(ismd_gst_element_sink_chain), (ismd_gst_element_flush_start),
	(ismd_gst_element_sink_event), (ismd_gst_element_event_loop):
	Ensure to take the lock when some state data members are accessed.
	Fixes race in the state change and seeking issues.

2009-05-13  Josep Torra  <josep@fluendo.com>

	* ismd_gst_element.c: (ismd_gst_element_change_state),
	(ismd_gst_element_register_sinkpad),
	(ismd_gst_element_register_srcpad),
	(ismd_gst_element_sink_chain_smd_buffer),
	(ismd_gst_element_sink_chain_gst_buffer),
	(ismd_gst_element_sink_chain), (ismd_gst_element_event_loop),
	(ismd_unlink_function), (ismd_connect_gst_pads), (disconnect_pads):
	Make debug output less verbose.
	Some minor fixes on the clean up process.

2009-05-13  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_sink.c: (ismd_gst_audio_sink_class_init):
	* ismd_gst_element.c: (ismd_gst_element_class_init),
	(ismd_gst_element_change_state), (ismd_gst_element_sink_chain),
	(ismd_gst_element_sink_event), (ismd_gst_tag_bug_new_segment):
	* ismd_gst_element.h:
	* ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_class_init):
	Rename require_sync to is_sink as it describe it better.

2009-05-13  Josep Torra  <josep@fluendo.com>

	* Makefile:
	* ismd_gst_h264_viddec.c: (ismd_gst_h264_viddec_sinkpad_setcaps),
	(ismd_gst_h264_viddec_cleanup), (ismd_gst_h264_viddec_init),
	(ismd_gst_h264_viddec_convert):
	* ismd_gst_h264_viddec.h:
	Fix seeking for h264 case pushing SPS/PPS again when is required.

2009-05-13  Josep Torra  <josep@fluendo.com>

	* ismd_gst_element.c: (unpack_uv), (ismd_gst_element_class_init),
	(ismd_gst_element_change_state),
	(ismd_gst_element_unregister_srcpad),
	(ismd_gst_element_requires_clock),
	(ismd_gst_element_get_image_details),
	(ismd_gst_element_set_up_image_attrs_for_ismd_buf),
	(ismd_downstream_alloc),
	(ismd_gst_element_copy_virt_frame_data_to_phys_buf),
	(ismd_gst_element_commit_state),
	(ismd_gst_element_sink_chain_smd_buffer),
	(ismd_gst_element_sink_chain_image_gst_buffer),
	(ismd_gst_element_sink_chain), (ismd_gst_element_flush_start),
	(ismd_gst_element_sink_event), (ismd_gst_element_pull_i420),
	(ismd_gst_element_event_loop), (ismd_gst_element_set_clock):
	* ismd_gst_element.h:
	Several cleanups and marginal optimizations.

2009-05-12  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_sink.c: (ismd_gst_audio_sink_class_init),
	(ismd_gst_audio_sinkpad_setcaps),
	(ismd_gst_audio_sink_change_state), (ismd_start),
	(ismd_gst_audio_sink_query):
	* ismd_gst_element.c: (ismd_gst_element_class_init),
	(ismd_gst_element_init), (ismd_gst_element_change_state),
	(ismd_gst_element_sink_port_write),
	(ismd_gst_element_commit_state), (ismd_gst_element_sink_chain),
	(ismd_gst_element_flush_start), (ismd_gst_element_sink_event),
	(ismd_gst_element_event_loop), (ismd_src_link_function),
	(ismd_unlink_function), (ismd_connect_gst_pads), (connect_pads),
	(ismd_gst_tag_bug_new_segment):
	* ismd_gst_element.h:
	* ismd_gst_pad.c: (ismd_gst_pad_class_init),
	(ismd_gst_pad_finalize), (ismd_gst_pad_dispose),
	(ismd_gst_pad_init), (ismd_gst_pad_new_from_template):
	* ismd_gst_pad.h:
	* ismd_gst_vidpproc.c:
	* ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_class_init),
	(config_tvmode), (setup_gdl), (ismd_gst_vidrend_sinkpad_setcaps),
	(ismd_gst_vidrend_sink_query):
	Added async change state and prerolling for sink elements.
	Removed the capability of directly connect ISMD elements.
	Call gst_element_lost_state to require a base_time redistribution
	in FLUSH-START for sink elements.
	Correct base_time submited to ismd_element with the position in order
	to make seeking work.
	Changed the sink caps in video sink to accept only video/x-raw-ismd.
	Changed the src caps in vidpproc element to only produce
        video/x-raw-ismd.
	Several other cleanups.

2009-05-07  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_sink.c: (ismd_open):
	* ismd_gst_element.c: (ismd_gst_element_change_state),
	(ismd_downstream_alloc), (ismd_gst_element_sink_chain),
	(ismd_src_link_function), (send_event_to_srcpads),
	(ismd_gst_tag_bug_new_segment):
	Some more cleanups and removed all g_assert in the element base class.

2009-05-05  Josep Torra  <josep@fluendo.com>

	* ismd_gst_h264_viddec.c: (concatenate),
	(ismd_gst_h264_viddec_convert):
	Fixes decoding of h264 for any file.

2009-05-04  Josep Torra  <josep@fluendo.com>

	* ismd_gst_element.c: (ismd_downstream_alloc):
	Do not cache the allocated buffers. Fixes errors in software decoder.
	
2009-04-29  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_sink.c: (ismd_gst_audio_sink_init), (ismd_stop):
	Ensure to be able reconfigure the codec and output when element is
	in READY state.

2009-04-29  Josep Torra  <josep@fluendo.com>

	* ismd_gst_clock.c: (ismd_gst_clock_class_init),
	(ismd_gst_clock_init), (ismd_get_internal_time):
	* ismd_gst_clock_provider.c: (_do_init),
	(ismd_gst_clock_provider_base_init),
	(ismd_gst_clock_provider_class_init),
	(ismd_gst_clock_provider_init), (ismd_gst_clock_provider_finalize),
	(ismd_gst_clock_provider_change_state),
	(ismd_gst_clock_provider_provide_clock):
	Cleanups on the clock related elements.

2009-04-28  Josep Torra  <josep@fluendo.com>

	* Makefile:
	* converter.c: (memcpy_nt):
	Some more fixes on Makefile and inline assembly.

2009-04-27  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_dec.c: (ismd_gst_audio_decoder_sinkpad_setcaps),
	(ismd_gst_audio_decoder_init), (ismd_gst_audio_decoder_finalize),
	(ismd_gst_audio_decoder_sink_event),
	(ismd_gst_audio_decoder_change_state), (ismd_open),
	(ismd_gst_audio_decoder_get_property),
	(ismd_gst_audio_decoder_convert):
	* ismd_gst_audio_dec.h:
	* ismd_gst_audio_sink.c: (ismd_gst_audio_sink_change_state):
	Some more cleanups.

2009-04-24  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_sink.c: (ismd_gst_audio_sinkpad_setcaps):
	A pair of cosmetic cleanups.

2009-04-24  Josep Torra  <josep@fluendo.com>

	* Makefile:
	* ismd_gst_audio_dec.c: (create_aac_header),
	(ismd_gst_audio_decoder_change_state):
	* ismd_gst_audio_sink.c: (create_aac_header):
	Some more cleanups.

2009-04-23  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_dec.c: (_do_init), (create_aac_header),
	(ismd_gst_audio_decoder_base_init),
	(ismd_gst_audio_decoder_class_init),
	(ismd_gst_audio_decoder_sinkpad_setcaps),
	(ismd_gst_audio_decoder_init), (ismd_gst_audio_decoder_finalize),
	(ismd_gst_audio_decoder_sink_event),
	(ismd_gst_audio_decoder_event_loop),
	(ismd_gst_audio_decoder_change_state), (ismd_open), (ismd_start),
	(ismd_stop), (ismd_close), (ismd_gst_audio_decoder_get_property),
	(ismd_gst_audio_decoder_set_property),
	(ismd_gst_audio_decoder_convert):
	* ismd_gst_audio_sink.c: (ismd_gst_audio_sinkpad_setcaps),
	(ismd_gst_audio_sink_change_state), (ismd_start), (ismd_stop),
	(ismd_close):
	Initial cleanup on the audio decoder.
	Some more cleanups on the audio sink and a pair of minor fixes.

2009-04-23  Josep Torra  <josep@fluendo.com>

	* ismd_gst_base_transform.c: (_do_init),
	(ismd_gst_base_transform_base_init),
	(ismd_gst_base_transform_class_init),
	(ismd_gst_base_transform_init),
	(ismd_gst_base_transform_create_pads),
	(ismd_gst_base_transform_finalize),
	(ismd_gst_base_transform_change_state),
	(ismd_gst_base_transform_get_property):
	* ismd_gst_element.c: (unpack_uv), (memcpy_nt),
	(ismd_gst_element_init), (ismd_gst_element_finalize),
	(ismd_gst_element_change_state),
	(ismd_gst_element_register_sinkpad),
	(ismd_gst_element_register_srcpad),
	(ismd_gst_element_check_image_buf_caps), (ismd_downstream_alloc),
	(ismd_gst_element_sink_port_write),
	(ismd_gst_element_sink_chain_gst_buffer),
	(ismd_gst_element_sink_chain), (ismd_gst_element_sink_event),
	(ismd_gst_element_pull_i420), (ismd_gst_element_pull_other),
	(ismd_gst_element_event_loop), (ismd_gst_element_set_clock),
	(ismd_connect_gst_pads), (connect_pads), (disconnect_pads),
	(send_eos_to_smd_port), (send_event_to_srcpads):
	* ismd_gst_element.h:
	* ismd_gst_h264_viddec.c: (ismd_gst_h264_viddec_change_state),
	(ismd_gst_h264_viddec_convert):
	Some more cleanups.

2009-04-23  Josep Torra  <josep@fluendo.com>

	* ismd_gst_h264_viddec.c: (ismd_gst_h264_viddec_base_init),
	(ismd_gst_h264_viddec_sinkpad_setcaps),
	(ismd_gst_h264_viddec_cleanup), (ismd_gst_h264_viddec_init),
	(ismd_gst_h264_viddec_finalize),
	(ismd_gst_h264_viddec_change_state), (concatenate),
	(ismd_gst_h264_viddec_convert):
	* ismd_gst_h264_viddec.h:
	NALU to ES converter code rewrite.

2009-04-22  Josep Torra  <josep@fluendo.com>

	* ismd_gst_element.c: (ismd_gst_element_change_state):
	* ismd_gst_h264_viddec.c: (ismd_gst_h264_viddec_base_init),
	(ismd_gst_h264_viddec_handle_downstream_event),
	(ismd_gst_h264_viddec_parse_codec_priv_data), (find_num_nalus),
	(ismd_gst_h264_viddec_convert):
	Resync h264 decoder code with PR8.

2009-04-22  Josep Torra <josep@fluendo.com>

	* ismd_gst_h264_viddec.c: (_do_init),
	(ismd_gst_h264_viddec_base_init),
	(ismd_gst_h264_viddec_class_init),
	(ismd_gst_h264_viddec_sinkpad_setcaps),
	(ismd_gst_h264_viddec_init), (ismd_gst_h264_viddec_rate_notify),
	(ismd_gst_h264_viddec_handle_downstream_event),
	(ismd_gst_h264_viddec_finalize),
	(ismd_gst_h264_viddec_change_state),
	(ismd_gst_h264_viddec_sink_event),
	(ismd_gst_h264_viddec_parse_codec_priv_data),
	(ismd_gst_h264_viddec_convert):
	* ismd_gst_mpeg2_viddec.c: (_do_init),
	(ismd_gst_mpeg2_viddec_base_init),
	(ismd_gst_mpeg2_viddec_class_init),
	(ismd_gst_mpeg2_viddec_sinkpad_setcaps),
	(ismd_gst_mpeg2_viddec_init), (ismd_gst_mpeg2_viddec_rate_notify),
	(ismd_gst_mpeg2_viddec_handle_downstream_event),
	(ismd_gst_mpeg2_viddec_change_state),
	(ismd_gst_mpeg2_viddec_sink_event):
	* ismd_gst_vc1_viddec.c: (ismd_gst_vc1_viddec_sinkpad_setcaps),
	(ismd_gst_vc1_viddec_convert),
	(ismd_gst_vc1_viddec_handle_downstream_event),
	(ismd_gst_vc1_viddec_change_state),
	(ismd_gst_vc1_viddec_SPMP_PESpacket_PayloadFormatHeader),
	(ismd_gst_vc1_viddec_convert_SPMP),
	(ismd_gst_vc1_viddec_encapsulate_and_write_ebdu):
	* ismd_plugin.c:
	Some cleanups on vc1, h264 and mpeg2 decoders.
	Rise rank on those to make them autoplugged.

2009-04-22  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_sink.c: (ismd_gst_audio_sinkpad_setcaps),
	(ismd_gst_audio_sink_sink_event),
	(ismd_gst_audio_sink_change_state), (ismd_start), (ismd_stop):
	Added a change from PR8 back to our code.
	Some more cleanups.

2009-04-22  Josep Torra  <josep@fluendo.com>

	* ismd_gst_audio_sink.c: (ismd_configure_output),
	(ismd_gst_audio_sinkpad_setcaps),
	(ismd_gst_audio_sink_change_state), (ismd_start), (ismd_stop):
	Fixed a bug channel configuration.
	Some cleanups and refactoring.

2009-04-21  Josep Torra  <josep@fluendo.com>

	* ismd_gst_element.c: (ismd_downstream_alloc),
	(ismd_gst_element_pull_i420), (ismd_gst_element_event_loop):
	* ismd_gst_vc1_viddec.c: (_do_init),
	(ismd_gst_vc1_viddec_base_init), (ismd_gst_vc1_viddec_class_init),
	(ismd_gst_vc1_viddec_sinkpad_setcaps), (ismd_gst_vc1_viddec_init),
	(ismd_gst_vc1_viddec_finalize), (ismd_gst_vc1_viddec_convert),
	(ismd_gst_vc1_viddec_rate_notify),
	(ismd_gst_vc1_viddec_handle_downstream_event),
	(ismd_gst_vc1_viddec_change_state),
	(ismd_gst_vc1_viddec_SPMP_PESpacket_PayloadFormatHeader),
	(ismd_gst_vc1_viddec_convert_AP),
	(ismd_gst_vc1_viddec_convert_SPMP),
	(ismd_gst_vc1_viddec_encapsulate_and_write_ebdu):
	* ismd_gst_vidpproc.c: (ismd_gst_vidpproc_sinkpad_setcaps):
        Added new mime type video/x-raw-ismd to be able direct transfer
	of ISMD buffer handles between elements.
	Add support for this new feature on the VC1 decoder and rise
	the rank to make it autoplugged.
	Done some cleanups on the VC1 decoder.

2009-04-21  Josep Torra  <josep@fluendo.com>

	* ismd_gst_element.c: (ismd_gst_element_check_image_buf_caps),
	(ismd_downstream_alloc), (ismd_gst_element_pull_i420),
	(ismd_gst_element_pull_other), (ismd_gst_element_event_loop):
	* ismd_plugin.c:
	Some more code refactored.

2009-04-20  Josep Torra  <josep@fluendo.com>

	* ismd_gst_element.c: (ismd_gst_element_change_state),
	(ismd_gst_element_register_sinkpad),
	(ismd_gst_element_register_srcpad), (ismd_gst_element_sink_chain),
	(ismd_gst_element_sink_event), (ismd_gst_element_event_loop),
	(ismd_src_link_function), (ismd_connect_gst_pads), (connect_pads),
	(disconnect_pads), (send_eos_to_smd_port), (send_event_to_srcpads):
	Some debug cleanups.
	Added handling of DTS case for fluendo mpeg PS demuxer and
	private streams.
	Fixed a bug that converted a linked pad smd->gst case into smd->smd.

2009-03-26  Josep Torra  <josep@fluendo.com>

	* ismd_gst_element.c: (ismd_gst_element_init),
	(ismd_gst_element_change_state),
	(ismd_gst_element_sink_port_write), (ismd_gst_element_sink_event):
	Some random cleanups.

2009-03-26  Josep Torra  <josep@fluendo.com>

	* converter.c: (yv12_nv12_converter_base_init),
	(yv12_nv12_converter_class_init), (yv12_nv12_converter_init),
	(memcpy_nt), (uv_to_nv12), (yv12_nv12_converter_convert),
	(yv12_nv12_converter_chain), (yv12_nv12_converter_setcaps),
	(yv12_nv12_converter_change_state),
	(yv12_nv12_converter_set_property),
	(yv12_nv12_converter_get_property),
	(yv12_nv12_converter_sink_event),
	(yv12_nv12_converter_downstream_alloc), (plugin_init):
	Some more cleanups and indentation.

2009-03-25  Josep Torra  <josep@fluendo.com>

	* ismd_gst_element.c: (ismd_gst_element_base_init),
	(ismd_gst_element_class_init), (ismd_gst_element_init),
	(ismd_gst_element_change_state), (ismd_downstream_alloc),
	(ismd_connect_smd_pads), (ismd_connect_gst_pads), (connect_pads):
	* ismd_gst_vidpproc.c: (ismd_gst_vidpproc_change_state):
	* ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_change_state):
	Remove some noise in the debug log output.

2009-03-25  Josep Torra  <josep@fluendo.com>

	* ismd_gst_element.c: (_do_init), (ismd_SVEN_WriteCoreEvent),
	(unpack_uv), (memcpy_nt), (ismd_gst_element_base_init),
	(ismd_gst_element_class_init), (ismd_gst_element_init),
	(ismd_gst_element_finalize), (ismd_gst_element_change_state),
	(ismd_gst_element_register_sinkpad),
	(ismd_gst_element_register_srcpad),
	(ismd_gst_element_unregister_srcpad),
	(ismd_gst_element_requires_clock), (ismd_gst_element_is_src_pad),
	(ismd_gst_element_check_image_buf_caps),
	(ismd_gst_element_get_gst_image_size_and_format),
	(ismd_gst_element_set_up_image_attrs_for_ismd_buf),
	(ismd_downstream_alloc),
	(ismd_gst_element_copy_virt_frame_data_to_phys_buf),
	(ismd_gst_element_sink_port_write),
	(ismd_gst_element_sink_chain_smd_buffer),
	(ismd_gst_element_sink_chain_image_gst_buffer),
	(ismd_gst_element_sink_chain_gst_buffer),
	(ismd_gst_element_sink_chain), (ismd_gst_element_sink_event),
	(ismd_gst_element_event_loop), (ismd_gst_element_set_clock),
	(ismd_src_link_function), (ismd_unlink_function),
	(ismd_connect_smd_pads), (ismd_connect_gst_pads), (connect_pads),
	(disconnect_pads), (send_eos_to_smd_port), (send_event_to_srcpads),
	(ismd_gst_tag_bug_new_segment), (ismd_gst_element_get_property):
	Some more code reindentation and cleanup.

2009-03-25  Josep Torra  <josep@fluendo.com>

	* ismd_gst_vidpproc.c: (ismd_gst_vidpproc_scale_mode_get_type),
	(ismd_gst_vidpproc_get_property), (ismd_gst_vidpproc_set_property),
	(ismd_gst_vidpproc_class_init), (ismd_gst_vidpproc_init),
	(ismd_gst_vidpproc_change_state):
	* ismd_gst_vidpproc.h:
	* ismd_gst_vidrend_sink.c:
	Added a property to configure the scale mode.

2009-03-25  Josep Torra  <josep@fluendo.com>

	* ismd_gst_vidpproc.c: (_do_init), (ismd_gst_vidpproc_base_init),
	(ismd_gst_vidpproc_class_init),
	(ismd_gst_vidpproc_sinkpad_setcaps), (ismd_gst_vidpproc_init),
	(ismd_open), (ismd_get_tvmode_size),
	(ismd_gst_vidpproc_change_state):
	More code cleanup and indentation.

2009-03-25  Josep Torra  <josep@fluendo.com>

	* ismd_gst_vidpproc.c: (ismd_gst_vidpproc_sinkpad_setcaps),
	(ismd_gst_vidpproc_init), (ismd_get_tvmode_size),
	(ismd_gst_vidpproc_change_state):
	* ismd_gst_vidrend_sink.c: (config_plane),
	(ismd_gst_vidrend_sinkpad_setcaps), (ismd_gst_vidrend_sink_init),
	(ismd_gst_vidrend_sink_change_state), (ismd_open):
	* ismd_gst_vidrend_sink.h:
	Some more cleanup.

2009-03-25  Josep Torra  <josep@fluendo.com>

	* ismd_gst_vidpproc.c: (ismd_gst_vidpproc_sinkpad_setcaps),
	(ismd_gst_vidpproc_change_state):
	* ismd_gst_vidrend_sink.c: (config_plane),
	(ismd_gst_vidrend_sinkpad_setcaps), (ismd_gst_vidrend_sink_init),
	(ismd_gst_vidrend_sink_change_state):
	Some kind of working state.

2009-03-24  Josep Torra  <josep@fluendo.com>

	* Makefile:
	* ismd_gst_debug.h:
	* ismd_gst_element.c: (unpack_uv), (ismd_gst_element_base_init),
	(ismd_gst_element_class_init), (ismd_gst_element_init),
	(ismd_gst_element_change_state),
	(ismd_gst_element_register_sinkpad),
	(ismd_gst_element_register_srcpad),
	(ismd_gst_element_unregister_srcpad),
	(ismd_gst_element_requires_clock),
	(ismd_gst_element_check_image_buf_caps),
	(ismd_gst_element_get_gst_image_size_and_format),
	(ismd_gst_element_set_up_image_attrs_for_ismd_buf),
	(ismd_downstream_alloc),
	(ismd_gst_element_copy_virt_frame_data_to_phys_buf),
	(ismd_gst_element_sink_port_write),
	(ismd_gst_element_sink_chain_smd_buffer),
	(ismd_gst_element_sink_chain_image_gst_buffer),
	(ismd_gst_element_sink_chain_gst_buffer),
	(ismd_gst_element_sink_chain), (ismd_gst_element_sink_event),
	(ismd_gst_element_event_loop), (ismd_gst_element_set_clock),
	(ismd_src_link_function), (ismd_unlink_function),
	(ismd_connect_smd_pads), (ismd_connect_gst_pads), (connect_pads),
	(disconnect_pads), (send_eos_to_smd_port), (send_event_to_srcpads),
	(ismd_gst_tag_bug_new_segment):
	* ismd_gst_vidpproc.c: (ismd_gst_vidpproc_base_init),
	(ismd_gst_vidpproc_class_init),
	(ismd_gst_vidpproc_sinkpad_setcaps), (ismd_gst_vidpproc_init),
	(ismd_open), (ismd_gst_vidpproc_change_state):
	* ismd_gst_vidrend_sink.c: (ismd_gst_vidrend_sink_class_init),
	(config_plane), (ismd_gst_vidrend_sinkpad_setcaps),
	(ismd_gst_vidrend_sink_chain), (ismd_gst_vidrend_sink_init),
	(ismd_gst_vidrend_sink_change_state):
	* ismd_gst_vidrend_sink.h:
	Added some more code and cleanups.

2009-03-21  Josep Torra <josep@fluendo.com>

	* ismd_gst_audio_sink.c: (ismd_gst_audio_sink_out_port_get_type),
	(ismd_gst_audio_sink_out_mode_get_type), (_do_init),
	(create_aac_header), (set_sadiv_value), (ismd_configure_output),
	(ismd_gst_audio_sink_base_init), (ismd_gst_audio_sink_class_init),
	(ismd_gst_audio_sinkpad_setcaps), (ismd_gst_audio_sink_init),
	(ismd_gst_audio_sink_finalize), (ismd_gst_audio_sink_sink_event),
	(ismd_gst_audio_sink_event_loop),
	(ismd_gst_audio_sink_change_state), (ismd_open), (ismd_setup),
	(ismd_start), (ismd_pause), (ismd_stop), (ismd_close),
	(ismd_gst_audio_sink_get_property),
	(ismd_gst_audio_sink_set_property), (ismd_gst_audio_sink_query),
	(ismd_gst_audio_sink_convert):
	* ismd_gst_vidrend_sink.c: (ismd_gst_video_sink_tvmode_get_type),
	(ismd_gst_video_sink_gdl_plane_get_type), (_do_init),
	(ismd_gst_vidrend_sink_base_init),
	(ismd_gst_vidrend_sink_class_init), (set_gdl_port_attribute),
	(config_tvmode), (config_plane), (setup_gdl),
	(ismd_gst_vidrend_sinkpad_setcaps), (ismd_gst_vidrend_sink_init),
	(ismd_gst_vidrend_sink_finalize),
	(ismd_gst_vidrend_sink_get_property),
	(ismd_gst_vidrend_sink_set_property),
	(ismd_gst_vidrend_sink_event_loop),
	(ismd_gst_vidrend_sink_change_state), (ismd_open), (ismd_setup),
	(ismd_start), (ismd_pause), (ismd_stop), (ismd_close),
	(ismd_gst_vidrend_sink_query):
	* ismd_gst_vidrend_sink.h:
	Indentation and code cleanups.
	Added the proper code to initialize GDL and link it with the ismd
	video renderer element.
	Converted the GST_DEBUG output to be more close with the gstreamer
	style.

