Commit graph

435 commits

Author SHA1 Message Date
Mark Nauwelaerts
32dff24552 vorbisdec: also support ivorbis tremor decoder
... which only needs a bit of refactoring and extracting to support
the minor difference in (i)vorbis interface.

Fixes #609063.
2010-02-15 12:11:35 +01:00
Mark Nauwelaerts
5e06eaa517 vorbisdec: reduce some hard-coding
... such as assuming float all over, and base src caps on template caps.
2010-02-15 12:10:41 +01:00
Sebastian Dröge
1de4169c1c vorbis: Rename source files to have the same name as the headers 2010-01-14 10:07:22 +01:00
Sebastian Dröge
d4e9225ed4 vorbis: Move channel layout definitions into a single separate file
...instead of having two copies.
2010-01-14 10:05:35 +01:00
Sebastian Dröge
68c6ddc2fc vorbis: Add official 6.1 and 7.1 channel mappings
These are in the Vorbis spec since 2010-01-13. Fixes bug #606926.
2010-01-14 08:20:38 +01:00
Wim Taymans
43bdb13ec2 vorbisdec: adapt to new oggdemux
Remove all granulepos hacks and simply use the timestamps from the new oggdemux
like any other decoder.
2009-12-10 13:22:00 +01:00
Wim Taymans
79b25e634c vorbisdec: fix peer query 2009-12-09 19:04:18 +01:00
Wim Taymans
08c16c0db7 vorbisdec: use gst_pad_peer_query() 2009-12-09 16:38:43 +01:00
Josep Torra
ade53fb42f vorbis: fixes warings in macosx snow leopard 2009-10-09 22:00:45 +02:00
Edward Hervey
76044dce6d ext: Remove dead assignments and resulting unused variables. 2009-08-08 15:54:41 +02:00
Edward Hervey
47d40c2553 vorbisdec: Check for empty tag strings. Fixes #588724 2009-07-16 14:15:19 +02:00
Tim-Philipp Müller
12134979a2 oggdemux: post/send tags with the container-format tag
For this to work properly, theoradec and vorbisdec need to put
tag events received from upstream into the pending_events list
so they get pushed out after any newsegment event, not before.
2009-06-14 22:13:41 +01:00
Tim-Philipp Müller
20fb58be19 vorbisdec: don't put invalid bitrate values into the taglist
Bitrates are stored as 32-bit signed integers in the vorbis
identification headers, but seem to be read incorrectly,
namely as unsigned 32-bit integers, into the vorbis structure
members which are of type long, which makes our check for
values <= 0 fail with files that put -1 in there for unset
values.
2009-06-03 20:42:39 +01:00
Wim Taymans
d1c73bd00f vorbisdec: detect and report errors better
Check the return values of a couple more libvorbis functions and post an error
when something is wrong instead of continuing and crashing.
2009-05-22 17:41:50 +02:00
Sebastian Dröge
c3b28a9bff vorbisenc: Implement Preset interface 2009-05-15 16:27:41 +02:00
Christian Schaller
705e7750c5 Add ranks to the Oggmuxer, Vorbis encoder and Theora encoder 2009-05-12 12:17:55 +01:00
Zaheer Merali
1650272b84 vorbisenc, theoraenc: Ensure gp is computed consistently + clip to segment
With vorbisenc, compute the granulepos with running time and clip incoming
buffers to segment.
With theoraenc, drop out of segment buffers.
2009-05-06 13:19:34 +01:00
Jan Schmidt
d14c80b22e vorbisenc: Ensure output buffers fall within the segment
Add the start position of the first segment to the running time
used to generate buffer timestamps in vorbisenc. This avoids generating
buffers which fall outside the initial segment. The element segment
handling requires more extensive fixing, but this at least prevents
regressions. Fixes: #580020
2009-04-29 16:48:45 +01:00
René Stadler
9f0e053f6e vorbisenc: Set caps on non-header ouput buffers.
Fixes #576142.
2009-03-21 09:47:23 +01:00
Wim Taymans
e863e4ed1b vorbisparse: be smarter when queueing headers
Look at the first buffer byte to see if a buffer is a header instead of counting
packets.
2009-03-13 15:29:29 +01:00
Jan Schmidt
77874292a3 vorbisdec: Avoid an unnecessary memory allocation in vorbiscomment handling. 2009-03-13 11:49:10 +00:00
Sebastian Dröge
dc9a1b945b vorbis: Rename vorbis*.h to gstvorbis*.h to prevent name conflicts 2009-02-24 14:36:39 +01:00
Edward Hervey
a3c1a0507a ext/vorbis/vorbisenc.c: Make vorbisenc's pad template behave like vorbisdec's. Fixes a leak with pad templates.
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_base_init),
(gst_vorbis_enc_init):
Make vorbisenc's pad template behave like vorbisdec's. Fixes a leak with
pad templates.
2008-12-12 07:17:21 +00:00
Wim Taymans
68eb1421af ext/theora/: Copy seqnum.
Original commit message from CVS:
* ext/theora/gsttheoradec.h:
* ext/theora/theoradec.c: (gst_theora_dec_init),
(gst_theora_dec_reset), (theora_dec_src_event),
(theora_dec_sink_event), (theora_handle_type_packet):
Copy seqnum.
Keep events in a pending list, like vorbisdec, instead of trying
to construct a segment event ourselves.
* ext/vorbis/vorbisdec.c: (gst_vorbis_dec_reset),
(vorbis_dec_src_event), (vorbis_dec_sink_event):
* ext/vorbis/vorbisdec.h:
Copy seqnum.
2008-11-04 18:17:24 +00:00
Wim Taymans
d9c2015fe1 ext/vorbis/vorbisdec.c: Attempt to make obfuscated code clearer.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_handle_identification_packet):
Attempt to make obfuscated code clearer.
2008-10-23 09:57:06 +00:00
Stefan Kost
2cd4c7e2b9 Don't install static libs for plugins. Fixes #550851 for base.
Original commit message from CVS:
* ext/alsa/Makefile.am:
* ext/cdparanoia/Makefile.am:
* ext/gio/Makefile.am:
* ext/gnomevfs/Makefile.am:
* ext/libvisual/Makefile.am:
* ext/ogg/Makefile.am:
* ext/pango/Makefile.am:
* ext/theora/Makefile.am:
* ext/vorbis/Makefile.am:
* gst/adder/Makefile.am:
* gst/audioconvert/Makefile.am:
* gst/audiorate/Makefile.am:
* gst/audioresample/Makefile.am:
* gst/audiotestsrc/Makefile.am:
* gst/ffmpegcolorspace/Makefile.am:
* gst/gdp/Makefile.am:
* gst/playback/Makefile.am:
* gst/subparse/Makefile.am:
* gst/tcp/Makefile.am:
* gst/typefind/Makefile.am:
* gst/videorate/Makefile.am:
* gst/videoscale/Makefile.am:
* gst/videotestsrc/Makefile.am:
* gst/volume/Makefile.am:
* sys/v4l/Makefile.am:
* sys/ximage/Makefile.am:
* sys/xvimage/Makefile.am:
Don't install static libs for plugins. Fixes #550851 for base.
2008-10-16 15:07:00 +00:00
Sebastian Dröge
0d43cf2474 ext/vorbis/vorbisenc.c: Fix discontinuity detection which was broken by last commit.
Original commit message from CVS:
* ext/vorbis/vorbisenc.c:
(gst_vorbis_enc_buffer_check_discontinuous):
Fix discontinuity detection which was broken by last commit.
2008-10-10 15:21:38 +00:00
Klaas
93f2eaa98c ext/vorbis/vorbisenc.*: Keep track of the upstream segments and use the running time on that segment instead of the b...
Original commit message from CVS:
Based on a patch by: Klaas <klaas at rivercrew dot net>
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_sink_event),
(gst_vorbis_enc_buffer_check_discontinuous),
(gst_vorbis_enc_chain), (gst_vorbis_enc_change_state):
* ext/vorbis/vorbisenc.h:
Keep track of the upstream segments and use the running time on that
segment instead of the buffer timestamp everywhere. Fixes bug #525807.
2008-10-08 12:08:01 +00:00
Wim Taymans
096e77929f ext/vorbis/vorbisdec.c: Reset variable so that query and convert fail after going back to
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_dec_change_state):
Reset variable so that query and convert fail after going back to
READY. Fixes #548898.
2008-08-22 15:54:15 +00:00
Sebastian Dröge
aea2a11136 ext/vorbis/vorbisenc.c: If a buffer arrives with a timestamp before the timestamp+duration of the previous buffer cli...
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_chain):
If a buffer arrives with a timestamp before the timestamp+duration
of the previous buffer clip it instead of dropping it completely.
Slight improvement for the unfixable bug #548913.
2008-08-22 07:24:13 +00:00
Sebastian Dröge
58584b9b0b ext/vorbis/vorbisdec.c: Take the current timestamp instead of timestamp+duration for the offset.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet):
Take the current timestamp instead of timestamp+duration for the offset.
This offset will later be used for calculating the timestamp and
otherwise vorbisdec will interpolate timestamps wrong if upstream
only sends timestamps and no granulepos.
2008-08-21 14:19:21 +00:00
Stefan Kost
476e95dc28 ext/vorbis/vorbisdec.c: Do not leak old taglist.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c:
Do not leak old taglist.
2008-08-05 15:38:06 +00:00
Stefan Kost
2b33c755b6 Cleanup Plugin docs. Link to signals and properties. Fix sub-section titles. Drop mentining that all our example pipe...
Original commit message from CVS:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-overrides.txt:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* docs/plugins/gst-plugins-base-plugins.args:
* docs/plugins/gst-plugins-base-plugins.hierarchy:
* docs/plugins/gst-plugins-base-plugins.interfaces:
* docs/plugins/gst-plugins-base-plugins.prerequisites:
* docs/plugins/gst-plugins-base-plugins.signals:
* docs/plugins/inspect/plugin-adder.xml:
* docs/plugins/inspect/plugin-alsa.xml:
* docs/plugins/inspect/plugin-audioconvert.xml:
* docs/plugins/inspect/plugin-audiorate.xml:
* docs/plugins/inspect/plugin-audioresample.xml:
* docs/plugins/inspect/plugin-audiotestsrc.xml:
* docs/plugins/inspect/plugin-cdparanoia.xml:
* docs/plugins/inspect/plugin-decodebin.xml:
* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
* docs/plugins/inspect/plugin-gdp.xml:
* docs/plugins/inspect/plugin-gnomevfs.xml:
* docs/plugins/inspect/plugin-libvisual.xml:
* docs/plugins/inspect/plugin-ogg.xml:
* docs/plugins/inspect/plugin-pango.xml:
* docs/plugins/inspect/plugin-playback.xml:
* docs/plugins/inspect/plugin-queue2.xml:
* docs/plugins/inspect/plugin-subparse.xml:
* docs/plugins/inspect/plugin-tcp.xml:
* docs/plugins/inspect/plugin-theora.xml:
* docs/plugins/inspect/plugin-typefindfunctions.xml:
* docs/plugins/inspect/plugin-uridecodebin.xml:
* docs/plugins/inspect/plugin-video4linux.xml:
* docs/plugins/inspect/plugin-videorate.xml:
* docs/plugins/inspect/plugin-videoscale.xml:
* docs/plugins/inspect/plugin-videotestsrc.xml:
* docs/plugins/inspect/plugin-volume.xml:
* docs/plugins/inspect/plugin-vorbis.xml:
* docs/plugins/inspect/plugin-ximagesink.xml:
* docs/plugins/inspect/plugin-xvimagesink.xml:
* ext/alsa/gstalsamixer.c:
* ext/alsa/gstalsasink.c:
* ext/alsa/gstalsasrc.c:
* ext/gio/gstgiosink.c:
* ext/gio/gstgiosrc.c:
* ext/gio/gstgiostreamsink.c:
* ext/gio/gstgiostreamsrc.c:
* ext/gnomevfs/gstgnomevfssink.c:
* ext/gnomevfs/gstgnomevfssrc.c:
* ext/ogg/gstoggdemux.c:
* ext/ogg/gstoggmux.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/theora/theoraparse.c:
* ext/vorbis/vorbisdec.c:
* ext/vorbis/vorbisenc.c:
* ext/vorbis/vorbisparse.c:
* ext/vorbis/vorbistag.c:
* gst/adder/gstadder.c:
* gst/audioconvert/gstaudioconvert.c:
* gst/audioresample/gstaudioresample.c:
* gst/audiotestsrc/gstaudiotestsrc.c:
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
* gst/gdp/gstgdpdepay.c:
* gst/gdp/gstgdppay.c:
* gst/playback/gstdecodebin2.c:
* gst/playback/gstplaybin.c:
* gst/playback/gstplaybin2.c:
* gst/playback/gstqueue2.c:
* gst/playback/gsturidecodebin.c:
* gst/tcp/gstmultifdsink.c:
* gst/tcp/gsttcpserversink.c:
* gst/videorate/gstvideorate.c:
* gst/videoscale/gstvideoscale.c:
* gst/videotestsrc/gstvideotestsrc.c:
* gst/volume/gstvolume.c:
* sys/ximage/ximagesink.c:
* sys/xvimage/xvimagesink.c:
Cleanup Plugin docs. Link to signals and properties. Fix sub-section
titles. Drop mentining that all our example pipelines are "simple"
pipelines.
2008-07-10 21:06:06 +00:00
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
Michael Smith
17d40cbbd1 ext/vorbis/vorbisenc.c: Don't flush encoder state unless we have an initialised encoder.
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_clear),
(gst_vorbisenc_sink_event), (gst_vorbisenc_change_state):
Don't flush encoder state unless we have an initialised encoder.
Clear out encoder state on PAUSED_TO_READY.
2005-09-22 14:35:57 +00:00
Thomas Vander Stichele
82da93b310 check/Makefile.am: have some tests be disabled for valgrinding
Original commit message from CVS:

