Commit graph

352 commits

Author SHA1 Message Date
Wim Taymans
5ff8a9437e ext/vorbis/vorbisenc.c: Report the encoder latency. Fixes #538232.
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_get_latency),
(gst_vorbis_enc_src_query), (gst_vorbis_enc_chain):
Report the encoder latency. Fixes #538232.
2008-06-20 09:25:44 +00:00
Sebastian Dröge
31b677599a ext/vorbis/: Add sane defaults for the 7 and 8 channel layouts as those are undefined in the Vorbis spec. Use NONE ch...
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_handle_identification_packet):
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_generate_sink_caps):
Add sane defaults for the 7 and 8 channel layouts as those are
undefined in the Vorbis spec. Use NONE channel layouts when decoding
more than 8 channels instead of erroring out. Fixes bug #535356.
2008-05-29 07:02:50 +00:00
Wim Taymans
2cdf18edff Some debug and comment fixes.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c:
* gst/videoscale/gstvideoscale.c: (gst_video_scale_transform):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_show_frame):
Some debug and comment fixes.
* tests/examples/dynamic/addstream.c: (main):
Fix , to ;
2008-05-21 16:44:15 +00: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
Wim Taymans
8da7f5ece9 ext/vorbis/vorbisdec.c: When calculating the first timestamp of the buffers, don't go below 0 and clip the samples be...
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_dec_push_forward):
When calculating the first timestamp of the buffers, don't go below 0
and clip the samples because the offset was on the eos page.
Fixes #466717.
2007-08-21 12:08:43 +00:00
Stefan Kost
87d96c656a ext/ogg/gstoggmux.c: Do not leak oggmux instance.
Original commit message from CVS:
* ext/ogg/gstoggmux.c:
Do not leak oggmux instance.
* ext/vorbis/vorbisenc.c:
Also log values.
2007-08-09 11:37:28 +00:00
Jan Schmidt
b947924e28 ext/vorbis/vorbisdec.c: Gratuitous comment change to trigger a rebuild on the buildbots.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_dec_push_forward):
Gratuitous comment change to trigger a rebuild on the buildbots.
2007-07-26 10:00:37 +00:00
Sebastian Dröge
9137e98926 ext/vorbis/vorbisdec.c: Use the new buffer clipping function from gstaudio here.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_dec_push_forward),
(vorbis_dec_flush_decode):
Use the new buffer clipping function from gstaudio here.
2007-07-23 18:42:22 +00:00
Tim-Philipp Müller
087f644cfe ext/vorbis/vorbisdec.c: Skip empty buffers, but not empty header buffers. That way the original vorbisdec unit test s...
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_dec_decode_buffer):
Skip empty buffers, but not empty header buffers. That way the original
vorbisdec unit test still passes (#451145); also, take into account
that those empty packets might carry a granulepos.
* tests/check/Makefile.am:
* tests/check/elements/vorbisdec.c:
(_create_codebook_header_buffer), (_create_audio_buffer),
(GST_START_TEST), (vorbisdec_suite):
Add unit test that sends an empty packet.
2007-06-27 10:14:03 +00:00
Wim Taymans
4e676414f0 ext/vorbis/vorbisdec.c: Don't error out on 0-sized packets, just emit a warning because this is not a fatal error. Fi...
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_dec_decode_buffer):
Don't error out on 0-sized packets, just emit a warning because this is
not a fatal error. Fixes #451145.
2007-06-27 09:49:51 +00:00
Michael Smith
cda0d2dc94 ext/vorbis/vorbisdec.c: Use scale functions to avoid overflow when calculating duration of vorbis buffers.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet):
Use scale functions to avoid overflow when calculating duration of
vorbis buffers.
2007-04-12 12:57:33 +00:00
Thomas Vander Stichele
ecab77b7e4 ext/vorbis/vorbisdec.c (vorbis_dec_push_forward, vorbis_handle_data_packet):
Original commit message from CVS:
* ext/vorbis/vorbisdec.c (vorbis_dec_push_forward,
vorbis_handle_data_packet):
Correctly set DURATION to generate a timestamp-continuous stream.
One bug left at the end; see
ihttp://bugzilla.gnome.org/show_bug.cgi?id=423086
* tests/check/Makefile.am:
* tests/check/pipelines/vorbisenc.c (GST_START_TEST):
Add a test to check this.  Without the above patch this test fails.
2007-03-26 20:56:35 +00:00
Michael Smith
45b6d734ec ext/vorbis/vorbisenc.c: If we get a zero-sized input buffer, don't pass it to libvorbis, as that marks EOS internally...
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_chain):
If we get a zero-sized input buffer, don't pass it to libvorbis, as
that marks EOS internally. After that, libvorbis will buffer all
input data, and encode none of it, eventually leading to memory
exhaustion.
2007-03-20 11:49:55 +00:00
Wim Taymans
e9be846621 Use new metadata copy function.
Original commit message from CVS:
* ext/pango/gsttextrender.c: (gst_text_render_chain):
* ext/vorbis/vorbistag.c: (gst_vorbis_tag_parse_packet):
* gst-libs/gst/netbuffer/gstnetbuffer.c: (gst_netbuffer_copy):
Use new metadata copy function.
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcsp_transform):
* gst/videoscale/gstvideoscale.c: (gst_video_scale_transform):
Basetransform copied the metadata for us.
2007-03-09 16:38:06 +00:00
Wim Taymans
62ef7da73b Small documentation updates/fixes
Original commit message from CVS:
* ext/theora/theoradec.c:
* ext/vorbis/vorbisdec.c:
* gst-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_commit_full):
* gst-libs/gst/audio/gstringbuffer.h:
* gst-libs/gst/rtp/gstrtpbuffer.c:
* gst-libs/gst/tag/gstvorbistag.c:
Small documentation updates/fixes
2007-01-09 11:15:57 +00:00
Tim-Philipp Müller
4e3fc9611f Printf format and missing argument fixes.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_stream_out):
* ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet):
* gst/playback/gstdecodebin2.c:
(gst_decode_group_check_if_blocked):
Printf format and missing argument fixes.
2007-01-05 19:43:55 +00:00
Thomas Vander Stichele
95ada43982 configure.ac: split out GST_CFLAGS into GST_PLUGINS_BASE_CFLAGS and GST_CFLAGS so that GST_BASE_CFLAGS can go inbetwe...
Original commit message from CVS:
* configure.ac:
split out GST_CFLAGS into GST_PLUGINS_BASE_CFLAGS and GST_CFLAGS
so that GST_BASE_CFLAGS can go inbetween them, making sure
we use uninstalled gst-libs headers
* docs/libs/Makefile.am:
* ext/alsa/Makefile.am:
* ext/cdparanoia/Makefile.am:
* ext/gnomevfs/Makefile.am:
* ext/libvisual/Makefile.am:
* ext/ogg/Makefile.am:
* ext/theora/Makefile.am:
* ext/vorbis/Makefile.am:
* gst-libs/gst/audio/Makefile.am:
* gst-libs/gst/cdda/Makefile.am:
* gst-libs/gst/interfaces/Makefile.am:
* gst-libs/gst/riff/Makefile.am:
* gst-libs/gst/rtp/Makefile.am:
* gst-libs/gst/tag/Makefile.am:
* gst/adder/Makefile.am:
* gst/audioconvert/Makefile.am:
* gst/audiorate/Makefile.am:
* gst/audioresample/Makefile.am:
* gst/playback/Makefile.am:
* gst/tcp/Makefile.am:
* gst/videoscale/Makefile.am:
* gst/volume/Makefile.am:
* sys/ximage/Makefile.am:
* sys/xvimage/Makefile.am:
* tests/icles/Makefile.am:
adapt
2007-01-04 12:49:48 +00:00
Wim Taymans
0a5978dfaf ext/theora/theoradec.c: Implement reverse playback.
Original commit message from CVS:
* ext/theora/theoradec.c: (gst_theora_dec_reset),
(theora_dec_push_forward), (theora_dec_push_reverse),
(theora_handle_data_packet), (theora_dec_decode_buffer),
(theora_dec_flush_decode), (theora_dec_chain_reverse),
(theora_dec_chain_forward), (theora_dec_chain):
Implement reverse playback.
* ext/vorbis/vorbisdec.c: (gst_vorbis_dec_reset),
(vorbis_dec_decode_buffer), (vorbis_dec_flush_decode),
(vorbis_dec_chain_forward):
Clear buffers used for reverse playback in _reset.
No need to set the eos flag, we clip samples using the segment.
2006-11-26 16:39:41 +00:00
Wim Taymans
22411eeb35 ext/vorbis/vorbisdec.c: Small cleanups.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_dec_push_forward),
(vorbis_handle_data_packet), (vorbis_dec_decode_buffer),
(vorbis_dec_flush_decode):
Small cleanups.
Don't try to add invalid timestamps.
Clipping will unref the buffer.
2006-11-24 15:39:03 +00:00
Wim Taymans
cadc881165 ext/vorbis/vorbisdec.*: First stab at vorbis reverse playback.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_dec_sink_event),
(vorbis_dec_push_forward), (vorbis_dec_push_reverse),
(vorbis_handle_data_packet), (vorbis_dec_decode_buffer),
(vorbis_dec_flush_decode), (vorbis_dec_chain_reverse),
(vorbis_dec_chain_forward), (vorbis_dec_chain):
* ext/vorbis/vorbisdec.h:
First stab at vorbis reverse playback.
2006-11-13 18:14:48 +00:00
Tim-Philipp Müller
9e107d670a Printf format fixes.
Original commit message from CVS:
* ext/alsa/gstalsadeviceprobe.c:
(gst_alsa_device_property_probe_get_values):
* ext/alsa/gstalsasink.c: (set_hwparams):
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain_elem_pad),
(gst_ogg_chain_new_stream), (gst_ogg_demux_read_chain):
* ext/ogg/gstoggmux.c: (gst_ogg_mux_send_headers),
(gst_ogg_mux_process_best_pad):
* ext/ogg/gstoggparse.c: (gst_ogg_parse_new_stream),
(gst_ogg_parse_chain):
* ext/ogg/gstogmparse.c: (gst_ogm_parse_stream_header):
* ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet):
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_setup),
(gst_vorbis_enc_buffer_check_discontinuous):
* ext/vorbis/vorbisparse.c: (vorbis_parse_src_query):
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_handle_track_seek):
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_push_full):
* gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_push):
* gst/audioresample/resample.c: (resample_input_pushthrough):
* gst/playback/gstplaybasebin.c: (queue_out_of_data):
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_handle_clients):
* gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset),
(wavpack_type_find):
* gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_create):
* sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy),
(gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_new):
* tests/check/elements/volume.c: (GST_START_TEST):
Printf format fixes.
2006-10-05 15:55:21 +00:00
James Doc Livingston
f88fbe139d ext/vorbis/: Add new vorbistag element which derives from vorbisparse and is essentially the same as well, only that ...
Original commit message from CVS:
Patch by: James "Doc" Livingston <doclivingston at gmail com>
* ext/vorbis/Makefile.am:
* ext/vorbis/vorbis.c: (plugin_init):
* ext/vorbis/vorbisparse.c: (gst_vorbis_parse_class_init),
(vorbis_parse_parse_packet), (vorbis_parse_chain):
* ext/vorbis/vorbisparse.h:
* ext/vorbis/vorbistag.c: (gst_vorbis_tag_base_init),
(gst_vorbis_tag_class_init), (gst_vorbis_tag_init),
(gst_vorbis_tag_parse_packet):
* ext/vorbis/vorbistag.h:
Add new vorbistag element which derives from vorbisparse
and is essentially the same as well, only that it implements
the GstTagSetter interface and can modify the stream's
vorbiscomment on the fly (#335635).
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/vorbistag.c: (setup_vorbistag),
(cleanup_vorbistag), (buffer_probe), (start_pipeline),
(get_buffer), (stop_pipeline), (_create_codebook_header_buffer),
(_create_audio_buffer), (GST_START_TEST), (vorbistag_suite):
Add unit test for new vorbistag element.
2006-10-03 11:51:48 +00:00
Tim-Philipp Müller
623b0b5339 ext/vorbis/vorbisparse.c: Set BOS flag in packet structure to fix 'jump depends on unitialized value' errors in valgr...
Original commit message from CVS:
* ext/vorbis/vorbisparse.c: (gst_vorbis_parse_init),
(vorbis_parse_push_headers), (vorbis_parse_chain):
Set BOS flag in packet structure to fix 'jump depends
on unitialized value' errors in valgrind; various minor
clean-ups.
2006-10-03 10:36:38 +00:00
Tim-Philipp Müller
ae45b7d755 Move GST_TAG_CDDA_* tags into libgsttag and make libgstcddabasesrc depend on libgsttag. This is required so we can ex...
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/cdda/Makefile.am:
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_base_init):
* gst-libs/gst/cdda/gstcddabasesrc.h:
* gst-libs/gst/tag/tag.h:
* gst-libs/gst/tag/tags.c: (gst_tag_register_tags_internal),
(gst_tag_register_musicbrainz_tags):
Move GST_TAG_CDDA_* tags into libgsttag and make libgstcddabasesrc
depend on libgsttag. This is required so we can extract/read tags like
DISCID without depending on libgstcddabasesrc (which used to register
them).
* gst-libs/gst/tag/gstvorbistag.c:
Add vorbiscomment mapping for CDDB_DISCID and MUSICBRAINZ_DISCID
tags (also see #347848).
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_metadata_set1):
Log vorbis comments we are actually writing. Const-ify array.
2006-09-23 13:21:07 +00:00
Michael Smith
dbf7690ce4 ext/vorbis/vorbisenc.c: Ignore explicit DISCONT marked on buffers (which is often spurious, particularly when using m...
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_push_buffer),
(gst_vorbis_enc_buffer_check_discontinuous),
(gst_vorbis_enc_chain):
Ignore explicit DISCONT marked on buffers (which is often spurious,
particularly when using multiple segments), in favour of solely
using the timestamps/durations.
2006-08-29 10:51:12 +00:00
Thomas Vander Stichele
1eb2a25683 ext/vorbis/vorbisenc.c: fix buffer unreffing on a header push failure
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_chain):
fix buffer unreffing on a header push failure
2006-08-29 08:03:05 +00:00
Michael Smith
15b6ea50d6 ext/vorbis/vorbisenc.c: Allow very small discontinuities in the timestamps. These we can't do anything useful with an...
Original commit message from CVS:
* ext/vorbis/vorbisenc.c:
(gst_vorbis_enc_buffer_check_discontinuous):
Allow very small discontinuities in the timestamps. These we can't
do anything useful with anyway (because vorbis's timestamps have
only sample granularity), and are commonly produced by elements with
minor bugs. Allow up to 1/2 a sample out.
Fixes #351742.
2006-08-25 09:54:56 +00:00
Tim-Philipp Müller
2698f4359b ext/vorbis/vorbisenc.c: Use vorbis comment utility functions from libgsttag instead of re-inventing the wheel (partia...
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_metadata_set1),
(gst_vorbis_enc_set_metadata):
Use vorbis comment utility functions from libgsttag
instead of re-inventing the wheel (partially fixes #347091).
2006-08-21 16:39:25 +00:00
Michael Smith
48b860035b ext/vorbis/vorbisenc.*: Handle discontinuities in the input vorbis stream correctly, so that the output is properly t...
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_generate_sink_caps),
(gst_vorbis_enc_sink_getcaps), (gst_vorbis_enc_buffer_from_packet),
(gst_vorbis_enc_push_buffer),
(gst_vorbis_enc_buffer_check_discontinuous),
(gst_vorbis_enc_chain), (gst_vorbis_enc_change_state):
* ext/vorbis/vorbisenc.h:
Handle discontinuities in the input vorbis stream correctly,
so that the output is properly timestamped (and has good granulepos
values). Needs some oggmux fixes too.
2006-07-28 12:48:21 +00:00
Thomas Vander Stichele
e8e6963f39 tweak debug output
Original commit message from CVS:
tweak debug output
2006-07-26 10:54:13 +00:00
Iain *
9781f4ff93 ext/vorbis/vorbisparse.h: ext/vorbis/vorbisparse.c (vorbis_parse_drain_event_queue) (vorbis_parse_push_headers, vorbi...
Original commit message from CVS:
2006-07-14  Andy Wingo  <wingo@pobox.com>

* ext/vorbis/vorbisparse.h:
* ext/vorbis/vorbisparse.c (vorbis_parse_drain_event_queue)
(vorbis_parse_push_headers, vorbis_parse_clear_queue)
(vorbis_parse_drain_queue_prematurely, )
(vorbis_parse_sink_event, vorbis_parse_change_state): Queue events
until we have initialized our state. Fixes seeking after an
initial pad block.

2006-07-14  Andy Wingo  <wingo@pobox.com>

Patch by: Iain * <iaingnome@gmail.com>

* ext/ogg/gstoggdemux.c (gst_ogg_demux_finalize): Fix memleak.
2006-07-14 16:45:17 +00:00
Edward Hervey
31ce9d42b0 ext/vorbis/vorbisdec.c: gst_tag_list_merge() returns a new object. Take that into account when using it. This avoids ...
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_dec_finalize),
(vorbis_handle_comment_packet):
gst_tag_list_merge() returns a new object. Take that into account when
using it. This avoids memleak.
Revert previous commit which is not needed.
2006-07-12 14:20:43 +00:00
Edward Hervey
8642c1dc9d ext/vorbis/vorbisdec.c: Reset the decoder in finalize so that all fields get cleared.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_dec_finalize):
Reset the decoder in finalize so that all fields get cleared.
2006-07-12 13:30:20 +00:00
Edward Hervey
7a10838cd8 ext/vorbis/vorbisdec.c: Post tag messages on the bus even if we're not initialized.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (gst_vorbis_dec_reset),
(vorbis_dec_sink_event), (vorbis_handle_comment_packet),
(vorbis_handle_type_packet):
Post tag messages on the bus even if we're not initialized.
If we're not initialized, we still postpone the event pushing of tags.
2006-07-12 13:04:15 +00:00
Edward Hervey
7b88e03196 ext/vorbis/vorbisdec.*: Delay sending events (newsegment, tags) until the decoder is properly initialized.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (gst_vorbis_dec_init),
(gst_vorbis_dec_reset), (vorbis_dec_sink_event),
(vorbis_handle_comment_packet), (vorbis_handle_type_packet):
* ext/vorbis/vorbisdec.h:
Delay sending events (newsegment, tags) until the decoder is properly
initialized.
Fixes #347295
2006-07-12 10:37:18 +00:00
Edward Hervey
2760f8c58e ext/vorbis/vorbisdec.c: Remove unused variable.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_do_clip):
Remove unused variable.
2006-07-03 10:43:31 +00:00
Thomas Vander Stichele
31c54a6644 further clean up build
Original commit message from CVS:
further clean up build
2006-06-11 14:08:54 +00:00
Michael Smith
61b592b753 ext/vorbis/vorbisdec.c: Reinstate limit on channel count. Vorbis does not define the meaning of > 6 channels, so they...
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_handle_identification_packet):
Reinstate limit on channel count. Vorbis does not define the meaning
of > 6 channels, so they're just independent channels. Gstreamer
currently has no mechanism to represent N independent channels.
2006-06-02 15:06:59 +00:00
Michael Smith
7626c219ac ext/vorbis/vorbisdec.c: Don't arbitrarily restrict channel counts and rate in vorbis.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_handle_identification_packet):
Don't arbitrarily restrict channel counts and rate in vorbis.
In terms of effects likely on real-world files, this fixes 96kHz
playback of vorbis.
2006-06-02 14:23:34 +00:00
Stefan Kost
131fb86b4b Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
Original commit message from CVS:
* ext/alsa/gstalsamixerelement.h:
* ext/alsa/gstalsamixeroptions.h:
* ext/alsa/gstalsamixertrack.h:
* ext/gnomevfs/gstgnomevfssink.h:
* ext/gnomevfs/gstgnomevfssrc.h:
* ext/theora/gsttheoradec.h:
* ext/theora/gsttheoraenc.h:
* ext/theora/gsttheoraparse.h:
* ext/vorbis/vorbisparse.h:
* gst-libs/gst/audio/gstaudioclock.h:
* gst-libs/gst/audio/gstaudiofilter.h:
* gst-libs/gst/rtp/gstbasertpaudiopayload.h:
* gst/audioconvert/gstaudioconvert.h:
* gst/audioresample/gstaudioresample.h:
* gst/audiotestsrc/gstaudiotestsrc.h:
* gst/ffmpegcolorspace/gstffmpegcolorspace.h:
* gst/playback/gststreamselector.h:
* gst/tcp/gstmultifdsink.h:
* gst/tcp/gsttcpclientsink.h:
* gst/tcp/gsttcpclientsrc.h:
* gst/tcp/gsttcpserversink.h:
* gst/tcp/gsttcpserversrc.h:
* gst/videorate/gstvideorate.h:
* gst/videoscale/gstvideoscale.h:
* gst/videotestsrc/gstvideotestsrc.h:
* gst/volume/gstvolume.h:
* sys/v4l/gstv4ljpegsrc.h:
* sys/v4l/gstv4lmjpegsink.h:
* sys/v4l/gstv4lmjpegsrc.h:
* sys/v4l/gstv4lsrc.h:
* sys/ximage/ximagesink.h:
* sys/xvimage/xvimagesink.h:
* tests/old/testsuite/alsa/sinesrc.h:
Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
2006-06-01 19:19:51 +00:00
Michael Smith
d2ddf5eba5 ext/vorbis/vorbisenc.*: Multi-channel caps negotiation, so we can do proper multichannel vorbis encoding, negotiated ...
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (raw_caps_factory),
(gst_vorbis_enc_class_init), (gst_vorbis_enc_dispose),
(gst_vorbis_enc_generate_sink_caps), (gst_vorbis_enc_sink_getcaps),
(gst_vorbis_enc_init), (gst_vorbis_enc_buffer_from_header_packet),
(gst_vorbis_enc_chain), (gst_vorbis_enc_change_state):
* ext/vorbis/vorbisenc.h:
Multi-channel caps negotiation, so we can do proper multichannel
vorbis encoding, negotiated through audioconvert.
2006-05-30 13:22:58 +00:00
Wim Taymans
696dd6e320 ext/vorbis/vorbisdec.c: Small cleanups.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_dec_src_query),
(vorbis_dec_src_event), (vorbis_dec_sink_event), (vorbis_do_clip),
(vorbis_dec_push), (vorbis_handle_data_packet), (vorbis_dec_chain),
(vorbis_dec_change_state):
Small cleanups.
Add some FIXMEs
Clip output samples to segment boundaries.
2006-05-26 15:52:23 +00:00
Wim Taymans
97e943f681 ext/theora/theoradec.c: Cleanups, add some G_LIKELY.
Original commit message from CVS:
* ext/theora/theoradec.c: (gst_theora_dec_reset),
(theora_dec_src_query), (theora_dec_src_event),
(theora_dec_sink_event), (theora_handle_comment_packet),
(theora_handle_data_packet), (theora_dec_change_state):
Cleanups, add some G_LIKELY.
Use segment helpers instead of our own wrong code.
Clear queued buffers on seek and READY.
* ext/vorbis/vorbisdec.c: (gst_vorbis_dec_reset),
(vorbis_dec_convert), (vorbis_dec_src_query),
(vorbis_dec_src_event), (vorbis_dec_sink_event),
(vorbis_handle_comment_packet), (vorbis_dec_push),
(vorbis_handle_data_packet), (vorbis_dec_chain),
(vorbis_dec_change_state):
* ext/vorbis/vorbisdec.h:
Remove old useless packetno variable.
Do position query properly.
Add some G_LIKELY.
Do cleanup of queued buffers in new helper function
and use it.
2006-05-15 17:42:19 +00:00
Wim Taymans
ddf3ac792c ext/vorbis/vorbisdec.c: Cleanups. Use refcounting and DEBUG_OBJECT.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_get_query_types),
(vorbis_dec_convert), (vorbis_dec_src_query),
(vorbis_dec_sink_query), (vorbis_dec_src_event),
(vorbis_dec_sink_event), (vorbis_handle_identification_packet),
(vorbis_dec_clean_queued), (vorbis_dec_push),
(vorbis_handle_data_packet), (vorbis_dec_change_state):
Cleanups. Use refcounting and DEBUG_OBJECT.
Reset segment on flush, use code methods instead of our
own wrong version.
Fix potential memleak.
2006-05-15 16:49:31 +00:00
Andy Wingo
aa64df8ffd ext/theora/theoraparse.c (gst_theora_parse_init) ext/vorbis/vorbisparse.c (gst_vorbis_parse_init)
Original commit message from CVS:
2006-05-05  Andy Wingo  <wingo@pobox.com>

