Commit graph

120 commits

Author SHA1 Message Date
Benjamin Otte
f4bbdba991 ext/alsa/gstalsa.c: disable some of the debugging code for now. Writing debugging to a buffer is broken in current al...
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_open_audio),
(gst_alsa_sw_params_dump), (gst_alsa_hw_params_dump),
(gst_alsa_close_audio):
disable some of the debugging code for now. Writing debugging to a
buffer is broken in current alsalib releases.
2004-07-15 20:32:41 +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
Thomas Vander Stichele
253c4e7267 ext/alsa/: - add debugging info
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_drain_audio):
* ext/alsa/gstalsasink.c: (gst_alsa_sink_flush_one_pad),
(gst_alsa_sink_check_event), (gst_alsa_sink_mmap),
(gst_alsa_sink_write), (gst_alsa_sink_loop):
* ext/alsa/gstalsasink.h:
- add debugging info
- clean up schizophrenia of data/buffer/event
- fix double event unref error
2004-07-08 13:40:37 +00:00
Benjamin Otte
1ca7052a58 ext/alsa/gstalsa.c: only restart audio when we indeed have an xrun to fix repeated xruns. Fix suggested by Giuliano P...
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_xrun_recovery):
only restart audio when we indeed have an xrun to fix repeated
xruns. Fix suggested by Giuliano Pochini.
2004-07-04 16:02:16 +00:00
Benjamin Otte
9b249a2467 ext/alsa/gstalsa.c: use our own functions for restarting the alsa device.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_xrun_recovery):
use our own functions for restarting the alsa device.
* ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event):
I should apply patches myself - use MIN for the third argument, not
the second, this fixes seeking
2004-07-03 12:48:30 +00:00
Wim Taymans
1bb09c4352 ext/alsa/: Use alsa trigger_tstamp to get the timestamp of the first sample in the buffer for more precise sync. Some...
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_start), (gst_alsa_xrun_recovery):
* ext/alsa/gstalsa.h:
* ext/alsa/gstalsasrc.c: (gst_alsa_src_init),
(gst_alsa_src_update_avail), (gst_alsa_src_loop):
Use alsa trigger_tstamp to get the timestamp of the first
sample in the buffer for more precise sync. Some cleanups.
2004-06-24 12:53:17 +00:00
Wim Taymans
e56c174f8d ext/alsa/: Add clock to alsasrc. Take new capture timestamp when restarting after an overrun. Split up some functions...
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_change_state), (gst_alsa_start),
(gst_alsa_xrun_recovery):
* ext/alsa/gstalsa.h:
* ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event),
(gst_alsa_sink_loop), (gst_alsa_sink_get_time):
* ext/alsa/gstalsasrc.c: (gst_alsa_src_init),
(gst_alsa_src_get_time), (gst_alsa_src_update_avail),
(gst_alsa_src_loop):
Add clock to alsasrc. Take new capture timestamp when
restarting after an overrun. Split up some functions between
alsasrc ans alsasink.
2004-06-23 18:08:26 +00:00
Thomas Vander Stichele
96c2a15318 merge back from release
Original commit message from CVS:
merge back from release
2004-06-23 16:57:16 +00:00
Wim Taymans
148c90439a ext/alsa/: Cleanups, take queued samples into account when reporting the time.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_get_time), (gst_alsa_clock_update),
(gst_alsa_change_state), (gst_alsa_update_avail),
(gst_alsa_xrun_recovery):
* ext/alsa/gstalsa.h:
* ext/alsa/gstalsasrc.c: (gst_alsa_src_loop):
Cleanups, take queued samples into account when reporting
the time.
2004-06-22 12:01:33 +00:00
Wim Taymans
a48818210d ext/alsa/: Make the xrun code timestamp and offset the buffers correctly. moved the clock to the base class, use alsa...
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_init), (gst_alsa_dispose),
(gst_alsa_get_time), (gst_alsa_xrun_recovery):
* ext/alsa/gstalsa.h:
* ext/alsa/gstalsaclock.c: (gst_alsa_clock_get_type):
* ext/alsa/gstalsasrc.c: (gst_alsa_src_init), (gst_alsa_src_loop),
(gst_alsa_src_change_state):
* ext/alsa/gstalsasrc.h:
Make the xrun code timestamp and offset the buffers correctly.
moved the clock to the base class, use alsa methods to get time.
Do correct timestamping on outgoing buffers.
2004-06-17 14:10:21 +00:00
Christophe Fergeau
0c022b2b33 ext/alsa/gstalsa.c: Use snd_pcm_hw_params_set_rate _near instead of snd_pcm_hw_params_set_rate since the latter fail...
Original commit message from CVS:
2004-06-14  Benjamin Otte  <otte@gnome.org>

