Commit graph

145 commits

Author SHA1 Message Date
Tim-Philipp Müller
662c557cc2 ext/alsa/gstalsa.c: Try to get devic-name from device string first, and from handle only as fallback (seems to yield ...
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_find_device_name):
Try to get devic-name from device string first, and from handle only
as fallback (seems to yield better results and is more robust
against buggy probing code on the application side).
2007-02-09 09:58:28 +00:00
Julien Puydt
880da4d8f1 ext/alsa/: Improve device-name detection a bit, especially in the case where the device is not actually open (#405020...
Original commit message from CVS:
Based on patch by: Julien Puydt <julien.puydt at laposte net>
* ext/alsa/gstalsa.c: (gst_alsa_find_device_name_no_handle),
(gst_alsa_find_device_name):
* ext/alsa/gstalsa.h:
* ext/alsa/gstalsasink.c: (gst_alsasink_get_property):
* ext/alsa/gstalsasrc.c: (gst_alsasrc_get_property):
Improve device-name detection a bit, especially in the case where
the device is not actually open (#405020, #405024). Move common code
into gstalsa.c instead of duplicating it.
2007-02-08 15:43:26 +00:00
Wim Taymans
5fd36709af ext/alsa/gstalsa.c: Small code cleanup.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_detect_rates),
(gst_alsa_detect_channels), (gst_alsa_probe_supported_formats):
Small code cleanup.
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_open),
(gst_alsa_mixer_new):
Remove hack that always set the device to hw:0*.
Properly find the card name for whatever device was configured.
Do some better debugging.
Fixes #350784.
* ext/alsa/gstalsamixerelement.c:
(gst_alsa_mixer_element_set_property),
(gst_alsa_mixer_element_change_state):
Cleanups.
Handle setting of a NULL device name better.
2006-08-13 14:34:48 +00:00
Tim-Philipp Müller
ea41bfefd7 ext/alsa/: Add support for cards that (only) do more than 8 channels, like the Delta 44 (#345188).
Original commit message from CVS:
* ext/alsa/gstalsa.c: (caps_add_channel_configuration),
(gst_alsa_detect_channels):
* ext/alsa/gstalsasink.c:
Add support for cards that (only) do more than 8 channels,
like the Delta 44 (#345188).
* gst-libs/gst/audio/multichannel.c:
(gst_audio_check_channel_positions):
* gst-libs/gst/audio/multichannel.h:
API: add GST_AUDIO_CHANNEL_POSITION_NONE, which stands for an
unspecified channel position and cannot be combined with any
of the other audio channel positions; adjust position layout
checks accordingly (#345188).
2006-08-03 14:16:06 +00:00
Tim-Philipp Müller
e953cf18fd ext/alsa/gstalsa.c: Fix typo, so that alsasink also advertises 8 channels if that's supported (tags: can, worms, open...
Original commit message from CVS:
* ext/alsa/gstalsa.c: (caps_add_channel_configuration):
Fix typo, so that alsasink also advertises 8 channels
if that's supported (tags: can, worms, open, alsa, ph34r).
2006-07-17 12:33:42 +00:00
Tim-Philipp Müller
9d3a69fc58 ext/alsa/: Refactor and improve caps probing code: probe signedness when we probe the supported formats/widths; set e...
Original commit message from CVS:
* ext/alsa/Makefile.am:
* ext/alsa/gstalsa.c: (gst_alsa_detect_rates),
(gst_alsa_detect_formats), (get_channel_free_structure),
(caps_add_channel_configuration), (gst_alsa_detect_channels),
(gst_alsa_probe_supported_formats):
* ext/alsa/gstalsa.h:
* ext/alsa/gstalsasink.c: (gst_alsasink_getcaps):
Refactor and improve caps probing code: probe signedness
when we probe the supported formats/widths; set endianness
to the one we actually probed for (ie. cpu endianness).
* ext/alsa/gstalsasrc.c: (gst_alsasrc_init), (gst_alsasrc_getcaps),
(gst_alsasrc_close):
* ext/alsa/gstalsasrc.h:
Implement caps probing for alsasrc.
2006-05-16 15:52:17 +00:00
Andy Wingo
b05796c9d9 ext/alsa/: Port to 0.9.
Original commit message from CVS:
2005-08-19  Andy Wingo  <wingo@pobox.com>

* ext/alsa/gstalsamixertrack.h:
* ext/alsa/gstalsamixertrack.c:
* ext/alsa/gstalsamixeroptions.h:
* ext/alsa/gstalsamixeroptions.c:
* ext/alsa/gstalsamixer.h:
* ext/alsa/gstalsamixer.c: Port to 0.9.

* ext/alsa/Makefile.am: Build mixer, mixeroptions, mixertracks.
Remove gstalsa.c and alsaclock. No more cruft here.
2005-08-19 16:13:54 +00:00
Thomas Vander Stichele
e571f069d1 renamed to actual element names, so much nicer to look at
Original commit message from CVS:

* common/gtk-doc-plugins.mak:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
renamed to actual element names, so much nicer to look at
* docs/plugins/tmpl/gstmultifdsink.sgml:
remove
* docs/plugins/tmpl/multifdsink.sgml:
* docs/plugins/tmpl/tcpserversink.sgml:
add
* ext/alsa/gstalsa.c:
* ext/cdparanoia/gstcdparanoia.c: (cdparanoia_get_property):
* ext/ogg/gstoggmux.c:
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain):
* gst/playback/gstdecodebin.c:
* gst/tcp/gstmultifdsink.c: (gst_multifdsink_class_init):
* gst/tcp/gsttcpserversink.c:
various fixes and documentation additions
2005-08-05 18:51:29 +00:00
Wim Taymans
851547e321 ext/alsa/: Implement alsasink with simple open/write/close API.
Original commit message from CVS:
* ext/alsa/Makefile.am:
* ext/alsa/gstalsa.c: (gst_alsa_init), (gst_alsa_get_caps),
(gst_alsa_fixate_to_mimetype), (gst_alsa_fixate_field_nearest_int),
(gst_alsa_link), (gst_alsa_close_audio):
* ext/alsa/gstalsaplugin.c: (plugin_init):
* ext/alsa/gstalsasink.c: (gst_alsasink_get_type),
(gst_alsasink_dispose), (gst_alsasink_base_init),
(gst_alsasink_class_init), (gst_alsasink_init),
(gst_alsasink_getcaps), (set_hwparams), (set_swparams),
(alsasink_parse_spec), (gst_alsasink_open), (gst_alsasink_close),
(xrun_recovery), (gst_alsasink_write), (gst_alsasink_delay),
(gst_alsasink_reset):
* ext/alsa/gstalsasink.h:
Implement alsasink with simple open/write/close API.
Make alsa dir build by disabling compilation of code.
2005-04-28 16:19:06 +00:00
Ronald S. Bultje
705aac4125 Add support for AMR-NB (mobile phone audio format; #155163, #163286).
Original commit message from CVS:
* configure.ac:
* ext/Makefile.am:
* ext/amrnb/Makefile.am:
* ext/amrnb/amrnb.c: (plugin_init):
* ext/amrnb/amrnbdec.c: (gst_amrnbdec_get_type),
(gst_amrnbdec_base_init), (gst_amrnbdec_class_init),
(gst_amrnbdec_init), (gst_amrnbdec_link), (gst_amrnbdec_chain),
(gst_amrnbdec_state_change):
* ext/amrnb/amrnbdec.h:
* ext/amrnb/amrnbparse.c: (gst_amrnbparse_get_type),
(gst_amrnbparse_base_init), (gst_amrnbparse_class_init),
(gst_amrnbparse_init), (gst_amrnbparse_formats),
(gst_amrnbparse_querytypes), (gst_amrnbparse_query),
(gst_amrnbparse_handle_event), (gst_amrnbparse_reserve),
(gst_amrnbparse_loop), (gst_amrnbparse_state_change):
* ext/amrnb/amrnbparse.h:
Add support for AMR-NB (mobile phone audio format; #155163, #163286).
* gst/typefind/gsttypefindfunctions.c: (plugin_init):
Add AMR-NB/-WB raw formats.
* ext/alsa/gstalsa.c: (gst_alsa_link):
Keep valid time when changing format.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(qtdemux_parse_trak):
Add some more format-specific options (#140141, #143555, #155163).
2005-01-28 10:36:12 +00:00
Ronald S. Bultje
af9b02817f ext/alsa/gstalsa.c: Fix for if items are already in list...
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_rates_probe):
Fix for if items are already in list...
2005-01-13 11:46:19 +00:00
Ronald S. Bultje
dc9ff9e5c3 ext/alsa/gstalsa.c: Fix dmix.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_rates_probe):
Fix dmix.
2005-01-11 12:36:22 +00:00
Stéphane Loeuillet
dbebd65ced TODO: delete this file, it is by far outdated
Original commit message from CVS:
* TODO:
delete this file, it is by far outdated
* ext/alsa/gstalsa.1: remove
* ext/alsa/gstalsa.c: (add_rates), (add_channels), (gst_alsa_caps),
(gst_alsa_check_sample_rates), (gst_alsa_rates_probe),
(gst_alsa_get_caps):
Add HW probing for supported sample rates. Fixes #161704
2005-01-10 17:01:37 +00:00
Stéphane Loeuillet
6686d9e7ee ext/alsa/gstalsa.*: Add HW probing for period_count/size and buffer_size MIX/MAX
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_class_init), (gst_alsa_get_caps):
* ext/alsa/gstalsa.h:
Add HW probing for period_count/size and buffer_size MIX/MAX
Adjust default/user defined value if out of bounds
Should fix bug #162024
2005-01-10 04:09:43 +00:00
Ronald S. Bultje
71c41d27f8 ext/alsa/gstalsa.c: Reset variables on READY.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_change_state):
Reset variables on READY.
* gst/matroska/matroska-mux.c: (gst_matroska_mux_request_new_pad),
(gst_matroska_mux_loop):
Require data before writing header.
2005-01-09 10:30:58 +00:00
Ronald S. Bultje
df80b706a7 configure.ac: Fix indentation, fix v4l2 plugin detection.
Original commit message from CVS:
* configure.ac:
Fix indentation, fix v4l2 plugin detection.
* ext/Makefile.am:
Fix libmms location (Maciej, use diff -u!).
* ext/alsa/gstalsa.c: (gst_alsa_init):
Initialize caps cache to NULL.
* gst/playback/gstplaybin.c: (gst_play_bin_change_state):
Only change state on audiosink if it exists.
2004-12-29 13:27:45 +00:00
Benjamin Otte
cffb318704 ext/alsa/gstalsa.*: refactor big chunks of the core caps negotiation code to make it a lot faster, because people cla...
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_get_caps), (gst_alsa_close_audio):
* ext/alsa/gstalsa.h:
refactor big chunks of the core caps negotiation code to make it
a lot faster, because people claim it's really slow
(actually, just cache the getcaps when the device is opened)
2004-12-06 16:10:06 +00:00
Martin Soto
a931717c2e ext/alsa/: Make alsasink actually honor gst_element_set_clock and use that clock instead of ist internal one.
Original commit message from CVS:
2004-11-28  Martin Soto  <martinsoto@users.sourceforge.net>