* ext/theora/theoraparse.c (gst_theora_parse_init)
(theora_parse_src_convert, theora_parse_src_query):
* ext/vorbis/vorbisparse.c (gst_vorbis_parse_init)
(vorbis_parse_convert, vorbis_parse_src_query): Add convert and
query functions on the source pads of the theora and vorbis parse
elements. Fixes position querying when doing a remux.
2006-05-05 16:34:15 +00:00
Wim Taymans
cab3cb22e5 ext/vorbis/vorbisdec.c: Still produce an error when we receive an empty packet.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_dec_sink_event),
(vorbis_dec_push), (vorbis_dec_chain):
Still produce an error when we receive an empty packet.
2006-05-03 15:52:46 +00:00
Wim Taymans
9e6ae51849 ext/ogg/gstoggdemux.c: Mark buffers with DISCONT after seek and after activating new chains.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain_peer),
(gst_ogg_chain_mark_discont), (gst_ogg_chain_new_stream),
(gst_ogg_demux_activate_chain), (gst_ogg_demux_perform_seek):
Mark buffers with DISCONT after seek and after activating new
chains.
* ext/theora/gsttheoradec.h:
* ext/theora/theoradec.c: (gst_theora_dec_reset),
(theora_get_query_types), (theora_dec_sink_event),
(theora_dec_push), (theora_handle_data_packet), (theora_dec_chain),
(theora_dec_change_state):
Fix frame counter.
Detect and mark DISCONT buffers.
* ext/vorbis/vorbisdec.c: (vorbis_dec_src_query),
(vorbis_dec_sink_event), (vorbis_dec_push), (vorbis_dec_chain),
(vorbis_dec_change_state):
* ext/vorbis/vorbisdec.h:
Use GstSegment.
Detect and mark DISCONT buffers.
Don't crash on 0 sized buffers.
2006-05-03 15:34:48 +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
Michael Smith
38525b4333 ext/vorbis/vorbisenc.c: Remove leaks from vorbisenc.
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_set_header_on_caps),
(gst_vorbis_enc_chain):
Remove leaks from vorbisenc.
Mostly minor changes, the only significant one is that now the
buffers we set as 'streamheader' on the caps are copies of the
original buffers, to avoid circular refcounting problems.
2006-04-07 13:24:54 +00:00
Tim-Philipp Müller
e330b2ed88 ext/vorbis/: Remove left-over 0.8 cruft; use GST_DEBUG_FUNCPTR; make vorbisenc adhere to the official nomenclature; u...
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (gst_vorbis_dec_class_init),
(gst_vorbis_dec_init), (vorbis_dec_finalize):
* ext/vorbis/vorbisdec.h:
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_add_interfaces),
(gst_vorbis_enc_base_init), (gst_vorbis_enc_class_init),
(gst_vorbis_enc_sink_setcaps), (gst_vorbis_enc_convert_src),
(gst_vorbis_enc_convert_sink), (gst_vorbis_enc_get_query_types),
(gst_vorbis_enc_src_query), (gst_vorbis_enc_sink_query),
(gst_vorbis_enc_init), (gst_vorbis_enc_get_tag_value),
(gst_vorbis_enc_metadata_set1), (gst_vorbis_enc_set_metadata),
(gst_vorbis_enc_setup), (gst_vorbis_enc_clear),
(gst_vorbis_enc_buffer_from_packet),
(gst_vorbis_enc_buffer_from_header_packet),
(gst_vorbis_enc_push_buffer), (gst_vorbis_enc_push_packet),
(gst_vorbis_enc_set_header_on_caps), (gst_vorbis_enc_sink_event),
(gst_vorbis_enc_chain), (gst_vorbis_enc_output_buffers),
(gst_vorbis_enc_get_property), (gst_vorbis_enc_set_property),
(gst_vorbis_enc_change_state):
* ext/vorbis/vorbisenc.h:
Remove left-over 0.8 cruft; use GST_DEBUG_FUNCPTR; make
vorbisenc adhere to the official nomenclature; use boilerplate
macro.
2006-04-05 13:05:25 +00:00
Andy Wingo
4f29a7eae5 ext/vorbis/vorbisparse.c: Add some docs and a copyright.
Original commit message from CVS:
2006-04-03  Andy Wingo  <wingo@pobox.com>

