Commit graph

844 commits

Author SHA1 Message Date
Johan Dahlin
11523b42f7 Nosefart -> NES Sound Format
Original commit message from CVS:
Nosefart -> NES Sound Format
2007-09-04 02:22:20 +00:00
Johan Dahlin
a378cad6b9 gst/nsf/gstnsf.*: Add support for (very) basic tagging.
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.
2007-09-04 02:16:53 +00:00
Wim Taymans
fcce4aff92 gst/rtpmanager/: Updated example pipelines in docs.
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.
2007-09-03 21:19:34 +00:00
Wim Taymans
33fd595e04 gst/rtpmanager/gstrtpjitterbuffer.c: Use extended timestamp to release buffers from the jitterbuffer so that we can h...
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.
2007-08-31 15:26:14 +00:00
Wim Taymans
696bf74212 gst/rtpmanager/gstrtpjitterbuffer.c: Improve Comments.
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.
2007-08-29 16:56:27 +00:00
Zaheer Abbas Merali
43ead5a174 gst/switch/gstswitch.c (gst_switch_chain, gst_switch_set_property): If all information is known at time of setting st...
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.
2007-08-29 16:20:28 +00:00
Wim Taymans
9f597336b5 gst/rtpmanager/gstrtpsession.*: Distribute synchronisation parameters to the session manager so that it can generate ...
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.
2007-08-29 01:22:43 +00:00
Wim Taymans
c0a64d008a gst/rtpmanager/gstrtpbin.c: Add some more advanced example pipelines.
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.
2007-08-28 20:30:16 +00:00
Tim-Philipp Müller
3db14a2b60 gst/dvdspu/gstdvdspu.c: Don't need this include (fixes compilation in uninstalled setup).
Original commit message from CVS:
* gst/dvdspu/gstdvdspu.c:
Don't need this include (fixes compilation in uninstalled setup).
2007-08-28 08:10:05 +00:00
Wim Taymans
e966504766 gst/rtpmanager/gstrtpjitterbuffer.c: When synchronizing buffers, take peer latency into account.
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.
2007-08-27 21:17:21 +00:00
Julien Moutte
3b7aec9e9e gst/flv/gstflvdemux.c: Make sure we initialize the seek result.
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.
2007-08-27 14:56:05 +00:00
Jan Schmidt
593b4c1af0 gst/dvdspu/Makefile.am: Commit the makefile too.
Original commit message from CVS:
* gst/dvdspu/Makefile.am:
Commit the makefile too.
2007-08-27 14:41:01 +00:00
Jan Schmidt
077f84ac1f dvdspu element donated by Fluendo. It implements a DVD Sub-Picture
Original commit message from CVS:
* configure.ac:
* gst/dvdspu/.cvsignore:
* gst/dvdspu/Notes.txt:
* gst/dvdspu/gstdvdspu-render.c: (dvdspu_recalc_palette),
(dvdspu_update_palettes), (dvdspu_clear_comp_buffers),
(dvdspu_get_nibble), (dvdspu_get_rle_code), (dvdspu_draw_rle_run),
(rle_end_x), (dvdspu_render_line), (dvdspu_update_chgcol),
(dvdspu_render_line_with_chgcol), (dvdspu_blend_comp_buffers),
(gstdvdspu_render_spu):
* gst/dvdspu/gstdvdspu.c: (dvdspu_base_init), (dvdspu_class_init),
(dvdspu_init), (dvdspu_clear), (dvdspu_dispose), (dvdspu_finalize),
(dvdspu_flush_spu_info), (dvdspu_buffer_alloc), (dvdspu_src_event),
(dvdspu_video_set_caps), (dvdspu_video_proxy_getcaps),
(dvdspu_video_event), (dvdspu_video_chain),
(dvspu_handle_vid_buffer), (dvdspu_redraw_still),
(gstdvdspu_parse_chg_colcon), (dvdspu_exec_cmd_blk),
(dvdspu_finish_spu_buf), (dvdspu_setup_cmd_blk),
(dvdspu_handle_new_spu_buf), (dvdspu_handle_dvd_event),
(dvdspu_dump_dcsq), (dvdspu_advance_spu),
(dvdspu_check_still_updates), (dvdspu_subpic_chain),
(dvdspu_subpic_event), (dvdspu_change_state),
(gstdvdspu_plugin_init):
* gst/dvdspu/gstdvdspu.h:
dvdspu element donated by Fluendo. It implements a DVD Sub-Picture
Unit, decoding and overlaying DVD subtitles and menu graphics.
* gst/mpeg2sub/.cvsignore:
* gst/mpeg2sub/Makefile.am:
* gst/mpeg2sub/Notes.txt:
* gst/mpeg2sub/gstmpeg2subt.c:
* gst/mpeg2sub/gstmpeg2subt.h:
* gst/mpeg2sub/mpeg2subt.vcproj:
Delete old and broken mpeg2subt element that was never ported from 0.8
2007-08-27 14:33:59 +00:00
Julien Moutte
b0d65aa59b gst/flv/gstflvdemux.c: Remove some useless ifdef.
Original commit message from CVS:
2007-08-24  Julien MOUTTE  <julien@moutte.net>

