Commit graph

83 commits

Author SHA1 Message Date
Thiago Santos
44d6ebc48f audiorate: be more accurate on offset math
Replace gst_util_uint64_scale_int for its rounding version
to improve accuracy and avoid inserting samples where
they aren't needed.

Fixes #499181
2009-10-22 09:14:29 -03:00
Josep Torra
99db7845c7 audiorate: fix warning in macosx 2009-10-09 14:20:47 +02:00
Sebastian Dröge
49deb0c05d Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use static strings (i.e. all). This gives us less memory u...
Original commit message from CVS:
* configure.ac:
* ext/alsa/gstalsamixerelement.c:
(gst_alsa_mixer_element_class_init):
* ext/alsa/gstalsasink.c: (gst_alsasink_class_init):
* ext/alsa/gstalsasrc.c: (gst_alsasrc_class_init):
* ext/cdparanoia/gstcdparanoiasrc.c:
(gst_cd_paranoia_src_class_init):
* ext/gio/gstgiosink.c: (gst_gio_sink_class_init):
* ext/gio/gstgiosrc.c: (gst_gio_src_class_init):
* ext/gio/gstgiostreamsink.c: (gst_gio_stream_sink_class_init):
* ext/gio/gstgiostreamsrc.c: (gst_gio_stream_src_class_init):
* ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_class_init):
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_class_init):
* ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init):
* ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init):
* ext/pango/gsttextrender.c: (gst_text_render_class_init):
* ext/theora/theoradec.c: (gst_theora_dec_class_init):
* ext/theora/theoraenc.c: (gst_theora_enc_class_init):
* ext/theora/theoraparse.c: (gst_theora_parse_class_init):
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_class_init):
* gst-libs/gst/audio/gstaudiofiltertemplate.c:
(gst_audio_filter_template_class_init):
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init):
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_class_init):
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_class_init):
* gst-libs/gst/interfaces/mixertrack.c:
(gst_mixer_track_class_init):
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_class_init):
* gst-libs/gst/rtp/gstbasertppayload.c:
(gst_basertppayload_class_init):
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_class_init):
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_class_init):
* gst/audioresample/gstaudioresample.c:
(gst_audioresample_class_init):
* gst/audiotestsrc/gstaudiotestsrc.c:
(gst_audio_test_src_class_init):
* gst/gdp/gstgdppay.c: (gst_gdp_pay_class_init):
* gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init):
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(preroll_unlinked):
* gst/playback/gstplaybin.c: (gst_play_bin_class_init):
* gst/playback/gstplaybin2.c: (gst_play_bin_class_init):
* gst/playback/gstplaysink.c: (gst_play_sink_class_init):
* gst/playback/gstqueue2.c: (gst_queue_class_init):
* gst/playback/gststreaminfo.c: (gst_stream_info_class_init):
* gst/playback/gststreamselector.c: (gst_selector_pad_class_init),
(gst_stream_selector_class_init):
* gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init):
* gst/subparse/gstsubparse.c: (gst_sub_parse_class_init):
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init):
* gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_class_init):
* gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_class_init):
* gst/tcp/gsttcpserversink.c: (gst_tcp_server_sink_class_init):
* gst/tcp/gsttcpserversrc.c: (gst_tcp_server_src_class_init):
* gst/videorate/gstvideorate.c: (gst_video_rate_class_init):
* gst/videoscale/gstvideoscale.c: (gst_video_scale_class_init):
* gst/videotestsrc/gstvideotestsrc.c:
(gst_video_test_src_class_init):
* gst/volume/gstvolume.c: (gst_volume_class_init):
* sys/v4l/gstv4lelement.c: (gst_v4lelement_class_init):
* sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_class_init):
* sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_class_init):
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_class_init):
* sys/ximage/ximagesink.c: (gst_ximagesink_class_init):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_class_init):
Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use
static strings (i.e. all). This gives us less memory usage,
fewer allocations and thus less memory defragmentation. Depend
on core CVS for this. Fixes bug #523806.
2008-03-22 15:00:53 +00:00
Jan Schmidt
d5996e9c37 Fix a bunch of compile warnings shown with Forte.
Original commit message from CVS:
* ext/pango/gsttextoverlay.c: (gst_text_overlay_init),
(gst_text_overlay_set_property):
* ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet):
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
* gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_ntp_to_unix),
(gst_rtcp_unix_to_ntp):
* gst-libs/gst/rtsp/gstrtspmessage.c: (gst_rtsp_message_get_type):
* gst/playback/gstqueue2.c:
* tests/examples/seek/seek.c: (set_scale):
Fix a bunch of compile warnings shown with Forte.
* gst/audiorate/gstaudiorate.c:
Always pull in config.h before including any system headers.
2007-09-17 17:24:55 +00:00
Michael Smith
1b7a0df57e gst/audiorate/gstaudiorate.c: Debug output fixes.
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain):
Debug output fixes.
* tests/check/elements/audiorate.c: (do_perfect_stream_test),
(GST_START_TEST):
Change the number of buffers used; 500 is too many and leads to
timeouts.
2007-08-10 13:55:44 +00:00
Michael Smith
9f9e76bc99 gst/audiorate/gstaudiorate.c: If we have a large (> 1 second) discontinuity, push a series of smaller buffers rather ...
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain):
If we have a large (> 1 second) discontinuity, push a series of
smaller buffers rather than a single very large buffer. Avoids
unreasonably large single buffer allocations when encountering a
large gap.
* tests/check/elements/audiorate.c: (GST_START_TEST),
(audiorate_suite):
Add a test for this.
2007-08-09 15:44:02 +00:00
Michael Smith
03e4592e41 gst/audiorate/gstaudiorate.c: If a buffer doesn't have a timestamp, assume it's contiguous with the previous buffer, ...
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain):
If a buffer doesn't have a timestamp, assume it's contiguous with
the previous buffer, and synthesise timestamps appropriately.
2007-05-03 13:16:21 +00:00
Michael Smith
ff480c70d4 gst/audiorate/gstaudiorate.c: Delete bad debug code.
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain):
Delete bad debug code.
Fixes #381219
2006-12-01 10:36:50 +00:00
Michael Smith
4ac9b64fd6 gst/audiorate/gstaudiorate.c: Fix audiorate, so that it accurately sets offsets and timestamps.
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_reset),
(gst_audio_rate_sink_event), (gst_audio_rate_chain):
Fix audiorate, so that it accurately sets offsets and timestamps.
Doesn't change the fundamental algorithmic decisions; so should be
safe.

