Commit graph

243 commits

Author SHA1 Message Date
Ronald S. Bultje
607b2e45bf ext/: Seeking and querying finetune.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_query),
(gst_ogg_demux_src_event), (gst_ogg_pad_push):
* ext/theora/theoradec.c: (theora_dec_sink_convert),
(theora_dec_chain):
* ext/vorbis/vorbisdec.c: (vorbis_dec_get_formats),
(gst_vorbis_dec_init), (vorbis_dec_convert), (vorbis_dec_chain):
Seeking and querying finetune.
2004-10-20 16:24:18 +00:00
Ronald S. Bultje
f5c1757f50 ext/ogg/gstoggdemux.c: Wrong return.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_iterate):
Wrong return.
* gst/playback/Makefile.am:
* gst/playback/gstdecodebin.c: (gst_decode_bin_class_init):
* gst/playback/gstplay-marshal.list:
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init):
Fix marshallers.
2004-10-20 12:02:20 +00:00
Ronald S. Bultje
c59ee76ad8 ext/ogg/gstoggdemux.c: Silence.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_event):
Silence.
2004-10-18 19:29:11 +00:00
Ronald S. Bultje
200b4b14e2 ext/ogg/gstoggdemux.c: Yay for non-lineair granulepos in theora.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_query),
(gst_ogg_demux_src_event), (gst_ogg_pad_populate),
(gst_ogg_pad_push):
Yay for non-lineair granulepos in theora.
2004-10-18 19:12:32 +00:00
Ronald S. Bultje
d38dcfaaab ext/ogg/gstoggdemux.c: Start at zero.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_query),
(gst_ogg_demux_src_event), (gst_ogg_pad_push):
Start at zero.
* ext/theora/theoradec.c: (theora_dec_chain):
Skip headers. Bad idea for chained ogg, but fixes seeking.
2004-10-18 15:49:00 +00:00
Ronald S. Bultje
b5ce9ade82 ext/ogg/gstoggdemux.c: Faster seeking.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_query),
(gst_ogg_demux_src_event), (gst_ogg_pad_populate),
(_read_bos_process), (gst_ogg_demux_iterate), (gst_ogg_pad_new):
Faster seeking.
* ext/theora/theoradec.c: (theora_dec_sink_convert):
Time-to-default conversion.
* ext/vorbis/vorbisdec.c: (vorbis_dec_chain):
Don't error on unknown packets, just skip. We should probably
read them if we want to support chained ogg.
2004-10-18 15:23:41 +00:00
Wim Taymans
3cffc4f227 ext/ogg/gstoggdemux.c: Really do nothing when no data is available.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_iterate):
Really do nothing when no data is available.
Go to the playing state when the stream is not seekable
instead of failing.
2004-10-18 13:52:15 +00:00
Wim Taymans
630cdffa7d ext/ogg/: Fix the case where the muxer would mark pages as delta frames when they are not (vorbis only ogg).
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_push):
* ext/ogg/gstoggmux.c: (gst_ogg_mux_next_buffer),
(gst_ogg_mux_send_headers), (gst_ogg_mux_loop):
Fix the case where the muxer would mark pages as delta
frames when they are not (vorbis only ogg).
2004-09-15 15:37:36 +00:00
Ronald S. Bultje
b709c6844b ext/alsa/gstalsamixer.c: Update mixer (to sync with other sessions) if we try to obtain a new value. This makes alsam...
Original commit message from CVS:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_update),
(gst_alsa_mixer_get_volume), (gst_alsa_mixer_set_volume),
(gst_alsa_mixer_set_mute), (gst_alsa_mixer_set_record),
(gst_alsa_mixer_set_option), (gst_alsa_mixer_get_option):
Update mixer (to sync with other sessions) if we try to obtain
a new value. This makes alsamixer work accross applications.
* ext/alsa/gstalsasink.c: (gst_alsa_sink_get_time):
Only call sync functions if we're running, else alsalib asserts.
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_query):
Sometimes fails to compile. Possibly a gcc bug.
* gst/playback/gstplaybin.c: (gen_video_element),
(gen_audio_element):
Add a reference to an application-provided object, because we lose
this same reference if we add it to the bin. If we don't do this,
we can only use this object once and thus crash if we go from
ready to playing, back to ready and back to playing again.
Also add an audioscale element because several cheap soundcards -
like mine - don't support all samplerates.
* sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get),
(gst_ximagesink_xcontext_clear), (gst_ximagesink_change_state):
Fix wrong order or PAR calls. Makes automatically obtained PAR
from the X server atually being used.
2004-09-13 09:24:00 +00:00
Wim Taymans
202a0de690 ext/ogg/: Mark delta units in the muxer.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_iterate),
(gst_ogg_pad_push):
* ext/ogg/gstoggmux.c: (gst_ogg_mux_init),
(gst_ogg_mux_request_new_pad), (gst_ogg_mux_next_buffer),
(gst_ogg_mux_buffer_from_page), (gst_ogg_mux_push_page),
(gst_ogg_mux_send_headers), (gst_ogg_mux_loop):
Mark delta units in the muxer.
Try to decode the packet after an out-of-sync error from
libogg.
2004-08-17 10:40:50 +00:00
Benjamin Otte
1786973790 compile fixes for --disable-gst-debug, G_DISABLE_ASSERT and friends
Original commit message from CVS:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_get_volume),
(gst_alsa_mixer_set_volume), (gst_alsa_mixer_set_mute),
(gst_alsa_mixer_set_record), (gst_alsa_mixer_set_option),
(gst_alsa_mixer_get_option):
* ext/dvdnav/dvdnavsrc.c: (dvdnav_get_event_name),
(dvdnavsrc_print_event):
* ext/ogg/gstoggdemux.c: (_find_chain_process), (gst_ogg_print):
* ext/ogg/gstoggmux.c: (gst_ogg_mux_pad_link),
(gst_ogg_mux_pad_unlink):
* gst/multipart/multipartmux.c: (gst_multipart_mux_pad_link),
(gst_multipart_mux_pad_unlink):
* gst/videofilter/gstvideobalance.c:
(gst_videobalance_colorbalance_set_value):
* gst/videomixer/videomixer.c: (gst_videomixer_pad_link),
(gst_videomixer_pad_unlink):
* po/uk.po:
* sys/oss/gstossmixer.c:
* sys/v4l/gstv4lcolorbalance.c:
* sys/v4l/gstv4ltuner.c:
* sys/v4l/v4lsrc_calls.c:
* sys/v4l2/gstv4l2colorbalance.c:
* sys/v4l2/gstv4l2tuner.c:
compile fixes for --disable-gst-debug, G_DISABLE_ASSERT and friends
2004-08-03 16:06:08 +00:00
Wim Taymans
59dddefe29 ext/ogg/gstoggdemux.c: Return query failure when we don't know the length of an ogg stream insteda of returning TRUE ...
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_query),
(gst_ogg_demux_push):
Return query failure when we don't know the length of
an ogg stream insteda of returning TRUE with a bogus value.
2004-07-28 15:40:38 +00:00
Wim Taymans
8d9d369e83 ext/: More seeking fixes, oggdemux now supports seeking to time and uses the downstream element to convert granulepos...
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_init),
(gst_ogg_demux_get_formats), (gst_ogg_demux_src_query),
(gst_ogg_demux_src_event), (gst_ogg_demux_src_convert),
(gst_ogg_demux_handle_event), (gst_ogg_demux_seek_before),
(_find_chain_get_unknown_part), (_find_streams_check),
(gst_ogg_demux_push), (gst_ogg_pad_push):
* ext/theora/theoradec.c: (theora_get_formats),
(theora_dec_src_convert), (theora_dec_sink_convert),
(theora_dec_src_query), (theora_dec_src_event), (theora_dec_event),
(theora_dec_chain):
* ext/vorbis/vorbisdec.c: (vorbis_dec_get_formats),
(vorbis_dec_convert), (vorbis_dec_src_query),
(vorbis_dec_src_event), (vorbis_dec_event):
More seeking fixes, oggdemux now supports seeking to time and
uses the downstream element to convert granulepos to time.
Seeking in theora-only ogg files now works.
2004-07-21 16:48:20 +00:00
Wim Taymans
38b4dce1fc ext/ogg/gstoggdemux.c: When trying to find the stream length, seek back N pages instead of just one, where N is the n...
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_seek_before):
When trying to find the stream length, seek back N pages
instead of just one, where N is the number of streams in
the current chain.
2004-07-13 10:38:25 +00:00
Thomas Vander Stichele
c750d9bd49 don't assert in state change
Original commit message from CVS:
don't assert in state change
2004-07-09 10:56:51 +00:00
Benjamin Otte
248ccb0469 ext/ogg/gstogg.c: we require bytestream now
Original commit message from CVS:
* ext/ogg/gstogg.c: (plugin_init):
we require bytestream now
* ext/ogg/gstoggdemux.c:
huge diff to implement chain setup in a fast and generic way. This
improves tag reading and startup of huge files (read: Theora videos)
quite a bit. It probably contains bugs, too, so please test.
Seeking is not improved to the fast method.
2004-07-02 03:41:22 +00:00
Wim Taymans
2917844f09 ext/ogg/: Fix memleak in oggdemux when running unconnected pads. doc update in mux, start working on keyframe mode.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_push):
* ext/ogg/gstoggmux.c:
Fix memleak in oggdemux when running unconnected pads.
doc update in mux, start working on keyframe mode.
2004-06-29 15:25:10 +00:00
Stéphane Loeuillet
f335187a9e second batch : remove ',' at end of enums as they could confuse older gcc, foreign compilers (forte) and gtk-doc (in ...
Original commit message from CVS:
second batch :
remove ',' at end of enums as they could confuse older gcc, foreign compilers (forte) and gtk-doc
(in gst-plugins/ext/ this time)
2004-05-21 23:28:57 +00:00
Benjamin Otte
e0eac30131 ext/ogg/gstoggdemux.c: signal no-more-pads
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_push):
signal no-more-pads
2004-05-13 16:07:16 +00:00
Wim Taymans
a694bd08f9 ext/ogg/: Added an ogg muxer.
Original commit message from CVS:
* ext/ogg/gstogg.c: (plugin_init):
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_plugin_init),
(gst_ogg_print):
* ext/ogg/gstoggmux.c: (gst_ogg_mux_get_type),
(gst_ogg_mux_base_init), (gst_ogg_mux_class_init),
(gst_ogg_mux_get_sink_event_masks), (gst_ogg_mux_init),
(gst_ogg_mux_sinkconnect), (gst_ogg_mux_pad_link),
(gst_ogg_mux_pad_unlink), (gst_ogg_mux_request_new_pad),
(gst_ogg_mux_handle_src_event), (gst_ogg_mux_next_buffer),
(gst_ogg_mux_push_page), (gst_ogg_mux_compare_pads),
(gst_ogg_mux_queue_pads), (gst_ogg_mux_loop),
(gst_ogg_mux_get_property), (gst_ogg_mux_set_property),
(gst_ogg_mux_change_state), (gst_ogg_mux_plugin_init):
Added an ogg muxer.
Small typo fixes in the demuxer.
2004-05-10 13:34:57 +00:00
Benjamin Otte
f49d8faa28 ext/alsa/gstalsa.c: handle case better where a soundcard can't pause
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_change_state),
(gst_alsa_close_audio):
handle case better where a soundcard can't pause
* ext/ogg/gstoggdemux.c:
don't crash when we get events but don't have pads yet
2004-04-01 16:34:14 +00:00
Benjamin Otte
a2ade2eac3 ext/ogg/gstoggdemux.c: terminate gst_event_new_discontinuous correctly (fixes parts of #137711)
Original commit message from CVS:
reviewed by: Benjamin Otte  <otte@gnome.org>
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_push):
terminate gst_event_new_discontinuous correctly (fixes parts of
#137711)
2004-03-20 01:24:46 +00:00
Thomas Vander Stichele
f83cb187de don't mix tabs and spaces
Original commit message from CVS:
don't mix tabs and spaces
2004-03-15 19:32:28 +00:00
Thomas Vander Stichele
4df3f18839 gst-indent
Original commit message from CVS:
gst-indent
2004-03-14 22:34:34 +00:00
Thomas Vander Stichele
d271b36641 signal serial
Original commit message from CVS:
signal serial
2004-03-06 17:31:59 +00:00
Benjamin Otte
170e28dce7 ext/ogg/gstoggdemux.c: make sure to handle the case where there's no current chain gracefully.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_get_pad_by_pad),
(gst_ogg_demux_src_query):
make sure to handle the case where there's no current chain
gracefully.
2004-03-06 11:18:28 +00:00
Benjamin Otte
a43a79b7b2 ext/mikmod/gstmikmod.*: fix caps negotiation in mikmod
Original commit message from CVS:
2004-02-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* ext/mikmod/gstmikmod.c: (gst_mikmod_init),
(gst_mikmod_srcfixate), (gst_mikmod_srclink), (gst_mikmod_loop):
* ext/mikmod/gstmikmod.h:
fix caps negotiation in mikmod
* ext/ogg/gstoggdemux.c: (gst_ogg_print):
output debug information
2004-02-10 08:37:50 +00:00
David Schleef
1da9222a88 ext/ogg/gstoggdemux.c: Don't push events to pads that haven't been created (#133508)
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_handle_event): Don't
push events to pads that haven't been created (#133508)
2004-02-08 02:17:14 +00:00
Benjamin Otte
56b6088c46 ext/ogg/gstoggdemux.c: handle chain parsing correctly in the multichain case
Original commit message from CVS:
2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain):
handle chain parsing correctly in the multichain case
* ext/theora/theoradec.c: (gst_theora_dec_init), (_theora_ilog),
(theora_dec_from_granulepos), (theora_dec_to_granulepos),
(theora_dec_src_query), (theora_dec_src_event), (theora_dec_event),
(theora_dec_chain):
handle events and queries correctly
2004-02-03 16:15:16 +00:00
Thomas Vander Stichele
8336c47f0c change NULL to (NULL) for GST_ELEMENT_ERROR
Original commit message from CVS:
change NULL to (NULL) for GST_ELEMENT_ERROR
Make sure errors end with "."
2004-02-02 17:23:33 +00:00
Benjamin Otte
1646d10b87 ext/alsa/gstalsa.c: really start/stop clock only on PLAYING <=> PAUSED
Original commit message from CVS:
2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* ext/alsa/gstalsa.c: (gst_alsa_change_state), (gst_alsa_start),
(gst_alsa_drain_audio), (gst_alsa_stop_audio):
really start/stop clock only on PLAYING <=> PAUSED
* ext/alsa/gstalsasink.c: (gst_alsa_sink_loop):
remove \n from debugging lines
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain):
make it work when seeking does not
* ext/vorbis/vorbisdec.c: (vorbis_dec_event):
reset on DISCONT
2004-01-31 20:57:21 +00:00
Benjamin Otte
a61dceb24d ext/alsa/gstalsa.c: start clock on PAUSED=>PLAYING, not later
Original commit message from CVS:
2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* ext/alsa/gstalsa.c: (gst_alsa_change_state), (gst_alsa_start):
start clock on PAUSED=>PLAYING, not later
* ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event):
extract correct time for different discont formats
(gst_alsa_sink_get_time):
don't segfault when no format is negotiated yet, just return 0
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_event),
(gst_ogg_demux_handle_event), (gst_ogg_demux_push),
(gst_ogg_pad_push):
handle flush and discont events correctly
* ext/vorbis/vorbisdec.c: (vorbis_dec_event), (vorbis_dec_chain):
handle discont events correctly
2004-01-31 17:19:21 +00:00
Thomas Vander Stichele
7c8b3023bb add debug info flush after seek (julien)
Original commit message from CVS:
add debug info
flush after seek (julien)
2004-01-30 20:57:41 +00:00
Benjamin Otte
ef502795dc ext/ffmpeg/gstffmpegcodecmap.c: removee video/x-theora from vp3 decoder, it doesn't handle raw theora streams
Original commit message from CVS:
2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps):
removee video/x-theora from vp3 decoder, it doesn't handle raw
theora streams
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_init):
fix bug with finalizing element that never went to PAUSED
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_query):
length and position queries were swapped
* ext/vorbis/vorbisdec.c: (gst_vorbis_dec_init),
(vorbis_dec_from_granulepos), (vorbis_dec_src_query),
(vorbis_dec_src_event):
implement querying time and bytes
2004-01-30 03:51:04 +00:00
Thomas Vander Stichele
03caa97b73 GST_ELEMENT_ERROR
Original commit message from CVS:
GST_ELEMENT_ERROR
2004-01-29 23:20:45 +00:00
Benjamin Otte
b660e15f8d ext/ogg/gstoggdemux.c: lots of changes - mainly support for chained bitstreams, seeking, querying and bugfixes of course
Original commit message from CVS:
2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* ext/ogg/gstoggdemux.c:
lots of changes - mainly support for chained bitstreams, seeking,
querying and bugfixes of course
* ext/vorbis/Makefile.am:
* ext/vorbis/vorbisdec.c:
* ext/vorbis/vorbisdec.h:
add vorbisdec raw vorbis decoder
* ext/vorbis/vorbis.c: (plugin_init):
register vorbisdec as PRIMARY, vorbisfile as SECONDARY
* gst/intfloat/Makefile.am:
* gst/intfloat/float22int.c:
* gst/intfloat/float22int.h:
* gst/intfloat/gstintfloatconvert.c: (plugin_init):
add float2intnew plugin. It converts multichannel interleaved float to
multichannel interleaved int. The name should probably be changed.
* gst/typefind/gsttypefindfunctions.c: (theora_type_find),
(plugin_init):
add typefinding for raw theora video so oggdemux can detect it.
2004-01-29 02:50:20 +00:00
Ronald S. Bultje
fec321f575 ext/ogg/gstoggdemux.c: Fix wrong file comment.
Original commit message from CVS:
2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* ext/ogg/gstoggdemux.c:
Fix wrong file comment.
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_info):
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_header):
Add metadata reading properly.
2004-01-23 13:22:17 +00:00
Thomas Vander Stichele
b95a710d41 use new error signal and classification
Original commit message from CVS:
use new error signal and classification
2004-01-18 21:46:58 +00:00
David Schleef
7ccfa2dac7 Convert elements to use gst_pad_use_explicit_caps() where appropriate.
Original commit message from CVS:
Convert elements to use gst_pad_use_explicit_caps() where appropriate.
2004-01-02 07:09:22 +00:00
David Schleef
3b60021408 Merge CAPS branch
Original commit message from CVS:
Merge CAPS branch
2003-12-22 01:47:09 +00:00
Ronald S. Bultje
399c38e398 gcc-2.95 nitpicking - thanks Scott Wheeler
Original commit message from CVS:
gcc-2.95 nitpicking - thanks Scott Wheeler
2003-12-07 22:45:23 +00:00
Andy Wingo
80fece4f4b remove copyright field from plugins
Original commit message from CVS:
remove copyright field from plugins
2003-12-04 10:37:39 +00:00
Benjamin Otte
788acc4917 tagging stuff and build fixes. In detail:
Original commit message from CVS:
tagging stuff and build fixes. In detail:
- make gdk-pixbuf loader work when distchecking
- fix invalid syntax in ffmpeg Makefile. wildcards for EXTRA_DIST are not allowed. This broke builds where distdir != srcdir
- fix ffmpeg cvs grabbing when srcdir != distdir
- new id3tag plugin for id3 tag reading/writing (uses mad's libid3tag)
- mad and libid3tag require mad/libid3tag v0.15. Fixed configure to require that
- added ogg demuxer in ext/ogg. The demuxer does not handle events yet. Especially getting seeking right will require some effort or code copying from libvorbis.
- added raw vorbis detection to typefinding. oggdemux requires a typefind function to detect its contents.
- tags plugin in gst/tags. Provides API in <gst/tags/gsttagediting.h>. API includes tag matching GStreamer <=> ID3 and GStreamer <=> vorbis and writing/reading vorbiscomments or ID3v1 tags. Also included is a simple vorbiscomment reader/writer. Writing will not really work though until someone writes oggmux.
- various build fixes. Mostly missing (DIST)CLEANFILES.
- vorbisenc handles tag writing.

Now it's YOUR turn to fix and write more plugins that handle writing/reading of tags. :)
2003-11-24 04:08:48 +00:00