* ext/vorbis/vorbisparse.c: Add some docs and a copyright.
2006-04-03 08:28:58 +00:00
Andy Wingo
8698d64a47 ext/vorbis/vorbisparse.c (vorbis_parse_sink_event): Fix uninitialized variable return that would happen.
Original commit message from CVS:
2006-03-31  Andy Wingo  <wingo@pobox.com>

* ext/vorbis/vorbisparse.c (vorbis_parse_sink_event): Fix
uninitialized variable return that would happen.
2006-03-31 17:08:41 +00:00
Andy Wingo
eb91cbd480 ext/vorbis/vorbisparse.c (vorbis_parse_drain_queue): Fix uninitialized variable return that would never happen.
Original commit message from CVS:
2006-03-31  Andy Wingo  <wingo@pobox.com>

* ext/vorbis/vorbisparse.c (vorbis_parse_drain_queue): Fix
uninitialized variable return that would never happen.
2006-03-31 16:57:47 +00:00
Andy Wingo
cca414a9b5 ext/vorbis/vorbisparse.c (gst_vorbis_parse_init)
Original commit message from CVS:
2006-03-31  Andy Wingo  <wingo@pobox.com>

* ext/vorbis/vorbisparse.c (gst_vorbis_parse_init)
(vorbis_parse_sink_event): Add an event function to flush our
state on a seek, and to drain buffers on a premature EOS.
(vorbis_parse_push_headers, vorbis_parse_clear_queue)
(vorbis_parse_push_buffer, vorbis_parse_drain_queue_prematurely)
(vorbis_parse_chain, vorbis_parse_queue_buffer)
(vorbis_parse_drain_queue): Queue up buffers until we can set
their timestamps and granulepos values.