* check/Makefile.am:
have some tests be disabled for valgrinding
* check/elements/vorbisdec.c: (cleanup_vorbisdec),
(GST_START_TEST):
* ext/vorbis/vorbisdec.c: (vorbisdec_finalize):
Fix A Leak.  Chain To Parent Finalize.
2005-09-19 16:12:09 +00:00
Thomas Vander Stichele
891fb4943a ext/vorbis/vorbisenc.*: Fix EOS handling. Still needs a fix in the ogg muxer to mark the last page as eos somehow.
Original commit message from CVS:
2005-09-15  Thomas Vander Stichele  <thomas at apestaart dot org>

* ext/vorbis/vorbisenc.c: (gst_vorbisenc_init),
(gst_vorbisenc_sink_event), (gst_vorbisenc_chain),
(gst_vorbisenc_output_buffers), (gst_vorbisenc_change_state):
* ext/vorbis/vorbisenc.h:
Fix EOS handling.  Still needs a fix in the ogg muxer to
mark the last page as eos somehow.
2005-09-15 19:59:50 +00:00
Thomas Vander Stichele
70a7708a8b pick up signals and args for vorbis; add some docs for vorbis
Original commit message from CVS:

* common/gtk-doc-plugins.mak:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* ext/theora/Makefile.am:
* ext/theora/gsttheoraenc.h:
* ext/theora/theoraenc.c:
* ext/vorbis/vorbisenc.c:
pick up signals and args for vorbis; add some docs for vorbis
2005-09-15 15:28:36 +00:00
Stefan Kost
896950ce84 gsttaginterface.h -> gsttagsetter.h
Original commit message from CVS:
* ext/vorbis/vorbisenc.c:
* gst-libs/gst/tag/gstvorbistag.c:
gsttaginterface.h -> gsttagsetter.h
2005-09-07 13:55:08 +00:00
Michael Smith
f62e81ca11 Extend the range supported for quality settings in vorbisenc to the full range supported by libvorbis.
Original commit message from CVS:
Extend the range supported for quality settings in vorbisenc to the full
range supported by libvorbis.
2005-09-05 11:21:49 +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
Andy Wingo
9fbb72f41d ext/vorbis/vorbisdec.c (vorbis_dec_convert, vorbis_dec_push)
Original commit message from CVS:
2005-08-29  Andy Wingo  <wingo@pobox.com>