* tests/check/Makefile.am:
Enable audiorate test now that it passes.
2006-11-16 12:55:08 +00:00
Wim Taymans
6425f71b72 gst/audiorate/gstaudiorate.c: Set caps on outgoing buffers.
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain):
Set caps on outgoing buffers.
* gst/videorate/gstvideorate.c: (gst_video_rate_flush_prev),
(gst_video_rate_event), (gst_video_rate_chain):
* gst/videorate/gstvideorate.h:
Fix videorate some more. Fixes #357977
2006-09-28 11:46:26 +00:00
Wim Taymans
e10e9eeff2 gst/audiorate/gstaudiorate.c: Keep sink and src segment to keep track of time and support more input formats.
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_reset),
(gst_audio_rate_sink_event), (gst_audio_rate_convert),
(gst_audio_rate_convert_segments), (gst_audio_rate_chain):
Keep sink and src segment to keep track of time and support more
input formats.
Fix bogus next_offset and run_time calculation, don't understand how
this could have worked before. Fixes #357976.
Remove some unneeded vars.
2006-09-28 10:49:56 +00:00
Stefan Kost
267a068e70 ext/gnomevfs/gstgnomevfssrc.c: Add docs about icydemux usage in connection with gnomevfssrc
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c:
Add docs about icydemux usage in connection with gnomevfssrc
* ext/libvisual/visual.c:
* ext/ogg/gstoggaviparse.c:
* ext/ogg/gstoggdemux.c:
* ext/ogg/gstoggmux.c:
* ext/ogg/gstoggparse.c:
* gst-libs/gst/audio/gstaudiofiltertemplate.c:
* gst-libs/gst/audio/gstaudiosink.c:
* gst-libs/gst/audio/gstaudiosrc.c:
* gst/audiorate/gstaudiorate.c:
More G_OBJECT macro fixing.
* gst/audiotestsrc/gstaudiotestsrc.h:
Fix wrong info in header due to copy & paste
2006-09-16 21:54:48 +00:00
Edward Hervey
317bb22aca gst/audiorate/gstaudiorate.c: Don't rely on incoming buffers offset anymore, since it is completely broken when using...
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain):
Don't rely on incoming buffers offset anymore, since it is completely
broken when using multiple segments.
Instead convert the incoming buffers timestamp to running time, and
then convert that value to the offsets.
Also inform GstSegment of the last outputted stop position, which is
needed if we received several segments with an unknown stop value.
2006-08-29 10:32:34 +00:00
Wim Taymans
9838aef96c gst/audiorate/gstaudiorate.c: Make the metadata of the buffer writable before changing its flags.
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_sink_event),
(gst_audio_rate_chain):
Make the metadata of the buffer writable before changing its
flags.
2006-08-28 16:17:13 +00:00
Wim Taymans
0fc6e3d087 gst/audiorate/gstaudiorate.c: Fix audiorate some more.
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_reset),
(gst_audio_rate_setcaps), (gst_audio_rate_init),
(gst_audio_rate_sink_event), (gst_audio_rate_src_event),
(gst_audio_rate_chain), (gst_audio_rate_change_state):
Fix audiorate some more.
Reset and resync counters on flush and READY.
Handle the DISCONT flag correctly.
Use GstSegment to track position.
Fail when not negotiated.
2006-08-28 16:08:18 +00:00
Stefan Kost
377e2be9f3 make more debug catagories static
Original commit message from CVS:
* ext/theora/theoradec.c:
* ext/theora/theoraenc.c:
* ext/theora/theoraparse.c: (gst_theora_parse_class_init):
* gst/audiorate/gstaudiorate.c:
make more debug catagories static
* tests/check/Makefile.am:
* tests/check/elements/adder.c: (message_received),
(test_event_message_received), (GST_START_TEST),
(test_play_twice_message_received), (adder_suite):
added test case for using element twice, extra bonus points for anyone
who can make these test run reliably
2006-05-23 20:38:56 +00:00
Stefan Kost
e972defd3e make GstElementDetails const
Original commit message from CVS:
* ext/alsa/gstalsamixerelement.c:
* ext/alsa/gstalsasrc.c:
* ext/cdparanoia/gstcdparanoiasrc.c:
* ext/gnomevfs/gstgnomevfssink.c:
* ext/gnomevfs/gstgnomevfssrc.c:
* ext/ogg/gstoggdemux.c:
* ext/ogg/gstoggmux.c:
* ext/ogg/gstoggparse.c:
* ext/ogg/gstogmparse.c:
* ext/pango/gstclockoverlay.c:
* ext/pango/gsttextoverlay.c:
* ext/pango/gsttextrender.c:
* ext/pango/gsttimeoverlay.c:
* ext/theora/theoradec.c:
* ext/theora/theoraenc.c:
* ext/vorbis/vorbisdec.c:
* ext/vorbis/vorbisenc.c:
* gst-libs/gst/audio/gstaudiofilter.c:
* gst-libs/gst/audio/gstaudiofiltertemplate.c:
* gst/audioconvert/gstaudioconvert.c:
* gst/audiorate/gstaudiorate.c:
* gst/audioresample/gstaudioresample.c:
* gst/audiotestsrc/gstaudiotestsrc.c:
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
* gst/playback/gstdecodebin.c:
* gst/playback/gstplaybin.c:
* gst/playback/gststreamselector.c:
* gst/subparse/gstsubparse.c:
* gst/tcp/gstmultifdsink.c:
* gst/tcp/gsttcpclientsink.c:
* gst/tcp/gsttcpclientsrc.c:
* gst/tcp/gsttcpserversink.c:
* gst/tcp/gsttcpserversrc.c:
* gst/typefind/gsttypefindfunctions.c: (plugin_init):
* gst/videorate/gstvideorate.c:
* gst/videoscale/gstvideoscale.c:
* gst/videotestsrc/gstvideotestsrc.c:
* gst/volume/gstvolume.c:
* sys/v4l/gstv4ljpegsrc.c:
* sys/v4l/gstv4lmjpegsink.c:
* sys/v4l/gstv4lmjpegsrc.c:
* sys/v4l/gstv4lsrc.c:
* sys/ximage/ximagesink.c:
* sys/xvimage/xvimagesink.c:
* tests/check/libs/cddabasesrc.c:
make GstElementDetails const
2006-04-28 19:46:37 +00:00
Christophe Fergeau
8e6d3a5c03 Don't leak references returned by gst_pad_get_parent()
Original commit message from CVS:
* ext/libvisual/visual.c: (gst_visual_getcaps),
(gst_visual_src_setcaps), (gst_visual_sink_setcaps):
* ext/ogg/gstoggmux.c: (gst_ogg_mux_sinkconnect):
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_convert_src),
(gst_vorbisenc_convert_sink):
* gst-libs/gst/audio/audio.c: (gst_audio_frame_byte_size),
(gst_audio_duration_from_pad_buffer):
* gst-libs/gst/audio/gstaudiofilter.c: (gst_audio_filter_link),
(gst_audio_filter_chain):
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_setcaps):
* gst-libs/gst/video/video.c: (gst_video_frame_rate),
(gst_video_get_size):
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_setcaps):
Don't leak references returned by gst_pad_get_parent()
(#333663, based on patch by: Christophe Fergeau).
2006-03-07 12:49:03 +00:00
Edward Hervey
927b499e9d gst/audiorate/gstaudiorate.c: Add debugging category.
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain),
(gst_audio_rate_change_state), (plugin_init):
Add debugging category.
Fix type issues.
Add case for incoming buffers without valid offset/offset_end.
2006-01-10 15:47:48 +00:00
Michael Smith
2c155599a1 gst/audiorate/gstaudiorate.c: Support float audio in audiorate.
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_setcaps):
Support float audio in audiorate.
Use width rather than depth for selecting sample width.
2006-01-10 11:04:21 +00:00
Thomas Vander Stichele
5f83aa7dfa expand tabs
Original commit message from CVS:
expand tabs
2005-12-06 19:42:02 +00:00
Thomas Vander Stichele
f39b477379 borgify further clean up docs a little
Original commit message from CVS:
borgify further
clean up docs a little
2005-12-01 01:12:55 +00:00
Edward Hervey
b8206860b0 gst/audiorate/gstaudiorate.c: Properly return GstFlowReturn from gst_pad_push in chain functions.
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audiorate_chain):
Properly return GstFlowReturn from gst_pad_push in chain functions.
2005-11-26 11:34:15 +00:00
Thomas Vander Stichele
44ae8114e6 Fix a whole set of pad template leaks
Original commit message from CVS:
Fix a whole set of pad template leaks
2005-11-16 18:21:46 +00:00
Thomas Vander Stichele
4f8f42b0b6 restructure configure.ac, use correct libtool LDFLAGS, fix up defines
Original commit message from CVS:
restructure configure.ac, use correct libtool LDFLAGS, fix up defines
2005-10-16 13:54:44 +00:00
Andy Wingo
6665c3084c All plugins updated for element state changes.
Original commit message from CVS:
2005-09-02  Andy Wingo  <wingo@pobox.com>