* ext/vorbis/vorbisparse.h: Include the vorbis decoder headers,
and keep track of data needed for deriving granulepos and
timestamps for buffers.
2006-03-31 16:43:43 +00:00
j^
08047f5cfe better/unified long descriptions
Original commit message from CVS:
Patch by: j^ <j at bootlab dot org>
* ext/alsa/gstalsamixerelement.c:
(gst_alsa_mixer_element_class_init):
* ext/alsa/gstalsasink.c:
* ext/alsa/gstalsasrc.c: (gst_alsasrc_class_init):
* ext/ogg/gstoggdemux.c:
* ext/ogg/gstoggmux.c:
* ext/ogg/gstoggparse.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/audioconvert/gstaudioconvert.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:
better/unified long descriptions
Fixes #336477
2006-03-29 14:00:08 +00:00
Stefan Kost
2d826700fa Add docs for adder, use GST_ELEMENT_DETAILS macro, define GstElementDetails at the top
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* ext/cdparanoia/gstcdparanoiasrc.c:
* ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_base_init),
(gst_gnome_vfs_sink_class_init):
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_base_init):
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_base_init):
* ext/ogg/gstoggmux.c:
* ext/ogg/gstoggparse.c: (gst_ogg_parse_base_init):
* ext/ogg/gstogmparse.c: (gst_ogm_audio_parse_base_init),
(gst_ogm_video_parse_base_init), (gst_ogm_text_parse_base_init):
* ext/pango/gsttextoverlay.c:
* ext/pango/gsttextrender.c:
* ext/theora/theoradec.c:
* ext/theora/theoraenc.c:
* ext/vorbis/vorbisdec.c:
* ext/vorbis/vorbisenc.c:
* gst-libs/gst/audio/gstaudiofilter.c:
(gst_audio_filter_base_init):
* gst-libs/gst/audio/gstaudiofiltertemplate.c:
(gst_audio_filter_template_base_init):
* gst/adder/gstadder.c: (gst_adder_get_type):
* gst/adder/gstadder.h:
* gst/audioconvert/gstaudioconvert.c:
* gst/audiotestsrc/gstaudiotestsrc.c:
(gst_audiostestsrc_wave_get_type), (gst_audio_test_src_class_init),
(gst_audio_test_src_create):
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
* gst/playback/gstdecodebin.c:
* gst/playback/gstplaybin.c:
* gst/playback/gststreamselector.c:
(gst_stream_selector_base_init):
* gst/subparse/gstsubparse.c: (gst_sub_parse_base_init):
* gst/volume/gstvolume.c:
* sys/v4l/gstv4lmjpegsink.c:
* sys/v4l/gstv4lmjpegsrc.c:
* tests/check/libs/cddabasesrc.c:
* tests/old/examples/gob/gst-identity2.gob:
Add docs for adder, use GST_ELEMENT_DETAILS macro,
define GstElementDetails at the top
2006-03-24 10:42:11 +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
Thomas Vander Stichele
c9bc7a4844 ogg muxing of vorbis and theora now has pages ordered correctly again, even with delays.
Original commit message from CVS:
ogg muxing of vorbis and theora now has pages ordered correctly again,
even with delays.