* ext/vorbis/vorbisdec.c (vorbis_dec_convert, vorbis_dec_push)
(vorbis_handle_data_packet): Fix some int overflow errors.
2005-08-29 16:15:04 +00:00
Andy Wingo
c32721723b Updates for two-arg init from GST_BOILERPLATE_FULL.
Original commit message from CVS:
2005-08-28  Andy Wingo  <wingo@pobox.com>

* Updates for two-arg init from GST_BOILERPLATE_FULL.
2005-08-28 17:52:45 +00:00
Jan Schmidt
538eabd559 ext/: Big shout-out to MikeS for fixing this giant memory leak.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_dispose):
* ext/vorbis/vorbisdec.c: (gst_vorbis_dec_class_init),
(vorbisdec_finalize), (vorbis_handle_type_packet):
Big shout-out to MikeS for fixing this giant memory leak.
Huzzah!
2005-08-26 10:50:56 +00:00
Wim Taymans
963941df57 ext/vorbis/vorbisenc.c: Stop leaking taglists.
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_init),
(gst_vorbisenc_change_state):
Stop leaking taglists.
2005-08-24 21:03:32 +00:00
Wim Taymans
7824216cef ext/ogg/gstoggdemux.c: Parse seeking events better.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_src_query),
(gst_ogg_pad_event), (gst_ogg_demux_factory_filter),
(gst_ogg_pad_submit_packet), (gst_ogg_chain_new),
(gst_ogg_demux_init), (gst_ogg_demux_perform_seek),
(gst_ogg_demux_collect_chain_info), (gst_ogg_demux_collect_info),
(gst_ogg_demux_chain), (gst_ogg_demux_loop), (gst_ogg_print):
Parse seeking events better.
Unref static caps.
Generate correct newsegment events, fixes seeking in live oggs.

