Original commit message from CVS:
2007-09-26 Julien MOUTTE <julien@moutte.net>
* gst/flv/gstflvparse.c: (gst_flv_parse_tag_audio),
(gst_flv_parse_tag_video): codec_data is needed for every tag
not just the first one. (Fix a stupid bug i introduced without
testing)
Original commit message from CVS:
2007-09-26 Julien MOUTTE <julien@moutte.net>
* gst/flv/gstflvparse.c: (gst_flv_parse_tag_audio),
(gst_flv_parse_tag_video): Fix bit masks operations to be
sure we detect the codec_tags and sample rates correctly.
Fix raw audio caps generation.
Original commit message from CVS:
* gst/librfb/gstrfbsrc.c:
* gst/librfb/rfbdecoder.c:
* gst/librfb/rfbdecoder.h:
Added offset-x, offset-y, width and height property
for selecting a region from the screen
Original commit message from CVS:
* gst/librfb/gstrfbsrc.c:
Minimum raw encoding is working now
* gst/librfb/rfbdecoder.c:
fix address while reading from stream
Original commit message from CVS:
* gst/librfb/gstrfbsrc.c:
raw encoding is working, but it looks like the
ffmpegcolorspace plugin can't handle high resolutions
Original commit message from CVS:
* ext/alsaspdif/alsaspdifsink.c:
* ext/timidity/gsttimidity.c:
* ext/timidity/gstwildmidi.c:
* gst/mpegvideoparse/mpegvideoparse.c:
Fix memory leaks. More to come.
* tests/check/Makefile.am:
* tests/check/generic/states.c:
Improved state change unit test.
Original commit message from CVS:
* gst/librfb/gstrfbsrc.c:
* gst/librfb/rfbdecoder.c:
* gst/librfb/rfbdecoder.h:
It is now possible to connect to a vncserver.
there are still some issues with the ouput of
the screen. Looks like some lines are confused
Original commit message from CVS:
* gst/real/gstrealvideodec.c: (gst_real_video_dec_chain),
(open_library), (gst_real_video_dec_init),
(gst_real_video_dec_set_property),
(gst_real_video_dec_get_property), (gst_real_video_dec_class_init):
* gst/real/gstrealvideodec.h:
Don't generate an error for occasional decoding errors.
Add max-errors property.
Error out when we receive max-errors in a row. Fixes#478159.
Original commit message from CVS:
* gst/librfb/gstrfbsrc.c:
Add password property (write only)
* gst/librfb/rfbdecoder.c:
Read the reason on failure
Use the password property for authentication
* gst/librfb/rfbdecoder.h:
Add defines for version checking
Original commit message from CVS:
* gst/librfb/Makefile.am:
* gst/librfb/d3des.c:
* gst/librfb/d3des.h:
* gst/librfb/rfbdecoder.c:
* gst/librfb/vncauth.c:
* gst/librfb/vncauth.h:
VNC Authentication should be working now
temperaly with fake password 'testtest'
Original commit message from CVS:
* gst/librfb/rfbdecoder.c:
* gst/librfb/rfbdecoder.h:
Added some documentation about security handling
start implementing security handling for rfb 3.3
Original commit message from CVS:
* ChangeLog:
Add missing newline.
* gst/librfb/rfbdecoder.c:
Fix the build (missing stdlib.h).
* gst/spectrum/gstspectrum.c:
* gst/spectrum/gstspectrum.h:
Use basetransform segment so that it is correctly managed on flushes
and start/stop. Report message timestamp as stream time, which is what
an application can understand. (Yes these are adapted from wim recent
level element changes)
Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (new_ssrc_pad_found):
Link to the right pads regardless of which one was created first in the
ssrc demuxer.
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_loop):
* gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_process_rtp),
(gst_rtp_session_chain_recv_rtp), (gst_rtp_session_chain_send_rtp):
* gst/rtpmanager/rtpsource.c: (calculate_jitter):
Improve debugging.
* gst/rtpmanager/gstrtpssrcdemux.c: (create_demux_pad_for_ssrc),
(gst_rtp_ssrc_demux_init), (gst_rtp_ssrc_demux_finalize),
(gst_rtp_ssrc_demux_sink_event),
(gst_rtp_ssrc_demux_rtcp_sink_event), (gst_rtp_ssrc_demux_chain),
(gst_rtp_ssrc_demux_rtcp_chain),
(gst_rtp_ssrc_demux_internal_links):
* gst/rtpmanager/gstrtpssrcdemux.h:
Fix race in creating the RTP and RTCP pads when a new SSRC is detected.
Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_set_property),
(gst_rtp_bin_get_property):
Use lock to protect variable.
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_class_init),
(gst_jitter_buffer_sink_parse_caps), (gst_rtp_jitter_buffer_chain),
(convert_rtptime_to_gsttime), (gst_rtp_jitter_buffer_loop):
Reconstruct GST timestamp from RTP timestamps based on measured clock
skew and sync offset.
* gst/rtpmanager/rtpjitterbuffer.c: (rtp_jitter_buffer_init),
(rtp_jitter_buffer_set_tail_changed),
(rtp_jitter_buffer_set_clock_rate),
(rtp_jitter_buffer_get_clock_rate), (calculate_skew),
(rtp_jitter_buffer_insert), (rtp_jitter_buffer_peek):
* gst/rtpmanager/rtpjitterbuffer.h:
Measure clock skew.
Add callback to be notfied when a new packet was inserted at the tail.
* gst/rtpmanager/rtpsource.c: (rtp_source_init),
(calculate_jitter), (rtp_source_send_rtp):
* gst/rtpmanager/rtpsource.h:
Remove clock skew detection, it's move to the jitterbuffer now.
Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (create_session):
Also set NTP base time on new sessions.
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_loop), (gst_rtp_jitter_buffer_query),
(gst_rtp_jitter_buffer_set_property),
(gst_rtp_jitter_buffer_get_property):
Use the right lock to protect our variables.
Fix some comment.
* gst/rtpmanager/gstrtpsession.c:
(gst_rtp_session_getcaps_send_rtp),
(gst_rtp_session_chain_send_rtp), (create_send_rtp_sink):
Implement getcaps on the sender sinkpad so that payloaders can negotiate
the right SSRC.
Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (calc_ntp_ns_base),
(gst_rtp_bin_change_state), (new_payload_found), (create_send_rtp):
Calculate and configure the NTP base time so that we can generate better
NTP times in SR packets.
Set caps on new ghostpad.
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_loop):
Clean debug statement.
* gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_class_init),
(gst_rtp_session_init), (gst_rtp_session_set_property),
(gst_rtp_session_get_property), (get_current_ntp_ns_time),
(rtcp_thread), (gst_rtp_session_event_recv_rtp_sink),
(gst_rtp_session_internal_links), (gst_rtp_session_chain_recv_rtp),
(gst_rtp_session_event_send_rtp_sink),
(gst_rtp_session_chain_send_rtp), (create_recv_rtp_sink),
(create_send_rtp_sink):
* gst/rtpmanager/gstrtpsession.h:
Add ntp-ns-base property to convert running_time to NTP time.
Handle NEWSEGMENT events on send and recv RTP pads so that we can
calculate the running time and thus NTP time of the packets.
Simplify getting the current NTP time using the pipeline clock.
Implement internal links functions.
Use the buffer timestamp to calculate the NTP time instead of the clock.
* gst/rtpmanager/gstrtpssrcdemux.c: (create_demux_pad_for_ssrc),
(gst_rtp_ssrc_demux_init), (gst_rtp_ssrc_demux_sink_event),
(gst_rtp_ssrc_demux_chain), (gst_rtp_ssrc_demux_rtcp_chain),
(gst_rtp_ssrc_demux_internal_links),
(gst_rtp_ssrc_demux_src_query):
* gst/rtpmanager/gstrtpssrcdemux.h:
Implement internal links function.
Calculate the diff between different streams, this might be used later
to get the inter stream latency.
* gst/rtpmanager/rtpsession.c: (rtp_session_send_rtp):
Simple cleanup.
* gst/rtpmanager/rtpsource.c: (rtp_source_init),
(calculate_jitter), (rtp_source_send_rtp), (rtp_source_get_new_sr):
Make the clock skew window a little bigger.
Apply the clock skew to all buffers, not just one with a new timestamp.
Calculate and debug sender clock drift.
Use extended last timestamp to interpollate for SR reports.
Original commit message from CVS:
* gst/spectrum/gstspectrum.c: (gst_spectrum_start),
(gst_spectrum_transform_ip):
Use the correct parameter order for the memset calls.
Thanks to Christian Schaller for noticing.
Original commit message from CVS:
* configure.ac:
* gst/spectrum/Makefile.am:
* gst/spectrum/demo-audiotest.c: (draw_spectrum),
(message_handler), (main):
* gst/spectrum/demo-osssrc.c: (draw_spectrum), (message_handler):
* gst/spectrum/gstspectrum.c: (gst_spectrum_base_init),
(gst_spectrum_class_init), (gst_spectrum_init),
(gst_spectrum_dispose), (gst_spectrum_set_property),
(gst_spectrum_get_property), (gst_spectrum_start),
(gst_spectrum_setup), (gst_spectrum_message_new),
(gst_spectrum_transform_ip):
* gst/spectrum/gstspectrum.h:
Port GstSpectrum to GstAudioFilter and libgstfft, add support
for int32, float and double, use floats for the message contents,
average all FFTs done in one interval for better results, use
a better windowing function, allow posting the phase in the message
and actually do an FFT with the requested number of bands instead
of interpolating.
* tests/check/elements/spectrum.c: (GST_START_TEST),
(spectrum_suite):
Improve the units tests by checking for a 11025Hz sine wave
and add unit tests for all 4 supported sample types.
Original commit message from CVS:
* gst/real/gstrealvideodec.c: (gst_real_video_dec_chain),
(gst_real_video_dec_setcaps):
Add some more debugging.
Don't set LONG for width/height in caps.
Set correct output buffer size when caps changed.
The custom message sent to the decoder should not include the format and
subformat. Fixes#471554.
Original commit message from CVS:
2007-09-03 Johan Dahlin <johan@gnome.org>
* gst/nsf/gstnsf.c: (gst_nsfdec_finalize), (start_play_tune):
* gst/nsf/gstnsf.h:
Add support for (very) basic tagging.
Original commit message from CVS:
* gst/rtpmanager/gstrtpbin-marshal.list:
* gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_get_client),
(gst_rtp_bin_associate), (gst_rtp_bin_sync_chain), (create_stream),
(gst_rtp_bin_init), (caps_changed), (new_ssrc_pad_found),
(create_recv_rtp), (create_recv_rtcp), (create_send_rtp):
* gst/rtpmanager/gstrtpbin.h:
Updated example pipelines in docs.
Handle sync_rtcp buffers from the SSRC demuxer to perform lip-sync.
Set the default latency correctly.
Add some more points where we can get caps.
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_class_init),
(gst_jitter_buffer_sink_parse_caps), (gst_rtp_jitter_buffer_loop),
(gst_rtp_jitter_buffer_query),
(gst_rtp_jitter_buffer_set_property),
(gst_rtp_jitter_buffer_get_property):
Add ts-offset property to control timestamping.
* gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_class_init),
(gst_rtp_session_init), (gst_rtp_session_set_property),
(gst_rtp_session_get_property), (get_current_ntp_ns_time),
(rtcp_thread), (stop_rtcp_thread), (gst_rtp_session_change_state),
(gst_rtp_session_send_rtcp), (gst_rtp_session_sync_rtcp),
(gst_rtp_session_cache_caps), (gst_rtp_session_clock_rate),
(gst_rtp_session_sink_setcaps), (gst_rtp_session_chain_recv_rtp),
(gst_rtp_session_event_send_rtp_sink),
(gst_rtp_session_chain_send_rtp), (create_recv_rtp_sink),
(create_recv_rtcp_sink), (create_send_rtp_sink),
(create_send_rtcp_src):
Various cleanups.
Feed rtpsession manager with NTP time based on pipeline clock when
handling RTP packets and RTCP timeouts.
Perform all RTCP with the system clock.
Set caps on RTCP outgoing buffers.
* gst/rtpmanager/gstrtpssrcdemux.c: (find_demux_pad_for_ssrc),
(create_demux_pad_for_ssrc), (gst_rtp_ssrc_demux_base_init),
(gst_rtp_ssrc_demux_init), (gst_rtp_ssrc_demux_sink_event),
(gst_rtp_ssrc_demux_rtcp_sink_event), (gst_rtp_ssrc_demux_chain),
(gst_rtp_ssrc_demux_rtcp_chain):
* gst/rtpmanager/gstrtpssrcdemux.h:
Also demux RTCP messages.
* gst/rtpmanager/rtpsession.c: (rtp_session_set_callbacks),
(update_arrival_stats), (rtp_session_process_rtp),
(rtp_session_process_rb), (rtp_session_process_sr),
(rtp_session_process_rr), (rtp_session_process_rtcp),
(rtp_session_send_rtp), (rtp_session_send_bye),
(session_start_rtcp), (session_report_blocks), (session_cleanup),
(rtp_session_on_timeout):
* gst/rtpmanager/rtpsession.h:
Remove the get_time callback, the GStreamer part will feed us with
enough timing information.
Split sync timing and RTCP timing information.
Factor out common RB handling for SR and RR.
Send out SR RTCP packets for lip-sync.
Move SR and RR packet info generation to the source.
* gst/rtpmanager/rtpsource.c: (rtp_source_init),
(rtp_source_update_caps), (get_clock_rate), (calculate_jitter),
(rtp_source_process_rtp), (rtp_source_send_rtp),
(rtp_source_process_sr), (rtp_source_process_rb),
(rtp_source_get_new_sr), (rtp_source_get_new_rb),
(rtp_source_get_last_sr):
* gst/rtpmanager/rtpsource.h:
* gst/rtpmanager/rtpstats.h:
Use caps on incomming buffers to get timing information when they are
there.
Calculate clock scew of the receiver compared to the sender and adjust
the rtp timestamps.
Calculate the round trip in sources.
Do SR and RR calculations in the source.
Original commit message from CVS:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_flush_stop),
(gst_rtp_jitter_buffer_change_state), (gst_rtp_jitter_buffer_loop):
Use extended timestamp to release buffers from the jitterbuffer so that
we can handle the rtp wraparound correctly.
Original commit message from CVS:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_loop):
Improve Comments.
* gst/rtpmanager/gstrtpsession.c: (stop_rtcp_thread),
(gst_rtp_session_change_state), (gst_rtp_session_parse_caps),
(gst_rtp_session_clock_rate), (gst_rtp_session_sink_setcaps),
(gst_rtp_session_event_send_rtp_sink), (create_recv_rtp_sink),
(create_send_rtp_sink):
Also parse the sink caps for clock-rate instead of only relying on the
result of the signal.
* gst/rtpmanager/rtpsource.c: (rtp_source_send_rtp):
Make sure we fetch the clock rate for payloads we are sending out so
that we can use it for SR reports.
Original commit message from CVS:
* gst/switch/gstswitch.c (gst_switch_chain, gst_switch_set_property):
If all information is known at time of setting start-time
property, send new segments then.
Original commit message from CVS:
* gst/rtpmanager/gstrtpsession.c: (stop_rtcp_thread),
(gst_rtp_session_change_state),
(gst_rtp_session_event_send_rtp_sink):
* gst/rtpmanager/gstrtpsession.h:
Distribute synchronisation parameters to the session manager so that it
can generate correct SR packets for lip-sync.
* gst/rtpmanager/rtpsession.c: (rtp_session_set_base_time),
(rtp_session_set_timestamp_sync), (session_start_rtcp):
* gst/rtpmanager/rtpsession.h:
Add methods for setting sync parameters.
Set correct RTP time in SR packets using the sync params.
* gst/rtpmanager/rtpsource.c: (rtp_source_send_rtp):
* gst/rtpmanager/rtpsource.h:
Record last RTP <-> GST timestamp so that we can use them to convert NTP
to RTP timestamps in SR packets.
Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_clear_pt_map):
Add some more advanced example pipelines.
* gst/rtpmanager/gstrtpsession.c: (rtcp_thread),
(stop_rtcp_thread), (gst_rtp_session_send_rtcp):
Add some debug and FIXME.
Release LOCK when performing session cleanup.
* gst/rtpmanager/rtpsession.c: (session_report_blocks):
Add some debug.
* gst/rtpmanager/rtpsource.c: (calculate_jitter),
(rtp_source_send_rtp):
Make sure we always send RTP packets with the session SSRC.
Original commit message from CVS:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_change_state), (gst_rtp_jitter_buffer_loop),
(gst_rtp_jitter_buffer_query):
When synchronizing buffers, take peer latency into account.
Don't try to add our latency to invalid peer max latency values.
Original commit message from CVS:
2007-08-27 Julien MOUTTE <julien@moutte.net>
* gst/flv/gstflvdemux.c: (gst_flv_demux_handle_seek_pull):
Make sure we initialize the seek result.
Original commit message from CVS:
* examples/switch/switcher.c (main):
* gst/switch/gstswitch.c (gst_switch_chain):
Make switch more reliable and also not lock up when
sink pad caps change.
Original commit message from CVS:
* gst/mpegtsparse/flutspatinfo.c:
* gst/mpegtsparse/flutspatinfo.h:
* gst/mpegtsparse/flutspmtinfo.c:
* gst/mpegtsparse/flutspmtinfo.h:
Update licences to reflect LGPL-ness of these files also.
Original commit message from CVS:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
* docs/plugins/gst-plugins-bad-plugins.hierarchy:
* docs/plugins/gst-plugins-bad-plugins.interfaces:
* docs/plugins/gst-plugins-bad-plugins.signals:
* gst/rtpmanager/gstrtpbin.c:
* gst/rtpmanager/gstrtpbin.h:
* gst/rtpmanager/gstrtpclient.c:
* gst/rtpmanager/gstrtpclient.h:
* gst/rtpmanager/gstrtpjitterbuffer.c:
* gst/rtpmanager/gstrtpjitterbuffer.h:
* gst/rtpmanager/gstrtpptdemux.c:
* gst/rtpmanager/gstrtpptdemux.h:
* gst/rtpmanager/gstrtpsession.c:
* gst/rtpmanager/gstrtpsession.h:
* gst/rtpmanager/gstrtpssrcdemux.c:
* gst/rtpmanager/gstrtpssrcdemux.h:
Rename all GstRTPFoo structs to GstRtpFoo so that GST_BOILERPLATE
registers a GType that's different than the GstRTPFoo types that
farsight registers (luckily GType names are case sensitive). Should
finally fix#430664.
Original commit message from CVS:
Patch by: Jonathan Matthew <jonathan at kaolin wh9 net>
* configure.ac:
* gst/festival/Makefile.am:
* gst/festival/gstfestival.c:
Port festival plugin to GStreamer-0.10 (#461377).
Original commit message from CVS:
2007-08-22 Julien MOUTTE <julien@moutte.net>
* gst/flv/gstflvdemux.c: (gst_flv_demux_cleanup),
(gst_flv_demux_pull_tag):
* gst/flv/gstflvdemux.h:
* gst/flv/gstflvparse.c: (gst_flv_parse_metadata_item),
(gst_flv_parse_tag_script), (gst_flv_parse_tag_audio),
(gst_flv_parse_tag_video): Handle pixel aspect ratio through
metadata tags like ASF does. Fluendo muxer supports this and
Flash players can support it as well this way.
Original commit message from CVS:
2007-08-22 Julien MOUTTE <julien@moutte.net>
* gst/flv/gstflvdemux.c: (gst_flv_demux_pull_tag):
* gst/flv/gstflvparse.c: (gst_flv_parse_metadata_item),
(gst_flv_parse_tag_script), (gst_flv_parse_tag_audio),
(gst_flv_parse_tag_video): Make sure we don't try filling up the
index if no times object was parsed. Fix the way we decide to
push
tags and emit no-more-pads. Fix some printf typing in debugging.
Original commit message from CVS:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_chain),
(gst_rtp_jitter_buffer_set_property):
When drop-on-latency is set but we have no latency configured, just push
the buffer as fast as possible.
Fix typo in comment.
Original commit message from CVS:
* configure.ac:
* gst/mpegtsparse/Makefile.am:
* gst/mpegtsparse/flutspatinfo.c:
* gst/mpegtsparse/flutspatinfo.h:
* gst/mpegtsparse/flutspmtinfo.c:
* gst/mpegtsparse/flutspmtinfo.h:
* gst/mpegtsparse/flutspmtstreaminfo.c:
* gst/mpegtsparse/flutspmtstreaminfo.h:
* gst/mpegtsparse/mpegtspacketizer.c:
* gst/mpegtsparse/mpegtspacketizer.h:
* gst/mpegtsparse/mpegtsparse.c:
* gst/mpegtsparse/mpegtsparse.h:
* gst/mpegtsparse/mpegtsparsemarshal.list:
Add mpeg transport stream parser written by:
Alessandro Decina. Includes a couple of files from the
Fluendo transport stream demuxer that Fluendo have
kindly allowed to be licenced under LGPL also.
Original commit message from CVS:
* gst/filter/gstbpwsinc.c: (gst_bpwsinc_class_init),
(bpwsinc_set_property), (bpwsinc_get_property):
* gst/filter/gstbpwsinc.h:
* gst/filter/gstlpwsinc.c: (gst_lpwsinc_class_init),
(gst_lpwsinc_init), (lpwsinc_build_kernel), (lpwsinc_set_property),
(lpwsinc_get_property):
* gst/filter/gstlpwsinc.h:
* tests/check/elements/lpwsinc.c: (GST_START_TEST):
Use generator macros for the process functions for the different
sample types, add lower upper boundaries for the GObject properties
so automatically generated UIs can use sliders and change frequency
properties to floats to save a bit of memory, even ints would in
theory be enough. Also rename frequency to cutoff for consistency
reasons.
* docs/plugins/gst-plugins-bad-plugins.args:
* docs/plugins/gst-plugins-bad-plugins.signals:
* docs/plugins/inspect/plugin-gstrtpmanager.xml:
Regenerated for the above changes.
Original commit message from CVS:
* gst/filter/gstbpwsinc.c: (gst_bpwsinc_class_init),
(gst_bpwsinc_init), (process_32), (process_64),
(bpwsinc_build_kernel), (bpwsinc_push_residue),
(bpwsinc_transform), (bpwsinc_start), (bpwsinc_query),
(bpwsinc_query_type), (bpwsinc_event), (bpwsinc_set_property):
* gst/filter/gstbpwsinc.h:
Implement latency query and only forward those samples downstream
that actually contain the data we want, i.e. drop kernel_length/2
in the beginning and append kernel_length/2 (created by convolving
the filter kernel with zeroes) to the end.
* tests/check/elements/bpwsinc.c: (GST_START_TEST):
Adjust the unit test for this slightly changed behaviour.
* gst/filter/gstlpwsinc.c: (lpwsinc_build_kernel):
Reset residue length only when actually creating a residue.
Original commit message from CVS:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_sink_event), (gst_rtp_jitter_buffer_chain),
(gst_rtp_jitter_buffer_loop):
Fix EOS handling.
Convert some DEBUG into WARNINGs.
Pause task when flushing.
* gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_class_init),
(rtcp_thread), (gst_rtp_session_event_recv_rtcp_sink):
Use system clock for RTCP session management timeouts.
* gst/rtpmanager/rtpsession.c: (on_new_ssrc), (on_ssrc_collision),
(on_ssrc_validated), (on_bye_ssrc), (on_bye_timeout), (on_timeout):
Release the session lock when emiting signals.
Original commit message from CVS:
* gst/filter/gstlpwsinc.c: (gst_lpwsinc_class_init),
(gst_lpwsinc_init), (process_32), (process_64),
(lpwsinc_build_kernel), (lpwsinc_push_residue),
(lpwsinc_transform), (lpwsinc_start), (lpwsinc_query),
(lpwsinc_query_type), (lpwsinc_event), (lpwsinc_set_property):
* gst/filter/gstlpwsinc.h:
Implement latency query and only forward those samples downstream
that actually contain the data we want, i.e. drop kernel_length/2
in the beginning and append kernel_length/2 (created by convolving
the filter kernel with zeroes) to the end.
* tests/check/elements/lpwsinc.c: (GST_START_TEST):
Adjust the unit test for this slightly changed behaviour.
Original commit message from CVS:
* gst/flv/gstflvdemux.c: (gst_flv_demux_set_index),
(gst_flv_demux_get_index):
Fix locking and refcounting on the index.
Original commit message from CVS:
2007-08-14 Julien MOUTTE <julien@moutte.net>
* gst/flv/gstflvdemux.c: (gst_flv_demux_cleanup),
(gst_flv_demux_adapter_flush), (gst_flv_demux_chain),
(gst_flv_demux_pull_tag), (gst_flv_demux_do_seek),
(gst_flv_demux_handle_seek), (gst_flv_demux_sink_event),
(gst_flv_demux_src_event), (gst_flv_demux_query),
(gst_flv_demux_change_state), (gst_flv_demux_set_index),
(gst_flv_demux_get_index), (gst_flv_demux_dispose),
(gst_flv_demux_class_init): First method for seeking in pull
mode using the index built step by step or coming from metadata.
* gst/flv/gstflvdemux.h:
* gst/flv/gstflvparse.c: (FLV_GET_STRING),
(gst_flv_parse_metadata_item), (gst_flv_parse_tag_script),
(gst_flv_parse_tag_audio), (gst_flv_parse_tag_video): Parse
more metadata types and keyframes index.
Original commit message from CVS:
* gst/filter/gstbpwsinc.c: (bpwsinc_build_kernel):
* gst/filter/gstlpwsinc.c: (lpwsinc_build_kernel):
Improve debugging a bit.
Original commit message from CVS:
* gst/filter/gstbpwsinc.c: (gst_bpwsinc_class_init),
(bpwsinc_start):
* gst/filter/gstlpwsinc.c: (gst_lpwsinc_class_init),
(lpwsinc_start):
Reset the residue in BaseTransform::start to get a clean residue
on stream changes.
Original commit message from CVS:
* gst/filter/gstbpwsinc.c: (process_32), (process_64):
* gst/filter/gstlpwsinc.c: (process_32), (process_64):
Fix processing with buffer sizes that are larger than the filter
kernel size.
Original commit message from CVS:
* gst/filter/gstbpwsinc.c: (bpwsinc_build_kernel):
Fix a segfault with more than one channel and don't rebuild
the kernel & residue with every buffer.
Original commit message from CVS:
* gst/filter/gstbpwsinc.c: (gst_bpwsinc_mode_get_type),
(gst_bpwsinc_window_get_type), (gst_bpwsinc_class_init),
(gst_bpwsinc_init), (bpwsinc_build_kernel), (bpwsinc_set_property),
(bpwsinc_get_property):
* gst/filter/gstbpwsinc.h:
Add support for a bandreject mode and allow specifying the window
function that should be used.
* gst/filter/gstlpwsinc.c:
And another small formatting fix.
Original commit message from CVS:
* gst/filter/gstbpwsinc.c: (gst_bpwsinc_class_init),
(gst_bpwsinc_init), (process_32), (process_64),
(bpwsinc_build_kernel), (bpwsinc_setup), (bpwsinc_get_unit_size),
(bpwsinc_transform), (bpwsinc_set_property),
(bpwsinc_get_property):
* gst/filter/gstbpwsinc.h:
Apply the same changes to the bandpass filter:
- Support double input
- Fix processing for input with >1 channels
- Specify frequency in Hz
- Specify actual filter kernel length
- Use transform instead of transform_ip as we're working
out of place anyway
- Factor out filter kernel generation and update the filter
kernel when the properties are set
Fix bandpass filter kernel generation to actually generate
a bandpass filter by creating a highpass instead of a second
lowpass.
* gst/filter/gstlpwsinc.c: (gst_lpwsinc_class_init):
Small formatting fix.
Original commit message from CVS:
* gst/filter/gstlpwsinc.c: (gst_lpwsinc_class_init),
(gst_lpwsinc_init), (process_32), (process_64),
(lpwsinc_build_kernel), (lpwsinc_set_property),
(lpwsinc_get_property):
* gst/filter/gstlpwsinc.h:
Specify the actual filter length instead of a weird
2N+1. Setting the property will round to the next odd number.
Also remove now obsolete FIXMEs.
Original commit message from CVS:
* gst/filter/gstlpwsinc.c: (gst_lpwsinc_window_get_type),
(gst_lpwsinc_class_init), (gst_lpwsinc_init),
(lpwsinc_build_kernel), (lpwsinc_set_property),
(lpwsinc_get_property):
* gst/filter/gstlpwsinc.h:
Allow choosing between hamming and blackman window. The blackman
window provides a better stopband attenuation but a bit slower
rolloff.
Original commit message from CVS:
* gst/filter/gstlpwsinc.c: (process_32), (process_64),
(lpwsinc_build_kernel):
Fix processing if the input has more than one channel.
Original commit message from CVS:
* gst/filter/gstbpwsinc.c: (gst_bpwsinc_dispose),
(gst_bpwsinc_init), (bpwsinc_setup), (bpwsinc_transform_ip),
(bpwsinc_set_property), (bpwsinc_get_property):
"this" is a C++ keyword, use "self" instead.
Add TODOs and FIXMEs and remove two wrong FIXMEs.
* gst/filter/gstlpwsinc.c:
Add FIXMEs and a new TODO.
Original commit message from CVS:
* gst/filter/gstlpwsinc.c: (gst_lpwsinc_dispose),
(gst_lpwsinc_class_init), (gst_lpwsinc_init), (process_32),
(process_64), (lpwsinc_build_kernel), (lpwsinc_setup),
(lpwsinc_get_unit_size), (lpwsinc_transform),
(lpwsinc_set_property), (lpwsinc_get_property):
* gst/filter/gstlpwsinc.h:
Add double support, replace "this" with "self" as the former
is a C++ keyword.
Implement the frequency property in Hz instead of fraction
of sampling frequency.
Remove some unecessary FIXMEs and add some TODOs, add some
required locking and refactor the kernel generation into a
separate function that is also called when the properties
change now.
And use BaseTransform::transform instead of transform_ip
as the convolution is done out of place anyway. Should
be done in place later.
Original commit message from CVS:
* configure.ac:
* gst/stereo/Makefile.am:
* gst/stereo/gststereo.c: (gst_stereo_base_init),
(gst_stereo_class_init), (gst_stereo_init),
(gst_stereo_transform_ip), (gst_stereo_set_property),
(gst_stereo_get_property):
* gst/stereo/gststereo.h:
Port the stereo element to GStreamer 0.10.
Original commit message from CVS:
* gst/filter/Makefile.am:
* gst/filter/gstbpwsinc.c: (gst_bpwsinc_dispose),
(gst_bpwsinc_base_init), (gst_bpwsinc_class_init),
(gst_bpwsinc_init), (bpwsinc_setup):
* gst/filter/gstbpwsinc.h:
* gst/filter/gstlpwsinc.c: (gst_lpwsinc_dispose),
(gst_lpwsinc_base_init), (gst_lpwsinc_class_init),
(gst_lpwsinc_init), (lpwsinc_setup):
* gst/filter/gstlpwsinc.h:
Use GstAudioFilter as base class and don't leak the memory
of the filter kernel and residue.
Original commit message from CVS:
* gst/real/gstrealvideodec.c: (gst_real_video_dec_chain),
(gst_real_video_dec_activate_push), (open_library),
(gst_real_video_dec_init), (gst_real_video_dec_finalize):
* gst/real/gstrealvideodec.h:
Remove some old unused vars.
Original commit message from CVS:
* gst/real/gstrealaudiodec.c: (gst_real_audio_dec_setcaps):
Small cleanups.
* gst/real/gstrealvideodec.c: (gst_real_video_dec_chain),
(open_library):
Remove fragment and timestamp correction code from the decoder to make
the caps and buffer contents compatible with matroska/ffdec_rvx0/...
Original commit message from CVS:
Patch by: Ian Munro <imunro at netspace net au>
* gst/bayer/gstbayer2rgb.c:
Include our own "_stdint.h" instead of <stdint.h> (which may not
be available).
* gst/speed/gstspeed.h:
Native HP-UX compiler dosn't seem to like enum typedefs before the
actual enum was defined.
* gst/vmnc/vmncdec.c:
Fix wrong usage of GST_ELEMENT_ERROR macro (#461373).
Original commit message from CVS:
* gst/real/gstrealaudiodec.c: (gst_real_audio_dec_setcaps):
Use the proper context variable when setting the password !
LOG => WARNING for errors.
Give proper path when opening the codec (needs a '/' at the end).
Original commit message from CVS:
* gst/equalizer/gstiirequalizer.c:
(gst_iir_equalizer_band_set_property),
(gst_iir_equalizer_child_proxy_get_child_by_index),
(gst_iir_equalizer_child_proxy_get_children_count),
(gst_iir_equalizer_child_proxy_interface_init),
(gst_iir_equalizer_class_init), (arg_to_scale), (setup_filter),
(gst_iir_equalizer_compute_frequencies):
* gst/equalizer/gstiirequalizer10bands.c:
(gst_iir_equalizer_10bands_class_init):
* gst/equalizer/gstiirequalizer3bands.c:
(gst_iir_equalizer_3bands_class_init):
* gst/equalizer/gstiirequalizernbands.c:
Better algorith for the center frequencies. Subtract band filters from
input for negative gains. Rework the gain mapping.
Original commit message from CVS:
2007-07-19 Julien MOUTTE <julien@moutte.net>
* configure.ac:
* gst/flv/Makefile.am:
* gst/flv/gstflvdemux.c: (gst_flv_demux_flush),
(gst_flv_demux_cleanup), (gst_flv_demux_chain),
(gst_flv_demux_pull_tag), (gst_flv_demux_pull_header),
(gst_flv_demux_seek_to_prev_keyframe), (gst_flv_demux_loop),
(gst_flv_demux_sink_activate),
(gst_flv_demux_sink_activate_push),
(gst_flv_demux_sink_activate_pull), (gst_flv_demux_sink_event),
(gst_flv_demux_change_state), (gst_flv_demux_dispose),
(gst_flv_demux_base_init), (gst_flv_demux_class_init),
(gst_flv_demux_init), (plugin_init):
* gst/flv/gstflvdemux.h:
* gst/flv/gstflvparse.c: (FLV_GET_BEUI24), (FLV_GET_STRING),
(gst_flv_demux_query_types), (gst_flv_demux_query),
(gst_flv_parse_metadata_item), (gst_flv_parse_tag_script),
(gst_flv_parse_tag_audio), (gst_flv_parse_tag_video),
(gst_flv_parse_tag_type), (gst_flv_parse_header):
* gst/flv/gstflvparse.h: Adds a first draft of an FLV demuxer.
It does not do seeking yet, it supports pull and push mode so
YES
you can use it to play youtube videos directly from an HTTP uri.
Not so much testing done yet but it parses metadata, reply to
duration queries, etc...
Original commit message from CVS:
* gst/multifile/gstmultifilesrc.c: (gst_multi_file_src_create):
Add example to the docs. Fix buffer-offset-end and add some debug.
Original commit message from CVS:
Patch by: Hans de Goede <j.w.r.degoede at hhs dot nl>
* gst/modplug/gstmodplug.cc:
add several missing supported mime-types to the modplug plugin.
Fixes#456901.
Original commit message from CVS:
* gst/multifile/Makefile.am:
* gst/multifile/gstmultifile.c:
* gst/multifile/gstmultifilesink.c:
* gst/multifile/gstmultifilesink.h:
* gst/multifile/gstmultifilesrc.c:
* gst/multifile/gstmultifilesrc.h:
Add .h files to be able to add it to the docs.
Original commit message from CVS:
* gst/videosignal/gstvideodetect.c: (gst_video_detect_420),
(gst_video_detect_set_property), (gst_video_detect_get_property):
* gst/videosignal/gstvideodetect.h:
Add property to adjust the center, sensitivity is now the distance from
this center.
Original commit message from CVS:
* gst/videosignal/gstvideodetect.c: (gst_video_detect_420),
(gst_video_detect_set_property), (gst_video_detect_get_property),
(gst_video_detect_class_init):
* gst/videosignal/gstvideodetect.h:
* gst/videosignal/gstvideomark.c: (gst_video_mark_draw_box),
(gst_video_mark_420), (gst_video_mark_set_property),
(gst_video_mark_get_property), (gst_video_mark_class_init):
* gst/videosignal/gstvideomark.h:
Add left and bottom offset properties to control the position of the
pattern.
Original commit message from CVS:
* examples/switch/switcher.c (my_bus_callback, switch_timer,
last_message_received, main):
* gst/switch/gstswitch.c (gst_switch_release_pad,
gst_switch_request_new_pad, gst_switch_chain, gst_switch_event,
gst_switch_set_property, gst_switch_get_property,
gst_switch_get_linked_pad, gst_switch_getcaps,
gst_switch_bufferalloc, gst_switch_dispose, gst_switch_init):
* gst/switch/gstswitch.h (switch_mutex, GST_SWITCH_LOCK,
GST_SWITCH_UNLOCK):
Add an extra lock to protect against certain variables instead of
using the object lock. Fix case where caps are different in the
sink pads causes deadlock. Update example to use different caps
on each sink pad.
Original commit message from CVS:
* ext/timidity/gsttimidity.c: (gst_timidity_loop):
* ext/timidity/gstwildmidi.c: (gst_wildmidi_loop):
* gst/tta/gstttaparse.c: (gst_tta_parse_loop):
When driving the pipeline, also post an error when we get a
not-linked flow return from downstream.
Original commit message from CVS:
* gst/mpegvideoparse/mpegpacketiser.c:
(mpeg_util_parse_extension_packet), (mpeg_util_parse_sequence_hdr),
(mpeg_util_parse_picture_hdr):
* gst/mpegvideoparse/mpegvideoparse.c:
(mpegvideoparse_handle_sequence), (mpegvideoparse_drain_avail):
Fix some silly bugs with calculating the guard sizes.
Properly compare the old sequence header structure with the new one.
Don't error out on an invalid sequence - just ignore it.
Original commit message from CVS:
* gst/real/gstrealvideodec.c: (gst_real_video_dec_decode):
Printf fix in debug statement; also print the right number there.
Original commit message from CVS:
* ext/libmms/gstmms.h:
No reason to use gpointers instead of typed pointes here as far as I
can see.
* ext/mythtv/gstmythtvsrc.c:
* ext/neon/gstneonhttpsrc.c:
* gst/switch/gstswitch.c:
Don't use gtk-doc magic markers for things that aren't meant to be
parsed by gtk-doc. Makes gtk-doc complain a bit less.
Original commit message from CVS:
* gst/spectrum/gstspectrum.c (gst_spectrum_set_property,
gst_spectrum_event, gst_spectrum_transform_ip):
Use lock to protect from concurrent access.
Original commit message from CVS:
* gst/real/gstrealaudiodec.c: (gst_real_audio_dec_chain),
(gst_real_audio_dec_setcaps):
* gst/real/gstrealvideodec.c: (gst_real_video_dec_chain):
Don't crash when we get a buffer and our input caps haven't been set
yet; also, don't leak all the input buffers (realaudiodec only).
Original commit message from CVS:
* ext/x264/gstx264enc.c (gst_x264_enc_init_encoder):
This needs a version check.
* gst/bayer/Makefile.am:
Fix the build.
Original commit message from CVS:
* configure.ac:
* gst/bayer/Makefile.am:
* gst/bayer/gstbayer.c:
* gst/bayer/gstbayer2rgb.c:
Add a Bayer-to-RGB converter. You know you want one, uh-huh.
Partial fix for #314160.
Original commit message from CVS:
* gst/switch/gstswitch.c (ARG_ACTIVE_SOURCE, ARG_STOP_VALUE,
ARG_LAST_TS, parent_class, gst_switch_release_pad,
gst_switch_request_new_pad, gst_switch_chain, gst_switch_event,
gst_switch_set_property, gst_switch_get_property, gst_switch_getcaps,
gst_switch_dispose, gst_switch_init, gst_switch_class_init):
* gst/switch/gstswitch.h (previous_sinkpad, nb_sinkpads, stop_value,
current_start, last_ts):
Allow application to provide a stop timestamp, so a new segment
update can be sent before switching.
Original commit message from CVS:
* gst/real/gstrealaudiodec.c: (gst_real_audio_dec_setcaps),
(gst_real_audio_dec_finalize):
* gst/real/gstrealaudiodec.h:
* gst/real/gstrealvideodec.c: (open_library), (close_library):
* gst/real/gstrealvideodec.h:
Use GModule instead of using dlsym() directly. Fixes#430598.
Original commit message from CVS:
* gst/speed/gstspeed.c: (speed_src_event), (speed_sink_event),
(speed_chain), (speed_change_state):
Fix event handling a bit by replacing completely dubious code
written by someone else with completely dubious code written
by me. Should at least fix#412077 though.
Original commit message from CVS:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_query):
Add some debug info.
* gst/rtpmanager/rtpsession.c: (rtp_session_init),
(rtp_session_send_rtp):
Store real user name in the session.
Original commit message from CVS:
* gst/rtpmanager/async_jitter_queue.c: (signal_waiting_threads),
(async_jitter_queue_pop_intern_unlocked):
Fix the case where the buffer underruns and does not block.
* gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_base_init),
(create_recv_rtcp), (create_send_rtp), (create_rtcp),
(gst_rtp_bin_request_new_pad):
Rename RTCP send pad, like in the session manager.
Allow getting an RTCP pad for receiving even if we don't receive RTP.
fix handling of send_rtp_src pad.
* gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_chain):
When no pt map could be found, fall back to the sinkpad caps.
* gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_process_rtp),
(gst_rtp_session_send_rtp), (create_recv_rtp_sink),
(create_recv_rtcp_sink), (create_send_rtp_sink),
(create_send_rtcp_src):
Fix pad names.
* gst/rtpmanager/rtpsession.c: (source_push_rtp),
(rtp_session_create_source), (rtp_session_process_sr),
(rtp_session_send_rtp), (session_start_rtcp):
* gst/rtpmanager/rtpsession.h:
Unlock session when performing a callback.
Add callbacks for the internal session object.
Fix sending of RTP packets.
first attempt at adding NTP times in the SR packets.
Small debug and doc improvements.
* gst/rtpmanager/rtpsource.c: (rtp_source_send_rtp):
Update stats for SR reports.
Original commit message from CVS:
reviewed by: <delete if not using a buddy>
* gst/rtpmanager/gstrtpbin.c: (create_stream),
(gst_rtp_bin_class_init), (gst_rtp_bin_set_property),
(gst_rtp_bin_get_property):
* gst/rtpmanager/gstrtpbin.h:
Make default jitterbuffer latency configurable.
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_class_init),
(gst_jitter_buffer_sink_parse_caps), (gst_rtp_jitter_buffer_loop),
(gst_rtp_jitter_buffer_set_property),
(gst_rtp_jitter_buffer_get_property):
Debuging cleanups.
Original commit message from CVS:
* gst/y4m/gsty4mencode.c: (gst_y4m_encode_init),
(gst_y4m_encode_setcaps):
* tests/check/elements/y4menc.c: (GST_START_TEST):
Plug some leaks; try to make build bot happy again.