* All plugins updated for element state changes.
2005-09-02 15:43:18 +00:00
Thomas Vander Stichele
c1b14f407b ext/gnomevfs/: add/clean up debugging
Original commit message from CVS:

* ext/gnomevfs/gstgnomevfs.c: (plugin_init):
* ext/gnomevfs/gstgnomevfssrc.c: (audiocast_init),
(audiocast_register_listener), (audiocast_thread_run),
(gst_gnomevfssrc_send_additional_headers_callback),
(gst_gnomevfssrc_received_headers_callback),
(gst_gnomevfssrc_push_callbacks), (gst_gnomevfssrc_pop_callbacks),
(gst_gnomevfssrc_get_icy_metadata), (gst_gnomevfssrc_create),
(gst_gnomevfssrc_get_size):
add/clean up debugging
* gst/audiorate/gstaudiorate.c: (gst_audiorate_init):
cleanups
2005-07-08 10:59:36 +00:00
Andy Wingo
21c3b52296 gst/audiorate/gstaudiorate.c (gst_audiorate_class_init): Pacify
Original commit message from CVS:
2005-05-05  Andy Wingo  <wingo@pobox.com>

* gst/audiorate/gstaudiorate.c (gst_audiorate_class_init): Pacify
GObject.
* configure.ac: Return audiorate and subparse from the ghetto.
Re-enable -Wall -Werror.
* gst/subparse/gstsubparse.c:
* gst/subparse/gstsubparse.h: Port to 0.9. Can operate loop-based
or chain-based. Cleaned up a bit. Not tested.
2005-05-06 03:32:51 +00:00
Andy Wingo
790c059867 gst/: Some GCC4 fixes
Original commit message from CVS:
2005-05-05  Andy Wingo  <wingo@pobox.com>