* ext/theora/theoradec.c: (theora_dec_src_query),
(theora_dec_src_event), (theora_dec_src_getcaps),
(theora_dec_sink_event), (theora_dec_push), (theora_dec_chain):
Use newsegment values to report correct play time.

* ext/vorbis/vorbisdec.c: (vorbis_dec_src_query),
(vorbis_dec_src_event), (vorbis_dec_sink_event):
* ext/vorbis/vorbisdec.h:
Parse and use newsegment values to report correct play time.

* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_event), (gst_base_audio_sink_render):
Clear ringbuffer on flush.
Use newsegment values to calculate playback time.

* sys/ximage/ximagesink.c: (gst_ximagesink_get_times):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_times):
Basesink does newsegment calculations for us now.
2005-08-24 18:04:45 +00:00
Thomas Vander Stichele
2789040516 use the setup/teardown methods to save code. save code is good.
Original commit message from CVS:
use the setup/teardown methods to save code.  save code is good.
2005-08-21 10:43:45 +00:00
Thomas Vander Stichele
585493a9dd yay, fix a segfault/security issue in vorbisdec gst-launch fakesrc ! vorbisdec wasn't happy add a test for vorbisdec
Original commit message from CVS:
yay, fix a segfault/security issue in vorbisdec
gst-launch fakesrc ! vorbisdec wasn't happy
add a test for vorbisdec
2005-08-20 20:40:25 +00:00
Tim-Philipp Müller
7679fe45fb ext/vorbis/vorbisdec.c: Fix confusing debug message (s/event/query/)
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_dec_src_query):
Fix confusing debug message (s/event/query/)
2005-07-28 19:21:19 +00:00
Wim Taymans
cd1ced0f2b ext/vorbis/Makefile.am: Revert wrong commit.
Original commit message from CVS:
* ext/vorbis/Makefile.am:
Revert wrong commit.
2005-07-27 19:19:20 +00:00
Wim Taymans
ee8ed3a89d examples/seeking/seek.c: Update seek example.
Original commit message from CVS:
* examples/seeking/seek.c: (setup_dynamic_link),
(make_dv_pipeline), (make_vorbis_theora_pipeline), (query_rates),
(query_positions_elems), (query_positions_pads), (do_seek):
Update seek example.