* ext/alsa/gstalsasink.c (gst_alsa_sink_loop):
* ext/alsa/gstalsa.h:
* ext/alsa/gstalsa.c (gst_alsa_set_clock):
Make alsasink actually honor gst_element_set_clock and use that
clock instead of ist internal one.
2004-11-28 13:35:44 +00:00
Ronald S. Bultje
e71527d6d9 ext/alsa/gstalsa.c: Don't omit the last (which incase of dmix is the only :) ) channel count. Don't set channels if <...
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_get_caps):
Don't omit the last (which incase of dmix is the only :) )
channel count. Don't set channels if <= 2.
2004-11-26 11:47:24 +00:00
Ronald S. Bultje
3a0a2898af Surround sound support.
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_channels), (gst_a52dec_push),
(gst_a52dec_reneg), (gst_a52dec_loop), (plugin_init):
* ext/alsa/gstalsa.c: (gst_alsa_get_caps):
* ext/alsa/gstalsaplugin.c: (plugin_init):
* ext/dts/gstdtsdec.c: (gst_dtsdec_channels),
(gst_dtsdec_renegotiate), (gst_dtsdec_loop), (plugin_init):
* ext/faad/gstfaad.c: (gst_faad_init), (gst_faad_chanpos_from_gst),
(gst_faad_chanpos_to_gst), (gst_faad_sinkconnect),
(gst_faad_srcgetcaps), (gst_faad_srcconnect), (gst_faad_chain),
(gst_faad_change_state), (plugin_init):
* ext/faad/gstfaad.h:
* ext/vorbis/vorbis.c: (plugin_init):
* ext/vorbis/vorbisdec.c: (vorbis_dec_chain):
* gst-libs/gst/audio/Makefile.am:
* gst-libs/gst/audio/audio.c: (plugin_init):
* gst-libs/gst/audio/multichannel.c:
(gst_audio_check_channel_positions),
(gst_audio_get_channel_positions),
(gst_audio_set_channel_positions),
(gst_audio_set_structure_channel_positions_list),
(add_list_to_struct), (gst_audio_set_caps_channel_positions_list),
(gst_audio_fixate_channel_positions):
* gst-libs/gst/audio/multichannel.h:
* gst-libs/gst/audio/testchannels.c: (main):
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_class_init), (gst_audio_convert_init),
(gst_audio_convert_dispose), (gst_audio_convert_getcaps),
(gst_audio_convert_parse_caps), (gst_audio_convert_link),
(gst_audio_convert_fixate), (gst_audio_convert_channels):
* gst/audioconvert/plugin.c: (plugin_init):
Surround sound support.
2004-11-25 20:36:29 +00:00
Benjamin Otte
1cb0235a08 ext/alsa/gstalsa.c: add debugging
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_pcm_wait):
add debugging
* ext/alsa/gstalsasink.c: (gst_alsa_sink_loop):
do a wait when we enter the loop func with no data available to
write instead of getting into an 100% CPU loop by just returning and
being called again by the scheduler
2004-11-13 01:08:31 +00:00
Ronald S. Bultje
05b7b2845b ext/alsa/gstalsa.c: Only set hardware parameters *after* negotiation. Before negotiation, it will set ANY and that se...
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_change_state):
Only set hardware parameters *after* negotiation. Before
negotiation, it will set ANY and that seems to cause crashes
(see e.g. #151288, #153227).
2004-11-11 10:27:01 +00:00
Benjamin Otte
37af33bdda ext/alsa/gstalsa.c: buffer-frames property was missing
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_get_caps_internal):
buffer-frames property was missing
* ext/arts/gst_arts.c:
rate missing from sinkcaps
* ext/audiofile/gstafparse.c:
* ext/audiofile/gstafsink.c:
* ext/audiofile/gstafsrc.c:
* ext/swfdec/gstswfdec.c:
int audio doesn't know buffer-frames
* ext/cdparanoia/gstcdparanoia.c:
int audio doesn't know chunksize either
* ext/nas/nassink.c:
it's endianness, not endianess
* gst-libs/gst/audio/audio.h:
make float standard pad template caps really describe float
* gst/law/mulaw.c: (linear_factory):
signed only, please
* gst/mpegstream/gstdvddemux.c:
widths of 20 are not valid
2004-11-09 06:08:22 +00:00
Jan Schmidt
4cf67a0834 Fixes a bunch of problems with finalize and dispose functions, either assumptions that dispose is only called once, o...
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_class_init), (gst_alsa_dispose),
(gst_alsa_finalize):
* ext/cdaudio/gstcdaudio.c: (gst_cdaudio_class_init),
(gst_cdaudio_finalize):
* ext/cdparanoia/gstcdparanoia.c: (cdparanoia_class_init),
(cdparanoia_finalize):
* ext/divx/gstdivxdec.c: (gst_divxdec_dispose):
* ext/divx/gstdivxenc.c: (gst_divxenc_dispose):
* ext/dvdread/dvdreadsrc.c: (dvdreadsrc_class_init),
(dvdreadsrc_finalize):
* ext/flac/gstflacdec.c: (gst_flacdec_class_init),
(gst_flacdec_finalize):
* ext/flac/gstflacenc.c: (gst_flacenc_class_init),
(gst_flacenc_finalize):
* ext/gnomevfs/gstgnomevfssink.c: (gst_gnomevfssink_class_init),
(gst_gnomevfssink_finalize):
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_class_init),
(gst_gnomevfssrc_finalize):
* ext/libfame/gstlibfame.c: (gst_fameenc_class_init),
(gst_fameenc_finalize):
* ext/nas/nassink.c: (gst_nassink_class_init),
(gst_nassink_finalize):
* ext/sdl/sdlvideosink.c: (gst_sdlvideosink_finalize),
(gst_sdlvideosink_class_init):
* ext/sndfile/gstsf.c: (gst_sf_dispose):
* gst-libs/gst/mixer/mixertrack.c: (gst_mixer_track_dispose):
* gst-libs/gst/tuner/tunerchannel.c: (gst_tuner_channel_dispose):
* gst-libs/gst/tuner/tunernorm.c: (gst_tuner_norm_dispose):
* gst-libs/gst/xwindowlistener/xwindowlistener.c:
(gst_x_window_listener_dispose):
* gst/audioscale/gstaudioscale.c:
* gst/playondemand/gstplayondemand.c: (play_on_demand_class_init),
(play_on_demand_finalize):
* gst/videofilter/gstvideobalance.c: (gst_videobalance_dispose):
* gst/videoscale/gstvideoscale.c: (gst_videoscale_chain):
* sys/cdrom/gstcdplayer.c: (cdplayer_class_init),
(cdplayer_finalize):
* sys/glsink/glimagesink.c: (gst_glimagesink_finalize),
(gst_glimagesink_class_init):
* sys/oss/gstosselement.c: (gst_osselement_class_init),
(gst_osselement_finalize):
* sys/oss/gstosssink.c: (gst_osssink_dispose):
* sys/oss/gstosssrc.c: (gst_osssrc_dispose):
* sys/v4l/gstv4lelement.c: (gst_v4lelement_dispose):
Fixes a bunch of problems with finalize and dispose functions,
either assumptions that dispose is only called once, or not calling
the parent class dispose/finalize function
2004-11-01 14:43:38 +00:00
Benjamin Otte
fac2d57868 fixes for G_DISABLE_ASSERT and friends
Original commit message from CVS:
* examples/dynparams/filter.c: (ui_control_create):
* examples/gstplay/player.c: (print_tag):
* ext/alsa/gstalsa.c: (gst_alsa_request_new_pad):
* ext/gdk_pixbuf/gstgdkanimation.c:
(gst_gdk_animation_iter_may_advance):
* ext/jack/gstjack.c: (gst_jack_request_new_pad):
* ext/mad/gstid3tag.c: (gst_mad_id3_to_tag_list),
(tag_list_to_id3_tag_foreach), (gst_id3_tag_handle_event):
* ext/vorbis/oggvorbisenc.c: (gst_oggvorbisenc_get_tag_value):
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_get_tag_value):
* ext/xine/xineaudiodec.c: (gst_xine_audio_dec_chain):
* gst-libs/gst/media-info/media-info-test.c: (print_tag):
* gst/sine/demo-dparams.c: (main):
* gst/tags/gstvorbistag.c: (gst_tag_to_vorbis_comments):
* testsuite/alsa/formats.c: (create_pipeline):
* testsuite/alsa/sinesrc.c: (sinesrc_force_caps), (sinesrc_get):
fixes for G_DISABLE_ASSERT and friends
* gst/typefind/gsttypefindfunctions.c: (aac_type_find),
(mp3_type_frame_length_from_header), (mp3_type_find),
(plugin_init):
require mp3 typefinding to have at least MIN_HEADERS valid headers
add typefinding for AAC adts files
2004-08-03 14:28:12 +00:00
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