* ext/ogg/README:
updated with some examples
* ext/theora/theoraenc.c: (granulepos_to_timestamp),
(granulepos_add), (theora_buffer_from_packet):
* ext/vorbis/vorbisenc.c: (granulepos_to_timestamp_offset),
(granulepos_to_timestamp), (gst_vorbisenc_buffer_from_packet),
(gst_vorbisenc_chain):
implement strategy from ext/ogg/README
* ext/ogg/gstoggmux.c: (gst_ogg_mux_buffer_from_page),
(gst_ogg_mux_push_buffer), (gst_ogg_mux_dequeue_page),
(gst_ogg_mux_pad_queue_page), (gst_ogg_mux_compare_pads),
(gst_ogg_mux_queue_pads), (gst_ogg_mux_collected):
Fix muxer so that oggz-validate is happy with all streams;
except for no eos mark, and the BOS page ordering
* tests/check/pipelines/theoraenc.c: (check_buffer_is_header),
(check_buffer_granulepos):
* tests/check/pipelines/vorbisenc.c: (check_buffer_granulepos):
update tests to check for OFFSET being set as requested
fixed type of granulepos, it's not a ClockTime
2006-03-05 22:57:58 +00:00
Wim Taymans
8011ea8e2d Fix some more docs.
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* ext/gnomevfs/gstgnomevfssink.h:
* ext/gnomevfs/gstgnomevfssrc.h:
* ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet):
* ext/vorbis/vorbisdec.h:
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_convert_sink):
* ext/vorbis/vorbisenc.h:
* ext/vorbis/vorbisparse.c: (vorbis_parse_set_header_on_caps),
(vorbis_parse_chain), (vorbis_parse_change_state):
* ext/vorbis/vorbisparse.h:
* gst/audioconvert/gstaudioconvert.h:
* gst/tcp/gsttcpserversink.h:
* gst/videotestsrc/gstvideotestsrc.c:
* gst/videotestsrc/gstvideotestsrc.h:
* gst/volume/gstvolume.c:
* gst/volume/gstvolume.h:
Fix some more docs.
Added docs for vorbisdec and vorbisparse.
Fix vorbisparse.
2006-03-01 17:39:28 +00:00
Wim Taymans
9a55cf386e ext/vorbis/vorbisenc.c: Use some more scaling functions.
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_convert_src),
(gst_vorbisenc_convert_sink):
Use some more scaling functions.
2006-02-17 19:31:12 +00:00
Tim-Philipp Müller
46a95c1243 ext/vorbis/vorbis.c: Register musicbrainz tags, so apps don't have to.
Original commit message from CVS:
* ext/vorbis/vorbis.c: (plugin_init):
Register musicbrainz tags, so apps don't have to.
2006-02-07 18:32:00 +00:00
Jan Schmidt
5109622dd0 Add a finalize method to ensure we clean up state even if someone omitted the state change back to NULL.
Original commit message from CVS:
(theora_enc_finalize), (theora_enc_sink_setcaps):
Add a finalize method to ensure we clean up state even if
someone omitted the state change back to NULL.