* gst/flv/gstflvdemux.c: (gst_flv_demux_flush),
(gst_flv_demux_chain), (gst_flv_demux_pull_tag),
(gst_flv_demux_find_offset), (gst_flv_demux_handle_seek_push),
(gst_flv_demux_handle_seek_pull), (gst_flv_demux_sink_event),
(gst_flv_demux_src_event): Remove some useless ifdef.
2007-08-24 17:03:15 +00:00
Zaheer Abbas Merali
629884aad3 Make switch more reliable and also not lock up when sink pad caps change.
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.
2007-08-24 15:56:52 +00:00
Julien Moutte
b86971338f gst/flv/gstflvdemux.c: Implement seeking in push mode.
Original commit message from CVS:
2007-08-24  Julien MOUTTE  <julien@moutte.net>

* gst/flv/gstflvdemux.c: (gst_flv_demux_flush),
(gst_flv_demux_cleanup), (gst_flv_demux_chain),
(gst_flv_demux_pull_tag), (gst_flv_demux_find_offset),
(gst_flv_demux_handle_seek_push),
(gst_flv_demux_handle_seek_pull),
(gst_flv_demux_sink_event), (gst_flv_demux_src_event): Implement
seeking in push mode.
* gst/flv/gstflvdemux.h:
2007-08-24 15:31:26 +00:00
Zaheer Abbas Merali
b4c31f289b gst/mpegtsparse/: Update licences to reflect LGPL-ness of these files also.
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.
2007-08-24 11:23:28 +00:00
Tim-Philipp Müller
3adc3a9878 Rename all GstRTPFoo structs to GstRtpFoo so that GST_BOILERPLATE registers a GType that's different than the GstRTPF...
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.
2007-08-23 21:39:58 +00:00
Jonathan Matthew
436a8cce7a Port festival plugin to GStreamer-0.10 (#461377).
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).
2007-08-23 13:24:33 +00:00
Julien Moutte
3732708267 gst/flv/: Handle pixel aspect ratio through metadata tags like ASF does. Fluendo muxer supports this and
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.
2007-08-22 14:50:51 +00:00
Julien Moutte
79a984c303 gst/flv/: Make sure we don't try filling up the index if no times object was parsed. Fix the way we decide to push ta...
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.
2007-08-22 14:03:42 +00:00
Wim Taymans
2edfcea585 gst/rtpmanager/gstrtpjitterbuffer.c: When drop-on-latency is set but we have no latency configured, just push the buf...
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.
2007-08-21 17:18:29 +00:00
Wim Taymans
214410b343 gst/rtpmanager/rtpjitterbuffer.*: Fix undefined overflow prone ts_diff handling.
Original commit message from CVS:
* gst/rtpmanager/rtpjitterbuffer.c:
(rtp_jitter_buffer_get_ts_diff):
* gst/rtpmanager/rtpjitterbuffer.h:
Fix undefined overflow prone ts_diff handling.
2007-08-21 16:04:47 +00:00
Wim Taymans
332899b3b4 gst/modplug/gstmodplug.cc: Fix compiler warning.
Original commit message from CVS:
* gst/modplug/gstmodplug.cc:
Fix compiler warning.
2007-08-21 15:59:39 +00:00
Stefan Kost
77d01626c1 gst/modplug/gstmodplug.cc: Don't use NULL caps for srcpad is not yet connected.
Original commit message from CVS:
* gst/modplug/gstmodplug.cc:
Don't use NULL caps for srcpad is not yet connected.
2007-08-21 12:59:00 +00:00
Zaheer Abbas Merali
e6c86a500d Add mpeg transport stream parser written by:
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.
2007-08-20 14:23:45 +00:00
Sebastian Dröge
efea15c44c gst/filter/: Add small comparision with the chebyshev filters in the docs.
Original commit message from CVS:
* gst/filter/gstbpwsinc.c:
* gst/filter/gstlpwsinc.c:
Add small comparision with the chebyshev filters in the docs.
2007-08-19 19:16:33 +00:00
Sebastian Dröge
ce2c75404c Use generator macros for the process functions for the different sample types, add lower upper boundaries for the GOb...
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.
2007-08-17 15:05:17 +00:00
Sebastian Dröge
e221638fdd gst/filter/gstbpwsinc.*: Implement latency query and only forward those samples downstream that actually contain the ...
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.
2007-08-16 19:22:48 +00:00
Wim Taymans
6c781b9ca3 gst/rtpmanager/gstrtpjitterbuffer.c: Fix EOS handling.
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.
2007-08-16 11:40:16 +00:00
Sebastian Dröge
e38e701293 gst/filter/gstlpwsinc.*: Implement latency query and only forward those samples downstream that actually contain the ...
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.
2007-08-16 09:48:27 +00:00
Wim Taymans
a2dbc1182c gst/flv/gstflvdemux.c: Fix locking and refcounting on the index.
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.
2007-08-14 14:56:20 +00:00
Julien Moutte
170c01e6c1 gst/flv/gstflvdemux.c: First method for seeking in pull mode using the index built step by step or coming from metadata.
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.
2007-08-14 14:22:09 +00:00
Sebastian Dröge
addc96d983 Add docs for lpwsinc and bpwsinc and integrate them into the build system. While doing that also update all other doc...
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
* docs/plugins/gst-plugins-bad-plugins.args:
* docs/plugins/gst-plugins-bad-plugins.signals:
* docs/plugins/inspect/plugin-bz2.xml:
* docs/plugins/inspect/plugin-cdxaparse.xml:
* docs/plugins/inspect/plugin-dtsdec.xml:
* docs/plugins/inspect/plugin-faac.xml:
* docs/plugins/inspect/plugin-faad.xml:
* docs/plugins/inspect/plugin-filter.xml:
* docs/plugins/inspect/plugin-freeze.xml:
* docs/plugins/inspect/plugin-gsm.xml:
* docs/plugins/inspect/plugin-gstrtpmanager.xml:
* docs/plugins/inspect/plugin-h264parse.xml:
* docs/plugins/inspect/plugin-modplug.xml:
* docs/plugins/inspect/plugin-mpeg2enc.xml:
* docs/plugins/inspect/plugin-musepack.xml:
* docs/plugins/inspect/plugin-musicbrainz.xml:
* docs/plugins/inspect/plugin-nsfdec.xml:
* docs/plugins/inspect/plugin-replaygain.xml:
* docs/plugins/inspect/plugin-soundtouch.xml:
* docs/plugins/inspect/plugin-spcdec.xml:
* docs/plugins/inspect/plugin-spectrum.xml:
* docs/plugins/inspect/plugin-speed.xml:
* docs/plugins/inspect/plugin-tta.xml:
* docs/plugins/inspect/plugin-videosignal.xml:
* docs/plugins/inspect/plugin-xingheader.xml:
* docs/plugins/inspect/plugin-xvid.xml:
* gst/filter/gstbpwsinc.c:
* gst/filter/gstbpwsinc.h:
* gst/filter/gstlpwsinc.c:
* gst/filter/gstlpwsinc.h:
Add docs for lpwsinc and bpwsinc and integrate them
into the build system. While doing that also update
all other docs via make update in docs/plugins.
2007-08-13 13:50:39 +00:00
Stefan Kost
9f3dd69cfd gst/rtpmanager/rtpjitterbuffer.c: Include stdlib.
Original commit message from CVS:
* gst/rtpmanager/rtpjitterbuffer.c:
Include stdlib.
2007-08-13 06:16:40 +00:00
Sebastian Dröge
cadec287af gst/filter/: Improve debugging a bit.
Original commit message from CVS:
* gst/filter/gstbpwsinc.c: (bpwsinc_build_kernel):
* gst/filter/gstlpwsinc.c: (lpwsinc_build_kernel):
Improve debugging a bit.
2007-08-12 15:41:57 +00:00
Sebastian Dröge
0cbaaf0929 gst/filter/: Reset the residue in BaseTransform::start to get a clean residue on stream changes.
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.
2007-08-12 12:46:20 +00:00
Sebastian Dröge
4e5ca9f084 gst/filter/: Fix processing with buffer sizes that are larger than the filter kernel size.
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.
2007-08-11 15:58:30 +00:00
Wim Taymans
9e50d836d4 gst/rtpmanager/: Remove complicated async queue and replace with more simple jitterbuffer code while also fixing some...
Original commit message from CVS:
* gst/rtpmanager/Makefile.am:
* gst/rtpmanager/async_jitter_queue.c:
* gst/rtpmanager/async_jitter_queue.h:
* gst/rtpmanager/rtpjitterbuffer.c: (rtp_jitter_buffer_class_init),
(rtp_jitter_buffer_init), (rtp_jitter_buffer_finalize),
(rtp_jitter_buffer_new), (compare_seqnum),
(rtp_jitter_buffer_insert), (rtp_jitter_buffer_pop),
(rtp_jitter_buffer_flush), (rtp_jitter_buffer_num_packets),
(rtp_jitter_buffer_get_ts_diff):
* gst/rtpmanager/rtpjitterbuffer.h:
Remove complicated async queue and replace with more simple jitterbuffer
code while also fixing some bugs.
* gst/rtpmanager/gstrtpbin-marshal.list:
* gst/rtpmanager/gstrtpbin.c: (on_new_ssrc), (on_ssrc_collision),
(on_ssrc_validated), (on_bye_ssrc), (on_bye_timeout), (on_timeout),
(create_session), (gst_rtp_bin_class_init), (create_recv_rtp),
(create_send_rtp):
* gst/rtpmanager/gstrtpbin.h:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_init), (gst_rtp_jitter_buffer_dispose),
(gst_jitter_buffer_sink_parse_caps),
(gst_rtp_jitter_buffer_flush_start),
(gst_rtp_jitter_buffer_flush_stop),
(gst_rtp_jitter_buffer_change_state),
(gst_rtp_jitter_buffer_sink_event), (gst_rtp_jitter_buffer_chain),
(gst_rtp_jitter_buffer_loop), (gst_rtp_jitter_buffer_set_property):
* gst/rtpmanager/gstrtpsession.c: (on_new_ssrc),
(on_ssrc_collision), (on_ssrc_validated), (on_bye_ssrc),
(on_bye_timeout), (on_timeout), (gst_rtp_session_class_init),
(gst_rtp_session_init):
* gst/rtpmanager/gstrtpsession.h:
* gst/rtpmanager/rtpsession.c: (on_bye_ssrc), (session_cleanup):
Use new jitterbuffer code.
Expose some new signals in preparation for handling EOS.
2007-08-10 17:16:53 +00:00
Sebastian Dröge
a9090746e5 gst/filter/gstbpwsinc.c: Fix a segfault with more than one channel and don't rebuild the kernel & residue with every ...
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.
2007-08-10 05:51:40 +00:00
Sebastian Dröge
f2b50b7bd2 gst/filter/gstbpwsinc.*: Add support for a bandreject mode and allow specifying the window function that should be used.
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.
2007-08-10 05:35:25 +00:00
Sebastian Dröge
ec97d67741 gst/filter/gstbpwsinc.*: Apply the same changes to the bandpass filter:
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.
2007-08-10 05:20:06 +00:00
Sebastian Dröge
11131b7a44 gst/filter/gstlpwsinc.*: Specify the actual filter length instead of a weird 2N+1. Setting the property will round to...
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.
2007-08-10 04:44:43 +00:00
Sebastian Dröge
982bf23b35 gst/filter/gstlpwsinc.*: Allow choosing between hamming and blackman window. The blackman window provides a better st...
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.
2007-08-10 04:32:47 +00:00
Sebastian Dröge
882fd5c387 gst/filter/gstlpwsinc.*: Add a highpass mode.
Original commit message from CVS:
* gst/filter/gstlpwsinc.c: (gst_lpwsinc_mode_get_type),
(gst_lpwsinc_class_init), (process_32), (process_64),
(lpwsinc_build_kernel), (lpwsinc_set_property),
(lpwsinc_get_property):
* gst/filter/gstlpwsinc.h:
Add a highpass mode.
2007-08-10 04:21:39 +00:00
Sebastian Dröge
3dffa0f9e6 gst/filter/gstlpwsinc.c: Fix processing if the input has more than one channel.
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.
2007-08-10 04:06:53 +00:00
Sebastian Dröge
88313e142a gst/filter/gstbpwsinc.c: "this" is a C++ keyword, use "self" instead.
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.
2007-08-09 19:23:33 +00:00
Sebastian Dröge
f812560276 gst/filter/gstlpwsinc.*: Add double support, replace "this" with "self" as the former is a C++ keyword.
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.
2007-08-09 18:08:05 +00:00
Sebastian Dröge
cf74a6136d Port the stereo element to GStreamer 0.10.
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.
2007-08-09 17:39:47 +00:00
Sebastian Dröge
ede3039046 gst/filter/: Use GstAudioFilter as base class and don't leak the memory of the filter kernel and residue.
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.
2007-08-08 20:47:33 +00:00