* gst-libs/gst/tag/gstid3tag.c: (gst_tag_list_new_from_id3v1):
* gst-libs/gst/tag/gstvorbistag.c:
(gst_tag_list_from_vorbiscomment_buffer), (gst_vorbis_tag_chain):
* gst/adder/gstadder.h:
* gst/audioconvert/gstchannelmix.c:
(gst_audio_convert_fill_one_other):
* gst/audiorate/gstaudiorate.c: (gst_audiorate_setcaps),
(gst_audiorate_init), (gst_audiorate_chain):
* gst/playback/gstplaybasebin.c: (setup_source):
* gst/playback/test3.c: (update_scale):
Some GCC4 fixes

* po/af.po:
* po/az.po:
* po/cs.po:
* po/en_GB.po:
* po/hu.po:
* po/it.po:
* po/nb.po:
* po/nl.po:
* po/or.po:
* po/sq.po:
* po/sr.po:
* po/sv.po:
* po/uk.po:
* po/vi.po: Foo
2005-05-05 14:57:20 +00:00
Thomas Vander Stichele
1154865035 replace warning
Original commit message from CVS:
replace warning
2004-07-05 18:01:37 +00:00
Wim Taymans
796529c197 gst/: Added some logging, fixed an overflow bug in videorate.
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audiorate_link),
(gst_audiorate_init), (gst_audiorate_chain),
(gst_audiorate_set_property), (gst_audiorate_get_property):
* gst/videorate/gstvideorate.c: (gst_videorate_class_init),
(gst_videorate_chain):
Added some logging, fixed an overflow bug in videorate.
2004-06-24 12:45:27 +00:00
Wim Taymans
13377326ca gst/audiorate/gstaudiorate.c: Implement sample dropping and notify
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audiorate_class_init),
(gst_audiorate_init), (gst_audiorate_chain),
(gst_audiorate_set_property), (gst_audiorate_get_property):
Implement sample dropping and notify
2004-06-23 11:06:10 +00:00
Wim Taymans
7face56b42 gst/audiorate/: Added an audiorate converter that fills in gaps.
Original commit message from CVS:
* gst/audiorate/Makefile.am:
* gst/audiorate/gstaudiorate.c: (gst_audiorate_get_type),
(gst_audiorate_base_init), (gst_audiorate_class_init),
(gst_audiorate_link), (gst_audiorate_init), (gst_audiorate_chain),
(gst_audiorate_set_property), (gst_audiorate_get_property),
(gst_audiorate_change_state), (plugin_init):
Added an audiorate converter that fills in gaps.
2004-06-17 13:45:50 +00:00