* ext/alsa/gstalsa.c: Use snd_pcm_hw_params_set_rate _near instead of
snd_pcm_hw_params_set_rate  since the latter fails for no good
reason on some setups.<
2004-06-14 20:30:36 +00:00
Benjamin Otte
851ad864d0 ext/alsa/gstalsa.c: handle min <= max correctly
Original commit message from CVS:
* ext/alsa/gstalsa.c: (add_channels):
handle min <= max correctly
* ext/alsa/gstalsa.c: (gst_alsa_fixate_to_mimetype),
(gst_alsa_fixate_field_nearest_int), (gst_alsa_fixate):
add fixation functions so we fixate correctly. No preferring of alaw
anymore because it's the first structure.
* ext/alsa/gstalsa.h:
* ext/alsa/gstalsa.c: (gst_alsa_sw_params_dump),
(gst_alsa_hw_params_dump):
add functions to ease debugging in alsalib
* ext/alsa/gstalsa.c: (gst_alsa_probe_hw_params),
(gst_alsa_set_hw_params), (gst_alsa_set_sw_params),
(gst_alsa_start_audio):
only specify hw params if we really setup a format (fixes #134007 -
or at least works around it)
2004-06-09 17:06:40 +00:00
Benjamin Otte
b0d718fcc3 ext/alsa/gstalsa.c: cast to GstClockTime to get higher granularity
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_samples_to_timestamp):
cast to GstClockTime to get higher granularity
* ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event):
use gst_element_set_time_delay to get the exact time
* ext/mad/gstmad.c: (gst_mad_chain):
use the negotiated rate instead of the current frame's rate which
might be wrong because of bit errors. This avoids emitting totally
bogus timestamps and screwing sync.
(fixes #143454)
2004-06-07 01:41:37 +00:00
Benjamin Otte
f157024ae8 ext/alsa/gstalsa.c: - don't call set_periods_integer anymore, it breaks the configuration randomly
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_probe_hw_params),
(gst_alsa_set_hw_params), (gst_alsa_set_sw_params),
(gst_alsa_start_audio):
- don't call set_periods_integer anymore, it breaks the
configuration randomly
- call snd_pcm_hw_params_set_access directly instead of using masks
- don't fail if the sw_params can't be set, just use the default
params and hope it works. Alsalib has weird issues when you touch
sw_params and does no proper error reporting about what failed.
* ext/alsa/gstalsa.c: (gst_alsa_open_audio),
(gst_alsa_close_audio):
make our alsa debugging go via gst debugging and not conditionally
defined
* ext/alsa/gstalsa.h:
add ALSA_DEBUG_FLUSH macro
* ext/alsa/gstalsaplugin.c: (gst_alsa_error_wrapper),
(plugin_init):
wrap alsa errors to be printed via the gst debugging system and not
spammed to stderr
2004-06-06 17:26:54 +00:00
Thomas Vander Stichele
4c039c6dc7 improve _open error messages
Original commit message from CVS:
improve _open error messages
2004-06-01 15:14:09 +00:00
Benjamin Otte
534c0cbca6 ext/alsa/gstalsa.c: simplify caps
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_caps), (gst_alsa_get_caps):
simplify caps
2004-05-16 16:41:15 +00:00
Ronald S. Bultje
94d9342dc9 ext/alsa/: Fix alsa oddness in mixer after the combination of using mixer in source/sink elements and using hw:x,y in...
Original commit message from CVS:
* ext/alsa/gstalsa.c: (device_list),
(gst_alsa_class_probe_devices):
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_open):
Fix alsa oddness in mixer after the combination of using mixer
in source/sink elements and using hw:x,y instead of just hw:x.
2004-05-09 00:30:06 +00:00
Stéphane Loeuillet
a8192d32b3 change alsa pcm device discovery to find more than 1 device per card.
Original commit message from CVS:
change alsa pcm device discovery to find more than 1 device per card.
code review by Ronald.
2004-04-30 01:20:54 +00:00
Ronald S. Bultje
df0008971f ext/alsa/gstalsa.c: Don't probe for playback device if we're a source element. Fixes #139658.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_class_probe_devices):
Don't probe for playback device if we're a source element. Fixes
#139658.
2004-04-29 00:40:14 +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
David Schleef
8f34965681 ext/alsa/gstalsa.c: Don't fixate fields that aren't in the caps.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_fixate): Don't fixate fields that
aren't in the caps.
* gst/sine/gstsinesrc.c: change rate caps to [1,MAX]
* gst/videocrop/gstvideocrop.c: (plugin_init): Change rank to NONE.
2004-03-30 06:51:31 +00:00
Benjamin Otte
cb6dd8dbed ext/alsa/gstalsa.*: debugging output fixes
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_open_audio),
(gst_alsa_probe_hw_params):
* ext/alsa/gstalsa.h:
debugging output fixes
2004-03-24 18:48:55 +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
Ronald S. Bultje
e291418a8a ext/alsa/: Don't open the device if we're a mixer (= padless).
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_get_property),
(gst_alsa_open_audio), (gst_alsa_close_audio):
* ext/alsa/gstalsa.c:
Don't open the device if we're a mixer (= padless).
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_class_init),
(gst_alsa_mixer_init), (gst_alsa_mixer_open),
(gst_alsa_mixer_close), (gst_alsa_mixer_change_state):
Open mixer during state change rather than during object
initialization. Also, get a device name. Currently in a somewhat
hackish fashion, but I didn't really find something better.
2004-03-15 06:34:44 +00:00
Thomas Vander Stichele
4df3f18839 gst-indent
Original commit message from CVS:
gst-indent
2004-03-14 22:34:34 +00:00
Jan Schmidt
578c7544fc Only close the device on probe if it succeeded in opening it.
Original commit message from CVS:
Only close the device on probe if it succeeded in opening it.
2004-03-13 06:47:25 +00:00
Ronald S. Bultje
f71358e5bd Don't block during probing...
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_class_probe_devices):
* sys/oss/gstosselement.c: (gst_osselement_class_probe_devices):
Don't block during probing...
2004-03-13 05:38:13 +00:00
Ronald S. Bultje
1be2b9f2bd Remove debug
Original commit message from CVS:
Remove debug
2004-03-13 04:52:26 +00:00
Ronald S. Bultje
23d142d276 ext/alsa/gstalsa.*: Add propertyprobe interface implementation, add some device-name property, all this so that it lo...
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_get_type), (gst_alsa_class_init),
(gst_alsa_get_property), (gst_alsa_probe_get_properties),
(gst_alsa_class_probe_devices), (gst_alsa_class_list_devices),
(gst_alsa_probe_probe_property), (gst_alsa_probe_needs_probe),
(gst_alsa_probe_get_values), (gst_alsa_probe_interface_init),
(gst_alsa_open_audio), (gst_alsa_close_audio):
* ext/alsa/gstalsa.h:
Add propertyprobe interface implementation, add some device-name
property, all this so that it looks good in gnome-volume-control.
2004-03-13 04:44:50 +00:00
David Schleef
ad83c4a0d5 ext/alsa/gstalsa.c: Add fixate function. (bug #135719)
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_request_new_pad),
(gst_alsa_fixate): Add fixate function.  (bug #135719)
* ext/alsa/gstalsa.h:
* ext/alsa/gstalsasink.c: (gst_alsa_sink_init):
2004-03-09 21:29:56 +00:00
Julien Moutte
614d7e3d7d ext/alsa/gstalsa.c: Alsa should trigger an error if it failed opening the audio device.
Original commit message from CVS:
2004-02-16  Julien MOUTTE <julien@moutte.net>

* ext/alsa/gstalsa.c: (gst_alsa_open_audio),
(gst_alsa_timestamp_to_bytes): Alsa should trigger an error if it
failed opening the audio device.
* sys/ximage/ximagesink.c: (gst_ximagesink_ximage_new),
(gst_ximagesink_ximage_destroy), (gst_ximagesink_ximage_put),
(gst_ximagesink_xwindow_new), (gst_ximagesink_xwindow_destroy),
(gst_ximagesink_xwindow_resize), (gst_ximagesink_xwindow_clear),
(gst_ximagesink_renegotiate_size), (gst_ximagesink_handle_xevents),
(gst_ximagesink_xcontext_get), (gst_ximagesink_xcontext_clear),
(gst_ximagesink_change_state), (gst_ximagesink_chain),
(gst_ximagesink_set_xwindow_id): Clearing window in READY TO PAUSED.
Removing some useless g_return_if_fail like wingo suggested.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new),
(gst_xvimagesink_xvimage_destroy), (gst_xvimagesink_xvimage_put),
(gst_xvimagesink_xwindow_new), (gst_xvimagesink_xwindow_destroy),
(gst_xvimagesink_xwindow_resize), (gst_xvimagesink_xwindow_clear),
(gst_xvimagesink_update_colorbalance),
(gst_xvimagesink_handle_xevents), (gst_xvimagesink_xcontext_get),
(gst_xvimagesink_xcontext_clear),
(gst_xvimagesink_get_fourcc_from_caps),
(gst_xvimagesink_change_state), (gst_xvimagesink_chain),
(gst_xvimagesink_set_xwindow_id),
(gst_xvimagesink_colorbalance_list_channels),
(gst_xvimagesink_colorbalance_set_value),
(gst_xvimagesink_colorbalance_get_value): Clearing window in READY TO
PAUSED. Removing some useless g_return_if_fail like wingo suggested.
2004-02-16 16:24:51 +00:00
Benjamin Otte
73a071b77a ext/alsa/gstalsa.*: try xrun recovery when wait failed. Make xrun recovery function return TRUE/FALSE to indicate suc...
Original commit message from CVS:
2004-02-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* ext/alsa/gstalsa.c: (gst_alsa_pcm_wait),
(gst_alsa_xrun_recovery):
* ext/alsa/gstalsa.h:
try xrun recovery when wait failed. Make xrun recovery function
return TRUE/FALSE to indicate success. (might fix #134354)
2004-02-14 09:06:06 +00:00
Benjamin Otte
57556a8d93 ext/alsa/gstalsa.c: be sure to stop the clock when going to paused
Original commit message from CVS:
2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* ext/alsa/gstalsa.c: (gst_alsa_change_state):
be sure to stop the clock when going to paused
* sys/oss/gstosssink.c: (gst_osssink_change_state):
reset number of transmitted when going to ready.
fixes #132935

2004-02-05  Charles Schmidt <cschmidt2@emich.edu>

reviewed by Benjamin Otte

* ext/mad/gstid3tag.c: (gst_mad_id3_to_tag_list):
extract track count (fixes #133410)
2004-02-05 00:18:24 +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
03caa97b73 GST_ELEMENT_ERROR
Original commit message from CVS:
GST_ELEMENT_ERROR
2004-01-29 23:20:45 +00:00
Benjamin Otte
ead37dc249 ext/alsa/gstalsa.c: use gst_element_get_time to get correct time
Original commit message from CVS:
2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* ext/alsa/gstalsa.c: (gst_alsa_query_func):
use gst_element_get_time to get correct time
2004-01-28 05:21:23 +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
Benjamin Otte
977bb1105e ext/alsa/gstalsa.c: Don't send ALSA debugging to stderr.
Original commit message from CVS:
2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* ext/alsa/gstalsa.c: (gst_alsa_open_audio):
Don't send ALSA debugging to stderr.
* ext/alsa/gstalsa.h:
Use GST_WARNING instead of g_warning when ALSA functions fail.
2003-12-27 17:19:29 +00:00
Benjamin Otte
d71b6b803a ext/alsa/gstalsa.c: Fix remaining caps handling errors due to CAPS merge.
Original commit message from CVS:
2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* ext/alsa/gstalsa.c: (gst_alsa_get_caps), (gst_alsa_link):
Fix remaining caps handling errors due to CAPS merge.
2003-12-22 16:38:00 +00:00
David Schleef
3b60021408 Merge CAPS branch
Original commit message from CVS:
Merge CAPS branch
2003-12-22 01:47:09 +00:00
Leif Johnson
ba2b9bd9d1 + got the alsa mixer implementation to work !
Original commit message from CVS:
+ got the alsa mixer implementation to work !
2003-12-06 00:02:20 +00:00
Benjamin Otte
280c25766a fixes for recent changes:
Original commit message from CVS:
fixes for recent changes:
- GstAlsaClock is not a GstSystemClock
- initialize debugging system correctly
2003-11-18 15:32:52 +00:00
Leif Johnson
f3b328da39 splitting ALSA code into separate source files
Original commit message from CVS:
splitting ALSA code into separate source files
2003-11-16 00:40:01 +00:00
Benjamin Otte
8f4600fbff use debugging macros for debugging (d'oh)
Original commit message from CVS:
use debugging macros for debugging (d'oh)
2003-11-12 02:49:30 +00:00
David Schleef
5a0d7c7c1e some cleanups suggested by gst-lint
Original commit message from CVS:
some cleanups suggested by gst-lint
2003-11-11 00:38:11 +00:00
Jan Schmidt
01a9ce9134 Updated for the new plugin loading code
Original commit message from CVS:
Updated for the new plugin loading code
2003-11-02 06:46:57 +00:00
Benjamin Otte
c52b047187 update alsa to the new debugging system
Original commit message from CVS:
update alsa to the new debugging system
2003-10-12 17:03:59 +00:00
Andy Wingo
dc35dbb595 /GstBuffer/GstData/ in the API where you can pass events. Fix the plugins to deal with that. Fixes #113488.
Original commit message from CVS:
/GstBuffer/GstData/ in the API where you can pass events. Fix the plugins to deal with that. Fixes #113488.
2003-10-08 16:08:22 +00:00