* ext/ogg/gstoggdemux.c: (gst_ogg_pad_event),
(gst_ogg_pad_typefind), (gst_ogg_demux_chain_elem_pad),
(gst_ogg_demux_queue_data), (gst_ogg_demux_chain_peer),
(gst_ogg_pad_submit_packet), (gst_ogg_pad_submit_page),
(gst_ogg_demux_handle_event),
(gst_ogg_demux_deactivate_current_chain),
(gst_ogg_demux_activate_chain), (gst_ogg_demux_perform_seek),
(gst_ogg_demux_collect_chain_info), (gst_ogg_demux_collect_info),
(gst_ogg_demux_chain), (gst_ogg_demux_send_event),
(gst_ogg_demux_loop):
* ext/ogg/gstoggmux.c: (gst_ogg_mux_collected):
* ext/theora/theoradec.c: (theora_dec_src_event),
(theora_dec_src_getcaps), (theora_dec_sink_event),
(theora_dec_push), (theora_dec_chain):
* ext/vorbis/Makefile.am:
* ext/vorbis/vorbisdec.c: (vorbis_dec_src_event),
(vorbis_dec_sink_event), (vorbis_dec_push),
(vorbis_handle_data_packet):
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_sink_event),
(gst_vorbisenc_chain):
* gst/playback/gststreaminfo.c: (cb_probe):
* gst/subparse/gstsubparse.c: (gst_subparse_src_event):
* gst/videorate/gstvideorate.c: (gst_videorate_event):
* gst/videoscale/gstvideoscale.c:
(gst_videoscale_handle_src_event):
* gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_event):
* sys/ximage/ximagesink.c: (gst_ximagesink_show_frame),
(gst_ximagesink_navigation_send_event):
* sys/xvimage/xvimagesink.c:
(gst_xvimagesink_navigation_send_event):
Various event updates and cleanups
2005-07-27 18:34:29 +00:00