* ext/vorbis/vorbisenc.c: (gst_vorbisenc_metadata_set1),
(gst_vorbisenc_chain):
Free some more leaked bits.

* tests/check/pipelines/theoraenc.c: (start_pipeline),
(stop_pipeline):
Wait for state changes to happen if they're ASYNC.

This ought to teach those fancy pants buildbots a lesson.
2006-02-05 23:31:05 +00:00
Jan Schmidt
409b9b220d ext/vorbis/vorbisenc.c: Don't leak tag names.
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_metadata_set1):
Don't leak tag names.
2006-02-05 22:44:55 +00:00
Tim-Philipp Müller
41e4f03f9b Pass unhandled queries upstream instead of just dropping them (#326447). Also, fix supported query types list for som...
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_query_types),
(gst_ogg_pad_src_query):
* ext/ogg/gstogmparse.c: (gst_ogm_parse_sink_query):
* ext/theora/theoradec.c: (theora_dec_src_query),
(theora_dec_sink_query):
* ext/vorbis/vorbisdec.c: (vorbis_dec_src_query),
(vorbis_dec_sink_query):
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_src_query),
(gst_vorbisenc_sink_query):
* gst/adder/gstadder.c: (gst_adder_query):
Pass unhandled queries upstream instead of just
dropping them (#326447). Also, fix supported
query types list for some elements.
2006-02-01 11:56:11 +00:00
Wim Taymans
5ef4c13fb1 ext/vorbis/vorbisdec.c: Use scale_int when we can, add some more scaling.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_dec_convert),
(vorbis_handle_header_packet), (vorbis_dec_push),
(vorbis_handle_data_packet):
Use scale_int when we can, add some more scaling.
Check packettype before parsing it.
2006-01-31 19:25:10 +00:00
Andy Wingo
0ad84fae5d tests/check/Makefile.am (check_vorbis): Add pipelines/vorbisenc.
Original commit message from CVS:
2006-01-30  Andy Wingo  <wingo@pobox.com>

* tests/check/Makefile.am (check_vorbis): Add pipelines/vorbisenc.

* ext/vorbis/vorbisenc.c (gst_vorbisenc_buffer_from_packet): Logic
updated to timestamp from the first sample, not the last.
(gst_vorbisenc_buffer_from_header_packet): New function, takes
special care of granulepos and timestamp for header packets.
(gst_vorbisenc_chain): Reflow, fix some leaks, and handle the case
when the first buffer has a nonzero timestamp.

* ext/vorbis/vorbisenc.h (GstVorbisEnc.granulepos_offset)
(GstVorbisEnc.subgranule_offset): New members. Take care of the
case when the first audio buffer we get has a nonzero timestamp.
(GstVorbisEnc.next_ts): Renamed from prev_ts, because now we
properly timestamp vorbis buffers with the time of the first
sample, not the last.

* ext/vorbis/vorbisenc.c (granulepos_to_clocktime): Renamed from
vorbis_granule_time_copy -- now it takes the granule/subgranule
offset into account.

* tests/check/pipelines/vorbisenc.c: New test for correctness of
timestamps, durations, and granulepos on buffers produced by
vorbisenc.
2006-01-30 15:01:28 +00:00
Thomas Vander Stichele
325e713953 ext/vorbis/vorbisdec.c: Fix #327216 (null dereference in vorbisdec)
Original commit message from CVS:

* ext/vorbis/vorbisdec.c: (vorbis_dec_src_query):
Fix #327216 (null dereference in vorbisdec)
2006-01-16 15:31:14 +00:00
Tim-Philipp Müller
2d15397f29 ext/theora/theoradec.c: Post taglist actually on bus instead of just freeing it (fixes #327114 and totem bug #327080).
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_handle_comment_packet):
Post taglist actually on bus instead of just freeing it
(fixes #327114 and totem bug #327080).
* ext/vorbis/vorbisdec.c: (vorbis_handle_comment_packet):
Use gst_element_found_tags_for_pad(), so that the tags
are sent downstream as an event as well.
2006-01-16 15:19:55 +00:00
Thomas Vander Stichele
5f83aa7dfa expand tabs
Original commit message from CVS:
expand tabs
2005-12-06 19:42:02 +00:00
Andy Wingo
1ecddd21ea Update for alloc_buffer changes.
Original commit message from CVS:
2005-12-05  Andy Wingo  <wingo@pobox.com>

* ext/libvisual/visual.c: (get_buffer):
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain_peer):
* ext/pango/gsttextrender.c: (gst_text_render_chain):
* ext/theora/theoradec.c: (theora_handle_data_packet):
* ext/theora/theoraenc.c: (theora_buffer_from_packet),
(theora_enc_chain):
* ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet):
* gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_create):
Update for alloc_buffer changes.
2005-12-05 13:02:12 +00:00
Wim Taymans
bd713d06ed ext/vorbis/vorbisdec.c: Small cleanups.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet):
Small cleanups.
2005-12-02 10:47:55 +00:00
Thomas Vander Stichele
aa454b5383 remove sinesrc some more
Original commit message from CVS:
remove sinesrc some more
2005-11-23 15:36:58 +00:00
Andy Wingo
6e05471956 Update for gst_tag_setter API changes.
Original commit message from CVS:
2005-11-22  Andy Wingo  <wingo@pobox.com>

* Update for gst_tag_setter API changes.
2005-11-22 12:34:27 +00:00
Andy Wingo
20b31b4153 ext/ogg/gstoggdemux.c (gst_ogg_pad_submit_packet)
Original commit message from CVS:
2005-11-22  Andy Wingo  <wingo@pobox.com>

* ext/ogg/gstoggdemux.c (gst_ogg_pad_submit_packet)
(gst_ogg_demux_perform_seek):
* ext/theora/theoradec.c (theora_dec_sink_event):
* ext/vorbis/vorbisdec.c (vorbis_dec_sink_event): Run
update-funcnames.
2005-11-22 11:51:24 +00:00
Tim-Philipp Müller
c90f75526a Rename libgsttagedit to libgsttag (#322117).
Original commit message from CVS:
* ext/theora/Makefile.am:
* ext/vorbis/Makefile.am:
* gst-libs/gst/tag/Makefile.am:
* gst-plugins-base.spec.in:
Rename libgsttagedit to libgsttag (#322117).
2005-11-22 11:33:07 +00:00
Andy Wingo
137c23468e Don't take stream lock.
Original commit message from CVS:
2005-11-21  Andy Wingo  <wingo@pobox.com>

* ext/vorbis/vorbisdec.c (vorbis_dec_sink_event):
* gst/videorate/gstvideorate.c (gst_videorate_event):
* ext/theora/theoradec.c (theora_dec_sink_event):
* ext/theora/theoraenc.c (theora_enc_sink_event): Don't take
stream lock.

* gst/subparse/gstsubparse.c (gst_subparse_src_event):
* ext/ogg/gstoggdemux.c (gst_ogg_demux_perform_seek): Update for
stream lock changes.
2005-11-21 17:29:00 +00:00
Michael Smith
afa20a78b2 ext/vorbis/vorbisenc.c: Minimal fix for bug #320200: set the min/max bitrate in the correct units. A better fix would...
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_setup):
Minimal fix for bug #320200: set the min/max bitrate in the correct
units. A better fix would be to upgrade to the RATEMANAGE2
interface, rather than using the deprecated interface used here, but
that would require an update in our libvorbis dependency (to 1.1),
which is probably undesirable.
2005-11-21 15:16:29 +00:00
Alessandro Dessina
6483710419 ext/ogg/gstoggmux.c (gst_ogg_mux_set_header_on_caps): ext/ogg/gstoggparse.c (gst_ogg_parse_append_header)
Original commit message from CVS:
2005-11-21  Andy Wingo  <wingo@pobox.com>

patch by: Alessandro Dessina <alessandro nnva org>

* ext/ogg/gstoggmux.c (gst_ogg_mux_set_header_on_caps):
* ext/ogg/gstoggparse.c (gst_ogg_parse_append_header)
(gst_ogg_parse_chain):
* ext/theora/theoraenc.c (theora_set_header_on_caps):
* ext/vorbis/vorbisenc.c (gst_vorbisenc_set_header_on_caps):
* ext/vorbis/vorbisparse.c (vorbis_parse_set_header_on_caps): Fix
gst_value_list calls on arrays. Fixes #321962.
2005-11-21 12:36:22 +00:00
Michael Smith
035f96fe88 ext/vorbis/vorbisenc.c: Properly handle pad_push return values.
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_clear),
(gst_vorbisenc_chain), (gst_vorbisenc_output_buffers):
Properly handle pad_push return values.
2005-11-21 10:09:16 +00:00
Wim Taymans
679918cbf6 ext/vorbis/vorbisenc.c: GST_PAD_IS_USABLE is gone, use the return value of the push or pad_alloc_buffer instead.
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_push_buffer),
(gst_vorbisenc_push_packet):
GST_PAD_IS_USABLE is gone, use the return value of
the push or pad_alloc_buffer instead.
2005-11-20 14:09:40 +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
83b5dc6e8a revert unrefs, they don't pass make check
Original commit message from CVS:
revert unrefs, they don't pass make check
2005-11-16 00:11:36 +00:00
Johan Dahlin
e29263ef06 Yes, I know I should use gst_object_unref
Original commit message from CVS:
Yes, I know I should use gst_object_unref
2005-11-15 19:38:14 +00:00
Johan Dahlin
4f08d8649d Plug leaks.
Original commit message from CVS:
Plug leaks.
2005-11-15 19:34:39 +00:00
Michael Smith
84d7f7462e ext/: Fix a small memory leak in vorbisenc.
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_clear), (gst_ogg_mux_init),
(gst_ogg_mux_sinkconnect), (gst_ogg_mux_request_new_pad),
(gst_ogg_mux_push_buffer), (gst_ogg_mux_dequeue_page),
(gst_ogg_mux_pad_queue_page), (gst_ogg_mux_queue_pads),
(gst_ogg_mux_set_header_on_caps), (gst_ogg_mux_collected),
(gst_ogg_mux_clear_collectpads), (gst_ogg_mux_change_state):
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_buffer_from_packet),
(gst_vorbisenc_change_state):
Fix a small memory leak in vorbisenc.
Fix large memory leaks in oggmux, also fix lots of state change
bugs in oggmux.
2005-11-14 16:11:53 +00:00
Michael Smith
4427a67754 ext/vorbis/vorbisenc.*: Set duration on encoded buffers. This allows oggmux's max_page_delay parameter to actually work.
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_setup),
(gst_vorbisenc_buffer_from_packet):
* ext/vorbis/vorbisenc.h:
Set duration on encoded buffers. This allows oggmux's
max_page_delay parameter to actually work.
2005-11-11 16:35:39 +00:00
Wim Taymans
323ba80ff3 ext/: Take proper locks when handling events.
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_dec_src_query),
(theora_dec_sink_event):
* ext/theora/theoraenc.c: (theora_enc_sink_event),
(theora_enc_change_state):
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_init),
(gst_vorbisenc_sink_event), (gst_vorbisenc_change_state):
Take proper locks when handling events.
2005-10-27 11:33:09 +00:00
Wim Taymans
37c0c43425 ext/vorbis/vorbisdec.c: Correctly flush decoder samples even if we could not copy them to an output buffer. Fixes #31...
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet):
Correctly flush decoder samples even if we could not
copy them to an output buffer. Fixes #319618.
2005-10-24 17:40:37 +00:00
Wim Taymans
7879080357 ext/: Fix old naming.
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_dec_src_query),
(theora_dec_sink_event):
* ext/vorbis/vorbisdec.c: (vorbis_dec_src_query),
(vorbis_dec_sink_event), (vorbis_handle_identification_packet),
(vorbis_handle_data_packet):
* ext/vorbis/vorbisdec.h:
Fix old naming.

* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
Don't try to sync on buffers without a timestamp.
2005-10-21 15:14:36 +00:00
Tim-Philipp Müller
a04b000bf4 ext/vorbis/vorbisenc.c: Implement position and duration queries.
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_get_query_types),
(gst_vorbisenc_src_query):
Implement position and duration queries.
* gst/playback/test3.c: (update_scale), (main):
Fix for async state changes and print nicer output.
2005-10-20 19:06:43 +00:00
Tim-Philipp Müller
ba34565cfc ext/vorbis/vorbisdec.*: Vorbis streams can be embedded in other container formats than ogg, container formats where t...
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_dec_sink_event),
(vorbis_handle_data_packet), (vorbis_dec_chain),
(vorbis_dec_change_state):
* ext/vorbis/vorbisdec.h:
Vorbis streams can be embedded in other container formats
than ogg, container formats where the demuxer might set
timestamps on encoded vorbis buffers instead of those silly
granulepos thingies. In short: make vorbisdec handle
timestamps on incoming buffers as well.
2005-10-20 16:01:43 +00:00
Wim Taymans
fc8ce00673 Bye bye buffer-frames.
Original commit message from CVS:
* check/elements/audioconvert.c:
* docs/libs/tmpl/gstaudio.sgml:
* docs/libs/tmpl/gstcolorbalance.sgml:
* ext/vorbis/vorbisdec.c: (vorbis_dec_sink_event),
(vorbis_handle_identification_packet), (vorbis_handle_data_packet):
* ext/vorbis/vorbisenc.c: (raw_caps_factory):
* gst-libs/gst/audio/audio.c: (gst_audio_structure_set_int):
* gst-libs/gst/audio/audio.h:
* gst/audioconvert/audioconvert.h:
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_parse_caps):
* gst/volume/gstvolume.c:
Bye bye buffer-frames.
2005-10-19 17:02:46 +00:00
Wim Taymans
f88e6c08fd Query API update.
Original commit message from CVS:
* examples/seeking/seek.c: (make_avi_msmpeg4v3_mp3_pipeline),
(query_positions_elems), (query_positions_pads), (update_scale),
(do_seek), (set_update_scale), (message_received), (main):
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_src_query),
(gst_ogg_demux_perform_seek), (gst_ogg_demux_find_chains),
(gst_ogg_demux_loop):
* ext/ogg/gstogmparse.c: (gst_ogm_parse_sink_query):
* ext/theora/theoradec.c: (theora_dec_src_query),
(theora_dec_sink_event):
* ext/vorbis/vorbisdec.c: (vorbis_dec_src_query),
(vorbis_dec_sink_event), (vorbis_handle_data_packet):
* gst/adder/gstadder.c: (gst_adder_query):
* gst/audiotestsrc/gstaudiotestsrc.c: (gst_audiotestsrc_src_query):
* gst/playback/test3.c: (update_scale):
* gst/playback/test5.c: (new_pad), (no_more_pads), (start_finding),
(dump_element_stats), (main):
* gst/playback/test6.c: (main):
* gst/sine/gstsinesrc.c: (gst_sinesrc_src_query):
Query API update.
2005-10-19 15:55:33 +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
Tim-Philipp Müller
3b2a0751f9 Fix handling of GST_TAG_DATE, which is now of GST_TYPE_DATE.
Original commit message from CVS:
* ext/vorbis/vorbisenc.c:
* gst-libs/gst/tag/gstid3tag.c: (gst_tag_list_new_from_id3v1):
* gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add),
(gst_tag_to_vorbis_comments):
Fix handling of GST_TAG_DATE, which is now of GST_TYPE_DATE.
2005-10-13 15:34:02 +00:00
Wim Taymans
f13f1c0b3b check/generic/states.c: remove old property.
Original commit message from CVS:
* check/generic/states.c: (GST_START_TEST):
remove old property.

* ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet),
(gst_ogg_demux_perform_seek):
* ext/theora/theoradec.c: (theora_dec_sink_event):
* ext/vorbis/vorbisdec.c: (vorbis_dec_sink_event),
(vorbis_handle_data_packet):
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_set_gst_timestamp):
* gst/videorate/gstvideorate.c: (gst_videorate_event):
Update for newsegment API change.
2005-10-11 16:30:55 +00:00
Thomas Vander Stichele
25a70411d2 declarations before code
Original commit message from CVS:
declarations before code
2005-10-07 17:17:41 +00:00
Wim Taymans
d6825b358a ext/: Propagate error codes from alloc_buffer too.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain_peer):
* ext/theora/theoradec.c: (theora_handle_data_packet):
* ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet):
Propagate error codes from alloc_buffer too.
2005-09-29 19:12:44 +00:00
Wim Taymans
68a093a6ae ext/vorbis/vorbisdec.c: We use fixed caps.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (gst_vorbis_dec_init):
We use fixed caps.

* gst/playback/Makefile.am:
* gst/playback/test5.c: (new_pad), (no_more_pads), (start_finding),
(dump_element_stats), (main):
Added example stream introspection code.
2005-09-29 14:12:18 +00:00